Sim-to-Real 迁移 本节摘要:在仿真器里训得再好、到硬件上就垮,说明策略只是「背下了仿真器」。现实鸿沟(Reality Gap)——仿真分布与真实分布的系统性差异——是部署型机器人 RL 的核心难题。本节讲透跨过它的三大工具:域随机化(Domain Randomization,训练时随机化仿真参数让策略泛化)、系统辨识(System Identification,先测真实参数再匹配仿真)、域适配(Domain Adaptation,用少量真实数据微调);以及 2026 年的主导配方——大规模并行仿真(Isaac Lab、MuJoCo MJX)+ 特权学习 teacher-student + 安全盾。
本节摘要:在仿真器里训得再好、到硬件上就垮,说明策略只是「背下了仿真器」。现实鸿沟(Reality Gap)——仿真分布与真实分布的系统性差异——是部署型机器人 RL 的核心难题。本节讲透跨过它的三大工具:域随机化(Domain Randomization,训练时随机化仿真参数让策略泛化)、系统辨识(System Identification,先测真实参数再匹配仿真)、域适配(Domain Adaptation,用少量真实数据微调);以及 2026 年的主导配方——大规模并行仿真(Isaac Lab、MuJoCo MJX)+ 特权学习 teacher-student + 安全盾。你会在一个带「打滑」噪声的 GridWorld 上看到:固定 slip=0 训出来的策略,真实 slip>0 时灾难性跌落;而域随机化训出来的能在分布外优雅退化。这教的是「鲁棒性」如何被显式训练进策略。
对应原课程:Phase 9 · Lesson 11 ·
sim-to-real-transfer(原英文phases/09-reinforcement-learning/11-sim-to-real-transfer/docs/en.md)。
阅读完本节,你应当能够:
训练真实机器人又慢、又危险、又贵。一个双足机器人要几百万回合才学会走;真实双足哪怕摔一次都坏硬件。仿真给你无限重置、确定性可复现、并行环境、零物理损伤。
但仿真器是错的。轴承的摩擦比 MuJoCo 模型大。相机有仿真器没算的镜头畸变。电机有 99% 仿真模型跳过的延迟、回差、饱和。风、尘、变化的光照会破坏在无菌渲染上训出来的策略。现实鸿沟——仿真分布与真实分布的系统性差异——是部署型机器人 RL 的核心难题。
你需要一个对 sim-to-real 分布漂移鲁棒的策略。三种历史方法:随机化仿真器(域随机化)、用少量真实数据适配策略(域适配/微调)、或先辨识真实系统参数再匹配(系统辨识)。2026 年的主导配方把三者结合,辅以大规模并行仿真(Isaac Sim、Isaac Lab、MuJoCo MJX 跑在 GPU 上)。
域随机化(DR)。Tobin et al. 2017,Peng et al. 2018。训练时,随机化所有可能在真实机器人上不同的仿真参数:质量、摩擦系数、电机 PD 增益、传感器噪声、相机位置、光照、纹理、接触模型。策略学到一个「今天在哪个仿真里」的条件分布,并在整个跨度上泛化。如果真实机器人落在训练包络内,策略就能用。
系统辨识(SI)。训练前把仿真器参数拟合到真实数据。如果你能量出真实机器人臂关节的摩擦,就把它塞进仿真。然后训一个期望这些值的策略。需要接触真实系统,但能直接缩小现实鸿沟。
域适配。在仿真里训,用少量真实数据微调。两种风味:
f(s, a, z) - f_sim(s, a),在修正后的仿真里训。无需多少真实数据就能闭合鸿沟。Miki et al. 2022(ANYmal 四足)。在仿真里训一个能访问特权信息(真实摩擦、地形高度、IMU 漂移)的 teacher。蒸馏一个只看真实传感器观测的 student。student 学会从历史里推断特权特征,跨物理参数鲁棒。
2024-2026。Isaac Lab、MuJoCo MJX、Brax 都在单 GPU 上跑数千并行机器人。PPO 配 4096 并行仿生人,几小时收集数年经验。训练分布变宽,「现实鸿沟」缩小;DR 在那 4096 个环境各有不同随机参数时几乎免费。
💡 域随机化的精髓是「用多样性换鲁棒性」。你不再训一个对单一仿真最优的策略,而是训一个对一族仿真都还行的策略。真实世界只是这族里的又一个成员——只要它落在训练分布的包络内。代价是「保守」:策略不会在任何单一环境上最优,但在所有环境上都「不糟」。
本节代码是域随机化在一个带噪声转移的 GridWorld 上的微型演示。我们训一个在「仿真」里经历随机化打滑概率的策略,然后在它训练时从未见过的「真实」打滑级别上评估。形状直接映射到 MuJoCo 到硬件的迁移。
def step(state, action, slip): if rng.random() < slip: action = random_perpendicular(action) ...
slip 是仿真器暴露的一个参数。真实机器人里它可以是摩擦、质量、电机增益——任何在仿真与真实间漂移的量。
每回合开始,采样 slip ~ Uniform[0.0, 0.4]。训 PPO / Q 学习 / 任何算法。跑很多回合。
在 slip ∈ {0.0, 0.1, 0.2, 0.3, 0.5, 0.7} 上评估。前四个在训练支持内;0.5 和 0.7 在外。DR 训出来的策略应在支持内近最优、在外优雅退化。固定打滑训出来的策略会在训练打滑外脆弱。
再训一个只在 slip = 0.0 上的策略。在同样的打滑扫描上评估。应看到真实打滑 > 0 时的灾难性跌落。
💡 Step 3 vs Step 4 的对比是本节最重要的实验。它直观显示「专精 vs 鲁棒」的取舍:窄训练在它的窄切片上更优,但一出切片就崩;DR 训练在每个点上都不是最优,但全程不崩。对部署型机器人,「不崩」远比「最优」重要——硬件摔不起。
2026 年的 sim-to-real 栈:
| 领域 | 技术栈 |
|---|---|
| 足式行走(ANYmal、Spot、仿生人) | Isaac Lab + DR + 特权 teacher/student |
| 操作(灵巧手、抓取放置) | Isaac Lab + DR + 视觉 DR-GAN |
| 自动驾驶 | CARLA / NVIDIA DRIVE Sim + DR + 真实微调 |
| 无人机竞速 | RotorS / Flightmare + DR + 在线适配 |
| 指尖/手内操作 | OpenAI Dactyl(前所未有的 DR 规模) |
| 工业臂 | MuJoCo-Warp + SI + 少量真实微调 |
对各种规模的控制,工作流一致:尽力拟合仿真,拟合不了的随机化,训超大策略,蒸馏,带安全盾部署。
2026 年的 sim-to-real 工程几乎都建在 GPU 并行仿真器上。Isaac Lab(NVIDIA)在单 GPU 上跑 4096 并行机器人,每个环境可独立随机化参数——DR 几乎免费。MuJoCo MJX 是 MuJoCo 的 JAX 重写,同样支持数千并行环境,且与 JAX 的自动微分兼容(可做可微仿真)。本节的玩具 GridWorld + 随机 slip 是这套技术栈的最小可理解版本——把 slip 想成「摩擦」,把 GridWorld 想成「四足机器人」,数学完全同构。
本节产出一个可复用 skill(位于原课程 outputs/skill-sim2real-planner.md)。骨架:
--- name: sim2real-planner description: 为给定机器人 + 任务规划 sim-to-real 迁移管线,覆盖 DR、SI、安全。 version: 1.0.0 phase: 9 lesson: 11 tags: [rl, sim2real, robotics, domain-randomization] --- 给定一个机器人平台、一个任务、以及真实硬件时间访问,输出: 1. 现实鸿沟清单。疑似来源按预期影响排序(接触、感知、执行延迟、视觉)。 2. DR 参数。精确列表、范围、分布。每个范围对照真实测量论证。 3. SI 步骤。哪些参数要测;测量方法。 4. teacher/student 划分。teacher 用什么特权信息;student 用什么观测。 5. 安全盾。低层限位、急停、备份控制器。 拒绝没有 (a) 零样本仿真变体测试、(b) 安全盾、(c) 回滚计划就部署。 标记任何 DR 范围宽于真实测量变异性 3 倍的为可能过随机化。
slip ~ Uniform[0, 0.3]。评估同样的扫描。DR 在 slip=0.5(分布外)上买到多少?slip ∈ [0, 0.9] 上训,你的策略风险厌恶到从不试最优路径。匹配期望的真实分布,而非「什么都可能」。| 术语 | 俗称 | 实际含义 |
|---|---|---|
| 现实鸿沟 | 「仿真到真实的差异」 | 训练与部署物理/感知间的分布漂移 |
| 域随机化 DR | 「跨随机仿真训练」 | 训练时随机化仿真参数让策略泛化 |
| 系统辨识 SI | 「测真实并拟合仿真」 | 估计真实物理参数;把仿真设成匹配 |
| 域适配 | 「在真实数据上微调」 | 仿真训练后的小规模真实微调;可适配观测或动力学 |
| 特权信息 | 「给 teacher 的真值」 | 仅仿真有的信息;student 必须从观测历史推断 |
| teacher/student | 「蒸馏特权→可观测」 | teacher 带捷径训;student 学着不带捷径模仿 |
| ADR | 「自动域随机化」 | 随策略改进扩宽 DR 范围的课程 |
| Real2Sim | 「用真实数据闭合鸿沟」 | 学一个残差让仿真模仿真实滚动 |
下一节,本章收官——游戏 RL 与推理时代:AlphaZero、MuZero、GRPO 如何用同一个「自博弈 + 搜索 + 策略改进」循环征服棋类与 LLM 推理。