返回报告库

Robotics / Humanoid

ASAP让模拟器学会复现真机的失败

官方标题:ASAP: Aligning Simulation and Real-World Physics for Learning Agile Humanoid Whole-Body Skills
Tairan He 等,arXiv:2502.01143v3(2025)|论文主页

这篇论文换了一个修补“仿真到现实”落差的角度:不先猜真机到底是哪项物理参数不准,而是让 Unitree G1 的真实失败告诉模拟器“同一个动作指令还差多少”,再让控制策略在这种更像真机的失败里重新练习。

一段人类视频,先变成机器人能练的动作

先看信号从哪里来:研究者拍下人的踢腿、跳跃等动作,用 TRAM 把二维视频重建成三维人体运动;再让物理模拟器淘汰站不住、穿地或违反动力学的重建结果;最后把保留下来的动作映射到 G1 的身体比例和关节上。图里最重要的不是“照着人摆姿势”,而是中间那道物理筛选:最终参考轨迹既像原动作,也得是机器人有机会做到的动作。(论文第 II-A 节、图 2)

这一步只生产“应该怎么动”的参考答案,还没有解决真机和模拟器反应不同的问题。视频重建也可能带来误差;论文用模拟器清洗数据,但没有证明清洗后的轨迹就是唯一或最自然的机器人动作。

相位像乐谱页码:策略据此给出 23 个关节目标

控制策略每一刻看到两类信息:动作进行到哪里(相位 ϕ\phi,从 0 到 1),以及最近 5 步的关节角度、速度、身体转动、重力方向和上一批动作。它输出 23 个目标关节位置,再由底层 PD 控制器驱动电机。相位就像乐谱页码:同样是站立姿态,页码不同,下一拍可能要起跳,也可能要落地。(论文第 II-B 节)

训练时,模拟器会奖励它贴近参考动作,也会惩罚摔倒、超出关节或扭矩限制、打滑和动作突变。早期允许身体离参考轨迹最多 1.5 米,随后收紧到 0.3 米;每次训练还随机从动作中段开始,所以策略可以分别练起跳和落地,而不必每次从第一帧熬到最后一帧。(论文第 II-B 节)

真机偏到哪里,修正动作就把模拟器推向哪里

预训练策略上真机后,研究者同时记录动作指令、机载传感器和动捕得到的状态。把同一条动作指令放回模拟器,模拟轨迹与真实轨迹的分叉就是训练信号。修正模型不直接改质量、摩擦或电机参数;它根据当前状态和原动作输出一个额外动作 Δat\Delta a_t,让模拟器下一步更接近真机实际走到的位置。(论文第 III-A、III-B 节)

这解决的真实问题是:“如果真机此刻比模拟器少跳了一截,怎样让模拟器也表现出这份无力?”核心更新是

st+1=fsim(st,atr+Δat).s_{t+1}=f^{\mathrm{sim}}(s_t,a_t^r+\Delta a_t).

输入是当前状态 sts_t、真机记录的动作 atra_t^r 和修正量 Δat\Delta a_tfsimf^{\mathrm{sim}} 表示模拟器如何把它们推进到下一状态。两项动作先相加,再由模拟器算出 st+1s_{t+1}。例如原动作是“踝关节目标增加 10 个单位”,修正量是 2-2,模拟器就按 8 去推进。负修正变大时,模拟器会表现得更弱;修正为 0 时,它退回原模拟器。训练同时压低轨迹差和修正幅度,避免模型靠夸张补丁硬凑结果。(论文第 III-B 节、表 II)

修正器不跟机器人上场;它只负责改造训练场

学好的修正模型会被冻结并嵌入模拟器,预训练控制策略在这个“会复现真机失败”的训练场里继续练。真正部署时,修正模型被拿掉,只有微调后的控制策略运行在 G1 上。换句话说,ASAP 不是实时替机器人补动作,而是先把训练环境变难,再让策略学会自己应对。(论文第 III-C、III-D 节)

真机表 V 给出的两项任务都变好:踢腿的全局身体位置误差从 61.2 mm 降到 50.2 mm;未参与修正模型数据收集的 “LeBron Silencer” 动作从 159 mm 降到 112 mm,约降 29.6%。但这不是“完整身体物理已学会”:真机只收集了 100 段动作,并把修正范围缩到 4 个踝关节自由度;完整 23 自由度模型需要超过 400 段,动态采集还导致两台 G1 不同程度损坏。论文证明的是两个选定真机任务上的跟踪改善,以及跨动作的初步证据,不是长期可靠性、无动捕部署或所有敏捷动作的普遍保证。(论文第 IV-C、VIII 节、表 V)

研究附录

方法链条与公式细节

预训练策略写作 π\pi。其观测由本体感觉 stps_t^{\mathrm p} 和目标状态 stg=ϕs_t^{\mathrm g}=\phi 组成;本体感觉包含 5 步关节位置 q\boldsymbol q、关节速度 q˙\dot{\boldsymbol q}、根部角速度 ωroot\boldsymbol\omega^{root}、投影重力 g\boldsymbol g 与此前动作。策略输出 atR23\boldsymbol a_t\in\mathbb R^{23},即 23 个目标关节位置。PPO 最大化折扣累计奖励 E[t=1Tγt1rt]\mathbb E[\sum_{t=1}^T\gamma^{t-1}r_t]γ\gamma 越接近 1,较远未来的奖励权重越大;越接近 0,训练越偏向眼前一步。这个目标属于常规训练底座,不是 ASAP 最关键的新公式。

修正模型为 Δat=πθΔ(st,at)\Delta a_t=\pi_\theta^\Delta(s_t,a_t)。训练时,每个样本从真实状态 strs_t^r 起步,比较模拟器下一状态 st+1s_{t+1} 与真实下一状态 st+1rs_{t+1}^r,并用动作幅度正则抑制过大的修正。随后冻结 πΔ\pi^\Delta,把训练动力学改写为

fASAP(st,at)=fsim ⁣(st,at+πΔ(st,at)).f^{\mathrm{ASAP}}(s_t,a_t) =f^{\mathrm{sim}}\!\left(s_t,a_t+\pi^\Delta(s_t,a_t)\right).

这里的运算仍是“原动作 + 状态相关修正”,输出是更接近目标环境的一步模拟状态。策略在 fASAPf^{\mathrm{ASAP}} 中微调,部署时则直接输出动作给真机,不运行 πΔ\pi^\Delta。论文附录还推导了固定点迭代与梯度搜索等免训练用法;实验中 RL 微调误差更低,因此主文不展开这些推导。

关键实验数字

场景指标VanillaASAP变化
真机踢腿(分布内)全局身体位置误差,mm61.250.2-18.0%
真机踢腿(分布内)根部相对关节误差,mm43.540.1-7.8%
真机 LeBron(分布外)全局身体位置误差,mm159112-29.6%
真机 LeBron(分布外)根部相对关节误差,mm55.347.5-14.1%
IsaacGym→Genesis,1 秒开环全局身体位置误差,mmOpenLoop 82.536.9-55.3%

百分比按表中数值重新计算;真机原始值来自表 V,模拟器 1 秒开环值来自表 III。误差越低越好。论文还在 43 个动作、三档难度上做 IsaacGym→IsaacSim 与 IsaacGym→Genesis 的闭环评估;ASAP 在两套测试模拟器中均保持 100% 成功率。模拟器结果能隔离动力学差异,但不能替代真机耐久性证据。

数据与消融告诉了什么

  • 模拟到模拟实验使用 43 个动作,分 easy、medium、hard。
  • 真机研究选了踢腿、向前跳、前后迈步、单脚平衡、单脚跳五类数据采集任务;量化主比较只报告踢腿与 LeBron 两项。
  • 真机收集 100 段动作训练 4-DoF 踝关节修正模型,另收集 10 分钟行走数据用于任务间过渡。
  • 模拟数据从 4,300 增到 43,000 样本时,闭环误差只再下降 0.65%,显示收益趋于饱和。
  • 训练时域在开环评估中 1.5 秒最好,但闭环策略在 1.0 秒达到最好结果;更长不一定更有用。
  • 修正动作正则权重在 0.1 时误差最低;过大时会压制必要修正。
  • 随机动作噪声微调也能改善策略,但论文报告其最佳 MPJPE 约 150,而 ASAP 为 126;各关节学到的修正并不均匀,踝和膝更大。

与已有路线的关系

系统辨识(SysID)先选质量、质心、PD 增益等参数,再搜索最匹配真机的取值。域随机化(DR)让策略在很多随机物理世界里训练。ASAP 则学习“动作应该怎样偏一点,模拟结果才像真实结果”,不要求把误差解释成某个物理参数。论文明确把方法放在 residual action learning 的脉络中,并特别指出 RGAT 已使用残差动作和前向动力学来改进模拟器;ASAP 把这个思路扩展到敏捷人形全身控制。

动作来源同样继承了已有组件:TRAM 从视频恢复 SMPL 三维人体轨迹;MaskedMimic 在物理模拟中筛掉不可行轨迹;人到机器人的形状与动作两阶段重定向沿用 Expressive Whole-Body Control for Humanoid Robots 的流程。它们是 ASAP 的数据与预训练底座,不是本文声称的新贡献。

术语

术语本文中的意思
sim-to-real在模拟器里训练,再部署到真实机器人
动力学落差同一状态和动作在模拟器与真机产生不同下一状态
residual / delta action加在原动作上的、随状态变化的小修正
phase动作从开头 0 到结尾 1 的进度
proprioception机器人从关节、惯性传感器等得到的自身状态
开环回放固定回放动作,不让策略根据新状态及时纠偏
闭环控制策略不断读取当前状态并更新动作
OOD / 分布外没出现在修正模型数据收集中的动作

证据边界与不确定性

论文明确列出三项现实限制:高动态数据采集会让电机过热并损伤硬件;记录真实轨迹依赖动捕系统;完整 23-DoF 修正模型的数据需求仍过高。真机表 V 没有报告误差方差或置信区间,因此无法从表中判断重复实验的不确定程度。论文称每项跟踪策略执行 30 次,但表 V 的汇总方式没有给出足以独立复算统计显著性的细节。

“分布外”只表示 LeBron 动作未用于修正模型的数据收集,不等于跨机器人、跨负载、跨地面或跨硬件老化的泛化。两个真机任务上的改善支持“方法在该 G1 与该实验设置中有效”,但还不能证明对所有敏捷全身技能都有效。

来源定位

  • 标题、摘要与总流程:arXiv:2502.01143v3,摘要与图 1。
  • 视频数据、清洗、重定向:第 II-A 节、图 2。
  • 相位策略、观测、奖励与课程:第 II-B 节、表 I。
  • 真实轨迹与修正动作训练:第 III-A 至 III-B 节、表 II。
  • 改造模拟器、微调与部署:第 III-C 至 III-D 节。
  • 模拟器比较:第 IV-A 至 IV-B 节、表 III 至 IV。
  • 真机设置与结果:第 IV-C 节、表 V、图 7 至 8。
  • 数据量、时域、正则和随机噪声消融:第 V 节、图 9 至 12。
  • 局限:第 VIII 节。

核验问题

  1. 为什么修正模型在训练时加入模拟器,却在真机部署时拿掉?
  2. 表 V 的 “OOD” 具体排除了什么,又没有排除什么?
  3. Δat=0\Delta a_t=0,改造后的模拟器会退化成什么?
  4. 为什么 4-DoF 真机结果不能直接证明完整 23-DoF 模型可行?
  5. 论文怎样区分“结构化动力学修正”与“只加随机噪声也会更鲁棒”?

关于这篇论文的三个关键问题

ASAP:让模拟器学会复现真机的失败 解决了什么问题?

这篇论文换了一个修补“仿真到现实”落差的角度:不先猜真机到底是哪项物理参数不准,而是让 Unitree G1 的真实失败告诉模拟器“同一个动作指令还差多少”,再让控制策略在这种更像真机的失败里重新练习。

ASAP:让模拟器学会复现真机的失败 的核心结论有哪些证据?

训练时,模拟器会奖励它贴近参考动作,也会惩罚摔倒、超出关节或扭矩限制、打滑和动作突变。早期允许身体离参考轨迹最多 1.5 米,随后收紧到 0.3 米;每次训练还随机从动作中段开始,所以策略可以分别练起跳和落地,而不必每次从第一帧熬到最后一帧。(论文第 II-B 节)

阅读 ASAP:让模拟器学会复现真机的失败 时最需要注意什么局限?

训练时,模拟器会奖励它贴近参考动作,也会惩罚摔倒、超出关节或扭矩限制、打滑和动作突变。早期允许身体离参考轨迹最多 1.5 米,随后收紧到 0.3 米;每次训练还随机从动作中段开始,所以策略可以分别练起跳和落地,而不必每次从第一帧熬到最后一帧。(论文第 II-B 节)

今天还可免费读 2 篇新报告订阅 Pro 后无限阅读,并获得每月 10 篇新论文生成额度。升级 Pro