NMR / README.md
RayZhao's picture
update
7980741

A newer version of the Gradio SDK is available: 6.14.0

Upgrade
metadata
title: Human to G1 Robot Motion Retargeting
emoji: πŸ€–
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.23.0
app_file: app.py
pinned: false

Human β†’ G1 Robot Motion Retargeting

Neural motion retargeting from human motion capture (SMPL-X / AMASS format) to Unitree G1 humanoid robot.

How to Use

  1. Upload an AMASS-format .npz file containing human motion data
  2. The model will retarget the motion to G1 robot in ~5-15s (CPU)
  3. View the 3D skeleton animation and download the result PKL file

Input Format

AMASS NPZ file with the following fields:

  • trans or transl: (T, 3) root translation
  • root_orient or global_orient: (T, 3) root orientation (axis-angle)
  • pose_body or body_pose: (T, 63) body joint rotations (21 joints Γ— 3)
  • mocap_frame_rate (optional): source frame rate (auto-downsampled to 30 FPS)

Coordinate system: Z-up (AMASS convention), automatically converted to Y-up internally.

Output Format

PKL file containing:

  • dof: (T, 29) β€” G1 joint angles in radians
  • root_trans: (T, 3) β€” root position (Y-up, meters)
  • root_rot_quat: (T, 4) β€” root rotation quaternion (wxyz format)

Model

  • Architecture: LLaMA-style Transformer (70M parameters) with VQ-VAE encoder
  • Training data: paired SMPL-X ↔ G1 motion sequences
  • Inference: non-autoregressive forward pass with sliding window (4s chunks, 1s overlap)