偏航控制算法参数整定秘诀:第一章 PID控制基础
1.1 比例(P)控制:最直接的响应
比例控制,说白了就是「偏差越大,输出越大」。你想想看,无人机偏航了10度,那就给一个对应的修正力矩。偏了20度,力矩翻倍。就这么简单。
我在项目中遇到过一件事。有一次调试四旋翼,P值设得太小,飞机转个弯慢得像老牛拉车。后来把P调大,响应快了,但机身开始抖。嗯,这就是比例控制的典型问题——过犹不及。
核心公式:u(t) = Kp * e(t)
其中 e(t) 是当前偏航角误差,Kp 是比例增益。
比例控制有个硬伤——稳态误差。什么意思?就是飞机最终停下来的位置,跟目标总差那么一点点。为什么?因为当误差很小时,比例输出也很小,小到不足以克服摩擦力或风阻。这时候,就需要积分出马了。
1.2 积分(I)控制:消除静差的高手
积分控制,说白了就是「算总账」。它把过去所有的误差累加起来,误差存在越久,输出越大。直到误差被彻底消除。
我曾经调试一台工业机器人,比例控制怎么调都有0.5度的偏航误差。客户要求0.1度以内。怎么办?加上积分项,问题迎刃而解。但注意——积分太强会引发震荡。
我的习惯:先调好P,再慢慢加I。I值从0.1倍P值开始试,别贪心。
积分还有个坑叫「积分饱和」。比如无人机被卡住了,误差一直存在,积分值越积越大。等障碍物消失,积分输出会瞬间让飞机猛转,搞不好就翻机。解决办法?加个积分限幅,或者用条件积分。
1.3 微分(D)控制:提前预判的智慧
微分控制看的是误差的变化趋势。误差在快速增大?那就加大输出把它压住。误差在减小?那就收一收,别冲过头。
你可以把D想象成一个「刹车」。没有D的PID,就像开车只踩油门不踩刹车——到了目标点也停不住,来回晃悠。
注意:微分对噪声极其敏感。传感器信号稍微抖一下,微分输出就会剧烈跳动。我建议一定要对偏航角速度做低通滤波,否则D项会让你怀疑人生。
实际项目中,我一般先不加D,等P和I调稳了,再一点点加D来抑制超调。D值通常比P值小一个数量级。
1.4 PID控制器结构
标准PID的数学形式长这样:
u(t) = Kp * e(t) + Ki * ∫e(t)dt + Kd * de(t)/dt
但在工程中,我们常用的是位置式PID和增量式PID两种结构。
| 类型 | 特点 | 适用场景 |
|---|---|---|
| 位置式PID | 输出直接是控制量,需要积分限幅 | 电机、舵机等执行器 |
| 增量式PID | 输出是控制量的增量,无积分饱和问题 | 步进电机、数字控制系统 |
我个人偏爱增量式PID。为什么?因为它天然抗积分饱和,而且切换手动/自动模式时冲击小。但要注意,增量式PID需要保存上一次的输出值。
1.5 偏航PID控制框图
下面这张图,是我画的一个典型偏航控制回路。你看一眼就能明白整个信号流向。
这张图里,目标偏航角与实际偏航角做差,得到误差信号。误差进入PID控制器,经过比例、积分、微分三路运算后叠加,输出控制量给电机或舵机。电机驱动无人机转动,产生新的实际偏航角,再反馈回来。
你想想看,这个闭环每时每刻都在运行。控制周期通常是1ms到10ms。周期越短,控制越平滑,但对处理器要求也越高。
避坑指南:我曾经在偏航控制里忘记加负反馈,结果飞机一上电就疯狂自旋。检查了半天才发现,反馈符号搞反了。记住——负反馈是稳定的前提。
1.6 三个参数的协同关系
P、I、D不是各自为战,而是相互配合的。我总结了一个口诀:
- P决定响应速度——P越大,反应越快,但容易超调
- I消除稳态误差——I越大,静差消除越快,但可能引发低频振荡
- D抑制超调——D越大,刹车越猛,但会放大噪声
实际整定时,我习惯用「先P、再I、后D」的顺序。先把P调到临界振荡(飞机开始轻微抖动),然后退回来20%。再加I消除静差。最后加D抑制超调。这套流程我用了十年,基本没翻过车。
重要提醒:偏航通道的响应通常比俯仰和横滚慢。因为偏航惯量大,而且气动阻尼小。所以偏航的P值可以适当大一些,但D值要小心,别引入高频噪声。
好了,这一章我们聊了PID的三个基本作用,以及偏航控制的基本结构。下一章我会带你手把手调参,从零开始让飞机稳稳转起来。