diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c105aa..d867931 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ All notable changes to this project will be documented in this file. - Description: AgileX PiPER (MJCF) - Description: AgileX PiPER (URDF) +- Description: Robot Soccer Kit - Description: Robotiq 2F-85 (MJCF V4) (thanks to @peterdavidfagan) ### Fixed diff --git a/README.md b/README.md index 07499d9..3d34797 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ Available robot descriptions ([gallery](https://github.com/robot-descriptions/aw - [Humanoids](#humanoids) - [Mobile manipulators](#mobile-manipulators) - [Quadrupeds](#quadrupeds) +- [Wheeled](#wheeled) The DOF column denotes the number of actuated degrees of freedom. @@ -278,6 +279,12 @@ The DOF column denotes the number of actuated degrees of freedom. | `minitaur_description` | Minitaur | Ghost Robotics | 16 | URDF | | `solo_description` | Solo | ODRI | 12 | URDF | +### Wheeled + +| Name | Robot | Maker | Format | License | +|-------------------------------|-----------------------|--------------------------|------------|---------| +| `rsk_description` | RSK Omnidirectional | Robot Soccer Kit | URDF | MIT | + ## 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. diff --git a/robot_descriptions/_descriptions.py b/robot_descriptions/_descriptions.py index 4c981b4..e1ee193 100644 --- a/robot_descriptions/_descriptions.py +++ b/robot_descriptions/_descriptions.py @@ -119,6 +119,7 @@ def has_urdf(self) -> bool: "robotiq_2f85_mj_description": Description(Format.MJCF), "robotiq_2f85_v4_mj_description": Description(Format.MJCF), "romeo_description": Description(Format.URDF), + "rsk_description": Description(Format.URDF), "sawyer_mj_description": Description(Format.MJCF), "shadow_hand_mj_description": Description(Format.MJCF), "simple_humanoid_description": Description(Format.URDF), diff --git a/robot_descriptions/_repositories.py b/robot_descriptions/_repositories.py index 56eb68d..4a6ab5f 100644 --- a/robot_descriptions/_repositories.py +++ b/robot_descriptions/_repositories.py @@ -175,6 +175,11 @@ class Repository: commit="54cdeb1dbfb529b79ae3185a53e24fce26e1b74b", cache_path="nasa-urdf-robots", ), + "onshape-to-robot-examples": Repository( + url="https://github.com/Rhoban/onshape-to-robot-examples.git", + commit="911abb069c781e4c717c10643b975f55f7a64fe8", + cache_path="onshape-to-robot-examples", + ), "pepper_description": Repository( url="https://github.com/jrl-umi3218/pepper_description.git", commit="cd9715bb5df7ad57445d953db7b1924255305944", diff --git a/robot_descriptions/rsk_description.py b/robot_descriptions/rsk_description.py new file mode 100644 index 0000000..487659c --- /dev/null +++ b/robot_descriptions/rsk_description.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# SPDX-License-Identifier: Apache-2.0 +# Copyright 2025 Inria + +"""RSK omnidirection robot 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( + "onshape-to-robot-examples", + commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None), +) + +PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "rsk_urdf") + +URDF_PATH: str = _path.join(PACKAGE_PATH, "robot.urdf")