--- 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)