Skip to content

Software

robot_descriptions.py

By Robot Descriptions, from github.com/robot-descriptions/robot_descriptions.py (opens in a new tab)

  • Simulators
  • Library
  • Apache-2.0

A Python library that imports open-source robot descriptions as modules, downloading and caching their files on first use so they can be loaded into several robotics simulators and tools.

Facts

GitHub stars
851read on 6 Nov 2026
Last update
6 Nov 2026Newest commit on main
Maintenance
Activea commit in the last 90 days
Difficulty
Beginner

Checked on GitHub on 6 Nov 2026.

Licenses

Code
Apache-2.0 (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 0cef1e2 (opens in a new tab), on 6 Nov 2026.

Commercial use
Yes

Overview

What it does: Robotheca's summary

  • Loads robot descriptions into MuJoCo, Pinocchio, iDynTree, PyBullet, RoboMeshCat and yourdfpy through dedicated loader functions.
  • Downloads and caches a description automatically the first time it is imported or loaded.
  • Exposes paths such as URDF_PATH, MJCF_PATH and PACKAGE_PATH for each description submodule.
  • Renders Xacro-based descriptions to a cached URDF when loading them.
  • Provides command line commands to pull a description to cache and display it in a viewer.
  • Includes a large catalogue of arms, bipeds, quadrupeds, humanoids and other robots, listed by category.

Written by Robotheca from the project's README (opens in a new tab) at commit 0160f8c, not by its creator.

The README

The creator's own README, copied as written: README.md by Robot Descriptions, at commit 0cef1e2, under Apache-2.0 (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

Robot descriptions in Python

(opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab) (opens in a new tab)

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 (opens in a new tab) are available. All of them load successfully in respectively MuJoCo (MJCF) or Pinocchio, iDynTree, PyBullet and yourdfpy (URDF).

Installation
From conda-forge
conda install -c conda-forge robot_descriptions
From PyPI
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:

from robot_descriptions.loaders.pinocchio import load_robot_description

robot = load_robot_description("upkie_description")

Loaders are implemented for the following robotics software:

SoftwareLoader
iDynTree (opens in a new tab)robot_descriptions.loaders.idyntree
MuJoCo (opens in a new tab)robot_descriptions.loaders.mujoco
Pinocchio (opens in a new tab)robot_descriptions.loaders.pinocchio
PyBullet (opens in a new tab)robot_descriptions.loaders.pybullet
RoboMeshCat (opens in a new tab)robot_descriptions.loaders.robomeshcat
yourdfpy (opens in a new tab)robot_descriptions.loaders.yourdfpy

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

Command line

You can use uv (opens in a new tab) to manipulate robot descriptions directly from the command line:

# Download a robot description to cache
uvx robot_descriptions pull iiwa14_description

# Display a robot description
uvx --with mujoco-python-viewer robot_descriptions show_in_mujoco go2_mj_description
uvx --with meshcat --with pin robot_descriptions show_in_meshcat go2_description
uvx --with robomeshcat robot_descriptions show_in_meshcat go2_description
uvx --with pybullet robot_descriptions show_in_pybullet go2_description
uvx --with yourdfpy robot_descriptions show_in_yourdfpy go2_description

Try uvx robot_descriptions -h to see the list of available commands. Alternatively, once the package is installed from PyPI or conda-forge, you can call the robot_descriptions alias directly from the command line, or replace uvx by uv run, or python -m robot_descriptions (old school).

Import as submodule

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

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:

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

Descriptions can also define XACRO_PATH (and optional XACRO_ARGS) instead of a static URDF_PATH. In that case, robot_descriptions renders the Xacro to a cached URDF transparently when loading the description.

Examples

Loading a robot description:

Visualizing a robot description:

Descriptions

Available robot descriptions (gallery (opens in a new tab)) are listed in the following categories:

The DOF column denotes the number of actuated degrees of freedom. Descriptions may appear in more than one category when tags overlap.

Arms
NameRobotMakerDOFFormatLicense
arx_l5_mj_descriptionL5ARXMJCFBSD-3-Clause (opens in a new tab)
big_yam_descriptionBig YAMI2RT RoboticsURDFMIT (opens in a new tab)
big_yam_mj_descriptionBig YAMI2RT RoboticsMJCFMIT (opens in a new tab)
edo_descriptione.DOComauURDFBSD-3-Clause (opens in a new tab)
enlight_descriptionEnlight-LFlexiv Robotics7URDFApache-2.0 (opens in a new tab)
fanuc_m710ic_descriptionM-710iCFanucURDFBSD-3-Clause (opens in a new tab)
fer_descriptionFERFranka RoboticsURDF, SRDFApache-2.0 (opens in a new tab)
fr3_descriptionFR3Franka RoboticsURDF, SRDFApache-2.0 (opens in a new tab)
fr3_mj_descriptionFR3Franka RoboticsMJCFApache-2.0 (opens in a new tab)
fr3_v2_1_descriptionFR3 v2.1Franka RoboticsURDF, SRDFApache-2.0 (opens in a new tab)
fr3_v2_descriptionFR3 v2Franka RoboticsURDF, SRDFApache-2.0 (opens in a new tab)
fr3_v2_mj_descriptionFR3 v2Franka RoboticsMJCFApache-2.0 (opens in a new tab)
gen2_descriptionGen2KinovaURDF, SRDFBSD-3-Clause (opens in a new tab)
gen3_descriptionGen3KinovaURDFBSD-3-Clause (opens in a new tab)
gen3_lite_descriptionGen3 LiteKinovaURDF, SRDFBSD-3-Clause (opens in a new tab)
gen3_mj_descriptionGen3KinovaMJCFBSD-3-Clause (opens in a new tab)
iiwa14_descriptioniiwa 14KUKAURDFBSD-3-Clause (opens in a new tab)
iiwa14_mj_descriptioniiwa 14KUKAMJCFBSD-3-Clause (opens in a new tab)
iiwa7_descriptioniiwa 7KUKAURDFMIT (opens in a new tab)
iiwa7_epfl_descriptioniiwa 7KUKAURDFGPL-3.0 (opens in a new tab)
j2n4s300_descriptionJaco2 j2n4s300KinovaURDFBSD-3-Clause (opens in a new tab)
j2n6s200_descriptionJaco2 j2n6s200KinovaURDFBSD-3-Clause (opens in a new tab)
j2n6s300_descriptionJaco2 j2n6s300KinovaURDF, SRDFBSD-3-Clause (opens in a new tab)
j2n7s300_descriptionJaco2 j2n7s300KinovaURDFBSD-3-Clause (opens in a new tab)
j2s6s200_descriptionJaco2 j2s6s200KinovaURDFBSD-3-Clause (opens in a new tab)
j2s6s300_descriptionJaco2 j2s6s300KinovaURDF, SRDFBSD-3-Clause (opens in a new tab)
j2s7s300_descriptionJaco2 j2s7s300KinovaURDF, SRDFBSD-3-Clause (opens in a new tab)
low_cost_robot_arm_mj_descriptionLow-cost robot armAlexander KochMJCFApache-2.0 (opens in a new tab)
omx_f_descriptionOMX-FROBOTISURDF, SRDFApache-2.0 (opens in a new tab)
omx_l_descriptionOMX-LROBOTISURDFApache-2.0 (opens in a new tab)
omy_3m_descriptionOMY-3MROBOTISURDF, SRDFApache-2.0 (opens in a new tab)
omy_f3m_descriptionOMY-F3MROBOTISURDF, SRDFApache-2.0 (opens in a new tab)
omy_l100_descriptionOMY-L100ROBOTISURDFApache-2.0 (opens in a new tab)
open_manipulator_x_descriptionOpenMANIPULATOR-XROBOTISURDF, SRDFApache-2.0 (opens in a new tab)
panda_descriptionPandaFranka RoboticsURDF, SRDFApache-2.0 (opens in a new tab)
panda_mj_descriptionPandaFranka RoboticsMJCFApache-2.0 (opens in a new tab)
piper_descriptionPiPERAgileXURDFMIT (opens in a new tab)
piper_mj_descriptionPiPERAgileXMJCFMIT (opens in a new tab)
poppy_ergo_jr_descriptionPoppy Ergo JrPoppy ProjectURDFGPL-3.0 (opens in a new tab)
rizon10_descriptionRizon10Flexiv Robotics7URDFApache-2.0 (opens in a new tab)
rizon4_descriptionRizon4Flexiv RoboticsURDFApache-2.0 (opens in a new tab)
rizon4_mj_descriptionRizon4Flexiv RoboticsMJCFApache-2.0 (opens in a new tab)
sawyer_mj_descriptionSawyerRethink RoboticsMJCFApache-2.0 (opens in a new tab)
so_arm100_descriptionSO-ARM100The Robot StudioURDFApache-2.0 (opens in a new tab)
so_arm100_mj_descriptionSO-ARM100The Robot StudioMJCFApache-2.0 (opens in a new tab)
so_arm101_descriptionSO-ARM101The Robot StudioURDFApache-2.0 (opens in a new tab)
so_arm101_mj_descriptionSO-ARM101The Robot StudioMJCFApache-2.0 (opens in a new tab)
so_arm102_descriptionSO-ARM102Robonine6URDFCC-BY-4.0 (opens in a new tab)
ur10_official_descriptionUR10 (official)Universal RobotsURDFBSD-3-Clause (opens in a new tab)
ur10e_descriptionUR10eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur10e_mj_descriptionUR10eUniversal RobotsMJCFBSD-3-Clause (opens in a new tab)
ur12e_descriptionUR12eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur15_descriptionUR15Universal RobotsURDFUniversal Robots Terms for Graphical Documentation ✖️ (opens in a new tab)
ur16e_descriptionUR16eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur18_descriptionUR18Universal RobotsURDFUniversal Robots Terms for Graphical Documentation ✖️ (opens in a new tab)
ur20_descriptionUR20Universal RobotsURDFUniversal Robots Terms for Graphical Documentation ✖️ (opens in a new tab)
ur30_descriptionUR30Universal RobotsURDFUniversal Robots Terms for Graphical Documentation ✖️ (opens in a new tab)
ur3_official_descriptionUR3 (official)Universal RobotsURDFBSD-3-Clause (opens in a new tab)
ur3e_descriptionUR3eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur5_official_descriptionUR5 (official)Universal RobotsURDFBSD-3-Clause (opens in a new tab)
ur5e_descriptionUR5eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur5e_mj_descriptionUR5eUniversal RobotsMJCFBSD-3-Clause (opens in a new tab)
ur7e_descriptionUR7eUniversal RobotsURDFBSD-3-Clause (opens in a new tab)
ur8long_descriptionUR8 LongUniversal RobotsURDFUniversal Robots Terms for Graphical Documentation ✖️ (opens in a new tab)
viper_mj_descriptionViperXTrossen RoboticsMJCFBSD-3-Clause (opens in a new tab)
widow_mj_descriptionWidowXTrossen RoboticsMJCFBSD-3-Clause (opens in a new tab)
xarm6_descriptionxArm6UFACTORYURDF, SRDFBSD-3-Clause (opens in a new tab)
xarm7_descriptionxArm7UFACTORYURDF, SRDFBSD-3-Clause (opens in a new tab)
xarm7_mj_descriptionxArm7UFACTORYMJCFBSD-3-Clause (opens in a new tab)
yam_descriptionYAMI2RT RoboticsURDFMIT (opens in a new tab)
yam_mj_descriptionYAMI2RT RoboticsMJCFMIT (opens in a new tab)
yam_pro_descriptionYAM ProI2RT RoboticsURDFMIT (opens in a new tab)
yam_pro_mj_descriptionYAM ProI2RT RoboticsMJCFMIT (opens in a new tab)
yam_ultra_v1_descriptionYAM Ultra v1I2RT RoboticsURDFMIT (opens in a new tab)
yam_ultra_v1_mj_descriptionYAM Ultra v1I2RT RoboticsMJCFMIT (opens in a new tab)
yam_ultra_v2_descriptionYAM Ultra v2I2RT RoboticsURDFMIT (opens in a new tab)
yam_ultra_v2_mj_descriptionYAM Ultra v2I2RT RoboticsMJCFMIT (opens in a new tab)
z1_descriptionZ1UNITREE RoboticsURDFBSD-3-Clause (opens in a new tab)
z1_mj_descriptionZ1UNITREE RoboticsMJCFBSD-3-Clause (opens in a new tab)
Bipeds
NameRobotMakerDOFFormatLicense
bolt_descriptionBoltODRI6URDF, SRDFBSD-3-Clause (opens in a new tab)
cassie_descriptionCassieAgility Robotics16URDFMIT (opens in a new tab)
cassie_mj_descriptionCassieAgility Robotics16MJCFMIT (opens in a new tab)
cookie_descriptionCookieUpkie Project6URDFApache-2.0 (opens in a new tab)
rhea_descriptionRheaGabrael Levine7URDFApache-2.0 (opens in a new tab)
spryped_descriptionSprypedBenjamin Bokser8URDFBSD (opens in a new tab)
tron1_pf_tron1a_mj_descriptionTRON1 PF TRON1ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_pf_tron1b_mj_descriptionTRON1 PF TRON1BLimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_sf_tron1a_mj_descriptionTRON1 SF TRON1ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_sf_tron1b_mj_descriptionTRON1 SF TRON1BLimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_wf_tron1a_mj_descriptionTRON1 WF TRON1ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_wf_tron1b_mj_descriptionTRON1 WF TRON1BLimX DynamicsMJCFApache-2.0 (opens in a new tab)
upkie_descriptionUpkieUpkie Project6URDFApache-2.0 (opens in a new tab)
Dual arms
NameRobotMakerDOFFormatLicense
aloha_mj_descriptionAloha 2Trossen Robotics14MJCFBSD-3-Clause (opens in a new tab)
baxter_descriptionBaxterRethink Robotics15URDFBSD-3-Clause (opens in a new tab)
mico_descriptionMICO-CoreFlexiv Robotics14URDFApache-2.0 (opens in a new tab)
nextage_descriptionNEXTAGEKawada Robotics15URDF, SRDFBSD (opens in a new tab)
openarm_v1_descriptionOpenArm v1Enactic18URDFApache-2.0 (opens in a new tab)
openarm_v1_mj_descriptionOpenArmEnactic16MJCFApache-2.0 (opens in a new tab)
openarm_v2_descriptionOpenArm v2Enactic18URDFApache-2.0 (opens in a new tab)
openarm_v2_mj_descriptionOpenArmEnactic16MJCFApache-2.0 (opens in a new tab)
poppy_torso_descriptionPoppy TorsoPoppy Project13URDFGPL-3.0 (opens in a new tab)
pr2_descriptionPR2Willow GarageURDFBSD (opens in a new tab)
r1_pro_descriptionR1 ProGalaxea AI22URDF, SRDFApache-2.0 (opens in a new tab)
yumi_descriptionYuMiABB16URDFBSD (opens in a new tab)
Drones
NameRobotMakerDOFFormatLicense
cf2_descriptionCrazyflie 2.0Bitcraze0URDFMIT (opens in a new tab)
cf2_mj_descriptionCrazyflie 2.0Bitcraze6MJCFMIT (opens in a new tab)
skydio_x2_descriptionSkydio X2Skydio6URDFApache-2.0 (opens in a new tab)
skydio_x2_mj_descriptionSkydio X2Skydio6MJCFApache-2.0 (opens in a new tab)
Educational
NameRobotDOFFormatLicense
double_pendulum_descriptionDouble Pendulum2URDFBSD-3-Clause (opens in a new tab)
dynamixel_2r_mj_descriptionDynamixel 2R2MJCFMIT (opens in a new tab)
finger_edu_descriptionFingerEdu3URDF, SRDFBSD-3-Clause (opens in a new tab)
mujoco_humanoid_mj_descriptionMuJoCo Humanoid27MJCFApache-2.0 (opens in a new tab)
simple_humanoid_descriptionSimple Humanoid29URDF, SRDFBSD-2-Clause (opens in a new tab)
trifinger_edu_descriptionTriFingerEdu9URDFMIT (opens in a new tab)
End effectors
NameRobotMakerFormatLicense
ability_hand_descriptionAbility HandPSYONIC, Inc.URDFMIT (opens in a new tab)
ability_hand_mj_descriptionAbility HandPSYONIC, Inc.MJCFMIT (opens in a new tab)
aero_hand_open_descriptionAero Hand OpenTetherIAURDFCC-BY-SA-4.0 ✖️ (opens in a new tab)
aero_hand_open_mj_descriptionAero Hand OpenTetherIAMJCFApache-2.0 (opens in a new tab)
allegro_hand_descriptionAllegro HandWonik RoboticsURDFBSD (opens in a new tab)
allegro_hand_mj_descriptionAllegro HandWonik RoboticsMJCFBSD-2-Clause (opens in a new tab)
barrett_hand_descriptionBarrettHandBarrett TechnologyURDFBSD (opens in a new tab)
leap_hand_mj_descriptionLEAP HandCarnegie Mellon UniversityMJCFMIT (opens in a new tab)
leap_hand_v1_descriptionLEAP Hand v1Carnegie Mellon UniversityURDFMIT (opens in a new tab)
robotiq_2f85_descriptionRobotiq 2F-85RobotiqURDFBSD (opens in a new tab)
robotiq_2f85_mj_descriptionRobotiq 2F-85RobotiqMJCFBSD-2-Clause (opens in a new tab)
robotiq_2f85_v4_descriptionRobotiq 2F-85 v4RobotiqURDFBSD-2-Clause (opens in a new tab)
robotiq_2f85_v4_mj_descriptionRobotiq 2F-85RobotiqMJCFBSD-2-Clause (opens in a new tab)
shadow_dexee_mj_descriptionShadow DEX-EEThe Shadow Robot CompanyMJCFApache-2.0 (opens in a new tab)
shadow_hand_mj_descriptionShadow HandThe Shadow Robot CompanyMJCFApache-2.0 (opens in a new tab)
so_arm101_parallel_gripper_descriptionSO-ARM101 Parallel GripperRobonineURDFGPL-3.0 (opens in a new tab)
Humanoids
NameRobotMakerDOFFormatLicense
adam_lite_mj_descriptionAdam LitePNDBoticsMJCFMIT (opens in a new tab)
apollo_mj_descriptionApolloApptronikMJCFApache-2.0 (opens in a new tab)
atlas_drc_descriptionAtlas DRC (v3)Boston DynamicsURDFBSD-3-Clause (opens in a new tab)
atlas_v4_descriptionAtlas v4Boston DynamicsURDFMIT (opens in a new tab)
berkeley_humanoid_descriptionBerkeley HumanoidHybrid RoboticsURDFBSD-3-Clause (opens in a new tab)
booster_t1_descriptionBooster T1Booster RoboticsURDFApache-2.0 (opens in a new tab)
booster_t1_mj_descriptionBooster T1Booster RoboticsMJCFApache-2.0 (opens in a new tab)
draco3_descriptionDraco3ApptronikURDFBSD-2-Clause (opens in a new tab)
elf2_descriptionElf2BXI RoboticsURDFApache-2.0 (opens in a new tab)
elf2_mj_descriptionElf2BXI RoboticsMJCFApache-2.0 (opens in a new tab)
ergocub_descriptionergoCubIITURDFBSD-3-Clause (opens in a new tab)
g1_descriptionG1UNITREE RoboticsURDFBSD-3-Clause (opens in a new tab)
g1_mj_descriptionG1UNITREE RoboticsMJCFBSD-3-Clause (opens in a new tab)
gene01_descriptionGENE.01Generative BionicsURDFCC-BY-NC-4.0 ✖️ (opens in a new tab)
gr1_descriptionGR-1FourierURDFGPL-3.0 (opens in a new tab)
h1_2_descriptionH1_2UNITREE RoboticsURDFBSD-3-Clause (opens in a new tab)
h1_2_mj_descriptionH1_2UNITREE RoboticsMJCFBSD-3-Clause (opens in a new tab)
h1_descriptionH1UNITREE RoboticsURDFBSD-3-Clause (opens in a new tab)
h1_mj_descriptionH1UNITREE RoboticsMJCFBSD-3-Clause (opens in a new tab)
icub_descriptioniCubIITURDFCC-BY-SA-4.0 ✖️ (opens in a new tab)
jaxon_descriptionJAXONJSKURDFCC-BY-SA-4.0 ✖️ (opens in a new tab)
jvrc_descriptionJVRC-1AISTURDFBSD-2-Clause (opens in a new tab)
jvrc_mj_descriptionJVRC-1AISTMJCFBSD-2-Clause (opens in a new tab)
luna_descriptionLunaLimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
luna_mj_descriptionLunaLimX DynamicsMJCFApache-2.0 (opens in a new tab)
microban_mj_descriptionMicrobanRhoban19MJCFGPL-3.0 (opens in a new tab)
mujoco_humanoid_mj_descriptionMuJoCo Humanoid27MJCFApache-2.0 (opens in a new tab)
n1_descriptionN1FourierURDFApache-2.0 (opens in a new tab)
n1_mj_descriptionN1FourierMJCFApache-2.0 (opens in a new tab)
oli_descriptionOliLimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
oli_mj_descriptionOliLimX DynamicsMJCFApache-2.0 (opens in a new tab)
op3_mj_descriptionOP3ROBOTISMJCFApache-2.0 (opens in a new tab)
r2_descriptionRobonaut 2NASA JSC RoboticsURDFNASA-1.3 (opens in a new tab)
romeo_descriptionRomeoAldebaran RoboticsURDFBSD (opens in a new tab)
sigmaban_descriptionSigmaBanRhobanURDFMIT (opens in a new tab)
simple_humanoid_descriptionSimple Humanoid29URDF, SRDFBSD-2-Clause (opens in a new tab)
talos_descriptionTALOSPAL RoboticsURDF, SRDFLGPL-3.0 (opens in a new tab)
talos_mj_descriptionTALOSPAL RoboticsMJCFApache-2.0 (opens in a new tab)
toddlerbot_2xc_mj_descriptionToddlerBot 2XCStanford UniversityMJCFMIT (opens in a new tab)
toddlerbot_2xm_mj_descriptionToddlerBot 2XMStanford UniversityMJCFMIT (opens in a new tab)
toddlerbot_descriptionToddlerBotStanford UniversityURDFMIT (opens in a new tab)
tron2_dach_tron2a_mj_descriptionTRON2 DACH TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_sf_tron2a_mj_descriptionTRON2 SF TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_sfyg_tron2a_mj_descriptionTRON2 SFYG TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_wf_tron2a_mj_descriptionTRON2 WF TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_wfyg_tron2a_mj_descriptionTRON2 WFYG TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
valkyrie_descriptionValkyrieNASA JSC RoboticsURDFNASA-1.3 (opens in a new tab)
Mobile manipulators
NameRobotMakerDOFFormatLicense
bambot_descriptionBamBotTim QianURDFApache-2.0 (opens in a new tab)
eve_r3_descriptionEve R3HalodiURDFApache-2.0 (opens in a new tab)
fetch_descriptionFetchFetch RoboticsURDFMIT (opens in a new tab)
ginger_descriptionGingerPaaila TechnologyURDFBSD (opens in a new tab)
hsrb_descriptionHSR-BToyota Motor CorporationURDFBSD-3-Clause-Clear (opens in a new tab)
hsrc_descriptionHSR-CToyota Motor CorporationURDFBSD-3-Clause-Clear (opens in a new tab)
pepper_descriptionPepperSoftBank RoboticsURDFBSD-2-Clause (opens in a new tab)
pr2_descriptionPR2Willow GarageURDFBSD (opens in a new tab)
r1_pro_descriptionR1 ProGalaxea AI22URDF, SRDFApache-2.0 (opens in a new tab)
rby1_descriptionRBY1Rainbow RoboticsURDFMIT (opens in a new tab)
rby1_mj_descriptionRBY1Rainbow RoboticsMJCFMIT (opens in a new tab)
reachy_descriptionReachyPollen RoboticsURDFApache-2.0 (opens in a new tab)
stretch_3_mj_descriptionStretch 3Hello RobotMJCFApache-2.0 (opens in a new tab)
stretch_4_descriptionStretch 4Hello RobotURDFBSD-3-Clause-Clear (opens in a new tab)
stretch_descriptionStretch RE1Hello RobotURDFCC-BY-NC-SA-4.0 ✖️ (opens in a new tab)
stretch_mj_descriptionStretch 2Hello RobotMJCFClear BSD (opens in a new tab)
stretch_se3_descriptionStretch SE3Hello RobotURDFClear BSD (opens in a new tab)
tiago++_mj_descriptionTIAGo++PAL RoboticsMJCFApache-2.0 (opens in a new tab)
tiago_descriptionTIAGoPAL RoboticsURDFCC-BY-NC-ND-3.0 ✖️ (opens in a new tab)
tiago_official_descriptionTIAGo (official)PAL RoboticsURDFApache-2.0 (opens in a new tab)
Quadrupeds
NameRobotMakerDOFFormatLicense
a1_descriptionA1UNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
a1_mj_descriptionA1UNITREE Robotics12MJCFBSD-3-Clause (opens in a new tab)
aliengo_descriptionAliengoUNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
aliengo_mj_descriptionAliengoUNITREE Robotics12MJCFBSD-3-Clause (opens in a new tab)
anymal_b_descriptionANYmal BANYbotics12URDFBSD-3-Clause (opens in a new tab)
anymal_b_mj_descriptionANYmal BANYbotics12MJCFBSD-3-Clause (opens in a new tab)
anymal_c_descriptionANYmal CANYbotics12URDFBSD-3-Clause (opens in a new tab)
anymal_c_mj_descriptionANYmal CANYbotics12MJCFBSD-3-Clause (opens in a new tab)
anymal_d_descriptionANYmal DANYbotics12URDFBSD-3-Clause (opens in a new tab)
b1_descriptionB1UNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
b2_descriptionB2UNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
go1_descriptionGo1UNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
go1_mj_descriptionGo1UNITREE Robotics12MJCFBSD-3-Clause (opens in a new tab)
go2_descriptionGo2UNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
go2_mj_descriptionGo2UNITREE Robotics12MJCFBSD-3-Clause (opens in a new tab)
hyq_descriptionHyQIIT12URDF, SRDFApache-2.0 (opens in a new tab)
laikago_descriptionLaikagoUNITREE Robotics12URDFBSD-3-Clause (opens in a new tab)
mini_cheetah_descriptionMini CheetahMIT12URDFBSD (opens in a new tab)
minitaur_descriptionMinitaurGhost Robotics16URDFBSD-2-Clause (opens in a new tab)
solo_descriptionSoloODRI12URDF, SRDFBSD-3-Clause (opens in a new tab)
spot_mj_descriptionSpotBoston Dynamics12MJCFBSD-3-Clause (opens in a new tab)
wl_p311d_descriptionWL P311DLimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
wl_p311e_descriptionWL P311ELimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
Wheeled
NameRobotMakerDOFFormatLicense
cookie_descriptionCookieUpkie Project6URDFApache-2.0 (opens in a new tab)
rsk_descriptionRSK OmnidirectionalRobot Soccer KitURDFMIT (opens in a new tab)
rsk_mj_descriptionRSK OmnidirectionalRobot Soccer KitMJCFMIT (opens in a new tab)
tron1_wf_tron1a_mj_descriptionTRON1 WF TRON1ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron1_wf_tron1b_mj_descriptionTRON1 WF TRON1BLimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_wf_tron2a_mj_descriptionTRON2 WF TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
tron2_wfyg_tron2a_mj_descriptionTRON2 WFYG TRON2ALimX DynamicsMJCFApache-2.0 (opens in a new tab)
upkie_descriptionUpkieUpkie Project6URDFApache-2.0 (opens in a new tab)
wl_p311d_descriptionWL P311DLimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
wl_p311e_descriptionWL P311ELimX DynamicsURDF, SRDFApache-2.0 (opens in a new tab)
Contributing

New robot descriptions are welcome! Check out the guidelines (opens in a new tab) 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 work, 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 and Walker, Nick and Bragin, Nikita and Wie, Woojin and Skuric, Antun},
  license = {Apache-2.0},
  url = {https://github.com/robot-descriptions/robot_descriptions.py},
  version = {3.3.0},
  year = {2026}
}

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

See also

Files and versions

Facts read at commit 0cef1e2

Robotheca read the repository at two versions: the summary at 0160f8c and the facts and the README at 0cef1e2 (read on 6 Nov 2026).

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's README (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.