深度⏱ ~3 min
里程碑
⭐ 为何重要

把 guided diffusion 作为 motion tracking 策略的指导信号,让真机人形从大规模人类动捕中直接学会跳/旋转/冲刺/翻筋斗等高难全身技能,是『diffusion 生成动作 + RL tracking』在真机上的代表作。承上 DeepMimic/AMP 的 motion-imitation 范式与 ExBody/HOVER/ASAP/HiLo 的 whole-body control,启下 SONIC 等 scaling 工作,标志着 humanoid 动作学习从『跟踪单条参考轨迹』走向『从分布中采样并物理执行』。

机器人humanoid
数据集AMASS
上真机
物理感知
实时
输入模态proprioception
📍 演进位置
建立在
催生
  • general humanoid motor skills

论文:Qiayuan Liao, Takara E. Truong, Xiaoyu Huang, Yuman Gao, Guy Tevet, Koushil Sreenath, C. Karen Liu. Humanoid Control via Guided Diffusion. arXiv 预印本 2508.08241(v1 2025-08-11,arXiv comments 字段仅含项目页链接,未明示会议录用)。🌐 · 代码已开源:tracking 训练 与 C++ ONNX CPU 推理 两仓库。🌐 · 落在 T12(敏捷运动)转折 8 终点,同时是 T04 + T05 + T08 的交汇。

一句话直觉

让机器人做体操级的高难动作。

秘诀是把"跟跳"和"临时改主意"拆成两步。

这套方法之于动作生成,就像导航软件之于开车。

先有能跑各种路的底盘,再叠一个按目的地实时重规划的导航。

是什么·为什么

要解决的问题:人形机器人的两条老路走不到一起。📎

一条是"一个策略管很多技能"。它会做很多动作,但探索不足,动作不自然。

另一条是"一段动捕训一个策略"。动作自然,但每加一个技能都要重新调打分函数,扩不到几百种。

更要命的是:就算学了一堆原子技能,怎么让机器人在推理时按任务自由组合、切换?📎

BeyondMimic 的转身:两步走,第一步学动作,第二步学生成。📎

第一步证明跟跳不需要复杂打分。靠精准的关节建模加极简打分,一套配置能复盖上百段动捕。

第二步用扩散模型学"人类动作长什么样"。推理时用任意新目标的梯度引导它生成,无需重训。

方法核心(大白话):第一步,给每段人类动捕训一个跟跳策略。

关键不再堆复杂打分项。只用一项任务分(位置、朝向、线速度、角速度四项高斯指数和)加三项正则轻罚。

机器人关节调成低阻抗,像软弹簧。落地有缓冲,动作自然。

"锚点对齐"是另一个关键。机器人的躯干当锚点直接对齐参考。

其他部位只在锚点坐标系下追目标。允许整体 yaw 和高度慢慢漂移,但保住动作风格。📎

这套打分和关节调校对所有动捕共享。一百多段人类动捕能一口气训出来。

第二步,把这些跟跳策略的"动作口味"蒸馏进一个扩散模型。

扩散模型学的不是某段动捕,而是"人类动作整体长什么样"。

它学的是一个梯度场:每一步告诉你"怎么改更像人"。

到要用的时候,你给一个新目标。比如"往那个点走"或"躲开障碍"。

模型在生成每一步动作时,顺着新目标的梯度微调方向。

这样不用重训就能完成训练时没见过的任务。📎

为什么重要:第一个在真机上做出侧空翻、连续翻滚的人形强化学习

侧空翻腾空阶段峰值加速度约 31 米每平方秒。骨盆角速度峰值 20 弧度每秒,达到人类专业水平。📎

用户研究七十七人,整体偏好这套方法百分之七十,远超机器人原厂控制器。

更关键的是扩散模型能解决四类任务。速度跟随、航点导航、避障、动作补全,都靠推理时的不同代价。

训练时不需要枚举任务。这是人形控制从"专人专模"走向"通用模型"的关键一步。📎

一句话类比:BeyondMimic 之于任务切换,就像同声传译之于发言。

译员(扩散模型)先学好一门语言的全部味道。

换话题(新目标)时不用重新学语言,只要边听边顺着话题调词。

怎么做

核心机制·两阶段加零调优

阶段一用强化学习训跟跳策略,每段参考一个策略,但打分和关节调校全共享。

阶段二把策略蒸馏进一个潜空间,再训一个状态-动作扩散模型,推理时用梯度引导。📎

阶段一的关键设计

  1. 锚点对齐跟踪。参考动作在世界系,但仿真和真机会整体漂移。把躯干当锚点直接对齐参考;其他部位的目标在锚点坐标系下表达。这个变换丢掉锚点的 yaw 和高度漂移,保住风格。📎
  2. 极简打分(一项任务分加三项正则)。任务分是单一函数 $r_{\text{task}}=\sum_s\exp(-\bar e_s/\sigma_s^2)$,把位置、朝向、线速度、角速度四类误差各用一个高斯指数压到零一之间再求和。再叠三项正则轻罚:关节限位、动作平滑、自碰撞接触。对比前作一堆打滑、绊脚、接触力项,这是论文的"打分极简主义"卖点。📎
  3. 低阻抗关节。每关节刚度按启发式配:自然频率 10 Hz、阻尼比 2(过阻尼)。关键是反射惯量用齿轮比平方乘转子惯量来估。前作用高刚度让关节像硬位置伺服,真机不可行——会放大噪声、丢掉落地缓冲。低阻抗是 sim-to-real 自然度的关键。📎
  4. 自适应采样。长动作不同段难度差很大。按一秒切桶,每桶维护失败率,优先采难段。难段熟练后失败率衰减,渐回均匀。这是 DeepMimic 均匀采样的自适应强化版。📎
  5. 最小域随机化。只随机三类:摩擦、默认关节位置偏移(踝关节较大)、躯干质心偏移。论文反对过重的域随机化。📎

阶段二为什么用扩散而不是 VAE 或 GAN

VAE 和 GAN 学显式分布,只能采样不能优化。扩散学的是梯度场,每一步告诉你怎么改更像数据。由贝叶斯反推,任意可微代价都能在推理时引导生成,无需重训。📎

阶段二的两件套

  • 条件 VAE:不是对原始动作做编码。编码器只吃参考相位加锚点误差,把跟跳策略压成潜向量。解码器吃潜向量加其他本体感受,出动作。用 DAgger 在跟跳策略 rollout 上模仿训练。
  • 状态-动作潜扩散:在 VAE rollout 上采轨迹,每步含若干历史步加若干未来步。每个状态和潜向量有各自的去噪步,这样能在时间轴上做"补全"——部分步清晰、部分步加噪。📎

推理时的分类器引导:给定任务代价(摇杆速度误差、航点距离、障碍距离场),在每个去噪步用代价的梯度引导去噪方向。滚动 horizon 的模型预测控制风格。关键设计是状态-动作联合建模:代价定义在状态空间,但生成对应的动作。这绕开了前向动力学模型的高维难题。📎

常见误区(先抛一个,完整版见末尾):"扩散模型太慢,真机没法用。"——能缓解。论文用潜空间加轻量解码器加最新观测,纯 C++ 加移动 GPU 部署:tracking 单步推理一毫秒以内(ONNX Runtime,CPU),扩散策略频率降到 25 赫兹(tracking 是 50 赫兹)腾出推理时间,靠 TensorRT 加 RTX 4060 Mobile 跑去噪;预测 horizon 零点六四秒。侧空翻这类高频动作真机跑通了。📎

深度

锚点对齐的形式化。锚点 b 的目标直接等于参考 $T_b^{\text{des}}=T_b^{\text{ref}}$;其他部位在锚点坐标系下表达:$T_b^{\text{des}}=A(T_b^{\text{ref}},T_{\text{anchor}})$,其中 $A$ 是 yaw-aligned 加 height-preserving 变换——丢掉锚点的 yaw 和 z 漂移,保留部位相对锚点的姿态。📎

观测与动作(不对称 actor-critic。观测含参考相位、锚点位姿误差(用 Rot6D 表示,取旋转误差矩阵前两列避免四元数不连续)、IMU 系下_twist、关节角相对默认、关节速度、上一步动作。critic 额外看每个部位相对锚点的笛卡尔位姿,直接在笛卡尔空间估跟踪误差。动作是归一化关节位置设定点 $\theta^{\text{sp}}=\theta_0+\alpha\odot a$,其中 $\alpha=0.25\tau_{\max}/k_{p,j}$ 是每关节动作缩放(四分之一最大扭矩除以关节刚度)。clip 到关节限位——它是扭矩整形的中间变量。📎

PD 增益启发式(Supp. S1)。每关节 $k_{p,j}=I_j\omega^2$,$k_{d,j}=2I_j\zeta\omega$。其中 $I_j=k_g^2 I_{\text{rotor},j}$ 是反射惯量(齿轮比平方乘转子惯量,忽略子树惯量);$\zeta=2$(过阻尼,因反射惯量被低估);$\omega=2\pi\times 10$ Hz(10 Hz 自然频率,促柔顺)。📎

域随机化精确集(Supp. S1):静摩擦 $\mu_s\sim U(0.3,1.6)$、动摩擦 $\mu_d\sim U(0.3,1.2)$、恢复系数 $e\sim U(0,0.5)$;默认关节位置偏移多数 $\sim U(-0.01,0.01)$ rad,踝关节较大 $\sim U(-0.1,0.1)$;躯干质心偏移 x∈[-0.025,0.025] m、y/z∈[-0.05,0.05] m。再加随机速度扰动(间隔 1–3 秒、平动 ±0.5 m/s、转动 ±0.52–0.78 rad/s)。📎

终止条件:锚点或任一末端偏离过大即终止——位置 z 偏离超 0.25 m 或锚点朝向误差超 0.8 rad。📎

条件 VAE 损失(modified ELBO

$$\mathcal{L}_{\text{VAE}}=\mathbb{E}_{q_E}\|\hat a-a\|^2+\beta\,D_{KL}(q_E(z|\psi,e_{\text{anchor}})\,\|\,\mathcal{N}(0,I))$$

编码器只吃参考相位加锚点误差;解码器吃潜向量加其他本体感受。DAgger 式训练。📎

状态-动作潜扩散:DDPM 噪声调度,denoiser 学 $\hat\tau=z_\phi(\tau^k,k)$,最小化 $\|\hat\tau-\tau\|^2$。每个状态和潜向量各有自己的去噪步——支持 horizon 上的补全。推理从高斯噪声开始迭代去噪;当前动作由当前去噪后的潜向量经 VAE 解码器用最新观测解出。

真机敏捷动作关键数字(Sec. Results):约 2.5 小时人类动捕 retarget 到人形,仿真全部训出;30 段代表(共 15 分钟)零样本部署真机 Unitree G1。侧空翻空中峰值加速度 31 m/s²、骨盆角速度峰值 20 rad/s(均值 7.01);对比人类专业侧空翻均值 7.75 rad/s。连续翻滚、C罗庆祝跳连做五次(前作只能一次)。GRF 走步呈双峰、跑步单峰,与人类力板数据形状对齐(缺 toe 关节使走步峰更尖)。用户研究 N=77,整体偏好 70.8% vs 29.2%($p<.001$,Cohen's $h=0.859$);跑步偏好 84.7% vs 15.3%($h=1.532$)。📎

通用控制(零样本无重训):摇杆速度跟踪误差走步 12.14%、跑步 13.65%;50 米连续跑无失败;可被踢不倒并继续追任务。多模态步态:低速命令随机出走或轻跑,只给速度自动走跑过渡。动作补全:从摇杆走注入侧空翻关键帧,扩散自动补全平滑过渡。任务组合:航点加避障联合优化。📎

消融:Rot6D 远优于四元数优于轴角(轴角直接失败)。📎

局限

  1. 扩散推理延迟Transformer Encoder denoiser 约 19.8M 参数,引入非可忽略延迟。靠潜空间加轻量解码器加最新观测缓解:tracking 单步一毫秒以内(ONNX Runtime,CPU),扩散策略频率降到 25 赫兹(tracking 50 赫兹),TensorRT 加 RTX 4060 Mobile 跑去噪,预测 horizon 0.64 秒——对 reactive control 够,对 long-horizon planning 不足。📎
  2. 模式切换下去噪不稳:高方差状态下要去噪不稳,要加大引导权重,又破坏去噪稳定。这是 trade-off 没全解。📎
  3. 细粒度任务弱:粗粒度(航点、速度)很好,细粒度(高精度定位)仍需轻量调参。
  4. 依赖 toe 关节:缺 toe 使走步 GRF 峰更尖、push-off 不够自然。这是硬件限制。
  5. 每动捕一个跟跳策略:虽打分共享,仍是 N 个策略,靠 VAE 蒸馏才合并。阶段一成本随动捕数线性增长。[未确认]
  6. 论文未明示:历史步数 N、各项 nominal 误差 σ_s 精确值、去噪步数 K、G1 具体 DoF 配置(Supp. S1 提到 G1 用四台两级行星执行器并给了 armature 计算)。[未确认]

研究者视角

图谱定位:BeyondMimic 是 T12(敏捷运动)转折 8 的终点,把"剧烈动作 sim-to-real 是否本质无解"推进到"工程精度足够时可解"。📎

它同时在 motion prior 谱系里引入一个新形态:扩散作为 motion prior

motion prior 谱系的形态链:[未确认]

  • AMP(2021):判别器 = 风格 reward。
  • ASE(2022):判别器 + 互信息 = latent skill 库。
  • PHC / UHC(2023):skill 库升级成 universal tracker。
  • BFM(2025.09):tracker 放大为生成式 motor foundation(CVAE)。🌐
  • BeyondMimic(2025.08):tracker + 扩散,把"任务组合"交给推理时的梯度引导。
  • SONIC(2025.11):tracker 放大到 42M 加 universal token,接 VLA🌐

BeyondMimic vs BFM 的对照:两者同期、同方向(把 motor policy 当可复用基座),机制不同。[未确认]

BFM 是生成式 CVAE 策略,把所有行为压成一个隐空间,下游靠掩码切任务。

BeyondMimic 是 tracker 加扩散,下游靠推理时梯度引导切任务。

BFM 的"多任务"在训练时统一;BeyondMimic 的"多任务"在推理时组合。SONIC 后来把两者的规模化路线推到极致。

两个反转趋势

  1. 打分极简主义。前作(ANYmal-C、OmniH2O 等)越加越多打分项,BeyondMimic 反其道:一项任务分加三项正则就够,靠锚点对齐加低阻抗加自适应采样解决鲁棒性。📎
  2. 状态-动作联合扩散。Diffusion Policy 是动作-only 扩散;BeyondMimic 让状态和动作联合去噪,代价定义在状态空间、生成对应动作,绕开前向动力学模型。这是 DP 思路在全身控制上的进化。[未确认]

Open problems

  1. 扩散推理延迟的根治:当前靠潜空间加轻量解码器缓解。能否用一致性模型或蒸馏把延迟压到毫秒级,仍开放。[未确认]
  2. 模式切换稳定性:高方差状态下去噪不稳与引导权重的 trade-off 没根本解。📎
  3. 每动捕一个策略的可扩展性:阶段一仍是 N 个策略。能否像 BFM/SONIC 那样一个模型覆盖全部动捕,是后续路线选择。[未确认]

常见误区

"扩散太慢,真机没法用" —— 部分错。

纯扩散确有延迟,但论文用潜空间加轻量解码器加最新观测,纯 C++ 加移动 GPU 部署:tracking 单步一毫秒以内,扩散策略降到 25 赫兹,TensorRT 加 RTX 4060 Mobile,预测 horizon 0.64 秒。

延迟被工程手段压到可接受,侧空翻这类高频动作真机跑通了;但去噪器仍达 19.8M 参数,long-horizon planning 不足,是软肋。📎

"BeyondMimic 取消了打分函数" —— 错。

阶段一仍用打分,只是极简:一项任务分加三项正则。

它反转的是"打分越加越多"的趋势,不是取消打分;自然度主要靠低阻抗关节和锚点对齐,不靠堆打分项。📎

"扩散模型在训练时就要见到所有任务" —— 错。

扩散无条件训练,只学"人类动作长什么样"。

任务在推理时由可微代价的梯度注入;这是它能零调参切换任务的关键。📎

"高 PD gain 更稳" —— 错(在真机上)。

高刚度让关节像硬位置伺服,放大噪声、丢落地缓冲。

低阻抗(自然频率 10 Hz、过阻尼)才是 sim-to-real 自然度的关键。📎

"BeyondMimic 和 BFM 是一回事" —— 不是。

BFM 是生成式 CVAE 策略,训练时统一多任务;BeyondMimic 是 tracker 加扩散,推理时组合任务。

两者同期同方向,机制不同——一个把多任务放训练,一个放推理。[未确认]

检查点

Q1

BeyondMimic 分两步。第一步给每段动捕训一个跟跳策略,第二步训一个扩散模型。第一阶段有什么"共享"设计,让它不用每加一段动捕就重调参?

💡 参考答案

  • 共享设计:所有跟跳策略共用同一套打分规则(极简:四项任务分加三项轻罚)和同一套机器人关节调校(低阻抗)。
  • 效果:换动捕时打分和关节调校不动,所以不用每个技能重新调参,一百多段动捕能一口气训出来。
  • 对照老办法:传统「一段动捕一个策略」每加一个技能都要重新调打分函数,扩不到几百种。
Q2

扩散模型学的是显式分布,还是一个"梯度场"(每步告诉你怎么改更像数据)?这个区别为什么让它能在推理时被任意新目标引导?

💡 参考答案

  • 扩散学的是梯度场(score function),不是只能采样的显式分布。
  • 梯度场可被「加」上任意新目标的梯度:每个生成步顺着新目标的方向微调,就能朝新目标优化。
  • 关键推论:新目标(往哪走、躲障碍)不需要训练时见过,推理时用其梯度引导即可——这是它零调参切换任务的根本。
Q3

BeyondMimic 把机器人关节调成"低阻抗",像软弹簧。用"导航软件"或你自己举的类比,用自己的话解释:为什么低阻抗是真机自然度的关键,而不是把关节调得越硬越稳?

💡 参考答案

  • 硬关节(高阻抗)的问题:让关节像硬位置伺服,会放大噪声、丢掉落地缓冲,真机动作像机械回放,不自然。
  • 低阻抗(软弹簧)的好处:落地有缓冲、能吸收冲击,动作自然,sim-to-real 才像人。
  • 类比锚:像车的悬挂——硬到没有悬挂,路面颠簸全传到人身上;软悬挂才能贴地吸震。
  • 注意:这里的「稳」不是「硬」,过度硬反而让真机更脆,不是更稳。
Q4

阶段二的扩散模型是无条件训练的。那"往那个点走""躲开障碍"这类训练时没见过的任务,是怎么在推理时被解决的?

💡 参考答案

  • 机制:推理时把任务写成一个可微代价(到目标点的距离、到障碍的距离场),在扩散每个去噪步用代价的梯度引导生成方向。
  • 训练时不需要枚举任务:扩散只学「像人」的先验,任务信号在推理时通过梯度注入。
  • 对照:若用显式分布模型,必须训练时见过任务;扩散的梯度场特性让「任务组合」变成推理时的事。
Q5

BeyondMimic 用"锚点对齐"做跟踪:躯干当锚点直接对齐参考,其他部位只在锚点坐标系下追目标,允许整体 yaw 和高度漂移。这个设计解决的是什么问题?

💡 参考答案

  • 解决的问题:仿真和真机有整体漂移(global drift),直接全息跟踪会让策略很脆、一动就崩。
  • 锚点对齐的作用:丢掉锚点的 yaw 和高度漂移、保住风格,让跟踪对整体漂移鲁棒。
  • 关键:保的是「动作风格」(部位相对锚点的姿态),不是「世界系绝对位姿」——这是 sim-to-real 的工程化关键。

FAQ

Q1:BeyondMimic 能直接用在真机上吗?

能。Unitree G1 真机零样本部署 30 段代表动作(共 15 分钟),含侧空翻、连续翻滚。纯 C++ 加移动 GPU,无机器人或动作特定调参。📎 代码已开源:tracking 训练 与 C++ ONNX CPU 推理 两仓库;论文方法也被 MJLab、Unitree RL Lab 作为默认方法收录。🌐

Q2:为什么用 Rot6D 而不是四元数表示朝向?

Rot6D 取旋转矩阵前两列,避免四元数和轴角的不连续。消融显示 Rot6D 远优于四元数,轴角直接失败。📎

Q3:扩散模型的推理延迟怎么办?

用潜空间加轻量解码器加最新观测缓解。tracking 单步一毫秒以内(ONNX Runtime,CPU),扩散策略降到 25 赫兹腾出去噪时间,TensorRT 加 RTX 4060 Mobile,预测 horizon 0.64 秒。每个去噪步的当前动作由去噪后的潜向量用最新观测实时解码。📎

Q4:为什么打分只加三项惩罚,不加滑倒、绊脚这些常用项?

论文发现这些项让动作变保守。极简打分(关节限位、动作平滑、自碰撞)配合锚点对齐和低阻抗,反而更自然。这是"打分极简主义"的核心论点。📎

Q5:BeyondMimic 和 BFM 谁更通用?

方向一致(可复用 motor 基座),机制不同。BFM 用 CVAE 在训练时统一多任务;BeyondMimic 用扩散在推理时组合任务。SONIC 后来把规模化路线推到极致,可看作两者的集大成。[未确认]