精读笔记
Problem Setting
论文标题:Actor–Critic Model Predictive Control: Differentiable Optimization Meets Reinforcement Learning for Agile Flight(IEEE Transactions on Robotics / 2026)。
这篇论文真正处理的是极限飞行中的控制表示问题:如何在不手写参考轨迹/代价函数的情况下,仍然让部署时的控制动作保留动力学一致性、输入约束和短时预测能力。任务表面是 drone racing,但更本质的问题是:task-level reward 往往稀疏、非光滑、不可直接放进梯度型 MPC;而实时控制器又必须给出连续、可行、低延迟的动作。
以前路线卡在两端。经典 MPC/trajectory tracking 需要把“快且不撞地穿门”翻译成轨迹、contouring cost、进度项、约束和大量参数;这种翻译在极限飞行时很脆,因为参考轨迹一旦接近饱和,任何模型误差都会吃掉控制余量。model-free RL 则可以直接优化 lap time / gate progress / crash penalty,但策略本身是黑盒映射,OOD 初始状态、风扰、动力学参数变化时缺少结构性纠错。
关键矛盾是:任务目标需要 long-horizon trial-and-error,低层动作需要 short-horizon model-based feasibility。AC-MPC 的问题设定正是把这两个时间尺度放进同一个 actor-critic 框架,而不是继续在 planner-controller 或 policy-controller 之间做人工接口。
Motivation
作者的核心动机不是“把 MPC 和 RL 结合”这个泛泛命题,而是指出 MPC 的可部署性和 RL 的可优化性之间缺一个合适的策略参数化。
MPC 不够的地方在于:它需要人把任务写成可微、稠密、近似二次的代价;对 drone racing 这类任务,这个过程本身就是主要 engineering。tracking MPC 的参考轨迹只是任务的 proxy,且在极限状态下 proxy 与真实目标会分离。economic MPC 可以直接写任务代价,但真实任务 reward 往往有门通过、碰撞、完成比赛等离散事件,难以直接用于高频梯度优化。
RL 不够的地方在于:它把动力学可行性、饱和边界、局部稳定性都交给数据学习。即使最终性能很高,它也可能只是学到了训练分布内的动作模板,部署时缺少物理约束层。作者的观察是,如果神经网络不直接输出 action,而是输出一个 MPC 可求解的局部代价,那么 RL 可以继续处理任务级 reward,MPC 则承担动作层的物理结构。
所以这篇的关键缺口是:如何让 task reward 学出来的东西进入 MPC,但不经过人工轨迹/代价设计;同时又能让 MPC 层可微,使 RL 真的端到端更新这个代价。
Core Idea
核心思想很简单但有效:把 actor 从一个直接 action generator 改成一个 cost generator。神经网络根据观测输出 MPC 的二次代价参数 Q 和 p;随后 differentiable MPC 根据当前状态、已知动力学和输入约束解一个短 horizon 最优控制问题,取第一步控制作为策略均值。训练时用 PPO 对这个复合 actor 做策略梯度,梯度穿过 MPC 求解器回到 cost map。
这个建模方式改变了策略学习的对象:不是学习“在某个观测下该打多少 thrust/body rate”,而是学习“在这个观测下,局部优化问题应该长什么样”。这比直接学 action 更有结构,因为动作必须是某个动力学约束优化问题的解;也比传统 MPC 更灵活,因为这个优化问题的代价不是人工写死,而是由 RL 从任务 reward 中塑形出来。
本质区别在于信息流重组:model-free RL 的长期任务信号通过 critic/advantage 更新 cost map;MPC 在每个时刻把 cost map 转化为短期动态一致的动作;critic 则补足 MPC horizon 之外的长时价值。它引入的 inductive bias 是 test-time optimization + known dynamics,而不是单纯更大的网络或更多数据。
Method
1. 学习二次 MPC 代价,而不是学习动作。论文把一般 QP 形式的二次项 Q_k 和线性项 p_k 作为神经网络输出。这样解决的是传统 MPC 需要手工设计 cost 的问题;核心变化是把任务设计问题转成一个可由 RL 优化的 cost landscape learning 问题。
2. Differentiable MPC 作为 actor 的最后一层。它解决的是“如何让 RL 更新 MPC 内部代价”的问题。若 MPC 是黑盒,只能做采样估计或外层调参;可微优化层让 PPO 的梯度能直接穿过求解器。这里真正重要的是策略类被限制为 constrained optimizer 的解,而不是 MLP 任意输出。
3. 短 horizon MPC + 长 horizon critic。MPC horizon 很短,主要负责局部动力学和约束;critic 学无限/长时 return,给 policy gradient 提供长时任务信号。这个分工是方法成立的关键:短 horizon MPC 不需要自己解决整场比赛,只需要在 critic/advantage 引导下学到合适的局部代价。
4. MPVE 复用 MPC 预测轨迹训练 value。MPC forward 本来会产生未来 H 步 state-action prediction,论文把这些预测用于 value expansion。它解决的是 critic target 信息不足和样本效率问题。核心变化是把 actor 内部 test-time compute 的副产物回收为 critic supervision。但从实验看,它更像辅助项,且收益主要在低 lambda TD 设置下明显。
5. Diagonal cost parameterization。论文发现 full / Cholesky 参数化反而学不动,diagonal 更稳定。这不是理论必然,而是高维 cost landscape 学习中的强正则化。它说明 AC-MPC 的成功依赖适当限制可学习代价的自由度,否则优化难度会超过 PPO 能处理的范围。
Key Insight / Why It Works
最核心的有效性来源是 better inductive bias + test-time compute,而不是 RL 算法本身。AC-MPC 把策略空间从“任意 MLP 映射”压缩到“某个已知动力学系统下短 horizon 最优控制问题的解”。这个压缩会牺牲表达自由度,但显著提升 OOD 行为:当初始状态、质量、惯量、body-rate limit 或风扰发生变化时,MPC 层仍会根据当前状态和模型重新求解,而不是直接套用训练分布内的 action pattern。
第二个关键是它把难学的长期任务结构和容易写的短期物理结构分开了。长期上,穿门顺序、mode switching、何时翻转、如何通过 SplitS 这些东西仍由 RL reward 学;短期上,推力饱和、姿态变化、输入约束由 MPC 处理。因此它不是传统意义上的 planner 学会了长期规划,而更像 actor 被迫通过一个局部物理优化器来表达长期策略。所谓“规划能力”主要来自短 horizon online optimization;长期 reasoning 仍在 critic 和 cost map 的分布内泛化中。
第三个 insight 是 learned cost 与 critic value 的曲率相关。作者在 hover 任务中展示 Q_N/p_N 可由 value Hessian/gradient 线性预测。这很有意思,因为它暗示 cost map 可能在学 finite-horizon MPC 的 terminal value approximation,而不是任意 reward shaping。但这个证据是在强简化设定下得到的:quadratic reward、hover 附近、短 horizon、full-state critic。它支持机制直觉,但还不能证明 drone racing 中也发生同样的结构对齐。
哪些是核心贡献?我认为是 actor parameterization:observation → MPC cost → optimized action。MPVE、matrix ablation、exploration tuning 都是围绕这个主机制的 supporting engineering。MPVE 的概念不新,本质是 model-based value expansion;新意在于不用额外 rollout,直接复用 differentiable MPC 的预测。它是 neat engineering,但不是这篇最根本的贡献。
哪些可能只是 engineering / scaling?真机 21 m/s 和 sim2real 成功当然重要,但里面混有大量 domain randomization、高保真 BEM/NeuroBEM、控制平滑 reward、Agilicious stack、硬件经验。性能追平 AC-MLP 并不完全说明架构本身更强,更多说明这种混合表示没有牺牲极限性能。真正更有说服力的是 OOD 和动力学扰动实验,而不是 lap time 本身。
我不认为这篇证明了“RL 获得了可解释长期规划”。更准确地说,它证明了:在已知动力学、低维连续控制、输入约束主导的系统中,把策略动作生成后端换成可微 MPC,可以显著改善策略的物理外推性和训练效率。
Relation To Prior Work
这篇最接近三条线:learned-cost MPC、differentiable optimization layer、model-based/value-expansion RL。
相对传统 learned-cost MPC 或 imitation-based differentiable MPC,它的实质区别是不用专家轨迹/示范来回归 cost,而是用 RL 的任务 reward 端到端训练 cost map。这让它能处理 gate progress、collision、lap completion 这类非光滑任务信号,而不需要先构造可微 surrogate。
相对 model-free PPO / AC-MLP,它不是增加网络容量,而是改变策略类。AC-MLP 学 action manifold;AC-MPC 学 optimization landscape。这个差异解释了为什么同等 reward 下 AC-MPC 更 OOD:动作不是裸网络输出,而是 constrained optimizer 的解。
相对经典 tracking MPC / contouring MPC,它不依赖外部规划器给 reference,不需要每条赛道大量人工调 trade-off 参数。这里的新增信息是:任务结构通过 RL reward 注入 cost map,而不是通过人类设计的轨迹或 contouring objective 注入。
相对 MBRL,它其实不是标准 MBRL。它不学习 dynamics,也不是用 learned model 做 long-horizon planning;它假设 known analytical differentiable dynamics,并把模型作为 actor prior。更准确地说,它属于“optimization layer as policy parameterization”这一技术谱系,而不是“learned world model planning”。
看似新的部分中,MPVE 是已有 value expansion 思想的重组;diagonal cost map 是 practical regularization;critic-Hessian 分析是较有价值的解释性补充。真正实质创新是把 differentiable MPC 放进 on-policy actor-critic 的 actor 末端,并让 RL 直接学习 MPC 的二次代价。
Dataset / Evaluation
评估集中在四旋翼 agile flight / drone racing:horizontal、vertical、SplitS、circle 等赛道,包含仿真、高保真气动模拟和真实世界部署。任务覆盖了极限推力、翻转/倒飞、门序切换和 sim2real,这对验证低维连续控制中的鲁棒性 claim 是有说服力的。
实验较好地支撑了三类 claim。第一,sample efficiency:复杂赛道上 AC-MPC 学得更快,简单水平飞行上优势变小,符合“动力学 prior 在困难探索中更有用”的解释。第二,OOD robustness:初始状态扩大、风扰、质量/惯量/body-rate limit 改变时,AC-MPC 比 AC-MLP 更稳,这直接验证了结构化 actor 的价值。第三,real-world feasibility:真机达到与强 RL baseline 接近的性能,说明 optimization layer 的计算开销没有破坏实时控制。
但 evaluation 的边界也很清楚。所有任务都在同一机器人形态、同类观测、同类 gate racing reward 下,跨任务泛化不是重点;每个任务基本从头训练,不能说明 learned cost map 可跨赛道迁移。真实世界结果很强,但包含大量 sim2real 工程,不能把成功全部归因于 AC-MPC 架构。与 L1-MPC/tracking MPC 的比较有参考价值,但这些 MPC baseline 依赖 time-optimal reference,且在极限轨迹跟踪下天然吃亏;这会放大 AC-MPC 的相对优势。
总体看,实验足够支持“在四旋翼 racing 中,AC-MPC 比裸 PPO actor 更 robust 且不损失最终性能”;还不足以支持“这是通用机器人 RL+MPC 融合框架”的强结论。
Limitation
最硬的前提是已知、可微、闭式动力学。没有这个,differentiable MPC 的梯度链条和物理 prior 都不存在。对于动力学未知、接触复杂、混合离散模式或强非光滑系统,方法不能直接迁移,除非再引入 learned differentiable dynamics;但那会把问题带回 model bias 和 model error。
第二个上限是约束表达。目前 solver 只处理输入约束,不支持显式状态约束。对安全关键任务,这是很大的缺口:碰撞、速度限制、禁飞区只能通过 reward penalty 间接处理,部署时没有 hard guarantee。因此“更安全/更 robust”不能被解读为 formal safety。
第三是 scalability。每次 actor forward/backward 都要求解 iLQR/MPC,训练成本比 MLP 高很多;复杂机器人、高维状态、长 horizon 会很快不可承受。论文用短 horizon 加 critic 来缓解,但这也意味着真正长期规划不在 MPC 内发生,而是由 learned value/cost map 近似。若任务需要长时约束推理,短 horizon MPC 可能不够。
第四是增益归因不完全清楚。OOD robustness 很可能主要来自 dynamics prior 和 action feasibility;但真机性能还依赖 domain randomization、高保真仿真、reward smoothing、控制栈和硬件调参。文中未充分说明这些工程因素与 AC-MPC 架构贡献之间的分离程度。
第五,learned cost 的可解释性证据仍偏局部。Hessian correlation 在 hover/quadratic reward/near-equilibrium 下成立,并不保证在 racing 的非光滑门切换任务中 cost map 也具有类似 value-approximation 语义。这里的解释更像 plausible mechanistic probe,而不是普遍理论。
最后,所谓泛化主要是参数扰动和初始状态扰动下的局部外推,不是语义级或组合级泛化。核心能力可能仍依赖训练数据覆盖了相关 maneuver family;planner 并没有形成独立的长期状态建模,长期行为更可能是 cost map 在训练分布附近的结构化 retrieval。
Takeaway
- 1. 最值得迁移的 insight:不要让 RL policy 直接输出 action;让它输出一个可求解控制问题的局部代价/参数,再由优化器产生 action。
- 这是把 learning capacity 用在“任务塑形”,把 model-based prior 用在“动作生成”。
- 2. 短 horizon MPC 不一定需要解决长期规划。
- 只要 critic/cost map 能提供长时任务信号,MPC 作为局部 feasibility projector 就已经能显著改善 OOD 行为。
一句话总结
这篇论文把 actor 从黑盒动作网络改造成“学习代价的可微 MPC”,在已知动力学的极限四旋翼控制中证明了 optimization-layer policy 可以保留 RL 的任务优化能力,同时显著增强物理外推和部署鲁棒性。
