BeyondMimic:从「跟踪一段动作」到「用一个模型解所有未见任务」的人形控制
🎯 为什么重要:人形机器人「既敏捷又通用」的死结
让人形机器人像人一样动,有两条历史路径,但都被卡住:
① 模型派(MPC + 简化动力学):能用、稳,但动作不自然——重心高度恒定、膝盖永远弯着,跑不快也跳不高;
② RL 派(手写奖励):能学出跑、跳、爬台阶,但每个动作都要单独调奖励,而且「自然度」根本写不进 reward,最后还是「弯着膝盖、咚咚砸地」;
③ 跟踪派(DeepMimic)与风格派(AMP):DeepMimic 动作自然但策略绑死在训练时见过的那段参考上——换个目标、加个障碍,就得从头训;AMP 改用判别器学风格分布、不再逐帧跟踪,但每个任务仍要从零训练 motion prior,部署时同样无法即时响应新目标。
BeyondMimic 想同时拿下三件事:敏捷(agility)、自然(naturalness)、通用(versatility)。前两个靠「干净的 RL tracking 公式」,第三个靠「扩散模型的 classifier guidance」——这俩拼起来,就是论文标题里「From Motion Tracking to Versatile ... via Guided Diffusion」的全部意思。
💡 核心思想:两段式——先训跟踪器,再训潜扩散「先验 + 引导」
核心创新在 Stage 2:状态-动作联合潜扩散。为什么不直接扩散动作?因为 PD 动作空间充满尖峰(力矩突变),扩散模型假设平滑,直接学不稳。论文用条件 VAE(编码器吃参考动作、解码器吐 PD 动作)把跟踪策略蒸馏成一个平滑潜空间,再在潜空间做扩散,就绕开了这个不平滑(PDF 明确强调「encode reference motions instead of raw PD actions」)。状态和动作一起建模,才能让「未来状态代价」的梯度通过动作体现——这是 classifier guidance 生效的前提。
🛠️ Stage 1 的三个反共识设计
作者反复强调:「Sim-to-real 不需要重型 domain randomization」。他们把 RL 公式精简到极致,反而获得了跨动作的通用性:
| 设计 | 具体做法 | 为什么这样选 |
|---|---|---|
| ① 极简 reward | 任务奖励只看 4 个量的 MSE(位置、朝向、线速度、角速度),高斯形映射;正则只有 3 项:r_limit / r_smooth / r_contact | 每加一项都要为「这个动作该不该罚」做特调。极简 = 跨动作通用 |
| ② 锚点 + 相对跟踪 | 选定锚体(根/躯干)全局跟踪;其他部位只在「锚点中心系」里跟踪,允许整体漂移 | sim-to-real 必然漂移;跟踪相对姿态能保风格又允许位置误差 |
| ③ 自适应采样 | 按失败率采样片段:难段(如侧手翻)多采,易段(走路)少采;学会后回归均匀 | 均匀采样会让简单段被反复练,难段永远学不会——长序列的硬伤 |
| ④ 低 PD 阻抗 + 精确机电模型 | 放弃「高 PD 增益 = 简单」的老路;正确计算 armature,只随机化真正不确定的 3 项(接触摩擦+恢复系数/默认关节角/质心) | 高阻抗会把关节变成「僵硬位置伺服」,丢了被动柔顺,碰地就崩 |
| ⑤ 旋转用 Rot6D、不加历史 | 观测里姿态用 6D 表示;不堆叠历史帧 | 四元数/轴角在 sim-to-real 时失稳;历史会让策略记忆仿真伪影 |
Stage 2 的关键公式是 classifier guidance 的简化形式。由 Bayes:
$$\nabla_\tau \log p(\tau \mid \tau^*) = \nabla_\tau \log p(\tau) - \nabla_\tau G(\tau)$$
第一项是无条件扩散学到的「先验分数」(来自训练数据),第二项是任意可微任务代价的梯度。部署时,每个去噪步把这两项加起来,就能让轨迹朝着「既像人、又满足任务」的方向收敛。代价函数可以是:朝目标速度、到航点、绕开障碍(SDF 距离场)、命中关键帧。
VAE 和 AMP 学的是「分布本身」——只能采样,不能优化。扩散学的是「分布的梯度场」(score function),这恰好就是一个现成的优化手柄。加一项任务梯度,等价于把无条件分布推向条件分布。所以同一个模型,换个 cost 函数就能解不同任务,不用重训。这就是论文标题里「guided diffusion」的全部魔法。
📊 关键结果:人级敏捷 + 用户偏好 + 零样本多任务
| 维度 | 数字(来自 PDF) |
|---|---|
| 训练数据规模 | ≈ 2.5 小时人类动捕(数百段动作,PDF 原话 "hundreds of diverse motions") |
| 真机验证 | 30 段 / 15 分钟片段成功部署 |
| 预测时域 | 0.64 秒(滚动窗口) |
| 持续跑 | 50 m+ 连续运行稳定 |
| 速度跟踪误差 | 步行 12.14% / 跑步 13.65%(仿真) |
敏捷度(空中侧手翻)——直接对标人类运动员:
| 指标 | 机器人 | 人类参考 |
|---|---|---|
| 腾空峰值加速度 | 31 m/s² | — |
| 骨盆角速度峰值 | 20 rad/s | — |
| 骨盆角速度均值 | 7.01 rad/s | 7.75 rad/s(熟练人类空中动作 [50]) |
自然度用户研究(N=77,双尾 binomial 检验)——BeyondMimic vs Unitree 原厂控制器:
| 任务 | BeyondMimic | Unitree | Cohen's h |
|---|---|---|---|
| 综合偏好 | 70.8% | 29.2% | 0.859(大效应) |
| 步行 | 57.0% | 43.0% | 0.281 |
| 跑步 | 84.7% | 15.3% | 1.532(极大) |
消融(侧手翻,MuJoCo sim-to-sim 成功率)——证明潜空间设计不可或缺:
| 方法 | 成功率 |
|---|---|
| 直接扩散(无 VAE 潜空间) | 5% |
| 潜扩散(本文) | 95% |
消融(延迟对 sim-to-real 的影响)——印证「精简系统实现」的必要性:2 ms 延迟 → 速度误差上升;5 ms → 1 次失败;10 ms → 3 次中 2 次失败。
🌐 在领域中的位置
BeyondMimic 在 T02(运动模仿谱系)和 T05(扩散策略谱系)的交汇点:它用 DeepMimic 式运动跟踪(Stage 1,学出多段敏捷技能)+ Diffusion Policy 的技术(Stage 2 潜扩散 + classifier guidance,把技能蒸馏成可引导的先验)+ 精简 RL 配方(去掉冗余 domain randomization),把人形控制从「一动作一策略」推到「一模型解所有任务」。被视为通向「人形行为基础模型」的里程碑。
❓ 常见误区
它和 Diffusion Policy 是一回事吗?
不是。Diffusion Policy 在动作空间扩散,需要监督数据做模仿学习;BeyondMimic 是状态-动作联合潜扩散,先用 RL 策略当老师产生数据,再通过 classifier guidance 在线优化——所以能解训练时没见过的任务(避障、关键帧补全)。
「不重训、不微调」真的吗?
对 stage 2 的扩散模型来说是真的:换任务只换 cost 函数,权重不动。但 stage 1 的跟踪策略仍然每段动作训一个。论文的真正贡献是「把 stage 1 的多样性折叠进 stage 2 的一个先验」,从而避免每个新任务都回到 stage 1。
RL 公式这么精简,为什么 prior work 要堆那么多 reward 项?
作者的解释是:大量正则化是用来「补偿仿真和现实差距」的——当 sim-to-real gap 大时,加正则让策略更保守。但 BeyondMimic 通过精算机电模型(armature、低 PD、Rot6D、去延迟),把 gap 压到很小,于是正则化可以大幅删掉。这是「治本」vs「治标」的差别。
0.64 秒的预测时域够吗?
对反应式控制和局部避障够,对长时程规划不够——论文 §Limitations 明确承认。延长时域会让扩散不稳、历史依赖导致动作重复,这是未来工作的方向。