P-WBLoco-MotionGen-2026 · 扩散生成 + RL 跟踪的真实人形全身地形行走
一句话定位:把"扩散 motion generator + RL motion tracker"的组合从仿真角色搬到真实 Unitree G1 人形——核心创新是闭环 fine-tuning:冻住 generator、用 generator 实时喂参考让 tracker 在更难地形 + 方向命令下做 RL,把 tracker 训成"生成参考的 motion filter",从而在 boxes / vaults / stairs / 混合地形上做到 ~99% 成功率并 onboard 跑通。
完整引用:Zewei Zhang, Kehan Wen, Michael Xu, Junzhe He, Chenhao Li, Takahiro Miki, Clemens Schwarke, Chong Zhang, Xue Bin Peng, Marco Hutter. Learning Whole-Body Humanoid Locomotion via Motion Generation and Motion Tracking. IEEE Robotics and Automation Letters, accepted June 2026. arXiv:2604.17335v2 (12 Jul 2026).
机构:ETH Zurich (Robotic Systems Lab) + ETH AI Center + EPFL + Simon Fraser University + NVIDIA
项目页:wholebodylocomotion.github.io
在线索中的位置:见 T01-sim2real-locomotion.md(perceptive loco sim2real)、T05-diffusion-policy-lineage.md(diffusion 进 loco)、T12-agile-locomotion.md(人形 parkour / 敏捷地形穿越)。
动机:人形全身地形行走的"两难"
人形 whole-body loco 在 2025-2026 已经有两条成熟路线,但各自有硬伤:
- 纯 reward-shaping RL(如 ANYmal / ANYmal-C 路线移到人形):探索效率低、倾向"下身主导"(脚在动、上半身僵着),遇到 parkur / 大台阶这种需要全身协调(手撑、膝顶、跳跃落地)的任务几乎学不出来。
- Imitation-based RL(DeepMimic / PHC / OmniH2O / Exbody2 路线):用参考 motion 引导,能学到协调的 whole-body skill,但只会"复现"——参考是离线 choreographed 的,无法根据地形的 depth/高度图在线调整节奏与落脚点。
理想方案是让参考 motion 本身能在线生成——这是 motion generation(diffusion model)的用武之地。但生成式 motion 用到机器人有三个新问题:(a) 扩散推理慢,实时控制跑不动;(b) 生成 motion 有 artifact(foot sliding / 不连续),直接喂给 tracker 会让机器人摔;(c) 生成 + 跟踪两个 stage 简单拼起来,在 OOD 地形上不 robust。本文就是解这三个问题。
方法核心
1. 三阶段管线(Fig.2)
Stage (a) · Data Collection & Curation:~5 分钟初始 motion(自录视频 + 公开数据集 [AMASS / OmniRetarget],含 50 cm 箱子上下、35 cm 跨栏、~20 cm 台阶)→ GVHMR 重建人体 motion → contact-constrained IK retarget 到 G1 → motion augmentation(变 obstacle 高度 / 插入小箱子 / terrain penetration + smoothness loss)→ 再用 DeepMimic-style tracker 过一遍得到物理可行轨迹。最终 ~1 小时数据,覆盖 35–75 cm 箱子、25–45 cm 跨栏、15–20 cm 台阶、全向行走。
Stage (b) · Pre-training(独立训两个模型):
- Motion Tracker:DeepMimic-style,PPO in IsaacLab,单 RTX 4090。reward = $r_{\text{mimic}} + r_{\text{reg}}$(Eq.1,公式见 Table I 的 6 项 imitation + 7 项 regularization);
- Motion Generator:MDM 架构,扩散模型预测 0.5 秒(25 帧)未来 motion feature = root position $\mathbb{R}^3$ + root orientation $\mathbb{R}^4$ + joint positions $\mathbb{R}^{23}$ + body link positions $\mathbb{R}^{23\times 3}$,条件 = 目标 heading 向量 + terrain height scan + 过去 2 帧 motion feature。损失 = reconstruction + geometric(velocity / joint consistency / terrain penetration)。
Stage (c) · RL Fine-tuning(核心创新):
- 冻住 motion generator,把 tracker 放进闭环:generator 接收过去 2 帧的 robot state(不是 generator 自己的上一步预测)生成参考,tracker 在这个参考上做动作;
- 加 task reward $r_{\text{task}}$ = target heading tracking(Eq.2:$R_{\text{post}} = r_{\text{mimic}} + r_{\text{reg}} + r_{\text{task}}$);
- 训练地形大幅扩展:stairs 15-25 cm、连续 vault 25-55 cm、多个 box + 金字塔台阶 30-85 cm(含 yaw/pitch 随机);
- 只 2 步 denoising(部署加速)+ 推理时往 generator 输入和 tracker observation 注入额外噪声——逼 tracker 学会扛 noisy reference。
2. Tracker observation 与 action 精确形式(Sec.III-B-1)
Observation:
- 参考 state:linear vel $\mathbb{R}^3$ + angular vel $\mathbb{R}^3$ + joint pos/vel $\mathbb{R}^{23}$ + key body positions $\mathbb{R}^{9\times 3}$(base frame);
- proprioception:5 consecutive frames of base angular vel + projected gravity $\mathbb{R}^3$ + joint pos/vel $\mathbb{R}^{23}$ + previous action $\mathbb{R}^{23}$;
- terrain:height scan $\mathbb{R}^{17\times 11}$。
Action:23 维 target joint positions(PD 控制目标)。
⚠️ 作者明确:与 OmniRetarget [Yang et al. 2025] "terrain 信息非必要"的结论不同——他们在 fine-tuning 阶段保留 exteroceptive input 给 tracker,因为这能让后续 fine-tune 更顺。
3. Reward 设计(Table I / Table II 全抄)
Imitation reward $r_{\text{mimic}}$ 六项(权重列在公式前):
- Base pose tracking:$3\exp(-4\|p_b^w - p_b^{w\ast}\|^2 - 4(1 - \langle q_b, q_b^\ast\rangle)^2)$
- Base velocity tracking:$\exp(-\|v_b^b - v_b^{b\ast}\|^2) - 0.1\|\omega_b^b - \omega_b^{b\ast}\|^2$
- Joint position tracking:$2.5\exp(-2\sum_{i=1}^{23} 0.25(q_i - q_i^\ast)^2)$
- Joint velocity tracking:$0.5\exp(-2\sum_{i=1}^{23} 0.01(\dot q_i - \dot q_i^\ast)^2)$
- Body pos tracking (base frame):$2\exp(-\sum_{i=1}^{9}\|p_{l,i}^b - p_{l,i}^{b\ast}\|^2)$
- Body pos tracking (global frame):$\exp(-\sum_{i=1}^{9}\|p_{l,i}^w - p_{l,i}^{w\ast}\|^2)$
Regularization $r_{\text{reg}}$ 七项(全负惩罚):
- Action rate 1st order:$-0.1\sum(a_t - a_{t-1})^2$
- Action rate 2nd order:$-0.05\sum(a_t - 2a_{t-1} + a_{t-2})^2$
- Joint position limits:$-10\sum\max(q_i - q_{\lim,i}, 0)$
- Joint velocity limits、Torque limits、Joint torques($-0.00001\sum\tau_i^2$)、Body linear acceleration
Task reward $r_{\text{task}}$:$1.5\langle v_b^b, d_b\rangle / \|v_b^b\|$(heading 内积)——只在 fine-tuning 阶段加。
4. 硬件部署(Sec.III-D)
Unitree G1 humanoid,全 onboard:
| 模块 | 配置 |
|---|---|
| State estimation | DLIO + Livox MID360 LiDAR + IMU |
| Terrain perception | Elevation Mapping CuPy(由 DLIO base pose 喂入) |
| Motion generator | TensorRT 加速 → 推理 ~0.02 s |
| Generator 运行平台 | Jetson Thor(背挂) |
| Tracker + 其他模块 | Jetson Orin(G1 内置) |
| Receding horizon | 0.5 s prediction horizon,每 0.25 s 更新一次 reference |
⚠️ 关键工程 trick:G1 的 neck joint 是被动的,剧烈动作会让头摆、破坏 base pose estimation。作者把 DLIO 估计的 orientation 与 torso IMU 测的 pitch 滑动平均做差,估计 head pitch 变化并补偿。
5. 解决"artifact"的关键:closed-loop + noise injection
直接拼 pre-trained generator + pre-trained tracker 不行——generator 产出的参考有 artifact,tracker 没见过这种 OOD 参考、直接跟踪会摔。Stage (c) 同时做两件事:
- 闭环条件:generator 不吃自己的上一步预测,而吃真实 robot state——把 generator 锚定到现实,避免误差累积;
- 噪声注入:generator 推理时 + tracker observation 都加噪——让 tracker 学会"参考烂也能稳"。
作者在 Sec.IV-B-2 把这一步解释为 tracker 学成了 "motion filter":它跟踪参考、但用 exteroceptive terrain 观测压制不安全行为。
关键实验
硬件 demo(Fig.3):
- Box climbing(最惊艳):G1 爬 75 cm 箱子、再跳下;能直上直下、能 90° 转身侧跳、能从角上爬;爬上时用膝盖和手撑、跳下时用手缓冲——完全是 human-like 全身协调,不是下身主导。
- Stairs + Vaulting:连续跨栏、stair 上下。
- Local navigation:能绕开箱子到达目标(tracker 部分覆盖 generator 的参考,从侧面绕过)。
- Mixed terrain:vault + stair + box 一条线上 traversal。
仿真 quantitative(Table III,500 robots × 随机初始 pose,对比 Tracker-only vs Tracker+Gen.):
| 任务 | Tracker-only 成功率 | Tracker+Gen. 成功率 |
|---|---|---|
| Box climbing (40-80cm × yaw 变化) | 0.859 ± 0.252 | 0.987 ± 0.014 |
| Vaulting (20-55cm) | 0.805 ± 0.231 | 0.990 ± 0.026 |
| Ascending stairs (15-25cm) | 0.845 ± 0.300 | 0.997 ± 0.005 |
⚠️ 关键趋势:地形越极端,generator 帮助越大。例:80cm 箱子 Tracker-only 0.230、加 generator 后 0.962;25cm 台阶 0.114 → 0.986。tracker-only 在小扰动下还行(fine-tuning 阶段学的 terrain generalization),但一旦需要改变 motion 时序/风格就崩。
Fine-tuning 消融(Fig.4):fine-tuned tracker vs pre-trained tracker(都接同一 generator),在 climbing up/down、vault、stair 上/下五个任务上 fine-tuning 全胜,高地形差距更大——证明 fine-tuning 不是 marginal refinement,是 systemic robustness 提升。
为什么重要
- 首次把"diffusion generator + RL tracker"组合跑通真实人形。此前的 CLOSD [Tevet et al. 2024]、BeyondMimic [Liao et al. 2025, arXiv:2508.08241](本仓库 P-BeyondMimic-2025.md)、Diffuse-CLOC [Huang et al. 2025] 都在仿真或简单硬件 demo,没在真实人形 + 真实地形感知上验证。本文把这个范式推到"可部署"。
- 闭环 + 噪声注入是 motion generation 落地的关键 trick。把 generator 从"离线 choreographer"升级为"在线 planner"、并让 tracker 学会扛 noisy 参考——这两条 trick 被本文系统化,预计会成为后续 humanoid loco 工作的标准组件。
- 绕过了复杂的 multi-expert distillation。同期工作(APEX [Wang et al. 2026]、Perceptive Humanoid Parkour [Wu et al. 2026]、ANYmal Parkour [Hoeller et al. 2024])都走 "训 N 个专家 + DAgger distill 成一个 student" 的重 pipeline,本文用 motion generator 直接替代 expert pool——工程量数量级降低。
- 双重 onboard 计算(Thor + Orin)+ TensorRT + 2-step denoising 是当前人形 loco 的实用配置模板。把扩散模型 onboard 跑到 50 Hz 控制环里,过去以为做不到,本文给了可复现方案。
- hand-assisted climbing 的 whole-body 涌现:爬 75cm 箱子时机器人自发用膝盖 + 手撑——这是 reward shaping RL 难以学出来的协调动作,由参考 motion 引导 + generator 适配后涌现。
局限
- 依赖高质量 LiDAR elevation mapping(Sec.V 自承)。mapping 一退化,整个 pipeline 崩。作者明确未来方向是 neural mapping [AME-2, Zhang et al. 2026] 或 belief encoder [ANYmal-C, Miki et al. 2022]。
- 初始数据集只有 ~5 分钟、扩到 1 小时,相比 AMASS 的 40h+ 还是小数量级。数据覆盖范围有限,遇到完全新的地形(如冰雪、泥泞、沙地)泛化能力未验证。
- 只在 Unitree G1 验证——跨本体(如 H1、Berkeley Humanoid、Booster T1)的迁移效果未知。
- 2 步 denoising 是工程妥协:再多几步质量更好但实时性掉。这是 diffusion-based loco 的固有张力,未来可能被 flow matching 或 consistency model 缓解。
- Generator + Tracker 仍是两个模型——比 unified policy(如 MaskedMimic 在动画上的路线)多一份工程复杂度,且两者训练目标不完全对齐。
- 仅 loco,不含 manipulation。Loco-manipulation、deformable terrain、outdoor 非结构化环境留给未来。
- 运动类型局限于训练数据有的(爬箱、跨栏、stair)。要加新动作(如匍匐、翻滚)必须重新采集 + 重训 generator。
复现要点
以下要点基于论文 Sec.III + Table I + Sec.III-D,可直接作为复现起点。
- 数据:~5 min 原始 → GVHMR [Shen et al. 2024] 重建 → contact-constrained IK(Drake [Drake Team 2019])retarget 到 G1 → motion augmentation(变 obstacle / 加小盒子 / terrain penetration + smoothness loss 优化)→ DeepMimic-style tracker 过滤得物理可行轨迹 → ~1 小时最终数据。
- Tracker:DeepMimic-style,PPO([Schulman et al. 2017])in IsaacLab [NVIDIA Isaac Lab 2025];单 RTX 4090;observation 含 reference state + proprioception(5 帧 base ang vel)+ terrain height scan($\mathbb{R}^{17\times 11}$);action 23 维 joint position;reward 用 Table I 全套(mimic + reg)。
- Generator:MDM 架构 [Tevet et al. 2023, HumanML3D/MDM 同仓库](本仓库 P-MDM-2023.md);horizon = 25 帧(0.5s);condition = heading + height scan + past 2 frames;loss = reconstruction + velocity + joint consistency + terrain penetration;训练时对 height scan 和 prev-state 加噪。
- Fine-tuning:冻 generator;reward = $r_{\text{mimic}} + r_{\text{reg}} + r_{\text{task}}$;地形 stairs 15-25cm / vault 25-55cm / box + pyramid 30-85cm;generator 接真实 robot state(不是自己的预测);2 步 denoising;注入推理噪声。
- 硬件:
- Unitree G1,neck 是 passive 关节——必须做 IMU fusion 补偿 head pitch;
- DLIO [Chen et al.] + Livox MID360 LiDAR + IMU 做 state estimation;
- Elevation Mapping CuPy 做 terrain;
- Jetson Thor(generator)+ Jetson Orin(tracker + 其他)双计算单元;
- TensorRT 加速扩散推理到 ~20 ms;
- Receding-horizon 0.25 s(每 0.25s 更新一次参考,预测 horizon 是 0.5s)。
- 训练成本:Tracker 在单 RTX 4090 可训(论文没给具体时长,估算数天到 1 周);Generator 在 GPU 上训 diffusion,典型数天;Fine-tuning 在 IsaacLab 多 env 跑。
- 常见坑:(1) 直接拼 pre-trained generator + tracker → OOD reference 让 tracker 摔,必须做 Stage (c) 闭环 fine-tuning;(2) 用 generator 自己的预测做 autoregressive 条件 → 误差累积;(3) 部署 denoising 步数太多 → 推理跑不到 50Hz;本文用 2 步 + 噪声注入解;(4) G1 neck passive → state estimation 被 head motion 污染,必须做 torso IMU 融合;(5) 单 LiDAR 在快速运动下点云退化 → 作者留作未来工作。
延伸
- 建立在:MDM [Tevet et al. 2023, arXiv:2209.14916](本仓库 P-MDM-2023.md,generator 架构基础)、DeepMimic [Peng et al. 2018, arXiv:1804.02717](本仓库 P-DeepMimic-2018.md,tracker 训练范式)、OmniRetarget [Yang et al. 2025, arXiv:2509.26633](retarget 工具与数据思路)、GVHMR [Shen et al. 2024](视频 motion 重建)、CLOSD [Tevet et al. 2024](generator + tracker 闭环思想的源头)、BeyondMimic [Liao et al. 2025, arXiv:2508.08241](本仓库 P-BeyondMimic-2025.md,guided diffusion + tracker,仿真版)。
- 同期/对照:APEX [Wang et al. 2026](multi-expert distillation 路线,对比方案)、Perceptive Humanoid Parkour [Wu et al. 2026](motion matching + 多专家)、HOMIE [邸 et al. 2025, arXiv:2502.13013]( humanoid WBC 异构数据)、ANYmal Parkour [Hoeller et al. 2024](四足 parkour,paradigm 对照)。
- 引出方向:neural mapping 替代 LiDAR elevation(AME-2 [Zhang et al. 2026])、belief encoder for proprioception-only fallback(ANYmal-C [Miki et al. 2022])、loco-manipulation 扩展、flow matching 替代 diffusion 提速。
- 本仓库笔记:T01-sim2real-locomotion.md(perceptive loco sim2real 主线)、T05-diffusion-policy-lineage.md(diffusion 在 loco 中的应用)、T12-agile-locomotion.md(人形 parkour / 敏捷地形穿越)、P-BeyondMimic-2025.md、P-HOVER-2024.md。