PID控制算法
趁着找工作空闲时间,学习下自己所不了解的东西。
1. 闭环控制??PID
就是对于机器的输入不再是固定的了,而是根据当前机器的状态,进行调整。PID就是闭环控制的一种。
2. PID的应用场景??
ID控制算法在空调温度控制、无人机悬停、机器人运动系统等方面有广泛应用。
PID之所以在工控领域很重要,在于其驱动设备快速、精准的达到目标值
3. 什么是P??比例关系,对应的参数为Kp
像自己经历的集中电源中的检测交流电的电压低,如果只设置一个值的话,必然会是在这个值附近会来回显示一会低电压,一会正常,这样就过不了国标的。最简单的处理思路就是由于电源电源有缓冲作用,所以可以修改电压的门限,如高于14v认为是正常,低于8V才认为是电压低(正常低电压值为10.4V),这样就会有安静期,但这样是治标不治本。如何弄呢?思想至关重要,且看关于空调如何去掉启停??加入了变频器+高效能电机,这样在制冷量与目标值之间就可以任意线性调节,然后就是越靠近设定的值,制冷量占比就越小,直到到达所设定的值。Y=P*(X-T);//x就是当前的温度,T为设置的温度。p为反馈系数。y是制冷量。只有让步反馈系数p尽量大,才可以迅速接近设定的值,但也不能太大,太大的话,会在接近目标值时,也会发生再比如下面这个例子:
假设初始时刻,水缸里的水位是0.2米,那么当前时刻的水位和目标水位之间是存在一个误差的error,且error为0.8.这个时候,假设旁边站着一个人,这个人通过往缸里加水的方式来控制水位。如果单纯的用比例控制算法,就是指加入的水量u和误差error是成正比的。即
u=kperror
假设kp取0.5,
那么t=1时(表示第1次加水,也就是第一次对系统施加控制),那么u=0.50.8=0.4,所以这一次加入的水量会使水位在0.2的基础上上升0.4,达到0.6.
接着,t=2时刻(第2次施加控制),当前水位是0.6,所以error是0.4。u=0.5*0.4=0.2,会使水位再次上升0.2,达到0.8.
如此这么循环下去,就是比例控制算法的运行方法。
如果把误差值与目标值表示成一个线性关系,如目标值 = 0.5 * 误差值,中间的常量0.5称为Kp, Kp越大,目标与误差比例就越大,控制系统的响应速度也更快,但接近目标值时产生的振荡也越严重。
比例环节的作用是对偏差瞬间作出反应。偏差一旦产生控制器立即产生控制作用,
4. 解决接近目标时振荡?D算法,微分控制算法,对应的参数为Kd
在离散情况下,就是error的差值,就是t时刻和t-1时刻error的差,即u=kd*(error(t)-error(t-1)),其中的kd是一个系数项。
也就是微分,或导数。如果对这个振荡(距离)求微分,得到的刚好是速度。也就是说D算法,可以对无人机的速度做出响应。当无人机速度过快时D算法会抵消掉由P算法得出的升力,从而减缓系统的振荡。
微分环节的作用使阻止偏差的变化。它是根据偏差的变化趋势(变化速度)进行控制。
积分环节的调节作用是消除静态误差。
例如:在刹车过程中,因为error是越来越小的,所以这个微分控制项一定是负数,在控制中加入一个负数项,他存在的作用就是为了防止汽车由于刹车不及时而闯过了线。从常识上可以理解ÿ