欢迎来到天天文库
浏览记录
ID:43347235
大小:78.34 KB
页数:13页
时间:2019-10-01
《AGV PID调试小结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、AGVPID调试在AGV控制算法中,PID算法是最基础也是最重要的一环。PID算法运用起来其实非常简单,几行代码就能实现,困难的地方就是参数整定了,需要不断的尝试找到最佳参数。一.PID控制算法的基本思想PID算法是一种具有预见性的控制算法,其核心思想是:1)PID算法不但考虑控制对象的当前状态值(现在状态),而且还考虑控制对象过去一段时间的状态值(历史状态)和最近一段时间的状态值变化(预期),由这3方面共同决定当前的输出控制信号;2)PID控制算法的运算结果是一个数,利用这个数来控制被控对象在多种工作状态(比如加热器的多种功率,阀门的多种开度等)工作,一般输出形式为PWM,基本上满足了
2、按需输出控制信号,根据情况随时改变输出的目的。PID控制算法的基本思想大致如上,但要针对不同的场景做出相应调整。比如针对AGV的方向控制,我们就需要着重考虑AGV的当前状态--位置偏差值和角度偏差值(比例调节),预期状态辅助调控(微分调节),对于历史状态则不用考虑(积分调节)。在实际调控中会发现,一般情况下只要比例控制得当,车体本身运行就很平稳了,加入微分调节是为了处理AGV受到外力撞击时的突发情况。这里不考虑积分调节是因为,AGV方向控制是实时动态调控的,历史误差在次情况下没有太多意义。二.PID算法分析:PID算法从其字面理解是:P-比例控制、I-积分控制和D-微分控制。下面根据T3
3、实际调试过程注解下:1、比例控制设某控制系统:用户设定值为SV(也就是希望通过PID控制算法使被控制对象的状态值保持在SV的附件)。1>从系统投入运行开始,控制算法每隔一段时间对被控制对象的状态值进行采样。由此,可得到开机以来由各个采样时间点被控制对象的状态值所形成的数据序列:X1,X2,X3,X4,....Xk-2,Xk-1,Xk说明:X1:开机以来的第一次采样值Xk:目前的采样值(最近一次的采样值)2>从这个采样值序列中提取出三方面信息:①当前采样值Xk与用户设定值SV之间的差值:EkEk=Sv-Xk分析Ek:>0:说明当前状态值未达标Ek=0:说明当前控制状态值正好满足要求<0:说
4、明当前状态值已经超标结论:Ek反应了控制对象当前值与设定值的偏差程度,可以根据Ek的大小对输出信号OUT进行调整:偏差程度大OUT增大,偏差程度小OUT减小。即输出信号的强弱与当前偏差程度的大小成比例,所以根据Ek的大小来给出控制信号OUT的当前值的算法称为比例控制(Proportion)。用数学模型可以表示为:POUT=(Kp*Ek)+Out0Kp:一般称之为比例系数,可以理解为硬件上的放大器(或衰减器),适当选取Kp将当前误差值Ek按一定的增益放大或缩小,以提高控制算法的相应速度。Out0:是一个常数,目的是为了当Ek为0时,确保输出信号不为0,以不至于在当前值与设定值相等时控制器输
5、出信号OUT为0,系统处于无控制信号的失控状态。陀螺仪循迹时,上电后采集一个角度数据作为SV(此时车身与轨道无角度偏差),此后采集的角度数据均为Xk,Ek=Sv-Xk。但实现AGV导航仅有角度偏差数据无法形成闭环控制,我们还需要摄像头确定AGV的位置偏差数据。使用OPEM-MV3进行调试时,可以直接从摄像头模块获取出AGV角度偏差值EK_A和距离偏差值EK_D(相对于轨迹中心),注意在此时获取的数据本身就是偏差值。为了实现闭环控制,数学模型如下:Pout=(KP_A*EK_A)+(KP_D*EK_D)+Out调整KP_A和KP_D实现对车身导航的比例控制。2、积分控制将投入运行以来的各个
6、采样值都与设定值相减,可得到开机以来每个采样时刻的偏差序列数据:E1,E2,E3.....Ek-2,Ek-1,Ek说明:E1:开机的第一个采样点与设定值的偏差E1=SV-X1;E2=SV-X2;......EK-2=SV-XK-2;EK-1=SV-XK-1;Ek:当前的采样值与设定值的偏差EK=SV-XK分析开机以来的误差序列:每个偏差值可能有:>0,<0,=0这三种可能的值,因为从开机到现在,控制算法不断输出控制信号对被控对象进行控制,导致了过去这段时间有时候超标(Ex<0),有些时候未达标(Ex>0),有时候正好满足要求(Ex=0);如果将这些偏差值进行累加求代数和得到Sk,即:Sk
7、=E1+E2+E3+.........+Ek-2+Ek-1+Ek分析Sk:>0:过去大多数时候未达标Sk=0:过去控制效果较理想<0:过去大多数时候已经超标结论:1.通过对Sk的分析,可以对控制算法过去的控制效果进行综合评估。体现了控制算法按照原来的方式输出的控制信号导致了现在的控制结果,所以应该利用这个值来对当前要输出的控制信号OUT进行修正,以确保控制对象会在将来的一小段时间尽快达到用户设定的值。2.Sk实际上是过去每个时间点的
此文档下载收益归作者所有