agv pid调试小结

上传人:简****9 文档编号:100507307 上传时间:2019-09-23 格式:DOC 页数:10 大小:78.33KB
返回 下载 相关 举报
agv pid调试小结_第1页
第1页 / 共10页
agv pid调试小结_第2页
第2页 / 共10页
agv pid调试小结_第3页
第3页 / 共10页
agv pid调试小结_第4页
第4页 / 共10页
agv pid调试小结_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《agv pid调试小结》由会员分享,可在线阅读,更多相关《agv pid调试小结(10页珍藏版)》请在金锄头文库上搜索。

1、AGV PID调试在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之间的差值:Ek Ek =Sv - Xk 分析Ek: 0:说明当前状态值未达标 Ek =0:说明当前控制状态值正

4、好满足要求 0,0,=0这三种可能的值,因为从开机到现在,控制算法不断输出控制信号对被控对象进行控制,导致了过去这段时间有时候超标(Ex0),有时候正好满足要求(Ex=0);如果将这些偏差值进行累加求代数和得到Sk,即: Sk=E1+E2+E3+.+Ek-2+Ek-1+Ek分析Sk: 0: 过去大多数时候未达标 Sk =0:过去控制效果较理想 0:说明从上一采样时刻到当前误差有增大趋势 Dk =0:说明从上一采样时刻到当前误差平稳 0:说明从上一采样时刻到当前误差有减小趋势 结论: 1. Dk能够说明从上次采样到当前采样的这段时间被控制对象的状态变化趋势,这种变化的趋势很可能会在一定程度上延续

5、到下一个采样时间点,所以可以根据这个变化趋势(Dk的值)对输出信号OUT进行调整,达到提前控制的目的。 2. Dk形如数学上的微分运算,反应了控制对象在一段时间内的变化趋势及变化量,所以利用Dk对控制器输出信号进行调节的算法称为微分(differential)算法。可以用数学模型表达为:Dout=Kp*(Td(de/dt)+Out0在实际使用中上述公式可简化为:DelEk=Ek-Ek_1; /最近两次偏差之差Dout=Kd*DelEk; /微分输出三、PID算法形成1比例、积分、微分三种算法的优缺点分析:POUT=(Kp*Ek)+ Out0 -比例算法IOUT=kp* ( (1/Ti) Exd

6、t)+Out0 -积分算法DOUT=Kp*(Td(de/dt)+Out0 -微分算法比例算法: 只考虑控制对象当前误差,当前有误差才输出控制信号,当前没有误差就不输出控制信号,也就是说只要偏差已经产生了比例算法才采取措施进行调整,所以单独的比例算法不可能将控制对象的状态值控制在设定值上,始终在设定值上下波动;但是比例控制反应灵敏,有误差马上就反应到输出。积分算法:考虑了被控制对象的历史误差情况,过去的误差状况参与了当前的输出控制,但是在系统还没有达到目标期间,往往会因为这些历史的误差对当前的控制产生了干扰(即拖后腿),使用不当反而搅乱当前的输出。但是在系统进入稳定状态后,特别是当前值与设定值没

7、有偏差时,积分算法可以根据过去的偏差值输出一个相对稳定的控制信号,以防止产生偏离目标,起到打预防针的效果。微分算法:单纯的考虑了近期的变化率,当系统的偏差趋近于某一个固定值时(变化率为0),微分算法不输出信号对其偏差进行调整,所以微分算法不能单独使用,它只关心偏差的变化速度,不考虑是否有偏差(偏差变化率为0时偏差不一定是0).但是微分算法能获得控制对象近期的变化趋势,它可以协助输出信号尽早的抑制控制对象的变化。可以理解为将要有剧烈变化时就大幅度调整输出信号进行抑制,避免了控制对象的大幅度变化。 以上三种算法综合起来产生一个当前的控制量对控制对象进行控制,它们的优缺点互补,即形成经典的PID算法。2.PID算法数学模型 OUT= Pout+ Iout+ Dout即:OUT=(Kp*Ek)+ Out0)+(kp* ( (1/Ti) Exdt)+Out0)+ (Kp*(Td(de/dt)+Out0)整理该式子得到:将各项的Out0归并为OUT0。OUT=kp( Ek+ ( (1/Ti) Exdt)+ (Td(de/dt)+OUT0程序实现为:OUT=Kp*Ek+Ki*SEk+Kd*DelEk以上便是我对PID算法的理解。附录是PID程序源码附录一:PID.c 附录二:PID.h

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号