#具身智能 Sim-to-Real 发展脉络综述:从弥合现实差距到构造可规模化的物理经验

#一句话核心结论

Sim-to-Real 的本质不是“把仿真做得和现实一模一样”,而是在现实数据昂贵、危险、不可规模化的条件下,构造一种可以在仿真中大量获得、又能迁移到真实物理世界的训练经验分布。

这个方向的演化逻辑大致经历了五个阶段:

  1. 早期:现实差距 reality gap 是问题本身

仿真可以低成本生成数据,但策略一上真机就崩,因为视觉、动力学、接触、延迟、摩擦、传感器噪声都不一致。

  1. Domain Randomization:不追求一个准确仿真,而是训练对一族仿真鲁棒

核心思想是“只要仿真变化足够大,现实就是其中一个样本”。

  1. Adaptive / Real2Sim2Real:随机化不能盲目,要用少量真实数据校准仿真分布

从“手调随机范围”变成“用真实 rollout 反推仿真参数”。

  1. 高性能仿真 + teacher-student / privileged learning:把仿真变成大规模强化学习工厂

尤其在腿式机器人、灵巧手、抓取操作里,仿真不再只是数据增强工具,而是 RL 训练主场。

  1. 生成式仿真 / 世界模型 / Foundation Model 时代:sim-to-real 从工程 trick 变成具身智能规模化训练的基础设施问题

新问题不再只是“物理参数怎么调”,而是“如何自动生成任务、场景、对象、交互、奖励和评价,并让这些经验对真实机器人有用”。


#1. 为什么 Sim-to-Real 是具身智能的核心瓶颈?

在纯数字智能里,数据可以直接来自互联网,模型犯错的成本较低;但具身智能不同,机器人必须在真实世界中:

  • 受力;
  • 接触;
  • 碰撞;
  • 滑动;
  • 变形;
  • 感知遮挡;
  • 面对硬件磨损;
  • 承担安全风险;
  • 承担真实采集成本。

所以机器人学习天然有一个悖论:

最需要大量 trial-and-error 的能力,恰恰最不适合在真实世界里大量试错。

强化学习尤其如此。真实机器人上直接 RL 会遇到几个问题:

  1. 样本效率太低:一个策略可能需要百万级交互。
  2. 安全成本太高:探索会损坏设备或环境。
  3. 时间成本太高:真实机械动作无法像 GPU batch 一样加速。
  4. 数据分布太窄:一个实验室、一个机器人、几个物体,不足以覆盖真实世界。
  5. 复现实验困难:真实环境不可完全控制。

仿真看似解决了这些问题:便宜、安全、可并行、可重置、可生成标签。

但仿真又带来了新的核心矛盾:

仿真中学到的策略,面对真实世界的未建模误差会崩。

这就是所谓 reality gapsim-to-real gap

这个 gap 可以粗略分为四类:

gap 类型典型表现
视觉 gap纹理、光照、相机噪声、反射、遮挡、背景不同
动力学 gap质量、惯量、摩擦、阻尼、关节模型、控制延迟不同
接触 gap碰撞、滑动、软接触、形变、微小接触点难模拟
任务分布 gap仿真任务太干净,真实世界长尾太多

所以 sim-to-real 的研究逻辑,本质上是在回答:

既然仿真永远不完美,我们如何让在仿真里学到的能力仍然能在真实世界成立?


#2. 第一阶段:从“精确建模”到“承认仿真不可能完全准确”

早期机器人控制更偏 model-based control:人们会建立机器人动力学模型,然后做轨迹优化、MPC、控制器设计。

这个范式里,sim-to-real 的朴素想法是:

只要我把仿真器建得足够准确,仿真策略就能迁移到现实。

这一路线依赖:

  • 系统辨识 system identification;
  • 物理建模;
  • 摩擦/接触参数估计;
  • CAD 模型;
  • 控制理论中的鲁棒性分析。

对于一些结构化任务,这条路是有效的。比如工业机械臂、固定夹具、重复轨迹、规则物体,精确建模可以很好用。

但它在具身智能里遇到根本困难:

  1. 真实世界参数太多:一个桌面操作任务里,物体质量、摩擦、接触、视觉、形状、摆放、光照都会变。
  2. 很多参数不可观测或很难测量:比如局部接触摩擦、软物体形变、传感器延迟。
  3. 误差会被闭环放大:操作任务里一个小接触误差可能导致物体滑走;腿式机器人里一点延迟可能导致摔倒。
  4. 仿真器本身有结构性错误:不是参数没调好,而是模型类别就错了。例如刚体仿真很难真实表达软接触、液体、衣物、绳子等。

因此后来的研究逐渐从“做一个精准现实副本”,转向:

不再假设存在一个完美 simulator,而是训练能在 simulator family 上鲁棒的策略。

这就进入了 domain randomization 阶段。


#3. 第二阶段:Domain Randomization —— 让现实成为随机仿真分布中的一个样本

#3.1 代表工作:Tobin et al., 2017, Domain Randomization

Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World 是这一阶段非常经典的工作。

它主要解决的是视觉 sim-to-real 问题。过去人们担心模拟图像和真实图像长得不一样,模型在仿真图像上训练后迁移失败。Tobin 等人的核心观点非常激进:

不需要让仿真图像真实。只要随机化足够多,模型会学到任务相关的不变量;真实图像只是随机分布中的一个特例。

他们随机化:

  • 物体纹理;
  • 背景;
  • 光照;
  • 相机位置;
  • 颜色;
  • 干扰物;
  • 渲染参数。

这解决了前一阶段的问题:不再需要精确构造真实世界的视觉外观,而是通过极端多样化迫使模型忽略无关视觉细节。

但它也引入了新问题:

  1. 随机化范围怎么选? 太窄,覆盖不了现实;太宽,训练任务变得过难。
  2. 随机化变量是不是任务相关? 随机纹理有用,但随机到物理规律被破坏就会伤害学习。
  3. 视觉可随机化,动力学和接触更难随机化
  4. 它更像鲁棒训练,不是真正理解现实:策略可能只是学到对某些扰动不敏感,而不是学会真实因果物理。

所以 domain randomization 解决了“仿真不真实”的第一层焦虑,但马上暴露出一个更深问题:

仿真分布本身如何设计?

#3.2 从视觉随机化到动力学随机化

随后 domain randomization 扩展到控制和动力学:

  • 质量随机化;
  • 摩擦随机化;
  • 关节阻尼随机化;
  • 执行器延迟随机化;
  • 控制频率随机化;
  • 地形随机化;
  • 外力扰动随机化;
  • 传感器噪声随机化。

典型应用包括机械臂抓取、腿式机器人运动、灵巧手 in-hand manipulation、无人机控制、接触丰富的操作任务。

这里的研究逻辑是:

如果真实机器人动力学参数不确定,那就在仿真中随机采样很多动力学参数,让策略学会对这些参数变化鲁棒。

这种思想非常重要,因为它把机器人学习从“单一 MDP”变成了“MDP 分布”上的策略学习。

但动力学随机化比视觉随机化更难:

  1. 物理参数之间有耦合:质量、摩擦、惯量、控制增益不是独立变量。
  2. 随机范围太大会导致不可学习:比如摩擦从极低到极高,最优策略可能完全不同。
  3. 真实误差可能不是参数误差,而是模型结构误差:例如接触模型不对,随机化参数也不一定能覆盖。
  4. 鲁棒性与性能冲突:越鲁棒的策略可能越保守,真实表现不一定最好。

这引出了下一阶段:随机化不能靠手调,而要根据真实世界反馈自适应调整。


#4. 第三阶段:Adaptive Domain Randomization / Real2Sim2Real —— 让真实数据反过来塑造仿真分布

#4.1 代表工作:Chebotar et al., 2018, Closing the Sim-to-Real Loop

Closing the Sim-to-Real Loop: Adapting Simulation Randomization with Real World Experience 是这一脉络的代表。

前面的 domain randomization 主要靠人工设置随机化范围。但 Chebotar 等人的问题意识是:

如果随机化分布选错了,sim-to-real 就会失败。那能不能用少量真实机器人 rollout 来自动调整仿真随机化分布?

这就是一种 Real → Sim → Real 闭环:

  1. 在仿真中用当前随机化分布训练策略;
  2. 把策略部署到真实机器人上,收集少量轨迹;
  3. 比较真实轨迹和仿真轨迹;
  4. 更新仿真参数分布;
  5. 再训练或 fine-tune 策略。

它相对普通 domain randomization 解决了:

  • 随机化范围手调的问题;
  • 仿真分布和真实分布错位的问题;
  • 完全依赖先验物理知识的问题。

但它引入的新问题是:

  1. 真实 rollout 仍然需要成本
  2. 真实数据如何用于更新分布并不简单:轨迹差异可能来自多个参数组合,存在不可辨识性。
  3. 需要定义仿真和现实之间的距离指标:是比较状态轨迹?接触事件?最终成功率?视觉观测?
  4. 高维任务中系统辨识难度急剧上升

所以这一阶段把 sim-to-real 从“随机增强”推进到“闭环校准”,但也暴露出一个关键瓶颈:

真实世界反馈很珍贵,如何最高效地用它修正仿真和策略?

#4.2 代表路线:BayesSim / SimOpt / system identification

BayesSim、SimOpt 这类方法把问题进一步形式化为:

给定少量真实轨迹,推断最可能生成这些轨迹的 simulator parameter distribution。

它们通常关注:

  • 仿真参数后验分布;
  • Bayesian inference;
  • policy search;
  • 轨迹摘要统计量;
  • 真实-仿真分布匹配。

这类方法的重要贡献是:它让 sim-to-real 不再只是工程经验,而成为一个统计推断问题:

现实世界是一个未知参数或未知分布的物理系统,sim-to-real 的核心是对这个系统做有效识别,并在不确定性下训练策略。

但问题仍然存在:

  1. 参数化 simulator 的表达能力有限:如果真实差异无法被参数化,就无法通过 system identification 解决。
  2. 后验推断在高维复杂任务上困难:复杂接触、多物体交互、形变物体都很难。
  3. 最终还是依赖可用的真实观测

这使得后来的研究开始分化为两条路线:一条追求 更强仿真和更高吞吐训练;一条追求 更强在线适应和真实反馈利用


#5. 第四阶段:高性能物理仿真 + 大规模 RL —— Sim 变成“机器人经验工厂”

#5.1 Isaac Gym:仿真速度改变研究范式

Isaac Gym: High Performance GPU-Based Physics Simulation for Robot Learning 是这一阶段很关键的基础设施工作。

它的意义不只是“仿真器更快”,而是改变了机器人 RL 的训练形态:过去的仿真训练瓶颈在 CPU physics simulation 和 policy training 之间的数据传输。Isaac Gym 将物理仿真和神经网络训练都放到 GPU 上,允许大规模并行环境直接训练。

这带来的变化是:

  • 可以同时跑成千上万个机器人环境;
  • 可以用 RL 训练复杂运动技能;
  • 可以快速 sweep 随机化参数;
  • 可以让仿真成为机器人策略数据生产工厂。

这对腿式机器人尤其重要。因为 locomotion 任务虽然真实部署危险,但在仿真中可以疯狂摔倒、重置、再试。

但 Isaac Gym 也没有消除 sim-to-real 问题。它只是让我们可以更大规模地训练鲁棒策略。新的问题变成:

训练量上去了,但仿真偏差也可能被策略过拟合。大规模仿真是否真的等价于大规模真实经验?

#5.2 腿式机器人:Sim-to-Real 最成功的应用领域之一

腿式机器人是 sim-to-real 最成功的方向之一,原因是:

  1. 状态和动作空间相对结构化;
  2. 任务目标清晰:稳定行走、速度跟踪、抗扰动;
  3. 传感器以内感为主,视觉依赖可逐步加入;
  4. 接触虽然复杂,但可以通过地形随机化、动力学随机化、扰动训练增强鲁棒性;
  5. 真机评估明确:不摔、走得快、适应地形。

#代表工作:Hwangbo et al., 2019, Learning agile and dynamic motor skills for legged robots

这类工作展示了用 RL 在仿真中学习 ANYmal 等四足机器人动态运动技能,并成功迁移到真实机器人。

它相对早期控制方法解决了:

  • 手工设计 gait 和控制器复杂的问题;
  • 难以覆盖复杂动态动作的问题;
  • 机器人需要在多地形、多扰动下自适应的问题。

它的方法通常结合:

  • 动力学随机化;
  • 地形随机化;
  • 观测噪声;
  • 执行器模型;
  • reward shaping;
  • 低层控制接口设计。

但它也引入了新的研究问题:

  1. reward engineering 依赖很强
  2. 策略可能缺少高层语义和任务泛化
  3. 现实中的长尾地形仍然困难
  4. 策略解释性和安全保证不足

所以腿式机器人证明了 sim-to-real 的威力,但也说明:sim-to-real 在低层运动控制上更成熟,在开放语义任务上仍然远未解决。

#5.3 RMA:从“离线鲁棒”走向“在线适应”

RMA: Rapid Motor Adaptation for Legged Robots 是另一个重要节点。

普通 domain randomization 训练的是一个对多种动力学都鲁棒的策略。但 RMA 的问题意识更进一步:

现实世界中机器人面对的地形、摩擦、负载、损伤是动态变化的。不能只靠一个固定鲁棒策略,而需要在线估计当前环境隐变量并快速适应。

RMA 通常包含两个模块:

  1. base policy:根据当前观测和隐变量执行动作;
  2. adaptation module:从最近历史观测中推断环境/动力学 latent。

它的关键思想是:

在仿真中可以访问 privileged information,例如真实摩擦、质量、地形参数;训练时让策略利用这些 privileged variables,再训练一个适应模块在真实部署时从历史中推断这些变量。

这相对 domain randomization 解决了:

  • 单一鲁棒策略太保守的问题;
  • 环境变化需要在线调整的问题;
  • 真实部署中不可直接观测物理参数的问题。

但它也引入新问题:

  1. latent 是否真的可从历史观测中辨识?
  2. 训练时 privileged variables 的设计依赖人工知识;
  3. 适应模块对分布外情况仍可能失败;
  4. 高层任务和复杂操作中 latent 更难定义。

不过 RMA 代表了一个很重要的方向:

Sim-to-real 不只是让策略一次性迁移,而是训练机器人在现实中持续估计“我现在处在什么物理条件下”。

这和 latent state、world model、belief state 的问题是相通的。


#6. 第五阶段:灵巧操作与接触丰富任务 —— Sim-to-Real 的困难被彻底暴露

如果说腿式机器人是 sim-to-real 的成功样板,那么灵巧操作就是 sim-to-real 的高难区。

#6.1 Dactyl / Learning Dexterous In-Hand Manipulation

OpenAI 的 Learning Dexterous In-Hand Manipulation 是经典代表。它在 Shadow Dexterous Hand 上实现了真实世界中的物体重定向,主要依靠:

  • 大规模仿真 RL;
  • 物理参数随机化;
  • 视觉/对象外观随机化;
  • 自动课程;
  • 复杂 reward;
  • 大量工程调试。

它的意义在于证明:

即使是高维灵巧手、多指接触、复杂动力学,只要仿真规模和随机化足够强,也可以迁移到真实系统。

它解决了早期机器人操作里的一个难点:

  • 人工控制灵巧手极难;
  • 真实收集 trial-and-error 不现实;
  • 多指接触策略难以手工设计。

但它也暴露出 sim-to-real 的成本问题:

  1. 训练成本极高
  2. 工程复杂度极高
  3. 任务相对特定
  4. 依赖高质量硬件和传感
  5. 很难自然扩展到开放对象和开放任务

这说明:Domain randomization 能带来“奇迹式迁移”,但不一定带来可扩展的具身智能范式。

#6.2 接触、形变和长时程任务为什么特别难?

操作任务比 locomotion 更难,原因在于:

  1. 接触是非连续的:一个微小位置误差可能导致接触状态完全不同。
  2. 物体多样性极高:形状、材质、质量分布、摩擦、可变形程度都不同。
  3. 视觉遮挡严重:手和物体接触时,关键状态常被遮挡。
  4. 任务长时程:打开抽屉、整理物体、做饭、叠衣服等任务不是单步控制。
  5. 成功条件语义化:“把杯子放好”“把桌面收拾干净”很难只用低层 reward 表达。
  6. 仿真器难以覆盖真实接触和材质:软物体、液体、粉末、绳子、衣物尤其困难。

因此,操作任务推动 sim-to-real 从“参数随机化”进入更广泛的问题:

如何构造有语义、有物理、有任务结构、可规模化生成的训练世界?

这就连接到 embodied AI simulators 和生成式仿真。


#7. 第六阶段:Embodied AI Simulators —— 从控制仿真到交互世界

随着具身智能从单一控制任务走向导航、家务、桌面操作,研究社区开始构造更丰富的模拟环境。

代表系统包括:

  • AI2-THOR:交互式室内 3D 环境;
  • Habitat:大规模导航和 embodied AI 仿真;
  • iGibson / Gibson:基于真实扫描室内场景的交互仿真;
  • SAPIEN:强调 articulated object 和物理交互;
  • ManiSkill:可泛化操作技能 benchmark;
  • robosuite:MuJoCo 上模块化机器人操作框架;
  • BEHAVIOR / BEHAVIOR-1K:面向日常活动的大规模 embodied AI benchmark;
  • RoboCasa:面向 everyday manipulation 的大规模模拟任务。

这些工作相对前一阶段解决的问题是:

过去仿真常常是一个机器人、一个任务、一个物体。但具身智能需要多房间、多对象、多任务、多语义、多交互。

所以 simulator 的研究重点从“物理参数准确”扩展到:

  • 场景多样性;
  • 物体资产库;
  • 任务定义;
  • 语言指令;
  • 可交互性;
  • 评估协议;
  • demonstration 生成;
  • 多机器人和多 embodiment 支持。

但这类 embodied simulators 也有一个根本问题:

它们更接近“benchmark world”,不一定是真实世界。

具体说:

  1. 视觉可能真实,但物理交互仍简化
  2. 任务语义丰富,但低层控制不一定真实
  3. benchmark 容易被过拟合
  4. 仿真资产和真实物体仍然存在分布差异
  5. 从虚拟 embodied agent 到真实机器人仍有 embodiment gap

这引出了 sim-to-real 的一个新分化:

  • 传统 robotics 关心 物理迁移
  • embodied AI 关心 语义和任务迁移
  • 未来真正的具身智能需要二者统一。

#8. 第七阶段:数据生成系统 —— 从“训练策略”到“自动制造经验”

当机器人基础模型兴起后,sim-to-real 的问题又发生变化。

过去我们问:

如何把一个仿真策略迁移到现实?

现在更大的问题是:

如何用仿真生成足够多、足够多样、足够有用的数据,去训练 generalist robot policy?

这推动了 MimicGen、RoboGen、RoboCasa、Scaling Robot Learning with Semantically Imagined Experience 等路线。

#8.1 MimicGen:从少量人类示范生成大量仿真示范

MimicGen: A Data Generation System for Scalable Robot Learning using Human Demonstrations 的核心问题是:

真实人类示范很贵,能否用少量示范自动合成大量多样化轨迹?

MimicGen 的逻辑是:

  1. 人类提供少量示范;
  2. 系统从示范中抽取子任务结构;
  3. 在仿真中重组、扰动、生成更多轨迹;
  4. 用这些合成 demonstration 训练策略。

它相对纯 RL / domain randomization 解决了:

  • reward 设计困难;
  • RL 探索低效;
  • 人类示范稀缺;
  • 数据多样性不足。

但它的问题是:

  1. 生成轨迹质量依赖任务结构可分解性
  2. 合成示范可能覆盖不了真实长尾
  3. 仿真轨迹仍然有物理 gap
  4. 更适合结构化操作,不一定适合开放任务

它代表了一个重要转向:

Sim-to-real 不只是仿真训练 RL policy,也可以用仿真扩增 imitation learning 数据。

#8.2 RoboGen:生成式仿真与自动任务生成

RoboGen: Towards Unleashing Infinite Data for Automated Robot Learning via Generative Simulation 更进一步,把 LLM / generative models 引入仿真任务生成。

它的目标不是手工设计一个 benchmark,而是自动生成:

  • 任务;
  • 场景;
  • 对象;
  • reward;
  • policy learning pipeline。

这解决了传统 simulator 的一个大问题:

仿真环境虽然便宜,但构建任务和资产仍然需要人工。

RoboGen 试图把“仿真世界构建”本身自动化。

但它引入的新问题也很明显:

  1. 生成任务是否物理可行?
  2. 自动生成的 reward 是否正确?
  3. 仿真任务是否真的对应真实需求?
  4. 生成数据是否会产生虚假的能力幻觉?
  5. 如何评估这些自动生成经验对真机有效?

这说明:当 sim-to-real 进入生成式阶段,核心挑战从“仿真是否真实”变成:

生成出来的世界是否有正确的物理因果和任务价值?

#8.3 Semantically Imagined Experience:用语义想象扩展机器人数据

Scaling Robot Learning with Semantically Imagined Experience 这类工作的问题意识是:

机器人真实数据少,但互联网和生成模型里有大量语义知识。能否用语义上合理的“想象经验”扩展机器人训练分布?

这条路线将 sim-to-real 和 foundation model 更紧密地连接起来:

  • 用语言模型生成任务变体;
  • 用生成模型生成视觉变化;
  • 用仿真或图像编辑扩展场景;
  • 用语义先验指导 policy generalization。

它相对传统 domain randomization 的区别是:不是盲目随机纹理/参数,而是生成语义上 plausible 的变化。

但它仍然面临一个根本问题:

语义 plausibility 不等于物理可执行性。

比如生成模型能想象“机器人把盘子放进柜子”,但是否知道柜门铰链、抓取稳定性、碰撞、路径约束、手眼误差?不一定。

因此这一阶段的关键矛盾是:

互联网级语义知识很丰富,但真实物理交互数据仍然稀缺。


#9. 第八阶段:LLM 辅助 Sim-to-Real —— 从手工调参到自动设计训练环境

#9.1 DrEureka:LLM Guided Sim-to-Real Transfer

DrEureka: Language Model Guided Sim-To-Real Transfer 是近期很有代表性的工作。

它关注一个很实际的问题:

Sim-to-real 成功高度依赖 reward function 和 domain randomization 参数设计。这些东西过去需要专家手工调,能不能让 LLM 帮忙?

DrEureka 的思路是利用语言模型:

  • 生成或改进 reward;
  • 设计 domain randomization 参数;
  • 迭代优化训练设置;
  • 辅助从仿真迁移到真实机器人。

它相对传统 sim-to-real 解决了:

  • reward engineering 成本高;
  • randomization 参数手调;
  • 不同任务迁移 pipeline 缺乏自动化。

但它也暴露新问题:

  1. LLM 给出的物理假设可能不可靠
  2. reward hack 仍然存在
  3. LLM 不直接拥有真实物理反馈
  4. 最终仍需要仿真/真机验证闭环

DrEureka 的意义不在于 LLM 直接解决了 sim-to-real,而在于它代表了一种趋势:

把 sim-to-real pipeline 中需要专家经验的部分,交给 foundation model 做自动化搜索和程序化生成。

未来机器人训练可能不是人写 reward、调参数,而是一个 agent 自动生成任务、写 reward、跑仿真、看失败、改环境、再部署真机验证。


#10. 第九阶段:World Model / Generative Simulator —— 从物理引擎到可学习世界模型

传统 simulator 是人工写的物理引擎。

但现在出现一个新趋势:用数据训练世界模型或视频生成模型,作为某种“仿真环境”。

例如:

  • action-conditioned video prediction;
  • world model as policy evaluation environment;
  • generative dynamics model;
  • 机器人交互视频模型;
  • VLA / WAM 方向里的 action-conditioned world model。

这条路线的核心问题是:

如果手工物理仿真难以覆盖真实世界,能不能从真实视频和机器人数据中学习一个世界模型?

它相对传统 simulator 解决了:

  1. 手工建模困难
  2. 视觉真实感不足
  3. 复杂环境和物体难以资产化
  4. 可从互联网/真实数据中吸收统计规律

但它又引入了更深问题:

  1. 视频预测不等于物理正确
  2. 短期逼真不等于长期可控
  3. 模型可能缺少接触、力、可执行动作约束
  4. 生成世界中训练的策略可能 exploit world model 错误
  5. 如何闭环交互仍未解决

这里有一个非常关键的判断:

传统 sim-to-real 是从“人工物理世界”迁移到现实;世界模型路线是从“学习到的经验世界”迁移到现实。两者都面临 reality gap,只是 gap 的形式不同。

传统 simulator 的 gap 是物理模型简化;world model 的 gap 是数据分布、因果和长期一致性不足。

未来很可能不是二选一,而是结合:

  • 物理引擎提供硬约束;
  • 生成模型提供视觉和语义多样性;
  • 真实数据校准关键动力学;
  • foundation model 生成任务和 reward;
  • 真机反馈闭环修正。

#11. Sim-to-Real 的核心技术谱系

可以把整个领域按“解决什么 gap”分成几类。

#11.1 Domain Randomization:扩大训练分布

目标:让策略对仿真变化鲁棒。

典型随机化对象:

  • 视觉:纹理、光照、相机、背景;
  • 动力学:质量、摩擦、阻尼、惯量;
  • 执行器:延迟、控制增益、噪声;
  • 环境:地形、障碍、物体位置;
  • 传感器:噪声、丢帧、偏置。

优点:简单、可扩展、不需要真实数据或只需少量、在 locomotion 和 grasping 中有效。

缺点:随机范围难选,可能训练过度保守,对复杂语义任务不足,不解决仿真结构性错误。

#11.2 System Identification / Real2Sim:让仿真更接近现实

目标:用真实数据估计仿真参数。

优点是可以减少不必要随机化,有明确物理解释,对结构化系统有效。

缺点是高维复杂系统难辨识,接触/形变/视觉 gap 难参数化,需要真实数据,可能过拟合特定机器人或环境。

#11.3 Adaptive Domain Randomization:真实反馈驱动分布更新

目标:不是找单一真实参数,而是调整仿真参数分布。

优点是比手工 randomization 更合理,保留鲁棒性,可少量真实数据闭环。

缺点是真实 rollout 成本仍存在,分布更新方法复杂,需要选择合适摘要统计量和距离。

#11.4 Privileged Learning / Teacher-Student

目标:训练时用仿真 privileged information,部署时用可观测历史推断。

典型用于:

  • 腿式机器人;
  • 地形适应;
  • 视觉导航;
  • 操作中的隐变量估计。

优点是充分利用仿真中可得的 ground-truth,支持在线适应,比纯鲁棒策略更灵活。

缺点是 privileged variables 设计依赖人工,latent 推断未必可靠,分布外情况仍然困难。

#11.5 Real-to-Sim-to-Real

目标:从真实世界重建仿真场景,再在仿真中训练或优化,再回到现实。

典型应用:

  • 真实场景扫描;
  • digital twin;
  • object pose / geometry reconstruction;
  • manipulation planning;
  • 高保真任务仿真。

优点是利用真实环境结构,比纯随机仿真更贴近部署场景,适合特定环境部署。

缺点是场景重建成本高,动态物体和接触仍难,泛化性有限。

#11.6 Data Generation / Demonstration Augmentation

目标:用仿真扩展机器人学习数据,而不是只训练 RL policy。

代表包括 MimicGen、RoboCasa、RoboGen、semantically imagined experience。

优点是更适合 imitation learning / foundation policy,减少人工示范成本,可以规模化任务和场景。

缺点是合成数据质量难保证,可能产生虚假多样性,sim 数据和 real 数据如何混合仍未定型。

#11.7 Generative World Model

目标:学习一个可交互或可预测的世界模型,用于训练、规划、评估。

优点是可利用真实视频和大规模数据,视觉/语义真实感强,有潜力支持长时程想象和规划。

缺点是物理一致性不足,难保证动作可执行,长期 rollout 容易漂移,policy 可能 exploit model error。


#12. 代表工作按“解决的问题链”串起来

#12.1 Tobin et al. 2017:不追求真实渲染,追求覆盖现实

  • 之前的问题:仿真图像和真实图像不一致,视觉模型迁移失败。
  • 解决方法:domain randomization,让真实图像成为随机仿真分布中的一个样本。
  • 新问题:随机化分布怎么设计?视觉可行,动力学和接触更难。

#12.2 Peng / OpenAI / dynamics randomization:从视觉迁移到控制迁移

  • 之前的问题:视觉模型能迁移,但控制策略对动力学误差敏感。
  • 解决方法:随机化质量、摩擦、阻尼、延迟等动力学参数。
  • 新问题:随机范围手调,过宽导致策略保守或难学,过窄导致真机失败。

#12.3 Chebotar et al. 2018:用真实 rollout 调整随机化分布

  • 之前的问题:domain randomization 依赖人工猜测。
  • 解决方法:真实部署少量策略,比较真实和仿真轨迹,自适应更新随机化分布。
  • 新问题:真实数据仍贵;高维接触任务中参数难辨识。

#12.4 BayesSim / SimOpt:把 sim-to-real 形式化为后验推断

  • 之前的问题:随机化分布更新缺少统计原则。
  • 解决方法:用 Bayesian / optimization 方法推断 simulator parameter distribution。
  • 新问题:只适合可参数化 gap;对复杂环境和语义任务不够。

#12.5 Isaac Gym:大规模 GPU 仿真把 RL 训练变成高吞吐过程

  • 之前的问题:仿真训练速度限制大规模 RL。
  • 解决方法:GPU 上并行物理仿真和神经网络训练。
  • 新问题:训练规模上去后,策略可能更严重过拟合仿真偏差。

#12.6 Hwangbo / ANYmal:证明腿式 locomotion 可以大规模 sim-to-real

  • 之前的问题:腿式机器人动态控制难以手工设计。
  • 解决方法:仿真 RL + 动力学随机化 + 真机部署。
  • 新问题:reward engineering 强;高层任务和语义泛化不足。

#12.7 Dactyl:证明高维灵巧操作也可以 sim-to-real,但成本巨大

  • 之前的问题:多指灵巧手控制太复杂,真实试错不可行。
  • 解决方法:大规模仿真 RL + domain randomization + 自动课程。
  • 新问题:工程复杂、训练昂贵、任务专用,难以扩展成通用能力。

#12.8 RMA:从静态鲁棒性到在线适应

  • 之前的问题:固定鲁棒策略面对变化环境可能保守或失败。
  • 解决方法:训练 adaptation module,从历史观测推断环境 latent。
  • 新问题:latent 设计、可辨识性、分布外适应仍然困难。

#12.9 AI2-THOR / Habitat / iGibson / SAPIEN / ManiSkill / BEHAVIOR:从控制任务到交互世界

  • 之前的问题:传统机器人仿真任务太窄,缺少语义和环境多样性。
  • 解决方法:构造大规模交互式 embodied AI 环境和 benchmark。
  • 新问题:benchmark world 不等于真实世界;语义丰富但低层物理仍有 gap。

#12.10 MimicGen / RoboCasa / RoboGen:仿真成为机器人数据工厂

  • 之前的问题:真实 demonstration 和真实 interaction 数据太少。
  • 解决方法:用仿真自动扩增示范、生成任务和场景。
  • 新问题:合成数据是否真实有用?是否会产生虚假的泛化能力?

#12.11 DrEureka:让 LLM 参与 reward 和 randomization 设计

  • 之前的问题:sim-to-real pipeline 依赖专家手工调参。
  • 解决方法:用 LLM 自动生成 reward 和 domain randomization 设置。
  • 新问题:LLM 的物理直觉不可靠,仍需要仿真和真机闭环验证。

#12.12 World Model / WAM:从手工仿真器走向学习型物理经验模型

  • 之前的问题:手写物理仿真很难覆盖真实开放世界。
  • 解决方法:从真实视频、机器人数据中学习 action-conditioned world model。
  • 新问题:生成逼真不等于物理正确;长期闭环和可执行性仍未解决。

#13. Sim-to-Real 与当前具身智能大模型的关系

现在的 VLA / robotics foundation model 里,sim-to-real 不再只是一个独立模块,而变成基础设施。

#13.1 真实机器人数据不够支撑 scaling law

Open X-Embodiment、RT-X、DROID 等真实机器人数据集推动了 robot foundation model,但相比文本/图像数据,规模仍然非常小。

真实机器人数据的问题:

  • 采集慢;
  • embodiment 不统一;
  • action space 不统一;
  • 标注和质量不一致;
  • 长尾任务覆盖不足;
  • 失败数据少;
  • 接触细节难记录。

所以如果机器人基础模型要继续 scaling,仿真几乎不可避免。

#13.2 但纯仿真数据又容易学到“仿真世界偏见”

如果一个机器人模型主要在仿真中训练,它可能学到:

  • 过于干净的物体几何;
  • 不真实的接触;
  • 不真实的视觉;
  • 过短的任务 horizon;
  • benchmark-specific policy;
  • 不符合真实人类环境的任务分布。

因此 foundation model 时代的核心不是简单“加仿真数据”,而是:

如何设计 sim data mixture,使其补足真实数据缺口,而不是污染真实能力?

这和 LLM 训练中 synthetic data 的问题非常类似:合成数据可以扩展能力,也可能导致模型塌缩或学到伪模式。

#13.3 Sim-to-Real 从 transfer problem 变成 pretraining data problem

早期 sim-to-real 的形式是:

在仿真训练一个策略 → 迁移到真实机器人。

现在更可能是:

用仿真、真实数据、视频、语言、生成数据共同预训练一个基础策略 → 在真实机器人上适配。

这意味着 sim-to-real 的研究对象发生变化:

旧范式新范式
单任务策略迁移通用机器人模型预训练
仿真训练后直接部署sim-real 数据混合训练
参数随机化数据分布设计
物理迁移物理 + 语义 + 任务迁移
reward engineering自动任务/奖励/场景生成
policy robustnessfoundation policy generalization

所以,未来 sim-to-real 最重要的问题可能不是“一个策略怎么迁移”,而是:

仿真经验如何塑造机器人基础模型的能力边界?

这和“预训练数据如何塑造 agent 能力”高度同构。


#14. 当前方向的几个根本卡点

#14.1 仿真真实性不是单一维度

很多讨论会说“提高仿真 fidelity”,但 fidelity 至少有几类:

  1. 视觉 fidelity:看起来像真实世界;
  2. 几何 fidelity:物体形状和空间关系准确;
  3. 动力学 fidelity:运动和受力准确;
  4. 接触 fidelity:碰撞、摩擦、滑动准确;
  5. 语义 fidelity:任务、对象和人类需求真实;
  6. 分布 fidelity:仿真任务分布符合真实部署分布。

一个环境可能视觉很真实,但物理很假;也可能物理较准,但任务分布很窄。

未来真正重要的是:

哪种 fidelity 对哪类能力最关键?

比如:

  • locomotion 更依赖动力学和接触;
  • navigation 更依赖几何和视觉;
  • manipulation 更依赖接触、物体属性和手眼误差;
  • household task 更依赖语义和长时程任务结构;
  • VLA pretraining 更依赖视觉-语言-动作对齐和任务分布。

#14.2 Domain Randomization 的“覆盖假设”并不总成立

Domain randomization 默认假设:

只要随机化范围足够大,现实就在其中。

但现实可能不在其中,因为:

  • simulator 不支持某些物理现象;
  • 真实接触模型和仿真结构不同;
  • 真实任务分布不是随机扰动能覆盖的;
  • 真实世界存在组合长尾;
  • 真实人类环境有复杂语义约束。

因此 domain randomization 更像是必要但不充分条件。

#14.3 真实反馈闭环仍然太慢

Real2Sim2Real、adaptive randomization、online adaptation 都需要真实反馈。但真实机器人反馈慢且贵。

未来关键是:

  • 如何最大化每条真实轨迹的信息量;
  • 如何主动选择最有诊断价值的真实测试;
  • 如何用失败数据更新 simulator / world model;
  • 如何在安全约束下做真实探索;
  • 如何跨机器人共享真实反馈。

这其实是一个 embodied active learning / experimental design 问题。

#14.4 评估协议落后于模型能力

很多 sim-to-real 工作的评估是:

  • 一个机器人;
  • 几个任务;
  • 几十次真机实验;
  • 成功率;
  • 视频展示。

这很难判断方法是否真的通用。

未来需要:

  • 跨 embodiment;
  • 跨实验室;
  • 跨对象;
  • 跨任务;
  • 长时程;
  • 失败恢复;
  • 安全性;
  • 数据效率;
  • 真实部署成本;
  • sim data 到 real performance 的 scaling law。

也就是说,sim-to-real 需要类似 LLM benchmark / eval 体系的升级。

#14.5 Sim-to-Real 和 Real-to-Sim 应该统一

过去常说 sim-to-real,但真正闭环应该是:

  1. Real → Sim:从真实世界重建、识别、校准仿真;
  2. Sim → Policy:在仿真中训练、规划、生成数据;
  3. Policy → Real:部署到真实机器人;
  4. Real Failure → Sim Update:用失败修正仿真和训练分布。

也就是一个持续自改进循环。

这个循环如果和 foundation model / agent 结合,就会变成:

机器人 agent 自动发现自己在哪些真实情境失败,自动构造对应仿真课程,自动生成训练数据,自动更新策略,再回到真实世界验证。

这可能是未来具身智能中最重要的自演化闭环之一。


#15. 总体判断:Sim-to-Real 的研究范式正在从“迁移技巧”变成“具身智能的数据引擎”

如果用一句话概括这个领域的演化:

Sim-to-real 最初是为了解决“仿真策略怎么上真机”;现在正在变成“如何构造可规模化、可闭环、可验证的物理经验生产系统”。

我认为它接下来会有几条主线:

#主线一:从 domain randomization 到 data distribution design

未来重点不是简单随机化,而是设计训练分布:

  • 哪些扰动有助于泛化?
  • 哪些扰动会制造虚假困难?
  • sim/real 数据如何配比?
  • synthetic data 是否会伤害真实能力?
  • 不同任务需要什么 fidelity?

这会类似 LLM 数据工程,但多了物理闭环。

#主线二:从 simulator 参数校准到 failure-driven world update

未来更重要的不是一次性 system identification,而是:

  • 真机失败;
  • 找出失败模式;
  • 自动生成对应仿真场景;
  • 更新训练分布;
  • 再训练/微调;
  • 再真机验证。

这和 self-improving agent 很像。

#主线三:从单任务 sim-to-real 到 foundation policy pretraining

未来的 sim-to-real 不会只服务于一个任务策略,而会服务于:

  • VLA;
  • diffusion policy;
  • humanoid foundation model;
  • world-action model;
  • generalist manipulation policy。

因此仿真数据的作用会更像预训练语料。

#主线四:从物理引擎到 hybrid simulator

纯物理引擎难以覆盖视觉和语义;纯生成模型难以保证物理正确。

更可能的未来是 hybrid:

  • differentiable / classical physics engine;
  • neural rendering;
  • generative asset creation;
  • action-conditioned video world model;
  • real-world system identification;
  • LLM-generated tasks and rewards;
  • formal safety constraints。

#主线五:从“能迁移”到“可验证、可安全部署”

真正在现实中有价值的 sim-to-real,不只是成功率高,还要:

  • 可预测失败;
  • 可安全降级;
  • 可解释不确定性;
  • 能识别 OOD;
  • 能主动请求真实数据;
  • 能持续修正自身世界模型。

这会把 sim-to-real 和 safe RL、uncertainty estimation、formal methods、robot evaluation 结合起来。


#16. 值得继续深入的科研问题

结合 model-based RL、latent reasoning、agent 自演化,sim-to-real 里有几个值得深入的问题。

#16.1 仿真数据如何塑造 robot foundation model 的能力?

类比 LLM:

  • 哪些 synthetic robot data 有帮助?
  • 哪些会导致模型学到 simulator bias?
  • sim data 是否存在 scaling law?
  • sim data 和 real data 的混合比例如何影响泛化?
  • 预训练阶段和后训练阶段分别该用什么仿真数据?

这是一个非常基础的问题。

#16.2 能否把 sim-to-real gap 表达为 latent variable inference?

RMA 已经有这个味道。更一般地,可以把真实环境看成有隐藏物理参数和任务上下文:

机器人需要从观测历史中推断 z,然后条件化策略。

这连接:

  • world model;
  • belief state;
  • latent-space reasoning;
  • online adaptation;
  • POMDP;
  • meta-RL。

#16.3 能否用失败驱动自动生成仿真课程?

这很像 agentic RL:

  1. 真机失败;
  2. LLM / world model 分析失败原因;
  3. 生成针对性仿真任务;
  4. 训练修复策略;
  5. 再部署验证。

关键问题:

  • 失败如何归因?
  • 如何生成最小反事实仿真?
  • 如何避免过拟合失败场景?
  • 如何保证训练后真实改进?

#16.4 World model 能否成为比物理引擎更好的 sim-to-real 中介?

不是直接问“视频生成能不能当 simulator”,而是问:

  • world model 适合用于 policy evaluation 还是 policy training?
  • 它的 error 如何影响策略优化?
  • 如何防止策略 exploit learned simulator?
  • 物理引擎和 learned world model 如何互补?
  • action-conditioned world model 是否能学到可迁移的 affordance?

这和 WAM 方向高度相关。

#16.5 Sim-to-real eval 能否标准化?

现在领域缺少类似 LLM 里系统 eval 的东西。可以研究:

  • sim performance 到 real performance 的预测;
  • benchmark 是否能预测真实部署;
  • policy 在 sim 中的哪些指标最相关于 real success;
  • 如何做 robot policy 的 offline eval;
  • 如何用少量真实测试估计大规模真实泛化。

这是很基础、也很实用的方向。


#17. 总结:Sim-to-Real 的核心演化逻辑

最后压缩成一条主线:

  1. 精确建模阶段

认为只要 simulator 足够真实,策略就能迁移。

问题:真实世界太复杂,完美仿真不可得。

  1. Domain Randomization 阶段

不追求单一真实仿真,而训练对仿真分布鲁棒。

问题:随机化分布手调,覆盖假设不总成立。

  1. Adaptive / Real2Sim2Real 阶段

用少量真实数据校准仿真分布。

问题:真实反馈仍贵,高维接触难辨识。

  1. 高性能仿真 + RL 阶段

仿真成为大规模机器人训练工厂,尤其推动 locomotion 和 dexterous manipulation。

问题:工程复杂,reward 依赖强,开放任务泛化不足。

  1. Embodied AI simulator 阶段

从单任务控制扩展到交互场景、语义任务和 household activities。

问题:benchmark world 和真实世界仍有 gap。

  1. 生成式仿真 / Foundation Model 阶段

仿真开始承担机器人基础模型的数据生成、任务生成、经验扩展功能。

问题:合成经验是否物理正确、是否真实有用、是否会造成 simulator bias。

  1. 未来闭环自演化阶段

真机失败 → 自动诊断 → 自动生成仿真课程 → 更新策略/世界模型 → 再部署验证。

这可能是 sim-to-real 和 agentic learning 真正汇合的地方。