Tech Station

理论基础 › 🌉 Sim-to-Real 迁移

🌉

Sim-to-Real 迁移 Sim-to-Real Transfer

仿真里训练好的策略拿到真机上不一定能用——这就是现实差距(reality gap)。这一模块系统地讲:差距来自哪里(动力学、执行器、延迟、感知),如何缩小(系统辨识、real-to-sim),如何让策略对差距不敏感(域随机化、特权学习、在线自适应),以及感知侧的迁移与一套可复现的评估-迭代流程。

4 个主题 约 65 小时 先修:🧠 强化学习与机器人学习🧪 仿真工具
已掌握 0/4

学完你将能够

1现实差距的来源与系统辨识 Reality Gap & System Identification

⏱ 约 20 小时

缩小差距的第一步是把差距量化:惯性参数、关节摩擦、执行器带宽与力矩限制、通信延迟、传感噪声,每一项都能用真机数据辨识。刚体动力学对惯性参数是线性的,可以用最小二乘辨识;执行器则常用小网络(actuator net)拟合。

核心要点

  • 差距分类:动力学参数、未建模动力学(执行器、柔性、摩擦、缆线)、延迟与采样、感知差异、初始状态分布
  • 惯性参数辨识:Y(q,q̇,q̈)π = τ 的线性最小二乘,激励轨迹设计,物理一致性约束(LMI)
  • 执行器辨识:PD 伺服的实际带宽、力矩-电流关系、齿轮摩擦;actuator net(历史输入 → 实际力矩)
  • 延迟测量与建模:传感到执行的端到端延迟,在仿真里注入延迟
  • real-to-sim:用真机轨迹校准仿真参数(可微仿真 / 贝叶斯优化 / CEM)

关键公式

Y(q,q˙,q¨) π=τ,π^=arg⁡min⁡π∈P∥Yπ−τ∥2Y(q,\dot q,\ddot q)\,\pi = \tau,\qquad \hat\pi = \arg\min_{\pi\in\mathcal{P}} \|Y\pi - \tau\|^2
动力学对惯性参数线性:最小二乘辨识(P 为物理一致集合)
自测:学完应该能回答
  1. 为什么惯性参数辨识需要「激励轨迹」?什么样的轨迹信息量最大?
  2. actuator net 的输入为什么要包含位置误差的历史而不只是当前值?

推荐资料(全部免费)

2域随机化、特权学习与在线自适应 Domain Randomization, Privileged Learning & Adaptation

⏱ 约 20 小时

既然无法把仿真调得完全一致,就训练一个对差距不敏感的策略:随机化动力学与观测(DR),让策略在分布上覆盖真机;再进一步,让策略从历史观测中推断环境参数(RMA、特权教师-学生),实现在线自适应。自动域随机化(ADR)让随机化范围随能力自动增长。

核心要点

  • 域随机化:随机什么(质量、摩擦、电机增益、延迟、噪声、外力推)、范围怎么定;范围过大导致保守策略
  • 自动域随机化(ADR)与课程;对抗性扰动
  • 特权学习:教师看真值参数,学生从本体感受历史估计(RMA 的自适应模块、隐式系统辨识)
  • 在线自适应:快速适应模块、上下文编码器、元学习;真机微调(见离线 RL 与策略微调)
  • 鲁棒性与性能的权衡;如何判断该加随机化还是该修模型
自测:学完应该能回答
  1. 域随机化为什么能提升迁移?随机化范围过大会有什么后果?
  2. RMA 的自适应模块在推断什么?它为什么可以只用本体感受历史?

推荐资料(全部免费)

3感知的 Sim-to-Real Sim-to-Real for Perception

⏱ 约 15 小时

视觉策略的差距主要在图像分布:渲染 vs 真实相机的纹理、光照、噪声、曝光。解决路线有三:随机化外观让网络学不变特征;用深度 / 分割等对外观不敏感的中间表示;用大规模预训练的视觉主干(DINOv2、R3M)作为冻结编码器。高保真渲染与真实扫描构建的数字孪生则从源头缩小差距。

核心要点

  • 视觉域随机化(纹理、光照、相机内外参、后处理噪声);深度图为何比 RGB 更容易迁移
  • 中间表示:分割掩码、关键点、物体位姿、点云——把感知与控制解耦
  • 预训练视觉表示:R3M、VC-1、DINOv2 作为冻结编码器;数据增强(随机裁剪)对 RL 的重要性
  • 高保真渲染(光线追踪)与数字孪生;real-to-sim 场景重建
  • 相机延迟、帧率与运动模糊的仿真建模
自测:学完应该能回答
  1. 为什么深度图策略通常比 RGB 策略更容易 sim-to-real?代价是什么?
  2. 冻结预训练视觉编码器 vs 端到端微调,各在什么条件下更好?

推荐资料(全部免费)

4评估、调试与迭代流程 Evaluation, Debugging & the Sim-to-Real Loop

⏱ 约 10 小时

sim-to-real 不是一次性的:仿真验证 → 仿真间迁移(sim-to-sim)→ 真机保守测试 → 记录数据回灌仿真 → 修模型或加随机化 → 再训。建立这样一个可复现的闭环,比任何单一技巧都重要。

核心要点

  • sim-to-sim 作为第一道检验:在不同引擎 / 不同参数的仿真上评估策略
  • 真机评估协议:分级测试(悬挂 → 低增益 → 全功率)、成功率与置信区间、多次重复、失败模式记录
  • 差距诊断:对比仿真与真机的同一开环动作响应;逐项关闭随机化找关键因素
  • 数据回灌:用真机轨迹更新仿真参数或微调策略;离线评估器
  • 安全网:动作限幅、关节限位、安全滤波器、随时可切换的备份控制器
自测:学完应该能回答
  1. sim-to-sim 迁移成功但 sim-to-real 失败,最可能的原因有哪些?
  2. 为什么真机评估需要报告置信区间而不是单次成功率?

推荐资料(全部免费)