ExBody2: Advanced Expressive Humanoid Whole-Body Control
TL;DR ExBody2 trains a whole-body motion-tracking controller for the Unitree G1 humanoid on human motion capture, automatically dropping motions the robot cannot follow and finetuning specialists for motion groups such as dance. On the real robot it tracks selected motions with 0.107 rad mean joint error, against 0.140 rad for the best baseline.
What they do
ExBody2 trains one RL controller that lets a Unitree G1 humanoid track whole-body human motions (walking, crouching, dancing) from motion capture, then transfers it to the real robot. Raw mocap contains motions the robot cannot perform, so these are filtered out automatically by how well a first policy tracks them. The resulting generalist is then finetuned into specialists.
How it works
- Automatic data curation. A base policy is trained on the full CMU dataset (1,919 sequences). Each sequence is scored by its lower-body keypoint and joint-angle tracking error, and training resumes on only the sequences below a threshold. Using the lower body removes infeasible leg motions but keeps upper-body variety.
- Teacher-student. A PPO teacher in IsaacGym sees privileged state (true root velocity, body-link positions, friction and motor strength). A student with 10 steps of observation history is distilled from it DAgger-style. Actions are 23 target joint positions for PD controllers.
- Motion-velocity decoupling. Keypoints are tracked in the robot’s local frame while the root follows a velocity target, instead of global keypoints, which drift. The generalist is later finetuned on motion groups such as dancing.
Results
- Simulation on CMU: the mean keypoint error is 0.100 m, against 0.115-0.134 m for Exbody, its whole-body variant and a reproduced OmniH2O. Filtering raises velocity error slightly (0.293 vs 0.279 m/s without it).
- Real robot on selected motions: the mean joint error is 0.107 rad, against 0.140 rad for OmniH2O* and 0.136 rad without filtering. Lower-body joint error is 0.105 vs 0.153 rad.
- A filtering threshold of 0.15 works best; stricter or looser thresholds do worse.
- Specialists beat both training from scratch and the generalist on easy, moderate and hard motion sets and on the unseen ACCAD set (keypoint error 0.115 vs 0.125 and 0.127 m on ACCAD). The generalist still tracks velocity better on the hard and ACCAD motions.
Limitations
The generalist does not reach specialist precision, and specialists cannot be recombined into one policy. Switching between motion groups within one tracking session is therefore not smooth.
Videos
Figures



Abstract
This paper tackles the challenge of enabling real-world humanoid robots to perform expressive and dynamic whole-body motions while maintaining overall stability and robustness. We propose Advanced Expressive Whole-Body Control (Exbody2), a method for producing whole-body tracking controllers that are trained on both human motion capture and simulated data and then transferred to the real world. We introduce a technique for decoupling the velocity tracking of the entire body from tracking body landmarks. We use a teacher policy to produce intermediate data that better conforms to the robot's kinematics and to automatically filter away infeasible whole-body motions. This two-step approach enabled us to produce a student policy that can be deployed on the robot that can walk, crouch, and dance. We also provide insight into the trade-off between versatility and the tracking performance on specific motions. We observed significant improvement of tracking performance after fine-tuning on a small amount of data, at the expense of the others.
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
