Registry / data / robot-descriptions

robot-descriptions

JSON →
library2.0.0pypypi✓ verified 87d ago

Import open-source robot descriptions (URDF, MJCF, etc.) as Python modules. Provides a registry of 150+ robots with caching and loaders for various frameworks. Current version: 2.0.0 (requires Python >=3.10). Active development with frequent releases adding new descriptions.

pip install robot-descriptions
INSTALL
IMPORT
SIG · ROBOT-DESCRIPTIONS
R
robot-descriptions
datapythonv2.0.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

robot_descriptions
✓ import robot_descriptions
✗ from robot_descriptions import <wrong_submodule>
The library is a package; import the top-level module and access descriptions via attributes or iteration.
load_description
✓ from robot_descriptions import load_description
✗ from robot_descriptions.loaders import load_description
`load_description` is a top-level convenience function. In v2.0.0, the `Description` dataclass moved and changed; `load_description` returns a loader function now.

Quickstart: import, list descriptions, load a Panda robot in MuJoCo.

import robot_descriptions from robot_descriptions import load_description # List available descriptions (returns list of Description objects) descriptions = robot_descriptions.list_descriptions() print(f"Available: {len(descriptions)} descriptions") # Load a specific description by name (e.g., 'panda_mj_description') load_fn = load_description('panda_mj_description') # load_fn() returns a (robot, model, ...) tuple depending on loader # For MuJoCo: import mujoco mj_model = load_fn() # returns mujoco.MjModel print(f"Robot name: {mj_model.name}") # For URDF: # from robot_descriptions import panda_urdf_description # load_fn = load_description('panda_urdf_description') # robot = load_fn() # returns yourdfpy.URDF
Debug
Known issues
breakingv2.0.0 changed the `Description` dataclass signature. Old code accessing `.name` or `.repository` as plain strings may break; now they are typed fields. Also, the `load_description` function now returns a loader callable, not the robot object directly.
fix
Update imports: use `from robot_descriptions import load_description` and call `load_fn()` to get the robot. For custom loaders, adjust to new `Description` fields (check `info` attribute).
affects: <=1.23.0 -> >=2.0.0
deprecatedThe `load_robot` function (if any) is deprecated; use `load_description` instead.
fix
Replace `load_robot(...)` with `load_description(...)` and call the result.
affects: <=1.23.0
gotchaSome descriptions require additional dependencies like `xacro` or `yourdfpy`. If you get an ImportError when loading, install the missing package.
fix
Install required loaders: `pip install yourdfpy xacro mujoco` as needed.
affects: all
Errors
Common errors & fixes
ImportError: No module named 'robot_descriptions'
The package is not installed or installed in a different environment.
fix
Run `pip install robot-descriptions` in your active environment.
ModuleNotFoundError: No module named 'yourdfpy'
The default URDF loader (yourdfpy) is missing, but you are trying to load a URDF description.
fix
Install yourdfpy: `pip install yourdfpy`
ValueError: Unknown description: 'some_name'
The description name does not exist in the registry (case-sensitive).
fix
Use `robot_descriptions.list_descriptions()` to see available names.
Upgrade
Version history
2.0.0latest on PyPI · released May 5, 2026
Audit
Dependencies
yourdfpyrequiredRequired for URDF loading (default loader) and for the `dump_urdf` function.
mujocooptionalRequired for MJCF loading (if you use the MuJoCo loader).
meshcatoptionalRequired for the `show_in_meshcat` CLI command.
xacrooptionalRequired for loading xacro-based descriptions (e.g., Atlas, PR2).
Agent activity
21 hits · last 30 days
node
20
OpenAI (training)
1
Resources
robot-descriptions — pip install robot-descriptions · libregistry