Spaces:
Running on Zero
Running on Zero
File size: 1,402 Bytes
b51f3fd 4cc0d6c b51f3fd 7980741 b51f3fd 4cc0d6c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | ---
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)
|