
MPC+RL
在机器人控制领域,长期存在着模型驱动(MPC)与数据驱动(RL)的路线之争。前者理论完备但依赖人工调参,后者探索力强却受困于黑盒不可解释性。苏黎世大学 RPG 组的这项 T-RO 最新工作,为这一争论提供了一个优雅的融合解。
论文提出的 AC-MPC 架构,创造性地将可微 MPC 嵌入到 Actor-Critic 框架的策略网络末端。这不仅让无人机跑出了 21m/s 的超人级速度,更重要的是解决了两大痛点:
- 鲁棒性突破:利用 MPC 内置的动力学先验,算法在面对风扰和模型参数失配等 OOD 场景时,展现出了纯神经网络无法比拟的稳定性。
- 理论可解释性:论文通过实证分析揭示了一个惊人的数学联系,Critic 网络学到的 Value Function 的 Hessian 矩阵,与 MPC 学到的 Cost 矩阵高度相关。这意味着 RL 真正学会了控制成本的二阶曲率,打通了价值函数与优化目标之间的壁垒。
这篇文章不仅是工程上的胜利,更是对学习型控制内部机理的一次精彩剖析。
图 1| MPC 与 RL 对比图
01 主要方法
论文提出了一种将模型预测控制(MPC)作为可微层嵌入到强化学习(RL)Actor-Critic 框架中的新方法。其核心思想并非用神经网络直接输出控制量,而是让神经网络学习当前状态下最优的控制目标是什么,然后交由内置动力学模型的 MPC 求解器去计算具体的控制指令。
1. 整体架构:RL 决策 + MPC 执行
传统 RL 直接从观测映射到动作,缺乏物理约束;传统 MPC 依赖人工设计的 Cost Function,难以适应复杂任务。AC-MPC 结合两者:Critic 网络负责长期的价值评估,Actor 网络被拆解为神经代价图和'可微 MPC'两部分。
图 2| AC-MPC 架构图解。与传统 RL 不同,AC-MPC 的 Actor 网络并不直接输出动作。它首先通过一个神经网络预测出当前最优的二次型代价函数参数,然后将这些参数连同当前状态输入到一个可微 MPC 层中。该层利用四旋翼动力学模型求解优化问题,最终输出满足物理约束的控制指令。
2. Actor 设计:学习代价而非动作
AC-MPC 的 Actor 不直接学习控制策略,而是学习一个从观测到 MPC 代价函数的映射。具体流程为 Actor 接收当前观测(如状态、赛道门位置),输出定义 MPC 优化目标的二次型参数 $Q_k$ 和 $p_k$。这相当于让 Actor 在每一时刻动态调整 MPC 的优化目标。
在获得 Actor 输出的二次型参数后,AC-MPC 通过求解以下最优控制问题来生成动作。由于 AC-MPC 可微,该 Actor 的输出支持梯度反向传播。优化目标公式如下:
$$ J_{QP}(x) = \sum_{k=0}^{N} \left( \begin{bmatrix} x_k \ u_k \end{bmatrix}^T Q_k(s) \begin{bmatrix} x_k \ u_k \end{bmatrix} + p_k(s)^T \begin{bmatrix} x_k \ u_k \end{bmatrix} \right) $$
其中,$s_k$ 是 Actor 的观测输入,$Q_k(s)$ 和 $p_k(s)$ 是神经网络的输出,$x_k, u_k$ 分别是系统状态和控制动作,满足动力学约束 $x_{k+1} = f(x_k, u_k)$。
最终的控制动作为 MPC 的最优解,为了实现充分探索,AC-MPC 在训练阶段会叠加高斯噪声,在部署阶段则直接执行 MPC 解。


图 3| 价值函数与飞行轨迹可视化。图中颜色代表 Critic 网络评估的价值(黄色为高价值区)。可以看到,AC-MPC 学到的价值函数就像一个势能场,引导无人机穿越赛道门。当无人机穿过一个门后,高价值区域会迅速切换指向下一个门,体现了 Critic 通过学习 Cost Function 实现了类似离散模式切换的高级决策能力。
图 4| 推力指令饱和度对比。AC-MPC(橙线)能够持续且稳定地将推力打到最大值(饱和),充分利用无人机的物理性能;而 AC-MLP(绿线)的推力输出则显得犹豫和波动,难以维持极限飞行。
图 5| 不同赛道下的训练曲线对比。在简单的水平赛道(左)上两者表现相当;但在高难度的垂直赛道(中)和 SplitS 赛道(右)中,AC-MPC(蓝/黄线)凭借动力学先验,展现出了比 AC-MLP(红线)更高的采样效率和最终性能上限。
图 6| 抗干扰能力可视化。(A) 在垂直飞行中施加 1.5 倍重力的侧向风扰。纯 RL 方法(AC-MLP)和传统 MPC 均告坠毁,只有自适应 L1-MPC 和本文的 AC-MPC 成功穿越,且 AC-MPC 速度更快。(B) 面对初始位置的随机变化,AC-MPC(中)的轨迹一致性显著优于 AC-MLP(左)。
图 7| 动力学参数泛化测试。在未重新训练的情况下,测试不同质量(Mass)和转动惯量(Inertia)下的飞行成功率。红线为训练时的标称值。可以看到,AC-MPC(橙线)在参数大幅偏离标称值时仍能保持近 100% 的成功率,而 AC-MLP(蓝线)则迅速崩溃。
图 8| 价值函数与 MPC 代价矩阵的关联性分析。(A) 预测的 Q 矩阵与真实的 Q 矩阵高度吻合,说明 Critic 深刻理解了控制任务的代价结构。(B) 3D 视图下,MPC 的代价函数曲面(上)与 Critic 的价值函数曲面(下)形状惊人一致,验证了两者在数学本质上的统一性。
图 9| 真实世界飞行轨迹。AC-MPC 在圆形赛道(左)和 SplitS 赛道(右)的真实飞行数据(实线)与仿真数据(虚线)高度重合。AC-MPC 在真实环境中跑出了 21m/s 的峰值速度,实现了从仿真到现实的完美复刻。