Skip to content

URDF Studio product guide

URDF Studio is the platform workbench for robot model design and assembly. Editing URDF XML by hand is error-prone and slow; URDF Studio turns robot description files into a visual workspace where you can inspect models, adjust structure, optimize collision bodies, edit physical parameters and export model files.

Typical users include robotics algorithm engineers, ROS developers, hardware integration engineers and simulation engineers.

Note: The current version does not support online saving. If you refresh or close the page, unsaved changes will be lost. After each important editing stage, export the model file or project file locally.

Save staged versions such as g1_original, g1_joint_checked_v1, g1_collision_optimized_v2 and g1_final.

URDF uses standard SI units: length in meters (m), angle in radians (rad) and mass in kilograms (kg). If the model data comes from CAD software that uses millimeters, check the scale after import.

URDF Studio product positioning
URDF Studio product positioning

Workspace Overview

The complete URDF Studio workspace includes the top toolbar, asset library, joint panel, structure tree, detail options, 3D view and properties panel.

URDF Studio workspace overview
URDF Studio workspace overview

The top toolbar contains common commands such as file import, measurement, AI review, source code, undo/redo, snapshot and export.

URDF Studio top toolbar
URDF Studio top toolbar
No.AreaLocationFunction
1Top toolbarTop of the pageFile import, measurement, AI review, source code, undo/redo, snapshot and export
2Asset libraryUpper leftManage model files, meshes, textures and referenced resources
3Joint panelLeft sideView joint names and motion ranges; drag sliders to preview joint motion
4Structure treeLeft sideShow the hierarchy of links, joints, visual geometry and collision bodies
5Detail optionsUpper-right of the 3D viewToggle visual model, collision body, coordinate frame, joint axis, center of mass and inertia display
63D viewCenter of the pageView, select and manipulate the robot model; preview edit results in real time
7Properties panelRight sideView and edit pose, geometry, material, joint and physical parameters for the selected object

For a first pass through a model, use this order: check the asset library -> confirm the 3D model -> understand the hierarchy in the structure tree -> test with the joint panel -> check geometry and collision bodies -> check physical parameters -> export a backup.

Model Import and Integrity Checks

After importing a model, complete integrity checks before editing parameters.

MethodDescriptionUse case
Import from BotWorldClick "Import to workspace" on the resource detail pageOnline platform workflow
Local importSelect a single file, complete folder or ZIP packageLocal model resources

Import From BotWorld

On a BotWorld resource detail page, click "Import to workspace". The page opens URDF Studio and starts loading the model.

Import to workspace button on a BotWorld detail page
Import to workspace button on a BotWorld detail page

Do not delete files that are still referenced by the model; otherwise parts or textures may be missing.

Local Import

Path: top "File" menu -> choose an import method -> select a local file -> wait for loading to complete.

Local file, folder or ZIP package import flow
Local file, folder or ZIP package import flow

If the model contains meshes, textures or other related resources, import the complete folder or ZIP package. ZIP packages should preserve the original directory structure; do not copy only the description file and omit meshes.

Three-Way Check: Asset Library, Structure Tree and 3D View

After import, confirm the model loaded correctly from the asset library, structure tree and 3D view.

Check areaOperationWhat to watch
Asset libraryExpand folders and confirm meshes and images existComplete files and correct reference paths
Structure treeExpand the robot modelAll links and joints appear correctly
3D viewInspect from front, side, back, top and bottomMissing parts, texture errors or scale distortion

Loading progress is shown during import. Wait until it finishes.

Model loading progress
Model loading progress

After import completes, check whether the complete robot appears in the 3D view.

Imported robot in the 3D view
Imported robot in the 3D view

If you find a problem, check files and reference paths before changing structure.

If you imported multiple files at once, find the target resource in the asset library and click "Add".

Add asset button in the asset library
Add asset button in the asset library

After adding the asset, it appears in the 3D view.

Asset shown in the 3D view after adding
Asset shown in the 3D view after adding

If multiple assets overlap, use Transform Mode to move or rotate objects.

Transform Mode entry
Transform Mode entry
Adjusting asset position with transform controls
Adjusting asset position with transform controls

Understand Robot Structure

ObjectMeaningExample
LinkA rigid robot partTorso, upper arm, lower leg
JointA connection between two linksShoulder joint, knee joint
Visual geometryThe robot appearanceDetailed mesh model
Collision bodyGeometry used for physics collisionSimplified primitive shape

Joint Type Quick Reference

URDF commonly defines four joint types. Choosing the wrong joint type directly affects simulation behavior, so choose based on the real motion.

Joint typeMotionRangeDOFTypical use
FixedNo motionNone0Fixed camera, base mount
RevoluteRotates around an axisLimited, such as 0 deg to 180 deg1Arm elbow, wrist
ContinuousRotates around an axisUnlimited rotation1Wheel, turntable
PrismaticMoves along an axisLimited travel1Telescopic arm, linear rail

In short, fixed joints are locked; revolute and continuous joints both rotate, but only revolute joints have range limits; prismatic joints slide along an axis.

Structure Tree Hierarchy

Typical hierarchy: root -> Link (Visual + Collision) -> Joint -> Link (Visual + Collision) -> ...

Click an object name in the structure tree to highlight the corresponding object in the 3D view. Editing or deleting an upper-level object affects all child parts, so export a project backup before structural changes.

Visual Geometry vs Collision Body

ItemVisual geometryCollision body
PurposeDisplays appearanceCollision calculation
ComplexityUsually detailed meshUsually simplified primitive geometry
Effect on simulationDoes not affect physics calculationDirectly affects collision detection and simulation stability
Effect of changing colorChanges robot appearanceDoes not change robot appearance

Use Detail Options to display them separately and compare their positions and sizes.

Check and Modify Joints

Models from other sources may have unreasonable joint ranges, incorrect installation directions, or joint axes that do not match the real mechanism. Check key joints one by one after import to avoid abnormal simulation behavior.

Joint Panel Preview

The joint panel shows joint name, current angle, minimum and maximum motion range, and a slider.

Operation: find the target joint in the joint panel -> drag the slider -> observe the corresponding part in the 3D view -> move to minimum and maximum positions to check direction and part interference.

Joint panel and 3D view preview
Joint panel and 3D view preview

Note: The joint panel is for preview. Formal edits to joint type, axis direction or range should be made in the properties panel.

Modify Joint Parameters

Operation: select a Joint in the structure tree -> view the right properties panel -> check or modify:

  1. Parent Link and child Link.
  2. Joint type.
  3. Joint origin position and rotation.
  4. Joint axis direction.
  5. Minimum and maximum values.

After editing, return to the joint panel and preview the full motion range again.

Joint selected in the structure tree
Joint selected in the structure tree

Note: After changing joint axis or origin, test the full motion process. Do not check only the initial pose.

Coordinate Frames and Joint Axis Display

Operation: open Detail Options -> enable "Show coordinate frame" and "Show joint axis" -> drag the slider to check whether actual motion matches the joint axis.

Coordinate frame and joint axis toggles in Detail Options
Coordinate frame and joint axis toggles in Detail Options

Use this when troubleshooting wrong joint motion direction, checking component installation direction, or comparing symmetric joints on both sides of a robot.

Modify Robot Appearance

Adjust Part Pose

Operation: select the target object -> edit Position X/Y/Z and Rotation parameters in the properties panel -> inspect from multiple views -> preview related joint motion.

Link position and rotation parameters in the properties panel
Link position and rotation parameters in the properties panel

Recommendations:

  1. Record original values before editing.
  2. Adjust only one direction at a time.
  3. Link, visual geometry and collision body poses are independent.
  4. After editing a visual model, check the collision body as well.

Edit Visual Geometry

Operation: expand a Link in the structure tree -> select visual geometry -> open the "Visual" tab in the properties panel -> inspect mesh file references -> adjust scale, position and rotation as needed -> return to the 3D view to confirm the result.

Mesh file and scale parameters for visual geometry
Mesh file and scale parameters for visual geometry

The image shows the properties panel for a visual geometry object, especially mesh file references, scale parameters and pose parameters. Mesh scale should usually stay consistent across X, Y and Z; changing only one direction may distort proportions.

Modify Color and Material

Change colors when you need to distinguish parts, mark a specific Link during debugging, create presentation images or prepare a resource cover.

Operation: select the specific visual geometry, not the Link -> open Visual properties -> modify the color or color value -> lower opacity if you want the part to appear semi-transparent for inspecting internal structure.

Color and material parameters for visual geometry
Color and material parameters for visual geometry

Color affects only model display. It does not change structure, collision bodies or physical parameters. If the model uses texture images, textures may override color settings.

Optimize Collision Bodies

Collision body complexity directly affects the computation cost of each simulation step. High-detail mesh collision bodies may reduce frame rate or make simulation unstable, so they are often replaced with simplified primitives such as boxes, spheres and cylinders. Collision bodies that are too simple reduce collision accuracy. The goal is to balance computation efficiency and accuracy.

View Collision Bodies

Operation: open Detail Options -> enable "Show collision body" -> optionally disable "Show visual" to view collision bodies alone -> inspect their positions and sizes from front, side and top views.

Select and Modify

Operation: expand a Link in the structure tree -> select a collision body -> inspect geometry, position and rotation parameters in the properties panel -> adjust size, position or direction as needed.

Collision geometry size, pose and type parameters
Collision geometry size, pose and type parameters

Optimization Tools

ToolDescriptionUse case
Primitive fittingReplace complex collision bodies with boxes, spheres or cylindersCollision body uses high-detail mesh and is expensive to simulate
Collision simplificationReduce collision body complexity and countOne part contains too many collision bodies
Coaxial mergeMerge multiple collision bodies aligned on the same axis under one LinkMultiple collision bodies can be represented more simply

After optimization, check:

Check itemMeaning
CoverageWhether collision bodies cover the main visual model
OverreachWhether collision bodies extend far outside the robot shape
OverlapWhether adjacent parts have large collision overlaps
Motion checkWhether joint motion causes abnormal collisions

Check Physical and Hardware Parameters

Mass, center of mass and inertia directly determine robot behavior in physics simulation. Invalid inertia, such as zero, negative values or wrong orders of magnitude, may produce non-physical motion such as shaking, falling or flying apart.

Mass, Center of Mass and Inertia

Operation: open Detail Options -> enable "Show center of mass" and "Show inertia" -> select a Link in the structure tree -> inspect physical parameters in the properties panel.

Mass, center of mass and inertia settings for a Link
Mass, center of mass and inertia settings for a Link
ParameterMeaning
MassPart mass; must be positive
Center of MassMass center position, affects robot balance
InertiaRotational inertia around each axis, affects rotational stability

Mass, center of mass and inertia should come from real design data or CAD data. For symmetric left and right parts, check whether parameters match.

Joint Physical Parameters

ParameterMeaning
DampingJoint damping coefficient, simulates joint resistance
FrictionJoint friction coefficient, affects startup torque

Operation: select a Link or Joint -> open physical properties -> edit based on reliable data -> display center of mass and inertia to check results -> export and verify in the target simulation environment.

Hardware Parameter Editing

Hardware parameters are platform extensions used to record robot actuator and transmission information. These parameters are not standard URDF fields and are usually included in CSV or BOM exports.

Operation: select the corresponding joint or part -> find the hardware properties area in the right properties panel -> fill in motor model and transmission parameters.

ParameterMeaning
Motor modelSelect or specify the motor
Gear ratioReducer transmission ratio
DampingJoint damping coefficient
FrictionJoint friction coefficient

Hardware parameters should come from robot manuals or design files. If a value cannot be confirmed, leave it blank instead of guessing.

Part and Joint Operations

Operation: click the "+" button at the top of the structure tree -> choose "Add Link" -> set the name -> add visual geometry (mesh and pose) -> add collision body -> fill in physical parameters -> create a Joint to connect it to the robot.

Add Link and Add Joint entries in the structure tree
Add Link and Add Joint entries in the structure tree

When creating a Link:

  1. The Link name must not duplicate an existing object.
  2. A new Link must be connected to the robot through a Joint.
  3. A part that has only appearance but no collision body or physical parameters cannot support complete physics simulation.

Create Joint

Operation: click the "+" button at the top of the structure tree -> choose "Add Joint" -> set the name -> choose parent Link and child Link -> set joint type -> set joint origin, joint axis and motion range -> preview motion in the joint panel.

Add Link and Add Joint entries in the structure tree
Add Link and Add Joint entries in the structure tree

When creating a Joint:

  1. Fixed-mounted components usually use Fixed joints.
  2. Rotating joints should have reasonable motion ranges.
  3. Preview the full motion process after creation.

Deletion Notes

Operation: select an object in the structure tree -> right-click it, or double-click in the control panel -> click Delete -> confirm whether child parts are included.

Context menu and confirmation prompt before deleting an object
Context menu and confirmation prompt before deleting an object

Deleting a Link also affects its child Links, Joints, visual models and collision bodies. Export a project backup before major deletion operations.

AI Review

Operation: click "AI" in the top toolbar -> enter AI Review -> choose a model -> start review -> read issues and suggestions -> confirm manually before editing.

Top AI Review entry
Top AI Review entry

After entering AI Review, the default mode is regular mode. Choose the intended use, format and type as needed, then click "Run check".

AI Review regular mode
AI Review regular mode

For a more comprehensive check, switch to professional mode, configure more detailed rules, then run the review.

AI Review professional mode
AI Review professional mode

After running the check, the page shows review progress. The review may take some time, so you can close the window and continue other work, then return later.

AI Review progress
AI Review progress

When AI Review finishes, it shows a report that can be downloaded and viewed.

AI Review report
AI Review report

AI Review is an auxiliary tool and does not replace manual inspection or simulation validation. Real hardware parameters such as mass, inertia and motor data should still come from reliable sources. Joint motion limits and collision bodies still require manual confirmation for the actual simulation task.

Auxiliary Tools

Measurement Tool

Operation: click the measurement tool in the top toolbar -> select two measurement points in the 3D view -> read the result -> exit measurement mode when finished.

Measurement tool entry and measurement panel
Measurement tool entry and measurement panel

Use it to measure robot height, arm span, sensor mounting distance and similar dimensions.

Note: Confirm model scale before measuring, otherwise the result is not useful.

Source Code

Operation: click "Source code" in the top toolbar to download, copy or save source code.

Source code window and toolbar entry
Source code window and toolbar entry

Undo and Redo

The top toolbar provides Undo and Redo for reverting the previous action or restoring an undone action.

Undo and Redo buttons in the top toolbar
Undo and Redo buttons in the top toolbar

Note: Undo and Redo do not replace file backups. Export after important stages.

Model Snapshot

Operation: adjust the camera view -> set the display content -> click the snapshot feature in the top toolbar -> save the image locally.

Snapshot settings window
Snapshot settings window

Use snapshots to create resource covers, record before/after states or prepare project report images.

Dark Mode Toggle

Operation: click the dark-mode icon in the top toolbar to switch between dark mode and light mode.

Theme toggle entry in the top toolbar
Theme toggle entry in the top toolbar

Combine Robots and Components

URDF Studio supports importing multiple robots or components into the same workspace and creating connection relationships. Typical scenarios include mounting a gripper on a robotic arm, mounting an arm on a mobile base, adding sensors or combining multiple components.

What Is a Bridge Joint

A bridge joint is a Joint that connects two independent models. A normal Joint connects parent and child Links inside a single model, while a bridge joint spans two independently imported models and welds or articulates them together.

Bridge joint types follow the same choices as normal Joint types:

  1. Fixed-mounted sensors usually use Fixed bridge joints.
  2. Rotating connections, such as an arm mounted on a turntable, can use Revolute bridge joints.

Operation Steps

The following example installs a dexterous hand on a Unitree robot.

  1. Import the robot body model and the dexterous hand model.
  2. In the structure tree panel, find the bridge relationship area and click "Add". If the tree is long, scroll to the bottom or collapse nodes first.
Add bridge relationship entry in the structure tree
Add bridge relationship entry in the structure tree

There are two joint connection methods: geometric snapping and Link splicing.

Method 1: Geometric Snapping

In the bridge creation window, choose the joint type. To make later management easier, you can also name the bridge relationship.

Geometric snapping joint settings
Geometric snapping joint settings

Click the joint connection points on the two assets in sequence.

Selecting two connection points for geometric snapping
Selecting two connection points for geometric snapping

After both points are selected, the joint is connected automatically. If the pose is not ideal, adjust the bridge parameters.

Bridge pose adjustment parameters
Bridge pose adjustment parameters

After adjustment, click "Confirm" to save.

Save button for geometric snapping
Save button for geometric snapping

In the bridge creation window, choose the "Link list" tab.

Link list tab in the bridge window
Link list tab in the bridge window

Choose the joint type and fill in a bridge relationship name if needed.

Joint type setting for Link splicing
Joint type setting for Link splicing

Choose the base Link. If you do not know the Link name, select the object first and then check it in the structure tree.

Selecting the base Link
Selecting the base Link

Choose the child Link. As with the base Link, you can select an object in the 3D view and confirm its name in the structure tree.

Selecting the child Link
Selecting the child Link

Adjust bridge relationship parameters until the pose is correct, then click "Confirm" to save.

Link splicing pose adjustment panel
Link splicing pose adjustment panel

Validate the Assembly

After splicing, check the assembled state.

Component installed after splicing
Component installed after splicing

Recommended validation:

CheckOperation
Structural integrityExpand the structure tree and confirm that the bridge joint correctly connects the two models
Motion testDrag sliders for the main robot joints and check whether the component follows correctly
Collision body checkShow collision bodies and confirm the mounting area has no abnormal penetration
Name checkConfirm that the two models do not contain duplicate Link or Joint names
Physical parametersRecheck overall mass and center-of-mass distribution

After validation passes, export the complete assembled model.

Recommendations:

  1. Link and Joint names should not repeat across different models.
  2. Fixed-mounted sensors usually use Fixed joints.
  3. After installing a component, recheck overall mass and center of mass.
  4. Export should include all referenced resources.

Export and Delivery

Supported Export Formats

Export formatTarget use
URDFROS / ROS 2 projects
MJCFMuJoCo physics simulation
USDNVIDIA Isaac Sim and 3D scenes
SDFGazebo / Ignition simulation
XacroROS projects that need parameterized configuration
CSV / BOMParts list and joint parameter summary
ZIP packageSave the model and all referenced resources
Project filePreserve full editing state and resume progress

Format quick reference:

Later useRecommended format
Use in ROS / ROS 2URDF or Xacro
Simulate in MuJoCoMJCF
Simulate in GazeboSDF
Use in Isaac SimUSD
Save and transfer complete resourcesZIP package
Save progress for later editingProject file

Export Operation

Operation: top "File" -> "Export" -> choose format -> wait for export -> choose a save location.

Export entry and format setting flow
Export entry and format setting flow

After the export package is generated, choose a local save location and click "Save" to complete export.

Export progress and local save flow
Export progress and local save flow

Before export, check: complete structure -> normal joint motion -> no missing meshes or textures -> reasonable collision bodies -> no duplicate names -> complete referenced resources.

Note: The current version does not support online saving. After export, check whether the expected files were generated in the local folder.

Connections With Other Products

BotWorld (get model) -> URDF Studio (inspect/edit/assemble) -> Export -> Simulation or publishing.

DirectionDescription
BotWorld -> URDF StudioImport robot models directly without manual download and upload
URDF Studio -> BotWorldExport edited work and publish it to BotWorld for other developers

FAQ

#ProblemCommon causeSolution
1Importing from BotWorld does not open URDF StudioNot signed in, browser blocked a new page, network errorSign in; check browser pop-up blocking; click "Import to workspace" again; or download locally and import manually
2Local model cannot be importedUnsupported format, incomplete ZIP structure, damaged file, special characters in pathCheck supported formats; unzip and confirm it contains the description file and meshes; keep the original folder structure
3Model is incomplete after importMissing meshes or textures, wrong reference paths, case mismatchCheck meshes and images in the asset library; inspect source references; import the complete folder again
4Model scale or direction is abnormalUnit mismatch, wrong scale parameter, coordinate-system change during conversionCheck scale parameters in the properties panel; use the measurement tool on a known dimension; inspect root part position and rotation
5Cannot select a part or find it in the structure treePart is occluded, measurement mode is active, node is not expandedExit other tools; rotate and zoom the view; check Detail Options; expand the structure tree level by level
6Parts separate or disconnect after structural editsParent Link or key Joint deleted, wrong parent-child settings, duplicate namesUndo first; check disconnected Links and Joints; create missing joints; confirm connection from the root down
7Joint cannot moveFixed joint, same min/max value, zero range, wrong parent-child settingCheck joint type and motion range; check parent and child Links; confirm joint axis direction
8Joint moves in the wrong directionWrong joint axis, wrong joint origin rotation, parent and child Links reversedEnable coordinate frame and joint axis; drag slider to observe; change one parameter and retest immediately
9Parts intersect or separate during joint motionWrong joint origin, excessive motion range, unreasonable collision bodyRestore initial position; show joint axis to confirm rotation center; drag slowly to find the abnormal angle; adjust range or collision body
10Color changes do not appearSelected Link instead of visual geometry, texture overrides color, multiple Visual objectsExpand the Link and select a specific visual geometry; check whether multiple Visual objects exist; inspect texture settings
11Collision body position or size is wrongWrong position/rotation parameters, inconsistent scale, appearance edited without collision updateEnable collision body display; inspect from multiple views; compare again with visual model after adjustment
12Model shakes, falls or flies apart in simulationCollision bodies intersect initially, invalid mass/center of mass/inertia, abnormal joint parametersCheck whether collision bodies overlap or penetrate the ground; confirm mass is positive; test without control first
13Meshes or textures are missing after exportExported only the description file, used external absolute paths, changed directory structure after exportExport as a complete ZIP package; confirm it contains meshes; import again to verify
14Exported model cannot be opened in another toolFormat incompatibility, resource path error, duplicate names, disconnected structureConfirm target tool supports the format; run source-format checks; inspect names and structure; switch export format if needed

When troubleshooting, use this order: file completeness -> model loaded correctly -> correct object selected -> reasonable parameters -> complete export content -> target software compatibility.

If you cannot solve an issue, submit feedback or leave a message in official BotWorld accounts on WeChat, Bilibili or Xiaohongshu. The official account name is "BotWorld".

Top feedback button entry
Top feedback button entry

Last updated: August 13, 2026.