4. PID 基础理论:比例、积分、微分的作用与调参逻辑
聊到飞控调参,PID 是绕不开的核心。很多新手一上来就盯着 P、I、D 三个系数乱改,结果飞机要么抖得像筛子,要么飘得像风筝。其实 PID 没那么玄乎,说白了就是三个“纠错员”在干活。
我个人习惯把 PID 比作一个团队:比例是那个看到偏差就猛推的急性子,积分是记仇的老会计,微分则是预判未来的分析师。今天咱们就把这三个角色拆开揉碎,讲讲它们各自怎么工作,以及调参时到底该动谁。
4.1 比例控制(P)—— 最直接的纠错力
比例控制是 PID 里最直观的部分。它的公式很简单:输出 = Kp × 偏差。偏差越大,输出越大。
举个例子:你让飞机悬停在 10 米高度,结果它掉到了 9.5 米。偏差是 -0.5 米,P 项就会给一个向上的力把它拉回去。偏差越大,拉力越猛。
关键点:P 项永远无法消除静差。为什么?因为当飞机回到目标高度时,偏差为 0,P 项输出也为 0。如果没有其他项帮忙,飞机会再次掉下去,最终在目标值附近来回晃悠。
我在项目中遇到过一架四旋翼,P 项调得太大,起飞时直接翻了。嗯,这就是 P 过大的典型症状——系统震荡甚至发散。P 太小呢?飞机反应迟钝,像喝醉了酒。
| P 值状态 | 表现 | 典型场景 |
|---|---|---|
| P 太小 | 响应慢,回中无力,悬停飘忽 | 新手默认参数,感觉“肉” |
| P 适中 | 快速回中,轻微超调后稳定 | 正常飞行手感,干脆利落 |
| P 太大 | 高频抖动,甚至发散炸机 | 盲目加 P 导致震荡 |
4.2 积分控制(I)—— 专治“老顽固”
积分项解决的是 P 项搞不定的静差问题。它把过去所有的偏差累加起来,只要偏差一直存在,I 项就会持续增加输出,直到偏差归零。
你想想看:如果飞机重心偏了,或者有持续的风吹着,P 项只能对抗一部分,剩下的偏差会一直留着。这时候 I 项就上场了——它慢慢积累,最终把飞机拉回目标位置。
我曾经踩过的坑:有一次给固定翼调参,I 项设得太大,结果飞机在巡航时出现了低频“海豚跳”。原因是积分饱和——偏差积累太多,即使偏差消失了,I 项还在输出,导致过冲。后来加了积分限幅和抗饱和逻辑才解决。
积分项的调参逻辑其实很简单:
- I 太小:静差消除慢,悬停时高度慢慢漂移
- I 适中:偏差在几秒内被拉回,手感自然
- I 太大:超调明显,甚至出现低频震荡(周期几秒那种)
4.3 微分控制(D)—— 给系统装个“阻尼器”
微分项看的是偏差的变化率,也就是偏差“变得有多快”。它相当于一个预测器:如果偏差正在快速减小,D 项会提前刹车,防止超调。
说白了,D 项就是给系统加阻尼。没有 D 项,飞机像没有减震的汽车,过个坎能颠半天。有了合适的 D 项,系统变得“黏糊”,动作更平滑。
个人经验:多旋翼的角速度环(内环)通常需要较强的 D 项来抑制震荡。但 D 项对噪声极其敏感——如果飞控的陀螺仪数据有高频噪声,D 项会把噪声放大成抖舵。我一般会在 D 项前面加一个低通滤波器,截止频率设在 20-30 Hz 左右。
调 D 项时记住一句话:D 是刹车,不是油门。D 太大,飞机会变得“僵硬”,打杆响应迟钝;D 太小,超调明显,回中时晃悠两下才稳住。
4.4 PID 调参逻辑:先 P 再 I 后 D
调参顺序几乎是行业共识:先调 P,再加 D,最后补 I。为什么是这个顺序?
- 先调 P:让系统能响应,找到基本稳定的范围。P 太小没反应,P 太大震荡,找到临界值再退 20-30% 作为起始点。
- 加 D 抑制超调:P 调好后,系统会有超调。慢慢加 D,直到超调被压住,响应曲线变得平滑。
- 最后补 I 消静差:P 和 D 配合好了,系统响应快且不超调,但可能有静差。加 I 项把静差吃掉,注意不要加太多导致积分饱和。
避坑指南:千万不要同时调两个参数。每次只改一个,观察响应,记录数据。我在 PX4 的日志里见过太多人同时改了 P 和 I,结果震荡了不知道是哪个参数的问题。
4.5 PX4 中的 PID 实现与参数映射
在 PX4 里,PID 参数分布在多个参数组中。以多旋翼为例,最常用的是:
| 控制环 | 比例参数 | 积分参数 | 微分参数 |
|---|---|---|---|
| 角速度环(内环) | MC_ROLLRATE_P | MC_ROLLRATE_I | MC_ROLLRATE_D |
| 角度环(外环) | MC_ROLL_P | MC_ROLL_I | MC_ROLL_D |
| 位置环 | MC_POS_P | MC_POS_I | MC_POS_D |
注意:PX4 的外环(角度环)通常只用 P 项,I 和 D 默认是 0。内环(角速度环)才是 PID 全开的。这个设计是有道理的——外环响应慢,积分容易导致超调,微分容易放大噪声。
4.6 核心知识框架
下面这张图总结了 PID 三个环节的作用和调参逻辑,方便你对照理解:
4.7 实战调参小技巧
最后分享几个我在 PX4 上调参时常用的方法:
- 用遥控器打阶跃信号:快速打杆然后回中,观察飞机的响应曲线。好的响应是快速回中且不超调。
- 看日志里的“tracking error”:PX4 的 ulog 里记录了期望值和实际值的偏差,这是调参的直接依据。
- 从内环往外环调:先调角速度环(内环),再调角度环(外环),最后调位置环。内环是基础,内环不稳,外环怎么调都没用。
一个小工具:我习惯在 QGroundControl 里打开“实时曲线”面板,同时显示期望值和实际值的曲线。调 P 时看响应速度,调 D 时看超调量,调 I 时看静差消除时间。比光靠手感靠谱多了。