3、PID控制基础:比例(P)控制原理、积分(I)控制原理、微分(D)控制原理、PID控制器结构

各位同学,今天我们来聊聊飞控里最核心的东西——PID控制。说实话,我入行那会儿,第一次调PID也是满头包。但搞懂了这三个字母背后的逻辑,你会发现飞控调参其实没那么玄乎。

咱们先看一张图,把PID的整体结构搞清楚,再一个一个拆开讲。

目标值 误差 e 反馈 比例 P 积分 I 微分 D 控制量 无人机 PID控制器结构图:误差 e 分别经过 P、I、D 三条支路,求和后输出控制量

比例(P)控制原理

比例控制,说白了就是「有多大错,使多大劲」。你想想看,无人机偏了10度,你给它一个纠正力;偏了20度,纠正力翻倍。这就是P的本质——误差乘以一个系数Kp。

公式很简单:P_out = Kp × e(t)

我个人习惯把Kp比作「弹簧刚度」。刚度越大,飞机回正越快。但刚度过大呢?飞机就会在目标位置来回震荡,像弹簧拉过头又弹回来。

关键点:P控制永远存在稳态误差。为什么?因为当误差变得很小时,P输出的力也很小,可能刚好被重力或风阻抵消,飞机就停在那了,永远到不了目标位置。

我在项目中遇到过一架四轴,悬停时总是偏东。我加大Kp,它确实回正快了,但风一来又开始抖。后来发现是重心偏了,P再大也救不了物理上的不平衡。

积分(I)控制原理

积分控制,就是用来干掉稳态误差的。它会把过去所有的误差累加起来,只要误差一直存在,积分项就会越来越大,直到把飞机推回正确位置。

公式:I_out = Ki × ∫e(t)dt

嗯,这里要注意。积分项是个「记仇」的家伙。你想想看,如果飞机被风吹偏了,积分项会一直累积,等风停了,它还在那使劲推,结果飞机就冲过头了。这就是我们常说的「积分饱和」。

避坑指南:我曾经在调试一款固定翼时,积分系数设得太大,结果飞机在巡航时出现低频晃动,像喝醉了酒。后来把积分限幅加上,问题才解决。记住:积分不是越大越好,它需要「限幅」和「防饱和」。

积分还有个好处——消除静差。比如你的无人机重心偏了,P控制永远差那么几度,积分项会慢慢补上这个差值。我一般先调好P,再一点点加I,加到飞机能稳定在目标位置就行。

微分(D)控制原理

微分控制,看的是误差的变化趋势。说白了,它是个「预言家」。误差在快速增大?微分项会提前输出一个反向力,阻止它继续恶化。

公式:D_out = Kd × de(t)/dt

我个人觉得,微分是PID里最「聪明」的一环。它不关心你现在偏了多少,只关心你偏得有多快。比如飞机突然被阵风吹歪,微分项会瞬间给出一个很大的阻尼力,把震荡压下去。

实战技巧:我调D的时候有个习惯——先让飞机轻微晃动,然后一点点加D,直到晃动被「吸住」。但D太大会引入高频噪声,因为传感器数据本身就有抖动,微分会把噪声放大。所以一般要配合低通滤波使用。

你想想看,如果没有D,飞机就像没有减震器的汽车,过个坎能颠半天。有了D,就像装了高级悬挂,晃一下就稳住了。

PID控制器结构

把上面三个合在一起,就是完整的PID控制器:

u(t) = Kp × e(t) + Ki × ∫e(t)dt + Kd × de(t)/dt

这个公式看着简单,但实际飞控里有很多变种。我常用的结构有几种:

结构类型 特点 适用场景
标准PID P、I、D都作用于误差 一般位置控制
PI控制器 去掉D,只有P和I 速度控制、噪声大的场景
PD控制器 去掉I,只有P和D 角度控制、快速响应场景
串级PID 内环角速度、外环角度 多旋翼姿态控制(最常用)

实际飞控里,我几乎不用标准PID直接控制姿态。为什么?因为角度环和角速度环的响应速度差太多。我习惯用串级PID——内环控制角速度(响应快),外环控制角度(响应慢),这样内外环互不干扰,调参也方便。

我的调参顺序:先调内环D(阻尼),再调内环P(响应),然后调外环P,最后加一点点I消除静差。这个顺序我用了十年,基本没翻过车。

最后说一句,PID不是万能的。遇到强风、大负载变化,PID可能力不从心。但作为飞控的基础,搞懂它,你就能解决90%的飞行问题。


专注资料整理