From 4ec44045acc86c04a9bc37aad9800d8bef49c94e Mon Sep 17 00:00:00 2001 From: Jonathan Zamora Date: Sun, 20 Apr 2025 16:37:33 -0700 Subject: [PATCH] Add ARX L5 MJCF description from Menagerie. --- CHANGELOG.md | 1 + README.md | 1 + robot_descriptions/_descriptions.py | 1 + robot_descriptions/_repositories.py | 2 +- robot_descriptions/arx_l5_mj_description.py | 20 ++++++++++++++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 robot_descriptions/arx_l5_mj_description.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 903da69..1dedbd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ All notable changes to this project will be documented in this file. ### Added - Description: Kinova Gen3 Lite (URDF) +- Description: ARX L5 (MJCF) (thanks to @jonzamora) ### Changed diff --git a/README.md b/README.md index 1389356..178b094 100644 --- a/README.md +++ b/README.md @@ -135,6 +135,7 @@ The DOF column denotes the number of actuated degrees of freedom. | Name | Robot | Maker | Format | License | |-------------------------------|-----------------------|--------------------------|------------|--------------| +| `arx_l5_mj_description` | L5 | ARX | MJCF | BSD-3-Clause | | `edo_description` | e.DO | Comau | URDF | [BSD-3-Clause](https://github.com/ianathompson/eDO_description/blob/17b3f92f834746106d6a4befaab8eeab3ac248e6/LICENSE) | | `fanuc_m710ic_description` | M-710iC | Fanuc | URDF | BSD-3-Clause | | `fr3_mj_description` | FR3 | Franka Robotics | MJCF | Apache-2.0 | diff --git a/robot_descriptions/_descriptions.py b/robot_descriptions/_descriptions.py index 579f4e7..c2e9361 100644 --- a/robot_descriptions/_descriptions.py +++ b/robot_descriptions/_descriptions.py @@ -74,6 +74,7 @@ def has_urdf(self) -> bool: "anymal_c_mj_description": Description(Format.MJCF, tags={"quadruped"}), "anymal_d_description": Description(Format.URDF, tags={"quadruped"}), "apollo_mj_description": Description(Format.MJCF, tags={"humanoid"}), + "arx_l5_mj_description": Description(Format.MJCF, tags={"arm"}), "atlas_drc_description": Description(Format.URDF, tags={"humanoid"}), "atlas_v4_description": Description(Format.URDF, tags={"humanoid"}), "b1_description": Description(Format.URDF, tags={"quadruped"}), diff --git a/robot_descriptions/_repositories.py b/robot_descriptions/_repositories.py index 2bee1d2..2f74c80 100644 --- a/robot_descriptions/_repositories.py +++ b/robot_descriptions/_repositories.py @@ -177,7 +177,7 @@ class Repository: ), "mujoco_menagerie": Repository( url="https://github.com/deepmind/mujoco_menagerie.git", - commit="bf04290ac7911fa7a39339c7e507792fd464c438", + commit="e44555e5a6478f5119dfd5ca9c4a8270ae1b9933", cache_path="mujoco_menagerie", ), "nao_robot": Repository( diff --git a/robot_descriptions/arx_l5_mj_description.py b/robot_descriptions/arx_l5_mj_description.py new file mode 100644 index 0000000..beda3d9 --- /dev/null +++ b/robot_descriptions/arx_l5_mj_description.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# SPDX-License-Identifier: Apache-2.0 + +"""ARX L5 MJCF 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( + "mujoco_menagerie", + commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None), +) + +PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "arx_l5") + +MJCF_PATH: str = _path.join(PACKAGE_PATH, "arx_l5.xml")