Hana's Blog
BeyondMimic 论文精读:从动作跟踪到可组合的人形机器人控制Blur image
Arxiv ID 2508.08241
幻觉翻译 2508.08241
publication pending

BeyondMimic 先用共享配方的 RL 从人类动作学习敏捷技能,再用状态–动作潜空间扩散在推理时引导未来轨迹,从而零样本完成导航、遥操作和动作拼接。

推荐指数:

1. 论文概述#

论文名称:《BeyondMimic: From Motion Tracking to Versatile Humanoid Control via Guided Diffusion》
作者:Qiayuan Liao、Takara E. Truong、Xiaoyu Huang、Yuman Gao、Guy Tevet、Koushil Sreenath、C. Karen Liu
机构:UC Berkeley、Stanford University
论文链接arXiv
代码HybridRobotics/whole_body_tracking
项目主页BeyondMimic

BeyondMimic 总体框架:动作跟踪与引导扩散(论文 Figure 1)

一句话总结#

【Paper】 BeyondMimic 把“学会动作”和“完成任务”拆成互补的两阶段:第一阶段用紧凑、与动作无关的 RL 配方跟踪大量人类动作;第二阶段把这些策略滚动出的状态–动作轨迹压到 VAE 潜空间,用 guided diffusion 在部署时对未来状态施加新目标,因而无需为每个任务重新训练。

核心贡献#

【Paper】

  1. 用相同 MDP、奖励、随机化和超参数训练不同动作,约 2.5 小时人类动作在仿真中全部验证,并将 30 段(约 15 分钟)部署到真实 Unitree G1。
  2. 通过相对身体位姿、低阻抗 PD setpoint、三项正则和自适应采样,兼顾敏捷性、自然性与 sim-to-real 稳定性。
  3. 提出状态–动作 co-diffusion:VAE 提供平滑动作潜变量,扩散模型同时预测短时域状态和潜变量,允许在推理时加入任意可微任务代价。
  4. 在未见过的速度/航点控制、关键帧 inpainting、障碍物绕行和任务切换上实现零样本组合,并在真实机器人上展示。

2. 背景与相关工作#

【Paper】 传统模型式人形控制把 CoM、接触和足端规划交给低频规划器,再由高频控制器跟踪;简化动力学容易产生僵硬、屈膝和缺乏手臂协调的动作。DeepMimic 类方法能复现高动态动作,却通常“一动作一套调参”;AMP 学到的是风格先验,但策略仍然绑定具体任务。VAE 多技能策略虽然可组合,却依赖训练时显式目标,对障碍规避等隐式目标泛化较差。

【Analysis】 BeyondMimic 的切入点不是把所有任务标签收集齐,而是让“可行且像人的轨迹分布”成为先验,再在测试时优化任务代价。这样,规划和控制共享同一个短时域生成器,避免独立 planner 与 tracker 的分布错位。

3. 问题定义#

【Paper】

  • 输入(跟踪策略):运动相位 oldsymbol\psi、anchor 位姿误差、IMU twist、相对默认姿态的关节位置、关节速度和上一动作;不使用时间堆叠。
  • 输出:归一化关节位置 setpoint mathbfamathbf a,经 oldsymbol\theta^{sp}=\boldsymbol\theta^0+\boldsymbol\alpha\odot\mathbf a 送入低层位置 PD,产生关节力矩。
  • 跟踪目标:参考动作经前向运动学得到各目标身体的位姿与 twist;非 anchor 身体在 yaw 对齐、保持高度的 anchor-centered 坐标中比较,以容忍全局漂移。
  • 数据与 embodiment:重定向的人类动作(LAFAN1 及补充动作集),Unitree G1 人形机器人;训练在 Isaac Lab 仿真,部署在真实硬件。
  • 扩散阶段输入/输出:过去 NN 步、当前步和未来 HH 步的状态–潜变量轨迹;每次解码当前潜变量,输出最新的关节 setpoint。

4. 方法#

4.1 Overall Architecture#

动作跟踪、VAE 与状态–动作扩散的两阶段架构(论文 Figure 7)

数据流可以概括为:参考动作 → RL motion tracker → 滚动得到 state/action → VAE 将动作变成 latent → state–latent diffusion 预测短轨迹 → classifier guidance 修改未来状态 → VAE decoder 解码当前 latent 为关节 setpoint。

4.2 核心模块#

统一的 RL Motion Tracking#

  • 输入/输出:输入为参考相位和机器人本体感知,输出为每关节 setpoint。
  • 相对身体目标:跟踪位置、方向、线速度和角速度;anchor 保留最小的全局位置/方向误差用于平衡。
  • 奖励:统一 task reward 加三项正则——软关节限位、动作变化率和非末端身体自碰撞惩罚。
  • 随机化:仅随机地面摩擦/恢复系数、默认关节偏置、躯干质心,并周期性施加速度扰动。
  • 自适应采样:根据片段失败率提高困难片段采样概率,学会后再回到近似均匀分布。

【Code】 tracking_env_cfg.py 以 Isaac Lab manager 配置 MDP;mdp/commands.py 计算相位、anchor 和身体误差,rewards.py 实现指数型跟踪奖励,events.py 实现三类随机化,scripts/rsl_rl/train.py 调用 PPO 训练。代码仓库覆盖动作跟踪训练;部署控制器位于另一个 motion_tracking_controller 仓库。

VAE 动作表示#

  • 输入:参考相位 oldsymbol\psi 与 anchor 误差。
  • 输出:动作潜变量 mathbfzmathbf z;decoder 还读取重力投影、IMU twist、关节状态和上一动作,重建 hatahat{\mathbf a}
  • 作用:把尖锐、不规则的 PD setpoint 转成平滑、低维且带动作意图的表示,减轻扩散直接拟合力矩尖峰的不稳定。

State–Latent Diffusion#

  • 输入:混合 character/yaw-centric 参数化的状态序列与 latent 序列,并为每个 state/latent 位置独立采样噪声步。
  • 输出:未来短时域的状态–latent 轨迹;当前 latent 经 decoder 变成动作。
  • 作用:状态预测提供动作影响未来的因果线索,因此任务代价可以直接写在未来状态上,不需要额外的高维 forward dynamics model。

Classifier Guidance#

把任务写成可微代价 G(τ)G(\tau),在每次反向去噪时加入 τG-\nabla_\tau G,就能把无条件的人类动作先验偏向航点、速度、关键帧或 SDF 障碍物约束。推理过程中不更新网络参数。

4.3 关键公式#

Motion-tracking reward#

r=s{p,R,v,ω}exp(eˉsσs2)λlrlimitλsrsmoothλcrcontactr=\sum_{s\in\{p,R,v,\omega\}}\exp\left(-\frac{\bar e_s}{\sigma_s^2}\right)-\lambda_l r_{limit}-\lambda_s r_{smooth}-\lambda_c r_{contact}

【Paper】 ar e_s 是所有目标身体在位置、方向、线速度或角速度上的平均平方误差,σs\sigma_s 是尺度;三个 λ\lambda 控制硬件安全、平滑性和自碰撞。指数形式让小误差区域的改进仍有梯度,同时不同动作共享同一奖励尺度。

VAE 与 diffusion objective#

LVAE=E[a^a2]+βDKL(qE(zψ,eanchor)N(0,I))\mathcal L_{VAE}=\mathbb E[\|\hat{\mathbf a}-\mathbf a\|^2]+\beta D_{KL}(q_\mathcal E(\mathbf z|\boldsymbol\psi,\mathbf e_{anchor})\|\mathcal N(0,I)) LDiffusion=E[zϕ(τk,k)τ2]\mathcal L_{Diffusion}=\mathbb E\left[\|z_\phi(\tau^{\mathbf k},\mathbf k)-\tau\|^2\right]

其中 τ\tau 是 state–latent 轨迹,k\mathbf k 为每个位置独立的去噪步。第一式约束 latent 可解码为动作,第二式学习轨迹数据的 score/去噪场。

Guidance#

τlogp(ττ)=τlogp(τ)τG(τ)\nabla_\tau\log p(\tau|\tau^*)=\nabla_\tau\log p(\tau)-\nabla_\tau G(\tau)

【Analysis】 这解释了“训练任务无关、推理目标可变”:扩散模型提供行为先验梯度,代价梯度只负责在该先验附近选择满足当前任务的模式。

4.4 Training#

【Paper】 阶段一用 PPO 在 Isaac Lab 中训练 motion tracker;阶段二先用 tracker rollout 收集 state/action,再以 DAgger 训练条件 VAE,最后对 state–latent 轨迹做自监督 DDPM 训练。训练数据不含任务标签,所有策略使用共享配方。作者强调 C++ 低延迟执行、精确同步和厂家动力学参数是迁移关键。

Algorithm 1 BeyondMimic Training
输入:
重定向人类动作、G1 仿真模型和共享 MDP 配置
输出:
动作跟踪策略、VAE decoder 与 state–latent diffusion
  1. 将 CSV 动作前向运动学处理为 NPZ,并注册到 WandB Motions collection
  2. 以相对身体目标、统一奖励和有限随机化运行 PPO;按片段失败率自适应采样
  3. rollout 跟踪策略,收集不含参考信息的 state/action 轨迹
  4. 用 DAgger 训练条件 VAE,得到动作 latent 与轻量 decoder
  5. 对 state–latent 轨迹逐位置加噪,训练网络重建干净轨迹
  6. return 验证通过的 tracker、VAE 和 diffusion 模型

4.5 Inference#

【Paper】 每个控制周期从当前本体状态构造历史窗口,以高斯噪声初始化 state–latent 未来轨迹;反向去噪时对任务代价求梯度并加入 guidance。当前 latent 用最新观测交给 VAE decoder,解码成关节 setpoint,PD 控制器执行后滚动窗口继续预测。

Algorithm 2 Guided Diffusion Predictive Control
输入:
当前状态历史、任务代价 GG、训练好的 diffusion 与 VAE decoder
输出:
当前关节 setpoint 与执行后的新状态
  1. 固定已观测历史/关键帧,初始化未来 state–latent 为噪声
  2. for 从最大噪声步反向去噪到零
  3. 预测干净轨迹,并计算无条件 score
  4. 计算 τG(τ)-\nabla_\tau G(\tau),按 guidance weight 修正去噪方向
  5. end for
  6. 取当前 latent,结合最新 proprioception 经 VAE decoder 得到动作
  7. 发送 setpoint 到低层 PD,执行一个控制周期并更新历史

4.6 代码实现对照#

【Code】 官方仓库明确覆盖 motion tracking:scripts/csv_to_npz.py 完成动作预处理,replay_npz.py 回放,scripts/rsl_rl/train.py/play.py 训练和评估;tracking_env_cfg.py 给出 G1 的观测、动作、奖励、事件和终止配置。README 建议用 Isaac Lab 2.1.0、Isaac Sim 4.5.0、Python 3.10,并通过 WandB registry 管理动作。扩散控制器和 C++ 部署代码不在该仓库中,论文中的第二阶段需结合项目发布的其他组件理解。

5. 实验#

5.1 Experimental Setup#

真实机器人多样动作与部署示例(论文 Figure 2)

【Paper】 训练约 2.5 小时动作,仿真中验证全部片段;挑选 30 段、总计 15 分钟部署到 G1。评估覆盖静态平衡、跳跃/踢腿/空翻、舞蹈和步行跑步,并在室外软土、落叶和不平地面测试。自然性用户研究招募 N=77N=77,将 BeyondMimic 与 Unitree 原生控制器进行 20 组 5 秒片段二选一。

5.2 Main Results#

自然步行、跑步与地面反作用力比较(论文 Figure 4)

【Paper】

  • 空中侧翻峰值加速度约 31m/s231\,m/s^2,骨盆角速度最高约 20rad/s20\,rad/s(平均 7.01rad/s7.01\,rad/s),并能连续完成接触丰富的动作。
  • 用户整体偏好 BeyondMimic 的自然性为 70.8% 对 29.2%(p<.001p<.001);步行 57.0%,跑步 84.7%。
  • 速度控制仿真误差:步行 12.14%,跑步 13.65%;真实机器人可连续跑过 50 m,并能在被扶住后暂停、稳定、恢复。
  • 同一低速命令可产生步行或慢跑等多模态步态,并自然完成步行到跑步的切换。

5.3 Ablation Study#

MDP 设计、自适应采样与潜空间扩散消融(论文 Figure 8)

【Paper】 Rot6D 比 quaternion/axis-angle 更利于 sim-to-real;注入 2 ms 延迟已增加速度误差,5 ms 出现失败,10 ms 在三次中失败两次。移除自适应采样后,四个动作中的三个在 30k iteration 仍有困难片段失败;潜空间扩散的 cartwheel 仿真成功率从无 latent 的 5% 提升到 95%。

5.4 Generalization#

命令控制与关键帧 inpainting(论文 Figure 5)

技能切换与任务组合(论文 Figure 6)

【Paper】 推理时可组合航点代价与 SDF 障碍规避代价,绕开障碍后到达目标;也可把 joystick 速度跟踪替换为航点目标,或在走路、跑步和连续空翻之间切换。关键帧每 0.2 s 注入一次时,模型能把稀疏姿态补成连续的 cartwheel,并回到命令控制的步行。

6. 方法分析#

6.1 为什么有效?#

【Analysis】 第一阶段把复杂的“像人”偏好隐式装进动作数据,同时用相对身体坐标释放无害的全局漂移;第二阶段不直接扩散尖锐 PD action,而是在平滑 latent 上建模,并让 decoder 使用最新 proprioception 修正细节。扩散先验因此负责“选一个可行的人类动作模式”,guidance 只需施加小的任务偏置。

6.2 核心创新#

【Paper】 真正的创新是把共享配方的 scalable motion tracking 与 state–action latent diffusion 连接起来:前者提供大量可迁移技能,后者把技能变成可在测试时优化的短轨迹分布。

6.3 与已有方法的本质区别#

【Analysis】 DeepMimic/AMP 的任务目标在训练时决定策略;层级方法把 planner 和 controller 分开;目标条件 VAE 需要预先枚举条件。BeyondMimic 则把任务代价延迟到去噪过程,因而可以组合训练集没有出现过的目标。

6.4 关键假设#

  1. 人类动作数据覆盖足够多的“原子技能”,新任务能在其邻域内被组合。
  2. 任务代价对短时域状态轨迹可微,且 guidance 不会把样本推离可行动作流形。
  3. 真实系统状态估计、执行延迟和动力学误差足够小;否则扩散预测的优势会被闭环延迟吞没。

7. 局限性#

7.1 作者明确提出的局限#

【Paper】 扩散控制依赖状态估计质量;当前预测时域约 0.64 s,难以处理需要提前规划的远距离目标。历史窗口有助于稳定预测,却可能让模型陷入重复运动;提高 guidance weight 又会在模式切换和高方差状态下 destabilize。细粒度目标仍需轻量 guidance 调参,起步和收尾阶段更容易绊倒。

7.2 自己分析得到的局限#

【Analysis】 代码仓库只公开动作跟踪训练,完整扩散训练和实时部署复现实验的门槛仍高(Isaac Lab、WandB 动作注册、机器人描述文件和硬件同步均不可省略)。此外,依赖重定向质量和 G1 的特定关节/执行器建模,换 embodiment 时“共享超参数无需调参”的范围需要重新验证。

8. 启发与研究思考#

【Analysis】

  • “先学会可行分布,再在推理时优化目标”可能是人形机器人从模仿走向通用控制的一条更稳健路径。
  • 相对坐标、低阻抗和严格低延迟这些工程选择并非附属项,而是决定高动态 sim-to-real 能否成立的算法组成部分。
  • 后续研究可把 0.64 s 局部预测与高层世界模型结合,或学习自适应 guidance / 状态估计器,降低切换瞬态和手工权重调节。
BeyondMimic 论文精读:从动作跟踪到可组合的人形机器人控制
https://agusexp25.top/blog/paper-deep-dive-beyondmimic
Author 菊花花
Published at August 27, 2026