SkillAgentSearch skills...

GMR

[ICRA 2026] GMR: General Motion Retargeting. Retarget human motions into diverse humanoid robots in real time on CPU. Retargeter for TWIST.

Install / Use

/learn @YanjieZe/GMR
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

GMR: General Motion Retargeting

<a href="https://arxiv.org/abs/2505.02833"> <img src="https://img.shields.io/badge/paper-arXiv%3A2505.02833-b31b1b.svg" alt="arXiv Paper"/> </a> <a href="https://arxiv.org/abs/2510.02252"> <img src="https://img.shields.io/badge/paper-arXiv%3A2510.02252-b31b1b.svg" alt="arXiv Paper"/> </a> <a href="https://opensource.org/licenses/MIT"> <img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"/> </a> <a href="https://github.com/YanjieZe/GMR/releases"> <img src="https://img.shields.io/badge/version-0.2.0-blue.svg" alt="Version"/> </a> <a href="https://x.com/ZeYanjie/status/1952446745696469334"> <img src="https://img.shields.io/badge/twitter-ZeYanjie-blue.svg" alt="Twitter"/> </a> <a href="https://yanjieze.github.io/humanoid-foundation/#GMR"> <img src="https://img.shields.io/badge/blog-GMR-blue.svg" alt="Blog"/> </a> <a href="https://www.bilibili.com/video/BV1p1nazeEzC/?share_source=copy_web&vd_source=c76e3ab14ac3f7219a9006b96b4b0f76"> <img src="https://img.shields.io/badge/tutorial-BILIBILI-blue.svg" alt="Blog"/> </a>

Banner for GMR

GMR

Key features of GMR:

  • Real-time high-quality retargeting, unlock the potential of real-time whole-body teleoperation, i.e., TWIST.
  • Carefully tuned for good performance of RL tracking policies.
  • Support multiple humanoid robots and multiple human motion data formats (See our table below).

[!NOTE] If you want this repo to support a new robot or a new human motion data format, send the robot files (.xml, .urdf, and meshes) / human motion data to <a href="mailto:lastyanjieze@gmail.com">Yanjie Ze</a> or create an issue, we will support it as soon as possible. And please make sure the robot files you sent can be open-sourced in this repo.

This repo is licensed under the MIT License.

News & Updates

  • 2026-01-21: GMR now supports Xsens BVH offline data.
  • 2026-01-12: GMR now supports Fourier GR3, the 17th humanoid robot in the repo.
  • 2025-12-02: GMR now supports TWIST2, which utilizes XRoboToolkit SDK.
  • 2025-11-17: To join our community for discussions, you can add my WeChat contact QR Code with info like "[GMR] [Your Name] [Your Affiliation]".
  • 2025-11-08: [MimicKit] from Jason Peng now supports GMR format. Check here.
  • 2025-10-15: Now supporting PAL Robotics' Talos, the 15th humanoid robot.
  • 2025-10-14: GMR now supports Nokov BVH data.
  • 2025-10-14: Add a doc on ik config. See DOC.md
  • 2025-10-09: Check TWIST open-sourced code for RL motion tracking.
  • 2025-10-02: Tech report for GMR is now on arXiv.
  • 2025-10-01: GMR now supports converting GMR pickle files to CSV (for beyondmimic), check scripts/batch_gmr_pkl_to_csv.py.
  • 2025-09-25: An introduction on GMR is available on Bilibili.
  • 2025-09-16: GMR now supports to use GVHMR for extracting human pose from monocular video and retargeting to robot.
  • 2025-09-12: GMR now supports Tienkung, the 14th humanoid robot in the repo.
  • 2025-08-30: GMR now supports Unitree H1 2 and PND Adam Lite, the 12th and 13th humanoid robots in the repo.
  • 2025-08-28: GMR now supports Booster T1 for both 23dof and 29dof.
  • 2025-08-28: GMR now supports using exported offline FBX motion data from OptiTrack.
  • 2025-08-27: GMR now supports Berkeley Humanoid Lite, the 11th humanoid robot in the repo.
  • 2025-08-24: GMR now supports Unitree H1, the 10th humanoid robot in the repo.
  • 2025-08-24: GMR now supports velocity limits for the robot motors, use_velocity_limit=True by default in GeneralMotionRetargeting class (and we use 3*pi as the velocity limit by default); we also add printing of robot DoF/Body/Motor names and their IDs by default, and you can access them via robot_dof_names, robot_body_names, and robot_motor_names attributes.
  • 2025-08-10: GMR now supports Booster K1, the 9th robot in the repo.
  • 2025-08-09: GMR now supports Unitree G1 with Dex31 hands.
  • 2025-08-07: GMR now supports Galexea R1 Pro (this is a wheeled humanoid robot!) and KUAVO, the 7th and 8th humanoid robots in the repo.
  • 2025-08-06: GMR now supports HighTorque Hi, the 6th humanoid robot in the repo.
  • 2025-08-04: Initial release of GMR. Check our twitter post.

Demos

<table> <tr> <td align="center" width="20%"> <b>Demo 1</b><br> Retargeting LAFAN1 dancing motion to 5 robots.<br> <video src="https://github.com/user-attachments/assets/23566fa5-6335-46b9-957b-4b26aed11b9e" width="200" controls></video> </td> <td align="center" width="20%"> <b>Demo 2</b><br> Galexea R1 Pro robot (view 1).<br> <video src="https://github.com/user-attachments/assets/903ed0b0-0ac5-4226-8f82-5a88631e9b7c" width="200" controls></video> </td> <td align="center" width="20%"> <b>Demo 3</b><br> Galexea R1 Pro robot (view 2).<br> <video src="https://github.com/user-attachments/assets/deea0e64-f1c6-41bc-8661-351682006d5d" width="200" controls></video> </td> <td align="center" width="20%"> <b>Demo 4</b><br> Switching robots by changing one argument.<br> <video src="https://github.com/user-attachments/assets/03f10902-c541-40b1-8104-715a5759fd5e" width="200" controls></video> </td> <td align="center" width="20%"> <b>Demo 5</b><br> HighTorque robot doing a twist dance.<br> <video src="https://github.com/user-attachments/assets/1d3e663b-f29e-41b1-8e15-5c0deb6a4a5c" width="200" controls></video> </td> </tr> <tr> <td align="center"> <b>Demo 6</b><br> Kuavo robot picking up a box.<br> <video src="https://github.com/user-attachments/assets/02fc8f41-c363-484b-a329-4f4e83ed5b80" width="200" controls></video> </td> <td align="center"> <b>Demo 7</b><br> Unitree H1 robot doing a ChaCha dance.<br> <video src="https://github.com/user-attachments/assets/28ee6f0f-be30-42bb-8543-cf1152d97724" width="200" controls></video> </td> <td align="center"> <b>Demo 8</b><br> Booster T1 robot jumping (view 1).<br> <video src="https://github.com/user-attachments/assets/2c75a146-e28f-4327-930f-5281bfc2ca9c" width="200" controls></video> </td> <td align="center"> <b>Demo 9</b><br> Booster T1 robot jumping (view 2).<br> <video src="https://github.com/user-attachments/assets/ff10c7ef-4357-4789-9219-23c6db8dba6d" width="200" controls></video> </td> <td align="center"> <b>Demo 10</b><br> Unitree H1-2 robot jumping.<br> <video src="https://github.com/user-attachments/assets/2382d8ce-7902-432f-ab45-348a11eeb312" width="200" controls></video> </td> </tr> <tr> <td align="center"> <b>Demo 11</b><br> PND Adam Lite robot.<br> <video src="https://github.com/user-attachments/assets/a8ef1409-88f1-4393-9cd0-d2b14216d2a4" width="200" controls></video> </td> <td align="center"> <b>Demo 12</b><br> Tienkung robot walking.<br> <video src="https://github.com/user-attachments/assets/7a775ecc-4254-450c-a3eb-49e843b8e331" width="200" controls></video> </td> <td align="center"> <b>Demo 13</b><br> Extracting human pose (GVHMR + GMR).<br> <a href="https://www.bilibili.com/video/BV1Tnpmz9EaE">▶ Watch on Bilibili</a> </td> <td align="center"> <b>Demo 14</b><br> PAL Robotics’ Talos robot fighting.<br> <video src="https://github.com/user-attachments/assets/3ec0bf80-80c1-4181-a623-dc2b072c2ca2" width="200" controls></video> </td> <td align="center"> <b>Demo 15</b><br> (Optional placeholder if you add a new one later!)<br> <i>Coming soon...</i> </td> </tr> </table>

Supported Robots and Data Formats

| Assigned ID | Robot/Data Format | Robot DoF | SMPLX (AMASS, OMOMO) | BVH LAFAN1| FBX (OptiTrack) | BVH Nokov | PICO (XRoboToolkit) | More formats coming soon | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | 0 | Unitree G1 unitree_g1 | Leg (2*6) + Waist (3) + Arm (2*7) = 29 | ✅ | ✅ | ✅ | ✅ | ✅ | | 1 | Unitree G1 with Hands unitree_g1_with_hands | Leg (2*6) + Waist (3) + Arm (2*7) + Hand (2*7) = 43 | ✅ | ✅ | ✅ | TBD | TBD | | 2 | Unitree H1 unitree_h1 | Leg (2*5) + Waist (1) + Arm (2*4) = 19 | ✅ | TBD | TBD | TBD | TBD | | 3 | Unitree H1 2 unitree_h1_2 | Leg (2*6) + Waist (1) + Arm (2*7) = 27 | ✅ | TBD | TBD | TBD | TBD | | 4 | Booster T1 booster_t1 | TBD | ✅ | TBD | TBD | TBD | | 5 | Booster T1 29dof booster_t1_29dof | TBD | ✅ | ✅ | TBD | TB

View on GitHub
GitHub Stars1.9k
CategoryDevelopment
Updated6h ago
Forks325

Languages

Python

Security Score

95/100

Audited on Mar 28, 2026

No findings