4、PID中I项的如何整定?
前言
通过前面《使用lua脚本快速调整角速率环的PD项》一文中,可以发现快速调参只调PD项,P值与I值是一样的!
此外通过APM的官方wiki文档,在调参一文中,也是让用户把P值与I值设置为一样,如下所示:

I项到底用来干嘛?
单从从默认的参数来看,APM官方组把PID的P和I的值设定为一样。
此外在使用lua脚本快速调参时,只调P项和D项的值,最后I项的值也会与P项保持一致。
大家可能都非常清楚,P是力度越高响应越快,D是阻尼类似刹车,那么I到底是什么?
PID的“I项”,在控制理论中是用来“消除系统中的静差(稳态误差)”。
即当 P 项(比例项)和 D 项(微分项)已经让系统接近目标状态, P/D 已让无人机快速响应偏差(比如打杆回正、快速修正俯仰、横滚角度但因持续干扰(如微风、重心偏移、电机推力差异)导致无法完全达到目标时,那么引入I 项,通过积累历史偏差来 “补足” 控制量,最终让系统稳定在目标值上,解决最终无法精准停在目标值的问题!
一句话总结:多旋翼的 I 项是 “精准的收尾项”——P/D 负责 “快速修正”,I 负责 “彻底稳住”,但 I 项过强或过弱都会破坏稳定性。
对多旋翼而言,调试 I 项直接影响 3 个关键场景:
1)悬停姿态稳定性:滚转 / 俯仰是否有残留偏移(比如始终偏 2~5°)、航向是否缓慢漂移;
2)定高精度:定高模式下是否始终差 5~10cm(比如目标 10m,稳定在 9.9m),无上下波动;
3)定点悬停精度:x/y 轴是否缓慢飘移(比如悬停 5 分钟飘出 3 米),无法自动回中。
针对姿态环的I:
1)调得过小,核心现象是:静差残留,漂移明显
具体表现为:
悬停时 x/y 轴缓慢漂移(越飘越远,无法自动回中)
姿态回正后有残留偏移(如滚转偏 2°,P/D 能拉回但稳不住);
航向慢慢跑偏(比如初始朝北,5 分钟后朝东北);
无震荡,但 “定不住姿态”
2)调得过大,核心现象是:积分超调,姿态抖动
具体表现为:
姿态回正过度(比如滚转从 + 3° 修正到 - 2°,来回摆动);
悬停时上下 / 左右高频抖动(I 项积累过快,控制量 “用力过猛”);
打杆后回正震荡(比如推俯仰后,无人机前后小幅度晃);
极端情况:抖动加剧导致悬停失控。
针对定高的I:
1)调得过小,核心现象是:定高精度差,高度飘
具体表现为:
定高时始终差 10cm 以上(目标 10m,稳定在 9.8~9.9m);
上升 / 下降后无法精准停在目标高度,有明显残留差。
2)调得过大,核心现象是:高度震荡,冲顶 / 沉底
具体表现为:
定高时上下波动(如 10m→10.3m→9.7m,反复 “波浪式” 起伏);
切换定高模式瞬间,无人机突然窜高或下沉;
油门输出频繁大幅波动(听电机声音忽大忽小)。
针对定点的I:
1)调得过小,核心现象是:定点漂移明显
具体表现为:
悬停时 x/y 轴持续漂移,即使无风也慢慢远离起飞点,无法自动回中。
2)调得过大,核心现象是:定点震荡,来回摆动
具体表现为:
定无人机在目标位置前后/左右小幅度 “画圈”,无法稳定停留。