本文只简单讲解了 PID 的原理,具体实现项目会在近期发出
目录
前言
PID是一种常用的控制算法。可以控制目标物体保持在某一状态。例如用于平衡车和无人机,使其保持在平衡状态。或者用于温控系统,使其保持在某一温度。
一、PID是什么?
(1)含义
PID的全称为比例(proportion)-积分(integral)-微分(derivative)控制器。是由比例算法、积分算法、微分算法三部分组成。
(2) 目标值,测量值
在 pid 算法中,期望目标物体所保持的值为目标值,实际反馈得到的值为测量值,通过不断计算使测量值趋近目标值。
(3)数学公式
其中的 K 是根据现场和项目需求自行设置的比例系数,e 则是测量值与目标值的误差,e旁边的小k是计算的第几次误差的意思。
二、比例(P算法)
(1)数学公式
(2)含义
当测量值与目标值存在误差时,比例会施加一个力使测量值趋近于目标值。这个力的大小与比例系数和误差有关。在比例系数不变的情况下,当误差越小时,施加力就越小,反之,误差越大则力越大。
(3)示例
拿一辆此时时速20km/h的小车举例,若想将车速保持在80km/h,则需要立即提速,随着误差(车速与80km/h的差值)的减小,P算法的输出也会逐渐变小。
三、微分(D算法)
(1)数学公式
(2)含义
当测量值逐渐接近目标值时,微分会给予一股阻力,防止测量值过冲。微分的阻力,由比例系数和本次误差与上一次误差的差值有关(本次误差 — 上次误差)有关。当误差的差值逐渐变小时,说明加速度在减小,比例施加的力逐渐平稳下降,那么微分的阻力也会下降。
(3)示例
拿一辆此时时速20km/h的小车举例,若想将车速保持在80km/h,提速之后很有可能会超过80km/h,造成数值过冲,但如果在 P算法 的基础上增加D算法,那么在小车接近 80km/h 时,会受到微分的阻力,则不会造成数值过冲,而是平稳到达80km/h。
四、积分(I算法)
(1)数学公式
(2)含义
当误差接近于0的时候,P算法的输出会很小,导致出现误差无法被消除的现象。此时需要用到 I 算法,I 算法的计算为比例系数 * 误差和,误差和趋近于0时,I 算法会使有效值控制得更加精准,接近目标值。
(3)示例
拿一辆小车举例,此时若想将车速精准保持在80km/h,没有I算法是很难实现的,因为当误差接近于0的时候,P算法的输出会很小,导致出现误差无法被消除的现象。但 I 算法的控制会使车速无限趋近于80km/h。
总结
大多数情况下只会用到 P算法和 D算法的组合,只有在追求特高精度,才会用PID三种算法的组合。