3. 认识 I(积分)参数:消除稳态误差的“老中医”

上一章我们聊了 P 参数,它像个急性子,看到偏差就猛推一把。但光有 P,飞机总会差那么一口气——悬停时微微往一边飘,定高时差个几厘米就是回不去。这个“差一口气”,就是我们常说的稳态误差。

今天的主角 I 参数,就是专门来治这个毛病的。我个人习惯把 I 比作“老中医”——它不着急,慢慢调理,但最后能把病根儿拔掉。

3.1 I 参数到底在干什么?

说白了,I 就是对过去所有偏差的“记仇本”。

P 只看当前偏差有多大,I 却把从起飞到现在每一瞬间的偏差都累加起来。只要偏差一直存在,这个累加值就会越来越大,最终输出一个持续增大的修正力,直到把偏差彻底消除。

核心公式(位置式 PID):

输出 = Kp × 偏差 + Ki × ∫偏差 dt + Kd × 偏差变化率

其中 ∫偏差 dt 就是积分项,Ki 是积分系数。

举个例子:你的四旋翼在悬停时,因为重心偏右,飞机总往左飘。P 参数会向右打舵,但飘移力一直存在,P 的修正总差一点。这时候 I 开始工作——它把“往左飘”这个偏差一秒一秒地累加,积分值越来越大,输出的右舵量也越来越大,直到飞机被拉回正中间。

3.2 消除稳态误差的原理

为什么 P 搞不定,I 就能搞定?

你想想看,P 的输出和当前偏差成正比。当偏差很小时,P 的输出也很小。如果外界有个恒定的干扰(比如风、重心偏移),这个微小的 P 输出刚好和干扰抵消,飞机就停在一个“有偏差但不动”的状态——这就是稳态误差。

I 不一样。它不管偏差多小,只要偏差存在,积分值就会一直增长。哪怕偏差只有 0.1 度,积分值从 0 开始,1 秒后是 0.1,10 秒后是 1.0,100 秒后是 10.0……输出会越来越大,直到把那个 0.1 度的偏差也吃掉。

我的经验:有一次调固定翼的俯仰通道,P 调到 0.15 后飞机平飞时总是低头 2 度。我加了很小的 I(0.01),飞了 3 个架次后看日志,发现积分项在 20 秒内慢慢把低头拉回来了。那之后我就养成一个习惯——先调 P 让飞机“能飞”,再加 I 让飞机“飞准”。

3.3 I 参数过大的现象

I 虽好,但贪多嚼不烂。Ki 太大,麻烦就来了。

现象 表现 原因
低频振荡 飞机像“荡秋千”,周期 2-5 秒来回晃 积分项输出过大,过冲后反向积分,形成持续震荡
积分饱和 大机动后回中缓慢,甚至“卡住”回不来 积分值累积到极限,输出被钳制,需要很长时间才能“消化”
超调严重 定高时冲过头,再拉回来,再冲过头 积分在接近目标时已经积累了很大的值,导致越过目标

我曾经踩过的坑:刚入行时调一架 450 轴距的四轴,悬停时发现飞机每隔 3 秒左右晃一下。我以为是 P 太大,减了又减还是晃。后来看日志才发现是 I 设了 0.08,积分项在每次晃动时都在“添油加醋”。把 I 降到 0.02,飞机立刻稳了。嗯,那次之后我调 I 都从很小的值开始加。

3.4 I 参数过小的现象

I 太小,或者干脆为 0,问题也很明显。

  • 稳态误差去不掉:飞机悬停时总往一个方向飘,定高时高度稳不住,始终差几厘米到十几厘米。
  • 抗风能力差:一阵风吹过来,飞机偏了,P 能拉回来一部分,但回不到原来的位置,会停在一个新的“平衡点”。
  • 长时间飞行后偏差累积:电池电压下降、重心变化等因素导致偏差逐渐增大,没有 I 来修正,飞机会越偏越远。

说白了,I 太小就像你开车时方向盘松了手——车能走直线,但遇到侧风就慢慢偏到隔壁车道去了。

3.5 I 参数的调校策略

我个人总结了一套“三步走”的方法,你可以试试看:

  1. 先关 I,调好 P:把 I 设为 0,只调 P 直到飞机响应迅速、不震荡。这时候飞机有稳态误差是正常的。
  2. 从很小的 I 开始加:一般从 P 值的 1/10 到 1/5 起步。比如 P=0.1,I 就从 0.01 开始试。
  3. 观察稳态误差是否消除:悬停 10-20 秒,看飞机是否慢慢回到目标位置。如果误差在 3-5 秒内消失,说明 I 够了。如果出现低频晃动,说明 I 偏大,减半再试。

避坑指南:我曾经在调一款大六轴时,I 加到 0.03 后稳态误差没了,但起飞时总有一个“抬头”动作。后来发现是积分在解锁瞬间就开始累积,起飞时已经攒了一笔“债”。解决办法是加积分限幅和积分冻结——起飞前几秒不累积积分。这个后面章节会细讲。

3.6 知识框架:I 参数的核心逻辑

下面这张图帮你把 I 参数的前因后果串起来:

I(积分)参数核心逻辑 问题:稳态误差 原理:累积偏差 效果:消除误差 I 过大:低频振荡 积分饱和、超调 I 适中:误差消除 响应平滑、抗风好 I 过小:误差残留 抗风差、越飞越偏 调校策略:先 P 后 I,从小加起 配合积分限幅、积分冻结 💡 核心要点 I 参数消除稳态误差的原理是累积偏差,但过大导致振荡,过小导致误差残留。 调校时从 0 开始,逐步增加,配合限幅和冻结机制使用。

3.7 几个实用技巧

  • 积分限幅:给积分项设一个最大值,防止积分饱和。我一般设在总输出限幅的 30%-50%。
  • 积分冻结:当遥控器摇杆有较大输入时,暂停积分累积。这样大机动时积分不会“捣乱”。
  • 条件积分:只在偏差小于某个阈值时才启用积分。偏差大时靠 P 和 D 快速响应,偏差小时靠 I 精修。

一句话总结:I 参数是飞控的“长期记忆”,它记住过去的偏差,慢慢修正,直到误差归零。调 I 的核心是——够用就好,宁小勿大。