一、PID:
1.基本公式
P:Proportion(比例):就是输入偏差乘以一个常数。
I:Integral(积分),就是对输入偏差进行积分运算。
D:Derivative(微分),对输入偏差进行微分运算。
注:输入偏差=读出的被控制对象的值-设定值。
P:如果输出是1,目标输出值是100,P可以理解为一个系数,P的作用就是以最快速度达到100,如果只有P,则系统存在稳态误差(因为系统是一个调节的过程,不能一次性到达稳态,是一个逐渐调解的过程。),其通过积分环节进行调节。
I:是一个积分环节,其作用是使误差为0,而起调和作用。(控制器的输出与输入信号的积分成正比)
D:微分环节:求导数切线的方向就是最快到制高点的方向可以理解为最快获得最优解,微分环节就是加快调节过程的作用。可以避免超调现象,可以改善系统的动态特性
2、PID算法有两种:
1.位置式的
2.增量式的小车控制的PID算法输出并不是一个绝对值,而是一个相对值,通过增量PID算法,可以输出PWM需要增多少,需要减多少。
PID的常用口诀:
参数整定找最佳,从小到大顺序查,先是比例后积分,最后再把微分加。
曲线振荡很频繁,比例度盘要放大,曲线漂浮绕小弯,比例度盘往小调。
曲线偏离程度达,积分时间往下降,曲线波动周期长,积分时间在加长。
曲线振荡频率快,微分时间降下来,动差大来波动慢,微分时间应加长。
理想曲线两个波,前高后低4:1,一看二调多分析,调节质量不会低。
经典案例:
有个漏水的水缸,而且漏水的速度不恒定,,然而我们有个水桶,我们可以控制往水缸里面加水或者从里面舀水出来,另外我们可以检测到水面,我们的目的就是使得水面趋于一个设定值。在这个漏水系统中,输入就是这个水桶,输出就是液面,我们通过从中加水或者舀水影响我们的水位。
控制:假设我们要把水平面控制在A,而实际的液位为B,那么液位差就是Err=A-B,(在做一般控制时为正,以正说明)这时我们需要添加的水量就是Err,Err为正,往里面加水,为负,从里面舀水,K值对系统性能有影响,如果较大,则加水速率较快,K值会产生巨大的振荡(这儿可以理解为惯性,当然它就是一个惯性环节),K是没办法直接设定为1的,因为每次加水的量是不固定的)