From b86930461433088288e232e7b9ddc05af49d67db Mon Sep 17 00:00:00 2001 From: Paul Weidinger Date: Thu, 10 Jul 2025 09:19:13 -0400 Subject: [PATCH] adding koch v1.1 URDF --- CHANGELOG.md | 1 + README.md | 3 ++- robot_descriptions/_descriptions.py | 3 +++ robot_descriptions/_repositories.py | 6 ++++++ .../low_cost_robot_arm_description.py | 21 +++++++++++++++++++ 5 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 robot_descriptions/low_cost_robot_arm_description.py diff --git a/CHANGELOG.md b/CHANGELOG.md index e484fcc..85d59a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +- Description: Low Cost Robot Arm (Koch v1.1) (URDF) ## [1.19.0] - 2025-07-03 diff --git a/README.md b/README.md index c23c935..0564072 100644 --- a/README.md +++ b/README.md @@ -142,7 +142,8 @@ The DOF column denotes the number of actuated degrees of freedom. | `iiwa14_description` | iiwa 14 | KUKA | URDF | BSD-3-Clause | | `iiwa14_mj_description` | iiwa 14 | KUKA | MJCF | BSD-3-Clause | | `iiwa7_description` | iiwa 7 | KUKA | URDF | MIT | -| `low_cost_robot_arm_mj_description` | Low-cost robot arm | Alexander Koch | MJCF | [Apache-2.0](https://github.com/google-deepmind/mujoco_menagerie/blob/ef4d04fbb7451d30b39c2aff7e49df737bb46815/low_cost_robot_arm/LICENSE) | +| `low_cost_robot_arm_description` | Low-cost robot arm (Koch v1.1) | Alexander Koch | URDF | [Apache-2.0](https://github.com/s1lent4gnt/koch-v1-1/blob/cc1a4eb9b27978b6bc3bb34f12fa5a7d229f1fde/LICENSE) | +| `low_cost_robot_arm_mj_description` | Low-cost robot arm (Koch v1.1) | Alexander Koch | MJCF | [Apache-2.0](https://github.com/google-deepmind/mujoco_menagerie/blob/ef4d04fbb7451d30b39c2aff7e49df737bb46815/low_cost_robot_arm/LICENSE) | | `panda_description` | Panda | Franka Robotics | URDF | Apache-2.0 | | `panda_mj_description` | Panda | Franka Robotics | MJCF | Apache-2.0 | | `piper_description` | PiPER | AgileX | URDF | MIT | diff --git a/robot_descriptions/_descriptions.py b/robot_descriptions/_descriptions.py index 875b6ec..31c74c0 100644 --- a/robot_descriptions/_descriptions.py +++ b/robot_descriptions/_descriptions.py @@ -146,6 +146,9 @@ def has_urdf(self) -> bool: "leap_hand_mj_description": Description( Format.MJCF, tags={"end_effector"} ), + "low_cost_robot_arm_description": Description( + Format.URDF, tags={"arm"} + ), "low_cost_robot_arm_mj_description": Description( Format.MJCF, tags={"arm"} ), diff --git a/robot_descriptions/_repositories.py b/robot_descriptions/_repositories.py index 4a5d5e6..3028afd 100644 --- a/robot_descriptions/_repositories.py +++ b/robot_descriptions/_repositories.py @@ -180,6 +180,12 @@ class Repository: commit="cee556b0a438e6904634a90826d4e8d2e005cd1f", cache_path="kinova_mj_description", ), + "koch-v1-1": Repository( + url="https://github.com/s1lent4gnt/koch-v1-1.git", + commit="cc1a4eb9b27978b6bc3bb34f12fa5a7d229f1fde", + cache_path="koch_description" + + ), "limxdynamics_robot-description": Repository( url="https://github.com/limxdynamics/robot-description.git", commit="a097533372a08298d45af391cbdfc2fd2dc3da6f", diff --git a/robot_descriptions/low_cost_robot_arm_description.py b/robot_descriptions/low_cost_robot_arm_description.py new file mode 100644 index 0000000..9d1702b --- /dev/null +++ b/robot_descriptions/low_cost_robot_arm_description.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +# +# SPDX-License-Identifier: Apache-2.0 +# Copyright 2022 Stéphane Caron + +"""Low Cost Robot Arm (Koch v1.1) URDF 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( + "koch-v1-1", + commit=_getenv("ROBOT_DESCRIPTION_COMMIT", None), +) + +PACKAGE_PATH: str = _path.join(REPOSITORY_PATH, "simulation/") + +URDF_PATH: str = _path.join(PACKAGE_PATH, "follower.urdf")