162、飞控中的最优控制:动态规划与HJB方程

162、飞控中的最优控制:动态规划与HJB方程

飞控中的最优控制:动态规划与HJB方程

从一次炸机说起

去年夏天调试一架四轴,悬停时突然出现高频抖动,PID参数调了三天,从P到D到前馈,能试的组合都试了,结果还是抖。最后发现不是PID的问题——是电机响应滞后导致相位裕度不够,但更根本的问题是:我们一直在用“当前误差”做控制,而忽略了“未来状态”的代价。

那次之后我开始认真研究最优控制。飞控的本质不是“让误差归零”,而是“在能量、时间、稳定性之间找到一条最优路径”。动态规划和HJB方程就是干这个的。

为什么PID不够用

PID是反馈控制,它只看当前时刻的误差。但飞控系统有惯性、有延迟、有能量约束。比如一个急转弯动作,PID会拼命拉杆,结果过冲、震荡、甚至炸机。最优控制会提前规划:未来3秒内,我该以什么角度、什么速度、什么油门去完成这个转弯,同时保证姿态不超限、电机不饱和。

动态规划(DP)和HJB方程(Hamilton-Jacobi-Bellman)是解决这类问题的数学工具。DP是离散的、数值的,HJB是连续的、解析的。飞控里两者都会用到,但HJB更接近理论本质。

动态规划:从状态空间暴力搜索

动态规划的核心思想很简单:最优策略的子策略也是最优的。翻译成飞控语言:如果从A点到B点的最优路径经过了C点,那么从C点到B点的路径也一定是最优的。

实际应用中,我们把状态空间离散化。比如四轴的高度从0到100米,每隔0.1米一个格子;速度从-10到10米/秒,每隔0.5米/秒一个格子。然后从目标状态反向递