1. 姿态控制基础:理解P、I、D三个参数在飞行控制中的物理意义
各位同学,欢迎来到这门课的第一章。咱们今天不聊虚的,直接切入飞控最核心的东西——PID。
很多人一听到PID就头大,觉得是数学公式堆出来的东西。其实没那么玄乎。我刚开始做飞控的时候,也对着这三个字母发过呆。后来调了几年机,摔过几架飞机,才真正明白它们到底在干什么。
说白了,PID就是一个“纠偏器”。飞机在天上飞,风一吹就歪了,它得自己修正回来。怎么修正?就是靠这三个参数配合着干活。
核心一句话:P是“现在错了多少”,I是“过去错了多久”,D是“未来会错多快”。
1.1 P——比例控制:反应有多快
P,全称Proportional,比例控制。它的物理意义很简单:偏差越大,修正力越大。
举个例子。你用手托着一根长杆,杆子往右倒,你就往左推。倒得越厉害,你推得越猛。这就是P在干活。
在飞控里,P的值决定了飞机对姿态偏差的敏感程度。P设大了,飞机反应快,但容易“过头”——就像你推杆子推猛了,杆子又往另一边倒,来回晃。P设小了,飞机反应慢,风一吹就飘走了,稳不住。
我的经验:调P的时候,我习惯先给一个保守值,然后慢慢往上加,直到飞机出现轻微的高频抖动,再往回退10%-15%。那个点,就是P的甜区。
1.2 I——积分控制:把静差吃掉
I,全称Integral,积分控制。它的任务是解决P搞不定的问题——静态误差。
什么叫静态误差?你想想看,飞机重心偏了,或者有持续的风吹着,P会一直推,但推到最后发现,还是差那么一点点回不到水平。为什么?因为P的修正力跟偏差成正比,偏差小了,修正力也小了,最后就卡在那儿了。
I的作用就是“记账”。它把过去一段时间里所有的偏差累加起来,然后给一个额外的修正力,直到偏差彻底消失。
我在项目中遇到过一架四轴,悬停时总是往左偏5度。P调了好几轮都没用。后来加了点I,飞机自己就慢慢回正了。嗯,这就是I的功劳。
注意:I不是越大越好。I太大了,飞机会出现“低频晃动”——像坐船一样,一浪一浪的。我曾经吃过这个亏,调完I没试飞就上了,结果飞机在天上晃得跟喝醉了似的。
1.3 D——微分控制:提前刹车
D,全称Derivative,微分控制。它的作用是预测未来。
D看的是偏差的变化率。偏差在快速变大,D就提前给一个反向力,把趋势压住。偏差在快速变小,D就收力,防止过冲。
你可以把D想象成汽车的减震器。没有D,飞机就像没有减震的车,过个坎能颠半天。有了D,飞机就稳了,动作也干净了。
我个人习惯,在调完P和I之后,最后才动D。D的值一般很小,但效果很明显。加多了,飞机会变得“僵硬”,反应迟钝,甚至出现高频噪声。
| 参数 | 物理意义 | 设太大 | 设太小 |
|---|---|---|---|
| P | 当前偏差的即时反应 | 高频抖动、震荡 | 反应慢、回中无力 |
| I | 消除长期累积的静差 | 低频晃动、超调 | 悬停偏航、无法回中 |
| D | 抑制偏差变化趋势 | 动作僵硬、噪声放大 | 过冲、震荡衰减慢 |
1.4 三个参数怎么配合?
P、I、D不是各自为战的。它们是一个团队。
P冲在最前面,看到偏差就推。I在后面兜底,把P没推干净的部分吃掉。D在旁边盯着,发现势头不对就喊停。
你想想看,如果没有D,P推猛了,飞机就会来回晃。如果没有I,P推到最后,飞机永远差那么一点点。三个参数缺一个,飞机都飞不稳。
下面这张图,是我自己总结的PID调参逻辑。每次调机前,我都会在脑子里过一遍这个流程。
1.5 在QGC里怎么看这三个参数?
打开QGC地面站,进入参数列表,搜索这几个关键词:
- MC_ROLL_P、MC_PITCH_P、MC_YAW_P —— 横滚、俯仰、偏航的P值
- MC_ROLL_I、MC_PITCH_I、MC_YAW_I —— 对应的I值
- MC_ROLL_D、MC_PITCH_D、MC_YAW_D —— 对应的D值
这些参数默认值一般都能飞,但要想飞得稳、飞得顺,就得根据你的机架、重量、重心来微调。
一个小技巧:在QGC里调参时,每次只改一个轴的一个参数。改完保存,飞一下,看效果。别一次改一堆,不然出了问题你都不知道是哪个参数惹的祸。我早期就犯过这个错,一次改了三个参数,飞机炸了都不知道该怪谁。
1.6 避坑指南
最后,分享几个我踩过的坑:
- P和I不要同时加。先定P,再加I。两个一起动,你分不清是谁引起的震荡。
- D不是越大越好。D大了,飞控会放大传感器噪声,电机嗡嗡响,电池发热快。
- Yaw轴的I可以大一点。偏航轴受风影响小,I大一点能更好地锁住机头方向。
- 每次改完参数,一定要做一次完整的起飞-悬停-降落测试。别偷懒,我吃过亏。