第1章:PID控制基础——比例(P)、积分(I)、微分(D)的作用与数学表达式

各位同学,欢迎来到《差速驱动系统PID调参全流程》的第一课。

我是你们的老朋友,一个在机器人堆里摸爬滚打了十几年的工程师。今天咱们聊点最基础,但也最核心的东西——PID控制。

你可能会说:“PID?太简单了吧,不就是调三个参数吗?”

嗯,我当年也是这么想的。直到有一次,我调试一台AGV小车,比例系数给大了,小车原地疯狂抖动,差点把货架上的零件全晃下来。从那以后,我再也不敢小看这三个字母了。

1.1 什么是PID控制?

说白了,PID就是一个“纠错”的算法。

你想想看,我们想让机器人走直线,但轮子有摩擦、电机有延迟、地面还不平。这时候,你需要一个东西,能实时告诉你:“嘿,偏了!赶紧往回调!”

PID干的就是这个活。

它根据“目标值”和“实际值”之间的偏差,计算出应该给电机多大的控制量。这个计算过程,就是比例、积分、微分三个环节的加权求和。

核心公式:

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

其中:

  • u(t):控制输出(比如给电机的PWM值)
  • e(t):当前偏差 = 目标值 - 实际值
  • Kp:比例增益
  • Ki:积分增益
  • Kd:微分增益

这个公式,我建议你背下来。不是死记硬背,而是理解它背后的物理意义。咱们一个一个拆开讲。

1.2 比例控制(P)—— 最直接的“纠偏”

比例控制,就是“偏差越大,纠正力度越大”。

数学表达式很简单:

P_out = Kp * e(t)

举个例子:你的机器人目标速度是1m/s,现在实际只有0.5m/s。偏差是0.5m/s。如果Kp=10,那比例输出就是5。这个5会直接加到电机上,让电机加速。

我在项目中遇到过一个问题:只用了比例控制,小车永远到不了目标位置。为什么?因为当偏差变得很小的时候,比例输出也很小,小到不足以克服摩擦力。这就产生了“稳态误差”。

我的经验:

Kp调得太大,系统会震荡。调得太小,响应太慢。我一般先给一个保守值,然后慢慢往上加,直到系统开始出现轻微震荡,再回调20%。

1.3 积分控制(I)—— 消除“历史欠账”

积分控制,说白了就是“算总账”。

它把过去所有的偏差都累加起来。只要偏差一直存在,积分项就会一直增长,直到把那个顽固的稳态误差消除掉。

I_out = Ki * ∫e(t)dt

你想想看,如果只用比例控制,小车停在离目标还有0.1米的地方不动了。这时候积分项开始起作用:它看到“过去这段时间,偏差一直没消失”,于是它不断加大输出,直到小车挪到目标位置。

注意!这里有个坑:

我曾经吃过一次大亏。积分项太强,导致系统出现“积分饱和”。什么意思呢?就是小车启动时,偏差很大,积分项疯狂累积。等小车到达目标时,积分项里还存着一大堆“旧账”,导致小车冲过头,然后来回震荡,半天稳不下来。

解决办法:加一个积分限幅,或者用“积分分离”策略——偏差大的时候,先不让积分起作用。

1.4 微分控制(D)—— 预测“未来趋势”

微分控制,看的是偏差的变化率。说白了,就是“刹车”或者“提前加速”。

D_out = Kd * de(t)/dt

举个例子:你的小车正在快速接近目标位置。比例项说“还有偏差,继续走”,但微分项看到“偏差正在快速减小”,它会给出一个反向的力,让小车提前减速,防止冲过头。

我个人习惯,在差速驱动系统里,微分项用得比较谨慎。因为微分对噪声特别敏感。轮子稍微颠簸一下,微分项就会剧烈跳动,反而把系统搞得不稳定。

避坑指南:

我曾经在一条粗糙的水泥路上调试机器人,微分项一加上去,电机就开始“吱吱”乱叫。后来发现是编码器信号有噪声,微分项把噪声放大了。解决办法:要么加一个低通滤波器,要么干脆把Kd设成0,只用PI控制。

1.5 三个环节的协同工作

好了,三个环节都讲完了。它们是怎么配合的呢?

我画了一张图,帮你理解:

PID控制原理框图 目标值 偏差 e(t) 比例 P 积分 I 微分 D Σ 控制输出 三个环节并行计算,最终求和得到控制输出 各环节作用总结: • 比例(P):根据当前偏差,直接纠正 • 积分(I):消除历史累积的稳态误差 • 微分(D):预测偏差变化趋势,提前调整

1.6 三个参数的直观感受

为了让你更直观地理解,我整理了一个表格:

参数 作用 调大后的效果 调小后的效果
Kp 响应速度 响应变快,但容易震荡 响应变慢,系统更稳定
Ki 消除稳态误差 消除误差更快,但可能超调 消除误差变慢,甚至无法消除
Kd 抑制震荡 系统更稳定,但对噪声敏感 震荡抑制能力减弱

记住这个口诀:

比例调响应,积分消误差,微分压震荡。

先调P,再调I,最后加D保稳定。

好了,这一章的内容就到这里。PID的三个环节,说白了就是“现在、过去、未来”三个维度的纠偏策略。理解了这个,后面的调参你就能游刃有余了。

我的一个小习惯:

每次调参前,我都会在脑子里过一遍这三个环节的物理意义。不是背公式,而是想:“现在偏差多大?过去累积了多少?未来趋势是变好还是变坏?”想清楚了再动手调,事半功倍。


公众号:蓝海资料掘金营,微信deep3321