G1 Dances

G1 Dances

893 dance motions for the Unitree G1 humanoid. All 893 are trackable zero-shot by NVIDIA SONIC in simulation. Here are 45 of them, five from each of nine styles.

893dances
10styles
2.8hours
30dancers
60fps

Shown here: House, Break, Waack, Krump, Pop, Lock, LA-style hip-hop, Middle hip-hop and Street jazz. Ballet jazz is in the 3D viewer and the dataset.

Motions from the AIST Dance Video Database (AIST++), retargeted to the G1 with PHUMA and tracked by NVIDIA SONIC in simulation.

Use it

Free, no login. Each dance is one NPZ file: a 60 fps reference trajectory for the 29-DoF G1, ready as a target for motion-imitation RL or for testing a whole-body controller.

These are motion references, not low-level robot commands. Simulation only.

import numpy as np
from huggingface_hub import snapshot_download

path = snapshot_download("Kyry10/g1-dances", repo_type="dataset",
                         allow_patterns=["motions/*", "manifest.csv"])

with np.load(f"{path}/motions/gPO_sBM_cAll_d10_mPO2_ch05.npz") as m:
    qpos = m["qpos"]        # T x 36, 60 fps
root_xyz  = qpos[:, :3]     # metres, Z-up
root_wxyz = qpos[:, 3:7]    # unit quaternion
joints    = qpos[:, 7:]     # 29 joints, radians

Credits

Dance source
AIST Dance Video Database (Tsuchida et al., ISMIR 2019) and AIST++ (Li et al., ICCV 2021)
Retargeting
PhySINK from PHUMA
Tracking check
NVIDIA SONIC (GR00T Whole-Body Control), MuJoCo simulation
Robot and format
Unitree G1, 29 DoF. 60 fps NPZ: qpos is T × 36 (root xyz, root quaternion wxyz, 29 joints)
Also for Booster K1
SONIC-K1: SONIC whole-body tracking on the Booster K1
Made by
Kyrylo Kolesnichenko (@kyry_D), ATR Lab, Kent State University

If you use these motions, you must cite Tsuchida et al., AIST Dance Video Database, ISMIR 2019 (). Commercial use is subject to the AIST Dance DB Terms of Use. No AIST video, music or SMPL data is included. Simulation only, not tested on a real robot.

G1 DANCES

Dance motion

Reference motion Retargeted target trajectory
—·—·—
About this comparison

Reference is the retargeted target; SONIC is the saved controller simulation. Each view follows its own robot root, so relative placement is not a shared world-space camera or drift comparison. The reference NPZ is the target motion, not a low-level robot command.