调参方法论:先调P、再调D、最后调I的黄金顺序

很多新手拿到飞机,上来就对着PID三个参数一顿乱拧。结果呢?飞机要么抖得像筛糠,要么反应慢半拍。我刚开始做飞控那会儿也犯过这毛病——调了一下午,电池都换了两块,飞机还是没法平稳悬停。

后来带我的老师傅跟我说了一句话,我到现在都记得:「调参不是调音台,别三个旋钮一起拧。」

说白了,PID调参是有顺序的。这个顺序不是我发明的,是无数工程师用炸机换来的经验。今天我就把这个黄金顺序掰开了讲给你听。

为什么是P→D→I?

先想一个问题:飞机为什么不稳?

因为外界有干扰,比如风。飞控要对抗干扰,就得先知道「偏差有多大」。这个任务,就是P的活。

P(比例)负责响应当前的偏差。你想想看,如果P都没调好,飞机连基本的回正力都没有,你调D和I有什么用?

D(微分)负责预测偏差的变化趋势。它像是一个「阻尼器」,抑制P带来的超调和震荡。但D对噪声非常敏感——我曾在项目里遇到过,P刚调稳,一加D反而开始高频抖动,最后发现是IMU的振动噪声没滤干净。

I(积分)负责消除稳态误差。说白了,就是当P和D都搞不定的那点「偏航角」,靠I慢慢把它拉回来。但I有滞后性,调大了会引入低频振荡。

核心逻辑:

  • P 决定飞机的「刚性」——能不能快速回正
  • D 决定飞机的「韧性」——回正时会不会过头
  • I 决定飞机的「准头」——最终能不能停在目标位置

所以顺序很明确:先把P调到飞机能飞,再用D把飞机稳住,最后用I把误差抹掉。

第一步:调P——找到飞机的「刚性」

调P之前,先把D和I归零。对,就是设成0。

然后慢慢增大P值。怎么判断P合适?我教你一个土办法:

  1. 用手轻轻推一下飞机(注意安全,桨别伤人)
  2. 观察飞机回正的速度和幅度
  3. 如果回正很慢,甚至不回正——P太小
  4. 如果回正很快,但来回晃几下才停——P偏大,但接近临界了
  5. 如果飞机开始高频抖动——P太大了,赶紧降下来

我的经验值:

对于250mm轴距左右的四轴,P的起始值我一般设在0.03~0.05(角速度环)。如果飞机悬停时肉眼可见地「点头」,那就是P偏大。我曾经调一架450轴距的机架,P从0.02一直试到0.08才找到感觉——不同机架差别真的很大。

调P的目标是什么?让飞机在受到扰动后,能快速回正,且最多只超调1~2次就稳定下来。

第二步:调D——给飞机加「阻尼」

P调好了,飞机应该能飞了,但可能有点「贼」——稍微动一下摇杆,飞机就反应过度。这时候就该D上场了。

D的作用是抑制变化速度。你想想看,当飞机快速回正时,D会提前「踩刹车」,防止它冲过头。

调D的方法:

  1. 保持P不变,从0开始慢慢增加D
  2. 同样用手推飞机,观察回正过程
  3. 如果回正时不再超调,而是平滑地回到目标位置——D合适
  4. 如果飞机开始高频抖动(注意,和P过大的抖动不同,D的抖动频率更高)——D太大了

避坑指南:

我曾经在调试一架搭载了GoPro的六轴时,D稍微加了一点,飞机就开始剧烈抖动。查了半天才发现,是GoPro的安装支架有共振。D对高频振动特别敏感,如果你的飞机结构刚性不够,D值一定要保守。我现在的习惯是:D值不超过P值的1/3,除非机架非常硬朗。

调D的目标:让飞机回正过程平滑、无超调,像被一只无形的手稳稳托住。

第三步:调I——消除最后的「偏航」

P和D都调好了,飞机应该很稳了。但你可能发现一个问题:飞机悬停一段时间后,会慢慢往一个方向飘。这就是稳态误差。

I的作用就是累积这个误差,慢慢把它拉回来。

调I的方法:

  1. 保持P和D不变,从0开始增加I
  2. 让飞机悬停,观察它是否还会缓慢漂移
  3. 如果漂移消失——I合适
  4. 如果飞机开始低频摆动(周期2~3秒那种)——I太大了

小技巧:

调I的时候,可以故意让飞机偏一个角度,然后松手。如果飞机能自己慢慢回到水平,说明I在起作用。如果回来得太慢,I偏小;如果回来时过了头又开始摆,I偏大。我一般把I设为P的1/10到1/5作为起始值。

黄金顺序的完整流程

下面这张图,是我自己画的一个调参流程图。每次调新飞机,我都按这个步骤走,基本不会翻车。

PID调参黄金顺序流程图 开始调参 步骤1:D=0, I=0 只保留P,从0开始增加 P是否合适? (回正快,超调≤2次) 是 否,继续增大P 步骤2:调D P固定,增加D D是否合适? (无超调,无抖动) 否,继续增大D 步骤3:调I P、D固定,增加I I是否合适? (无漂移,无低频摆动) 否,继续增大I 调参完成 保存参数,飞行测试 是

一个完整的调参示例

假设你正在调一架四轴飞行器的横滚(Roll)通道。参数如下:

步骤 P D I 现象 操作
初始 0.00 0.00 0.00 飞机无法回正,一推就翻 增大P
第1轮 0.02 0.00 0.00 能回正,但很慢,像没吃饭 继续增大P
第2轮 0.05 0.00 0.00 回正快,但超调3次才稳定 P合适,开始加D
第3轮 0.05 0.01 0.00 超调减少到1次,但还有 继续增大D
第4轮 0.05 0.02 0.00 无超调,回正平滑 D合适,开始加I
第5轮 0.05 0.02 0.005 悬停10秒后开始缓慢漂移 继续增大I
第6轮 0.05 0.02 0.010 漂移消失,悬停稳定 调参完成

重要提醒:

上面的数值只是示例。不同机架、不同飞控、不同传感器,参数可能差一个数量级。我见过有人把P调到0.5还嫌小,也见过0.01就抖得不行。关键不是记住数值,而是理解现象和参数的关系。

为什么不能先调I?

这个问题我经常被问到。有人觉得,既然I能消除误差,为什么不先把它调好?

原因很简单:I会掩盖P和D的问题。

你想想看,如果P太小,飞机回正力不足,但I会慢慢把它拉回来。表面上看起来飞机是稳了,但实际上反应很迟钝——遇到阵风,飞机会先偏出去很远,然后被I慢慢拽回来。这种「假稳」在室内可能看不出来,一到室外有风的环境,飞机就像喝醉了酒。

我曾在项目里吃过这个亏。当时为了赶进度,先调了I让飞机「看起来稳」,结果试飞时一阵横风过来,飞机直接飘出去十几米才回来。从那以后,我再也不敢跳过P和D直接调I了。

调参时的几个实用技巧

  • 每次只改一个参数——改了P就别动D,改了D就别动I。否则你根本不知道是哪个参数引起的现象变化。
  • 记录每次的参数和现象——我习惯用个小本子记下来,或者直接在飞控的配置文件里写注释。调参是个迭代过程,记性靠不住。
  • 从内环到外环——如果你调的是姿态模式,先调角速度环(内环),再调角度环(外环)。内环是外环的基础,内环不稳,外环怎么调都没用。
  • 安全第一——调参时把飞机绑在测试架上,或者卸掉桨叶。我见过有人徒手抓飞机调参,结果P调大了,飞机直接翻过来打手——嗯,那滋味肯定不好受。

总结一下黄金顺序的核心思想:

P是骨架,D是肌肉,I是神经。先搭骨架,再长肌肉,最后连神经。顺序错了,飞机就长歪了。