- Notifications
You must be signed in to change notification settings - Fork59
Access 135+ robot descriptions from the main Python robotics frameworks
License
robot-descriptions/robot_descriptions.py
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Import open source robot descriptions as Python modules.
Importing a description for the first time automatically downloads and caches files for future imports. MostAwesome Robot Descriptions are available. All of them load successfully in respectively MuJoCo (MJCF) or Pinocchio, iDynTree, PyBullet and yourdfpy (URDF).
conda install -c conda-forge robot_descriptionspip install robot_descriptionsThe library providesload_robot_description functions that return an instance of a robot description directly usable in the corresponding software. For example:
fromrobot_descriptions.loaders.pinocchioimportload_robot_descriptionrobot=load_robot_description("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.
You can useuv to manipulate robot descriptions directly from the command line:
uvx robot_descriptions pull iiwa14_description # download the robot description to cacheuvx robot_descriptions show_in_meshcat go2_description # display the robot description
Tryuvx robot_descriptions -h to see the list of available commands. Alternatively, once the package is installed from PyPI or conda-forge, you can call therobot_descriptions alias directly from the command line, or replaceuvx byuv run, orpython -m robot_descriptions (old school).
You can also import a robot description directly as a submodule ofrobot_descriptions:
fromrobot_descriptionsimportmy_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, theiiwa14_description exportsURDF_PATH_POLYTOPE_COLLISION with more detailed collision meshes.
Loading a robot description:
Visualizing a robot description:
Available robot descriptions (gallery) are listed in the following categories:
The DOF column denotes the number of actuated degrees of freedom.
| 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 |
fr3_v2_mj_description | FR3 v2 | 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| Name | Robot | Maker | Format | License |
|---|---|---|---|---|
ability_hand_description | Ability Hand | PSYONIC, Inc. | URDF | MIT |
ability_hand_mj_description | Ability Hand | PSYONIC, Inc. | MJCF | MIT |
aero_hand_open_description | Aero Hand Open | TetherIA | URDF | Apache-2.0 |
aero_hand_open_mj_description | Aero Hand Open | TetherIA | MJCF | Apache-2.0 |
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 |
| 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 | H1_2 | UNITREE Robotics | URDF | BSD-3-Clause |
h1_2_mj_description | H1_2 | UNITREE Robotics | MJCF | BSD-3-Clause |
icub_description | iCub | IIT | URDF | CC-BY-SA-4.0 ✖️ |
jaxon_description | JAXON | JSK | URDF | CC-BY-SA-4.0 ✖️ |
jvrc_description | JVRC-1 | AIST | URDF | BSD-2-Clause |
jvrc_mj_description | JVRC-1 | AIST | MJCF | BSD-2-Clause |
n1_description | N1 | Fourier | URDF | Apache-2.0 |
n1_mj_description | N1 | Fourier | MJCF | Apache-2.0 |
op3_mj_description | OP3 | ROBOTIS | MJCF | Apache-2.0 |
r2_description | Robonaut 2 | NASA JSC Robotics | URDF | NASA-1.3 |
romeo_description | Romeo | Aldebaran Robotics | URDF | BSD-3-Clause |
sigmaban_description | SigmaBan | Rhoban | URDF | MIT |
talos_description | TALOS | PAL Robotics | URDF | Apache-2.0 |
talos_mj_description | TALOS | PAL Robotics | MJCF | Apache-2.0 |
toddlerbot_description | ToddlerBot | Stanford University | URDF | MIT |
toddlerbot_2xc_mj_description | ToddlerBot 2XC | Stanford University | URDF | MIT |
toddlerbot_2xm_mj_description | ToddlerBot 2XM | Stanford University | URDF | MIT |
valkyrie_description | Valkyrie | NASA JSC Robotics | URDF | NASA-1.3 |
| 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 |
| 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 |
| 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 |
New robot descriptions are welcome! Check out theguidelines then open a PR.
Thanks to the maintainers of all the git repositories that made these robot descriptions available.
If you use this project in your works, please cite as follows:
@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.22.0},year ={2025}}
Don't forget to add yourself to the BibTeX above and toCITATION.cff if you contribute to this repository.
- Awesome Robot Descriptions: curated list of robot descriptions in URDF, Xacro or MJCF formats.
- drake_models: collection of URDF and SDF descriptions curated for the Drake framework.
- MuJoCo Menagerie: collection of MJCF robot descriptions curated for the MuJoCo physics engine.
- robot_descriptions.cpp: package to use
robot_descriptions.pyin C++.
About
Access 135+ robot descriptions from the main Python robotics frameworks
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.