T01 · Sim-to-Real 与在线适应(四足 / 人形 Locomotion)
核心问题:怎么把仿真里学到的运动策略迁移到真实机器人,并在部署时适应未知的物理环境(质量、摩擦、地形、电机退化、柔性接触……)。
状态:🟢 活跃(剧烈动作、可变形地形、跨本体仍是开放前沿)
本页内容
基础解释
一句话直觉
机器人仿真里练好的本事,搬到真机常当场摔。
问题出在仿真和真机之间,永远有一道缝。
好比飞行员在模拟器里开得再稳。
真上天,还得扛住模拟器没料到的真实乱流。
从基础理解
要解决的问题
仿真里学本事几乎免费。可以无限并行、随便试错。
真机又贵又危险、还稀缺。
可仿真器只是真实物理的一个"偏的影子"。
摩擦、接触、电机磨损,都建不准。
把仿真里练好的策略直接搬上真机,常当场就摔。
这道"仿真与真机之间的缝",就是这条线索要弥合的。
演进脉络(四种回答)
- 当噪声。把各种扰动都预演进策略,部署时啥也不做。
- 当常数。把真机参数一项项测准,让仿真对齐,部署前校准一次 📎。
- 当时变量。让策略运行时从最近半秒的体感里猜出环境,临场调整。这是分水岭 📎。
- 修仿真器。不再让策略去适应缝,改让仿真器自己学这道缝 📎。
方法核心(大白话)
第三种思路给策略配一个"猜环境"的小脑。
仿真训练时,先让主策略偷看真实环境参数(质量、摩擦、地形)。
再单独训一个小网络,只看最近半秒的关节体感。
让它猜出主策略偷看过的那些参数。
部署时主策略不再偷看,全靠这个小网络现场猜。
猜准了,策略就能即时适应:被挂上新背包、踩到冰面,都不慌。
妙在它没换训练算法,只是多了一个猜环境的模块。
第四种思路反过来。
先用真机跑一段,记下仿真和真机的偏差。
再用这个小偏差模型,把仿真器"修准"。
最后在被修准的仿真里继续练 📎。
一句话类比
在线适应之于机器人,就像老司机换一台新车。
不用重新考驾照。
握上方向盘开半分钟,手感就把这台车的脾气摸清了。
一、这条线索在解决什么
机器人 RL 的根本诱惑是:仿真几乎免费、可任意并行、可任意试错;真机数据昂贵、危险、稀缺。但仿真器永远只是真实物理的一个偏置投影——接触动力学、柔性体、摩擦、温度漂移、电机损耗都无法精确建模。Sim-to-real 不是「一次性迁移」,而是「如何把一个有偏的仿真分布里学到的策略,泛化到一个未知的真机分布」。这条线索的全部技术演进,都在围绕一个不变的问题打转:「仿真到真实之间的那道 gap,到底应该用什么手段去弥合?」
历史上对这道 gap 有过三种截然不同的回答,对应三套哲学,它们不是互相替代而是互补:
- 离线鲁棒性(offline robustness)派:把 gap 当成噪声,训一个对所有扰动都鲁棒的策略——以 domain randomization(DR)为代表。部署时不做任何事。
- 系统辨识(system identification)派:把 gap 当成可测的常数,主动测出来再补偿——以 ETH 早期 ANYmal 工作为代表。部署前校准一次。
- 在线适应(online adaptation)派:把 gap 当成时变量,让策略在运行时从历史观测里把它推断出来——以 RMA 为代表。部署中实时调整。
绝大多数现代成功系统都是三者的组合,但每一次重要进展,本质上都是把这三者之一推得更远、或找到了更巧妙的组合方式。这条线索的骨架就是这三套哲学的此消彼长与互相融合。
边界说明:本线索聚焦「策略的迁移与适应机制」。感知/地形建模本身(如何把点云变成可用的 heightmap)更接近感知线索;reward 自动化(DrEureka/Eureka)虽然服务于 sim-to-real,但其本身的方法学属于 T03 reward 链;剧烈动作(parkour/翻滚)的 感知与运动学 部分与 motion prior 链(T04)重叠,这里只讲它们的 sim-to-real 维度。
二、时间线(关键转折点)
最早把 sim-to-real 做出说服力的是 OpenAI。2018 年的 Learning Dexterous In-Hand Manipulation [OpenAI 2018, arXiv:1808.00177] 用大规模 domain randomization 在 Shadow Hand 上把「手掌转方块」迁到真机——这是把 DR 作为 sim-to-real 主力工具的奠基演示。2019 年他们进一步用 Automatic Domain Randomization(ADR)解魔方 [Akkaya et al. 2019, arXiv:1910.07113],让 DR 从「手工设定分布」升级为「自适应放大概率的扰动方向」。但灵巧手是「在桌面定点作业」,DR 在腿足机器人上需要面对的,是连续接触、动态平衡、地形——状态空间是高度动态的。
腿足 sim-to-real 的范式确立者是 ETH RSL。2019 年 Hwangbo et al. 在 Science Robotics 发表 Learning agile and dynamic motor skills for legged robots [arXiv:1901.08652],用自研 RaiSim + 精细的系统辨识(把电机、摩擦、惯量一项项测准)+ curriculum,把 ANYmal 的策略迁到真机,这是腿足 sim-to-real 第一次达到「能在户外跑」的工程化水平。但这条路线的代价是:仿真器和真机的对齐靠工程师一项项手调。
2020 年 Lee et al. 把这条路线推进到 teacher-student [arXiv:2010.11251],让「盲」ANYmal 只靠本体感受(关节角、速度、IMU)就能稳走复杂地形。这是 sim-to-real 思路的一次根本转向:与其让仿真器对齐真机,不如让策略在仿真里把真机的感知缺陷提前预演一遍——teacher 用仿真里的特权信息(heightmap、接触力)训练,student 通过蒸馏学会「没有特权信息时该怎么走」。2022 年 Miki et al. 的 ANYmal-C in the wild [arXiv:2201.08117] 把这套加上视觉外感知,把 ANYmal 送上森林、雪地、工地的长时间部署。这三篇构成了 「ETH 三件套」:系统辨识 + teacher-student + DR + curriculum,至今是 legged 工作的事实基线。
但 ETH 三件套有一个隐含假设:真机的物理参数在部署时是不变的。如果机器人中途被加了一个 5kg 背包、踩到了一段冰面、或者电机老化了呢?DR 把这些扰动预演进了策略,但策略一旦部署就是「固定」的。RMA [Kumar et al. 2021, arXiv:2107.04034] 打破了这个假设——这是本线索的分水岭。RMA 提出两阶段 adaptation:仿真里训一个 base policy + 一个 latent environment embedding $z_t$,部署时用一个 temporal-convolution adaptation module 从最近的观测-动作历史里在线推断 $z_t$,让策略实时适应未知的质量、摩擦、地形变化。从此「在线适应」成为 sim-to-real 的第三个独立维度,与「DR 离线鲁棒性」分庭抗礼。
RMA 之后演化为两条支线。一支把 adaptation 思想扩到双足(A-RMA [Kumar et al. 2023])和机械臂(RMA2 [Liang et al. CVPR 2024, arXiv:2312.04670])。另一支强化「隐式推断」的方向:DreamWaQ [Nahrendra et al. 2023, arXiv:2301.10602] 把 RMA 的显式 adaptation module 换成 implicit terrain estimation,DreamWaQ++ [arXiv:2409.19709] 加入多模态韧性。
几乎与 RMA 同期发生的是一场基础设施革命:2021 年 Rudin et al. 的 Learning to Walk in Minutes [arXiv:2109.11978] 基于 Isaac Gym 在单 GPU 上并行数千环境,把训练压缩到分钟级,配套 legged_gym 代码库成为社区事实标准。这是「民主化」节点——它本身不是方法创新,但让后面所有工作(Extreme Parkour、DreamWaQ、DrEureka、ANYmal Parkour)都能在通用基线上快速迭代。
剧烈动作的 sim-to-real 是另一道坎。Extreme Parkour [Cheng et al. 2023, arXiv:2309.14341] 用单深度相机 + 大规模 RL 学到了跳大间隙、爬高障碍、钻栏杆,但本质上还是「在 sim 里训得很猛、靠 DR+RMA 式 history 编码硬扛 gap」。真正的突破来自人形:ASAP [He et al. RSS 2025, arXiv:2502.01143] 提出 residual delta dynamics——先在仿真里训好 motion tracking policy,部署到真机收集 rollout,再用一个 transformer 学一个「delta action」模型来补偿 sim 和真机下一状态之差,最后用这个被 delta 模型校正过的「修正过的仿真器」去 fine-tune 策略。这是 sim-to-real 哲学的第四次转向:与其让策略适应 gap,不如让仿真器本身在线学习 gap(详见 P-ASAP-2025.md)。
最后一条正在生长的支线是 LLM 辅助 sim-to-real。DrEureka [Ma et al. RSS 2024, arXiv:2406.01967] 用 GPT-4 同时自动生成 reward 函数和 DR 参数范围,让 LLM 充当「reward 与 DR 调参工程师」,第一次让四足甚至两足倒立行走的 sim-to-real 全自动跑通。它不改变 sim-to-real 的物理机制,但改变了门槛——把过去 ETH 工程师花几个月手调的工作压缩到一次 LLM 调用(详见 P-DrEureka-2024.md)。
三、关键转折的深度解析
转折 1:domain randomization 的起源与极限(OpenAI Hand, 2018-2019)
前作的缺陷:在 OpenAI Hand 之前,sim-to-real 的主流是「让仿真尽量精确」(system identification),但接触丰富的高自由度系统(灵巧手)根本无法精确建模——指尖和物体的接触每秒变化数百次,任何参数偏差都会被指数放大。
新方法的核心 idea:Learning Dexterous In-Hand Manipulation [OpenAI 2018, arXiv:1808.00177] 反向操作——既然无法精确建模,干脆把仿真参数当作随机变量,训一个对整个分布都鲁棒的策略。他们在 MuJoCo 里随机化摩擦、阻尼、物体质量、关节摩擦、控制延迟、动作增益等数百个参数。真机于是被「夹」在这个分布里,策略对它自然鲁棒。2019 年的 Solving Rubik's Cube [Akkaya et al. 2019, arXiv:1910.07113] 进一步提出 Automatic Domain Randomization (ADR):随机化范围不是固定,而是根据 policy 表现自适应放大,让真机永远落在「另一个样本」上。
为什么是突破:它第一次证明了「对足够广的分布鲁棒 ⇒ 真机可零样本迁移」是一条可行的、不依赖精确建模的路线。它把 sim-to-real 从一个工程问题变成了一个泛化问题。
留下的新问题:DR 有一个致命代价——样本效率极差,且鲁棒性的代价是性能下降。policy 要同时应对「光滑桌面」和「粘胶表面」,必然在两者之间折中。更糟的是,DR 的范围是手调超参,太窄迁不过去、太宽策略学不出东西(这是后来 DrEureka 想用 LLM 解决的问题)。
💡 核心洞察:DR 把 sim-to-real 从「让仿真更精确」翻转为「让策略对偏置鲁棒」——这是一次哲学跃迁:建模精度的执念被放弃,转而把 gap 当噪声让策略泛化吸收,从此 sim-to-real 不再只是工程问题,而是一个泛化问题。
转折 2:ETH 三件套——把 sim-to-real 工程化(2019-2022)
前作的缺陷:纯 DR 在腿足上行不通——腿足是连续接触、动态平衡,DR 一宽策略就发散(摔)。OpenAI 的成功建立在「桌面、定点、双手托住物体」这个相对静态的场景上。
新方法的核心 idea:Hwangbo et al. 2019 [arXiv:1901.08652] 的关键贡献不是算法,而是三件事的工程化集成:(a) 用自研 Rai Sim(rigid-body contact solver)替代通用仿真器,接触更稳定;(b) 对真机做精细系统辨识——把电机扭矩-电流曲线、关节摩擦、连杆惯量逐项测准;(c) curriculum,从平地到复杂地形逐步加难度。结果:ANYmal 真机能在户外跑,速度 1.0 m/s。
Lee et al. 2020 [arXiv:2010.11251] 在此基础上做了一次关键转向,引入 teacher-student 蒸馏。teacher 在仿真里训练时用特权信息(privilege information)——高度图、接触法向量、摩擦系数;student 部署时只有本体感受(关节角、速度、IMU)。两阶段:(1) teacher 学会怎么用特权信息走好;(2) student 通过行为克隆/监督学习把 teacher 的策略「翻译」成只用本体感受也能输出同样动作。机制上是 asymmetric 的:teacher 和 student 看到的输入不同但输出对齐。
为什么 student 只用本体感受也能工作?因为机器人踩在不同地形上时,关节力和位姿轨迹本身就是地形的隐式编码——硬地、软地、斜面上同样的电机命令会产生不同的运动响应,student 学会了从这些响应里「读出」环境。换句话说,student 在仿真里被强制学会了一个「隐式的环境估计器」。
Miki et al. 2022 [arXiv:2201.08117] 把外感知(lidar/视觉)作为额外特权信息加进 teacher,再蒸馏给带相机的 student,让 ANYmal-C 进入森林、雪地、工地的长时间部署。精确机制(详见 P-ANYmal-C-2022.md,全部来自 PDF Sec.4 + Supp. S5–S9):
- Teacher 看的特权信息精确为 50 维(论文 Supp. Table S3):4 维接触状态 + 12 维接触力 + 12 维接触法向量 + 4 维摩擦系数 + 8 维 thigh/shank 接触 + 6 维 external forces/torques + 4 维 airtime。再加 208 维干净 height samples(4 脚 × 52 个采样,5 个半径环)。
- Student 的 belief encoder = GRU 2 层 × 50 hidden + exteroceptive attention gate(论文 Supp. S6 原话:"The GRU consists of 2 stacked layers with 50 hidden units each")。gate 输出 96 维 attention 向量 $\alpha=\sigma(g_a(b'_t))$,对 exteroceptive feature 做逐元素门控——当视觉被噪声污染时 gate 自动趋零、policy 优雅退化到纯 proprioception。最终 belief state = 96 + 24 = 120 维。
- Student 用两个 supervised loss(DAgger-style on-policy rollout):(1) behavior cloning $\|a_{\text{student}}-a_{\text{teacher}}\|^2$;(2) reconstruction loss 强制 belief state 解码回干净的 height samples + privileged info——这是 belief 收敛的关键辅助监督(两 loss 权重比待核)。
- Action 空间用 CPG(central pattern generator)参数化:每条腿一个 phase 偏移 $\Delta\phi_l$ + 12 维残差关节目标 $\Delta q_i$,nominal foot trajectory 用解析 IK 转成 nominal joint target,policy 输出在 nominal 上加 residual。这让 RL 不必从零学步态。Policy @ 50 Hz,elevation map @ 20 Hz,2.5D robot-centric GPU 加速。Policy 部署 zero-shot 不 fine-tune,可在 2 个 LiDAR / 4 个 RealSense 两种传感器配置下直接切换。
为什么是突破:teacher-student 把 sim-to-real 从「让策略鲁棒于一切扰动」拆解成了「让策略在仿真里学会一切它部署时可能缺的信息」。它是 DR 的更聪明替代品——DR 用宽度换鲁棒,teacher-student 用特权蒸馏换鲁棒,后者训练更稳定、性能损失更小。Miki et al. 2022 的 attention-gated GRU belief encoder 还解决了一个新问题:exteroception 不可靠是常态而非例外(雪、反光、植被、pose drift 都会让 elevation map 失效),控制器必须学会「何时信视觉、何时不信」——gate 机制把这个启发式决策变成了端到端可学的模块。
💡 核心洞察:teacher-student 的真正巧妙在于「不对称」——teacher 看特权信息、student 不看但要对齐输出,这逼 student 从关节动力学响应里隐式重建地形/接触信息,把 sim-to-real 从「让仿真器对齐真机」翻转为「让 policy 在仿真里提前预演部署时的感知缺失」。
留下的新问题:ETH 三件套默认部署时环境不变。student 学到的是一个「固定」的策略,部署后被加背包、踩冰面、电机老化,它没有应对机制——只能靠 DR 把这些扰动预演进去,但预演有限。
转折 3:RMA——把适应变成在线的(2021,分水岭)
前作的缺陷:ETH 三件套和 DR 共享同一个隐含假设——部署时的 gap 是静态的。但真实场景里 gap 是动态的:人会往机器人上挂东西,地形会从水泥变成草地,电机会发热退化。
新方法的核心 idea:RMA [Kumar et al. 2021, arXiv:2107.04034] 提出两阶段训练(以下精确数字来自论文 PDF Sec.III–IV + Fig.2 + Table I,详见 P-RMA-2021.md):
- Stage 1(RL with privileged information):在仿真里训 base policy $\pi(a_t \mid s_t, a_{t-1}, z_t)$,其中 $z_t = \mu(e_t) \in \mathbb{R}^8$ 是用 MLP encoder $\mu$ 把特权环境参数 $e_t \in \mathbb{R}^{17}$ 编码出的 latent(论文 Sec.III.A)。$e_t$ 17 维精确组成 = 质量 + 3 维 COM 偏移 + 12 维电机强度 + 摩擦 + 局部地形高度(Sec.IV.A)。本体感受 $s_t \in \mathbb{R}^{30}$ = 12 维关节位置 + 12 维关节速度 + 2 维躯干 roll/pitch + 4 维 binary 足部接触(不用 yaw)。仿真用 RaiSim(不是 Isaac Gym),fractal terrain;policy @100Hz、sim timestep 0.025s。reward 是 bioenergetics-inspired 10 项加权和(含 forward、work $-|\tau^\top\Delta q|$、ground impact $-\|\Delta f\|^2$、smoothness、foot slip 等)。
- Stage 2(supervised adaptation):训一个独立的 adaptation module $\phi$,输入是最近 $k=50$ 步(@100Hz 即 0.5 秒)的本体感受 + 动作历史(没有任何特权信息!),输出是对 $z_t$ 的预测 $\hat{z}_t$。监督信号是 Stage 1 里 encoder 输出的真值 $z_t$,loss = $\text{MSE}(\hat{z}_t, z_t)$。$\phi$ 是一个 1D causal temporal convolution(论文 Sec.III.B 原话 "1-D CNN to capture temporal correlations")——能从历史轨迹里捕捉「同样的动作产生了什么样的响应」这种动力学指纹。关键 trick(Sec.III.B):Stage 2 不用 teacher 的 perfect trajectory,而是用 DAgger 式 on-policy rollout——用随机初始化的 $\phi$ 预测 $\hat{z}_t$、再 rollout 采数据,让 $\phi$ 见到「偏离完美」的样本,是部署鲁棒性的来源。
异步双频率部署(Sec.III.C):部署时 $\phi_\omega$ @ 10 Hz 更新 $\hat{z}_t$,$\pi_\theta$ @ 100 Hz 出 12 维目标关节位置 $\hat{q}$,PD 控制器($K_p=55, K_d=0.8$)转力矩。两者异步并行、无中央时钟——$\pi$ 在两次 $\hat{z}_t$ 更新间持续用最近的 $\hat{z}_t$。这个异步设计对算力受限的 A1 至关重要。论文 Sec.III.C 还尝试了「端到端单网络吃 history」baseline,发现 (a) 步态不自然、(b) 受 history 卷积拖累只能 10Hz、(c) 失去异步——所以两阶段不是可选项,是必须。
部署时只有 $\pi$ 和 $\phi$ 跑,$z_t$ 完全靠 $\phi$ 在线推断。当机器人挂上了一个未知重量的背包,它的关节力矩响应会立刻偏离,$\phi$ 从最近 0.5 秒的历史里推断出一个新的 $\hat{z}_t$,$\pi$ 据此调整动作。
为什么是突破:它把「适应」从一个静态训练时的属性(DR)变成一个运行时的能力。这是 sim-to-real 哲学的分水岭:之前所有工作都在试图让策略在部署前就准备好,RMA 让策略在部署中持续调整。技术上的巧妙在于——它没有改变 RL 训练算法(还是 PPO),只是引入了一个 latent + temporal conv 的组合,就能让一个 PPO 训出来的 policy 具备在线适应能力。
留下的新问题:(1) $\hat{z}_t$ 的解释性差,无法保证推断正确;(2) adaptation 收敛速度有限(~0.5 秒),面对突变(一脚踏空)来不及;(3) 训练时 $e_t$ 的分布决定了能适应什么——遇到训练分布外的扰动仍会失效。
💡 核心洞察:RMA 的分水岭意义在于「适应」被重新定义为运行时能力——一个 latent + 一个 1D temporal conv 就能把「策略部署后即冻结」的旧范式打破,证明在线适应不必改 RL 算法、只需在 policy 之外挂一个读历史的 encoder。
转折 4:RMA 的后续——A-RMA、DreamWaQ 系列
前作的缺陷:RMA 在四足上工作,但 (a) 双足平衡比四足难得多,(b) 显式 adaptation module 有时不如隐式估计优雅。
新方法的核心 idea:
- A-RMA [Kumar et al. 2023]:把 RMA 的两阶段 adaptation 扩到双足。难点在于双足是不稳定平衡(重心只在单脚支撑相内),adaptation 的延迟容忍度远低于四足。他们调整了网络结构和 reward,让 biped 也能在未知质量和摩擦下保持行走。
- DreamWaQ [Nahrendra et al. 2023, arXiv:2301.10602]:换一个思路——不要显式的 adaptation module,而是用 critic 侧的 asymmetric 信息 + RNN 隐状态让 policy 隐式估计地形。机制:训练时 actor 看不到特权信息但 critic 看到,actor 通过价值回传间接学会「地形是什么」。部署时 RNN 隐状态编码了地形估计,无需 $\phi$。这其实是把 RMA 的「显式 latent」换成了「隐式 recurrent state」,更简单但更难调。
- DreamWaQ++ [arXiv:2409.19709]:在 DreamWaQ 基础上加 obstacle-aware 多模态韧性,能在杂乱地形上敏捷行走。
为什么是突破:这两条线验证了「在线适应」的普适性——既能扩到双足,也能用不同的机制(显式/隐式)实现。
留下的新问题:双足适应的稳定性边界还没摸清;隐式估计的解释性比显式更差。
转折 5:基础设施民主化——Learning to Walk in Minutes + legged_gym(2021)
前作的缺陷:在 2021 之前,腿足 RL 训练要么靠 OpenAI 那种超大 CPU 集群(6144 核),要么靠 ETH 自研 RaiSim(不开源)。普通人复现 ANYmal 级别的结果几乎不可能。
新方法的核心 idea:Rudin et al. [arXiv:2109.11978] 不是方法创新而是工程整合——用 NVIDIA Isaac Gym 的 GPU 并行物理(4096 个环境同时跑),在单块 RTX 3090 上把四足训练压缩到 20 分钟内。配套开源的 legged_gym(基于 Isaac Gym)+ rsl_rl(PPO + teacher-student + RNN 实现)成为社区事实标准。
为什么是突破:它把腿足 sim-to-real 从「ETH/OpenAI 专属」变成「任意一个小团队一夜就能跑」。Extreme Parkour、DreamWaQ、DrEureka、ANYmal Parkour 全部建立在 legged_gym 之上。这是社区转折点——没有它,RMA 之后这条线索的演化速度会慢一个数量级。注意:这不是 sim-to-real 方法的进步,而是 sim-to-real 样本生产成本的下降。
留下的新问题:GPU 仿真器(Isaac Gym/Lab)在接触精度上仍不如 RaiSim,剧烈接触动作容易发散。
💡 核心洞察:legged_gym 不是算法突破而是「样本生产成本」的一次数量级下降——训练从「ETH 级集群」拉到「单卡一夜」,从此 sim-to-real 的演化速度被基础设施而非新方法决定,这是 RMA 之后这条线能持续高速迭代的真正原因。
转折 6:剧烈动作的 sim-to-real——Extreme Parkour → ASAP(2023-2025)
前作的缺陷:行走、慢跑这类「准静态」动作的 sim-to-real 已被 ETH 三件套 + RMA 解决,但跳跃、翻滚、踢打这类剧烈动作仍然迁不过去。原因是剧烈动作里接触瞬间的微小偏差会被运动学放大成完全不同的轨迹——DR 再宽也覆盖不了。
新方法的核心 idea:
- Extreme Parkour [Cheng et al. 2023, arXiv:2309.14341] 用了两个 trick:(1) 在仿真里用「privileged teacher + 相机 student」蒸馏,student 直接从深度图到动作;(2) 把 RMA 式 history encoding 拿来当 adaptation(论文中为 Regularized Online Adaptation,ROA)。它本质上还是「DR + 蒸馏 + history 适应」的极致工程化,能跳大间隙(2× 体长)、爬高障碍(2× 身高)、钻栏杆,单 RTX 3090 <20 小时训完。它证明了 DR 路线在剧烈动作上仍能勉强工作,但靠的是「策略本身学得很保守」(详见 P-ExtremeParkour-2023.md)。
- ASAP [He et al. RSS 2025, arXiv:2502.01143] 走了一条截然不同的路——让仿真器学习 gap,而不是让策略适应 gap。三阶段(详见 P-ASAP-2025.md):(1) Stage 1:在标准仿真器(MuJoCo/Isaac)里训一个 motion tracking policy,部署到真机收集 $(s_t, a_t, s_{t+1}^{\text{real}})$ 三元组;(2) Stage 2:训一个 delta action model(transformer),它预测 $\Delta a$ 使得仿真器下一步 $\hat{s}_{t+1} = f_{\text{sim}}(s_t, a_t + \Delta a)$ 尽量接近真机 $s_{t+1}^{\text{real}}$;(3) Stage 3:把 delta 模型集成进仿真器,在「修正过的仿真器」里 fine-tune policy。最终部署时不需要 delta 模型。结果:Unitree G1 人形实现了踢球、跳跃、转体等此前完全迁不过去的动作。
为什么是突破:ASAP 是 sim-to-real 哲学的第四次转向。DR 把 gap 当噪声、system ID 把 gap 当常数、RMA 把 gap 当可推断的时变量、ASAP 把 gap 当可学习的残差动力学。它把 sim-to-real 从「策略侧适应」拉回到「仿真器侧对齐」,但用一个学出来的 delta 模型代替了 ETH 早期的人工系统辨识——既保留了系统辨识的精确性,又避免了人工逐项调参。
留下的新问题:delta model 是 transformer,推理成本高于直接仿真;它只学了「确定性 delta」,对随机性接触(沙地、碎石)仍困难。
💡 核心洞察:ASAP 把 gap 从「策略要扛的扰动」翻转为「仿真器要学的残差」——四次哲学转向(DR→SysID→RMA→ASAP)的本质是对 gap 的建模假设不断升级:噪声 → 常数 → 可推断时变量 → 可学习残差动力学。
转折 7:LLM 辅助 sim-to-real——DrEureka(2024)
前作的缺陷:DR 的范围和 reward 函数一直是手调超参。范围太窄迁不过去,太宽策略学不出来;reward 项太多互相冲突,需要工程师花几周调权重。这是 sim-to-real 民主化的最后一道门槛。
新方法的核心 idea:DrEureka [Ma et al. RSS 2024, arXiv:2406.01967] 用 GPT-4 同时自动生成 reward 函数和 DR 参数范围。流程:(1) LLM 根据任务描述写出候选 reward 函数(C++/Python 片段)和 DR 分布;(2) 在仿真里快速训一轮,把成功率、稳定性等指标反馈给 LLM;(3) LLM 迭代修正,直到收敛。关键发现:LLM 生成的 DR 范围往往比人工调的更宽、更合理——因为 LLM 不会陷入「工程师怕策略学不出来就保守」的认知偏差。
为什么是突破:它不改变 sim-to-real 的物理机制(还是 DR),但把 DR 的「调参成本」从「工程师几个月」压缩到「一次 API 调用」。它首次让四足甚至两足倒立行走的 sim-to-real 全自动跑通,是 sim-to-real 工程化最后一块拼图。
留下的新问题:LLM 生成的 reward 仍可能在边界 case 失效;对接触丰富任务(灵巧手)的 reward 复杂度,LLM 还撑不住。
2026 最新进展
2026 上半年 sim-to-real 方法学沿「仿真器侧自适应 / 视觉端到端 / actuator 级建模 / RL 行为 shaping」四条轴线深化——把 gap 从「策略侧硬扛」持续推向「仿真器侧与数据侧对齐」:
- DoorMan(纯 RGB 人形像素到动作迁移):DoorMan [Xue et al., arXiv:2512.01061] 把 teacher-student 推到全身带物体交互:先以特权状态的 teacher 学长时程开门探索(staged reset),再以 GRPO 强化视觉 student 的闭环一致性,训练全在仿真完成;部署时只用 RGB 与本体感受,在多种真实门体上零样本完成交互。它把 sim-to-real 的核心问题从「能否稳走」推进为「纯像素下能否完成长时程人形 loco-manipulation」,也是 T01 与 T07/T10 相交的一个清晰节点。
- Proprioceptive Distribution Matching(去 mocap 化的仿真器自适应):Simulator Adaptation via PDM [Dao & Fern, arxiv:2604.11090](Oregon State U)把硬件和仿真 rollout 当作关节观测+动作的分布比较,无需时间对齐或外部传感(mocap),即可对仿真动力学做参数辨识、action-delta 模型、residual actuator 模型三种适应;<5 分钟硬件数据就显著降低漂移,在 Go2 上效果与 privileged state-matching 基线持平。它把 ETH 三件套里「昂贵 mocap + 精确初值对齐」的隐性门槛直接拆掉,是低成本 sim-to-real 的实用路径。
- 视觉驱动人形行走的 sim 侧精修:Now You See That [Sun et al., arxiv:2602.06382] 用高保真立体深度传感器仿真(捕获 stereo matching artifact 与标定不确定性)+ vision-aware behavior distillation(latent 对齐 + 噪声不变辅助任务),并配 multi-critic + multi-discriminator AMP 处理多地形 motion prior 冲突,使人形能稳定走高台、宽沟、双向楼梯——把 RMA/teacher-student 范式扩到「立体深度相机物理 + 多地形 AMP」的端到端 vision-based locomotion,是 2026 vision-based humanoid locomotion 代表作。
- MPC-Injection(不改正 reward 就能塑造步态):MPC-Injection [Xing et al., arxiv:2606.26392](Columbia Plancher Lab)把同一 MDP 的 MPC 解出的转移直接插入 RL 的 replay buffer,引导 RL 收敛到设计者期望的步态,避免「振动肢体」「躯干蹭地」等高回报但不可部署的局部最优——不改正奖励、不写 curriculum,仅靠 replay 注入。它正面解 locomotion RL 的「高回报但不可部署」经典痛点,思路简洁可移植。
- Actuator Reality Shaping(gap 在 actuator 而非全仿真器):Actuator Reality Shaping [Yamamori et al., arxiv:2607.02205](AIST / Morimoto Lab)不是在仿真里加 DR,而是直接对 actuator 模型做'现实塑造',让仿真器里的伺服电机行为匹配真机,大幅降低 tracking error 并实现 zero-shot sim-to-real——把 system identification 的粒度从「全机器人」推到「单个 actuator 级」,与 ASAP 的「学一个 delta action model」属同潮流但更轻量。
- 重载人形与可微仿真的 SysID 新场景:Closing Sim-to-Real Gap for Heavy-loaded Humanoids [Wang et al., arxiv:2603.15084] 针对重载场景(惯性/形变/电机负载效应放大)做专门 actuator 建模与参数辨识;Trajectory-based Actuator Identification [Kovalev et al., arxiv:2604.10351] 用可微仿真器从编码器运动数据拟合系统级 actuator 模型——把 differentiable sim SysID 落到 actuator 级,回应了第四节「system identification 测不准接触与柔性」的结构性局限。
📌 关键要点
- Sim-to-real 的本质是「把有偏仿真分布里学到的策略,泛化到未知的真机分布」——DR / system ID / online adaptation 三套哲学互补而非互斥
- ETH 三件套(RaiSim + 精细系统辨识 + teacher-student 特权蒸馏 + DR + curriculum)至今是腿足事实基线,关键在让策略预先学会部署时可能缺的感知信息
- RMA 是分水岭:把「适应」从静态训练属性(DR 烘焙进权重)变成运行时能力(特权 latent + 历史推断),不改变 RL 算法只加 latent + temporal conv
- legged_gym + Isaac Gym 把训练压缩到分钟级,是 RMA 之后 sim-to-real 民主化的基础设施转折点(样本生产成本的下降)
- ASAP 的 residual delta dynamics 是 sim-to-real 哲学的第四次转向(DR → system ID → RMA → ASAP),让仿真器本身学 gap,是剧烈动作迁移当前最好的答案
四、相似概念辨析
4.1 domain randomization vs system identification vs teacher-student
| 概念 | 本质 | 何时用 | 缺点 |
|---|---|---|---|
| Domain Randomization (DR) | 把 gap 当噪声,训一个对扰动分布鲁棒的策略 | 难以建模的接触丰富任务(灵巧手);环境分布广且近似已知 | 样本效率低;性能与鲁棒性 trade-off;范围是手调超参 |
| System Identification | 测出真机物理参数,让仿真器精确对齐 | 关节、连杆、电机这类可测量的常量参数 | 接触、柔性、温度漂移测不准;模型一旦过时需要重测 |
| Teacher-Student | teacher 用特权信息训练,蒸馏给 student | 部署时缺感知(盲走);感知昂贵或噪声大 | 不解决动态 gap(部署时变化);蒸馏有信息损失 |
三者经常组合:ETH 三件套 = system ID(测电机)+ DR(扰动物理)+ teacher-student(蒸馏感知)。三者的差异不在「是否用特权信息」,而在对 gap 的建模假设:DR 假设 gap 是分布、system ID 假设 gap 是常数、teacher-student 假设 gap 是可被蒸馏补偿的感知缺失。
4.2 在线适应(RMA 式)vs 离线鲁棒性(DR 式)
| 维度 | 离线鲁棒性(DR) | 在线适应(RMA) |
|---|---|---|
| 训练时 | 把扰动预先注入 | 训 adaptation module |
| 部署时 | 什么都不做 | 实时推断环境 latent |
| 应对静态 gap | 强 | 强 |
| 应对动态/突变 gap | 弱(预演有限) | 较强(秒级适应) |
| 性能 | 中(鲁棒性的代价) | 高(策略能动态调) |
| 复杂度 | 低(无额外模块) | 中(temporal conv + latent) |
根本区别:DR 把鲁棒性「烘焙」进策略权重,是「出厂设置」;RMA 让策略在运行时「重新认识」环境,是「现场调整」。现代成功系统通常是 DR + RMA 组合——DR 处理广域扰动、RMA 处理窄域动态变化。常见误区是认为二者互斥:实际上 RMA 的 Stage 1 训练本身就用了 DR(随机化 $e_t$)。
4.3 asymmetric actor-critic vs teacher-student distillation
两者都用了特权信息,但机制不同:
- Asymmetric actor-critic:训练时 critic 看特权信息(用于估值),actor 看不到。特权信息只通过价值回传间接影响 actor。部署时只有 actor。优点是端到端、无需两阶段;缺点是 actor 学到的隐式表征不可控。
- Teacher-student distillation:显式两阶段。teacher 是一个完整的策略(actor+critic 都看特权信息),student 通过行为克隆学 teacher 的输出。优点是 student 学到的是显式映射,调试性好;缺点是要训两个网络。
实践选择:感知信息密度低、训得快用 asymmetric(如 DreamWaQ);感知信息密度高、student 有不同模态(如带相机)用 teacher-student(如 ANYmal-C)。RMA 本质上是两者与 latent adaptation 的融合——它用 asymmetric 式的特权 encoder(Stage 1 训 $\mu$),又用 teacher-student 式的监督学习(Stage 2 训 $\phi$ 去预测 $z_t$)。
五、开放问题与可能方向
- 剧烈动作(跳、翻滚、踢打)的 sim-real gap 为什么还难? 这类动作的共同特征是「接触瞬间短、运动学放大系数高」——0.01 秒的接触偏差会让整个翻滚轨迹完全不同。DR 覆盖不了这么细的接触分布;ASAP 的 delta model 是当前最好的答案,但它学的是确定性 delta,对随机性接触(沙地、碎石)仍然失效。可能的突破点:可微分接触模型 + learned stochastic residual。
- 可变形/流体地形的物理建模瓶颈。 Learning quadrupedal locomotion on deformable terrain [Choi et al. Science Robotics 2023] 把 ANYmal 推到沙滩 3.03 m/s,但靠的是定制化的可变形地形仿真 + DR。流体(水、泥、雪)的连续介质力学根本塞不进刚体仿真器,这是物理建模层面的瓶颈。可能方向:learned terrain physics(用 NN 拟合局部地形响应)+ GPU 并行粒子仿真(Genesis/MuJoCo MPM)。
- 跨机器人形态迁移(H1 训的能给 G1 用吗)。 当前所有 sim-to-real 都是「单本体」——在某个机器人的精确 URDF 上训,部署到同一个机器人。跨本体迁移(H1 → G1,四足 → 双足)还停留在「换 URDF 重训」的层面。可能方向:morphology-invariant policy representation(如基于关节树编码的 GNN policy),或 motor foundation model(如 BFM 把 motor 常识沉淀成可迁移 representation)。这是与 T04 motion prior 线的交叉点。
- 在线适应的收敛速度极限。 RMA 的 $\phi$ 是秒级适应,面对毫秒级突变(踏空、急刹)来不及。可能方向:用更高频的预测模型(world model)做 fast adaptation,把 RMA 的「秒级推断」压缩到「毫级预测」。
- Sim-to-real 的可证保证。 目前所有方法都是经验性的——「仿真训好了,部署看运气」。缺乏「这个策略在某个 gap 范围内一定不会摔」的形式化保证。可能方向:robust control theory + RL(如 Lyapunov-based RL)。
六、涉及的里程碑论文清单
按时间排序,[作者 年份, arxiv:XXXX] —— 一句话定位
- [OpenAI 2018, arXiv:1808.00177] Learning Dexterous In-Hand Manipulation —— DR 作为 sim-to-real 主力工具的奠基(Shadow Hand 转方块)。
- [Akkaya et al. 2019, arXiv:1910.07113] Solving Rubik's Cube with a Robot Hand —— Automatic Domain Randomization (ADR),DR 范围自适应。
- [Hwangbo et al. 2019, arXiv:1901.08652] Learning agile and dynamic motor skills for legged robots (Science Robotics) —— 腿足 sim-to-real 工程化奠基(RaiSim + 系统辨识 + curriculum)。
- [Lee et al. 2020, arXiv:2010.11251] Learning Quadrupedal Locomotion over Challenging Terrain (Science Robotics) —— Teacher-student 蒸馏让盲 ANYmal 走复杂地形,确立范式。
- [Kumar et al. 2021, arXiv:2107.04034] RMA: Rapid Motor Adaptation for Legged Robots (RSS 2021) —— 两阶段在线适应,分水岭。详见 P-RMA-2021.md。
- [Rudin et al. 2021, arXiv:2109.11978] Learning to Walk in Minutes Using Massively Parallel Deep RL (CoRL 2021) —— legged_gym,训练民主化转折点。
- [Miki et al. 2022, arXiv:2201.08117] Learning robust perceptive locomotion for quadrupedal robots in the wild (Science Robotics) —— ANYmal-C,视觉外感知 + teacher-student,野外部署。
- [Margolis et al. 2022] Walk These Ways: Tuning Robot Control with Multiplicity of Behavior (CoRL 2022) —— 单 policy 多步态运行时调参,generalist policy 代表。
- [Kumar et al. 2023] A-RMA: Adapting Rapid Motor Adaptation for Bipedal Robots —— RMA 扩到双足。
- [Nahrendra et al. 2023, arXiv:2301.10602] DreamWaQ: Implicit Terrain Estimation (IROS 2023) —— 隐式地形估计,asymmetric 替代 RMA 显式 module。
- [Choi et al. 2023] Learning quadrupedal locomotion on deformable terrain (Science Robotics) —— 可变形地形 sim-to-real,3 m/s 沙地奔跑。
- [Cheng et al. 2023, arXiv:2309.14341] Extreme Parkour with Legged Robots (ICLR 2024) —— DR + 蒸馏 + history 适应的极限 parkour。详见 P-ExtremeParkour-2023.md。
- [Hoeller et al. 2023, arXiv:2306.14874] ANYmal Parkour (Science Robotics 2024) —— 完整感知 parkour pipeline。详见 P-ANYmalParkour-2023.md。
- [Nahrendra et al. 2024, arXiv:2409.19709] DreamWaQ++ —— 障碍感知 + 多模态韧性。
- [Liang et al. 2024, arXiv:2312.04670] RMA2: Rapid Motor Adaptation for Robotic Manipulator Arms (CVPR 2024) —— RMA 思想迁到机械臂操作。
- [Ma et al. 2024, arXiv:2406.01967] DrEureka: Language Model Guided Sim-To-Real Transfer (RSS 2024) —— LLM 自动写 reward + DR 参数。详见 P-DrEureka-2024.md。
- [He et al. 2025, arXiv:2502.01143] ASAP: Aligning Simulation and Real-World Physics (RSS 2025) —— Residual delta dynamics,剧烈动作 sim-to-real 突破。详见 P-ASAP-2025.md。
- [Schwarke et al. 2025, arXiv:2509.10771] RSL-RL: A Learning Library for Robotics Research —— legged locomotion 训练库整合(第一作者待核)。
七、与其他线索的交叉点
- 与 T04 motion prior:剧烈动作的 sim-to-real(ASAP)依赖 motion tracking,需要人类动捕数据作为 reference。motion prior 是 sim-to-real 的「目标供给方」。BFM(motor foundation)如果做成,将直接成为跨本体 sim-to-real 的 representation 基础。
- 与 T03 reward design:DrEureka 同时属于本线索和 reward 自动化线索——LLM 写 reward 是手段,sim-to-real 是目的。两者在「自动化闭环」处交叉。
- 与 T09 world model as simulator:ASAP 的 delta action model 本质上是一个「局部 world model」,world model 当 simulator 的方向(1X World Model、Genie 2)是这条线索的远端延伸——当 world model 足够准,sim-to-real gap 可能消失。
- 与 T10 VLA-WBC:人形 WBC(HOVER、ASAP)是 VLA 的底层 motor 执行器;VLA 给指令、WBC 落地到真机,两层的接口稳定性是当前最大的开放工程问题。
可选复盘:常见误区
澄清:"仿真训得好,真机就能跑" —— 错。仿真永远有偏,直接搬常摔。要靠上面四种思路之一(或组合)来专门弥合这道缝。
"仿真训得好,真机就能跑" —— 错。仿真永远有偏,直接搬常摔。要靠上面四种思路之一(或组合)来专门弥合这道缝。
仿真训好只是必要条件,不是充分条件。
澄清:"在线适应万能" —— 错。它适应有延迟(约半秒),面对踏空这类毫秒级突变来不及;且只能适应训练分布内见过的扰动。
"在线适应万能" —— 错。它适应有延迟(约半秒),面对踏空这类毫秒级突变来不及;且只能适应训练分布内见过的扰动。
在线适应治"渐变",治不了"突变"。
澄清:"这四种思路互斥,只能选一个" —— 错。现代成功系统常组合:用扰动预演和蒸馏打底,再叠在线适应处理运行时变化,剧烈动作时再上"修仿真器"那招。
"这四种思路互斥,只能选一个" —— 错。现代成功系统常组合:用扰动预演和蒸馏打底,再叠在线适应处理运行时变化,剧烈动作时再上"修仿真器"那招。
它们对 gap 的假设不同(噪声/常数/时变/可学残差),是互补不是互斥。
可选复盘:检查点
用"飞行模拟器 vs 真飞机"类比,向没学过机器人的朋友解释:为什么仿真里练得很好的机器人,真机还是可能摔?
查看参考答案
- 核心:仿真只是真实物理的一个'偏的影子',摩擦、接触、电机磨损都建不准。
- 类比锚:模拟器里开得再稳,上天还要扛模拟器没料到的真实乱流——仿真覆盖不了所有真实扰动。
- 结论:仿真训好不等于真机能跑,中间那道'缝'要专门弥合。
这条线索的"第三种思路"和前两种,最大的区别在哪?(提示:想想它们各自假设"部署时环境是什么样的"。)
查看参考答案
- 前两种(当噪声、当常数)的共同假设:部署时环境不变。一个把扰动预先打进策略、部署啥也不做;另一个部署前校准一次。
- 第三种(当时变量)打破了这个假设:认为部署时环境会变(挂包、踩冰、电机老化)。
- 最大区别:第三种让策略在运行时实时调整,前两种部署后策略是'固定'的。
"猜环境的小脑"在部署时还能不能偷看真实参数?它靠什么来猜?
查看参考答案
- 不能偷看:部署时主策略不再偷看真实环境参数,全靠那个小网络现场猜。
- 靠什么猜:只看最近半秒左右的关节体感(关节位置、速度、姿态等本体感受历史),从中推断环境。
- 训练机制:仿真训练时小网络曾被监督去预测主策略偷看过的参数,所以学会了从体感反推环境。
假如机器人正在跑,突然有人往它背上挂了个未知重量的包。用前两种思路训的策略、和用第三种思路训的策略,分别会怎么反应?
查看参考答案
- 前两种(环境不变假设):策略是固定的,不会主动调整;包的扰动如果预演进过也许能扛一点,否则容易摔或不稳。
- 第三种(在线适应):小脑从关节体感的异常变化里察觉到质量变了,约半秒内推出新环境,主策略据此调整动作重新稳住。
- 关键差别:第三种能'实时察觉并调整',前两种部署后不会因新扰动而改变行为。
第四种思路(让仿真器自己学这道缝)和第三种(让策略猜环境)解决的是同一个问题,但动手的地方不同。用一句话说清楚这个不同。
查看参考答案
- 第三种改的是策略侧:给策略配一个'猜环境'的小脑,让它在运行时适应缝。
- 第四种改的是仿真器侧:先用真机记下偏差,把仿真器本身'修准',再在被修准的仿真里练策略。
- 一句话:第三种让策略去适应缝,第四种让仿真器自己学会缝长什么样。