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
## 🏷️ v1.1 (2025.7.18)
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)
## 🏷️ v1.0 (newvuer) (2025.7.8)
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.
@ -59,7 +71,7 @@
5. Various other improvements and optimizations.
## 🏷️ v0.5 (oldvuer)
## 🏷️ v0.5 (oldvuer) (2025.4.30)
1. The repository was named **`avp_teleoperate`** in this version.
2. Supported robot included: `G1_29`, `G1_23`, `H1_2`, and `H1`.
- The **image server** has been changed to [teleimager](https://github.com/silencht/teleimager). Please refer to the repository README for details.
- support simulation
- add CycloneDDS interface name parameter
- [add caching to speed-up urdf loading](https://github.com/unitreerobotics/xr_teleoperate/commit/6cab654620735bfa347c1cd32a0d8c0c1e6ec343)
- ...
- Upgraded [televuer](https://github.com/silencht/televuer). Please see the repository README for details.
> The new versions of [teleimager](https://github.com/silencht/teleimager/commit/ab5018691943433c24af4c9a7f3ea0c9a6fbaf3c) + [televuer](https://github.com/silencht/televuer/releases/tag/v3.0) support transmitting **head camera images via WebRTC**.
> Supports **pass-through**, **ego**, and **immersive** modes.
- Improved the system’s **state machine** information and IPC mode.
- Added support for **Inspire_FTP dexterous hand**.
| `--frequency` | Set the FPS for recording and control | Any reasonable float value | 30.0 |
| `--input-mode` | Choose XR input mode (how to control the robot) | `hand` (hand tracking)`controller` (controller tracking) | `hand` |
| `--display-mode` | Choose XR display mode (how to view the robot perspective) | `immersive` (immersive)`ego` (pass-through + small first-person window)`pass-through` (pass-through only) | `immersive` |
| `--arm` | Select the robot arm type (see 0. 📖 Introduction) | `G1_29``G1_23``H1_2``H1` | `G1_29` |
| `--ee` | Select the end-effector type of the arm (see 0. 📖 Introduction) | `dex1``dex3``inspire_ftp``inspire_dfx``brainco` | None |
| `--img-server-ip` | Set the image server IP address for receiving image streams and configuring WebRTC signaling | `IPv4` address | `192.168.123.164` |
| `--network-interface` | Set the network interface for CycloneDDS communication | Network Interface Name | `None` |
> Since the image service has been upgraded to `teleimager`, the simulation deployment for v1.4 is temporarily unavailable. Please use v1.3 for testing for now.
First, install [unitree_sim_isaaclab](https://github.com/unitreerobotics/unitree_sim_isaaclab). Follow that repo’s README.
parser.add_argument('--arm',type=str,choices=['G1_29','G1_23','H1_2','H1'],default='G1_29',help='Select arm controller')
parser.add_argument('--ee',type=str,choices=['dex1','dex3','inspire_ftp','inspire_dfx','brainco'],help='Select end effector controller')
parser.add_argument('--img-server-ip',type=str,default='192.168.123.164',help='IP address of image server, used by teleimager and televuer')
parser.add_argument('--network-interface',type=str,default=None,help='Network interface for dds communication, e.g., eth0, wlan0. If None, use default interface.')
# mode flags
parser.add_argument('--motion',action='store_true',help='Enable motion control mode')
parser.add_argument('--headless',action='store_true',help='Enable headless mode (no display)')