本章要回答的三个问题:把 MuJoCo 封装成强化学习训练环境,哪些工程决定决定训练成败,标准的环境规范长什么样?不做学习、要做经典控制与规划,模型预测控制与轨迹优化怎么用引擎当内部模型?训练完的策略要上真机,Sim-to-Real 的鸿沟有哪些成分,域随机化怎么系统性地填?三问对应 5.1、5.2、5.3。
前四章备齐了零件:能跑的模型、懂原理的调参视角、可扩展的力学与观测。本章把它们装配成「可交付的东西」——绝大多数人学 MuJoCo 的最终目的,要么是训练出会做事的策略,要么是验证出敢上真机的控制器。
这一章的位置也解释了一个普遍现象:为什么很多人「环境搭得出来,训练却失败」。失败原因极少在算法侧,绝大多数在环境工程的细节里——奖励函数里一个符号写反、动作空间与执行器语义错配、初始状态从不随机化、观测里混进了未来信息。这些坑不在任何论文的正文里,却在每个工程实录的「我们踩过的坑」附录里。本章把这些散落各处的经验收拢成可执行的清单与流程,5.1 管训练环境,5.2 管经典控制路线,5.3 管上真机的最后一公里。
三条路线的关系也值得先说清:强化学习与环境交互、模型预测控制用引擎做内部推演、Sim-to-Real 是两者共同的交付环节。它们共用同一台引擎、同一套模型资产,差别只在「谁来决策」。试车场的比喻里,本章是正式比赛日——前面所有章节的验收标准,都将在本章兑换成成绩。
对照开头三问,读完本章你应当能够:
| 节号 | 回答的问题 | 关键产出 |
|---|---|---|
| 5.1 | 训练环境怎么搭才不拖算法后腿 | 环境四件套规范与踩坑清单 |
| 5.2 | 经典控制与规划怎么用引擎 | MPC 与轨迹优化的接入方法 |
| 5.3 | 仿真到现实的鸿沟怎么填 | 鸿沟成分清单与域随机化方案 |
5.1 与 5.2 是并列的两条技术路线,按你的任务二选一或并用;5.3 依赖前两节的产物——无论策略还是控制器,上真机前都要过 5.3 的桥接流程。顺序上建议 5.1 先读:环境封装的时序纪律(观测、奖励、终止同源)对 5.2 的控制回路同样适用。
这张时序图把三节串在一条消息链上:P 是「谁在决策」的分岔点——学习算法(5.1)或求解器(5.2);E 是本章教你的封装层,时序纪律全部发生在它内部;S 是前四章的主角;R 是 5.3 的对岸。E 到 R 的箭头是全章的终点,也是第六章排错工作的起点——真机上的失败会带着新问题回到试车场。
本章结束时,你要么有一个训练曲线健康的任务环境,要么有一条验证过的控制回路,并且知道上真机前还差哪些桥。但训练与部署过程中必然出现各种「不对劲」:抖动、发散、真机与仿真行为不一致——诊断与修复的系统方法是下一章的主题。第六章的排错流程会反复引用本章的环境规范:很多「算法问题」,最后查出来是环境时序或随机化配置的锅。