Real2Sim 的核心问题是:给定现实中采集的观测与交互记录,如何构建一个能回答指定实验问题的模拟系统。问题可能是“换一个相机位置会看见什么”“物体受到这次推动会移动多少”“这组策略的实际表现如何排序”,也可能是“失败后采取哪种恢复动作更有效”。不同问题需要重建的变量、使用的数据与评价方法不同。
整体来说,该过程可以被视作一个统一的技术模型,其包含五个部分:
- 结构与几何 ():机器人连杆、关节拓扑、物体表面、碰撞体、尺度、场景布局等。
- 物理与执行器参数():质量、惯量、摩擦、弹性、阻尼、驱动模型、控制增益、延迟等。
- 状态:关节位置和速度、物体位姿、接触状态、柔体形变等;这些量随时间变化。
- 观测模型:将状态映射为相机、深度、力觉等传感器输出; 表示相机内外参、外观、光照、噪声等观测参数。
- 实验与控制接口 C:动作含义、频率、归一化、限幅、控制器、重置、终止和任务判定等。
用数学表达式则可以表示为:
真实数据给出部分、 和。重建任务是在这些观测约束下,估计缺失变量并构造可运行的 与。视频中的像素运动同时受相机、物体、遮挡和形变影响;仅减小图像误差时,不同参数组合可能产生相近画面。加入尺度、接触、已知动作和力觉数据,可以逐步排除等价解释。
- 提出问题
视角合成、推动预测、策略比较,或失败恢复?
- 选择证据
图像与深度、动作日志、接触与力觉;对齐尺度和时间。
- 构建模拟
联合估计结构、参数、状态与观测,接入一致的控制接口。
- 独立验证
用未参与拟合的轨迹或任务,检验是否能回答最初的问题。
- G
- 结构与几何
“有哪些物体与连接?” - θ
- 物理与执行器参数
“受力后如何运动?” - x
- 随时间变化的状态
“此刻处于什么配置?” - Rφ
- 观测模型
“传感器会看到什么?” - C
- 实验与控制接口
“动作实际上如何执行?”
↺ 验证出现偏差 → 定位缺失变量或不充分的观测 → 补采数据并重新校准。
下面借助综述,沿着“建模对象 → 误差来源 → 修正方法 → 验证依据”展开。Real2Sim 负责把真实证据转为模拟约束;Sim-to-Real 则检验模拟中得到的策略能否回到现实工作。两者通过真实实验形成反馈闭环。
机器人技术的现实差距:挑战、解决方案和最佳实践
《The Reality Gap in Robotics: Challenges, Solutions, and Best Practices》 在文中指出,仿真到现实的转换仍然面临诸多挑战,例如传感器建模与复杂动力学的仿真。
系统建模
现实机器人系统的建模:POMDP 数学模型
本文引入一个通用的数学模型,用于描述机器人系统利用其传感器接收世界观测结果并做出最大化特定目标的决策,将此决策问题建模为部分可观测马尔可夫决策过程 (POMDP)。
POMDP 定义为元组,其中包含以下核心要素:
- 状态空间 ():包含机器人及其环境所有可行配置的状态空间。
- 动作空间 ():包含机器人可以执行的所有控制命令。
- 转移动力学 ():描述了在时间 给定当前状态 和给定动作 的情况下,状态如何演变。
- 奖励函数 ():编码任务目标的函数。
- 观测空间 ():智能体接收观测值的空间。
- 传感器模型 ():将潜在状态映射到观测值 的观测模型。
- 贴现因子 ():表示未来奖励相对于即时奖励的重要性的参数。
智能体维护一个信念 (Belief),根据过去的行为和观察结果进行更新。其目标是学习一项策略,以最大化预期折现收益:
其中 表示智能体在信念 下执行策略 时所获得的奖励。
- ① 信念与策略
历史观测、动作 → 信念 bt → 策略 π → 动作 at。
- ② 控制与执行
C 将动作转为执行信号;限幅、延迟和底层控制在此生效。
- ③ 世界演化
动力学 T / F 根据当前状态和执行信号,产生下一状态 st+1。
- ④ 传感器观测
观测模型 O 产生 zt+1;遮挡与噪声决定能看见多少。
↺ 新观测 zt+1 与刚执行的动作 at 回到 ①,更新信念 bt+1,进入下一周期。
对现实的计算模拟
真实世界模型用 表示能够完美捕捉现实世界系统行为的真实世界动力学,用 表示真实观测模型;仿真通过采用基于第一性原理推导出的物理模型、数值积分和近似方法来近似真实世界的动力学和观测模型,从而降低复杂性和计算成本: 和。
然而,由于物理效应(如摩擦、噪声、传感器延迟等)固有的复杂性,在实际的机器人场景中,追求**完美保真度(Perfect Fidelity)**是不切实际且在计算上不可行的。
模拟与现实之间的差距
本文将模拟与现实之间的差距分为两部分:
- Reality Gap (现实差距):表征模拟环境与真实环境之间的差异。
- Performance Gap (性能差距):表征给定政策在模拟和现实世界中的性能差异。
Reality Gap (现实差距)
前者主要由动力学差距和感知差距构成:
- 动力学差距 ():
- 感知差距 ():
其中:
- :度量分布之间差异或不相似性的测度(如 KL 散度等)。
- 和:分别表示真实环境与模拟环境中的转移动力学和观测模型。
Performance Gap (性能差距)
后者是指给定策略在模拟环境中执行时的性能与在现实世界中执行时的性能差异。
设 表示在某种环境模型 下训练的策略(其中 是信念空间)。从初始状态 出发,闭环轨迹 在环境动力学 和观测模型 下演化。
策略 在环境 中的预期折现收益率为:
策略 的性能差距 正式定义为该策略在模拟环境和真实环境中的预期性能之间的绝对差值:
Sim-to-Real 迁移的核心目标
减小 有助于让仿真与现实中的性能一致,但它本身不能保证策略完成任务:一个在两边都失败的策略也可以具有很小的性能差距。
在仿真器中精确复制真实世界的动态(即消除)和观测模型(即消除)在实践中既不可行,也并非必要条件。只要策略对环境差异具有足够的鲁棒性,成功的迁移依然可以实现。若仅考察性能一致性,可写成以下差距最小化子目标;实际选择策略时,还需同时考察真实任务收益、成功率与约束:
同一状态、同一动作下,对比模拟与真实的状态转移和传感器输出。
关注:轨迹、接触、图像、噪声。
固定策略,在匹配的任务条件下分别运行,比较模拟与真实收益。
关注:成功率、奖励、任务指标。
策略可能容忍偏差,也可能放大偏差;两层指标不能相互替代。
现实差距的来源:三个模块与系统设计
下面的原图把误差定位到机器人及其模拟副本上:动力学、感知、驱动控制是三个主要模块,通信、安全机制与实验定义等系统设计因素则贯穿整个闭环。
动力学 (Dynamics)
动力学差距是导致现实差距(Reality Gap)的最关键因素之一。由于仿真器构建时的种种简化与假设,模拟转移模型与真实模型之间必然存在偏差。从不同的视角,可以看到动力学部分不同的差距。
建模 (Modeling)
从建模视角来看,其包括;
- 刚体动力学: 大多数机器人仿真器假设物体和关节都是完全刚体,但物体可以变形,真实的机器人也可能具有柔性、顺应性或关节不均匀等特性。基于刚体假设训练的策略在处理真实的可变形物体时可能会导致意想不到的行为。这种不匹配是动力学建模中误差的根本来源。
- 混沌特性: 一些现实世界的现象表现出混沌行为,其特点是对初始条件极其敏感,即使使用完美模型也难以重现。这些现象在模拟中很难用动态模型捕捉。由于混沌效应,初始条件略有不同的过拟合策略可能会以不可预测的方式失效。
- 随机性: 现实世界包含大量随机动力学因素,这些因素在仿真中难以甚至无法体现。仿真器通常要么完全忽略这些影响,要么将其建模为简化的高斯噪声,从而无法捕捉现实中存在的复杂时空相关性和非线性耦合效应。
- 电源: 由于电机扭矩与电池电压直接相关,电池电压的任何下降都会立即降低硬件能够提供的最大关节扭矩。因此,快速的关节加速度可能会出现仿真中不存在的瞬态扭矩不足。在仿真中忽略这些影响会导致控制器无法感知到它们在实际硬件上遇到的控制权限降低的情况,尤其是在机器人性能接近极限时。
- 接触动力学: 机器人动力学差距的关键因素之一是物理接触建模的不精确。现实世界的接触交互本质上是复杂且非线性的。材料在压力下会发生形变,摩擦力随相对速度变化,接触状态会在粘着、滑动和分离之间交替。仿真器通常依赖于简化的模型,这会导致一些非物理现象,例如虚假的内力、不稳定的抓取或不切实际的运动模式。在机器人操作等接触密集型任务中,这种不匹配尤为成问题,因为精确的交互建模对于成功的控制和规划至关重要。
参数 (Parameterization)
动力学差距的根本原因在于物理模型的参数化不正确。虽然模拟器考虑了摩擦、空气动力学、质量、惯性等各种物理参数,但为这些参数赋予准确的值可能具有挑战性。这会导致策略可能过度或不足,因为其学习到的动态是基于不正确的参数。
数值积分器 (Numerical Integrators)
展开微分方程时数值积分方法的选择对模拟结果与实际情况的差距有显著影响。模拟器依赖数值积分方案来近似连续动力学。离散化方法和所采用的具体积分方法(例如,欧拉法、龙格-库塔法、正交积分法等)会导致模拟系统与真实系统之间出现偏差。 随着积分误差的累积,长时间运行任务的性能可能会下降。 此外,精度和计算时间之间存在权衡。通常,通过使用更小的时间步长或更高阶的方法来提高数值积分器的精度,可以提高模拟的精度,但会增加计算时间。
人机交互 (Human-Robot Interaction)
在仿真中对人类行为进行建模面临着独特的挑战,会造成巨大的现实差距 [ 27 ] 。人类的行为复杂、依赖于情境,且常常是非理性的,这些行为难以用计算模型捕捉。策略可能会利用模拟人类行为中的错误假设。 因此,人类通常被模拟为具有预定义运动模式和对机器人动作做出基本反应的简化智能体。
未建模效应 (Unmodeled Effects)
在仿真中,许多物理现象常常被忽略或简化,而这些现象会导致仿真结果与实际情况之间存在显著差异。例如,机器人部件的磨损会随着时间的推移而因摩擦、材料疲劳、重复使用等原因而退化。这些性能退化会导致材料特性发生变化,例如刚度、间隙、振动或纹理,而这些变化通常无法在模拟器中捕捉到。热效应也会加剧这种情况,因为温度波动会影响电机、传感器、电池和其他组件的性能,并可能导致其行为发生显著变化。
资产保真度 (Asset Fidelity)
模拟使用数字资产来表示环境,以编码几何形状,包括基本形状、网格和有符号距离场 (SDF) 以及摩擦系数、恢复系数、密度等材料参数。 然而,出于计算效率的考虑,这些表示方法通常被简化和近似,采用简洁的布局和低分辨率模型,缺乏真实世界环境的复杂性和属性,例如不规则的地形和精细复杂的结构。 同样,为了提高效率,机器人自身的几何形状通常被简化,省略了重要的物理细节,并使用了简化的形状,这在现实中可能会导致意想不到的行为,例如自碰撞或不稳定的运动。
感知与感觉 (Perception and Sensing)
感知差距由 POMDP 模型中观测模型 的模拟与真实差异定义。采用先进渲染管线的尖端模拟器显著提高了传感器效应的真实性。然而,它们仍然无法完全捕捉真实世界的复杂性和变化性,常常导致模拟和真实感知测量结果之间存在差异。因此,在如此简化的环境下训练的策略在实际部署中难以泛化。
传感器模型(Sensor Model)
仿真模型旨在模拟真实世界传感器的物理特性,包括视场角、分辨率和噪声模式等属性。此外,它们还模拟传感器对运动的响应以及在机器人上的安装方式,因为安装位置会显著影响最终的传感器数据。
- RGB 相机: NVIDIA Isaac Sim 使用光线追踪和基于物理的渲染来生成逼真的图像。CARLA 和 AirSim 均基于虚幻引擎构建,用于模拟逼真的导航视觉效果。这些模拟器能够模拟逼真的光照、阴影和材质交互。然而许多针对实时性能优化的平台使用简化的基于 OpenGL 的渲染,并采用理想化的针孔相机模型和 Z 缓冲区深度计算。这忽略了诸如镜头光晕、色差、像素飞移和滚动快门失真等真实世界效应,导致学习到的特征难以迁移到真实世界环境中。传感器特有的伪影(例如,镜头畸变、激光雷达光束模式)也会导致观测分布在模拟和真实世界之间出现巨大差异。
- 深度传感器: 许多模拟器支持深度传感器模拟,包括立体相机、结构光和飞行时间系统。然而,这些模拟通常假设理想的深度投影,并且常常忽略现实世界中的伪影,例如量化噪声、深度阴影和环境光干扰。
- 激光雷达传感器: CARLA 等模拟器使用光线投射技术,从传感器原点到场景几何体模拟激光雷达传感器。虽然 CARLA 可以近似模拟各种真实世界效应,但许多复杂特性仍然难以精确重现。
- 其他传感器: 仿真器还可以模拟包括关节编码器、惯性测量单元 (IMU)、全球定位系统 (GPS) 和触觉传感器在内的各种传感器。然而,它们通常会理想化传感器的行为,忽略现实世界中的一些影响因素。这些简化可能会造成与实际情况的偏差,尤其是在依赖传感器融合或精确状态估计的任务中。
传感器噪声 (Sensor Noise)
由于热效应、量化误差和环境干扰等因素,实际传感器测量结果本身就存在噪声。至关重要的是,传感器噪声通常是复杂的、非高斯的、状态相关的、时间相关的,并且受运动、温度、光照和表面特性的影响。尽管存在这些复杂性,但许多模拟器使用具有固定方差的简单高斯噪声模型。在简单高斯噪声上训练的策略可能会过拟合,并且在复杂的、状态相关的和时间相关的真实世界传感器噪声下失效。
环境表征 (Environment Representation)
使用低分辨率素材、过于简化的场景图或通用材质可能无法捕捉到精细的感知线索,例如表面纹理、反射率和微妙的几何形状。 此外,缺乏高动态范围图像 (HDRI) 背景可能会导致不真实的照明,而无法区分静态和动态物体可能会掩盖关键的运动和遮挡关系。 这些限制会严重降低感知真实感,这在需要精细物体识别或精确物理交互的任务中尤其成问题。这会导致机器人可能无法识别物体,或者在与视觉上简单的模拟环境不同的真实房间中迷路。
机器人模型 (Robot Model)
模拟机器人通常由其几何形状、运动学和动力学定义。这些模型通常基于 CAD 文件和 URDF 或 USD 描述。虽然结构精确,但它们通常会简化或省略重要的物理细节。诸如制造公差、材料磨损和机械间隙等现实世界因素很少被建模。这些差异会导致与实际情况的偏差,进而引发自碰撞、运动不稳定或任务执行失败。
碰撞感知 (Collision Sensing)
模拟器依靠高效的碰撞检测算法来确定机器人与其环境之间或机器人自身内部的接触事件。为了实现实时性能,它们通常使用简化的几何近似,例如包围体、凸分解或球体分解,而不是高分辨率的视觉网格。这些代理形状是在离散时间步长上进行评估的,这进一步限制了接触建模的准确性,尤其是在涉及精细操作或密集接触的任务中。在尝试灵巧操作时,由于机器人接受的碰撞模型不准确,因此可能会施加不正确的力或无法抓取物体。
驱动与控制 (Actuation and Control)
执行器及其周围的底层控制回路是机器人动作与现实世界的最终接口。它们将策略中的动作转化为现实世界的运动和交互。即使感知和动力学模型完美无缺,策略预测与实际发生的情况之间的任何偏差或差距都可能主导机器人的整体行为,并导致性能下降。仿真中可行的指令一旦经过实际执行器处理,就可能出现延迟或不稳定。这些差异构成了执行器差距。
- 执行器模型 (Actuator Models): 大多数模拟器将电机视为一阶系统,能够完美地对指令信号瞬时线性地产生扭矩响应。 然而,实际的执行器(例如电机)表现为高阶系统,其电气和机械时间常数会引入不可忽略的相位滞后。 此外,由于死区、反冲、转换速率限制、时间常数、滞后等原因,执行器是非线性的。 如果考虑到电机上连接的物理机构,例如齿轮,这些问题只会变得更糟,导致延迟增加和稳态误差增大。
- 低级控制 (Low-level Control): 控制策略通常不会直接产生原始扭矩/力指令,而真正的机器人也很少直接接受这些指令。 相反,存在一个或多个底层控制层,它们驱动执行器的底层控制信号(例如,PWM),并以更高级别的信号设定点(例如,位置或速度)作为输入。通用机器人模拟器无法模拟最底层的控制器,因为它们很大程度上依赖于执行器本身的制造商。
- 电力电子学 (Power Electronics): 在底层控制器指令和电机输入信号之间,还有电力电子设备层,电机驱动器、逆变器和电子调速器闭合其内部回路,引入数百微秒的延迟。 此外,有限的 PWM 分辨率会量化执行器产生的指令,从而降低精度,并在过零点附近引入额外的死区。 最后,大多数驱动程序都带有保护逻辑,强制执行严格的电流和电压限制。 这些效应在模拟中并不存在,并且会大大扩大驱动间隙。
系统设计 (System Design)
除了机器人堆栈中不同模块造成的差距之外,系统设计及其所涉及的选择也会影响现实差距:
- 沟通 (Communication): 现实世界中的机器人系统通信可能会面临诸多挑战,包括延迟和丢包。通信延迟可能导致冻结、减速或出现训练策略之外的卡顿回退动作。
- 安全机制 (Safety Mechanisms): 现实世界中的机器人实验存在一些在模拟中无需考虑的安全挑战。 在现实世界中,实施虚拟墙等安全机制非常普遍,但在模拟中却不常见。 这种机制会改变机器人的行为,并可能进一步拉大与现实的差距。策略可能无法对模拟训练中未曾见过的安全机制做出反应。
- POMDP 结构 (POMDP Formulation): 模拟的 POMDP 模型通常包含不切实际的信息和行为。这种不匹配对于依赖推理时奖励信号的基于模型的控制方法来说尤其成问题。 类似地,环境重置可能会使用不可行的行为,例如以预设速度将对象放置在精确的位置,从而创建与实际部署中不同的状态-动作分布,而实际部署中不可能进行此类重置。由于状态-动作分布和奖励的差异,现实世界的评估可能与模拟中的评估有很大不同。
- 实现细节 (Implementation Details): 现实世界和模拟环境在许多实现细节上往往有所不同。 仿真通常涉及将自然连续的过程(例如图像形成和系统动力学)离散化。 这些离散化的粒度会对现实差距产生重大影响。 底层控制实现还可以涉及计算积分和微分步骤,这些步骤在仿真和现实世界中最终可能会以不同的频率运行。 由于控制频率或数值方法不匹配,策略可能会变得不稳定。
现有解决方案
现有的解决方案包含两个互补方向:一是缩小差距,改进模拟和系统的一致性;二是克服剩余差距,让策略能够泛化或适应偏差。
改进模拟、接口与系统设计。
- 真实日志 → 系统辨识、残差修正。
- 几何与传感器数据 → Real2Sim 重建。
- 对齐控制频率、动作语义与软件栈。
检验:对应的轨迹或观测偏差是否下降?
让策略承受变化或快速适应。
- 环境参数变化 → 域随机化、对抗训练。
- 新观测与交互 → 自适应、真实数据训练。
- 策略结构与损失 → 模块化、表征与正则化。
检验:现实条件变化时能否稳定完成任务?
两路汇合 → 在未参与调参的条件下评估 → 将失败案例反馈给建模和训练。
缩小差距 (Reducing the Gap)
为了缩小差距,修改方向包括:提高模拟保真度、选择现实差距较小的输入和输出模式及表示,或涉及具有能引起较小差距的组件和约束系统。
改进仿真 (Improving Simulation)
可以改进模拟环境的各个方面,例如其物理保真度、传感器模型以及其它影响组件:
- 系统辨识 (System Identification): 系统辨识有助于缩小动力学差距。近期的一个趋势是利用在不同迭代的真实世界评估中收集的数据进行在线迭代系统辨识。除了物理参数外,通常还需要识别和匹配代表物理环境不同方面的系统级参数。
- 学习残差模型 (Learned Residual Models): 当模拟参数模型与现实世界存在较大差异时,例如当模拟物理模型做出根本性不准确的假设时系统辨识可能无效。学习残差模型可以减少多种现实差距来源。另一方面,残差仿真提出了一种引人注目的解决方案:学习一个能够修正不完美模拟器的模型,从而使复合动力学模型更准确地反映现实世界。残差仿真方法通常利用学习来修正模拟器的输出,即预测状态,以便更好地反映现实世界的观测结果。
- 先从真实到模拟 (Real-to-Sim First): 各种技术旨在利用真实世界的数据在测试时即时构建视觉和动态上准确的仿真环境,真实到模拟环境的创建涉及根据从真实世界收集的数据在模拟中创建环境,真实与模拟的融合可以减少各种现实差距。 这个“逆”问题包含多个方面——构建环境的精确几何形状、构建精确的运动学和动力学,以及最后构建精确的视觉效果和渲染。对于几何识别,实物到仿真转换技术通常基于三维重建,甚至单目三维方法;在运动学和动力学识别方面,人们提出了一系列技术,旨在将构建的几何体赋予操控所需的物理属性。
模态和表征的选择 (Choice of Modalities and Representations)
对于大多数机器人任务,可以定义不同的观察空间和动作空间。这种界面选择定义了所得系统的潜在行为,并且可能对现实差距产生重大影响:
- 模态选择 (Choice of Modalities): 不同的传感器和执行器会产生不同的感知差距。例如,使用深度观测或点云比使用图像产生的现实差距更小,这种方法是该领域的常用做法。
- 状态表示 (State Representations): 与传感器模态类似,状态表示的选择会显著影响现实差距 。虽然使用推断深度图是文献中常用的方法,但其他表示方法,例如关键点检测、视觉特征跟踪或基础模型嵌入,也被证明是缩小感知现实差距的良好抽象方法。
- 动作表征 (Action Representations): 动作空间在缩小仿真与现实之间的差距方面发挥着至关重要的作用,例如,对于操作而言,先前的研究表明,使用关节速度控制空间进行仿真到现实的迁移具有优势。 动作表征的选择会影响驱动差距。
设计选择 (Design Choices)
缩小仿真与现实差距的另一个重要因素是系统设计和实现。在设计机器人系统时,需要根据任务需求做出多种选择。然而,这种设计会极大地影响仿真行为向现实世界的迁移性。因此,在设计系统时,包括硬件、控制器实现、约束条件乃至软件栈,都必须充分考虑仿真与现实之间的差距:
- 底层控制器改进 (Low-level Controller Improvements): 与现实世界的最终交互是由底层控制器控制的,因此,提高这些控制器的鲁棒性和保真度对于克服仿真与现实之间的差距至关重要。
- 软件栈一致性 (Software Stack Alignment): 要成功实现仿真到实际的迁移,还需要仿真和实际部署之间软件栈的一致性。软件栈一致性可以缩小现实差距和性能差距。即使是微小的差异,例如控制速率不匹配、缺少滤波器或未建模的安全检查,都可能导致意外行为和性能下降。
- 硬件设计 (Hardware Design): 机器人自身的设计也会显著影响仿真与实际之间的差距。选择能够简化建模或提高物理鲁棒性的硬件,可以更轻松地精确仿真系统,并提高系统对偏差的鲁棒性。硬件设计也会影响动力学差距和驱动差距。此外,具有被动稳定性、柔性执行器或简单运动学的硬件可以更好地容忍控制和感知误差,从而进一步提高成功迁移的可能性。
- 约束系统动力学 (Constraining System Dynamics): 另一种缩小现实差距的实用策略是在部署初期限制机器人的动态复杂性。通过降低运行速度或避免剧烈机动,系统对建模误差、执行器延迟和感知噪声的敏感性会降低。这种非动态行为减轻了控制器和仿真器的负担,提高了系统在现实世界不确定性下的鲁棒性。
克服差距 (Overcoming the Gap)
除了为缩小差距的解决方案外,一类正交方法假设现实差距是固定的,并试图通过两种方式来克服它:一是使策略与模型和参数的选择无关;二是使策略能够检测并响应不同的物理和系统参数。
领域泛化和适应 (Domain Generalization and Adaptation)
克服现实差距最常用的方法之一是在训练过程中让策略暴露于系统和动态参数的大量变化之中,从而使策略能够很好地应对这些参数的不同实例,包括那些代表真实世界的实例。
- 域随机化 (DR, Domain randomization): 在域随机化中,可以使用涵盖各种模拟参数的广泛模拟环境来训练策略,这些模拟环境包括视觉(更广义地说是感觉)参数,例如纹理和光照、观察和动作噪声、物理参数,例如质量和惯性、系统延迟、物体属性等等,从而减少各种现实差距。因此,策略可以学习到适用于如此广泛环境分布的行为。域随机化减少了繁琐的系统辨识和模拟器校准的需要。
- 对抗训练 (Adversarial Training): 其能系统地生成数据,以增强模型的鲁棒性,并提升其在标准训练之外的适应能力,并可以减少执行差距、感知差距和动态差距。
- 元学习 (Meta Learning): 元学习是领域自适应的另一种范式,通过调整仿真参数来缩小与现实的差距。这类方法利用元强化学习来使策略适应仿真参数的变化。虽然基于领域随机化的方法旨在学习能够泛化到广泛仿真参数分布的策略,但像元学习这样的方法旨在借鉴自适应控制方法来调整策略。
- 领域自适应 (Domain Adaptation): 可以用于增强策略对环境变量和动态变化的适应性,与元学习和 RMA 相比,用于仿真到现实迁移的领域自适应方法旨在使策略对仿真到现实分布的转变更具鲁棒性。换句话说,这些方法的主要目标是使策略能够适应观测变化,而不是适应不断变化的动态。领域自适应可以缩小感知差距。
数据选择与探索 (Data Selection and Exploration)
克服现实差距的另一类重要方法是精心选择和整理仿真中使用的训练数据和探索策略。这些方法侧重于生成与目标真实世界数据或最坏情况行为数据最为接近的训练数据。
- 将真实世界数据融入仿真训练 (Incorporating real-world data): 大量研究成果表明,将真实世界数据融入仿真训练可以显著提高迁移效果,协同训练也被证明对训练机器人基础模型有益。
- 仿真到现实驱动的探索方法 (Sim-to-real-driven exploration): 仿真到现实驱动的探索方法旨在探索状态-动作空间,使策略能够接触到可能增强其从仿真到现实世界迁移的交互。另一种方法是利用仿真来学习探索策略,并将这些策略迁移到现实世界,其唯一目的是通过现实世界的交互来学习和微调策略。
政策架构和规范化 (Policy Architecture and Regularization)
除了策略在训练时接触到的数据之外,策略的架构和约束条件在向真实世界的迁移过程中也起着至关重要的作用。
- 模块化 (Modularity): 系统和策略架构的模块化已被证明有利于仿真到实际的迁移。
- 特权信息 (Privileged information): 在仿真环境中,智能体在训练时可以获得特权信息,但在现实世界部署期间则无法获得。此类信息可以提高学习效率,并支持在仿真环境中进行更大规模的训练。
- 表征学习 (Representation learning): 表征学习利用自监督目标来学习更适合策略搜索和仿真到现实迁移的表征。通过精心设计表征学习损失,可以强化学习到的表征属性,从而克服某些现实差距的来源。虽然域随机化和自适应方法通过将策略暴露于更广泛的数据集来提高域鲁棒性,以期获得分布外泛化能力,但表征学习方法利用损失函数来学习鲁棒的特征。表征学习有助于缩小感知差距。
- 策略正则化 (Policy regularization): 策略正则化可以改变策略的行为,从而有助于克服仿真到实战迁移中的现实差距。正则化通常通过损失函数或精心设计的强化学习智能体奖励来实现。
评估指标
仿真到实际迁移的研究已采用多种评估指标。
示例:为什么 SRCC = 1 仍可能高估性能?
假设三个策略的仿真成功率为 60%、80%、100%,现实成功率为 30%、50%、70%。两组数据的 Pearson 相关系数为 1,排序也一致,但仿真对每个策略都高估了 30 个百分点。因此相关性与绝对性能偏差应同时报告。数字为构造示例,不是论文实验结果。
比较前需要固定哪些条件?
保持任务定义、动作接口、成功判定和奖励一致;说明初始状态分布、试验次数和随机种子。重建与调参使用一组数据,最终评估使用独立数据,避免把拟合能力当成迁移能力。
评估现实差距
为了量化和评估仿真到现实(Sim-to-Real)的迁移效果,研究人员通常采用以下三种关键指标:
- 模拟与实际相关系数 (SRCC): 用于衡量仿真性能是否能可靠地预测真实性能。定义为,策略在仿真与现实中任务评估性能(如成功率)之间的皮尔逊相关系数。
- 指标解读: 接近 +1:正相关性强,说明仿真表现能很好地指导现实决策。
- 接近 0: 相关性差,仿真结果参考价值低。
- 核心洞察: 即使仿真器整体平均性能很高,但若 SRCC 较低,仿真改进在现实中也可能产生不可预测的负面影响,迫使开发者必须退回物理设备上进行逐一验证,从而失去使用仿真的意义。
- 离线重放误差 (Offline Replay Error): 当直接在现实世界中部署策略受限(如出于成本、安全或硬件条件考虑)时的一种低成本替代评估方案。定义为,通过在仿真中以开环方式“重放”真实世界的动作序列,计算仿真轨迹与真实轨迹之间的状态偏差。
- 核心优势: 无需实时交互,只需利用已记录的日志数据离线计算,能快速诊断出策略在当前分布下的现实差距(Reality Gap)大小。
- 视觉保真度分析 (Visual Fidelity Analysis): 针对视觉运动策略(Visuomotor Policies),用于评估仿真与真实环境之间的感知域差距。主要分为两类指标。
- 分布级指标(评估图像集全局特征): 如 IS、FID、KID 以及 t-SNE 降维等(基于预训练网络特征)。
- 单图像指标(逐张比对模拟图与真实图): 如结构相似性指数 (SSIM)、峰值信噪比 (PSNR) 及实例性能差异 (IPD),用于衡量亮度、对比度和结构细节的差异。
评估模拟到实际迁移
除了分析现实差距外,还需要在固定现实差距下评估策略的实际迁移性能。常用的三类核心指标如下:
- 成功率 (Success Rate): 策略成功完成预期任务的试验比例。
(注:在对初始状态、仿真种子等所有变量进行充分随机化时最具参考价值)
- 应用领域: 广泛用于机械臂操作、导航、自主赛车及腿式运动等。
- 局限性: 属于二元或汇总指标,无法揭示失败的地点与原因。成功率相同的策略,其在现实中的稳健性可能天差地别。
- 累积奖励 (Cumulative Reward): 针对强化学习(RL)或预定义奖励结构的策略,将一段时间内的奖励信号求和来衡量长期目标。
- 优势: 能捕捉策略执行的进展与效率,提供比二元成功率更精细的性能视图。
- 局限性: 高度依赖仿真与现实中一致且设计良好的奖励函数,当跨任务或跨平台奖励公式不同时,极难进行横向对比。
- 任务特定指标 (Task-specific Metrics): 针对目标领域量身定制的细粒度评估标准。
- 优势: 能深入剖析通用指标捕捉不到的策略行为细节和失效模式。
- 局限性: 缺乏统一的标准基准,难以在不同方法间进行公平的量化比较。
仿真在机器人领域的挑战和机遇
尽管 Sim-to-Real 取得了巨大成功,但机器人仿真领域仍面临诸多未解的挑战与深具潜力的发展方向:
- 错误的模型,更好的控制器 (Wrong Models, Better Controllers): 在实践中,缩小“性能差距”远比追求物理建模的绝对精确更重要。基于模型的控制(如 MPC)无需在整个状态空间追求均匀的仿真精度,而是只需重点优化高回报区域,或通过参数采样调优控制器。如何最有效地利用“参数不完美”的仿真器来生成稳健策略,依然是一个核心开放问题。
- 可微分仿真器 (Differentiable Simulators): 与依赖有限差分法的传统仿真不同,可微分仿真器能够直接提供快速且解析精确的梯度。借助现代框架(如 NVIDIA Warp、Taichi、JAX 等)的自动微分技术,它能够将仿真无缝集成到基于梯度的优化工作流中,如何将其与学习型动力学模型进一步融合是未来的关键。
- 视频和世界模型 (Video and World Models): 视频和世界模型试图直接从数据中学习环境的时空动态与因果结构。虽然它们摆脱了传统白盒仿真器的束缚,但目前仍面临长期预测误差累积、物理合理性不足以及数据需求量大的挑战。长远来看,世界建模与传统仿真范式正逐渐走向融合。
- 基于模拟的推理 (Simulation-Based Inference): 由于真实世界的似然函数极难计算且逆问题高度多峰,直接推断仿真参数并不现实。目前的主流趋势是采用神经后验估计(NPE),利用神经网络直接输出参数的后验分布,进而指导域随机化,这已成为解决仿真参数校准的热门技术路线。
- 大型机器人模型的仿真 (Simulation for Large Robotics Models): 面对真实世界动作标签数据稀缺的痛点,仿真能够通过大规模合成数据赋能大模型的训练(如模仿学习)。同时,经过精细校准的仿真器也是在安全、可控、可重复环境下评估真实世界策略性能的重要工具。