Skip to content

Commit 60e17bc

Browse files
Merge pull request #61 from kevinzakka/more-mujoco-models
Add more Menagerie models.
2 parents 1ecaeee + 6642354 commit 60e17bc

12 files changed

+199
-10
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ All notable changes to this project will be documented in this file.
66

77
### Added
88

9+
- Description: Allegro Hand V3 (MJCF)
10+
- Description: ALOHA 2 (MJCF)
11+
- Description: Bitcraze Crazyflie 2.0 (MJCF)
12+
- Description: KUKA iiwa 14 (MJCF)
13+
- Description: Robotics OP3 (MJCF)
14+
- Description: Saywer (MJCF)
15+
- Description: Stretch 2 (MJCF)
16+
- Description: ViperX 300 6DOF (MJCF)
917
- Citation file and BibTeX section in the readme
1018

1119
### Changed

README.md

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@ robot_descriptions show solo_description
111111

112112
Available robot descriptions ([gallery](https://github.com/robot-descriptions/awesome-robot-descriptions#gallery)) are listed in the following categories:
113113

114-
* [Arms](#arms)
115-
* [Bipeds](#bipeds)
116-
* [Dual arms](#dual-arms)
117-
* [Drones](#drones)
118-
* [Educational](#educational)
119-
* [End effectors](#end-effectors)
120-
* [Mobile manipulators](#mobile-manipulators)
121-
* [Humanoids](#humanoids)
122-
* [Quadrupeds](#quadrupeds)
114+
- [Arms](#arms)
115+
- [Bipeds](#bipeds)
116+
- [Dual arms](#dual-arms)
117+
- [Drones](#drones)
118+
- [Educational](#educational)
119+
- [End effectors](#end-effectors)
120+
- [Humanoids](#humanoids)
121+
- [Mobile manipulators](#mobile-manipulators)
122+
- [Quadrupeds](#quadrupeds)
123123

124124
The DOF column denotes the number of actuated degrees of freedom.
125125

@@ -133,14 +133,17 @@ The DOF column denotes the number of actuated degrees of freedom.
133133
| `gen3_description` | Gen3 (Jaco) | Kinova | 6 | URDF |
134134
| `gen3_mj_description` | Gen3 (Jaco) | Kinova | 7 | MJCF |
135135
| `iiwa_description` | iiwa | KUKA | 7 | URDF |
136+
| `iiwa_mj_description` | iiwa14 | KUKA | 7 | MJCF |
136137
| `panda_description` | Panda | Franka Emika | 8 | URDF |
137138
| `panda_mj_description` | Panda | Franka Emika | 8 | MJCF |
138139
| `poppy_ergo_jr_description` | Poppy Ergo Jr | Poppy Project | 6 | URDF |
140+
| `sawyer_mj_description` | Sawyer | Rethink Robotics | 7 | MJCF |
139141
| `ur10_description` | UR10 | Universal Robots | 6 | URDF |
140142
| `ur10e_mj_description` | UR10e | Universal Robots | 6 | MJCF |
141143
| `ur3_description` | UR3 | Universal Robots | 6 | URDF |
142144
| `ur5_description` | UR5 | Universal Robots | 6 | URDF |
143145
| `ur5e_mj_description` | UR5e | Universal Robots | 6 | MJCF |
146+
| `viper_mj_description` | Viper | Trossen Robotics | 7 | MJCF |
144147
| `z1_description` | Z1 | UNITREE Robotics | 6 | URDF |
145148

146149
### Bipeds
@@ -158,6 +161,7 @@ The DOF column denotes the number of actuated degrees of freedom.
158161

159162
| Name | Robot | Maker | DOF | Format |
160163
|-------------------------------|-----------------------|--------------------------|-----|------------|
164+
| `aloha_mj_description` | Aloha 2 | Trossen Robotics | 14 | MJCF |
161165
| `baxter_description` | Baxter | Rethink Robotics | 15 | URDF |
162166
| `nextage_description` | NEXTAGE | Kawada Robotics | 15 | URDF |
163167
| `poppy_torso_description` | Poppy Torso | Poppy Project | 13 | URDF |
@@ -168,6 +172,7 @@ The DOF column denotes the number of actuated degrees of freedom.
168172
| Name | Robot | Maker | DOF | Format |
169173
|-------------------------------|-----------------------|--------------------------|-----|------------|
170174
| `cf2_description` | Crazyflie 2.0 | Bitcraze | 0 | URDF |
175+
| `cf2_mj_description` | Crazyflie 2.0 | Bitcraze | 6 | MJCF |
171176
| `skydio_x2_description` | Skydio X2 | Skydio | 6 | URDF |
172177
| `skydio_x2_mj_description` | Skydio X2 | Skydio | 6 | MJCF |
173178

@@ -185,6 +190,7 @@ The DOF column denotes the number of actuated degrees of freedom.
185190
| Name | Robot | Maker | DOF | Format |
186191
|-------------------------------|-----------------------|--------------------------|-----|------------|
187192
| `allegro_hand_description` | Allegro Hand | Wonik Robotics | 16 | URDF |
193+
| `allegro_hand_mj_description` | Allegro Hand | Wonik Robotics | 16 | MJCF |
188194
| `barrett_hand_description` | BarrettHand | Barrett Technology | 8 | URDF |
189195
| `robotiq_2f85_description` | Robotiq 2F-85 | Robotiq | 1 | URDF |
190196
| `robotiq_2f85_mj_description` | Robotiq 2F-85 | Robotiq | 1 | MJCF |
@@ -204,6 +210,7 @@ The DOF column denotes the number of actuated degrees of freedom.
204210
| `jaxon_description` | JAXON | JSK | 38 | URDF |
205211
| `jvrc_description` | JVRC-1 | AIST | 34 | URDF |
206212
| `jvrc_mj_description` | JVRC-1 | AIST | 34 | MJCF |
213+
| `op3_mj_description` | OP3 | ROBOTIS | 20 | MJCF |
207214
| `r2_description` | Robonaut 2 | NASA JSC Robotics | 56 | URDF |
208215
| `romeo_description` | Romeo | Aldebaran Robotics | 37 | URDF |
209216
| `sigmaban_description` | SigmaBan | Rhoban | 20 | URDF |
@@ -221,6 +228,7 @@ The DOF column denotes the number of actuated degrees of freedom.
221228
| `pr2_description` | PR2 | Willow Garage | 32 | URDF |
222229
| `reachy_description` | Reachy | Pollen Robotics | 21 | URDF |
223230
| `stretch_description` | Stretch RE1 | Hello Robot | 14 | URDF |
231+
| `sretch_mj_description` | Stretch 2 | Hello Robot | 14 | MJCF |
224232
| `tiago_description` | TIAGo | PAL Robotics | 48 | URDF |
225233

226234
### Quadrupeds

robot_descriptions/_descriptions.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,9 @@ def has_urdf(self) -> bool:
5151
"a1_description": Description(Format.URDF),
5252
"a1_mj_description": Description(Format.MJCF),
5353
"aliengo_description": Description(Format.MJCF),
54+
"aloha_mj_description": Description(Format.MJCF),
5455
"allegro_hand_description": Description(Format.URDF),
56+
"allegro_hand_mj_description": Description(Format.MJCF),
5557
"anymal_b_description": Description(Format.URDF),
5658
"anymal_b_mj_description": Description(Format.MJCF),
5759
"anymal_c_description": Description(Format.URDF),
@@ -65,6 +67,7 @@ def has_urdf(self) -> bool:
6567
"cassie_description": Description(Format.URDF),
6668
"cassie_mj_description": Description(Format.MJCF),
6769
"cf2_description": Description(Format.URDF),
70+
"cf2_mj_description": Description(Format.MJCF),
6871
"double_pendulum_description": Description(Format.URDF),
6972
"draco3_description": Description(Format.URDF),
7073
"edo_description": Description(Format.URDF),
@@ -84,13 +87,15 @@ def has_urdf(self) -> bool:
8487
"hyq_description": Description(Format.URDF),
8588
"icub_description": Description(Format.URDF),
8689
"iiwa_description": Description(Format.URDF),
90+
"iiwa_mj_description": Description(Format.MJCF),
8791
"jaxon_description": Description(Format.URDF),
8892
"jvrc_description": Description(Format.URDF),
8993
"jvrc_mj_description": Description(Format.MJCF),
9094
"laikago_description": Description(Format.URDF),
9195
"mini_cheetah_description": Description(Format.URDF),
9296
"minitaur_description": Description(Format.URDF),
9397
"nextage_description": Description(Format.URDF),
98+
"op3_mj_description": Description(Format.MJCF),
9499
"panda_description": Description(Format.URDF),
95100
"panda_mj_description": Description(Format.MJCF),
96101
"pepper_description": Description(Format.URDF),
@@ -103,13 +108,15 @@ def has_urdf(self) -> bool:
103108
"robotiq_2f85_description": Description(Format.URDF),
104109
"robotiq_2f85_mj_description": Description(Format.MJCF),
105110
"romeo_description": Description(Format.URDF),
111+
"sawyer_mj_description": Description(Format.MJCF),
106112
"shadow_hand_mj_description": Description(Format.MJCF),
107113
"simple_humanoid_description": Description(Format.URDF),
108114
"skydio_x2_description": Description(Format.URDF),
109115
"skydio_x2_mj_description": Description(Format.MJCF),
110116
"solo_description": Description(Format.URDF),
111117
"spryped_description": Description(Format.URDF),
112118
"stretch_description": Description(Format.URDF),
119+
"stretch_mj_description": Description(Format.MJCF),
113120
"talos_description": Description(Format.URDF),
114121
"tiago_description": Description(Format.URDF),
115122
"trifinger_edu_description": Description(Format.URDF),
@@ -120,6 +127,7 @@ def has_urdf(self) -> bool:
120127
"ur5_description": Description(Format.URDF),
121128
"ur5e_mj_description": Description(Format.MJCF),
122129
"valkyrie_description": Description(Format.URDF),
130+
"viper_mj_description": Description(Format.MJCF),
123131
"yumi_description": Description(Format.URDF),
124132
"z1_description": Description(Format.URDF),
125133
"z1_mj_description": Description(Format.MJCF),

robot_descriptions/_repositories.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ class Repository:
144144
),
145145
"mujoco_menagerie": Repository(
146146
url="https://github.com/deepmind/mujoco_menagerie.git",
147-
commit="a099b54b539416bff0db4d35fc2271c35c10f37a",
147+
commit="915d92c60858c3649e04af2ae93ac2c51fe18c24",
148148
cache_path="mujoco_menagerie",
149149
),
150150
"nao_robot": Repository(
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""Allegro Hand V3 MJCF description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "wonik_allegro")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "right_hand.xml")
21+
22+
MJCF_PATH_LEFT: str = _path.join(PACKAGE_PATH, "left_hand.xml")
23+
24+
MJCF_PATH_RIGHT = MJCF_PATH
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""ALOHA 2 MJCF description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "aloha")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "scene.xml")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""Crazyflie 2.0 MJCF description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "bitcraze_crazyflie_2")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "cf2.xml")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""KUKA iiwa14 MJCF description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "kuka_iiwa_14")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "iiwa14.xml")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""Robotis OP3 description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "robotis_op3")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "op3.xml")
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
"""Rethink Robotics Sawyer MJCF description."""
7+
8+
from os import getenv as _getenv
9+
from os import path as _path
10+
11+
from ._cache import clone_to_cache as _clone_to_cache
12+
13+
REPOSITORY_PATH: str = _clone_to_cache(
14+
"mujoco_menagerie",
15+
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
16+
)
17+
18+
PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "rethink_robotics_sawyer")
19+
20+
MJCF_PATH: str = _path.join(PACKAGE_PATH, "sawyer.xml")

0 commit comments

Comments
 (0)