精读笔记

Problem Setting

这篇论文解决的不是一般意义上的“用学习提升四旋翼控制”,而是一个更具体的估计器调参问题:在鲁棒飞行控制中,外部扰动、未建模气动、载荷变化、推力误差等都需要被在线估计并补偿,但扰动统计特性随状态和环境变化,固定滤波器/MHE 权重很快失效。

真正困难点在于:MHE 的估计质量高度依赖 arrival cost、measurement cost、process noise cost 的权重,而这些权重既数量多、耦合强,又与状态和场景相关。手工调参本质上是在调估计器对模型、测量、扰动变化率的信任分配;一旦扰动动态改变,固定权重只能折中。

以前方法卡在两端:UKF/MHE 类方法有结构和稳定直觉,但调协方差困难;DNN/NeuroBEM/PI-TCN 类方法可以拟合复杂气动,但需要大量扰动真值或专门传感信号,且面对载荷变化、推力衰减等模型变化时不一定可靠。关键矛盾是:想要在线适应,但又不想直接学习一个高维、场景强相关的扰动模型;想用控制误差训练,但估计器本身又是一个优化问题,难以高效反传。

Motivation

作者的核心动机是把“估计器调参”从经验工程变成可微优化。MHE 本身已经提供了很强的 inductive bias:动力学约束、有限窗口记忆、对测量噪声和过程噪声的显式权衡。但传统 MHE 最弱的一环正是权重矩阵,它们理论上类似噪声协方差的逆,实践中却很难知道,并且往往不是常数。

已有神经网络扰动估计器缺的不是表达能力,而是结构化约束和低数据学习能力。直接学习扰动函数需要覆盖足够多的飞行状态和环境;而如果只学习 MHE 权重,NN 只需学习“在当前状态下应该相信测量还是相信模型、允许扰动变化多快”。这个学习目标更低维,也更接近控制中的在线信任分配。

关键缺口是可微 MHE。已有 differentiable optimization/MPC 思路可以反传优化层,但直接通过 MHE 的 KKT 大系统求梯度对 horizon 不友好。本文的动机可以概括为:保留 MHE 的模型约束,把非平稳性放进可学习权重,并用高效解析梯度让这个系统可以从 tracking loss 训练。

Core Idea

NeuroMHE 的真正核心是将神经网络放在 MHE 的“权重生成器”位置,而不是扰动预测器位置。NN 根据当前状态或外部信号输出 MHE 权重及遗忘因子;MHE 再利用动力学模型、测量窗口和随机游走扰动模型求解当前状态与扰动。这样信息流被重新组织为:状态/测量 → NN 产生信任结构 → MHE 在物理约束下估计扰动 → 控制器补偿扰动。

这个设计引入的归纳偏置很明确:扰动可以复杂,但估计过程必须遵守 nominal dynamics;神经网络不必记忆具体扰动模式,只需调节估计器的响应速度和平滑程度。这比直接学习扰动更可能泛化到内部不确定性、推力误差、载荷变化等场景,因为这些变化都可以被扩展状态中的 disturbance channel 吸收。

本质区别在于 prior 多数试图学习“系统外力/残差模型”,而本文学习“估计器如何使用模型和数据”。这类方法的优势不是单步推理能力,而是 test-time optimization + structured memory:每个时刻解一个 MHE,利用最近窗口重新解释测量历史。

Method

1. 扰动作为扩展状态 + 随机游走:这解决的是扰动来源不可枚举的问题。随机游走不是精确模型,而是给 MHE 一个可调的过程噪声通道;权重 Q 控制扰动变化的快慢。它的核心作用是把未知外力变成可估计 latent state。

2. NN 生成自适应权重:这解决的是固定权重无法适应状态相关噪声/扰动的问题。NN 输出 P、R、Q 的稀疏参数化版本以及遗忘因子,使 horizon 内不同时刻的 cost 权重可变。核心变化是 MHE 的时间尺度和信任分配变成状态条件化策略。

3. 解析梯度通过 KKT 隐式微分获得:这解决的是 MHE 不可直接作为普通网络层训练的问题。作者对 MHE 最优性条件求导,得到 MHE 解对权重的敏感度。

4. 微分 KKT 转成辅助线性二次 MHE,并用 Kalman 递推求解:这是论文最实质的算法贡献。它避免直接求大 KKT 逆,使梯度计算复杂度随 horizon 线性增长。这里的 KF 不是新的估计器,而是梯度求解器。

5. 从 tracking loss 训练:这解决的是扰动真值难获得的问题。训练信号来自控制目标,而不是监督扰动标签。这样估计器被优化为服务闭环控制,但也意味着估计准确性和控制性能之间可能存在不完全一致。

Key Insight / Why It Works

最重要的 insight 是:MHE 权重不是普通超参数,而是估计器的“动态信任策略”。如果扰动/噪声协方差随状态变化,那么最优估计器本身也应状态相关。NeuroMHE 有效,很大程度来自把这个策略低维化并神经化,而不是来自 NN 的大规模表达能力。

真正核心贡献是可微 MHE 的高效梯度。没有 KF-style 递推,训练 NN 权重生成器会变成昂贵的 differentiable optimization layer,horizon 稍长就不现实。本文把微分 KKT 系统解释为辅助 LQ MHE,这一点很漂亮:它利用了原问题的时序结构,而不是把 KKT 当成黑盒线性系统求逆。

效果来源可拆成几部分: - better inductive bias:主要来源。扰动估计受动力学模型和滑动窗口约束,NN 只调信任结构,因此数据效率明显高于直接学习气动残差。 - test-time compute / memory reuse:很重要。每一步都解 MHE,相当于用最近窗口重新优化 latent disturbance,而不是一次前馈预测。 - representation alignment:NN 输出的是 P/R/Q/forgetting factors,这些变量和估计误差-响应速度 tradeoff 对齐,比输出扰动本身更适合从 tracking loss 学。 - engineering/scaling:稀疏对角权重、固定某些尺度、gradient clipping、spectral normalization、barrier constraints 都是重要工程稳定器;它们不是核心理论贡献,但对结果可能很关键。

需要谨慎的是,仿真里 NeuroMHE 对 DMHE 的优势主要证明了“状态相关权重”有用;真机里对 L1 的优势则混入了控制架构差异和扰动反演误差。论文的主结论成立,但部分增益归因不完全干净。

Relation To Prior Work

这篇最接近三条线:MHE/UKF 扰动估计、differentiable optimization/MPC/OptNet、以及神经网络气动/残差模型。

相对 UKF/MHE,新增点不是扰动随机游走,也不是滑动窗口估计,而是把权重矩阵做成可学习、状态相关,并提供可扩展梯度求法。传统滤波调协方差靠人工经验;这里把它变成从任务损失学习的 policy。

相对 NeuroBEM/PI-TCN,核心差异是学习对象不同。NeuroBEM 学 aerodynamic residual,需要 motor speed 等输入和大量真值数据;NeuroMHE 学 estimator weighting,扰动由 MHE 在线反演。前者更像 dynamics model learning,后者更像 adaptive Bayesian/MHE inference policy learning。

相对 differentiable MPC/OptNet,思想并不全新:通过 KKT 隐式微分优化层早已有之。实质创新在于利用 MHE 的时序结构,把梯度系统转化为可递推的 KF-like solver,而不是直接求解整体 KKT 逆;并且把它落到飞行扰动估计与闭环控制上。

相对 L1 adaptive control,NeuroMHE 没有同等稳定性保证,但估计表达更灵活,尤其能通过状态相关权重处理非平稳扰动。L1 的优势是理论和实时性;NeuroMHE 的优势是估计质量和任务适应。

Dataset / Evaluation

评估覆盖度较好,包含三类证据:真实 agile/extreme flight 数据上的离线扰动估计,合成状态相关噪声下的闭环仿真训练与测试,真实四旋翼上的 cable force 与 downwash/fan 干扰实验。这比单一 benchmark 更能支撑“跨场景扰动估计 + 鲁棒控制”的 claim。

NeuroBEM 数据集实验主要验证数据效率和估计精度。这里比较有说服力,因为训练数据远少于 NeuroBEM,且测试轨迹更激烈。但也要注意,两者输入信息不同、模型假设不同,NeuroMHE 使用 MHE 在线优化,NeuroBEM 是前馈估计器,比较并非纯粹模型容量对比。

仿真中状态相关噪声的设定很好地验证了 adaptive weighting 的必要性,因为固定权重 MHE 在这种 setting 下天然吃亏。这个实验支持核心机制,但也偏向作者方法:噪声协方差正是状态函数,而 NN 输入状态并输出近似 inverse covariance,问题结构高度匹配。

真机实验是论文的重要加分项,尤其是直接集成 PX4、处理 cable 和 downwash。它验证了方法不是纯离线算法。不过真实实验中运行频率低,且 disturbance ground truth 由动力学反演和滤波得到,估计误差评估本身有噪声;另外实际估计的是外扰加内部推力误差 aggregate disturbance,这对控制有用,但不等于物理扰动分解准确。

Limitation

1. 计算上限很硬。NeuroMHE 依赖在线 nonlinear optimization,真机 25 Hz 只能支撑外环位置控制;高频姿态/力矩补偿基本不可行,除非有更强硬件或专门优化 solver。这不是小工程问题,而是方法范式的代价。

2. 稳定性没有理论闭环保证。MHE 本身、NN 生成权重、tracking-loss 训练、扰动补偿控制器组合后,稳定性分析缺失。相比 L1-AC,这是明显短板。

3. 泛化不是无条件的。方法泛化主要来自 nominal model + online optimization,而不是 NN 学到通用扰动模型。若 nominal dynamics 错得太多、测量延迟/噪声显著、扰动不适合随机游走通道吸收,性能会下降。

4. 增益归因不完全清晰。NeuroMHE 相比 L1 的优势部分来自更主动的控制架构,即估计扰动后同时调整 desired attitude;论文也承认 Active L1 可以采用类似结构。因此 estimator 本身的优势和 controller architecture 的优势没有完全解耦。

5. 训练目标可能偏控制而非物理估计。用 tracking error 训练很实用,但可能学到的是让闭环表现好的权重,而不是物理最准确扰动。某些情况下估计 bias 可能被控制器吸收,导致估计指标和控制指标不一致。

6. 约束处理是近似的。soft barrier 避免 active-set 切换带来的不可微问题,但真实约束接近边界时数值稳定性和梯度质量仍可能脆弱。文中未充分说明在强约束频繁激活场景下的表现。

7. 真实 disturbance 真值不干净。真机实验中的 ground truth disturbance 由加速度反演得到,还包含 commanded thrust 与真实 thrust 的差异。作为控制补偿对象合理,但作为纯估计 benchmark 有偏差。

Takeaway

  • 1. 最值得迁移的思想:不要总是让 NN 直接学未知动力学;在有强模型结构的系统里,让 NN 学 estimator/controller 的信任分配,往往更数据高效、更可解释。
  • 2. Differentiable estimation 的关键不只是“可微”,而是利用时间结构高效反传。
  • 把微分 KKT 系统重写成递推滤波器,是这篇最有价值的技术模式。
  • 3. 对鲁棒控制而言,估计器可以直接从闭环任务损失训练,不一定需要扰动真值。

一句话总结

Neural Moving Horizon Estimation for Robust Flight Control 是一篇把 MHE 从手工调权的鲁棒估计器推进为可微、可学习、状态自适应估计层的工作,其真正贡献在于用 KF-style 递推高效反传 MHE 权重,而不是简单地用神经网络预测扰动。