一句话定位

ExBody2 把「表现力全身控制」从 ExBody v1 的「上半身跟踪 + 下半身只跟 root」升级为真·全身运动跟踪:靠一个「特权 teacher(PPO)→ 可部署 student(DAgger 蒸馏)」两段式管线,把跟踪目标解耦成局部关键点跟踪 + 速度控制,再配上对 AMASS/CMU 精心筛过的 250 条动作子集,让 Unitree G1/H1 在真机上跑、蹲、跳舞、出拳等大幅度动作时既跟得准又站得稳。

背景与定位

范式:sim-to-real 运动跟踪型全身控制(motion-tracking whole-body control, WBC)。 输入一条运动学参考动作(来自 AMASS mocap 或生成模型),策略在仿真里用 RL 训练、再零样本迁到真机,输出 PD 关节目标位置去模仿这条动作。一条策略泛化到所有输入动作。

这条线的三个直接对手,ExBody2 都拿来做 baseline 并逐条指出局限:

  • ExBody(Cheng et al. 2024, arXiv 2402.16796):同组前作,只跟上半身关键点/关节,下半身仅跟 root 速度、不显式跟步态;靠「牺牲下半身跟踪保平衡」。ExBody2 把它扩成全身版记作 Exbody†
  • H2O / OmniH2O(He et al. 2024):用 SMPL 虚拟人做可行性过滤,但用全局关键点跟踪——全局关键点会随时间漂移、误差累积,机器人一旦跟不上当前全局关键点就在下一步失败,只适合高度静止的场景。
  • 传统基于动力学建模的 WBC(ZMP、逆运动学重定向等)。

ExBody2 的四点技术主张:(i) 构造可行且多样的训练集(不是越大越好);(ii) teacher-student 两段式训练;(iii) 局部关键点跟踪 + 速度解耦控制;(iv) 用 CVAE 续接长时程动作。它与物理仿真角色控制(PHC 等)共享「mocap 模仿」思路,但落在真机;与纯真机 locomotion RL(real-world-humanoid-locomotion-rl)相比多了「表现力/全身跟踪」维度。训练仿真用 IsaacGym(isaac-lab-orbit 同源)。

作者:Mazeyu Ji、Xuanbin Peng(共一),Fangchen Liu、Jialong Li、Ge Yang、Xuxin Cheng、Xiaolong Wang(Xuxin Cheng / Xiaolong Wang 共同指导)。单位 UC San Diego / UC Berkeley / MIT / NVIDIA。

模型架构

策略骨架:MLP(非 Transformer 策略),PD 关节目标位置输出。 把各路输入 concat 后过 MLP。

  • 动作头(action head):连续控制,直接回归 PD 控制器的目标关节位置 $\hat a_t$。Unitree G1 为 $R^{23}$(23 DoF),H1 为 21 维(论文用升级版 H1,21 DoF;旧 H1 为 19 DoF)。低层 PD 控制器把目标位置转成力矩。
  • 状态空间三段(teacher):本体感觉 $o_t$ + 特权信息 $p_t$ + 运动跟踪目标 $g_t$。
    • 本体感觉(Table 6):DoF 位置 / DoF 速度 / 上一步动作(各 23 维 G1)+ root 角速度(3) + roll/pitch/yaw(各 1),旋转来自 IMU;单帧 75 维(G1)/69 维(H1),乘 25 帧历史 → G1 75×25、H1 69×25。
    • 特权信息(Table 7,仅 teacher,仿真可得):DoF 差(23) + 关键体差 Keybody(36) + root 速度(3) + root 角速度(3),共 65 维(G1)/63 维(H1);含真值 root 速度、真实各连杆位置、摩擦系数、电机强度等物理量。
    • 运动跟踪目标(Table 8):DoF 位置(23) + 关键点位置(36) + root 速度(3) + root 角速度(3) + roll/pitch/yaw/height(各 1),共 69 维(G1)/67 维(H1);可被 joystick 命令(线速度、身体姿态)叠加控制。
  • 解耦跟踪(Decomposed Tracking,核心设计):跟踪拆成 DoF(关节)跟踪keypoint(身体关键点)跟踪。不用全局关键点,而是把全局关键点映射到机器人当前局部坐标系,全局层面改用基于速度的跟踪。训练时允许关键点在全局系里小幅漂移一段时间再周期性 reset 回局部系(等价一种 data augmentation,鼓励机器人跟带漂移的关键点);部署时严格用局部关键点 + 速度解耦控制。
  • CVAE(长时程动作合成):Transformer-based Conditional VAE,架构参照 ACT/Zhao et al. [79]。DoF 位置与 root 信息分别用两个 MLP tokenize;encoder(双向注意力,4 层)取 [CLS] token 得后验高斯 $\mathcal N(\mu,\sigma^2)$,decoder(因果注意力,4 层)从 $z$ + 历史条件 + 位置编码自回归预测未来动作;推理时 $z$ 取先验均值(0)+ 时间集成(temporal ensemble)。配置:8 heads、Transformer dim 512、latent $z$ 128、context 50 帧、预测 horizon 15 帧。

数据

来源:AMASS 的 CMU mocap 子库(完整 CMU 含 1,919 条动作)。 全部动作数据的获取「在本文范围之外」——ExBody2 的贡献是筛选/curation,不是采集。

  • 筛选原则(分上/下半身区别对待):上半身动作追求多样(提升适应性与跟踪精度);下半身动作保守可行(只保留走路、细微站姿调整等基础 locomotion,剔除或改写跳跃、复杂旋转等超出机器人能力的高动态动作,避免给学习引入噪声)。核心论点:多样性 + 可行性都要,噪声动作会拖垮可行动作的跟踪精度
  • 四个规模递增的数据集(均为 CMU 子集,用于消融):
    • $\mathcal D_{50}$:50 条,只有站立/走路等基础静态动作,上下肢都缺多样性;
    • $\mathcal D_{250}$:250 条,加入更丰富上肢动作 + 跑步/简单舞蹈等适度挑战的下肢动作(可行、中等难度)—— 主实验用它,被论证为最优
    • $\mathcal D_{500}$:500 条,含单腿跳、复杂舞步等,开始变噪、可行性下降;
    • $\mathcal D_{\text{CMU}}$:完整 1,919 条,含俯卧撑、地面翻滚、空翻等极端动作,未过滤、噪声大。
  • 动作标注:参考动作即 mocap 轨迹本身(DoF/关键点/root 运动),无需额外动作标注。
  • sim vs real / co-training:策略全程仿真训练(IsaacGym),零样本迁真机,无真机数据 co-training。CVAE 单独在 AMASS CMU 上训。

训练方法

两段式 teacher-student(借鉴 RMA/特权蒸馏范式)。

  1. Teacher(PPO + 特权信息):用现成 PPO 最大化折扣累积奖励,特权信息(真值 root 速度、连杆位置、摩擦/电机强度)提升样本效率,得到高精度模仿的 oracle。
    • 跟踪奖励(Table 1):DoF 位置 $\exp(-0.7|q_{ref}-q|)$ 权重 3.0;关键点位置 $\exp(-|p_{ref}-p|)$ 权重 2.0;线速度 $\exp(-4|v_{ref}-v|)$ 权重 6.0、速度方向 $\exp(-4\cos(\cdot))$ 权重 6.0(速度项权重最高);roll&pitch 1.0;yaw 1.0。
    • 正则奖励(Table 5,为 sim2real 与防抖):DoF 越界 −10、DoF 加速度 −3e-7、DoF error −0.5、能量 −0.001、竖直线速度 −1、xy 角速度 −0.4、action rate −0.1、feet air time +10、feet velocity −0.1、feet contact force −0.003、stumble −2、hip pos error −0.2、waist roll-pitch error −1、ankle action −0.1。
  2. Student(DAgger 蒸馏):去掉特权信息,改用更长历史观测(25 帧)。roll out student 产生状态,teacher 对每个访问状态给 oracle 动作作监督,MSE 损失 $l=|a_t-\hat a_t|^2$ 迭代到收敛。student 靠历史观测隐式恢复 teacher 的特权速度信息 → 显著改善速度跟踪
  • 关键超参(Table 10):Adam(β=0.9/0.999),lr 1e-4,batch 4096。Teacher:γ 0.99、clip 0.2、entropy coef 0.005、max grad norm 1、5 epoch、4 mini-batch、value loss coef 1;actor/value MLP 均 [512,256,128]。Student MLP [1024,1024,512]。
  • CVAE 训练(Table 9):AdamW(β 0.9/0.999),lr 3e-4、cosine schedule、warmup 2000、weight decay 0.01、batch 512、60,000 gradient steps;loss = 重建 + α·KL + β·smooth,α=β=0.5。

Infra(训练 / 推理工程)

  • 仿真:NVIDIA IsaacGym 大规模并行;PPO batch size 4096。GPU 型号 / 数量 / GPU-hours 均未披露。
  • 推理 / 真机部署(Unitree G1):机载 Jetson Orin NX 作主计算与通信;策略推理 50 Hz,命令下发延迟 18–30 ms低层接口 500 Hz;策略与低层通信走 LCM(Lightweight Communications and Marshalling)。实时姿态估计(真人驱动 demo)用外部 HybrIK
  • 未披露:训练总时长、edge 上的单步延迟拆分、H1 部署细节(H1 表 2 部分 Sim2Real 项标 ✗)。

评测 benchmark

全部为仿真运动模仿定量结果(IsaacGym,G1/H1,5 seeds,粗体为统计显著),指标越低越好:$E_{vel}$(root 线速度误差 m/s)、$E_{mpkpe}$(关键体位置误差 m)、$E_{mpjpe}$(关节角误差 rad),另分上/下半身。

主结果(Table 2,训练集 $\mathcal D_{250}$):

RobotMethod$E_{vel}$↓$E_{mpkpe}$↓$E_{mpkpe}^{lower}$↓$E_{mpjpe}$↓$E_{mpjpe}^{lower}$↓
G1ExBody0.30830.11340.13430.16600.2891
G1OmniH2O*0.24290.09590.10410.11030.1364
G1ExBody20.18910.08540.09280.09380.1149
H1OmniH2O*0.42540.15400.15090.21840.2240
H1ExBody20.30160.12900.12470.17630.1809
  • ExBody2 在两平台全指标最优,速度跟踪优势最大(G1 0.1891 vs OmniH2O* 0.2429 vs ExBody 0.3083);下半身跟踪也明显领先。上半身跟踪略逊于 ExBody,但 ExBody 是靠牺牲下半身换来的。
  • 数据集消融(Table 3):$\mathcal D_{250}$ 训练的策略在 out-of-distribution 的完整 $\mathcal D_{\text{CMU}}$($E_{vel}$ 0.1901)和全新 $\mathcal D_{\text{ACCAD}}$($E_{vel}$ 0.3533)上都超过 $\mathcal D_{500}$ 和完整 $\mathcal D_{\text{CMU}}$ 训练的策略——更多但更噪的数据反而更差,验证「适度多样 + 可行」最佳。
  • 策略消融(Table 4,$\mathcal D_{250}$/G1)
    • 历史长度:25 最优($E_{vel}$ 0.1891);0 历史崩坏(0.3101);10/50/100 相近但更长反而变差(100 → 0.2119)。
    • 延迟全局 reset:去掉 reset,$E_{vel}$ 0.1891→0.2545(速度跟踪显著变差)。
    • 去 DAgger(单段 RL):$E_{vel}$ 0.1891→0.3115、$E_{mpjpe}$ 0.0938→0.1152——没有特权速度引导,单段策略学不到速度。

创新点与影响

  • 贡献:(1) 首次系统论证 mocap 训练集的**「多样性×可行性」权衡**,给出「不是越大越好、250 条适度子集最优」的可操作结论;(2) 局部关键点跟踪 + 速度解耦 + 延迟全局 reset 的组合,解决全局关键点漂移导致的跟踪失败;(3) 用 teacher-student(特权速度→历史观测)蒸馏把速度跟踪拉满;(4) 用 Transformer CVAE 续接长时程动作,真机可跑 43 秒长舞蹈无需人工复位。整体把「表现力全身控制」推到跑/蹲/舞/拳等大幅度动态动作。
  • 改变了什么:成为 2024 末真机表现力 humanoid WBC 的强 baseline(相对 ExBody v1 / OmniH2O 的全身 + 速度跟踪跃升),也把「数据 curation 比数据规模更重要」这一经验带进了 humanoid motion tracking。
  • 作者自述局限自动化地挑选高质量数据集仍是开放问题——本文的数据集是人工设计筛选的,如何自动做数据选择是未来工作。(另:代码在项目页标注但发布时为占位链接,未见公开 repo;无 HF 权重。)

原始链接

一手源存档(sources/)

  • exbody2—project-page — 项目页快照(含 abstract、demo 列表、BibTeX、媒体报道)
  • arXiv 原文 PDF(arXiv:2412.13196,不入 git):正文 + 附录 A(部署/状态空间/仿真任务)+ 附录 B(baseline/CVAE/超参 Table 9-10)+ 附录 C