unitree-g1-brainco-hand

July 16, 2026 · View on GitHub

English Version | 中文版

Tutorials and simple motion demos for adapting the BrainCo Revo2 dexterous hand to the Unitree G1 robot.

Version Notes

Update 2026.7.16

  • Added the eeg brain-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_sdk and 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_client and its related APIs
  • Updated the dexterous hand SDK in ros2_stark_ws

Previous Versions

VersionUpdateDescriptionAccess
v2.0.02026.6Current versionmain branch
v1.1.02026.4Supports both G1-23 DOF and G1-29 DOFv1.1.0_basic branch
v1.0.02025.11Supports only G1-23 DOFReleases v1.0.0

Repository Overview

DirFunctionDescription
brainco_wsmain controlG1 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_wsRevo2 Hand SDKThe 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_calibrhand-eye calibration
ui_clientcontrol GUI

Dexterous Hand Integration

01 Dexterous Hand Installation, Robot Startup, and Remote Connection

Environment Setup

The following should be deployed on the G1 robot

02 Install Conda Environment and Torch

03 Install Unitree-SDK, ROS2, URDF, BrainCo-SDK, Control System, and Build Configuration

04 (Optional) Vision Setup

The following should be deployed on the host PC

05 Host PC Setup

Test Run

06 Example 1: Simple Motions

07 Example 2: Hand-Eye Calibration

08 Example 3: Brain-Controlled Robot

FAQ

FAQ English Version or FAQ 中文

Development Safety Recommendations

  1. 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.
  2. For segmented motions, pay attention to whether there is an obvious jump between segments.
  3. 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.
  4. For motions near a table, use SafeArmDown first. The normal ArmDown is more suitable when the robot is away from the table and there is enough space below.
  5. If the robot moves abnormally or becomes uncontrollable during joint debugging:
    • Normal case: immediately click Ready to return the robot state to zero directly, or click Ready (Table Safe) to return to zero while avoiding the table.
    • Emergency case: click Shutdown directly 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.
  6. 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.