Browse Source

[update] tag v1.3

main
silencht 6 months ago
parent
commit
4e8dd0df65
  1. 55
      CHANGELOG.md
  2. 53
      CHANGELOG_zh-CN.md
  3. 303
      Device.md
  4. 303
      Device_zh-CN.md
  5. 116
      README.md
  6. 117
      README_zh-CN.md
  7. 4
      assets/brainco_hand/brainco.yml
  8. 2
      teleop/utils/ipc.py

55
CHANGELOG.md

@ -0,0 +1,55 @@
# 🔖 Release Note
## 🏷️ v1.3
- add [![Unitree LOGO](https://camo.githubusercontent.com/ff307b29fe96a9b115434a450bb921c2a17d4aa108460008a88c58a67d68df4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d57696b692d3138313731373f6c6f676f3d676974687562)](https://github.com/unitreerobotics/xr_teleoperate/wiki) [![Unitree LOGO](https://camo.githubusercontent.com/6f5253a8776090a1f89fa7815e7543488a9ec200d153827b4bc7c3cb5e1c1555/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d446973636f72642d3538363546323f7374796c653d666c6174266c6f676f3d446973636f7264266c6f676f436f6c6f723d7768697465)](https://discord.gg/ZwcVwxv5rq)
- Support **IPC mode**, defaulting to use SSHKeyboard for input control.
- Merged motion mode support for H1_2 robot.
- Merged motion mode support for the G1_23 robot arm.
------
- Optimized data recording functionality.
- Improved gripper usage in simulation environment.
------
- Fixed startup oscillation by initializing IK before controller activation.
- Fixed SSHKeyboard stop-listening bug.
- Fixed logic of the start button.
- Fixed various bugs in simulation mode.
## 🏷️ v1.2
1. Upgrade the Dex1_1 gripper control code to be compatible with the [dex1_1 service](https://github.com/unitreerobotics/dex1_1_service) driver.
## 🏷️ 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 integrated **Git submodules** (`git submodule`) to improve code clarity and maintainability.
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 retargeting algorithm from *Vector* to **DexPilot**, enhancing the precision and intuitiveness of fingertip pinching interactions.
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.

53
CHANGELOG_zh-CN.md

@ -0,0 +1,53 @@
# 🔖 版本说明
## 🏷️ v1.3
- 添加 [![Unitree LOGO](https://camo.githubusercontent.com/ff307b29fe96a9b115434a450bb921c2a17d4aa108460008a88c58a67d68df4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d57696b692d3138313731373f6c6f676f3d676974687562)](https://github.com/unitreerobotics/xr_teleoperate/wiki) [![Unitree LOGO](https://camo.githubusercontent.com/6f5253a8776090a1f89fa7815e7543488a9ec200d153827b4bc7c3cb5e1c1555/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d446973636f72642d3538363546323f7374796c653d666c6174266c6f676f3d446973636f7264266c6f676f436f6c6f723d7768697465)](https://discord.gg/ZwcVwxv5rq)
- 支持 **IPC 模式**,默认使用 SSHKeyboard 进行输入控制。
- 合并 **H1_2** 机器人新增运动模式支持。
- 合并 **G1_23** 机械臂新增运动模式支持。
------
- 优化了数据记录功能。
- 改进了仿真环境中的夹持器(gripper)使用体验。
------
- 通过在控制器启动前初始化 IK,修复了启动时的抖动问题。
- 修复了 SSHKeyboard 停止监听的 bug。
- 修复了启动按钮逻辑错误。
- 修复了仿真模式中的若干 bug。
## 🏷️ v1.2
1. 升级Dex1_1夹爪控制代码,匹配 [dex1_1 service](https://github.com/unitreerobotics/dex1_1_service) 驱动
## 🏷️ 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(含手柄)。
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. 支持数据录制模式

303
Device.md

@ -0,0 +1,303 @@
# 5. 🛠️ Hardware
## 5.1 🎮 Teleoperation Devices
> The following items are required for teleoperation.
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%;">
<tr>
<th style="text-align: center;">Item</th>
<th style="text-align: center;">Quantity</th>
<th style="text-align: center;">Specification</th>
<th style="text-align: center;">Remarks</th>
</tr>
<tr>
<td style="text-align: center;"><b>Unitree General Humanoid Robot G1</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;"><a href="https://www.unitree.com/cn/g1">https://www.unitree.com/cn/g1</a></td>
<td style="text-align: center;">Developer computing unit version required</td>
</tr>
<tr>
<td style="text-align: center;"><b>XR Device</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
<a href="https://www.apple.com.cn/apple-vision-pro/">apple-vision-pro</a><br />
<a href="https://www.picoxr.com/products/pico4-ultra-enterprise">pico4-ultra-enterprise</a><br />
<a href="https://www.meta.com/quest/quest-3">quest-3</a><br />
<a href="https://www.meta.com/quest/quest-3s/">quest-3s</a><br />
</td>
<td style="text-align: center;">
<a href="https://github.com/unitreerobotics/xr_teleoperate/wiki/XR_Device">Please refer to our WiKi [XR_Device]</a>
</td>
</tr>
<tr>
<td style="text-align: center;"><b>Router</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Recommended: at least WiFi6 support</td>
<td style="text-align: center;">Required in wired mode; optional in wireless mode.</td>
</tr>
<tr>
<td style="text-align: center;"><b>User Computer</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Recommended x86-64 architecture</td>
<td style="text-align: center;">
For simulation mode, please follow
<a href="https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/requirements.html">NVIDIA official hardware recommendations</a>
for deployment.
</td>
</tr>
<tr>
<td style="text-align: center;"><b>Head Camera</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
Monocular camera (built-in Realsense D435i)<br />
Stereo camera (external mount, see details at chapter 5.2)
</td>
<td style="text-align: center;">
Used for robot head perspective, stereo camera provides more immersion.<br />
Driven by <a href="https://github.com/unitreerobotics/xr_teleoperate/tree/main/teleop/image_server">image_server</a>
</td>
</tr>
<tr>
<td style="text-align: center;">USB3.0 Cable</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
Type-C double straight connectors, about 0.2m length
</td>
<td style="text-align: center;">
For connecting the stereo head camera
</td>
</tr>
</table>
## 5.2 💽 Data Collection Devices
> The following items are optional devices for recording [datasets](https://huggingface.co/unitreerobotics). Parameters, links, etc. are for **reference only**.
### 5.2.1 Stereo Camera 60 FPS
- Materials
> Compared with the camera in Section 5.2.2, this one increases the frame rate from 30 FPS to 60 FPS, and its mounting dimensions differ.
| Item | Quantity | Specification | Remarks |
| :---------------: | :------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| Stereo RGB Camera | 1 | [60FPS, 125°FOV, 60mm baseline](https://e.tb.cn/h.S2zMNwiUzC9I2H1) | For robot head perspective |
| M4x16mm Screws | 2 | [Reference](https://amzn.asia/d/cfta55x) | For fastening camera bracket |
| M2x5mm/6mm Screws | 8 | [Reference](https://amzn.asia/d/1msRa5B) | For fastening (camera - camera mount) and (camera mount - camera cover) |
- 3D Printing Parts
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<tr>
<th>Item</th>
<th>Camera Bracket</th>
<th>Camera Cover Plate</th>
<th>USB-Type-C Clamp</th>
<th>Download Link</th>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/e5ca0cc978cb4b48b693869bbc0e2a36_1023x885.png" style="max-width:45%; margin-bottom:5px;"/><br />
<b>Classic Head (98mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td align="center"><img src="https://oss-global-cdn.unitree.com/static/ea8edf0b4dd54ea792935eee9b70f550_1443x641.png" style="max-width:30%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/477103c571dc46f99ec6e0b57b3b3be6.zip">📥 Classic 3D Printing Parts</a></td>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/af9f379642e044bc9e88040b2c33a4c4_1110x904.png" style="max-width:50%; margin-bottom:5px;"/><br />
<b>Renewed Head (88mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td align="center"><img src="https://oss-global-cdn.unitree.com/static/ea8edf0b4dd54ea792935eee9b70f550_1443x641.png" style="max-width:30%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/950f53b95d5943589e278241b59c86ff.zip">📥 Renewed 3D Printing Parts</a></td>
</tr>
</table>
### 5.2.2 Stereo Camera 30 FPS
- Materials
| Item | Quantity | Specification | Remarks |
| :---------------: | :------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| Stereo Camera | 1 | [30FPS, 125°FOV, 60mm baseline](http://e.tb.cn/h.TaZxgkpfWkNCakg) | For robot head perspective |
| M4x16mm Screws | 2 | [Reference](https://amzn.asia/d/cfta55x) | For fastening camera bracket |
| M2x5mm/6mm Screws | 8 | [Reference](https://amzn.asia/d/1msRa5B) | For fastening (camera - camera mount) and (camera mount - camera cover) |
- 3D Printing Parts
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 30%;">
</colgroup>
<tr>
<th>Item</th>
<th>Camera Bracket</th>
<th>Camera Cover Plate</th>
<th>Download Link</th>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/e5ca0cc978cb4b48b693869bbc0e2a36_1023x885.png" style="max-width:45%; margin-bottom:5px;"/><br />
<b>Classic Head (98mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td>None</td>
<td><a href="https://oss-global-cdn.unitree.com/static/39dea40900784b199bcba31e72c906b9.zip">📥 Classic 3D Printing Parts</a></td>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/af9f379642e044bc9e88040b2c33a4c4_1110x904.png" style="max-width:50%; margin-bottom:5px;"/><br />
<b>Renewed Head (88mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/58e300cc99da48f4a4977998c48cefa3.zip">📥 Renewed 3D Printing Parts</a></td>
</tr>
</table>
### 5.2.3 G1 Wrist RealSense D405
> RealSense D405 is recommended only for [Unitree Dex3-1](https://www.unitree.com/Dex3-1) end-effector use.
- Materials
| Item | Quantity | Specification | Remarks |
| :------------: | :------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| RealSense D405 | 2 | [Website](https://www.intelrealsense.com/depth-camera-d405/) | For G1 robot wrist (M4010 motors) left & right perspectives |
| USB3.0 Hub | 1 | [Issue](https://github.com/IntelRealSense/librealsense/issues/24) | Choose a high-quality hub; recommended to connect to [Type-C #9](https://support.unitree.com/home/en/G1_developer/about_G1) |
| M3-1 Hex Nut | 4 | [Reference](https://a.co/d/gQaLtHD) | For wrist fastening |
| M3x12 Screw | 4 | [Reference](https://amzn.asia/d/aU9NHSf) | For wrist fastening |
| M3x6 Screw | 4 | [Reference](https://amzn.asia/d/0nEz5dJ) | For wrist fastening |
- 3D Printing Parts
| Item | Quantity | Remarks | Download Link |
| :----------------------: | :------: | :----------------------------: | :----------------------------------------------------------: |
| D405 Wrist Ring | 2 | To be used with wrist mount | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/wrist_ring_mount.STEP) |
| Left Wrist Camera Mount | 1 | For mounting left D405 camera | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/left_wrist_D405_camera_mount.STEP) |
| Right Wrist Camera Mount | 1 | For mounting right D405 camera | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/right_wrist_D405_camera_mount.STEP) |
### 5.2.4 G1 Wrist Monocular Camera
- Materials
| Item | Quantity | Specification | Remarks |
| :---------------: | :------: | :----------------------------------------------------------: | :------------------------------------------------: |
| Monocular Camera | 2 | [60FPS, 160° FOV](https://e.tb.cn/h.S2YWUJan6ZP8Wqv?tk=MqHK4uvWlLk) | For G1 robot wrist (M4010 motors) left & right |
| USB3.0 Hub | 1 | [Reference](https://e.tb.cn/h.S2QB8hVuKbNfqb9?tk=XsBL4uwn2Ch) | For connecting two wrist cameras |
| M3-1 Hex Nut | 4 | [Reference](https://a.co/d/gQaLtHD) | For wrist fastening |
| M3x12 Screw | 4 | [Reference](https://amzn.asia/d/aU9NHSf) | For fastening wrist mount and ring |
| M2.5x5 Screw | 4 | [Reference](https://amzn.asia/d/0nEz5dJ) | For fastening cable clip and wrist bracket |
| M2x5mm/6mm Screws | 8 | [Reference](https://amzn.asia/d/1msRa5B) | For fastening (camera-bracket) and (bracket-cover) |
- 3D Printing Parts
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<tr>
<th>End-Effector</th>
<th>Camera Mount</th>
<th>Wrist Ring</th>
<th>Camera Cover Plate</th>
<th>Cable Clip</th>
<th>Download Link</th>
</tr>
<tr>
<td><a href="https://www.unitree.com/Dex1-1">Unitree Dex1-1</a></td>
<td><img src="https://oss-global-cdn.unitree.com/static/e21bd12e56b8442cb460aae93ca85443_1452x1047.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/d867000b2cd6496595e5ca373b9e39a9_1133x683.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/eb98c4f275db4d86b94e77746589cd94_1361x712.png" width="120"/></td>
<td rowspan="3" valign="middle">
<img src="https://oss-global-cdn.unitree.com/static/feefe9b679c34c5b8e88274174e23266_1095x689.png" width="120"/>
</td>
<td rowspan="3" valign="middle">
<a href="https://oss-global-cdn.unitree.com/static/ff287f8f700948b5a30e3f4331a46b51.zip">📥 Download 3D Printing Parts</a>
</td>
</tr>
<tr>
<td><a href="https://www.unitree.com/Dex3-1">Unitree Dex3-1</a></td>
<td><img src="https://oss-global-cdn.unitree.com/static/69e27c2433694c609f47f8c87265de90_893x741.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/8d49682d9f4a49cdbcfba8660de88b81_982x588.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/901421b01ca440d8bb8459feed1e42ff_1168x754.png" width="120"/></td>
</tr>
<tr>
<td>
<a href="https://support.unitree.com/home/en/G1_developer/inspire_dfx_dexterous_hand">Inspire DFX Hand</a> /
<a href="https://support.unitree.com/home/en/G1_developer/brainco_hand">Brainco Hand</a>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/b83d56bd28e64ccfb6c30bdcedfb536d_801x887.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/763521d9313e4648b9dd23a3c11d8291_752x906.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/68ed3a1ef0434801adbb73f2f45799e8_808x865.png" width="120"/></td>
</tr>
</table>
## 5.3 🔨 Installation Illustrations (Partial)
<table>
<tr>
<th align="center">Item</th>
<th align="center" colspan="2">Simulation</th>
<th align="center" colspan="2">Real Device</th>
</tr>
<tr>
<td align="center">Head</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount.png" alt="head" width="100%">
<figcaption>Head Bracket</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount_install.png" alt="head" width="80%">
<figcaption>Assembly Side View</figcaption>
</p>
</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/real_head.jpg" alt="head" width="20%">
<figcaption>Assembly Front View</figcaption>
</p>
</td>
</tr>
<tr>
<td align="center">Wrist</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/wrist_and_ring_mount.png" alt="wrist" width="100%">
<figcaption>Wrist Ring & Camera Mount</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_left_hand.jpg" alt="wrist" width="50%">
<figcaption>Assembly Left Hand</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_right_hand.jpg" alt="wrist" width="50%">
<figcaption>Assembly Right Hand</figcaption>
</p>
</td>
</tr>
</table>
> Note: As shown in the red circles, the wrist ring bracket must align with the wrist joint seam.

303
Device_zh-CN.md

@ -0,0 +1,303 @@
# 5. 🛠️ 硬件
## 5.1 🎮 遥操作设备
> 下方项目是遥操作时需要使用的设备。
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%;">
<tr>
<th style="text-align: center;">项目</th>
<th style="text-align: center;">数量</th>
<th style="text-align: center;">规格</th>
<th style="text-align: center;">备注</th>
</tr>
<tr>
<td style="text-align: center;"><b>宇树通用人形机器人 G1</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;"><a href="https://www.unitree.com/cn/g1">https://www.unitree.com/cn/g1</a></td>
<td style="text-align: center;">需选配开发计算单元版本</td>
</tr>
<tr>
<td style="text-align: center;"><b>XR 设备</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
<a href="https://www.apple.com.cn/apple-vision-pro/">apple-vision-pro</a><br />
<a href="https://www.picoxr.com/products/pico4-ultra-enterprise">pico4-ultra-enterprise</a><br />
<a href="https://www.meta.com/quest/quest-3">quest-3</a><br />
<a href="https://www.meta.com/quest/quest-3s/">quest-3s</a><br />
</td>
<td style="text-align: center;">
<a href="https://github.com/unitreerobotics/xr_teleoperate/wiki/XR_Device">Please Refer Our WiKi [XR_Device]</a>
</td>
</tr>
<tr>
<td style="text-align: center;"><b>路由器</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">推荐至少支持 WiFi6</td>
<td style="text-align: center;">常规模式必须,无线模式可选。</td>
</tr>
<tr>
<td style="text-align: center;"><b>用户电脑</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">推荐 x86-64 架构</td>
<td style="text-align: center;">
仿真模式下请使用
<a href="https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/requirements.html"> NVIDIA 官方推荐</a>
的硬件资源进行部署使用
</td>
</tr>
<tr>
<td style="text-align: center;"><b>头部相机</b></td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
单目相机(机器人内置 Realsense D435i)<br />
双目相机(支架外置,详情见5.2节表格)
</td>
<td style="text-align: center;">
用于机器人头部视野,双目相机更有沉浸感。<br />
使用 <a href="https://github.com/unitreerobotics/xr_teleoperate/tree/main/teleop/image_server">image_server</a> 文件驱动
</td>
</tr>
<tr>
<td style="text-align: center;">USB3.0 数据线</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">
双直头Type-C,长度0.2米左右
</td>
<td style="text-align: center;">
用于连接头部双目相机
</td>
</tr>
</table>
## 5.2 💽 数据采集设备
> 下方项目是录制[数据集](https://huggingface.co/unitreerobotics)时的可选设备。设备参数、链接等信息**仅供参考**。
### 5.2.1 双目相机 60 FPS
- 物料
> 该相机与 5.2.2节相机区别是帧率从 30FPS 提升至 60FPS,且安装尺寸有所变化。
| 项目 | 数量 | 规格 | 备注 |
| :------------------: | :--: | :----------------------------------------------------------: | :----------------------------------------------: |
| 双目RGB相机 | 1 | [60FPS、125°FOV、60mm基线](https://e.tb.cn/h.S2zMNwiUzC9I2H1) | 用于机器人头部视角 |
| M4x16mm 螺钉 | 2 | [仅供参考](https://amzn.asia/d/cfta55x) | 用于相机支架紧固 |
| M2x5mm / 6mm自攻螺钉 | 8 | [仅供参考](https://amzn.asia/d/1msRa5B) | 用于紧固(相机-相机支架)和(相机支架-相机盖板) |
- 3D打印件
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<colgroup>
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 20%;">
</colgroup>
<tr>
<th>项目</th>
<th>相机支架</th>
<th>相机盖板</th>
<th>USB-Type-C 压块</th>
<th>下载链接</th>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/e5ca0cc978cb4b48b693869bbc0e2a36_1023x885.png" style="max-width:45%; margin-bottom:5px;"/><br />
<b>经典版头部(98mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td align="center"><img src="https://oss-global-cdn.unitree.com/static/ea8edf0b4dd54ea792935eee9b70f550_1443x641.png" style="max-width:30%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/477103c571dc46f99ec6e0b57b3b3be6.zip">📥 经典版3D打印结构件</a></td>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/af9f379642e044bc9e88040b2c33a4c4_1110x904.png" style="max-width:50%; margin-bottom:5px;"/><br />
<b>焕新版头部(88mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td align="center"><img src="https://oss-global-cdn.unitree.com/static/ea8edf0b4dd54ea792935eee9b70f550_1443x641.png" style="max-width:30%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/950f53b95d5943589e278241b59c86ff.zip">📥 焕新版3D打印结构件</a></td>
</tr>
</table>
### 5.2.2 双目相机 30 FPS
- 物料
| 项目 | 数量 | 规格 | 备注 |
| :------------------: | :--: | :----------------------------------------------------------: | :----------------------------------------------: |
| 双目相机 | 1 | [30FPS、125°FOV、60mm基线](http://e.tb.cn/h.TaZxgkpfWkNCakg) | 用于机器人头部视角 |
| M4x16mm 螺钉 | 2 | [仅供参考](https://amzn.asia/d/cfta55x) | 用于相机支架紧固 |
| M2x5mm / 6mm自攻螺钉 | 8 | [仅供参考](https://amzn.asia/d/1msRa5B) | 用于紧固(相机-相机支架)和(相机支架-相机盖板) |
- 3D打印件
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<colgroup>
<col style="width: 20%;">
<col style="width: 25%;">
<col style="width: 25%;">
<col style="width: 30%;">
</colgroup>
<tr>
<th>项目</th>
<th>相机支架</th>
<th>相机盖板</th>
<th>下载链接</th>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/e5ca0cc978cb4b48b693869bbc0e2a36_1023x885.png" style="max-width:45%; margin-bottom:5px;"/><br />
<b>经典版头部(98mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td></td>
<td><a href="https://oss-global-cdn.unitree.com/static/39dea40900784b199bcba31e72c906b9.zip">📥 经典版3D打印结构件</a></td>
</tr>
<tr>
<td>
<img src="https://oss-global-cdn.unitree.com/static/af9f379642e044bc9e88040b2c33a4c4_1110x904.png" style="max-width:50%; margin-bottom:5px;"/><br />
<b>焕新版头部(88mm)</b>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/d8b0d8faa2d94a84a292bc4c26c65f2a_1920x1080.png" style="max-width:100%;"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/caa6e17e8fba45b1a53c9109e9a6a9a4_1509x849.png" style="max-width:50%;"/></td>
<td><a href="https://oss-global-cdn.unitree.com/static/58e300cc99da48f4a4977998c48cefa3.zip">📥 焕新版3D打印结构件</a></td>
</tr>
</table>
### 5.2.3 G1 腕部 RealSense D405
> RealSense D405 仅推荐 [Unitree Dex3-1](https://www.unitree.com/Dex3-1) 末端执行器使用
- 物料
| 项目 | 数量 | 规格 | 备注 |
| :-----------------: | :--: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| RealSense D405 相机 | 2 | [Website](https://www.intelrealsense.com/depth-camera-d405/) | 用于G1机器人(M4010腕部电机)左右腕部视角 |
| USB3.0 Hub | 1 | [Issue](https://github.com/IntelRealSense/librealsense/issues/24) | 注意选用优质Hub以满足realsense相机需求;<br />推荐连接至 [9号Type-C接口](https://support.unitree.com/home/en/G1_developer/about_G1) |
| M3-1 六角螺母 | 4 | [仅供参考](https://a.co/d/gQaLtHD) | 用于紧固腕部 |
| M3x12 螺钉 | 4 | [仅供参考](https://amzn.asia/d/aU9NHSf) | 用于紧固腕部 |
| M3x6 螺钉 | 4 | [仅供参考](https://amzn.asia/d/0nEz5dJ) | 用于紧固腕部 |
- 3D打印件
| 项目 | 数量 | 备注 | 下载链接 |
| :---------------: | :--: | :--------------------: | :----------------------------------------------------------: |
| D405 相机腕圈支架 | 2 | 与腕部相机支架搭配使用 | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/wrist_ring_mount.STEP) |
| 左腕相机支架 | 1 | 用于装配左腕D405相机 | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/left_wrist_D405_camera_mount.STEP) |
| 右腕相机支架 | 1 | 用于装配右腕D405相机 | [📥 STEP](https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/right_wrist_D405_camera_mount.STEP) |
### 5.2.4 G1 腕部单目相机
- 物料
| 项目 | 数量 | 规格 | 备注 |
| :------------------: | :--: | :----------------------------------------------------------: | :----------------------------------------------: |
| 单目相机 | 2 | [60FPS、160° FOV](https://e.tb.cn/h.S2YWUJan6ZP8Wqv?tk=MqHK4uvWlLk) | 用于G1机器人(M4010腕部电机)左右腕部视角 |
| USB3.0 Hub | 1 | [仅供参考](https://e.tb.cn/h.S2QB8hVuKbNfqb9?tk=XsBL4uwn2Ch) | 用于连接两路腕部相机 |
| M3-1 六角螺母 | 4 | [仅供参考](https://a.co/d/gQaLtHD) | 用于腕部紧固件 |
| M3x12 螺钉 | 4 | [仅供参考](https://amzn.asia/d/aU9NHSf) | 用于紧固腕部支架和腕圈 |
| M2.5x5 自攻螺钉 | 4 | [仅供参考](https://amzn.asia/d/0nEz5dJ) | 用于紧固线卡和腕部支架 |
| M2x5mm / 6mm自攻螺钉 | 8 | [仅供参考](https://amzn.asia/d/1msRa5B) | 用于紧固(相机-相机支架)和(相机支架-相机盖板) |
- 3D打印件
<table border="1" cellspacing="0" cellpadding="5" style="border-collapse: collapse; width: 100%; text-align: center;">
<tr>
<th>末端执行器</th>
<th>相机支架</th>
<th>腕圈支架</th>
<th>相机盖板</th>
<th>线卡</th>
<th>下载链接</th>
</tr>
<tr>
<td><a href="https://www.unitree.com/Dex1-1">Unitree Dex1-1</a></td>
<td><img src="https://oss-global-cdn.unitree.com/static/e21bd12e56b8442cb460aae93ca85443_1452x1047.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/d867000b2cd6496595e5ca373b9e39a9_1133x683.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/eb98c4f275db4d86b94e77746589cd94_1361x712.png" width="120"/></td>
<td rowspan="3" valign="middle">
<img src="https://oss-global-cdn.unitree.com/static/feefe9b679c34c5b8e88274174e23266_1095x689.png" width="120"/>
</td>
<td rowspan="3" valign="middle">
<a href="https://oss-global-cdn.unitree.com/static/ff287f8f700948b5a30e3f4331a46b51.zip">📥 3D打印件下载链接</a>
</td>
</tr>
<tr>
<td><a href="https://www.unitree.com/Dex3-1">Unitree Dex3-1</a></td>
<td><img src="https://oss-global-cdn.unitree.com/static/69e27c2433694c609f47f8c87265de90_893x741.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/8d49682d9f4a49cdbcfba8660de88b81_982x588.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/901421b01ca440d8bb8459feed1e42ff_1168x754.png" width="120"/></td>
</tr>
<tr>
<td>
<a href="https://support.unitree.com/home/en/G1_developer/inspire_dfx_dexterous_hand">Inspire DFX Hand</a> /
<a href="https://support.unitree.com/home/en/G1_developer/brainco_hand">Brainco Hand</a>
</td>
<td><img src="https://oss-global-cdn.unitree.com/static/b83d56bd28e64ccfb6c30bdcedfb536d_801x887.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/763521d9313e4648b9dd23a3c11d8291_752x906.png" width="120"/></td>
<td><img src="https://oss-global-cdn.unitree.com/static/68ed3a1ef0434801adbb73f2f45799e8_808x865.png" width="120"/></td>
</tr>
</table>
## 5.3 🔨 安装示意图(部分)
<table>
<tr>
<th align="center">项目</th>
<th align="center" colspan="2">仿真</th>
<th align="center" colspan="2">实物</th>
</tr>
<tr>
<td align="center">头部</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount.png" alt="head" width="100%">
<figcaption>头部支架</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount_install.png" alt="head" width="80%">
<figcaption>装配侧视</figcaption>
</p>
</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/real_head.jpg" alt="head" width="20%">
<figcaption>装配正视</figcaption>
</p>
</td>
</tr>
<tr>
<td align="center">腕部</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/wrist_and_ring_mount.png" alt="wrist" width="100%">
<figcaption>腕圈及相机支架</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_left_hand.jpg" alt="wrist" width="50%">
<figcaption>装配左手</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_right_hand.jpg" alt="wrist" width="50%">
<figcaption>装配右手</figcaption>
</p>
</td>
</tr>
</table>
> 注意:如图中红圈所示,腕圈支架与机器人手腕接缝对齐。

116
README.md

@ -34,43 +34,17 @@
</p>
# 🔖 Release Note
# 🔖[Release Note](CHANGELOG.md)
## 🏷️ v1.2
## 🏷️ v1.3
1. Upgrade the Dex1_1 gripper control code to be compatible with the [dex1_1 service](https://github.com/unitreerobotics/dex1_1_service) driver.
## 🏷️ 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 integrated **Git submodules** (`git submodule`) to improve code clarity and maintainability.
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 retargeting algorithm from *Vector* to **DexPilot**, enhancing the precision and intuitiveness of fingertip pinching interactions.
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.
- add [![Unitree LOGO](https://camo.githubusercontent.com/ff307b29fe96a9b115434a450bb921c2a17d4aa108460008a88c58a67d68df4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d57696b692d3138313731373f6c6f676f3d676974687562)](https://github.com/unitreerobotics/xr_teleoperate/wiki) [![Unitree LOGO](https://camo.githubusercontent.com/6f5253a8776090a1f89fa7815e7543488a9ec200d153827b4bc7c3cb5e1c1555/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d446973636f72642d3538363546323f7374796c653d666c6174266c6f676f3d446973636f7264266c6f676f436f6c6f723d7768697465)](https://discord.gg/ZwcVwxv5rq)
- Support **IPC mode**, defaulting to use SSHKeyboard for input control.
- Merged motion mode support for H1_2 robot.
- Merged motion mode support for the G1_23 robot arm.
- ···
# 0. 📖 Introduction
@ -452,81 +426,7 @@ xr_teleoperate/
# 5. 🛠️ Hardware
## 5.1 📋 Parts List
| Item | Quantity | Link(s) | Remarks |
| :--------------------------: | :------: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| **humanoid robot** | 1 | https://www.unitree.com | With development computing unit |
| **XR device** | 1 | https://www.apple.com/apple-vision-pro/<br/>https://www.meta.com/quest/quest-3<br/>https://www.picoxr.com/products/pico4-ultra-enterprise | |
| **Router** | 1 | | Required for **default mode**; **wireless mode** not need. |
| **User PC** | 1 | | In **simulation mode**, please use the [officially recommended](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/requirements.html) hardware resources for deployment. |
| **Head stereo camera** | 1 | [For reference only] http://e.tb.cn/h.TaZxgkpfWkNCakg?tk=KKz03Kyu04u | For robot head view |
| **Head camera mount** | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/head_stereo_camera_mount.STEP | For mounting head stereo camera |
| Intel RealSense D405 camera | 2 | https://www.intelrealsense.com/depth-camera-d405/ | For wrist |
| Wrist ring mount | 2 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/wrist_ring_mount.STEP | Used with wrist camera mount |
| Left wrist D405 mount | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/left_wrist_D405_camera_mount.STEP | For mounting left wrist RealSense D405 camera |
| Right wrist D405 mount | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/right_wrist_D405_camera_mount.STEP | For mounting right wrist RealSense D405 camera |
| M3-1 hex nuts | 4 | [For reference only] https://a.co/d/1opqtOr | For Wrist fastener |
| M3x12 screws | 4 | [For reference only] https://amzn.asia/d/aU9NHSf | For Wrist fastener |
| M3x6 screws | 4 | [For reference only] https://amzn.asia/d/0nEz5dJ | For Wrist fastener |
| **M4x14 screws** | 2 | [For reference only] https://amzn.asia/d/cfta55x | For head fastener |
| **M2x4 self‑tapping screws** | 4 | [For reference only] https://amzn.asia/d/1msRa5B | For head fastener |
> Note: The bolded items are essential equipment for teleoperation tasks, while the other items are optional equipment for recording [datasets](https://huggingface.co/unitreerobotics).
## 5.2 🔨 Mounting Diagrams
<table>
<tr>
<th align="center">Item</th>
<th align="center" colspan="2">Simulation</th>
<th align="center" colspan="2">Real</th>
</tr>
<tr>
<td align="center">Head</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount.png" alt="head" width="100%">
<figcaption>Head Mount</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount_install.png" alt="head" width="80%">
<figcaption>Side View of Assembly</figcaption>
</p>
</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/real_head.jpg" alt="head" width="20%">
<figcaption>Front View of Assembly</figcaption>
</p>
</td>
</tr>
<tr>
<td align="center">Wrist</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/wrist_and_ring_mount.png" alt="wrist" width="100%">
<figcaption>Wrist Ring and Camera Mount</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_left_hand.jpg" alt="wrist" width="50%">
<figcaption>Left Hand Assembly</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_right_hand.jpg" alt="wrist" width="50%">
<figcaption>Right Hand Assembly</figcaption>
</p>
</td>
</tr>
</table>
> Note: The wrist ring mount should align with the seam of the robot's wrist, as shown by the red circle in the image.
please see [Device document](Device.md).

117
README_zh-CN.md

@ -34,41 +34,17 @@
</p>
# 🔖 版本说明
# 🔖 [版本说明](CHANGELOG_zh-CN.md)
## 🏷️ v1.2
## 🏷️ v1.3
1. 升级Dex1_1夹爪控制代码,匹配 [dex1_1 service](https://github.com/unitreerobotics/dex1_1_service) 驱动
## 🏷️ 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(含手柄)。
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. 支持数据录制模式
- 添加 [![Unitree LOGO](https://camo.githubusercontent.com/ff307b29fe96a9b115434a450bb921c2a17d4aa108460008a88c58a67d68df4e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769744875622d57696b692d3138313731373f6c6f676f3d676974687562)](https://github.com/unitreerobotics/xr_teleoperate/wiki) [![Unitree LOGO](https://camo.githubusercontent.com/6f5253a8776090a1f89fa7815e7543488a9ec200d153827b4bc7c3cb5e1c1555/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d446973636f72642d3538363546323f7374796c653d666c6174266c6f676f3d446973636f7264266c6f676f436f6c6f723d7768697465)](https://discord.gg/ZwcVwxv5rq)
- 支持 **IPC 模式**,默认使用 SSHKeyboard 进行输入控制。
- 合并 **H1_2** 机器人新增运动模式支持。
- 合并 **G1_23** 机械臂新增运动模式支持。
- ···
# 0. 📖 介绍
@ -486,84 +462,7 @@ xr_teleoperate/
# 5. 🛠️ 硬件
## 5.1 📋 清单
| 项目 | 数量 | 链接 | 备注 |
| :-----------------------: | :--: | :----------------------------------------------------------: | :----------------------------------------------------------: |
| **宇树通用人形机器人 G1** | 1 | https://www.unitree.com/cn/g1 | 需选配开发计算单元版本 |
| **XR 设备** | 1 | https://www.apple.com.cn/apple-vision-pro/<br />https://www.meta.com/quest/quest-3<br />https://www.picoxr.com/products/pico4-ultra-enterprise | |
| 路由器 | 1 | | 常规模式必须,无线模式不需要 |
| **用户电脑** | 1 | | 仿真模式下请使用[官方推荐](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/requirements.html)的硬件资源进行部署使用 |
| **头部双目相机** | 1 | [仅供参考] http://e.tb.cn/h.TaZxgkpfWkNCakg?tk=KKz03Kyu04u | 用于机器人头部视野 |
| **头部相机支架** | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/head_stereo_camera_mount.STEP | 用于装配头部相机 |
| 英特尔 RealSense D405相机 | 2 | https://www.intelrealsense.com/depth-camera-d405/ | 用于腕部灵巧操作视野 |
| 腕部相机环形支架 | 2 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/wrist_ring_mount.STEP | 与腕部相机支架搭配使用 |
| 左腕相机支架 | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/left_wrist_D405_camera_mount.STEP | 用于装配左腕D405相机 |
| 右腕相机支架 | 1 | https://github.com/unitreerobotics/xr_teleoperate/blob/g1/hardware/right_wrist_D405_camera_mount.STEP | 用于装配右腕D405相机 |
| M3-1 六角螺母 | 4 | [仅供参考] https://a.co/d/gQaLtHD | 用于腕部紧固件 |
| M3x12 螺钉 | 4 | [仅供参考] https://amzn.asia/d/aU9NHSf | 用于腕部紧固件 |
| M3x6 螺钉 | 4 | [仅供参考] https://amzn.asia/d/0nEz5dJ | 用于腕部紧固件 |
| **M4x14 螺钉** | 2 | [仅供参考] https://amzn.asia/d/cfta55x | 用于头部紧固件 |
| **M2x4 自攻螺钉** | 4 | [仅供参考] https://amzn.asia/d/1msRa5B | 用于头部紧固件 |
> 注意:加粗项目是进行遥操作任务时的必需设备,其余项目是录制[数据集](https://huggingface.co/unitreerobotics)时的可选设备。
## 5.2 🔨 安装示意图
<table>
<tr>
<th align="center">项目</th>
<th align="center" colspan="2">仿真</th>
<th align="center" colspan="2">实物</th>
</tr>
<tr>
<td align="center">头部</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount.png" alt="head" width="100%">
<figcaption>头部支架</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/head_camera_mount_install.png" alt="head" width="80%">
<figcaption>装配侧视</figcaption>
</p>
</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/real_head.jpg" alt="head" width="20%">
<figcaption>装配正视</figcaption>
</p>
</td>
</tr>
<tr>
<td align="center">腕部</td>
<td align="center" colspan="2">
<p align="center">
<img src="./img/wrist_and_ring_mount.png" alt="wrist" width="100%">
<figcaption>腕圈及相机支架</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_left_hand.jpg" alt="wrist" width="50%">
<figcaption>装配左手</figcaption>
</p>
</td>
<td align="center">
<p align="center">
<img src="./img/real_right_hand.jpg" alt="wrist" width="50%">
<figcaption>装配右手</figcaption>
</p>
</td>
</tr>
</table>
> 注意:如图中红圈所示,腕圈支架与机器人手腕接缝对齐。
请查看 [硬件文档](Device_zh-CN.md).
# 6. 🙏 鸣谢

4
assets/brainco_hand/brainco.yml

@ -28,7 +28,7 @@ left:
# 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
low_pass_alpha: 0.2
right:
type: DexPilot # or vector
@ -58,4 +58,4 @@ right:
# 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
low_pass_alpha: 0.2

2
teleop/utils/ipc.py

@ -3,7 +3,7 @@ import zmq
import time
import threading
import logging_mp
logger_mp = logging_mp.get_logger(__name__)
logger_mp = logging_mp.get_logger(__name__, level=logging_mp.INFO)
"""
# Client → Server (Request)

Loading…
Cancel
Save