PID控制算法——proportional-integral-derivative control比例-积分-微分控制器,顾名思义,PID由比例单元(Proportional)、积分单元(Integral)和微分单元(Derivative)组成。
(一)比例控制算法P
其中是比例时间系数,
是误差(目标值-当前值)。
比例控制非常好理解,也非常符合人类行为策略,比如倒水,当你离目标还很遥远时(误差e较大),你会为了尽快达到目标而加快倒水;当逐渐接近目标时(误差e较小),为了能够刚好达到这一目标(不多不少),你会开始谨慎起来,一点点地倒,直到达到目标。那么这个倒水的快慢就与误差有着直接的联系。
(二)积分控制算法
其中是积分时间系数。
那么积分控制算法解决的是一个什么问题呢?
我们所控制的系统既有输入也会有输出,这种输出有时候会是一种损耗。例如我们开车、加热水温等行为,因为存在摩擦、传热,速度或者温度都会有损耗。体现在倒水上,就是倒水的过程中会漏水,当损耗量(输出)等于倒水量(输入)时,只通过比例控制,系统变量就会保持平衡,维持在输入等于输出的情况下,并未达到我们的目标。积分控制就是为了解决这一静差(变量的稳定值与目标值之差)问题。
每次倒水就相当于一个时间步u,我们在比例控制的基础上加入由所有时间步下的误差累计量所控制的增量,这部分增量就打破了比例控制下的平衡状态,让系统能够再次向目标值出发。
(三)微分控制算法
其中是积分时间系数。
比例+积分的控制方法会出现一下子加过了头(超过目标值)的情况,这个时候就需要回调,又一下子减过了头,这样一来就形成了震荡现象。
微分控制则考虑了当下时间步和过去时间步下的误差之差, 和
符号相反,所以可以看作是对增量的抑制。例如当我们即将抵达目标时,就要适当减少增量的值,个人认为微分控制就是对积分控制震荡的一种抑制,三者结合起来就形成了高鲁棒性的PID算法。