SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control
作者 / 机构:Zhengyi Luo†, Ye Yuan†, Tingwu Wang†, Chenran Li†, Fernando Castañeda†(5 位共一), Sirui Chen, Zi-Ang Cao, Jiefeng Li, …, Umar Iqbal, Linxi "Jim" Fan, Yuke Zhu(NVIDIA GEAR,PHC/UHC/BFM 同一团队)
发表:arXiv 2025.11(v3 2026-05-21,被引 81+,2026 持续高热度)
arxiv:2511.07820 · 代码/权重:github.com/NVlabs/GR00T-WholeBodyControl,HuggingFace nvidia/GEAR-SONIC(BONES-SEED 数据子集已开源)· 项目页:nvlabs.github.io/GEAR-SONIC
在线索中的位置:属于 T04「AMP→BFM」谱系的当前制高点 + T10「VLA+WBC」的 motor 底座
一句话定位:PHC→UHC→BFM→BeyondMimic 之后的最新制高点。把 motion tracking scale up 到 1.2M→42M 参数 + 100M+ 帧 + 21k GPU 小时,用 universal token space 统一 robot/human/hybrid motion,实现 VLA-driven 全身 loco-manipulation。是人形 motor foundation 的 2026 代表。
动机
BFM(2025.09)和 BeyondMimic(2025.08)证明了「大规模 MoCap → motor foundation」可行,但有几个关键限制:
- 规模不够:BFM 的 CVAE 规模有限,没充分 scale up;学术界 humanoid controller 仍是「3 层 MLP + 几块 GPU」级别。
- 接口不通用:之前 motion tracker 只吃「目标姿态」一种接口,不能统一 robot motion / human motion / hybrid(人+物)motion。
- 没和 VLA 整合:之前 motor policy 和 VLA 是分开的,SONIC 首次实现「VLA 出高层意图 → SONIC 执行全身」。
- 任务选择是根本问题(论文核心论点):locomotion/AMP/ASE 这类靠 reward engineering 或 discriminator 的任务,随数据集变大遭遇 mode collapse(Luo 2023、Tessler 2024 已证);要 scale 必须找一个「数据越多信号越强」的任务。
NVIDIA GEAR(Linxi Fan 团队,和 GR00T N1 同实验室)的回答:motion tracking 就是这个 scalable foundational task——每一帧都给一个明确目标 pose(dense per-frame supervision),数据集越大信号越强,无需 reward engineering。
方法核心
1. Universal Humanoid Motion Tracking(Sec.3.2,Fig.7)
MDP 形式化 $\mathcal{M}=\langle\mathcal{S},\mathcal{A},\mathcal{T},\mathcal{R},\gamma\rangle$,用 PPO 最大化折扣累积回报。
States:两部分 $s_t = (s^p_t, s^g_t)$。
- proprioception $s^p_t = (q_t, \dot q_t, \omega_t, g_t, a_{t-1})_{t-9:t}$——10 步历史(关节位/速、根角速度、root-frame gravity、上一步动作),提供时序上下文做 anticipatory 行为。
- motion command $s^g_t \in \{g_r, g_h, g_m\}$ 三选一(robot / human / hybrid)。所有量都在 robot local frame 表达(保证旋转不变),用 6D rotation representation(Zhou 2019)。
Actions:policy 输出 target joint positions $a_t$,由 PD 控制器跟踪;PD gain 沿用 prior art(Liao 2025 / BeyondMimic + Raibert & Farshidian workshop)。
Rewards:$r_t = \mathcal{R}(s^p_t, s^g_t) + \mathcal{P}(s^p_t, a_t)$。tracking 项最小化 root position/orientation、body link 位置/朝向/线速度/角速度误差;额外加 end-effector position reward(head/双 wrist/双 ankle 五个关键点);anti-shake(head/wrist 角速度惩罚)+ foot acceleration 惩罚鼓励平滑接触。精确权重在 Table S3。
Domain Randomization(Table S4):摩擦 $(\mu_s, \mu_d)$、恢复系数 $e$、首帧关节位置 $q_0$、base CoM 位置;周期性给 root 加随机线/角速度扰动模拟外推;同时对 target motion command $s^g_t$ 加扰动(position/orientation/velocity/joint jitter,部署鲁棒性关键)。
2. Universal Token Space(论文最核心创新,Sec.3.2 后半,Fig.7)
SONIC 的关键特性是用 encoder-decoder 架构把多种 motion 格式映射到一个 shared quantized token,再驱动统一的 control decoder。设计如下:
Encoders(3 个 specialized MLP,Table S1 给架构):
- Robot motion encoder $\mathcal{E}_r$:编码未来 $F_r$ 帧的 robot joint positions/velocities(帧间隔 $\Delta t_r$)。
- Human motion encoder $\mathcal{E}_h$:编码未来 $F_h$ 帧的 3D human joint positions(SMPL)(帧间隔 $\Delta t_h$)。
- Hybrid motion encoder $\mathcal{E}_m$:编码当前帧 sparse upper-body keypoints(head + 双手,用于实时上半身跟踪)+ 未来 $F_m$ 帧 lower-body robot motion(帧间隔 $\Delta t_m$)。
- 多帧输入 = anticipatory,提升鲁棒性。
Quantizer(设计要点,PDF 明确):encoded latent 经 Finite Scalar Quantization(FSQ) 量化成 universal token $z$。论文明确选 FSQ 而非 VQ-VAE,给出三条理由:① 避免 codebook collapse(VQ-VAE 大块 codebook 不被用的失败模式);② 无需 auxiliary commitment loss 和 codebook EMA updates;③ 提供 clean straight-through gradient estimation,兼容 PPO 联合优化。配置:2 个 token,默认 FSQ-32-32(即每个 token $D_z=32$ 维、每维 $L_z=32$ 个 quantization levels,2 × 32 = 64 维拼成 VLA 接口的 64-dim universal token;Tab.4(b) 扫了 16/32 维 × 16/32 levels)。
Decoders(2 个 MLP):
- Robot control decoder $\mathcal{D}_c$:$a_t = \mathcal{D}_c(z, s^p_t)$——吃 universal token + proprioceptive state,输出 motor commands。训练/部署用相同输入。
- Robot motion decoder $\mathcal{D}_r$:$\hat g_r = \mathcal{D}_r(z)$——只吃 token,reconstruct robot motion command,做 auxiliary supervision + 当 implicit retargeting(人→机器人)模块。
Training Loss(Eq.1–4,端到端联合优化):
$$\mathcal{L} = \mathcal{L}_\text{ppo} + \mathcal{L}_\text{recon} + \mathcal{L}_\text{token} + \mathcal{L}_\text{cycle}$$
- $\mathcal{L}_\text{recon} = \|\mathcal{D}_r(z_r) - g_r\|^2 + \|\mathcal{D}_r(z_h) - g_r\|^2 + \|\mathcal{D}_r(z_m) - g_r\|^2$——三种输入都 reconstruct 到同一 robot motion target;当输入是 human motion $g_h$ 时,encoder-decoder 就是 retargeting pipeline,$\mathcal{L}_\text{recon}$ 就是 retargeting loss。
- $\mathcal{L}_\text{token} = \|z_r - z_h\|^2 + \|z_r - z_m\|^2 + \|z_m - z_h\|^2$——pairwise alignment,强迫三种 encoder 对同一 motion 输出相似 token。
- $\mathcal{L}_\text{cycle} = \|\mathcal{E}_r(\mathcal{D}_r(z_h)) - z_r\|^2$——cycle consistency,人 token → reconstruct robot motion → 再 encode 应回到 robot token。
PPO loss 更新 encoders/quantizer/control decoder(+critic);其余三项更新 encoders/quantizer/motion decoder。梯度通过 FSQ 的 straight-through estimation 反传,让 PPO 能直接 shape encoder 表示。论文明确指出:「We did not observe training instabilities from the coupling of quantization with RL」——跨所有模型 scale 都稳定。
Asymmetric actor-critic(Pinto 2018):critic 看特权仿真状态(base 线速度、全身 link 位置/朝向、无噪 obs),actor 只看部署可得 obs(带噪 proprioception + motion command)。
3. Scale Up(1.2M → 42M,Fig.2 scaling 曲线)
训练规模(PDF Tab.2 + Sec.2.1 精确数):
- 数据:100M+ 帧 @ 50 fps,来自 700 小时 raw MoCap → retarget 到 G1(用 GMR + PyRoki)→ 过滤掉物理不可行 motion(爬楼梯、坐姿)→ 611 小时训练数据。317,189 train clips / 8,447 unique sub-categories,覆盖 33 大类(locomotion、dance、combat、object manip、tool use、injured-gait、stylistic 等)。
- 公开数据集:BONES-SEED(Bones Studio 2025)已在 HuggingFace 发布子集——142,220 序列 / 288 小时 / 522 actors / SOMA+G1 格式 + 自然语言描述 + 时序分割标签。
- 模型:1.2M → 16M → 42M 参数(三档)。
- 算力:128 GPU × 7 天 = 21,000 GPU hours,分布式训练(Isaac Lab + accelerate)。
- Eval(Isaac Lab,50k iterations 平台),三个 held-out 集:test-content(6,998 clips,15h,182 个全新 sub-categories,0% overlap)/ test-repetition(6,306 clips,12h,相同 sub-cat 但不同 take)/ 外部 PHUMA(68k motions,不同 retargeting pipeline)。
Scaling 曲线(Fig.2a–c,PDF 关键数据):
| 维度 | 配置 | test-content Succ / MPJPE-L | test-repetition Succ |
|---|---|---|---|
| Data size | 4M / 10M / 22M / 100M frames(20k→310k clips) | 同向单调改善,最大点 99.6% / 23.8mm | 同向单调改善 |
| Model size | 1.2M / 16M / 42M | 98.0% / 27.7mm → 99.6% / 23.8mm(PDF Sec.2.1 原文) | OOD 增益最显著 |
| Compute | 16 / 32 / 128 GPU(2/4/16 nodes,≈ 2K/9K/21K GPU-h,均训到 50k iter) | 更大 batch → 更稳优化 → 更好渐近 | 同向 |
核心发现:OOD(test-content)增益最显著——证明 scale 主要改善泛化,不只是过拟合训练分布。
vs 其他 tracker(Fig.2d–g,PDF MuJoCo 同协议):
| Tracker | test-content | test-rep | PHUMA | MPJPE-L |
|---|---|---|---|---|
| Any2Track | 31.1% | 38.4% | 58.6% | — |
| BeyondMimic | 81.6% | 85.8% | 73.4% | 39.1 mm |
| SONIC | 98.7% | 99.6% | 97.0% | 23.2 mm(比 BeyondMimic 降 41%) |
PHUMA 97% 最关键——它是 video pose estimation 聚合的、完全不同 pipeline 的数据,是真正的 cross-dataset OOD。
vs specialist(Fig.2h–j):对比 OpenHomie(Ben 2025,专门为 locomotion + 上半身 IK + 下半身速度跟踪调优)。0–5 m/s 速度跟踪:SONIC 98.5% survival vs OpenHomie 43%(OpenHomie >1.5 m/s 崩到 <20%,SONIC 到 ~4 m/s 仍近 100%)。论文指出「universal policy 训练在 diverse whole-body motion + motion generator 上,反而超过专门调优的 specialist」——scale 优于 specialization。
Sim2Real(Fig.2k–l):123 真机序列部署,真机 99.2% Succ vs 仿真 100%,overall MPJPE-L 25.7mm(sim 22.3mm)。sim-real gap:upper body 最小(22.2 vs 21.8mm),feet 最大(53.7 vs 29.0mm,反映真实接触动力学下精确落脚难)。
4. Real-time Kinematic Motion Planner(Sec.3.3)
autoregressive latent in-betweening generative model(与 tracking policy 同数据集训练):
- 每步生成 0.8–2.4s motion segment(时长由 neural planner 自动定),laptop <5ms 推理、Jetson Orin ~12ms。
- 重规划频率:100ms 或 user command 更新时立即触发。
- latent token 化(downsample rate 4)+ masked token prediction(Guo 2024):iteratively 预测+定稿高置信 token;mask 比例训练时 $U[100\%, 0\%]$,推理用 cosine schedule。
- Critically damped spring model(Eq.8)生成 root 轨迹(pelvis x/y 位置 + heading 三个量):标准临界阻尼解 $x(t) = x_T - [x_T - x_0 + (v_0 + (x_T - x_0)\tfrac{c}{2})\,t]\,e^{-c t/2}$,位置 damping $c = 5\ln 2$、heading $c = 20\ln 2$;safeguard 极端命令(如 6→−6 m/s 急停)。论文指出该 spring filter 在大多数情况下可省略(planner 本身能处理变长段),主要起 predictability + 极端命令兜底作用。
- 应用:navigation(0–6 m/s,任意方向 360°,多种 style:drunken/injured/happy/stealth)、boxing(连续 jabs/hooks/block,无 expert 切换)、squat/kneel/crawl(pelvis 0.3–0.8m 连续可控)。
5. VLA-driven Loco-Manipulation(Sec.2.5,论文最重磅 demo)
把 GR00T N1.5 VLA(Bjorck 2025)接 universal token interface,5 个 loco-manipulation 任务(Tab.1,10–20 trials 严格二值成功率):
| Task | Interface | Training Data | Trials | Success |
|---|---|---|---|---|
| Apple to plate | 3-point | 300 trajs | 20 | 90% |
| Object pickup (carrot) | whole-body | 3,900 trajs (13 obj) | 20 | 75% |
| Object pickup (scrub) | whole-body | 3,900 trajs | 20 | 95% |
| Open trash can(脚踩踏板) | whole-body | 200 trajs | 10 | 70% |
| Soda can to trash can(5 步长序列:走→抓→导航→单脚踩踏板开盖平衡→扔) | whole-body | 1,000 trajs | 10 | 60% |
| Drill and box relocation(双手搬运) | whole-body | 300 trajs | 10 | 70% |
| 平均(5 task) | 75% |
VLA 输出 78-dim action = 64-dim universal token + 14-dim hand joints(whole-body interface);3-point 接口则用 head/双 wrist SE(3) + finger + waist + nav command。
关键 ablation(Tab.3,VLA action space 对比):universal token vs explicit SMPL poses(81-dim: 全身 SMPL + 14 hand)作 VLA action space——FSQ token 平均 68% vs SMPL 27%(+42 pp),任务越复杂 gap 越大:carrot +15pp(75% vs 60%)/ open-trash-can +50pp(70% vs 20%)/ soda-can +60pp(60% vs 0%)。论文解释:token 是 compact structured action space,落在 motor foundation 训好的物理可行流形上;高维连续 SMPL 把小预测误差放大成大 tracking 失败。
部署(Sec.3.5)
Unitree G1(29 actuated joints)。全机载 Jetson Orin GPU + TensorRT + CUDA Graph:policy forward 1–2ms,motion generation ~12ms。multi-rate 架构四并发环:policy 50Hz / command streaming 500Hz / operator input 100Hz / kinematic planning 10Hz。encoder-decoder 设计让接口切换(keyboard/gamepad/VR/network)只换 active encoder,无需重训。所有真机实验部署最大模型(42M)。
为什么重要
1. PHC→SONIC 谱系的当前制高点(最关键)
SONIC 是 PHC(2023.05) → UHC(2023.10) → BFM(2025.09) → BeyondMimic(2025.08) → SONIC(2025.11) 的最新。每次 scale up 一个量级(参数/数据/能力)。是当前人形 motor foundation 的代表。
2. 首次实现 VLA-driven 全身 loco-manipulation(含手-脚协调)
VLA 出高层意图 → SONIC 执行全身协调(locomotion + manipulation,含手-脚协调:单脚踩踏板开垃圾桶盖同时保持平衡扔易拉罐)。这是 T10「VLA+WBC 分层」的成熟实现,也是「universal token space 让 VLA 能控整条 kinematic chain(包括脚)」的直接证据。
3. 量化证明 motion tracking 的 scaling law(Fig.2)
首次系统在 humanoid 上做 data/model/compute 三轴 scaling 曲线,证明 OOD 泛化随 scale 单调改善,universal tracker > specialist。
4. 完全开源
权重 HuggingFace,代码 github,数据 BONES-SEED 子集。学术界能直接用。
局限
- 核心超参藏在 Supplementary:PDF 主体 21 页(正文 + 参考)+ 10 页 supplementary(Sec.S1–S8、Fig.S1–S5、Tab.S1–S4)。encoder/decoder MLP 枂数与 $F$/$\Delta t$(Tab.S1)、PPO 超参(Tab.S2,actor lr 2e-5、critic lr 1e-3、clip 0.2、γ 0.99、GAE λ 0.95)、reward 权重(Tab.S3)、domain randomization 范围(Tab.S4)都在 supplement;正文只给方法骨架。
- 真机 loco-manipulation 仅 G1 单平台:跨形态(H1/Booster/自研人形)泛化未证;XHugWBC(2026.02)才开始做跨形态。
- 42M 是否够:相对 VLA(GR00T N1.5 数 B 级),SONIC 42M 仍是低层 motor policy;上限在哪论文未答。
- 安全/能效未形式化:论文自承「lack of formal treatment of safety and energy efficiency for extended deployments」。极端动态动作下 tracker 仍可能失平衡(critically damped spring filter 只能挡极端命令)。
复现要点
- 复现门槛:⭐⭐⭐(权重可下,但完整训练 pipeline 复杂)
- HuggingFace 下载
nvidia/GEAR-SONIC+ BONES-SEED,github 代码有 demo。 - 训练需 100M+ 帧 MoCap + 128 GPU × 7 天;小实验室可只做下游 VLA finetune(300–3900 traj 级)。
- 和 GR00T N1.5 配合是 NVIDIA 官方推荐的全栈方案(VLA → universal token → SONIC → PD)。
演化位置(关键谱系图)
DeepMimic (2018, 逐帧对齐)
→ AMP (2021, 判别器分布对齐) ⭐ 分水岭
→ ASE/CALM (2022-23, latent skill)
→ PHC (2023.05, AMASS universal tracker, BFM 雏形)
→ UHC/PULSE (2023.10, universal representation)
→ OmniH2O/HOVER (2024, 真机多模式)
→ BFM (2025.09, 大规模 motor foundation)
→ BeyondMimic (2025.08, diffusion + tracking)
→ SONIC (2025.11, 42M universal token, VLA-driven) ⭐ 当前
→ AnyBody (2026.06, free-form keypoints)
→ XHugWBC (2026.02, 跨形态零样本)
相关
- 建立在:PHC、UHC、BFM、BeyondMimic、GR00T N1.5、GMR/PyRoki(retargeting)、GEM(Li 2025,多模态 motion generation)、FSQ(Mentzer 2023)、PPO、Isaac Lab。
- 同期竞争:AnyBody(free-form)、XHugWBC(cross-humanoid)、OpenHomie(specialist baseline)。
- 下一步:更大 VLA + universal token 联合训练(π0.7 的 BAGEL、Cortex 2.0);3D 视觉预训练模型接入(当前 SONIC token 是 motor-only)。
- 本仓库线索:T04 AMP→BFM 制高点、T10 VLA+WBC motor 底座
- 本仓库笔记:P-BFM-2025.md、P-BeyondMimic-2025.md、P-GR00T-N1-2025.md、P-OmniH2O-2024.md、P-H2O-2024.md(同团队谱系)
- 综述:BFM Survey(arxiv:2506.20487)