Revo 2 Adaptation for Unitree G1
Overview
The Revo 2 dexterous hand can be mounted and integrated onto the Unitree G1 humanoid robot. The hand is controlled via serial port communication. This guide is provided for developers who need to adapt BrainCo dexterous hands to Unitree robotic platforms.
Video Demonstration
Code Repository
Release Notes
2026-07-16
- Added the
eegbrain-control task domain for G1-29 DOF. It integrates with the BrainCo brain-controlled robot training platform. - Upper-limb motions do not lock the
WaistRollandWaistPitchjoints. Use single-waist mode or add joint-locking logic before running them.
2026-06-29
- The startup flow now disables Unitree's built-in arm-control service before starting
/arm_sdkcontrol, preventing the two services from issuing conflicting upper-limb commands.
2026-06-08
- Added task-domain-based state management.
- Added the
calibratecamera-calibration domain for G1-29 DOF. - Added the
simplearm-motion domain for G1-23 DOF and G1-29 DOF. - Updated the
ui_clientremote-control UI and APIs. - Updated the dexterous hand SDK in
ros2_stark_ws.
Previous Versions
| Version | Update | Description | Access |
|---|---|---|---|
| v2.0.0 | 2026.6 | Current main baseline | main branch |
| v1.1.0 | 2026.4 | Supports both G1-23 DOF and G1-29 DOF | v1.1.0_basic branch |
| v1.0.0 | 2025.11 | Supports only G1-23 DOF | Releases v1.0.0 |
brainco_ws
The G1 arm Inverse Kinematics (IK) calculation is based on the Unitree official example Unitree/xr_teleoperate. Dual-arm and dual-hand controls are implemented using ROS 2.
- Main control: smach_main_srv.py
- State machine transition node: smach_trans_cli.py
- G1 Degrees of Freedom (DoF) can be configured in
brainco_ws/src/control_py/config/smach_config.yaml.
ros2_stark_ws
The BrainCo hands communicate with Unitree G1 through dual RS-485 serial interfaces. A single ROS 2 node communicates with the left and right hands through /dev/ttyUSB0 and /dev/ttyUSB1, respectively.
- Stark ROS node:
stark_node.cpp
The SDK examples have moved to brainco-hand-sdk. The old ros2_example branch is a historical dual-RS-485 reference. For G1 integration, use the Unitree repository and branch specified in this guide.
Contact & Support
For questions or purchase inquiries, contact the BrainCo Dexterous Hand Team or submit a support ticket through the page help entry.