Skip to main content

Import open source robot description as Python modules.

Project description

Robot descriptions in Python

Build Coverage PyPI version Conda Version 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

PyPI

PyPI version

pip install robot_descriptions

Conda

Conda Version

conda install -c conda-forge 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:

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.

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:

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 iiwa_description exports URDF_PATH_POLYTOPE_COLLISION with more detailed collision meshes.

Examples

Loading a robot description:

Visualizing a robot description:

Command line tool

The command line tool can be used to visualize any of the robot descriptions below. For example:

robot_descriptions show solo_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 DOF Format
edo_description e.DO Comau 6 URDF
fanuc_m710ic_description M-710iC Fanuc 6 URDF
gen2_description Gen2 (Jaco) Kinova 6 URDF
gen3_description Gen3 (Jaco) Kinova 6 URDF
gen3_mj_description Gen3 (Jaco) Kinova 7 MJCF
iiwa_description iiwa KUKA 7 URDF
iiwa_mj_description iiwa14 KUKA 7 MJCF
panda_description Panda Franka Emika 8 URDF
panda_mj_description Panda Franka Emika 8 MJCF
poppy_ergo_jr_description Poppy Ergo Jr Poppy Project 6 URDF
sawyer_mj_description Sawyer Rethink Robotics 7 MJCF
ur10_description UR10 Universal Robots 6 URDF
ur10e_mj_description UR10e Universal Robots 6 MJCF
ur3_description UR3 Universal Robots 6 URDF
ur5_description UR5 Universal Robots 6 URDF
ur5e_mj_description UR5e Universal Robots 6 MJCF
viper_mj_description Viper Trossen Robotics 7 MJCF
z1_description Z1 UNITREE Robotics 6 URDF

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
double_pendulum_description Double Pendulum 2 URDF
finger_edu_description FingerEdu 3 URDF
simple_humanoid_description Simple Humanoid 29 URDF
trifinger_edu_description TriFingerEdu 9 URDF

End effectors

Name Robot Maker DOF Format
allegro_hand_description Allegro Hand Wonik Robotics 16 URDF
allegro_hand_mj_description Allegro Hand Wonik Robotics 16 MJCF
barrett_hand_description BarrettHand Barrett Technology 8 URDF
robotiq_2f85_description Robotiq 2F-85 Robotiq 1 URDF
robotiq_2f85_mj_description Robotiq 2F-85 Robotiq 1 MJCF
shadow_hand_mj_description Shadow Hand The Shadow Robot Company 24 MJCF

Humanoids

Name Robot Maker DOF Format
atlas_drc_description Atlas DRC (v3) Boston Dynamics 30 URDF
atlas_v4_description Atlas v4 Boston Dynamics 30 URDF
draco3_description Draco3 Apptronik 25 URDF
ergocub_description ergoCub IIT 57 URDF
h1_description H1 UNITREE Robotics 25 URDF
h1_mj_description H1 UNITREE Robotics 25 MJCF
icub_description iCub IIT 32 URDF
jaxon_description JAXON JSK 38 URDF
jvrc_description JVRC-1 AIST 34 URDF
jvrc_mj_description JVRC-1 AIST 34 MJCF
op3_mj_description OP3 ROBOTIS 20 MJCF
r2_description Robonaut 2 NASA JSC Robotics 56 URDF
romeo_description Romeo Aldebaran Robotics 37 URDF
sigmaban_description SigmaBan Rhoban 20 URDF
talos_description TALOS PAL Robotics 32 URDF
valkyrie_description Valkyrie NASA JSC Robotics 59 URDF

Mobile manipulators

Name Robot Maker DOF Format
eve_r3_description Eve R3 Halodi 23 URDF
fetch_description Fetch Fetch Robotics 14 URDF
ginger_description Ginger Paaila Technology 49 URDF
pepper_description Pepper SoftBank Robotics 17 URDF
pr2_description PR2 Willow Garage 32 URDF
reachy_description Reachy Pollen Robotics 21 URDF
stretch_description Stretch RE1 Hello Robot 14 URDF
sretch_mj_description Stretch 2 Hello Robot 14 MJCF
tiago_description TIAGo PAL Robotics 48 URDF

Quadrupeds

Name Robot Maker DOF Format
a1_mj_description A1 UNITREE Robotics 12 MJCF
a1_description A1 UNITREE Robotics 12 URDF
b1_description B1 UNITREE Robotics 12 URDF
aliengo_description Aliengo UNITREE Robotics 12 MJCF, URDF
anymal_b_mj_description ANYmal B ANYbotics 12 MJCF
anymal_b_description ANYmal B ANYbotics 12 URDF
anymal_c_description ANYmal C ANYbotics 12 URDF
anymal_c_mj_description ANYmal C ANYbotics 12 MJCF
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

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 robot_descriptions.py in your scientific works, please cite it e.g. as follows:

@software{robot_descriptions_py2024,
  author = {Caron, Stéphane and Romualdi, Giulio and Kozlov, Lev and Ordonez, Daniel and Tadashi Kussaba, Hugo and Bang, Seung Hyeon and Zakka, Kevin},
  license = {Apache-2.0},
  month = mar,
  title = {{robot_descriptions.py: Robot descriptions in Python}},
  url = {https://github.com/robot-descriptions/robot_descriptions.py},
  version = {1.9.0},
  year = {2024}
}

See also

Robot descriptions in other languages:

C++ robot_descriptions.cpp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robot_descriptions-1.9.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

robot_descriptions-1.9.0-py3-none-any.whl (69.7 kB view details)

Uploaded Python 3

File details

Details for the file robot_descriptions-1.9.0.tar.gz.

File metadata

  • Download URL: robot_descriptions-1.9.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for robot_descriptions-1.9.0.tar.gz
Algorithm Hash digest
SHA256 637a0178eb856bf85a36991d43ac5e7b34903cbc9d169b138fcc447b9ca651f9
MD5 511c1e16f6e0fa630edcd6197b15978b
BLAKE2b-256 a9a5a869a45fca8f9315d929ac331bdbd11a03ba9eb616095fd74560424f8821

See more details on using hashes here.

File details

Details for the file robot_descriptions-1.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for robot_descriptions-1.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c6e99db8bee42c3e5f612225dda7d1db79981d67d286a0e372836e535aed685d
MD5 ea6963fe7c6cb3dd4a796b39c2745300
BLAKE2b-256 ae75702a226fe22678e814110a0ea8b441d5b74c42e3c6ecc769a5e3c03b66be

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page