Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,15 @@ All notable changes to this project will be documented in this file.

### Added

- Description: SO ARM 101 (URDF/MJCF) (thanks to @haixuantao)
- Add `pull` in the CLI to pull `robot_description` and cache it. (thanks to @haixuantao)
- CLI: Add `pull` command to `robot_description` and cache it (thanks to @haixuantao)
- Description: BamBot (URDF)
- Description: SO ARM 101 (MJCF) (thanks to @haixuantao)
- Description: SO ARM 101 (URDF) (thanks to @haixuantao)

### Changed

- Rename `leap_hand_v1` to `leap_hand_v1_description`
- Rename `so_arm100` to `so_arm100_description`

## [1.18.0] - 2025-06-19

Expand Down
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ The DOF column denotes the number of actuated degrees of freedom.
| `piper_mj_description` | PiPER | AgileX | MJCF | MIT |
| `poppy_ergo_jr_description` | Poppy Ergo Jr | Poppy Project | URDF | GPL-3.0 |
| `sawyer_mj_description` | Sawyer | Rethink Robotics | MJCF | Apache-2.0 |
| `so_arm100` | SO-ARM100 | The Robot Studio | URDF | Apache-2.0 |
| `so_arm100_description` | SO-ARM100 | The Robot Studio | URDF | Apache-2.0 |
| `so_arm100_mj_description` | SO-ARM100 | The Robot Studio | MJCF | Apache-2.0 |
| `so_arm101_description` | SO-ARM101 | The Robot Studio | URDF | Apache-2.0 |
| `so_arm101_mj_description` | SO-ARM101 | The Robot Studio | MJCF | Apache-2.0 |
Expand Down Expand Up @@ -214,7 +214,7 @@ The DOF column denotes the number of actuated degrees of freedom.
| `allegro_hand_description` | Allegro Hand | Wonik Robotics | URDF | [BSD](https://github.com/RobotLocomotion/models/blob/5c027ea961473cb558da30e1a749272a8a9fa3eb/allegro_hand_description/LICENSE.TXT) |
| `allegro_hand_mj_description` | Allegro Hand | Wonik Robotics | MJCF | [BSD-2-Clause](https://github.com/google-deepmind/mujoco_menagerie/blob/main/wonik_allegro/LICENSE) |
| `barrett_hand_description` | BarrettHand | Barrett Technology | URDF | [BSD](https://github.com/jhu-lcsr-attic/bhand_model/blob/937f4186d6458bd682a7dae825fb6f4efe56ec69/manifest.xml) |
| `leap_hand_v1` | LEAP Hand v1 | Carnegie Mellon University | URDF | MIT |
| `leap_hand_v1_description` | LEAP Hand v1 | Carnegie Mellon University | URDF | MIT |
| `leap_hand_mj_description` | LEAP Hand | Carnegie Mellon University | MJCF | MIT |
| `robotiq_2f85_description` | Robotiq 2F-85 | Robotiq | URDF | BSD-2-Clause |
| `robotiq_2f85_mj_description` | Robotiq 2F-85 | Robotiq | MJCF | BSD-2-Clause |
Expand Down Expand Up @@ -255,18 +255,19 @@ The DOF column denotes the number of actuated degrees of freedom.

### 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 |
| Name | Robot | Maker | Format | License |
|-------------------------------|-----------------------|--------------------------|------------|---------|
| `bambot_description` | BamBot | Tim Qian | URDF | [Apache-2.0](https://github.com/timqian/bambot/blob/04d902653794f9f72eeabb09ec90a9af8e397c5b/LICENSE) |
| `eve_r3_description` | Eve R3 | Halodi | URDF | Apache-2.0 |
| `fetch_description` | Fetch | Fetch Robotics | URDF | MIT |
| `ginger_description` | Ginger | Paaila Technology | URDF | BSD |
| `pepper_description` | Pepper | SoftBank Robotics | URDF | BSD-2-Clause |
| `pr2_description` | PR2 | Willow Garage | URDF | BSD |
| `reachy_description` | Reachy | Pollen Robotics | URDF | Apache-2.0 |
| `stretch_description` | Stretch RE1 | Hello Robot | URDF | CC-BY-SA-4.0 ✖️ |
| `sretch_mj_description` | Stretch 2 | Hello Robot | MJCF | Clear BSD |
| `sretch_3_mj_description` | Stretch 3 | Hello Robot | MJCF | Apache-2.0 |
| `tiago_description` | TIAGo | PAL Robotics | URDF | Apache-2.0 |

### Quadrupeds

Expand Down
11 changes: 9 additions & 2 deletions robot_descriptions/_descriptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ def has_urdf(self) -> bool:
"atlas_v4_description": Description(Format.URDF, tags={"humanoid"}),
"b1_description": Description(Format.URDF, tags={"quadruped"}),
"b2_description": Description(Format.URDF, tags={"quadruped"}),
"bambot_description": Description(
Format.URDF, tags={"mobile_manipulator"}
),
"barrett_hand_description": Description(
Format.URDF, tags={"end_effector"}
),
Expand Down Expand Up @@ -134,7 +137,9 @@ def has_urdf(self) -> bool:
"jvrc_description": Description(Format.URDF, tags={"humanoid"}),
"jvrc_mj_description": Description(Format.MJCF, tags={"humanoid"}),
"laikago_description": Description(Format.URDF, tags={"quadruped"}),
"leap_hand_v1": Description(Format.URDF, tags={"end_effector"}),
"leap_hand_v1_description": Description(
Format.URDF, tags={"end_effector"}
),
"leap_hand_mj_description": Description(
Format.MJCF, tags={"end_effector"}
),
Expand Down Expand Up @@ -189,8 +194,10 @@ def has_urdf(self) -> bool:
),
"skydio_x2_description": Description(Format.URDF, tags={"drone"}),
"skydio_x2_mj_description": Description(Format.MJCF, tags={"drone"}),
"so_arm100": Description(Format.URDF, tags={"arm"}),
"so_arm100_description": Description(Format.URDF, tags={"arm"}),
"so_arm100_mj_description": Description(Format.MJCF, tags={"arm"}),
"so_arm101_description": Description(Format.URDF, tags={"arm"}),
"so_arm101_mj_description": Description(Format.MJCF, tags={"arm"}),
"solo_description": Description(Format.URDF, tags={"quadruped"}),
"spot_mj_description": Description(Format.MJCF, tags={"quadruped"}),
"spryped_description": Description(Format.URDF, tags={"biped"}),
Expand Down
5 changes: 5 additions & 0 deletions robot_descriptions/_repositories.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,11 @@ class Repository:
commit="6adc14720aab583613975e5a9d6d4fa3cfcdd081",
cache_path="anymal_d_simple_description",
),
"bambot": Repository(
url="https://github.com/timqian/bambot.git",
commit="04d902653794f9f72eeabb09ec90a9af8e397c5b",
cache_path="bambot",
),
"baxter_common": Repository(
url="https://github.com/RethinkRobotics/baxter_common.git",
commit="6c4b0f375fe4e356a3b12df26ef7c0d5e58df86e", # v1.2.0
Expand Down
21 changes: 21 additions & 0 deletions robot_descriptions/bambot_description.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# SPDX-License-Identifier: Apache-2.0
# Copyright 2025 Inria

"""BamBot description."""

from os import getenv as _getenv
from os import path as _path

from ._cache import clone_to_cache as _clone_to_cache

REPOSITORY_PATH: str = _clone_to_cache(
"bambot",
commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None),
)

PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "website", "public", "URDF")

URDF_PATH: str = _path.join(PACKAGE_PATH, "bambot_v0.urdf")
Loading