4. 经典控制回顾:PID控制原理、PID在飞行器控制中的应用、质量扰动下的PID失效分析
4.1 PID控制原理——老伙计,还是那么靠谱
说到PID,搞控制的人没有不熟的。我入行那会儿,第一个上手的控制器就是它。说白了,PID就是三个字:比例、积分、微分。
咱们先看公式:
u(t) = Kp * e(t) + Ki * ∫e(τ)dτ + Kd * de(t)/dt
这里面:
- Kp(比例):看当前误差有多大,误差大就使劲推。我习惯先调Kp,让它能快速响应。
- Ki(积分):消除稳态误差。你想想看,如果光靠比例推,最后总差那么一点点,积分就是干这个的。
- Kd(微分):预测误差的变化趋势。误差在变大?提前刹车。误差在变小?别冲过头。
我在项目中遇到过一件事:有个四旋翼,调完Kp和Ki后悬停还行,但一遇到阵风就晃得厉害。后来加了点Kd,立马稳了。嗯,这就是微分的魅力。
核心要点:PID三个参数各司其职。Kp决定响应速度,Ki消除静差,Kd提供阻尼。调参顺序我个人建议:先P,再I,最后D。
4.2 PID在飞行器控制中的应用
飞行器控制里,PID用得最多的就是姿态控制和高度控制。拿四旋翼举例:
- 内环(角速率环):控制角速度,响应最快。一般用PD就够了。
- 外环(角度环):控制姿态角,响应稍慢。这里需要加积分项消除稳态误差。
- 高度环:控制垂直速度或高度。注意,高度环通常要加前馈,不然油门响应太慢。
我见过不少新手,上来就调外环,结果内环没调好,飞机跟喝醉了似的。记住:先内后外,先P后I再D。
避坑指南:我曾经在调参时把积分限幅设得太小,结果飞机一直飘。后来发现是积分饱和了。建议积分限幅设为最大控制量的20%-30%。
4.3 质量扰动下的PID失效分析
好了,重点来了。为什么PID在质量变化时会失效?
你想想看,飞行器的动力学模型里,质量m是直接出现在分母上的:
加速度 = 力 / 质量
PID的参数是基于某个固定质量m0调好的。当质量变成m0 + Δm时,系统的增益就变了。具体来说:
- 比例增益Kp相对变小:同样的误差,产生的加速度变小了。响应变慢。
- 积分作用变弱:消除稳态误差需要更长时间。
- 微分作用失真:阻尼效果变差,容易超调甚至振荡。
我在项目中遇到过一架植保无人机,满载时50kg,空载时30kg。用同一套PID参数,满载时响应迟钝,空载时又抖得厉害。这就是典型的质量扰动问题。
警告:质量变化超过20%时,固定PID参数基本无法保证控制品质。轻则响应变差,重则发散振荡。千万别指望PID能扛住大范围的质量变化。
为什么会这样?因为PID本质上是一个线性控制器,它假设系统参数是固定的。而质量变化直接改变了系统的动态特性,相当于换了一个被控对象。你想想看,用同一把钥匙开两把不同的锁,能行吗?
下面这张图展示了质量变化对PID控制效果的影响:
从图中可以清楚看到:
- 质量增加:响应变慢,超调减小,但调节时间变长。
- 质量减少:响应变快,超调增大,甚至出现振荡。
这两种情况,对于飞行器来说都是致命的。质量增加时,你可能觉得飞机"肉肉的",操控不跟手;质量减少时,飞机可能突然变得"神经质",稍微一动就剧烈反应。
我的经验:如果你非要用固定PID应对质量变化,建议把参数往"保守"了调。牺牲一点响应速度,换取稳定性。但说实话,这只是权宜之计。真正要解决问题,还得上自适应控制。
好了,这一节就到这里。PID虽然经典,但面对质量扰动确实力不从心。下一节我们会聊聊更高级的控制方法,看看怎么让飞行器自己学会适应质量变化。
公众号:蓝海资料掘金营,微信deep3321