
积分限幅

积分限幅是针对位置式PID,因为其公式里有单独的积分项。

右边写法的好处是积分项限幅的数量级和输出限幅数量级是一样的,更好确定。
积分分离

积分分离一般作用于定位置控制 ,因为定位置控制最后驱动力小 会产生一点点误差,此时就加入积分消除误差(包括外力影响时产生的误差) ;而前面的过程不需要积分,因为定位置控制时到达目标位置后系统就停了,如果最开始就有积分项会导致在最后积分累积过大而导致超调。定速控制加入积分不会超调是因为积分项调控力度要对抗摩擦力。

阈值可以是稳定时误差正常波动范围。
变速积分


不能完全没有积分,否则误差不能消除;但积分作用不能过大,不然会超调。所以就加入系数,使得积分在误差大时作用小,误差小时作用大。
变速积分也作用于定位置控制

积分分离和变速积分的取绝对值函数fabs()均作用于当前误差error0。
微分先行



普通微分项输出的力度以及方向取决于误差的斜率,目标值大幅度改变时可以看出误差斜率先变为较大的正向,又马上变为较大的负向,也就是此时微分项的输出实际上并没有一直提供阻尼以阻碍系统变化,而是先推了系统一下,促进这种变化,然后才马上拉住系统。
微分先行将微分项的输出改为取决于实际值的斜率变化,因为相比之下实际值变化一直都更平稳,只需要加一个负号即可,因为微分项要一直提供阻尼,而实际值和误差的变化趋势是相反的。
但加入微分先行不一定有好的效果,因为目标值改变时微分项会先推系统一下,这一下反而会加快实际值跟进到目标值的速度,使系统反应更加迅速。如果突变时微分项造成的不稳定对系统没有什么大影响可以不加。
不完全微分


有噪声的话,对P项的干扰只是实际误差和原本误差的差值,对I项的干扰则是两条曲线下面积之和的差值,而对D项的影响则是线上的本次误差与上次误差连线斜率的差值。可以看出噪声对D项影响最严重。
不完全微分让本次D项的输出和上次D项输出有关了,使其输出更加平滑,减少了抖动。

输出偏移和输入死区

对于此类执行器,不加入输出偏移,可能就会出现:最后还有一点点误差,所以PID输出值不为0,但小于启动力度导致执行器无动作,最后一点误差无法消除。

偏移值可以通过测试得到。加入输出偏移后执行器无动作的情况就没有了,只要PID输出不为0就一定有动作,但同时也会出现:(可能会有实际值一直在微小波动)PID最后一直在小力度调控,少了就加,多了就减,使得系统一直在微小抖动无法静止。此时需要再加入输入死区。二者通常一起使用。
输入死区

