English Version | 中文版
Tutorials and simple motion demos for adapting the BrainCo Revo2 dexterous hand to the Unitree G1 robot.
Update 2026.7.16
- Added the
eegbrain-controlled robot task domain (G1-29 DOF only), which can connect to the BrainCo brain-controlled robot training platform.
Fix 2026.6.29
- Important: the built-in Unitree arm control service is automatically disabled before startup to avoid conflicts between upper-limb motions developed through
/arm_sdkand the built-in Unitree arm control service, which could otherwise cause abnormal arm motion.
Update 2026.6.8:
- Improved the state management system with multiple task domains for easier task creation and management
calibrate: camera calibration (G1-29 DOF only)simple: simple arm motions (supports G1-23 DOF and G1-29 DOF)- Updated the remote UI control interface
ui_clientand its related APIs - Updated the dexterous hand SDK in
ros2_stark_ws
| Version | Update | Description | Access |
|---|---|---|---|
| v2.0.0 | 2026.6 | Current version | 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 |
| Dir | Function | Description |
|---|---|---|
| brainco_ws | main control | G1 arm IK computation is based on the official Unitree example Unitree/xr_teleoperate. Dual-arm dual-hand control is based on ROS 2. |
| ros2_stark_ws | Revo2 Hand SDK | The BrainCo dexterous hands communicate with the Unitree G1 through dual RS-485 serial ports. The left and right hands transmit data simultaneously through two /dev/ttyUSB* ports.Dual-hand control is based on the official BrainCo ROS 2 example stark-serialport-example/ros2_example. |
| cam_calibr | hand-eye calibration | |
| ui_client | control GUI |
01 Dexterous Hand Installation, Robot Startup, and Remote Connection
02 Install Conda Environment and Torch
03 Install Unitree-SDK, ROS2, URDF, BrainCo-SDK, Control System, and Build Configuration
07 Example 2: Hand-Eye Calibration
08 Example 3: Brain-Controlled Robot
- Before joint debugging, make sure all configuration files are set correctly. Recommended test order:
- Test arm motion first, then install the dexterous hands for combined testing.
- Test simple non-vision motions first.
- Test replay motions next.
- Test vision-based grasping motions next.
- Test lower-limb movement or turning next.
- Connect BrainCo brain-controlled robot training platform event mappings last.
- For segmented motions, pay attention to whether there is an obvious jump between segments.
- Upper-body motion control includes waist motion. If you only need to move the arms, fix the waist; otherwise waist movement can shift the target position.
- For motions near a table, use
SafeArmDownfirst. The normalArmDownis more suitable when the robot is away from the table and there is enough space below. - If the robot moves abnormally or becomes uncontrollable during joint debugging:
- Normal case: immediately click
Readyto return the robot state to zero directly, or clickReady (Table Safe)to return to zero while avoiding the table. - Emergency case: click
Shutdowndirectly to stop the program. - If the robot still cannot be controlled, press and hold the remote controller
Damping Mode (L2 + B)for more than 5 seconds to force the robot into damping mode, then power it off.
- Normal case: immediately click
- Before formal joint debugging, actively clear the table and the space around the robot. Leave extra clearance in front of, beside, and below the arms whenever possible.