robot-descriptions_robot_descriptions.py
https://github.com/bigbuildbench/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
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.3%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: BigBuildBench
- License: apache-2.0
- Language: Python
- Default Branch: master
- Size: 48.8 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Robot descriptions in Python
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.
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:
Command line tool
The command line tool can be used to visualize any of the robot descriptions below. For example:
console
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 |
| fr3_mj_description | FR3 | Franka Robotics | 7 | MJCF |
| gen2_description | Gen2 | Kinova | 6 | URDF |
| gen3_description | Gen3 | Kinova | 6 | URDF |
| gen3_mj_description | Gen3 | Kinova | 7 | MJCF |
| iiwa14_description | iiwa 14 | KUKA | 7 | URDF |
| iiwa14_mj_description | iiwa 14 | KUKA | 7 | MJCF |
| iiwa7_description | iiwa 7 | KUKA | 7 | URDF |
| panda_description | Panda | Franka Robotics | 8 | URDF |
| panda_mj_description | Panda | Franka Robotics | 8 | MJCF |
| poppy_ergo_jr_description | Poppy Ergo Jr | Poppy Project | 6 | URDF |
| sawyer_mj_description | Sawyer | Rethink Robotics | 7 | MJCF |
| so_arm100 | SO-ARM100 | The Robot Studio | 6 | URDF |
| 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 | ViperX | Trossen Robotics | 8 | MJCF |
| widow_mj_description | WidowX | Trossen Robotics | 8 | MJCF |
| xarm7_mj_description | xArm7 | UFACTORY | 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 |
| leap_hand_v1 | LEAP Hand v1 | Carnegie Mellon University | 16 | URDF |
| leap_hand_mj_description | LEAP Hand | Carnegie Mellon University | 16 | MJCF |
| robotiq_2f85_description | Robotiq 2F-85 | Robotiq | 1 | URDF |
| robotiq_2f85_mj_description | Robotiq 2F-85 | Robotiq | 1 | MJCF |
| shadow_dexee_mj_description | Shadow DEX-EE | The Shadow Robot Company | 12 | 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 |
| g1_description | G1 | UNITREE Robotics | 37 | URDF |
| g1_mj_description | G1 | UNITREE Robotics | 37 | MJCF |
| 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 |
| talos_mj_description | TALOS | PAL Robotics | 32 | MJCF |
| 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 |
| sretch_3_mj_description | Stretch 3 | Hello Robot | 14 | MJCF |
| tiago_description | TIAGo | PAL Robotics | 48 | URDF |
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 |
| b1_description | B1 | UNITREE Robotics | 12 | URDF |
| b2_description | B2 | UNITREE Robotics | 12 | URDF |
| spot_mj_description | Spot | Boston Dynamics | 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 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},
license = {Apache-2.0},
url = {https://github.com/robot-descriptions/robot_descriptions.py},
version = {1.13.0},
year = {2024}
}
See also
- 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++.
Owner
- Name: BigBuildBench
- Login: BigBuildBench
- Kind: organization
- Repositories: 1
- Profile: https://github.com/BigBuildBench
abbr. B3, benchmarking the repo-level understanding capability of your LLMs by reconstructing project build-file.
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.13.0 date-released: 2024-10-30 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"
GitHub Events
Total
- Create event: 4
Last Year
- Create event: 4
Dependencies
- tarides/changelog-check-action v2 composite
- mamba-org/setup-micromamba v1 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite