《SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control》深度解读

《SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control》深度解读

论文信息 - 标题:SONIC: 放大运动跟踪规模,实现自然人形机器人全身控制 - 作者:Zhengyi Luo 等 26 位作者,来自 NVIDIA (NVlabs) 和多个机构 - 提交:arXiv:2511.07820 (Nov 2025) - 项目主页:https://nvlabs.github.io/SONIC/ - 代码仓库:https://github.com/NVlabs/GR00T-WholeBodyControl - 领域:机器人学 (cs.RO),人形机器人控制


一句话总结

这是NVIDIA 研究院提出的:把大模型"缩放定律"(scaling law)应用到人形机器人控制上 — 通过把模型从1.2M放大到42M参数、数据集扩大到1亿帧(700小时)、使用9k GPU小时训练,得到一个通用人形机器人基础控制器,能生成自然鲁棒的全身运动,并且支持多种输入接口(VR遥操作、视频、VLA模型)。【原文摘要】


背景与动机

近年来大语言模型和视觉基础模型证明了"放大(Scaling)"的力量:模型越大、数据越多、计算越多,性能就平稳提升。但在人形机器人控制领域,这种缩放规律并没有被系统验证过:

现有方法存在三个问题: 1. 模型规模小:神经元控制器规模一直不大,大多百万参数级别 2. 行为有限:只能应对有限集合的行为,泛化能力差 3. 数据效率低:依靠手工奖励工程(reward engineering),数据成本高,难以规模化【原文摘要】

作者核心观点:运动跟踪(motion tracking) 是做人形机器人控制预训练非常好的任务 — 它可以直接利用海量动作捕捉(MoCap)数据获得密集监督,不需要手工设计奖励,天然适合缩放。【原文摘要】


核心方法

三个维度上缩放【原文摘要】

作者沿着三个维度系统地放大:

维度 缩放范围
模型大小 从 1.2M → 42M 参数
数据规模 1亿帧 (100M frames),总计 700小时 高质量运动数据
计算量9,000 GPU小时 训练

核心框架

SONIC = 运动跟踪基础模型 + 两层实用机制

  1. 运动跟踪作为预训练任务
  2. 给定参考人体运动序列,让机器人模仿跟踪这个运动
  3. 监督信号直接来自MoCap数据,密集、自动获取,不需要人工标注或奖励设计
  4. 学习到的人类运动先验可以迁移到下游任务【原文 §3 Method】

  5. 实时通用运动规划器

  6. 桥接运动跟踪和下游任务执行
  7. 实现自然的交互式控制,支持实时在线调整【原文 §3.2】

  8. 统一token空间

  9. 多种输入接口都用同一个policy:
    • VR遥操作设备(人远程控制机器人)
    • 人类视频(从视频中提取运动让机器人模仿)
    • 视觉-语言-动作(VLA)模型的输出【原文 §3.3】

也就是说:不管你用什么方式给出"想要什么运动",SONIC都能用同一个基础模型生成机器人关节控制信号。


主要发现与实验结果

缩放定律在人形控制上同样有效!【原文 §4 Experiments】

  • 性能随着模型增大稳步提升
  • 性能随着数据多样性增加稳步提升【原文摘要】
  • 学习到的表示可以泛化到未见过的运动【原文摘要】

关键实验结论: 1. 放大模型提高泛化:42M参数模型比1.2M模型在未见运动上跟踪误差低很多 2. 放大数据提高多样性:更多样的训练数据让模型能应对更丰富的动作类型 3. Sim2Real迁移有效:在仿真中训练的模型可以直接迁移到真实机器人,不需要额外微调或者只需要少量微调


实际应用场景

  1. VR遥操作:人穿VR设备动,机器人实时跟着动,自然流畅【原文 §5】
  2. 视频演示示教:拍一个人做动作的视频,提取运动后机器人直接模仿学习
  3. 连接大模型:VLA(视觉语言动作)模型可以把指令转换成运动token,输入SONIC输出关节控制
  4. 通用基础模型:可以作为人形机器人的"运动先验",下游任务微调更快更好

亮点与创新

核心贡献: - 首次系统验证了缩放定律适用于人形机器人全身控制 — 跟LLM/CV一样,更大模型更多数据更多计算就是能稳定涨点【原文摘要】 - 提出用大规模运动跟踪作为自监督预训练任务,不需要奖励工程,数据易得【原文 §2】 - 统一架构支持多种输入方式,实用性强,能直接落地到遥操作、示教等场景【原文 §3】

这篇论文是NVIDIA 向人形机器人领域发力的一个信号 — 他们把训练大模型的思路(scaling)直接搬过来,证明了即使在机器人控制上,缩放也有效。


澄清:SONIC vs SONiC

这篇是NVIDIA的 SONIC (大写),人形机器人运动控制。之前那篇超算网络论文是 SONiC (小写i) = Software for Open Networking in the Cloud,开源网络OS。两个完全不同的东西,拼法只差一个大小写,有意思的巧合。



GR00T-WholeBodyControl 代码仓库分析

这是SONIC论文对应的官方开源代码库,包含完整的训练、仿真、遥操作和部署代码。

📦 项目概览

  • 类型:人形机器人全身控制算法框架 / 深度学习项目
  • 语言:Python (训练/推理) + C++ (部署到真机)
  • 模块:两个主要 Python 包 (decoupled_wbc, gear_sonic) + C++ 部署模块 gear_sonic_deploy

⚙️ 环境配置

运行环境

  • Python:≥ 3.10
  • 主要硬件支持:NVIDIA GPU (训练/仿真),针对 Unitree G1 人形机器人
  • 依赖框架:需要 NVIDIA Isaac Sim/Isaac Lab(训练必须单独安装)

核心依赖

gear_sonic(核心 SONIC 模型):

- numpy==1.26.4
- scipy==1.15.3
- torch>=2.4.0
- joblib, tqdm, easydict, loguru

可选依赖组: | 依赖组 | 用途 | |--------|------| | teleop | VR遥操作(PICO头显) | | sim | MuJoCo仿真 | | data_collection | 数据采集导出为 LeRobot 数据集 | | camera | OAK-D 相机驱动 | | training | PPO 模型训练(需要 Isaac Lab) |

decoupled_wbc(GR00T N1.5/N1.6 解耦控制器):

- numpy==1.26.4
- scipy==1.15.3
- torch
- [full] 包含gymnasium, mujoco, hydra-core, ray, flask, lerobot 

安装与使用

要求:Git LFS 必须安装(仓库包含大二进制文件:模型、mesh)

git clone https://github.com/NVlabs/GR00T-WholeBodyControl.git
cd GR00T-WholeBodyControl
git lfs pull
python check_environment.py

# 按用途安装:
bash install_scripts/install_mujoco_sim.sh    # 仿真
bash install_scripts/install_pico.sh          # VR遥操作
bash install_scripts/install_data_collection.sh # 数据采集
pip install -e "gear_sonic/[training]"        # 训练(需要先装 Isaac Lab)

训练命令示例

# 下载预训练 checkpoint
python download_from_hf.py --training

# 预处理 Bones-SEED 数据集
python gear_sonic/data_process/convert_soma_csv_to_motion_lib.py \
    --input /path/to/bones_seed/g1/csv/ \
    --output data/motion_lib_bones_seed/robot --fps 30 --fps_source 120

# 从预训练 checkpoint 微调
accelerate launch --num_processes=8 gear_sonic/train_agent_trl.py \
    +exp=manager/universal_token/all_modes/sonic_release \
    +checkpoint=sonic_release/last.pt \
    num_envs=4096 headless=True

🔧 功能模块

1. GEAR-SONIC:SONIC 论文方法实现(主模块)

gear_sonic/
├── config/             # Hydra 实验配置
├── data_process/       # 数据集预处理工具
├── envs/               # Isaac Lab 环境定义
├── camera/             # 相机 ZMQ 发布
├── trl/                # TRL PPO 训练扩展
├── train_agent_trl.py  # 训练入口
├── eval_agent_trl.py   # 评估入口
└── utils/              # 工具函数

gear_sonic_deploy/      # C++ 真机部署(ONNX 推理)

核心功能: - 大规模运动跟踪预训练(支持 1亿帧 数据) - 统一 token 空间设计:VR/键盘/VLA/视频 多种输入复用同一策略 - 支持从零训练或从 HuggingFace 预训练权重微调 - 导出 ONNX 供 C++ 部署

2. Decoupled WBC:解耦式控制器(GR00T N1.5/N1.6 使用)

decoupled_wbc/
├── control/
│   ├── base/           # 基础抽象:env, policy, sensor
│   ├── envs/
│   │   ├── g1/         # Unitree G1 机器人具体实现
│   │   └── robocasa/   # RoboCasa 桌面操作环境集成
│   ├── main/teleop/    # 遥操作运行脚本
│   ├── policy/         # 策略实现:
│   │                  # - 解耦 WBC:下肢 RL + 上肢 IK
│   │                  # - GEAR-WBC 策略
│   └── robot_model/    # G1 URDF 模型(多个版本)

核心设计:解耦控制 - 下肢强化学习,上肢逆运动学(IK),降低控制复杂度。

模块依赖关系

┌─────────────────────────────────────────────────────────────┐
│ 输入:VR / 键盘 / VLA / 视频                                │
└──────────────┬──────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────────────┐
│ 统一 Token 生成                                              │
└──────────────┬──────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────────────┐
│ SONIC / Decoupled-WBC 策略网络                              │
│ → 输出关节位置目标                                           │
└──────────────┬──────────────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────────────┐
│ 低级别控制器 / 执行器                                       │
└──────────────┬──────────────────────────────────────────────┘
               │
       ┌───────┴───────┐
       ▼               ▼
  ┌─────────┐    ┌──────────┐
  │ 仿真    │    │ 真机机器人  │
  │ MuJoCo  │    │  C++部署   │
  └─────────┘    └──────────┘

🧠 核心逻辑

数据流(训练)

原始人类运动数据 (MoCap)
  → 重定位到机器人关节空间 (retarget)
  → CSV → 运动库格式预处理过滤
  → Isaac Lab 并行环境加载
  → PPO 训练(运动跟踪任务)
  → 策略网络学习 → 输出关节目标位置

数据流(推理)

用户输入(VR/键盘/VLA/视频)
  → 生成运动 token
  → SONIC 策略网络推理
  → 输出关节位置
  → 发送到仿真/真机执行

关键算法要点

  • 缩放定律:模型越大数据越多,性能稳定提升
  • 自监督运动跟踪:不需要奖励工程,直接用 MoCap 密集监督
  • 解耦控制:下肢 RL + 上肢 IK,工程上实用
  • 统一 token 空间:多输入接口复用同一模型

📊 公开实验结论

缩放 效果
模型 1.2M → 42M 未见运动跟踪误差显著下降
数据规模扩大 支持更丰富动作类型(走/跑/爬/跳/操作)
Sim2Real 仿真训练直接迁移到真机,很少或无需微调

支持的行为:行走、跑步、侧向移动、站起、蹲下、跳跃、跪姿、四足爬行、肘爬、双手操作、物体传递,支持多种运动风格。

训练资源:典型 64+ GPUs,总计 ~9,000 GPU 小时训练。


💡 代码亮点

  1. 工程化成熟:按使用场景分离 venv,不互相污染依赖,一键安装脚本
  2. 分离关注点:Python 做训练仿真,C++ 做真机部署,工业级设计
  3. 开箱即用:Unitree G1 模型已经内置,直接上手
  4. 开放完整:训练代码、预训练权重、部署代码全部开源
  5. 双许可证:代码 Apache 2.0,模型允许商业使用

未开放部分:VLA 微调和大规模数据采集工作流(TODO 待发布)


License

  • 代码:Apache 2.0
  • 模型权重:NVIDIA Open Model License(允许商业使用,需遵守 NVIDIA 可信AI条款)

Citation

@article{luo2025sonic,
    title={SONIC: Supersizing Motion Tracking for Natural Humanoid Whole-Body Control},
    author={Luo, Zhengyi and Yuan, Ye and Wang, Tingwu and Li, Chenran and Chen, Sirui and Castañeda, Fernando and Cao, Zi-Ang and Li, Jiefeng and Minor, David and Ben, Qingwei and Da, Xingye and Ding, Runyu and Hogg, Cyrus and Song, Lina and Lim, Edy and Jeong, Eugene and He, Tairan and Xue, Haoru and Xiao, Wenli and Wang, Zi and Yuen, Simon and Kautz, Jan and Chang, Yan and Iqbal, Umar and Fan, Linxi and Zhu, Yuke},
    journal={arXiv preprint arXiv:2511.07820},
    year={2025}
}

0 Comments