一句话定位
ASAP 用真实机器人 rollout 数据、以 RL 训练一个**残差动作模型(delta action model)**去补偿 sim-to-real 动力学失配,再把它冻结注入仿真里微调运动跟踪策略,从而让真实 Unitree G1 人形机器人做出以往难以实现的敏捷全身技能(C 罗 Siuuu 跳、LeBron “Silencer”、前踢、1.5m 前跳)。CMU LeCAR Lab + NVIDIA,RSS 2025(Spotlight 属 CoRL 2024 WCBM Workshop)。
背景与定位
问题范式是人形全身敏捷技能的 sim-to-real 迁移:仿真里能学会的高动态动作(跳跃、踢腿、后空翻),迁到真机常因动力学 gap 而退化。论文把已有弥合手段归为三类,并逐一指出短板:
- 系统辨识 SysID:直接估电机响应、连杆质量、地形等物理参数,但需要预定义参数空间(真实 gap 落在分布外就失效),且常依赖真机根本拿不到的 ground-truth 力矩测量。
- 域随机化 DR:训练时随机化仿真参数,代价是策略过度保守、牺牲敏捷性。
- 学习真实动力学模型:在无人机、地面车等低维系统上验证过,但在高自由度人形上此前未被探索。
ASAP 走第四条路——学残差动作而非残差动力学或显式参数。它建立在作者自己的 human-to-humanoid 线(H2O / OmniH2O / hover)与人形全身控制线(ExBody / HumanPlus / Exbody2,见 humanoid-wbc)之上,方法学上属于机器人 residual learning / residual RL 家族(残差策略修正基控制器、残差项修正动力学模型)。相对 SysID/DR baseline 与 DeltaDynamics baseline,本文在三种迁移场景(IsaacGym→IsaacSim、IsaacGym→genesis-physics-engine、IsaacGym→真机 G1)上系统对比。
模型架构
这是低层全身控制策略,不含 VLM/语言条件,属 motion-tracking policy(非 VLA)。
运动跟踪策略(pre-train):goal-conditioned RL,采用 phase-conditioned 表述(源自 DeepMimic)。
- 非对称 actor-critic:actor 只吃本体感受 + 相位变量;critic 额外用特权信息(参考动作的全局位置、根线速度)。这样 actor 不依赖基于位置的目标 → 真机部署无需里程计/odometry,规避了 H2O/OmniH2O 的老难题。
- 观测(actor)
s_t^p = [q_{t-4:t}, q̇_{t-4:t}, ω^root_{t-4:t}, g_{t-4:t}, a_{t-5:t-1}],即 5 步历史:关节位置q∈R^23、关节速度R^23、根角速度R^3、根投影重力R^3、上一步动作R^23。目标状态s_t^g仅用相位φ∈[0,1](0=动作起点,1=终点),论文引证单动作跟踪下相位即足够。 - 动作
a_t∈R^23= 目标关节位置,送 PD 控制器驱动。机器人为 Unitree G1 29-DoF、锁腕后用 23 个可动关节(代码配置g1_29dof_anneal_23dof)。PPO 优化累计折扣回报。
残差动作模型 π^Δ_θ(s_t, a_t):输出修正量 Δa_t,加到真实录制动作上——s_{t+1}=f_sim(s_t, a_t^r + Δa_t)。全身版为 23-DoF;真机因数据不足退化到 4-DoF 踝关节版(G1 踝部为连杆机构,sim-real gap 尤其大)。PPO 训练。可视化显示 π^Δ 各关节输出幅度非均匀:下肢 gap 大于上肢,其中踝 pitch 关节最大,且左右不对称——这种结构化差异是均匀动作噪声补不出来的。
微调阶段把 π^Δ 冻结注入仿真,构造 f_ASAP(s,a)=f_sim(s, a+π^Δ(s,a)),用与 pre-train 相同奖励微调策略;部署时不带 delta action model。论文未披露策略网络具体 MLP 层宽(未披露)。
数据
运动来源与处理链:自录人类视频 →(TRAM)重建为 SMPL 参数(含全局根平移/朝向、body pose、shape)→(MaskedMimic 在 IsaacGym 里做物理跟踪的 “sim-to-data” 清洗,剔除物理不可行动作)→ shape-and-motion 两阶段 retarget 到机器人(沿用 OmniH2O,选 12 个人-机对应连杆、梯度下降优化 shape 与位姿)。自建动作集代号 TairanTestbed;代码另支持从 AMASS retarget。
仿真评测集:43 个动作,按复杂度/敏捷度分 easy / medium / hard 三档。
真机数据:出于安全与代表性,选 5 个任务——踢、前跳、前后跨步、单脚平衡、单脚跳;每个任务策略执行 30 次;另采 10 分钟 locomotion 数据(用于任务间过渡的行走策略)。
delta action 数据量:训练全 23-DoF 模型在仿真里需 >400 个真实动作片段(论文称的最小量),真机上不可行——高动态动作使电机快速过热,两台 G1 在采数中损坏。故退化为 4-DoF 踝版,仅 100 个片段即够训练有效模型。数据量消融用 4300 → 43000 样本:更多数据改善 OOD 泛化,但闭环性能饱和(4300→43000 闭环仅再降 0.65%)。
训练方法
两阶段。
Stage 1 · 运动跟踪 pre-train(PPO,num_envs=4096):
- 奖励 = 惩罚 + 正则 + 任务三部分(Table I)。任务奖励含 body position 1.0、VR 3-point 1.6、body position(feet) 2.1、body rotation 0.5、DoF position 0.75 等;惩罚含 termination −200、DoF pos/vel limits −10/−5、torque limits −5;正则含 action rate −0.5、feet orientation −2.0、torques −1e-6。
- 跟踪容差 termination 课程:阈值从 1.5m 渐紧到 0.3m,先学平衡再逼精度(否则跳跃类动作策略会”赖在地上”避免落地罚分)。
- Reference State Initialization (RSI):随机采样相位 0~1 初始化,让策略并行学各相位(如后空翻要先学会落地)。
Stage 2 · delta action 模型(PPO,num_envs=5000,max_episode_length=1.0s):每个 RL step 把机器人初始化到真实状态 s_t^r,奖励最小化仿真下一状态 s_{t+1} 与真实 s^r_{t+1} 的差异,加动作幅度正则 exp(−‖a_t‖)−1(Table II 中 action norm 权重 −0.2;消融最优 0.1)。奖励表 II 任务项各 0.5~1.0,torque limits 罚从 −5 放松到 −0.1、action rate −0.01。直觉:若仿真高估电机力矩能跳、真机跳不动,π^Δ 会学着削弱下肢动作幅度以复现真机限制。
微调:冻结 π^Δ,在 f_ASAP 下用 Table I 奖励微调 pre-train 策略,num_learning_iterations=1000。
关键消融/设计选择:
- 训练时长 horizon:开环最优 1.5s,闭环甜点 1.0s(更长无额外收益)。
- action norm 权重最优 0.1,过大则最小动作正则主导、开环误差回升。
- 用法对比:RL 微调 > fixed-point iteration / 梯度法(后两者是单步匹配、myopic、OOD);RL 本质是无梯度的多步匹配。
- delta action vs 随机动作噪声:噪声
β∈[0.025,0.2]微调也能小幅改善,但精度不及 ASAP——ASAP 126 MPJPE vs 最优动作噪声约 150(Fig.11 图注记 173),因为均匀噪声补不出结构化的逐关节 gap。
Infra(训练 / 推理工程)
- 仿真器:训练用 IsaacGym Preview4;IsaacSim 4.2.0 与 Genesis 0.2.1 作 sim-to-sim 的”真实环境”代理。代码基于自研多仿真器框架 HumanoidVerse(simulator/task/algorithm 模块解耦,切仿真器只改一行)+ 前作 Human2Humanoid。并行环境数 4096(跟踪)/ 5000(delta a)。
- 真机:Unitree G1(身高约 1.35m、锁腕用 23 DoF),配动作捕捉系统 + 板载传感器采状态
s_t=[p^base, v^base, α^base(四元数), ω^base, q, q̇];PD 控制器驱动。域随机化里 control delayU(20,40)ms、frictionU(0.2,1.1)、P gainU(0.925,1.05)×default、每 10s 推 0.5 m/s 扰动。 - GPU 型号/数量、GPU-hours、并行策略、精度、真机控制频率/推理 FPS/时延均未披露。硬件层面披露:采数中两台 G1 损坏、电机过热是主要瓶颈。
评测 benchmark
指标:成功率(任意时刻平均 body 距离 >0.5m 判失败)、E_g-mpjpe(全局, mm)、E_mpjpe(根相对, mm)、E_acc(mm/frame²)、E_vel(mm/frame)。基线:Oracle(IsaacGym→IsaacGym 上界)、Vanilla、SysID、DeltaDynamics。
Sim-to-sim 开环(Table III,回放测试环境轨迹) — 长 horizon 优势明显。1.0s 回放,IsaacSim 上 E_g-mpjpe:ASAP 37.9 vs OpenLoop 80.8 / SysID 77.6 / DeltaDynamics 68.1;E_acc 4.38 vs 10.6/10.2/9.61。Genesis 上 ASAP 36.9 vs 82.5/76.5/50.2。SysID 只擅短 horizon,DeltaDynamics 长 horizon 会误差级联过拟合。
Sim-to-sim 闭环(Table IV,微调后部署) — ASAP 在 Easy/Medium/Hard、两仿真器上成功率均 100%。
- Easy IsaacSim:ASAP
E_g-mpjpe=106、E_mpjpe=44.3(对比 Vanilla 107/45.4、SysID 105/47.8、DeltaDynamics 127/56.7);Genesis:ASAP 125/73.5。 - Hard IsaacSim:ASAP 129 vs Vanilla 148、SysID 165、DeltaDynamics 137(成功率仅 66.7%)。Hard Genesis:ASAP 129(100%)vs Vanilla 175(82.9%)、SysID 186、DeltaDynamics 190(60%)。DeltaDynamics 在难档成功率明显掉。
真机闭环(Table V) — 一个 in-distribution(Kick)+ 一个 OOD(LeBron “Silencer”):
- Kick:Vanilla
E_g-mpjpe/E_mpjpe=61.2/43.5 → ASAP 50.2/40.1。 - LeBron(OOD):Vanilla 159/55.3 → ASAP 112/47.5(全局误差降约 29.6%,验证 delta action 对 OOD 动作的泛化)。
论文结论段自述 sim-to-real 任务跟踪误差最多降低 52.7%。
创新点与影响
- 首次证明”学残差动作”(而非残差动力学模型或显式 SysID)能弥合高自由度人形全身敏捷控制的 sim-real gap,且用 RL 学 π^Δ 能捕捉逐关节非均匀、左右不对称的结构化差异(下肢 > 上肢、踝 pitch 最大),显著优于均匀动作噪声/DR。
- 在真机 G1 上实现此前难以完成的敏捷技能:C 罗 Siuuu 跳、LeBron “Silencer”、前踢/右踢、0.85m/1.5m 前跳、侧跳 1.3m、下蹲、腿部拉伸等;locomotion 策略做任务间过渡以免手动 reset。
- 开源多仿真器训练/评测框架 HumanoidVerse(IsaacGym/IsaacSim/Genesis 一行切换),推动后续 sim-to-real 研究。
- 作者自述局限:(1) 硬件——敏捷动作使电机过热、两台 G1 损坏,限制真机采数规模与多样性;(2) 依赖精确动作捕捉,非结构化环境难部署;(3) delta action 训练数据饥饿——全 23-DoF 需 >400 片段,实用上被迫退化到 4-DoF 踝版。未来方向:损伤感知策略、markerless 位姿估计/板载传感融合去 MoCap、few-shot 自适应 delta action。
原始链接
- arXiv abs:https://arxiv.org/abs/2502.01143
- arXiv PDF:https://arxiv.org/pdf/2502.01143
- 项目主页:https://agile.human2humanoid.com/
- 代码 GitHub:https://github.com/LeCAR-Lab/ASAP
- 视频:https://www.youtube.com/watch?v=tu7LSNYWDTs
- 会议:Robotics: Science and Systems (RSS) 2025(Spotlight 属 CoRL 2024 WCBM Workshop;亦入 X-Embodiment Workshop CoRL 2024)
一手源存档(sources/)
- asap—github-readme — GitHub README 快照(含 RSS 2025、仿真器版本 IsaacGym Preview4 / IsaacSim 4.2.0 / Genesis 0.2.1、训练命令与超参 num_envs/iterations、CR7 训练示例)
- asap—project-page — 项目主页快照(技能清单、作者、abstract、venue)
- arXiv 原文 PDF:https://arxiv.org/pdf/2502.01143 (arXiv 原文 PDF,不入 git)