robot_descriptions

Access 125+ robot descriptions from the main Python robotics frameworks

https://github.com/robot-descriptions/robot_descriptions.py

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

mjcf-descriptions robot robot-description robot-model urdf urdf-descriptions urdf-models
Last synced: 6 months ago · JSON representation ·

Repository

Access 125+ robot descriptions from the main Python robotics frameworks

Basic Info
  • Host: GitHub
  • Owner: robot-descriptions
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 711 KB
Statistics
  • Stars: 608
  • Watchers: 5
  • Forks: 59
  • Open Issues: 8
  • Releases: 30
Topics
mjcf-descriptions robot robot-description robot-model urdf urdf-descriptions urdf-models
Created over 3 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Robot descriptions in Python

Build Coverage Conda Version PyPI version PyPI downloads Contributing

Import open source robot descriptions as Python modules.

Importing a description for the first time automatically downloads and caches files for future imports. Most Awesome Robot Descriptions are available. All of them load successfully in respectively MuJoCo (MJCF) or Pinocchio, iDynTree, PyBullet and yourdfpy (URDF).

Installation

From conda-forge

console conda install -c conda-forge robot_descriptions

From PyPI

console pip install robot_descriptions

Usage

The library provides load_robot_description functions that return an instance of a robot description directly usable in the corresponding software. For example:

```python from robotdescriptions.loaders.pinocchio import loadrobot_description

robot = loadrobotdescription("upkie_description") ```

Loaders are implemented for the following robotics software:

| Software | Loader | |--------------------------------------------------------------|------------------------------------------| | iDynTree | robot_descriptions.loaders.idyntree | | MuJoCo | robot_descriptions.loaders.mujoco | | Pinocchio | robot_descriptions.loaders.pinocchio | | PyBullet | robot_descriptions.loaders.pybullet | | RoboMeshCat | robot_descriptions.loaders.robomeshcat | | yourdfpy | robot_descriptions.loaders.yourdfpy |

Loading will automatically download the robot description if needed, and cache it to a local directory.

Show a description

You can display a robot description directly from the command line:

console python -m robot_descriptions show_in_meshcat go2_description

A robot_descriptions alias for python -m robot_descriptions is also available.

Import as submodule

You can also import a robot description directly as a submodule of robot_descriptions:

python from robot_descriptions import my_robot_description

The import will automatically download the robot description if you don't have it already, and cache it to a local directory. The submodule then provides the following paths:

URDF_PATH / MJCF_PATH
Path to the main URDF/MJCF file of the robot description.
PACKAGE_PATH
Path to the root of the robot description package.
REPOSITORY_PATH
Path to the working directory of the git repository hosting the robot description.

Some robot descriptions include additional fields. For instance, the iiwa14_description exports URDF_PATH_POLYTOPE_COLLISION with more detailed collision meshes.

Examples

Loading a robot description:

Visualizing a robot description:

Descriptions

Available robot descriptions (gallery) are listed in the following categories:

The DOF column denotes the number of actuated degrees of freedom.

Arms

| Name | Robot | Maker | Format | License | |-------------------------------|-----------------------|--------------------------|------------|--------------| | arx_l5_mj_description | L5 | ARX | MJCF | BSD-3-Clause | | edo_description | e.DO | Comau | URDF | BSD-3-Clause | | fanuc_m710ic_description | M-710iC | Fanuc | URDF | BSD-3-Clause | | fr3_mj_description | FR3 | Franka Robotics | MJCF | Apache-2.0 | | gen2_description | Gen2 | Kinova | URDF | BSD-3-Clause | | gen3_description | Gen3 | Kinova | URDF | MIT | | gen3_lite_description | Gen3 Lite | Kinova | URDF | BSD-3-Clause | | gen3_mj_description | Gen3 | Kinova | MJCF | BSD-2-Clause | | iiwa14_description | iiwa 14 | KUKA | URDF | BSD-3-Clause | | iiwa14_mj_description | iiwa 14 | KUKA | MJCF | BSD-3-Clause | | iiwa7_description | iiwa 7 | KUKA | URDF | MIT | | low_cost_robot_arm_mj_description | Low-cost robot arm | Alexander Koch | MJCF | Apache-2.0 | | panda_description | Panda | Franka Robotics | URDF | Apache-2.0 | | panda_mj_description | Panda | Franka Robotics | MJCF | Apache-2.0 | | piper_description | PiPER | AgileX | URDF | MIT | | piper_mj_description | PiPER | AgileX | MJCF | MIT | | poppy_ergo_jr_description | Poppy Ergo Jr | Poppy Project | URDF | GPL-3.0 | | sawyer_mj_description | Sawyer | Rethink Robotics | MJCF | Apache-2.0 | | so_arm100_description | SO-ARM100 | The Robot Studio | URDF | Apache-2.0 | | so_arm100_mj_description | SO-ARM100 | The Robot Studio | MJCF | Apache-2.0 | | so_arm101_description | SO-ARM101 | The Robot Studio | URDF | Apache-2.0 | | so_arm101_mj_description | SO-ARM101 | The Robot Studio | MJCF | Apache-2.0 | | ur10_description | UR10 | Universal Robots | URDF | Apache-2.0 | | ur10e_mj_description | UR10e | Universal Robots | MJCF | BSD-3-Clause | | ur3_description | UR3 | Universal Robots | URDF | Apache-2.0 | | ur5_description | UR5 | Universal Robots | URDF | Apache-2.0 | | ur5e_mj_description | UR5e | Universal Robots | MJCF | BSD-3-Clause | | viper_mj_description | ViperX | Trossen Robotics | MJCF | BSD-3-Clause | | widow_mj_description | WidowX | Trossen Robotics | MJCF | BSD-3-Clause | | xarm7_mj_description | xArm7 | UFACTORY | MJCF | BSD-3-Clause | | yam_description | YAM | I2RT Robotics | URDF | MIT | | yam_mj_description | YAM | I2RT Robotics | MJCF | MIT | | z1_description | Z1 | UNITREE Robotics | URDF | BSD-3-Clause | | z1_mj_description | Z1 | UNITREE Robotics | MJCF | BSD-3-Clause |

Bipeds

| Name | Robot | Maker | DOF | Format | |-------------------------------|-----------------------|--------------------------|-----|------------| | bolt_description | Bolt | ODRI | 6 | URDF | | cassie_description | Cassie | Agility Robotics | 16 | URDF | | cassie_mj_description | Cassie | Agility Robotics | 16 | MJCF | | rhea_description | Rhea | Gabrael Levine | 7 | URDF | | spryped_description | Spryped | Benjamin Bokser | 8 | URDF | | upkie_description | Upkie | Tast's Robots | 6 | URDF |

Dual arms

| Name | Robot | Maker | DOF | Format | |-------------------------------|-----------------------|--------------------------|-----|------------| | aloha_mj_description | Aloha 2 | Trossen Robotics | 14 | MJCF | | baxter_description | Baxter | Rethink Robotics | 15 | URDF | | nextage_description | NEXTAGE | Kawada Robotics | 15 | URDF | | poppy_torso_description | Poppy Torso | Poppy Project | 13 | URDF | | yumi_description | YuMi | ABB | 16 | URDF |

Drones

| Name | Robot | Maker | DOF | Format | |-------------------------------|-----------------------|--------------------------|-----|------------| | cf2_description | Crazyflie 2.0 | Bitcraze | 0 | URDF | | cf2_mj_description | Crazyflie 2.0 | Bitcraze | 6 | MJCF | | skydio_x2_description | Skydio X2 | Skydio | 6 | URDF | | skydio_x2_mj_description | Skydio X2 | Skydio | 6 | MJCF |

Educational

| Name | Robot | DOF | Format | License | |----------------------------------|-----------------------|-----|------------|--------- | double_pendulum_description | Double Pendulum | 2 | URDF | BSD-3-Clause | | dynamixel_2r_mj_description | Dynamixel 2R | 2 | MJCF | MIT | | finger_edu_description | FingerEdu | 3 | URDF | BSD-3-Clause | | mujoco_humanoid_mj_description | MuJoCo Humanoid | 27 | MJCF | Apache-2.0 | | simple_humanoid_description | Simple Humanoid | 29 | URDF | BSD-2-Clause | | trifinger_edu_description | TriFingerEdu | 9 | URDF | MIT |

End effectors

| Name | Robot | Maker | Format | License | |----------------------------------|-----------------------|----------------------------|------------|---------| | ability_hand_description | Ability Hand | PSYONIC, Inc. | URDF | MIT | | ability_hand_mj_description | Ability Hand | PSYONIC, Inc. | MJCF | MIT | | allegro_hand_description | Allegro Hand | Wonik Robotics | URDF | BSD | | allegro_hand_mj_description | Allegro Hand | Wonik Robotics | MJCF | BSD-2-Clause | | barrett_hand_description | BarrettHand | Barrett Technology | URDF | BSD | | leap_hand_v1_description | LEAP Hand v1 | Carnegie Mellon University | URDF | MIT | | leap_hand_mj_description | LEAP Hand | Carnegie Mellon University | MJCF | MIT | | robotiq_2f85_description | Robotiq 2F-85 | Robotiq | URDF | BSD-2-Clause | | robotiq_2f85_mj_description | Robotiq 2F-85 | Robotiq | MJCF | BSD-2-Clause | | robotiq_2f85_v4_mj_description | Robotiq 2F-85 | Robotiq | MJCF | BSD-2-Clause | | shadow_dexee_mj_description | Shadow DEX-EE | The Shadow Robot Company | MJCF | Apache-2.0 | | shadow_hand_mj_description | Shadow Hand | The Shadow Robot Company | MJCF | Apache-2.0 |

Humanoids

| Name | Robot | Maker | Format | License | |---------------------------------|-----------------------|--------------------------|------------|---------| | apollo_mj_description | Apollo | Apptronik | MJCF | Apache-2.0 | | adam_lite_mj_description | Adam Lite | PNDBotics | MJCF | MIT | | atlas_drc_description | Atlas DRC (v3) | Boston Dynamics | URDF | BSD-3-Clause | | atlas_v4_description | Atlas v4 | Boston Dynamics | URDF | MIT | | berkeley_humanoid_description | Berkeley Humanoid | Hybrid Robotics | URDF | BSD-3-Clause | | booster_t1_description | Booster T1 | Booster Robotics | URDF | Apache-2.0 | | booster_t1_mj_description | Booster T1 | Booster Robotics | MJCF | Apache-2.0 | | draco3_description | Draco3 | Apptronik | URDF | BSD-2-Clause | | elf2_description | Elf2 | BXI Robotics | URDF | Apache-2.0 | | elf2_mj_description | Elf2 | BXI Robotics | MJCF | Apache-2.0 | | ergocub_description | ergoCub | IIT | URDF | BSD-3-Clause | | g1_description | G1 | UNITREE Robotics | URDF | BSD-3-Clause | | g1_mj_description | G1 | UNITREE Robotics | MJCF | BSD-3-Clause | | gr1_description | GR-1 | Fourier | URDF | GPL-3.0 | | h1_description | H1 | UNITREE Robotics | URDF | BSD-3-Clause | | h1_mj_description | H1 | UNITREE Robotics | MJCF | BSD-3-Clause | | h1_2_description | H12 | UNITREE Robotics | URDF | BSD-3-Clause | | `h12mjdescription| H1_2 | UNITREE Robotics | MJCF | BSD-3-Clause | |icubdescription| iCub | IIT | URDF | CC-BY-SA-4.0 ✖️ | |jaxondescription| JAXON | JSK | URDF | CC-BY-SA-4.0 ✖️ | |jvrcdescription| JVRC-1 | AIST | URDF | BSD-2-Clause | |jvrcmjdescription| JVRC-1 | AIST | MJCF | BSD-2-Clause | |n1description| N1 | Fourier | URDF | [Apache-2.0](https://github.com/FFTAI/Wiki-GRx-Models/blob/f8e683f00d1d99deb882deb9dfce6030095b466a/LICENSE) | |n1mjdescription| N1 | Fourier | MJCF | [Apache-2.0](https://github.com/google-deepmind/mujoco_menagerie/blob/f3475402a11acf5ba767a8bec03cc9bea9819d8d/fourier_n1/LICENSE) | |op3mjdescription| OP3 | ROBOTIS | MJCF | Apache-2.0 | |r2description| Robonaut 2 | NASA JSC Robotics | URDF | NASA-1.3 | |romeodescription| Romeo | Aldebaran Robotics | URDF | BSD-3-Clause | |sigmabandescription| SigmaBan | Rhoban | URDF | MIT | |talosdescription| TALOS | PAL Robotics | URDF | Apache-2.0 | |talosmjdescription| TALOS | PAL Robotics | MJCF | Apache-2.0 | |toddlerbotdescription| ToddlerBot | Stanford University | URDF | MIT | |valkyriedescription` | Valkyrie | NASA JSC Robotics | URDF | NASA-1.3 |

Mobile manipulators

| Name | Robot | Maker | Format | License | |-------------------------------|-----------------------|--------------------------|------------|---------| | bambot_description | BamBot | Tim Qian | URDF | Apache-2.0 | | eve_r3_description | Eve R3 | Halodi | URDF | Apache-2.0 | | fetch_description | Fetch | Fetch Robotics | URDF | MIT | | ginger_description | Ginger | Paaila Technology | URDF | BSD | | pepper_description | Pepper | SoftBank Robotics | URDF | BSD-2-Clause | | pr2_description | PR2 | Willow Garage | URDF | BSD | | rby1_description | RBY1 | Rainbow Robotics | URDF | MIT | | reachy_description | Reachy | Pollen Robotics | URDF | Apache-2.0 | | stretch_description | Stretch RE1 | Hello Robot | URDF | CC-BY-SA-4.0 ✖️ | | sretch_mj_description | Stretch 2 | Hello Robot | MJCF | Clear BSD | | sretch_3_mj_description | Stretch 3 | Hello Robot | MJCF | Apache-2.0 | | tiago_description | TIAGo | PAL Robotics | URDF | Apache-2.0 | | tiago++_mj_description | TIAGo++ | PAL Robotics | MJCF | Apache-2.0 | | rby1_description | RBY1 | Rainbow Robotics | URDF | MIT |

Quadrupeds

| Name | Robot | Maker | DOF | Format | |-------------------------------|-----------------------|--------------------------|-----|------------| | a1_description | A1 | UNITREE Robotics | 12 | URDF | | a1_mj_description | A1 | UNITREE Robotics | 12 | MJCF | | aliengo_description | Aliengo | UNITREE Robotics | 12 | URDF | | aliengo_mj_description | Aliengo | UNITREE Robotics | 12 | MJCF | | anymal_b_description | ANYmal B | ANYbotics | 12 | URDF | | anymal_b_mj_description | ANYmal B | ANYbotics | 12 | MJCF | | anymal_c_description | ANYmal C | ANYbotics | 12 | URDF | | anymal_c_mj_description | ANYmal C | ANYbotics | 12 | MJCF | | anymal_d_description | ANYmal D | ANYbotics | 12 | URDF | | b1_description | B1 | UNITREE Robotics | 12 | URDF | | b2_description | B2 | UNITREE Robotics | 12 | URDF | | go1_description | Go1 | UNITREE Robotics | 12 | URDF | | go1_mj_description | Go1 | UNITREE Robotics | 12 | MJCF | | go2_description | Go2 | UNITREE Robotics | 12 | URDF | | go2_mj_description | Go2 | UNITREE Robotics | 12 | MJCF | | hyq_description | HyQ | IIT | 12 | URDF | | laikago_description | Laikago | UNITREE Robotics | 12 | MJCF, URDF | | mini_cheetah_description | Mini Cheetah | MIT | 12 | URDF | | minitaur_description | Minitaur | Ghost Robotics | 16 | URDF | | solo_description | Solo | ODRI | 12 | URDF | | spot_mj_description | Spot | Boston Dynamics | 12 | MJCF |

Wheeled

| Name | Robot | Maker | Format | License | |-------------------------------|-----------------------|--------------------------|------------|---------| | rsk_description | RSK Omnidirectional | Robot Soccer Kit | URDF | MIT | | rsk_mj_description | RSK Omnidirectional | Robot Soccer Kit | MJCF | MIT | | upkie_description | Upkie | Stéphane Caron | URDF | Apache-2.0 | | wl_p311d_description | WL P311D | LimX Dynamics | URDF | Apache-2.0 | | wl_p311e_description | WL P311E | LimX Dynamics | URDF | Apache-2.0 |

Contributing

New robot descriptions are welcome! Check out the guidelines then open a PR.

Thanks

Thanks to the maintainers of all the git repositories that made these robot descriptions available.

Citation

If you use this project in your works, please cite as follows:

bibtex @software{robot_descriptions_py, title = {{robot_descriptions.py: Robot descriptions in Python}}, author = {Caron, Stéphane and Romualdi, Giulio and Kozlov, Lev and Ordoñez Apraez, Daniel Felipe and Tadashi Kussaba, Hugo and Bang, Seung Hyeon and Zakka, Kevin and Schramm, Fabian and Uru\c{c}, Jafar and Traversaro, Silvio and Zamora, Jonathan and Castro, Sebastian and Tao, Haixuan Xavier and Yu, Justin and Jallet, Wilson and Zhang, Yutong}, license = {Apache-2.0}, url = {https://github.com/robot-descriptions/robot_descriptions.py}, version = {1.21.0}, year = {2025} }

Don't forget to add yourself to the BibTeX above and to CITATION.cff if you contribute to this repository.

See also

Owner

  • Name: Robot Descriptions
  • Login: robot-descriptions
  • Kind: organization

Open source robot descriptions and software to access them.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you find this code helpful, please cite it as below."
title: "robot_descriptions.py: Robot descriptions in Python"
version: 1.21.0
date-released: 2025-09-03
url: "https://github.com/robot-descriptions/robot_descriptions.py"
license: "Apache-2.0"
authors:
- family-names: "Caron"
  given-names: "Stéphane"
  orcid: "https://orcid.org/0000-0003-2906-692X"
- family-names: "Romualdi"
  given-names: "Giulio"
  orcid: "https://orcid.org/0000-0002-6461-3231"
- family-names: "Kozlov"
  given-names: "Lev"
- family-names: "Ordoñez Apraez"
  given-names: "Daniel Felipe"
  orcid: "https://orcid.org/0000-0002-9793-2482"
- family-names: "Tadashi Kussaba"
  given-names: "Hugo"
  orcid: "https://orcid.org/0000-0002-7336-1443"
- family-names: "Bang"
  given-names: "Seung Hyeon"
- family-names: "Zakka"
  given-names: "Kevin"
- family-names: "Schramm"
  given-names: "Fabian"
  orcid: "https://orcid.org/0009-0003-4266-6652"
- family-names: "Uruç"
  given-names: "Jafar"
- family-names: "Traversaro"
  given-names: "Silvio"
  orcid: "https://orcid.org/0000-0002-9283-6133"
- family-names: "Zamora"
  given-names: "Jonathan"
- family-names: "Castro"
  given-names: "Sebastian"
  orcid: "https://orcid.org/0000-0001-5754-9959"
- family-names: "Tao"
  given-names: "Haixuan Xavier"
- family-names: "Yu"
  given-names: "Justin"
- family-names: "Jallet"
  given-names: "Wilson"
  orcid: "https://orcid.org/0000-0001-8222-2739"
- family-names: "Zhang"
  given-names: "Yutong"

GitHub Events

Total
  • Create event: 36
  • Issues event: 5
  • Release event: 5
  • Watch event: 290
  • Delete event: 30
  • Issue comment event: 81
  • Push event: 91
  • Pull request review event: 8
  • Pull request review comment event: 5
  • Pull request event: 86
  • Fork event: 36
Last Year
  • Create event: 36
  • Issues event: 5
  • Release event: 5
  • Watch event: 290
  • Delete event: 30
  • Issue comment event: 81
  • Push event: 91
  • Pull request review event: 8
  • Pull request review comment event: 5
  • Pull request event: 86
  • Fork event: 36

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 471
  • Total Committers: 3
  • Avg Commits per committer: 157.0
  • Development Distribution Score (DDS): 0.03
Top Committers
Name Email Commits
Stéphane Caron s****n@n****g 457
Giulio Romualdi g****i@g****m 13
shbang91 b****8@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 27
  • Total pull requests: 142
  • Average time to close issues: 21 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 10
  • Total pull request authors: 14
  • Average comments per issue: 1.37
  • Average comments per pull request: 1.44
  • Merged pull requests: 118
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 47
  • Average time to close issues: 10 minutes
  • Average time to close pull requests: 1 day
  • Issue authors: 3
  • Pull request authors: 9
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.02
  • Merged pull requests: 35
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • stephane-caron (18)
  • ChenyangRan (1)
  • Danfoa (1)
  • hartikainen (1)
  • manavkulshrestha (1)
  • htadashi (1)
  • rohanpsingh (1)
  • yunho-c (1)
  • kevinzakka (1)
  • fabinsch (1)
Pull Request Authors
  • stephane-caron (91)
  • kevinzakka (22)
  • lvjonok (7)
  • Danfoa (4)
  • uynitsuj (3)
  • GiulioRomualdi (3)
  • htadashi (2)
  • jonzamora (2)
  • haixuanTao (2)
  • fabinsch (2)
  • traversaro (1)
  • peterdavidfagan (1)
  • JafarAbdi (1)
  • shbang91 (1)
Top Labels
Issue Labels
enhancement (4) bug (2) wontfix (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 23,035 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 2
  • Total versions: 32
  • Total maintainers: 1
pypi.org: robot_descriptions

Import open source robot description as Python modules.

  • Versions: 32
  • Dependent Packages: 1
  • Dependent Repositories: 2
  • Downloads: 23,035 Last month
Rankings
Dependent packages count: 4.6%
Stargazers count: 5.6%
Average: 8.1%
Downloads: 8.3%
Forks count: 10.5%
Dependent repos count: 11.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

.github/workflows/test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
pyproject.toml pypi
  • GitPython >=3.1.18
  • tqdm >=4.64.0