From 6c64de06cd8522cdcdc0f8a400a36b3ea7fa9639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Caron?= Date: Fri, 8 Nov 2024 18:17:47 +0100 Subject: [PATCH 1/3] Add Berkeley Humanoid description --- CHANGELOG.md | 4 ++ README.md | 43 ++++++++++--------- robot_descriptions/_descriptions.py | 1 + robot_descriptions/_repositories.py | 5 +++ .../berkeley_humanoid_description.py | 21 +++++++++ 5 files changed, 53 insertions(+), 21 deletions(-) create mode 100644 robot_descriptions/berkeley_humanoid_description.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 03cdfe7..8a16fcf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added + +- Description: Berkeley Humanoid + ## [1.13.0] - 2024-10-30 ### Added diff --git a/README.md b/README.md index ead3aca..4a7a285 100644 --- a/README.md +++ b/README.md @@ -211,27 +211,28 @@ The DOF column denotes the number of actuated degrees of freedom. ### 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 | +| Name | Robot | Maker | DOF | Format | +|---------------------------------|-----------------------|--------------------------|-----|------------| +| `atlas_drc_description` | Atlas DRC (v3) | Boston Dynamics | 30 | URDF | +| `atlas_v4_description` | Atlas v4 | Boston Dynamics | 30 | URDF | +| `berkeley_humanoid_description` | Berkeley Humanoid | Hybrid Robotics | 12 | 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 diff --git a/robot_descriptions/_descriptions.py b/robot_descriptions/_descriptions.py index 12d6b03..e9e4d77 100644 --- a/robot_descriptions/_descriptions.py +++ b/robot_descriptions/_descriptions.py @@ -65,6 +65,7 @@ def has_urdf(self) -> bool: "b2_description": Description(Format.URDF), "barrett_hand_description": Description(Format.URDF), "baxter_description": Description(Format.URDF), + "berkeley_humanoid": Description(Format.URDF), "bolt_description": Description(Format.URDF), "cassie_description": Description(Format.URDF), "cassie_mj_description": Description(Format.MJCF), diff --git a/robot_descriptions/_repositories.py b/robot_descriptions/_repositories.py index a53f04b..f9eb08d 100644 --- a/robot_descriptions/_repositories.py +++ b/robot_descriptions/_repositories.py @@ -41,6 +41,11 @@ class Repository: commit="v1.2.0", cache_path="baxter_common", ), + "berkeley_humanoid_description": Repository( + url="https://github.com/jhu-lcsr-attic/bhand_model.git", + commit="d0d13d3f81d795480e25ed1910eaf83d5f0a1d0b", + cache_path="berkeley_humanoid_description", + ), "bhand_model": Repository( url="https://github.com/jhu-lcsr-attic/bhand_model.git", commit="937f4186d6458bd682a7dae825fb6f4efe56ec69", diff --git a/robot_descriptions/berkeley_humanoid_description.py b/robot_descriptions/berkeley_humanoid_description.py new file mode 100644 index 0000000..1761e31 --- /dev/null +++ b/robot_descriptions/berkeley_humanoid_description.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# SPDX-License-Identifier: Apache-2.0 +# Copyright 2024 Inria + +"""Berkeley Humanoid 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( + "berkeley_humanoid_description", + commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None), +) + +PACKAGE_PATH: str = _path.join(REPOSITORY_PATH) + +URDF_PATH: str = _path.join(PACKAGE_PATH, "urdf", "robot.urdf") From b1ec8115bff4180b02f018a0fb482672e5e5bc21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Caron?= Date: Fri, 8 Nov 2024 18:25:13 +0100 Subject: [PATCH 2/3] Correct description name --- robot_descriptions/_descriptions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/robot_descriptions/_descriptions.py b/robot_descriptions/_descriptions.py index e9e4d77..ebbbff4 100644 --- a/robot_descriptions/_descriptions.py +++ b/robot_descriptions/_descriptions.py @@ -65,7 +65,7 @@ def has_urdf(self) -> bool: "b2_description": Description(Format.URDF), "barrett_hand_description": Description(Format.URDF), "baxter_description": Description(Format.URDF), - "berkeley_humanoid": Description(Format.URDF), + "berkeley_humanoid_description": Description(Format.URDF), "bolt_description": Description(Format.URDF), "cassie_description": Description(Format.URDF), "cassie_mj_description": Description(Format.MJCF), From 1bf298a5e1f5c8381ddbfb74a73ffaad8afae182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Caron?= Date: Fri, 8 Nov 2024 18:29:55 +0100 Subject: [PATCH 3/3] Correct repository URL --- robot_descriptions/_repositories.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/robot_descriptions/_repositories.py b/robot_descriptions/_repositories.py index f9eb08d..be83787 100644 --- a/robot_descriptions/_repositories.py +++ b/robot_descriptions/_repositories.py @@ -42,7 +42,7 @@ class Repository: cache_path="baxter_common", ), "berkeley_humanoid_description": Repository( - url="https://github.com/jhu-lcsr-attic/bhand_model.git", + url="https://github.com/HybridRobotics/berkeley_humanoid_description", commit="d0d13d3f81d795480e25ed1910eaf83d5f0a1d0b", cache_path="berkeley_humanoid_description", ),