Real2Sim
本页介绍迁移链路中的反向方向:在做策略回放或部署之前,先让模拟器更贴近真实平台。在实际工作中,这主要是一个参数对齐问题。
核心思路
主要方法是利用真实世界数据做系统辨识,然后更新仿真参数,使模拟平台的动力学更接近真实平台的测量结果。
对 LAV2 来说,这意味着需要重新审视所有会进入仿真栈的参数与假设,尤其是 VehicleParams 及其平台专用的 TrackVehicleParams、旋翼动力学、mixer 行为,以及构建在其上的任务侧归一化或频率假设。
两条实际路径
Real2Sim 对齐通常有两种常见做法。
第一种是显式参数辨识。先采集真实飞行或行驶数据,再从这些数据中估计平台参数,随后更新模拟器中的对应模型。
第二种是通过域随机化提高鲁棒性。与其寻找单一“最优参数集”,更常见的做法是让策略在一组合理的参数分布上训练,并希望真实平台落在该分布之内。LAV2 中这部分实现与接入方式可进一步参考 域随机化。
第一条路径直接提升保真度,第二条路径提升对模型失配的容忍度。实践中,两者往往会结合使用,而不是被当作互斥方案。
通常需要对齐什么
对 LAV2 来说,最关键的对齐目标包括:
- 质量与惯量
- 旋翼推力与扭矩系数
- 电机滞后、速率限制与初始 RPM 假设
- 与 mixer 相关的缩放与归一化命令解释
- 控制频率与 decimation 假设
- 训练时使用的观测缩放与坐标系约定
如果这些量不准确,就很容易在真实行为与仿真行为之间产生明显差距。
系统辨识工作流
一个实用的流程通常是:
- 在具有代表性的工况下记录真实平台或台架测试数据
- 辨识能够解释测量响应的参数
- 更新对应的仿真侧参数
- 在 Sim2Sim 中重新进行迁移测试
- 持续迭代,直到回放链路的行为足够接近、足以支撑后续工作
这也是为什么 Real2Sim 会排在 Sim2Sim 之前。只有当 MuJoCo 侧模型已经足够贴近真实平台时,在 MuJoCo 中测试策略才有意义。
改动的主要落点
大多数调整最终都会落在:
- VehicleParams
- TrackVehicleParams
- RotorDynamics
- 仿真器 actuator 与接触参数
- Mixer
- DifferentialDriveController
如果失配并非纯粹来自物理参数,而是来自命令或观测解释方式,应检查 FlightActionMapper 或 DifferentialDriveActionMapper。策略回放由 MuJoCoPlayConfig 配置,并由 MuJoCoPlayRunner 执行;任务观测定义仍由各 RL 后端负责。
参考资料
- System Identification Utility for Quadrotors
- Data-Driven System Identification of Quadrotors Subject to Motor Delays
- System identification with MuJoCo
API 交叉引用
- 平台共享参数:VehicleParams
- LAV2 地面参数:TrackVehicleParams
- 旋翼动力学:RotorDynamics
- 仿真器 actuator 与接触参数:机器人 MJCF 或 USD 配置
- Mixer:Mixer
- 飞行动作映射:FlightMappingConfig、FlightActionMapper
- 地面动作映射与控制器:DifferentialDriveMappingConfig、DifferentialDriveActionMapper、DifferentialDriveController
- MuJoCo 策略回放:MuJoCoPlayConfig、MuJoCoPlayRunner