跳转至

Real2Sim

本页介绍迁移链路中的反向方向:在做策略回放或部署之前,先让模拟器更贴近真实平台。在实际工作中,这主要是一个参数对齐问题。

核心思路

主要方法是利用真实世界数据做系统辨识,然后更新仿真参数,使模拟平台的动力学更接近真实平台的测量结果。

对 LAV2 来说,这意味着需要重新审视所有会进入仿真栈的参数与假设,尤其是 VehicleParams、旋翼动力学、mixer 行为,以及构建在其上的任务侧归一化或频率假设。

两条实际路径

Real2Sim 对齐通常有两种常见做法。

第一种是显式参数辨识。你先采集真实飞行或行驶数据,再从这些数据中估计平台参数,随后更新模拟器中的对应模型。

第二种是通过 domain randomization 提高鲁棒性。与其去找一个“最优参数集”,不如让策略在一组合理的参数分布上训练,并希望真实平台落在这个分布之内。

第一条路径直接提升保真度,第二条路径提升对模型失配的容忍度。实践中,两者往往会结合使用,而不是被当作互斥方案。

通常需要对齐什么

对 LAV2 来说,最关键的对齐目标包括:

  • 质量与惯量
  • 旋翼推力与扭矩系数
  • 电机滞后、速率限制与初始 RPM 假设
  • 与 mixer 相关的缩放与归一化命令解释
  • 控制频率与 decimation 假设
  • 训练时使用的观测缩放与坐标系约定

如果这些量不准确,就很容易在真实行为与仿真行为之间产生明显差距。

系统辨识工作流

一个实用的流程通常是:

  1. 在具有代表性的工况下记录真实平台或台架测试数据
  2. 辨识能够解释测量响应的参数
  3. 更新对应的仿真侧参数
  4. Sim2Sim 中重新进行迁移测试
  5. 持续迭代,直到回放链路的行为足够接近、足以支撑后续工作

这也是为什么 Real2Sim 会排在 Sim2Sim 之前。只有当 MuJoCo 侧模型已经足够贴近真实平台时,在 MuJoCo 中测试策略才有意义。

这些改动最终落在哪

大多数调整最终都会落在:

如果失配并非纯粹来自物理参数,而是来自命令或观测解释方式,那么相关改动也可能涉及 lav2.controller.mappinglav2.runner.common.mujoco,或者 RL 后端中的任务观测定义。

参考资料

API 交叉引用