一句话定位

HOVER(Humanoid Versatile Controller)先用 RL 训一个全身运动模仿 oracle 策略吃下大规模 AMASS 人类动作,再把它蒸馏进一个统一的多模态学生策略:同一套权重在部署时就能通过”掩码”在 kinematic 位置跟踪 / 关节角跟踪 / root 速度-高度-姿态跟踪之间任意切换(>15 种模式,上下半身独立),覆盖并逐项超过 exbody、H2O、OmniH2O、HumanPlus 等为单一模式专门训练的 specialist,真机部署在 19-DoF Unitree H1 上(NVIDIA GEAR,ICRA 2025)。

背景与定位

这是 NVIDIA GEAR 团队 humanoid whole-body control 系列的”统一化”一环,直接踩在几条前作肩上:

  • 表现性全身控制 exbody(ExBody,上半身关节角 + root 速度)与 exbody2
  • 人到人形遥操作模仿 H2O(he2024learning,跟踪 8 个 keypoint 的 kinematic 位置)、OmniH2O(he2024omnih2o,只跟头 + 双手 kinematic 位置,可视觉遥操),本文的 oracle 网络结构、proprioception 25 帧堆叠、domain randomization 复用 OmniH2O 的配方,motion retargeting 则沿用 H2O(he2024learning)。
  • HumanPlusfu2024humanplus,全身关节角 + root 跟踪)。

核心矛盾(论文开篇即点明):这些工作**“目标一致、接口各异”——都在做 motion tracking,却各用一套 command space(有的 root 速度、有的关节角、有的 keypoint 位置),互不兼容。一个用 root 速度跟踪在崎岖地形行走的机器人,无法无缝切到需要精确关节角/末端位置的双手操作。作者的关键洞见**:full-body kinematic motion imitation 可以作为所有这些任务的公共抽象——先学一个能精确模仿全身运动学的 oracle,它自带平衡、协调、肢体精控的通用 motor prior,再把这些技能蒸馏成一个能”降维”到任意子集命令的 generalist。范式上属于 teacher-student(oracle-distillation) + goal-conditioned RL + 命令掩码,与图形学里的 MaskedMimic(tessler2024masked,distillation 做 flexible kinematic 约束)、MHC(dugar2024learning,RL 多模态但不支持任意子集)同源,但 HOVER 强调能直接跑真机、支持任意命令子集。论文把这套统一命令空间做成 Table I:ExBody/H2O/OmniH2O/HumanPlus 都是 HOVER 命令空间的子集,HOVER 是唯一勾满”多模态控制”的行。

模型架构

这是一个 纯本体感知的 RL 全身控制器(不是 VLA,无 VLM/视觉编码),两段式:oracle teacher + 蒸馏 student。

统一命令空间(部署接口,本文最大设计):分上半身、下半身两个控制区,每区支持三种模式,靠 one-hot mask 激活任意组合:

  • Kinematic Position Tracking:机器人关键刚体点的目标 3D 位置。
  • Local Joint Angle Tracking:每个电机的目标关节角。
  • Root Tracking:目标 root 速度、高度、以及 roll/pitch/yaw 姿态。
  • 设计准则两条:Generality(涵盖大多数已有配置,能对接手柄/键盘/动捕/外骨骼/VR)与 Atomicity(各维度独立,可任意组合)。号称覆盖 >15 种实用模式。

Oracle 策略 $\pi^{\text{oracle}}(a_t|s_t^{\text{p-oracle}},s_t^{\text{g-oracle}})$

  • 网络:三层 MLP,维度 [512, 256, 128](与 OmniH2O 相同)。
  • proprioception $s_t^{\text{p-oracle}}=[\bm{p}_t,\bm{\theta}_t,\dot p_t,\bm{\omega}t,\bm{a}{t-1}]$:全身刚体位置、朝向、线速度、角速度、上一步动作(含特权信息)。
  • goal state $s_t^{\text{g-oracle}}$:参考位姿 $(\hat{\bm\theta}_t,\hat{\bm p}_t)$ 加上参考与当前的单帧差(朝向差、位置差、线速度差、角速度差),覆盖全身所有刚体。
  • 动作 $\bm a_t\in\mathbb{R}^{19}$:19 个关节的目标位置,送入 PD 控制器驱动电机。

Student 策略 $\pi^{\text{student}}$(即 HOVER,真机部署的那个)

  • proprioception $s_t^{\text{p-student}}=[q,\dot q,\omega^{\text{base}},g]{t-25:t}\cup[a{t-25:t-1}]$:关节位置、关节速度、base 角速度、重力向量、动作历史,堆叠最近 25 帧(只用真机可得量,无特权信息)——沿用 OmniH2O。
  • 命令掩码 $s_t^{\text{g-student}}=M_{\text{sparsity}}\odot[M_{\text{mode}}\odot s_t^{\text{g-upper}},,M_{\text{mode}}\odot s_t^{\text{g-lower}}]$:先用 mode mask 对上、下半身独立选一种命令模式,再用 sparsity mask 稀疏化(例如上半身只跟双手 kinematic 位置、下半身只跟躯干关节角)。mode 与 sparsity 掩码的每一位都从 Bernoulli(0.5) 采样,回合开始随机、回合内固定。
  • 机器人本体:Unitree H1,19 DoF、总质量约 51.5 kg、身高约 1.8 m

数据

  • 来源:AMASS(mahmood2019amass)大规模人类动捕数据集,retarget 到 Unitree H1 得到只含人形可行动作的数据集 $\hat{Q}$。
  • Motion Retargeting(三步):① 用正向运动学算 humanoid 的 keypoint 位置;② 拟合 SMPL 模型,优化 SMPL 参数对齐这些 keypoint;③ 用梯度下降匹配拟合后 SMPL 与 humanoid 的对应 keypoint,把 AMASS 重定向过来。整套 “sim-to-data” 流程沿用 H2O(he2024learning)。
  • 规模/成本:论文正文未给 $\hat{Q}$ 精确条目数;README 侧披露 retarget 整个 AMASS 在 32 核 CPU 机器上最多约 4 天,评测里提到约 8k 条参考动作(sim-to-sim 评 8k 条约需 5h)。
  • 动作标注:无需人工标注——目标即 retarget 后的参考运动轨迹(kinematic 全身运动学),reward 直接由参考-当前差构成。
  • sim-vs-real:训练全程在仿真(论文用 IsaacGym,开源码迁到 IsaacLab 2.0.0 / IsaacSim 4.5.0),配 domain randomization 做 sim-to-real;真机在 Unitree H1 上评 20 条站立动作 + 定性运动/遥操。

训练方法

两阶段 oracle → distillation

阶段 1 — Oracle RL 训练:目标条件 RL(goal-conditioned RL),PPO 最大化折扣累积回报,学 real-time 人类运动跟踪。reward = 惩罚项 + 正则项 + 任务项三部分(Table II 完整披露权重),例如:

  • 任务奖励:body position $8e1$、DoF position $3.2e1$、root velocity $1e2$、body rotation / root rotation $2e1$、DoF velocity $1.6e1$、body velocity / angular velocity 各 $8$。
  • 惩罚:termination $-2.5e2$、torque limits $-2$、DoF position limits $-1.25e2$、stumble $-1.25e3$、in-the-air $-2e2$、max feet height per step $-3e3$。
  • 正则:lower/upper action rate、DoF acc/vel、feet orientation、slippage、feet contact force 等。
  • domain randomization 沿用 OmniH2O,随机化物理参数与本体以支撑 sim-to-real。

阶段 2 — 多模态蒸馏:用 DAggerross2011reduction)。每回合 roll out 学生策略拿到 $(s_t^{\text{p-student}},s_t^{\text{g-student}})$ 轨迹,同时算出对应 oracle 状态,查询 oracle teacher 得到参考动作 $\hat{\bm a}_t$,学生用监督 L2 损失 $\mathcal{L}=|\hat{\bm a}_t-\bm a_t|_2^2$ 对齐。命令掩码在这一步随机施加(上文 Bernoulli(0.5)),逼学生学会在任意命令子集下都复现 oracle 的动作——这就是”多模态”的来源:oracle 永远看全身完整命令,学生只看被 mask 后的稀疏命令,却要输出同样的动作。

  • 训练超参(README):teacher max_iteration 默认设 1e7,实际 50k–80k 迭代即可得好策略;推荐 ≥4096 个并行环境(示例用 1024 是玩具规模)。student 蒸馏典型 10k 迭代收敛。

Infra(训练 / 推理工程)

  • 训练硬件单 GPU 即可(README 明确 “Training requires a single GPU”)。给出实测吞吐:
    • Teacher(100k 迭代):RTX 4090 → 0.84 s/iter、23.3 h;RTX A6000 → 1.90 s/iter、52.8 h;L40 → 1.61 s/iter、44.6 h。
    • Student 蒸馏(10k 迭代):RTX 4090 → 0.097 s/iter、0.27 h;A6000 → 0.18 s/iter、0.50 h;L40 → 0.176 s/iter、0.49 h。
  • 并行/精度:IsaacGym(论文)/ IsaacLab(开源)GPU 大规模并行仿真,推荐 4096 envs;混合精度/并行策略论文未细述。评测 1024 envs 约需 13 GB 显存
  • 数据预处理:AMASS 全量 retarget 在 32 核 CPU 上最多约 4 天。
  • 推理/部署:真机 Unitree H1(19 DoF),提供 sim-to-sim(MuJoCo,单环境,评 8k 条约 5h)与 sim-to-real(H1 硬件 wrapper)两条验证链路。具体控制频率 / 推理延迟 / 边缘算力未在论文或 README 披露(未披露);网络仅三层 MLP,推理开销极小。

评测 benchmark

在 IsaacGym 仿真(retarget AMASS $\hat{Q}$)与真机 Unitree H1 上评测,三个问题 Q1/Q2/Q3。指标:Survive 率、全局/局部 MPJPE(mm)、上/下半身关节误差(rad)、root 速度(m/s)、root roll/pitch/yaw(rad)、加速度/速度误差(物理真实性)。

Q1 — vs Specialist(Table III,5 seeds):同一个 HOVER 策略用固定 mask 匹配各 specialist 的模式:

  • Oracle:Survive 99.3%、$E_{\text{g-mpjpe}}$ 119 mm、$E_{\text{mpjpe}}$ 59.4 mm。
  • H2O 模式:HOVER $E_{\text{g-mpjpe}}$ 121 mm vs H2O specialist 137 mm;$E_{\text{mpjpe}}$ 60.6 vs 66.3 mm。
  • OmniH2O 模式:HOVER 128 mm vs specialist 149 mm;$E_{\text{mpjpe}}$ 62.5 vs 76.4 mm。
  • ExBody 模式:HOVER g-mpjpe 185 vs 275 mm、上半身关节 0.148 vs 0.166 rad。
  • HumanPlus 模式:HOVER g-mpjpe 182 vs 266 mm。
  • 结论:每种模式下 HOVER 至少在 12 项指标中的 7 项优于对应 specialist——即便只看单一模式,从 oracle 蒸馏也胜过直接 RL 训 specialist

Q1 补充 — 其他模式 specialist(Table IV):额外 4 个模式,HOVER 逐项占优,如 Right-Hand 模式 g-mpjpe 128 vs 220 mm、Head 模式 mpjpe 80.0 vs 104 mm。

Q2 — vs 其他 generalist 训练法(Figure 4):对比”同样掩码流程但从零 RL 训”的 multi-mode RL baseline,8 模式 × 4 指标共 32/32 项 HOVER 全胜——证明”从跟踪全身运动学的 oracle 蒸馏”对学 generalist 至关重要。

Q3 — 真机(Table V,20 条站立动作,5 tests):HOVER 在 12 项指标中的 11 项优于 specialist,如 OmniH2O 模式 g-mpjpe 47.5 vs 51.2 mm、ExBody 模式 upper-joint 0.126 vs 0.131 rad。另演示运动中突变切换模式(ExBody→H2O 前进、HumanPlus→OmniH2O 转身/后退、root速度→root俯仰)与 Vision Pro 遥操(随机 mask 头/手位置,处理遮挡),全部平滑过渡。

创新点与影响

  • 贡献三条(作者自述):① 提出 HOVER,支持多控制模式的统一神经全身控制器;② 证明通过 policy distillation,HOVER 跨模式共享 motor skill 并超过单独训练的策略;③ 仿真+真机验证无缝模式切换与优于 baseline 的多模态控制。
  • 改变了什么:把”每个命令空间训一个专用控制器”这个碎片化范式,收敛成”一个 oracle 蒸馏出一个能任意降维到子集命令的 generalist”。反直觉的核心发现——generalist 不牺牲反而超过 specialist:作者假设是因为策略跨模式复用了平衡、类人运动、肢体精控等共享物理知识,而 single-mode 策略容易过拟合特定 reward/环境。掩码机制让同一策略天然抗遮挡、可对接手柄/动捕/VR 多种设备。
  • 作者自陈局限:当前真机只演示了手动在模式间切换,自动 mode-switching 模块留作未来工作;sparsity 随机化按论文策略可能引入运动歧义(README 建议关掉 sparsity 随机化);命令空间与实验都限定在 19-DoF H1 单一形态,未做跨本体(cross-embodiment)验证。

原始链接

一手源存档(sources/)