065、鲁棒控制基础:H∞控制简介
飞控算法从入门到精通 | 065 鲁棒控制基础:H∞控制简介从一次炸机说起去年夏天,我在调试一款四旋翼的悬停模式。PID参数在仿真里跑得漂漂亮亮,真机一上天,风稍微大一点,飞机就开始抖,抖到后来直接翻了个跟头。落地后检查日志,发现电机输出在某个频率上出现了持续振荡——不是高频抖振,而是那种低频的、缓慢发散的模式。PID的积分项在拼命补偿,但越补越糟。后来我意识到,问题不在PID本身,而在于我设计的控制器对“模型误差”太敏感了。桨叶的磨损、电池电压的下降、甚至机臂上沾了一滴雨,都会改变系统的实际传递函数。PID的鲁棒性,说白了是靠“调参调出来的经验”,而不是靠“数学保证的边界”。那次之后,我开始认真研究H∞控制。这篇文章,就是我当时踩坑后整理出来的笔记。为什么需要H∞控制传统控制理论(比如极点配置、LQR)假设你有一个精确的数学模型。但飞控系统里,模型永远是错的——气动参数不准、执行器有延迟、传感器有噪声、结构有柔性模态。这些不确定性,用经典方法很难量化处理。H∞控制的核心思想很直接:设计一个控制器,使得从“扰动”到“被控输出”的传递函数的无穷范数最小化。无穷范数,通俗讲就是系统在整个频率范围内对扰动的最大增益。你压住这个最大值,就等于给系统的鲁棒性上了个保险。打个比方:PID像是你用手托着一个盘子,手抖了盘子就晃;H∞像是给盘子装了个弹簧阻尼系统,不管你怎么晃底座,盘子本身保持稳定。标准H∞问题的数学框架