阅读时间大约10分钟(3695字)
作者:我不是毛毛 出品:具身智能前沿
导读
看懂 Sim 与 Real 之间的转换,要同时看迁移方向和迁移对象。资产建模、视频生成与策略部署可能使用相似名称,却交付不同结果。沿着机械臂抓杯子的过程,理清四条基本路径和两种往返流程,再看系统辨识、域随机化、真实数据与在线适应怎样处理迁移差距。
先看清:两个世界里分别有什么
设想要让机械臂从桌上拿起一个杯子,放进收纳盒。下面用它作教学示例,不对应某一次实测。
现实中的桌面、杯子、相机和机械臂,属于 Real。机械臂发出动作后,杯子会不会滑落,由真实接触、摩擦和夹持力共同决定。
Sim 是 simulation,即仿真。仿真里也可以有这些对象:三维模型描述外形,物理模型计算受力与运动,传感器模型模拟图像、深度或关节测量。围绕这些对象搭建的训练环境,还需要任务规则,判断杯子是否被拿起、是否放进盒子。
策略是根据可获取的观测与状态信息决定动作的程序或模型。观测不只包括相机图像,也可包括关节角度、速度等测量值;按具体设计,策略还可以使用状态估计、任务目标以及历史观测和动作。策略能获得的信息,未必覆盖系统完整的真实状态。例如杯子的位置和接触情况,可能需要通过传感器数据估计。
策略可以从示范中学习,也可以通过奖励训练。策略在仿真里训练,并不意味着策略本身就是仿真器。仿真器计算动作的后果;训练时,学习算法据数据更新策略,部署时,策略使用输入生成动作,不一定继续更新参数。
接下来,至少有三种东西可能在两个世界之间流动:
•资产与环境模型:把杯子的外形、质量、碰撞体等放进仿真。
•数据与观测:生成训练图像、转换视频外观,或用真实日志校准模型。
•策略与控制方案:把学到的动作决策方法放到目标环境运行。
认清传递对象后,再读那些箭头就容易了。名称里的“2”就是英文 to,表示“到”。
四条基本路径,各自在搬什么
这些名称主要描述来源与目标,具体传递对象仍要看项目约定。先看四条基本路径,再区分其中容易混淆的用法。

Real2Sim:从现实取得信息,在仿真里使用。
抓杯子之前,可以拍摄或扫描桌面,重建杯子与盒子的几何和位置;再测量杯子质量、夹爪响应等,把这些信息写进模型。这条路径让仿真与目标现场建立对应关系。
准备仿真资产时,还会遇到 Scan2Sim 和 Gen2Sim。前者强调扫描、重建真实对象,是 Real2Sim 的一种实现路径;后者用文本、图像等条件生成资产或场景,可以扩充杯子形状和桌面布置。Gen2Sim 不一定对应某个特定实物,不能一概归入 Real2Sim。两条路线可以组合,生成出的物理参数仍需要验证。
一个看起来像杯子的三维模型,还要有合理尺度、碰撞体和物理属性,才能参与抓取;如果对象有可动部件,还需要相应关节与约束。为仿真使用准备好的这类资产,通常称为 SimReady。EmbodiedGen 的官方管线就分别处理几何、碰撞和物理属性,而非只输出外观模型。
数字孪生是与特定真实对象或过程对应、通过数据保持联系的数字表示,可包含多个模型及配套数据。在这里,Real2Sim 可以用于建立和校准它;数字孪生描述模型或系统,Real2Sim 描述信息进入仿真的过程。是否适合训练,还要检查任务需要的物理与交互条件。一份逼真的场景重建未必已经能模拟夹爪接触。
Real2Sim 还有另一种用法:把已有的真实机器人策略放进仿真评测。SIMPLER 就使用 real-to-sim evaluation 这一表述。此时进入仿真的是待评测的策略,不能只按“扫描建模”理解。
Sim2Real:把仿真中形成的能力或方案用于现实。
机械臂在仿真里学会抓杯子,再把策略部署到真机,是机器人控制中典型的 Sim2Real。部署时,相机输入、关节状态、动作尺度和控制周期都要接通,最后由真机执行动作。
它描述迁移方向,不限定训练算法。策略可以来自模仿学习、强化学习或组合训练;也可能先在仿真训练,再用真实数据微调。“零样本迁移”还需看作者具体排除了哪些目标真机训练或适配,不能仅凭 Sim2Real 名称推出。
Sim2Sim:把资产、任务或策略转到另一套仿真条件。
例如先在一个物理引擎里训练,再换引擎测试。杯子模型能导入,只说明部分资产接口打通;策略是否还能抓住杯子,还受碰撞处理、摩擦模型、控制器与时间步影响。
跨引擎复测有助于发现对某套仿真假设的依赖,但两个引擎也可能共享相似简化。真机上的软垫形变、机械间隙等,仍需实际检查。
Real2Real:把一个真实条件下的数据或经验用于另一个真实条件。
比如把 A 工位采集的示范用于 B 工位,或将策略迁移到另一台机器人。换光照、换相机与换本体,所需适配并不一样;机器人结构变了,还可能需要重新对应动作和身体能力。
不过,生成模型论文里的 Real2Real,可能在说另一件事。
“转成真实画面”和“让真机行动”要分开看
RoboTransfer 把基于真实机器人示范的背景、物体外观编辑称为 Real2Real;把仿真提供的几何条件转成真实风格视频称为 Sim2Real。
这里的箭头描述数据生成的来源与目标外观。生成视频仍是合成数据,名称里的 Real 不代表机器人已经在现实中执行过这段动作。

同一组示例在两种参考背景下的生成结果,可对照上下两行的桌面变化 | 来源:RoboTransfer,论文图4
这类数据可以扩大训练时见过的外观条件。要判断是否改善真实抓取,还要把训练得到的策略部署到目标机器人,测量任务结果。
因此,读到“完成 Sim2Real”时,我会先问:交付的是逼真视频、可交互场景,还是已经上机验证的策略?这三个结果分别需要不同证据。
两种往返流程,起点和反馈对象不同
Real2Sim2Real 从真实任务出发:采集桌面与杯子信息,建立仿真;在里面采集示范或训练策略;再把策略带回真实桌面验证。
前一段交付仿真可用的环境,后一段交付真机可执行的策略。两段之间还隔着任务定义、数据采集、训练与评测。扫描完场景,不会自动得到抓取能力。
Sim2Real2Sim 可以从粗略仿真开始:先开发抓取方案,到真机试验,再把偏差带回仿真,更新模型或方法。提出这一命名的柔性物体操作研究,明确把真实试验反馈用于修正仿真。

假设真机总在夹住杯子后滑落。测量后发现,仿真高估了夹爪与杯壁间的摩擦,就应修正接触参数,再训练或调整方案。回流的关键,是能支持修改的测量与失败条件。
两种流程可以出现在同一个项目里:先从真实场景建模,再仿真训练、上机测试,之后继续回到仿真修正。名称截取了不同阶段,具体有没有形成有效迭代,要看反馈是否真的改变了模型、数据或策略。
虚实之间的 gap,究竟差在哪里
Real2Sim 同样存在 gap。把真实杯子搬进仿真时,尺寸、碰撞体、质量、摩擦和相机成像都可能出现偏差;如果把真机策略转入仿真评测,这些差异也可能改变它的行为,使评测结果失真。
两个方向往往面对同一组虚实差异,但关注点不同:Real2Sim 要检查建出的模型与环境能否代表目标真实系统;Sim2Real 要检查在仿真中得到的策略能否在目标真机上有效运行。需要分开看系统差异和策略表现:即使模型存在偏差,某个策略也可能仍然成功;另一个依赖精确接触的策略却可能失败。对抓杯子任务,可以沿动作链逐层检查:

这些是排查线索,不能仅凭现象确定原因。例如打滑也可能来自夹持力不足、接触位置错误或动作过快。可以先固定杯子与初始位置,对照相同指令下的定位、夹爪响应和接触结果,再逐项改变条件,缩小原因范围。
Sim2Sim 与 Real2Real 也有各自的域间差异:换仿真器可能改变接触和控制响应,换真实工位或本体也可能改变观测与动作条件。仍应检查迁移对象依赖什么,再在目标环境验证,不能因为两端都叫 Sim 或 Real 就默认兼容。
还要先排除软件接口问题:关节顺序是否一致,角度单位是否正确,动作是否按相同尺度解释,图像预处理是否匹配。把弧度误当角度,扩大随机化范围也修不好。
让画面更像现实,主要处理外观差异;接触、执行器和时序仍有各自的问题。仿真中训练可读取的物体精确位置,部署时若必须由视觉估计,也会引入额外误差。
缩小 gap,分别改模型、训练与部署
处理这些差异,一方面要改进模型对真实系统的描述,另一方面要让策略应对仍然存在的变化。两者分别修改模型与策略,可以相互配合。
修正模型与接口。系统辨识用真实系统的输入与响应,估计模型参数。例如给关节发送受控指令,记录位置和速度,再调整仿真中的阻尼、驱动响应和延迟,让轨迹更接近测量。MuJoCo 的系统辨识工具正是以测量输出与仿真预测之间的差异来拟合参数。
能识别的偏差,可以写回模型;条件合适时,也可用前馈补偿提前加入预计需要的控制量,减轻反馈控制处理误差的负担。补偿效果仍取决于模型、测量和执行条件,不能覆盖全部接触变化。
让训练覆盖合理的不确定性。这里的“域”可以理解为机器人面对的一组环境与系统条件,包括光照、物体属性、传感器和执行器响应等,不只指场地。域随机化就是在训练时,从设定范围内随机选取这些条件:这一轮抓轻杯子,下一轮换重一些的杯子,同时也可以改变光照、摩擦或动作延迟。这样能减少策略对某个固定仿真设置的依赖,让它学习应对条件变化。动力学随机化研究曾在机械臂推物任务中验证这种迁移路径。
随机化未必让每一轮仿真更像现场,它主要训练策略承受变化。范围需要依据测量和任务边界设定;过大的变化会增加学习难度,也可能牺牲性能。
仿真难以补齐的部分,可以引入真实数据。真实示范、失败日志和混合训练能够补充现场条件;微调则直接更新模型参数。训练中还要保留未参与调参的真机测试条件,检查提升能否延续到新情况。
运行中发生的变化,还可交给适应机制。显式在线辨识更新的是某些可解释参数;RMA 这样的隐式适应,则利用近期状态与动作历史推断环境表征,再让基础策略据此调整动作。其运行时适应不要求每一步重新训练网络,也不保证所有未知条件都能处理。
这些方法作用在不同环节,可以组合。抓杯子时,如果目标位置一直估错,先查定位与坐标;如果接触响应不匹配,补测物理与驱动;如果只在某种材质或照明下失败,再针对相应变化补数据与训练。

验证也要对应目标。对 Real2Sim 建模,可以用未参与参数拟合的真实轨迹作对照,检查相近初始条件、相同指令下的运动、接触与传感器输出是否匹配;若用于策略评测,还要比较多个策略在仿真与真机上的行为和表现,检查仿真能否支持相同的判断。模型只需达到目标用途所需的可信度,无须复刻所有细节。
对 Sim2Real,则要在保护措施下分阶段上机,记录相同任务口径的成功率、完成时间、失败类型与测试条件。仿真和真机都表现很差,差距也可能很小,因此还必须看真机的绝对表现。
下一次遇到一串 Sim 和 Real,可以先沿箭头找它传递的对象,再检查目标端交付了什么。真正有用的往返,会把真机失败变成可复现的条件,让下一轮知道该改哪里,也知道怎样证明改好了。
