大数跨境

一文讲清机器人 Sim2Real:为什么仿真里学会,真机上还是会翻车?

一文讲清机器人 Sim2Real:为什么仿真里学会,真机上还是会翻车? 魔方AI空间
2026-09-27
3
导读:Sim2Real 关注的是:仿真中学到的能力,怎样跨过这些差异,在真机上稳定运行。

【从零走向AGI】旨在深入了解通用人工智能(AGI)的发展路径,从最基础的概念起,逐步构建完整的知识体系。

项目地址🔗:https://ai-mzq.github.io/From-Zero-to-AGI/[1]

欢迎关注【魔方AI空间】👇

AIGC技术交流社区(涵盖AI绘画、AI视频、大模型、AI多模态、数字人、具身智能等AIGC干货资源及教程)欢迎大家加入:

点击加入「AIGCmagic」交流群 ->>

此前我们介绍过机器人数据中的仿真、合成数据与 Sim-to-Real,也梳理了 MuJoCo、Isaac Sim、Isaac Lab 等具身智能开发工具。

往期推荐:

  • 一文讲透2026年具身智能技术栈:VLM、VLA、VLN、世界模型
  • 一文梳理 RT-2 到 π0.7:通用机器人策略的技术演进
  • 一文通俗讲解具身智能 7 个核心概念:VLM、VLN、VA、VLA、WM、WAM、VLX
  • 一文通俗理解机器人数据 8 个核心概念:遥操作、示范学习、动作块、仿真、合成数据、Sim-to-Real、数据飞轮、失败回放
  • 一文详解具身智能:从大模型到世界模型
  • 一文讲透人形机器人 8 个关键能力:感知、抓取、全身控制、平衡、VLA、世界模型、数据、仿真

  • 一文梳理具身智能必读 6 篇综述:从 VLA、VLN 到世界模型

  • 一文梳理具身智能开发工具地图:模型、数据集、仿真器与评测基准

  • 一文拆解 NVIDIA GR00T:人形机器人基础模型背后的数据、仿真与部署工具链

本文聚焦于机器人 Sim2Real,从一次机械臂抓杯失败出发,拆解仿真与真机之间的差距,以及系统辨识、域随机化、在线适应和真实数据回流各自解决什么问题。

在仿真环境里,机械臂已经连续完成了上百次抓取。

它识别杯子,移动夹爪,稳定抓起,再把杯子放进托盘。训练曲线正常,回放视频也没有明显问题。

同一套策略接入真机后,第一次可能抓空;第二次夹住了,杯子却在抬起时滑落。继续测试,还会遇到动作滞后、机械臂抖动、杯子被碰倒等问题。

模型参数没变,任务也没变。机器人面对的环境变了。

仿真中的物体位置可以直接读取,摩擦系数和质量由开发者设定,控制指令也能准时执行。真实环境中的视觉估计带着误差,物体表面会反光,执行器存在回差,通信与推理还需要时间。

Sim2Real 关注的是:仿真中学到的能力,怎样跨过这些差异,在真机上稳定运行。

图 1:同一套抓取策略从仿真迁移到真机后,可能因为现实差异出现抓偏或滑落

图 1:仿真中的稳定成功,并不意味着策略能在真机上直接复现。

01 Sim2Real:从模型权重到真实控制链路

Sim2Real 是 Simulation-to-Reality 的缩写,通常指模型或策略在仿真环境中训练,再迁移到真实设备运行。

被迁移的可能是视觉模型、行走控制器、机械臂抓取策略,也可能是直接从相机画面和语言指令生成动作的视觉运动策略。

机器人最终要在真实环境中执行动作。画面之外,物理接触、执行器响应、控制频率和通信延迟,同样会影响策略表现。

按真机参与程度,常见路线有三种:

表 1:机器人策略从仿真迁移到真机的三种方式。

路线
训练与适配方式
主要特点
Zero-shot Sim2Real
仿真训练后直接部署
真机成本低,对策略鲁棒性要求高
Few-shot / Fine-tuning
用少量真机数据校准或微调
更贴近目标设备,需要安全采集
Online Adaptation
运行中根据近期观测调整策略
能应对持续变化,更考验稳定性

工程上通常会组合这三种方式:先在仿真中大规模训练,再用少量真机轨迹校准,部署后继续根据观测调整行为。

与 Sim2Real 相邻的还有三个概念:

· Real2Sim:根据真实机器人或场景重建、校准仿真环境。

· Real2Sim2Real:从真实系统建模,在仿真中训练和扩展,再部署回真机。

· Sim2Sim:在不同仿真器或参数配置间测试迁移,检查策略是否依赖某个模拟器。

图 2:Sim2Real、Real2Sim、Sim2Sim 与 Real2Sim2Real 的关系

图 2:Sim2Real 负责从仿真迁移到真机,Real2Sim 将真实信息带回仿真,Real2Sim2Real 则把两者连成持续迭代的过程。

02 真机为什么会翻车:六类 Reality Gap

真机上的一次抓取失败,很少只有一个原因。

相机把杯子位置估偏了一点,控制指令又晚到几十毫秒,夹爪落下时,杯子已经不在预期位置。即使抓住了,真实杯面的摩擦力也可能比仿真设定更小,机械臂一抬,杯子便开始下滑。

这些差异大致可以分成六类:

表 2:机器人 Sim2Real 中常见的六类差距。

差距
真机中的常见变化
抓杯任务中的表现
视觉与传感
光照、反光、遮挡、深度空洞、标定误差
杯口或把手定位偏移
几何建模
碰撞体简化、软物体与细小结构缺失
夹爪提前碰撞或穿模
物理与接触
摩擦变化、形变、重心偏移、接触不稳定
夹住后打滑、倾倒
执行器与控制
回差、饱和、温漂、控制增益差异
轨迹滞后、抖动、过冲
时延与频率
相机、网络、推理和总线延迟
机器人依据过期状态行动
任务与环境
物体、位置、背景和外部扰动发生变化
策略离开训练分布后连续出错
图 3:机器人 Sim2Real 中六类常见的 Reality Gap

图 3:六类 Reality Gap 会沿着感知、决策、执行和接触链路传播,最终表现为定位偏移、轨迹滞后或夹持滑落。

不同任务对这些误差的敏感点不同。

四足机器人行走更容易受到地面摩擦、冲击和控制时延影响;机械臂抓取依赖准确视觉与稳定接触;插装任务的几何容差很小,对末端定位和力控要求更高;灵巧手还要处理多个手指同时接触、软材料形变和遮挡。

OpenAI Dactyl[2] 使用 MuJoCo 训练灵巧手旋转物体,同时随机化摩擦、阻尼、物体属性和传感器噪声。官方介绍也提到,真实手指材料的形变、肌腱拉伸和接触力,很难被模拟器准确复现。

Reality Gap 是一组沿着感知、决策和控制链路传播的差距。

真机出现问题后,先判断误差来自哪一层,通常比直接扩大模型或延长训练更有效。

03 系统辨识:先校准能够测量的误差

缩小 Sim2Real gap,先从仿真与真机的参数对齐开始。

标定工作包括机器人尺寸、关节零点、夹爪范围、相机内外参、工作台坐标系和碰撞体形状。相机外参如果存在固定偏差,策略学得再好,也可能每次都抓偏同一个位置。

系统辨识(System Identification) 会让真机执行一组已知动作,记录关节、末端和传感器响应,再反推质量、惯量、摩擦、阻尼、执行器动态和控制器增益。

图 4:系统辨识通过比较真机与仿真轨迹来更新仿真参数

图 4:系统辨识利用真实轨迹与仿真轨迹之间的误差,迭代校准质量、摩擦、阻尼和时延等参数。

SimOpt[3] 把策略训练和仿真参数更新连在了一起。它先在随机化仿真环境中训练策略,再收集少量真实运行轨迹(rollout),根据仿真与真机的行为差异更新参数分布,让训练环境逐渐接近目标机器人。

系统辨识适合处理相对稳定、能够测量的误差,例如相机偏移、关节摩擦、控制响应和夹爪范围。

现实参数也会随温度、磨损、物体和环境变化。把单一参数点校得很准,只能说明模拟器接近特定条件下的设备。剩余的不确定性,还需要更鲁棒的训练方法来覆盖。

04 域随机化:训练时主动加入变化

现实参数无法全部测准时,可以在训练中主动加入变化,这就是域随机化(Domain Randomization)。

2017 年的论文 《Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World》[4] 随机改变仿真图像中的纹理、光照、相机位置和物体布局,只用合成图像训练视觉模型,再将其用于真实世界中的物体定位与抓取。

只要随机化范围覆盖了真实条件,真机环境就可能落入模型见过的训练分布。

用于机器人控制时,随机化通常覆盖四类变量:

· 视觉:光照、纹理、背景、相机位置和遮挡;

· 物理:质量、摩擦、惯量、刚度、阻尼和重力;

· 传感与控制:噪声、延迟、丢帧、控制增益和动作扰动;

· 任务:物体位置、形状、初始姿态和外部扰动。

图 5:域随机化将单一仿真参数点扩展为覆盖多类变量的训练分布

图 5:随机化需要覆盖真实条件,但范围过窄或过宽都会影响迁移效果。

抓杯子时,可以改变杯子的材质、质量和位置,调整桌面摩擦、相机角度与光照,再给关节状态加入噪声和延迟。策略无法记住某一个杯子或某一条完美轨迹,只能寻找在多种条件下都有效的动作规律。

Dynamics Randomization[5] 将这一思路用于机器人控制,通过随机化质量、摩擦、阻尼等动力学参数训练策略,再迁移到真实系统。

随机化范围并非越大越好。

范围太窄,真实机器人仍可能落在训练分布之外;范围太宽,策略需要兼顾大量不现实的极端条件,训练更难收敛,动作也可能变得过度保守。

更稳妥的做法是根据设备规格、标定误差和少量真机日志确定初始范围,再通过消融实验找到真正影响迁移的变量。

DrEureka[6] 尝试用大语言模型辅助生成奖励函数和域随机化配置,减少人工反复调参;配置是否覆盖真实系统,仍要经过真机验证。

05 在线适应:让机器人识别当前环境

系统辨识和域随机化主要发生在部署之前,真实环境却会持续变化。

同一个杯子装水前后质量不同;四足机器人会从水泥地走到草地;机械关节长期使用后,摩擦与响应也会改变。固定策略只能依赖训练阶段学到的鲁棒性,很难判断当前面对的是哪一种动力学条件。

在线适应(Online Adaptation) 让策略根据近期观测判断当前环境。

单帧图像看不出杯子有多重。但机械臂抬起杯子后,可以从关节响应、末端偏差和连续几帧状态中推断负载变化。历史观测因此成为估计隐藏物理参数的重要线索。

RMA(Rapid Motor Adaptation)[7] 采用了“基策略 + 适应模块”的结构:

图 6:固定策略与在线适应策略的结构对比

图 6:在线适应利用历史状态与动作估计环境上下文,再由基策略根据当前条件调整动作。

训练时,基策略可以访问摩擦、载荷等仿真特权信息;适应模块再学习如何仅凭机器人近期的状态和动作历史,估计策略需要的环境表示。部署后,机器人便能根据地形、载荷和设备状态调整动作。

机械臂也可以采用类似思路:发现杯子更重或正在滑动后,降低移动速度、增加夹持力度,或者重新调整抓取姿态。

在线重规划和残差控制也经常用于减少迁移误差:前者每执行一小段动作就重新观察,后者保留已有控制器,只让学习模块输出修正量。

在线更新会把新的风险带入控制回路。动作限幅、碰撞检测、异常状态识别和安全控制器必须独立存在,不能完全依赖适应模块。

06 少量真机数据,应该花在哪里?

Sim2Real 追求的是降低真机试错成本,真实数据仍然不可缺少。

仿真无法自行暴露哪些参数范围设错了,也无法呈现模拟器从未建模的现象。少量真实轨迹可以用来定位这些失真,并校正训练分布。

真机数据可以用来:

· 校准相机、关节、执行器和控制器参数;

· 更新摩擦、时延和噪声的随机化范围;

· 收集滑落、碰撞前或定位偏差较大的失败边界;

· 在仿真预训练后进行少量离线微调;

· 检验仿真和真机的失效边界是否一致。

Real2Sim2Real 沿着这条路径展开:先从真实场景获取信息,建立更贴近目标环境的仿真副本;在仿真中并行生成数据、训练策略和复现失败条件;再回到真机验证。

RoboGSim[8] 利用 3D Gaussian Splatting 重建真实场景的视觉外观,再与物理引擎结合,用于机器人操作数据生成和策略评测。

图 7:Real2Sim2Real 与真机失败数据回流流程

图 7:少量高信息量真机数据用于校准仿真、复现失败,再将新策略送回真机验证。

真机时间应该优先留给高信息量样本:杯子将要滑落时的状态、机械臂差点碰撞时的轨迹、人工接管前后的动作。这些经验比大量相似的成功轨迹更容易暴露策略边界。

07 从仿真到真机,七步部署流程

策略最终要接入真实控制链路。观测和动作接口没有对齐、安全边界没有定义,再成熟的算法也可能在第一次上机时出问题。

第一步:定义任务与安全边界。

明确工作空间、速度、力矩、碰撞区域和急停条件,同时定义成功、失败和中止标准。

第二步:统一仿真与真机接口。

核对观测字段、坐标系、单位、动作范围、控制频率和时间戳。仿真训练中使用的输入,必须能够在真实设备上稳定获得。

第三步:校准可测参数。

先处理相机内外参、关节零点、机器人尺寸、执行器响应、控制增益和基础时延。固定偏差未消除时,扩大随机化只会让问题更难定位。

第四步:确定随机化范围。

根据设备规格、标定误差和真机日志确定上下界,再用消融实验确认哪些变量真正影响迁移。

第五步:做仿真压力测试。

改变物体位置、光照、摩擦、负载、观测噪声、控制延迟和外部扰动,检查最坏条件、失败恢复与长时间运行稳定性。

第六步:分级上真机。

从空载和低速单步开始,再测试固定场景完整任务,逐步增加新物体、新位置和受控扰动,最后进入长时间连续运行。

第七步:记录失败并回流。

同步保存观测、机器人状态、策略动作、控制器状态、时间戳和中止原因。先判断失败属于哪类差距,再决定重新标定、调整随机化、增加在线适应,还是补充微调数据。

图 8:机器人 Sim2Real 从准备、校准到真机验证的七步部署流程

图 8:七步流程覆盖安全边界、接口对齐、参数校准、压力测试、分级上机和失败回流。

08 Sim2Real 成功,不能只看一次演示

机器人在镜头前完成一次任务,不等于迁移已经成功。它只能说明机器人在当时的物体、位置、光照和设备状态下完成过任务。

迁移效果至少要看六项指标:

· 任务成功率:多次独立试验中完成完整任务的比例;

· 性能退化:同一任务从仿真到真机下降了多少;

· 鲁棒性曲线:光照、摩擦、载荷和时延变化时,性能怎样下降;

· 恢复能力:抓偏、打滑或受到扰动后,能否继续任务;

· 安全指标:碰撞次数、峰值力矩、急停比例和越界动作;

· 跨条件泛化:更换杯子、桌面、相机位置或测试日期后,结果是否稳定。

Isaac Lab[9] 这类并行仿真框架适合做参数扫描和压力测试,也能在真机前筛掉明显不可靠的策略。但模拟器无法替代真实验收,尤其是接触丰富、存在人员协作或涉及设备安全的任务。

这些方法分别处理不同阶段的误差:

系统辨识:缩小能够测量的固定偏差
域随机化:覆盖无法精确确定的变化范围
在线适应:处理运行过程中出现的新变化
真实回流:找到模拟器遗漏的失败条件

仿真不可能完整复制现实。Sim2Real 更实际的标准是:即使模型、传感器和环境都带着误差,机器人仍能稳定完成任务,并在超出能力边界时安全停下来。

仿真承担大规模试错,真机负责验证结果,也会暴露下一轮仿真仍需补上的条件。

推荐阅读

参考链接

1. https://ai-mzq.github.io/From-Zero-to-AGI/:https://ai-mzq.github.io/From-Zero-to-AGI/

2. OpenAI Dactyl:https://openai.com/index/learning-dexterity/

3. SimOpt:https://arxiv.org/abs/1810.05687

4. 《Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World》:https://arxiv.org/abs/1703.06907

5. Dynamics Randomization:https://arxiv.org/abs/1710.06537

6. DrEureka:https://arxiv.org/abs/2406.01967

7. RMA(Rapid Motor Adaptation):https://arxiv.org/abs/2107.04034

8. RoboGSim:https://arxiv.org/abs/2411.11839

9. Isaac Lab:https://developer.nvidia.com/isaac/lab

10. Robot Learning from Randomized Simulations: A Review:https://arxiv.org/abs/2111.00956

11. Crossing the Reality Gap: A Survey on Sim-to-Real Transferability of Robot Controllers in Reinforcement Learning:https://ieeexplore.ieee.org/document/9582891

12. Learning Dexterous In-Hand Manipulation:https://arxiv.org/abs/1808.00177

【声明】内容源于网络
0
0
魔方AI空间
AI技术从业者与深耕者,专注于视觉大模型、多模态内容理解与生成、具身智能、Agent、RAG等AGI时代前沿科技成果的研究和技术分享!!
内容 199
粉丝 0
魔方AI空间 AI技术从业者与深耕者,专注于视觉大模型、多模态内容理解与生成、具身智能、Agent、RAG等AGI时代前沿科技成果的研究和技术分享!!
总阅读789
粉丝0
内容199