Name | robot_descriptions JSON |
Version |
1.13.0
JSON |
| download |
home_page | None |
Summary | Import open source robot description as Python modules. |
upload_time | 2024-10-30 16:08:29 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
keywords |
robot
description
urdf
mjcf
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Robot descriptions in Python
[](https://github.com/robot-descriptions/robot_descriptions.py/actions)
[](https://coveralls.io/github/robot-descriptions/robot_descriptions.py?branch=main)
[](https://anaconda.org/conda-forge/robot_descriptions)
[](https://pypi.org/project/robot_descriptions/)
[](https://pypistats.org/packages/robot_descriptions)
[](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/CONTRIBUTING.md)
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](https://github.com/robot-descriptions/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
[](https://anaconda.org/conda-forge/robot_descriptions)
```console
conda install -c conda-forge robot_descriptions
```
### From PyPI
[](https://pypi.org/project/robot_descriptions/)
```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 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](https://github.com/robotology/idyntree) | `robot_descriptions.loaders.idyntree` |
| [MuJoCo](https://github.com/deepmind/mujoco) | `robot_descriptions.loaders.mujoco` |
| [Pinocchio](https://github.com/stack-of-tasks/pinocchio) | `robot_descriptions.loaders.pinocchio` |
| [PyBullet](https://pybullet.org/) | `robot_descriptions.loaders.pybullet` |
| [RoboMeshCat](https://github.com/petrikvladimir/RoboMeshCat) | `robot_descriptions.loaders.robomeshcat` |
| [yourdfpy](https://github.com/clemense/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:
<dl>
<dt>
<code>URDF_PATH</code> / <code>MJCF_PATH</code>
</dt>
<dd>
Path to the main URDF/MJCF file of the robot description.
</dd>
<dt>
<code>PACKAGE_PATH</code>
</dt>
<dd>
Path to the root of the robot description package.
</dd>
<dt>
<code>REPOSITORY_PATH</code>
</dt>
<dd>
Path to the working directory of the git repository hosting the robot description.
</dd>
</dl>
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:
- [iDynTree](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_idyntree.py)
- [MuJoCo](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_mujoco.py)
- [Pinocchio](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_pinocchio.py)
- [PyBullet](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_pybullet.py)
- [RoboMeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_robomeshcat.py)
- [yourdfpy](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_yourdfpy.py)
Visualizing a robot description:
- [MeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_meshcat.py)
- [MuJoCo](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_mujoco.py)
- [PyBullet](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_pybullet.py)
- [RoboMeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_robomeshcat.py)
- [yourdfpy](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_yourdfpy.py)
## 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](https://github.com/robot-descriptions/awesome-robot-descriptions#gallery)) are listed in the following categories:
- [Arms](#arms)
- [Bipeds](#bipeds)
- [Dual arms](#dual-arms)
- [Drones](#drones)
- [Educational](#educational)
- [End effectors](#end-effectors)
- [Humanoids](#humanoids)
- [Mobile manipulators](#mobile-manipulators)
- [Quadrupeds](#quadrupeds)
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](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/CONTRIBUTING.md) 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](https://github.com/robot-descriptions/awesome-robot-descriptions): curated list of robot descriptions in URDF, Xacro or MJCF formats.
- [drake\_models](https://github.com/RobotLocomotion/models): collection of URDF and SDF descriptions curated for the Drake framework.
- [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie/): collection of MJCF robot descriptions curated for the MuJoCo physics engine.
- [robot\_descriptions.cpp](https://github.com/mayataka/robot_descriptions.cpp): package to use ``robot_descriptions.py`` in C++.
Raw data
{
"_id": null,
"home_page": null,
"name": "robot_descriptions",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"keywords": "robot, description, urdf, mjcf",
"author": null,
"author_email": "St\u00e9phane Caron <stephane.caron@normalesup.org>",
"download_url": "https://files.pythonhosted.org/packages/5c/86/b81c93eeee61b0af4e9041113ad11e0b2ed569bc4091d3623e441f927caa/robot_descriptions-1.13.0.tar.gz",
"platform": null,
"description": "# Robot descriptions in Python\n\n[](https://github.com/robot-descriptions/robot_descriptions.py/actions)\n[](https://coveralls.io/github/robot-descriptions/robot_descriptions.py?branch=main)\n[](https://anaconda.org/conda-forge/robot_descriptions)\n[](https://pypi.org/project/robot_descriptions/)\n[](https://pypistats.org/packages/robot_descriptions)\n[](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/CONTRIBUTING.md)\n\nImport open source robot descriptions as Python modules.\n\nImporting a description for the first time automatically downloads and caches files for future imports. Most [Awesome Robot Descriptions](https://github.com/robot-descriptions/awesome-robot-descriptions) are available. All of them load successfully in respectively MuJoCo (MJCF) or Pinocchio, iDynTree, PyBullet and yourdfpy (URDF).\n\n## Installation\n\n### From conda-forge\n\n[](https://anaconda.org/conda-forge/robot_descriptions)\n\n```console\nconda install -c conda-forge robot_descriptions\n```\n\n### From PyPI\n\n[](https://pypi.org/project/robot_descriptions/)\n\n```console\npip install robot_descriptions\n```\n\n## Usage\n\nThe library provides `load_robot_description` functions that return an instance of a robot description directly usable in the corresponding software. For example:\n\n```python\nfrom robot_descriptions.loaders.pinocchio import load_robot_description\n\nrobot = load_robot_description(\"upkie_description\")\n```\n\nLoaders are implemented for the following robotics software:\n\n| Software | Loader |\n|--------------------------------------------------------------|------------------------------------------|\n| [iDynTree](https://github.com/robotology/idyntree) | `robot_descriptions.loaders.idyntree` |\n| [MuJoCo](https://github.com/deepmind/mujoco) | `robot_descriptions.loaders.mujoco` |\n| [Pinocchio](https://github.com/stack-of-tasks/pinocchio) | `robot_descriptions.loaders.pinocchio` |\n| [PyBullet](https://pybullet.org/) | `robot_descriptions.loaders.pybullet` |\n| [RoboMeshCat](https://github.com/petrikvladimir/RoboMeshCat) | `robot_descriptions.loaders.robomeshcat` |\n| [yourdfpy](https://github.com/clemense/yourdfpy/) | `robot_descriptions.loaders.yourdfpy` |\n\nLoading will automatically download the robot description if needed, and cache it to a local directory.\n\n### Import as submodule\n\nYou can also import a robot description directly as a submodule of ``robot_descriptions``:\n\n```python\nfrom robot_descriptions import my_robot_description\n```\n\nThe 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:\n\n<dl>\n <dt>\n <code>URDF_PATH</code> / <code>MJCF_PATH</code>\n </dt>\n <dd>\n Path to the main URDF/MJCF file of the robot description.\n </dd>\n <dt>\n <code>PACKAGE_PATH</code>\n </dt>\n <dd>\n Path to the root of the robot description package.\n </dd>\n <dt>\n <code>REPOSITORY_PATH</code>\n </dt>\n <dd>\n Path to the working directory of the git repository hosting the robot description.\n </dd>\n</dl>\n\nSome robot descriptions include additional fields. For instance, the ``iiwa14_description`` exports ``URDF_PATH_POLYTOPE_COLLISION`` with more detailed collision meshes.\n\n## Examples\n\nLoading a robot description:\n\n- [iDynTree](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_idyntree.py)\n- [MuJoCo](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_mujoco.py)\n- [Pinocchio](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_pinocchio.py)\n- [PyBullet](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_pybullet.py)\n- [RoboMeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_robomeshcat.py)\n- [yourdfpy](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/load_in_yourdfpy.py)\n\nVisualizing a robot description:\n\n- [MeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_meshcat.py)\n- [MuJoCo](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_mujoco.py)\n- [PyBullet](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_pybullet.py)\n- [RoboMeshCat](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_robomeshcat.py)\n- [yourdfpy](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/examples/show_in_yourdfpy.py)\n\n## Command line tool\n\nThe command line tool can be used to visualize any of the robot descriptions below. For example:\n\n```console\nrobot_descriptions show solo_description\n```\n\n## Descriptions\n\nAvailable robot descriptions ([gallery](https://github.com/robot-descriptions/awesome-robot-descriptions#gallery)) are listed in the following categories:\n\n- [Arms](#arms)\n- [Bipeds](#bipeds)\n- [Dual arms](#dual-arms)\n- [Drones](#drones)\n- [Educational](#educational)\n- [End effectors](#end-effectors)\n- [Humanoids](#humanoids)\n- [Mobile manipulators](#mobile-manipulators)\n- [Quadrupeds](#quadrupeds)\n\nThe DOF column denotes the number of actuated degrees of freedom.\n\n### Arms\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `edo_description` | e.DO | Comau | 6 | URDF |\n| `fanuc_m710ic_description` | M-710iC | Fanuc | 6 | URDF |\n| `fr3_mj_description` | FR3 | Franka Robotics | 7 | MJCF |\n| `gen2_description` | Gen2 | Kinova | 6 | URDF |\n| `gen3_description` | Gen3 | Kinova | 6 | URDF |\n| `gen3_mj_description` | Gen3 | Kinova | 7 | MJCF |\n| `iiwa14_description` | iiwa 14 | KUKA | 7 | URDF |\n| `iiwa14_mj_description` | iiwa 14 | KUKA | 7 | MJCF |\n| `iiwa7_description` | iiwa 7 | KUKA | 7 | URDF |\n| `panda_description` | Panda | Franka Robotics | 8 | URDF |\n| `panda_mj_description` | Panda | Franka Robotics | 8 | MJCF |\n| `poppy_ergo_jr_description` | Poppy Ergo Jr | Poppy Project | 6 | URDF |\n| `sawyer_mj_description` | Sawyer | Rethink Robotics | 7 | MJCF |\n| `so_arm100` | SO-ARM100 | The Robot Studio | 6 | URDF |\n| `ur10_description` | UR10 | Universal Robots | 6 | URDF |\n| `ur10e_mj_description` | UR10e | Universal Robots | 6 | MJCF |\n| `ur3_description` | UR3 | Universal Robots | 6 | URDF |\n| `ur5_description` | UR5 | Universal Robots | 6 | URDF |\n| `ur5e_mj_description` | UR5e | Universal Robots | 6 | MJCF |\n| `viper_mj_description` | ViperX | Trossen Robotics | 8 | MJCF |\n| `widow_mj_description` | WidowX | Trossen Robotics | 8 | MJCF |\n| `xarm7_mj_description` | xArm7 | UFACTORY | 7 | MJCF |\n| `z1_description` | Z1 | UNITREE Robotics | 6 | URDF |\n\n### Bipeds\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `bolt_description` | Bolt | ODRI | 6 | URDF |\n| `cassie_description` | Cassie | Agility Robotics | 16 | URDF |\n| `cassie_mj_description` | Cassie | Agility Robotics | 16 | MJCF |\n| `rhea_description` | Rhea | Gabrael Levine | 7 | URDF |\n| `spryped_description` | Spryped | Benjamin Bokser | 8 | URDF |\n| `upkie_description` | Upkie | Tast's Robots | 6 | URDF |\n\n### Dual arms\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `aloha_mj_description` | Aloha 2 | Trossen Robotics | 14 | MJCF |\n| `baxter_description` | Baxter | Rethink Robotics | 15 | URDF |\n| `nextage_description` | NEXTAGE | Kawada Robotics | 15 | URDF |\n| `poppy_torso_description` | Poppy Torso | Poppy Project | 13 | URDF |\n| `yumi_description` | YuMi | ABB | 16 | URDF |\n\n### Drones\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `cf2_description` | Crazyflie 2.0 | Bitcraze | 0 | URDF |\n| `cf2_mj_description` | Crazyflie 2.0 | Bitcraze | 6 | MJCF |\n| `skydio_x2_description` | Skydio X2 | Skydio | 6 | URDF |\n| `skydio_x2_mj_description` | Skydio X2 | Skydio | 6 | MJCF |\n\n### Educational\n\n| Name | Robot | DOF | Format |\n|-------------------------------|-----------------------|-----|------------|\n| `double_pendulum_description` | Double Pendulum | 2 | URDF |\n| `finger_edu_description` | FingerEdu | 3 | URDF |\n| `simple_humanoid_description` | Simple Humanoid | 29 | URDF |\n| `trifinger_edu_description` | TriFingerEdu | 9 | URDF |\n\n### End effectors\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|----------------------------|-----|------------|\n| `allegro_hand_description` | Allegro Hand | Wonik Robotics | 16 | URDF |\n| `allegro_hand_mj_description` | Allegro Hand | Wonik Robotics | 16 | MJCF |\n| `barrett_hand_description` | BarrettHand | Barrett Technology | 8 | URDF |\n| `leap_hand_v1` | LEAP Hand v1 | Carnegie Mellon University | 16 | URDF |\n| `leap_hand_mj_description` | LEAP Hand | Carnegie Mellon University | 16 | MJCF |\n| `robotiq_2f85_description` | Robotiq 2F-85 | Robotiq | 1 | URDF |\n| `robotiq_2f85_mj_description` | Robotiq 2F-85 | Robotiq | 1 | MJCF |\n| `shadow_dexee_mj_description` | Shadow DEX-EE | The Shadow Robot Company | 12 | MJCF |\n| `shadow_hand_mj_description` | Shadow Hand | The Shadow Robot Company | 24 | MJCF |\n\n### Humanoids\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `atlas_drc_description` | Atlas DRC (v3) | Boston Dynamics | 30 | URDF |\n| `atlas_v4_description` | Atlas v4 | Boston Dynamics | 30 | URDF |\n| `draco3_description` | Draco3 | Apptronik | 25 | URDF |\n| `ergocub_description` | ergoCub | IIT | 57 | URDF |\n| `g1_description` | G1 | UNITREE Robotics | 37 | URDF |\n| `g1_mj_description` | G1 | UNITREE Robotics | 37 | MJCF |\n| `h1_description` | H1 | UNITREE Robotics | 25 | URDF |\n| `h1_mj_description` | H1 | UNITREE Robotics | 25 | MJCF |\n| `icub_description` | iCub | IIT | 32 | URDF |\n| `jaxon_description` | JAXON | JSK | 38 | URDF |\n| `jvrc_description` | JVRC-1 | AIST | 34 | URDF |\n| `jvrc_mj_description` | JVRC-1 | AIST | 34 | MJCF |\n| `op3_mj_description` | OP3 | ROBOTIS | 20 | MJCF |\n| `r2_description` | Robonaut 2 | NASA JSC Robotics | 56 | URDF |\n| `romeo_description` | Romeo | Aldebaran Robotics | 37 | URDF |\n| `sigmaban_description` | SigmaBan | Rhoban | 20 | URDF |\n| `talos_description` | TALOS | PAL Robotics | 32 | URDF |\n| `talos_mj_description` | TALOS | PAL Robotics | 32 | MJCF |\n| `valkyrie_description` | Valkyrie | NASA JSC Robotics | 59 | URDF |\n\n### Mobile manipulators\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `eve_r3_description` | Eve R3 | Halodi | 23 | URDF |\n| `fetch_description` | Fetch | Fetch Robotics | 14 | URDF |\n| `ginger_description` | Ginger | Paaila Technology | 49 | URDF |\n| `pepper_description` | Pepper | SoftBank Robotics | 17 | URDF |\n| `pr2_description` | PR2 | Willow Garage | 32 | URDF |\n| `reachy_description` | Reachy | Pollen Robotics | 21 | URDF |\n| `stretch_description` | Stretch RE1 | Hello Robot | 14 | URDF |\n| `sretch_mj_description` | Stretch 2 | Hello Robot | 14 | MJCF |\n| `sretch_3_mj_description` | Stretch 3 | Hello Robot | 14 | MJCF |\n| `tiago_description` | TIAGo | PAL Robotics | 48 | URDF |\n\n### Quadrupeds\n\n| Name | Robot | Maker | DOF | Format |\n|-------------------------------|-----------------------|--------------------------|-----|------------|\n| `a1_description` | A1 | UNITREE Robotics | 12 | URDF |\n| `a1_mj_description` | A1 | UNITREE Robotics | 12 | MJCF |\n| `aliengo_description` | Aliengo | UNITREE Robotics | 12 | URDF |\n| `aliengo_mj_description` | Aliengo | UNITREE Robotics | 12 | MJCF |\n| `anymal_b_description` | ANYmal B | ANYbotics | 12 | URDF |\n| `anymal_b_mj_description` | ANYmal B | ANYbotics | 12 | MJCF |\n| `anymal_c_description` | ANYmal C | ANYbotics | 12 | URDF |\n| `anymal_c_mj_description` | ANYmal C | ANYbotics | 12 | MJCF |\n| `b1_description` | B1 | UNITREE Robotics | 12 | URDF |\n| `b2_description` | B2 | UNITREE Robotics | 12 | URDF |\n| `spot_mj_description` | Spot | Boston Dynamics | 12 | MJCF |\n| `go1_description` | Go1 | UNITREE Robotics | 12 | URDF |\n| `go1_mj_description` | Go1 | UNITREE Robotics | 12 | MJCF |\n| `go2_description` | Go2 | UNITREE Robotics | 12 | URDF |\n| `go2_mj_description` | Go2 | UNITREE Robotics | 12 | MJCF |\n| `hyq_description` | HyQ | IIT | 12 | URDF |\n| `laikago_description` | Laikago | UNITREE Robotics | 12 | MJCF, URDF |\n| `mini_cheetah_description` | Mini Cheetah | MIT | 12 | URDF |\n| `minitaur_description` | Minitaur | Ghost Robotics | 16 | URDF |\n| `solo_description` | Solo | ODRI | 12 | URDF |\n\n## Contributing\n\nNew robot descriptions are welcome! Check out the [guidelines](https://github.com/robot-descriptions/robot_descriptions.py/tree/main/CONTRIBUTING.md) then open a PR.\n\n## Thanks\n\nThanks to the maintainers of all the git repositories that made these robot descriptions available.\n\n## Citation\n\nIf you use this project in your works, please cite as follows:\n\n```bibtex\n@software{robot_descriptions_py,\n title = {{robot_descriptions.py: Robot descriptions in Python}},\n author = {Caron, St\u00e9phane and Romualdi, Giulio and Kozlov, Lev and Ordo\u00f1ez Apraez, Daniel Felipe and Tadashi Kussaba, Hugo and Bang, Seung Hyeon and Zakka, Kevin and Schramm, Fabian},\n license = {Apache-2.0},\n url = {https://github.com/robot-descriptions/robot_descriptions.py},\n version = {1.13.0},\n year = {2024}\n}\n```\n\n## See also\n\n- [Awesome Robot Descriptions](https://github.com/robot-descriptions/awesome-robot-descriptions): curated list of robot descriptions in URDF, Xacro or MJCF formats.\n- [drake\\_models](https://github.com/RobotLocomotion/models): collection of URDF and SDF descriptions curated for the Drake framework.\n- [MuJoCo Menagerie](https://github.com/google-deepmind/mujoco_menagerie/): collection of MJCF robot descriptions curated for the MuJoCo physics engine.\n- [robot\\_descriptions.cpp](https://github.com/mayataka/robot_descriptions.cpp): package to use ``robot_descriptions.py`` in C++.\n",
"bugtrack_url": null,
"license": null,
"summary": "Import open source robot description as Python modules.",
"version": "1.13.0",
"project_urls": {
"Changelog": "https://github.com/robot-descriptions/robot_descriptions.py/blob/main/CHANGELOG.md",
"Homepage": "https://github.com/robot-descriptions",
"Source": "https://github.com/robot-descriptions/robot_descriptions.py",
"Tracker": "https://github.com/robot-descriptions/robot_descriptions.py/issues"
},
"split_keywords": [
"robot",
" description",
" urdf",
" mjcf"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "12bfae55fd8506f35ab6369d136e3efd9e451f851ea93b3691e213e4a852fdbd",
"md5": "62cbc4ed6cf4fb436d0b9b27a1be0e96",
"sha256": "c45f55d6725c1979fd37e7d92cc92a7af5658118eabde90a59bd211065845e9d"
},
"downloads": -1,
"filename": "robot_descriptions-1.13.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "62cbc4ed6cf4fb436d0b9b27a1be0e96",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 78377,
"upload_time": "2024-10-30T16:08:27",
"upload_time_iso_8601": "2024-10-30T16:08:27.664984Z",
"url": "https://files.pythonhosted.org/packages/12/bf/ae55fd8506f35ab6369d136e3efd9e451f851ea93b3691e213e4a852fdbd/robot_descriptions-1.13.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5c86b81c93eeee61b0af4e9041113ad11e0b2ed569bc4091d3623e441f927caa",
"md5": "6bd50667454897758c30b6c19e65f687",
"sha256": "812315e706c9852d974bab37a144189c5516ddc0c88a764b04fc1ee0c51be552"
},
"downloads": -1,
"filename": "robot_descriptions-1.13.0.tar.gz",
"has_sig": false,
"md5_digest": "6bd50667454897758c30b6c19e65f687",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 42414,
"upload_time": "2024-10-30T16:08:29",
"upload_time_iso_8601": "2024-10-30T16:08:29.715001Z",
"url": "https://files.pythonhosted.org/packages/5c/86/b81c93eeee61b0af4e9041113ad11e0b2ed569bc4091d3623e441f927caa/robot_descriptions-1.13.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-30 16:08:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "robot-descriptions",
"github_project": "robot_descriptions.py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "robot_descriptions"
}