3. 基础PID回顾:P、I、D三项在姿态环中的作用,以及它们如何响应风扰
聊抗风调参,绕不开PID。很多新手一上来就盯着曲线猛调,结果越调越飘。我个人习惯是,先搞清楚每个参数到底在干什么,尤其是面对风这种“持续性外力”时,它们各自怎么反应。
说白了,姿态环的PID就是三个“纠偏员”。它们分工不同,性格也不同。咱们一个一个看。
3.1 P项:最直接的“硬拉”
P是比例控制。它的逻辑很简单:偏差越大,输出越大。
假设飞机悬停时,一阵横风把机身吹偏了5度。P项会立刻检测到这个角度偏差,然后输出一个与5度成正比的力矩,把飞机往回拉。
P项的核心特征:
- 响应快:风一来,它第一个动。
- 有静差:单靠P,永远拉不回完美的0度。因为偏差越小,P的输出越小,最后会停在某个“拉不动”的位置。
- 调太大就抖:P太猛,飞机会在目标位置来回震荡,像弹簧一样。
我在项目中遇到过一架机架偏软的六轴,P给到0.12就开始高频抖动。后来发现是机臂弹性变形和P项形成了共振。嗯,这里要注意,P不是越大越好,它和机架刚度是绑定的。
3.2 I项:专治“老偏”
I是积分控制。它干的是“算总账”的活——把过去所有的偏差累加起来,然后输出一个持续修正的力。
为什么需要I?你想想看,如果只有P,飞机被风吹偏了5度,P拉回来4.5度,剩下0.5度它拉不动了。这0.5度就是静差。I项会把这0.5度一点点累积起来,慢慢增加输出,直到把飞机彻底拉回水平。
I项在抗风中的角色:
风是持续的外力。P只能对抗“风的变化”,而I才能对抗“风本身”。比如持续侧风,P项只能减小偏差,但I项会持续输出一个反向力矩,让飞机顶着风保持水平。
我曾经调过一架测绘无人机,悬停时总是往一个方向偏2度。P怎么调都调不掉,最后发现是重心偏了。I项虽然能硬拉回来,但代价是积分饱和——飞控一直在“憋着劲”,一遇到突风就容易过冲。所以,I不是用来弥补机械缺陷的。
3.3 D项:预判未来的“阻尼器”
D是微分控制。它不看偏差有多大,而是看偏差变化得有多快。
风刚吹过来时,飞机开始加速偏转。D项检测到这个“偏转速度”,会提前输出一个反向力矩来“刹车”。它就像一个阻尼器,让飞机的动作更柔和、更收敛。
D项的陷阱:
- 对噪声极度敏感:飞控的陀螺仪数据如果带高频噪声,D项会把这些噪声放大成剧烈的电机抖动。
- 调太大机身发硬:D太大会让飞机像“冻住”了一样,反应迟钝,甚至出现高频啸叫。
我记得有一次在户外调一架穿越机,D给到0.035,飞起来手感很“黏”,转弯回正特别慢。后来发现是电机座减震垫太软,陀螺仪信号里混入了机架振动。把D降到0.025,手感立刻活了。
3.4 风扰下,PID三项的响应时序
为了让你更直观地理解,我画了一张图。它展示了从“风来”到“飞机恢复”的完整过程,以及P、I、D各自在哪个阶段发力。
3.5 三项参数对风扰的响应对比
我把它们对风扰的响应特征整理成了表格,方便你对照调参时参考。
| 参数 | 对突风的响应 | 对持续风的响应 | 调大的副作用 | 调小的副作用 |
|---|---|---|---|---|
| P | 立即输出大力矩,快速抑制偏转 | 无法完全消除静差 | 震荡、抖动、电机发烫 | 回正慢、手感软、抗风差 |
| I | 响应慢,初期几乎无作用 | 持续累积,最终消除静差 | 积分饱和、过冲、低频摆动 | 悬停偏、抗风弱、回不到原点 |
| D | 立即响应偏转速度,提供阻尼 | 无直接作用 | 噪声放大、机身发硬、高频啸叫 | 过冲大、收敛慢、容易晃 |
我的调参顺序建议:
先调P到“不抖但回正有力”,再加D到“过冲消失”,最后加I到“悬停不偏”。千万别上来就动I,否则你会被积分饱和坑得很惨。我曾经在风场里调一架六轴,I给大了,风一停飞机直接翻了180度——积分把风的力量全攒着,风没了它一口气全放出来了。
3.6 一个小实验:感受P和I的差异
如果你手边有飞机,可以试试这个:
- 把I设成0,只留P和D。悬停时用手推一下飞机,观察它回正的速度和最终位置。你会发现它回得很快,但停不到原点。
- 加上I,再推一次。这次它会慢慢回到原点,但回正过程可能有点“拖泥带水”。
- 把D调大一点,再推。你会发现回正过程更干脆,没有多余的晃动。
这个实验能让你直观感受到:P是力量,D是阻尼,I是耐心。抗风调参,就是平衡这三者的关系。