NMR / README.md
RayZhao's picture
update
7980741
---
title: Human to G1 Robot Motion Retargeting
emoji: "\U0001F916"
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)