From 414c9e2d352d7603c244dc85ebc7d73ac864e148 Mon Sep 17 00:00:00 2001
From: silencht
Date: Fri, 18 Jul 2025 17:51:13 +0800
Subject: [PATCH] support brainco hand, fix some bugs.
---
README.md | 63 +-
README_zh-CN.md | 55 +-
assets/brainco_hand/brainco.yml | 61 ++
assets/brainco_hand/brainco_left.urdf | 618 ++++++++++++++++++
assets/brainco_hand/brainco_right.urdf | 618 ++++++++++++++++++
assets/brainco_hand/meshes/left_base_link.STL | Bin 0 -> 2518884 bytes
.../meshes/left_index_distal_Link.STL | Bin 0 -> 441984 bytes
.../meshes/left_index_proximal_Link.STL | Bin 0 -> 339884 bytes
.../meshes/left_index_tip_Link.STL | Bin 0 -> 117684 bytes
.../meshes/left_middle_distal_Link.STL | Bin 0 -> 435984 bytes
.../meshes/left_middle_proximal_Link.STL | Bin 0 -> 334284 bytes
.../meshes/left_middle_tip_Link.STL | Bin 0 -> 117684 bytes
.../meshes/left_pinky_distal_Link.STL | Bin 0 -> 596184 bytes
.../meshes/left_pinky_proximal_Link.STL | Bin 0 -> 346784 bytes
.../meshes/left_pinky_tip_Link.STL | Bin 0 -> 117684 bytes
.../meshes/left_ring_distal_Link.STL | Bin 0 -> 564884 bytes
.../meshes/left_ring_proximal_Link.STL | Bin 0 -> 281184 bytes
.../meshes/left_ring_tip_Link.STL | Bin 0 -> 117684 bytes
.../meshes/left_thumb_distal_Link.STL | Bin 0 -> 221284 bytes
.../meshes/left_thumb_metacarpal_Link.STL | Bin 0 -> 290384 bytes
.../meshes/left_thumb_proximal_Link.STL | Bin 0 -> 657684 bytes
.../meshes/left_thumb_tip_Link.STL | Bin 0 -> 117684 bytes
.../brainco_hand/meshes/right_base_link.STL | Bin 0 -> 2513484 bytes
.../meshes/right_index_distal_link.STL | Bin 0 -> 444884 bytes
.../meshes/right_index_proximal_link.STL | Bin 0 -> 339884 bytes
.../brainco_hand/meshes/right_index_tip.STL | Bin 0 -> 117684 bytes
.../meshes/right_middle_distal_link.STL | Bin 0 -> 437084 bytes
.../meshes/right_middle_proximal_link.STL | Bin 0 -> 333384 bytes
.../brainco_hand/meshes/right_middle_tip.STL | Bin 0 -> 117684 bytes
.../meshes/right_pinky_distal_link.STL | Bin 0 -> 595984 bytes
.../meshes/right_pinky_proximal_link.STL | Bin 0 -> 343284 bytes
.../brainco_hand/meshes/right_pinky_tip.STL | Bin 0 -> 117684 bytes
.../meshes/right_ring_distal_link.STL | Bin 0 -> 563784 bytes
.../meshes/right_ring_proximal_link.STL | Bin 0 -> 281484 bytes
assets/brainco_hand/meshes/right_ring_tip.STL | Bin 0 -> 117684 bytes
.../meshes/right_thumb_distal_link.STL | Bin 0 -> 218834 bytes
.../meshes/right_thumb_metacarpal_link.STL | Bin 0 -> 289584 bytes
.../meshes/right_thumb_proximal_link.STL | Bin 0 -> 657384 bytes
.../brainco_hand/meshes/right_thumb_tip.STL | Bin 0 -> 117684 bytes
teleop/robot_control/hand_retargeting.py | 25 +-
teleop/robot_control/robot_arm.py | 29 +-
teleop/robot_control/robot_hand_brainco.py | 194 ++++++
teleop/robot_control/robot_hand_inspire.py | 8 +-
teleop/robot_control/robot_hand_unitree.py | 11 +-
teleop/teleop_hand_and_arm.py | 19 +-
45 files changed, 1657 insertions(+), 44 deletions(-)
create mode 100644 assets/brainco_hand/brainco.yml
create mode 100644 assets/brainco_hand/brainco_left.urdf
create mode 100644 assets/brainco_hand/brainco_right.urdf
create mode 100644 assets/brainco_hand/meshes/left_base_link.STL
create mode 100644 assets/brainco_hand/meshes/left_index_distal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_index_proximal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_index_tip_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_middle_distal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_middle_proximal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_middle_tip_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_pinky_distal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_pinky_proximal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_pinky_tip_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_ring_distal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_ring_proximal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_ring_tip_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_thumb_distal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_thumb_metacarpal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_thumb_proximal_Link.STL
create mode 100644 assets/brainco_hand/meshes/left_thumb_tip_Link.STL
create mode 100644 assets/brainco_hand/meshes/right_base_link.STL
create mode 100644 assets/brainco_hand/meshes/right_index_distal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_index_proximal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_index_tip.STL
create mode 100644 assets/brainco_hand/meshes/right_middle_distal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_middle_proximal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_middle_tip.STL
create mode 100644 assets/brainco_hand/meshes/right_pinky_distal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_pinky_proximal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_pinky_tip.STL
create mode 100644 assets/brainco_hand/meshes/right_ring_distal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_ring_proximal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_ring_tip.STL
create mode 100644 assets/brainco_hand/meshes/right_thumb_distal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_thumb_metacarpal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_thumb_proximal_link.STL
create mode 100644 assets/brainco_hand/meshes/right_thumb_tip.STL
create mode 100644 teleop/robot_control/robot_hand_brainco.py
diff --git a/README.md b/README.md
index ed612c7..4adcc97 100644
--- a/README.md
+++ b/README.md
@@ -29,18 +29,37 @@
-
# 🔖 Release Note
-1. **Upgraded the Vuer library** to support more XR device modes. The project has been renamed from **`avp_teleoperate`** to **`xr_teleoperate`** to better reflect its broader scope — now supporting not only Apple Vision Pro but also Meta Quest 3 (with controllers) and PICO 4 Ultra Enterprise (with controllers).
+## 🏷️ v1.1
+
+1. Added support for a new end-effector type: **`brainco`**, which refers to the [Brain Hand](https://www.brainco-hz.com/docs/revolimb-hand/) developed by [BrainCo](https://www.brainco.cn/#/product/dexterous).
+2. Changed the **DDS domain ID** to `1` in **simulation mode** to prevent conflicts during physical deployment.
+3. Fixed an issue where the default frequency was set too high.
+
+## 🏷️ v1.0 (newvuer)
+
+1. Upgraded the [Vuer](https://github.com/vuer-ai/vuer) library to version **v0.0.60**, expanding XR device support to two modes: **hand tracking** and **controller tracking**. The project has been renamed from **`avp_teleoperate`** to **`xr_teleoperate`** to better reflect its broader capabilities.
+
+ Devices tested include: Apple Vision Pro, Meta Quest 3 (with controllers), and PICO 4 Ultra Enterprise (with controllers).
-2. **Modularized** parts of the codebase and introduced Git submodules (`git submodule`) for better structure and maintainability.
+2. Modularized parts of the codebase and integrated **Git submodules** (`git submodule`) to improve code clarity and maintainability.
-3. Added **headless**, **motion**, and **simulation** modes. The startup parameter configuration has been improved for ease of use (see Section 2.2). The **simulation** mode enables environment validation and hardware failure diagnostics.
+3. Introduced **headless**, **motion control**, and **simulation** modes. Startup parameter configuration has been streamlined for ease of use (see Section 2.2).
+ The **simulation** mode enables environment validation and hardware failure diagnostics.
-4. Changed the default hand retarget algorithm from Vector to **DexPilot**, improving the precision and intuitiveness of fingertip pinching.
+4. Changed the default hand retargeting algorithm from *Vector* to **DexPilot**, enhancing the precision and intuitiveness of fingertip pinching interactions.
-5. Various other improvements and refinements.
+5. Various other improvements and optimizations.
+
+## 🏷️ v0.5 (oldvuer)
+
+1. The repository was named **`avp_teleoperate`** in this version.
+2. Supported robot included: `G1_29`, `G1_23`, `H1_2`, and `H1`.
+3. Supported end-effectors included: `dex3`, `dex1(gripper)`, and `inspire1`.
+4. Only supported **hand tracking mode** for XR devices (using [Vuer](https://github.com/vuer-ai/vuer) version **v0.0.32RC7**).
+ **Controller tracking mode** was **not** supported.
+5. Data recording mode was available.
@@ -92,6 +111,10 @@ The currently supported devices in this repository:
Inspire dexterous hand
✅ Complete
+
+ BrainCo dexterous hand
+ ✅ Complete
+
···
···
@@ -99,6 +122,7 @@ The currently supported devices in this repository:
+
# 1. 📦 Installation
We tested our code on Ubuntu 20.04 and Ubuntu 22.04, other operating systems may be configured differently. This document primarily describes the **default mode**.
@@ -138,9 +162,11 @@ For more information, you can refer to [Official Documentation ](https://support
(tv) unitree@Host:~/unitree_sdk2_python$ pip install -e .
```
-> **Note 1**: The [unitree_dds_wrapper](https://github.com/unitreerobotics/unitree_dds_wrapper) in the original h1_2 branch was a temporary version. It has now been fully migrated to the official Python-based control and communication library: [unitree_sdk2_python](https://github.com/unitreerobotics/unitree_sdk2_python).
+> **Note 1:** For `xr_teleoperate` versions **v1.1 and above**, please ensure that the `unitree_sdk2_python` repository is checked out to a commit **equal to or newer than** [404fe44d76f705c002c97e773276f2a8fefb57e4](https://github.com/unitreerobotics/unitree_sdk2_python/commit/404fe44d76f705c002c97e773276f2a8fefb57e4).
>
-> **Note 2**: All identifiers in front of the command are meant for prompting: **Which device and directory the command should be executed on**.
+> **Note 2**: The [unitree_dds_wrapper](https://github.com/unitreerobotics/unitree_dds_wrapper) in the original h1_2 branch was a temporary version. It has now been fully migrated to the official Python-based control and communication library: [unitree_sdk2_python](https://github.com/unitreerobotics/unitree_sdk2_python).
+>
+> **Note 3**: All identifiers in front of the command are meant for prompting: **Which device and directory the command should be executed on**.
>
> In the Ubuntu system's `~/.bashrc` file, the default configuration is: `PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '`
>
@@ -183,7 +209,7 @@ This program supports XR control of a physical robot or in simulation. Choose mo
| :---------: | :-------------------------------------------: | :----------------------------------------------------------: | :-------: |
| `--xr-mode` | Choose XR input mode | `hand` (**hand tracking**) `controller` (**controller tracking**) | `hand` |
| `--arm` | Choose robot arm type (see 0. 📖 Introduction) | `G1_29` `G1_23` `H1_2` `H1` | `G1_29` |
-| `--ee` | Choose end-effector (see 0. 📖 Introduction) | `dex1` `dex3` `inspire1` | none |
+| `--ee` | Choose end-effector (see 0. 📖 Introduction) | `dex1` `dex3` `inspire1` `brainco` | none |
- **Mode flags**
@@ -316,7 +342,22 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example
If two hands open and close continuously, it indicates success. Once successful, close the `./h1_hand_example` program in Terminal 2.
-## 3.3 🚀 Launch
+## 3.3 ✋ BrainCo Hand Service (Optional)
+
+Please refer to the [official documentation](https://support.unitree.com/home/en/G1_developer/brainco_hand) for setup instructions.
+
+After installation, you need to manually start the services for both dexterous hands. Example commands are shown below (note: the serial port names may vary depending on your system):
+
+```bash
+# Terminal 1.
+sudo ./brainco_hand --id 126 --serial /dev/ttyUSB1
+# Terminal 2.
+sudo ./brainco_hand --id 127 --serial /dev/ttyUSB2
+```
+
+
+
+## 3.4 🚀 Launch
> 
>
@@ -333,7 +374,7 @@ If two hands open and close continuously, it indicates success. Once successful,
Same as simulation but follow the safety warnings above.
-## 3.4 🔚 Exit
+## 3.5 🔚 Exit
> 
>
diff --git a/README_zh-CN.md b/README_zh-CN.md
index 36cc857..cca278b 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -29,15 +29,36 @@
+# 🔖 版本说明
-# 🔖 发布说明
+## 🏷️ v1.1
+
+1. 末端执行器类型新增'brainco',这是[强脑科技第二代灵巧手](https://www.brainco-hz.com/docs/revolimb-hand/)
+2. 为避免与实机部署时发生冲突,将仿真模式下的 dds 通道的domain id修改为1
+3. 修复默认频率过高的问题
+
+## 🏷️ v1.0 (newvuer)
+
+1. 升级 [Vuer](https://github.com/vuer-ai/vuer) 库至 v0.0.60 版本,XR设备支持模式扩展为**手部跟踪**和**控制器跟踪**两种。为更准确反映功能范围,项目由 **avp_teleoperate** 更名为 **xr_teleoperate**。
+
+ 测试设备包括: Apple Vision Pro,Meta Quest 3(含手柄) 与 PICO 4 Ultra Enterprise(含手柄)。
-1. 升级 [Vuer](https://github.com/vuer-ai/vuer) 库,扩展了设备支持模式。为更准确反映功能范围,项目由 **avp_teleoperate** 更名为 **xr_teleoperate**,从最初仅支持 Apple Vision Pro,扩展至兼容 Meta Quest 3(含手柄) 与 PICO 4 Ultra Enterprise(含手柄) 等多款 XR 设备。
2. 对部分功能进行了**模块化**拆分,并通过 Git 子模块(git submodule)方式进行管理和加载,提升代码结构的清晰度与维护性。
+
3. 新增**无头**、**运控**及**仿真**模式,优化启动参数配置(详见第2.2节),提升使用便捷性。**仿真**模式的加入,方便了环境验证和硬件故障排查。
+
4. 将默认手部映射算法从 Vector 切换为 **DexPilot**,优化了指尖捏合的精度与交互体验。
+
5. 其他一些优化
+## 🏷️ v0.5 (oldvuer)
+
+1. 该版本曾经命名为 `avp_teleoperate`
+2. 支持 'G1_29', 'G1_23', 'H1_2', 'H1' 机器人类型
+3. 支持 'dex3', 'gripper', 'inspire1' 末端执行器类型
+4. 仅支持 XR 设备的手部跟踪模式( [Vuer](https://github.com/vuer-ai/vuer) 版本为 v0.0.32RC7),不支持控制器模式
+5. 支持数据录制模式
+
# 0. 📖 介绍
@@ -87,6 +108,10 @@
因时灵巧手
✅ 完成
+
+ 强脑灵巧手
+ ✅ 完成
+
···
···
@@ -94,6 +119,7 @@
+
# 1. 📦 安装
我们在 Ubuntu 20.04 和 Ubuntu 22.04 上测试了我们的代码,其他操作系统可能需要不同的配置。本文档主要介绍常规模式。
@@ -133,9 +159,11 @@
(tv) unitree@Host:~/unitree_sdk2_python$ pip install -e .
```
-> 注意1:原 h1_2 分支中的 [unitree_dds_wrapper](https://github.com/unitreerobotics/unitree_dds_wrapper) 为临时版本,现已全面转换到上述正式的 Python 版控制通信库:[unitree_sdk2_python](https://github.com/unitreerobotics/unitree_sdk2_python)
+> 注意1:在 `xr_teleoperate >= v1.1` 版本中,`unitree_sdk2_python` 仓库的 commit **必须是等于或高于** [404fe44d76f705c002c97e773276f2a8fefb57e4](https://github.com/unitreerobotics/unitree_sdk2_python/commit/404fe44d76f705c002c97e773276f2a8fefb57e4) 版本
+
+> 注意2:原 h1_2 分支中的 [unitree_dds_wrapper](https://github.com/unitreerobotics/unitree_dds_wrapper) 为临时版本,现已全面转换到上述正式的 Python 版控制通信库:[unitree_sdk2_python](https://github.com/unitreerobotics/unitree_sdk2_python)
-> 注意2:命令前面的所有标识符是为了提示:该命令应该在哪个设备和目录下执行。
+> 注意3:命令前面的所有标识符是为了提示:该命令应该在哪个设备和目录下执行。
>
> p.s. 在 Ubuntu 系统 `~/.bashrc` 文件中,默认配置: `PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '`
>
@@ -191,7 +219,7 @@
| :---------: | :----------------------------------------------: | :------------------------------------------------------: | :------: |
| `--xr-mode` | 选择 XR 输入模式(通过什么方式控制机器人) | `hand`(**手势跟踪**) `controller`(**手柄跟踪**) | `hand` |
| `--arm` | 选择机器人设备类型(可参考 0. 📖 介绍) | `G1_29` `G1_23` `H1_2` `H1` | `G1_29` |
-| `--ee` | 选择手臂的末端执行器设备类型(可参考 0. 📖 介绍) | `dex1` `dex3` `inspire1` | 无默认值 |
+| `--ee` | 选择手臂的末端执行器设备类型(可参考 0. 📖 介绍) | `dex1` `dex3` `inspire1` `brainco` | 无默认值 |
- 模式开关参数
@@ -352,7 +380,20 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example
如果两只手连续打开和关闭,则表示成功。一旦成功,即可关闭终端 2 中的 `./h1_hand_example` 程序。
-## 3.3 🚀 启动遥操
+## 3.3 ✋BrainCo 手部服务(可选)
+
+请参考[官方文档](https://support.unitree.com/home/zh/G1_developer/brainco_hand)。安装完毕后,请手动启动两个灵巧手的服务,命令示例如下(串口名称可能与实际有所差别):
+
+```bash
+# Terminal 1.
+sudo ./brainco_hand --id 126 --serial /dev/ttyUSB1
+# Terminal 2.
+sudo ./brainco_hand --id 127 --serial /dev/ttyUSB2
+```
+
+
+
+## 3.4 🚀 启动遥操
> 
>
@@ -368,7 +409,7 @@ unitree@PC2:~/h1_inspire_service/build$ ./h1_hand_example
与仿真部署基本一致,但要注意上述警告事项。
-## 3.4 🔚 退出
+## 3.5 🔚 退出
> 
>
diff --git a/assets/brainco_hand/brainco.yml b/assets/brainco_hand/brainco.yml
new file mode 100644
index 0000000..50d557e
--- /dev/null
+++ b/assets/brainco_hand/brainco.yml
@@ -0,0 +1,61 @@
+left:
+ type: DexPilot # or vector
+ urdf_path: brainco_hand/brainco_left.urdf
+
+ # Target refers to the retargeting target, which is the robot hand
+ target_joint_names:
+ [
+ "left_thumb_metacarpal_joint",
+ "left_thumb_proximal_joint",
+ "left_index_proximal_joint",
+ "left_middle_proximal_joint",
+ "left_ring_proximal_joint",
+ "left_pinky_proximal_joint",
+ ]
+
+ # for DexPilot type
+ wrist_link_name: "base_link"
+ finger_tip_link_names: [ "left_thumb_tip", "left_index_tip", "left_middle_tip", "left_ring_tip", "left_pinky_tip" ]
+ # If you do not know exactly how it is used, please leave it to None for default.
+ target_link_human_indices_dexpilot: [[ 9, 14, 19, 24, 14, 19, 24, 19, 24, 24, 0, 0, 0, 0, 0], [ 4, 4, 4, 4, 9, 9, 9, 14, 14, 19, 4, 9, 14, 19, 24]]
+
+ # for vector type
+ target_origin_link_names: ["base_link", "base_link", "base_link", "base_link", "base_link"]
+ target_task_link_names: [ "left_thumb_tip", "left_index_tip", "left_middle_tip", "left_ring_tip", "left_pinky_tip" ]
+ target_link_human_indices_vector: [ [ 0, 0, 0, 0, 0 ], [ 4, 9, 14, 19, 24 ] ]
+
+ # Scaling factor for vector retargeting only
+ # For example, Allegro is 1.6 times larger than normal human hand, then this scaling factor should be 1.6
+ scaling_factor: 1.00
+ # A smaller alpha means stronger filtering, i.e. more smooth but also larger latency
+ low_pass_alpha: 0.5
+
+right:
+ type: DexPilot # or vector
+ urdf_path: brainco_hand/brainco_right.urdf
+
+ # Target refers to the retargeting target, which is the robot hand
+ target_joint_names:
+ [
+ "right_thumb_metacarpal_joint",
+ "right_thumb_proximal_joint",
+ "right_index_proximal_joint",
+ "right_middle_proximal_joint",
+ "right_ring_proximal_joint",
+ "right_pinky_proximal_joint",
+ ]
+ # for DexPilot type
+ wrist_link_name: "base_link"
+ finger_tip_link_names: [ "right_thumb_tip", "right_index_tip", "right_middle_tip", "right_ring_tip", "right_pinky_tip" ]
+ target_link_human_indices_dexpilot: [[ 9, 14, 19, 24, 14, 19, 24, 19, 24, 24, 0, 0, 0, 0, 0], [ 4, 4, 4, 4, 9, 9, 9, 14, 14, 19, 4, 9, 14, 19, 24]]
+
+ # for vector type
+ target_origin_link_names: ["base_link", "base_link", "base_link", "base_link", "base_link"]
+ target_task_link_names: [ "right_thumb_tip", "right_index_tip", "right_middle_tip", "right_ring_tip", "right_pinky_tip" ]
+ target_link_human_indices_vector: [ [ 0, 0, 0, 0, 0 ], [ 4, 9, 14, 19, 24 ] ]
+
+ # Scaling factor for vector retargeting only
+ # For example, Allegro is 1.6 times larger than normal human hand, then this scaling factor should be 1.6
+ scaling_factor: 1.00
+ # A smaller alpha means stronger filtering, i.e. more smooth but also larger latency
+ low_pass_alpha: 0.5
diff --git a/assets/brainco_hand/brainco_left.urdf b/assets/brainco_hand/brainco_left.urdf
new file mode 100644
index 0000000..e6a8b14
--- /dev/null
+++ b/assets/brainco_hand/brainco_left.urdf
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/brainco_hand/brainco_right.urdf b/assets/brainco_hand/brainco_right.urdf
new file mode 100644
index 0000000..8551841
--- /dev/null
+++ b/assets/brainco_hand/brainco_right.urdf
@@ -0,0 +1,618 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/brainco_hand/meshes/left_base_link.STL b/assets/brainco_hand/meshes/left_base_link.STL
new file mode 100644
index 0000000000000000000000000000000000000000..f8aee102876e6b153d3df1cf7d1e3d5211662b80
GIT binary patch
literal 2518884
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