基于循迹传感器和PID算法的AGV小车行进系统

(Automated Guided Vehicle,AGV),通常也称为AGV小车,能够按照预定的导引路径行驶,实现自动搬运和配送作业的功能,在制造或物流等行业发挥着重要的作用。要实现货物搬运和配送的功能,准确平稳地循迹是AGV小车的关键技术。通常小车循迹是通过循迹传感器对地面的黑色导轨进行检测实现的。有很多的学者对AGV的软硬件设计进行了研究,但是大都是基于单片机系统的AGV小模型,更适合教学或学生技能竞赛。本文的研究对象是搬运能力在50KG以上的AGV搬运小车,主控采用PLC,执行器采用驱动能力更强的无刷电机,更具有现实意义。在小车前后两端各安装一个循迹传感器,并结合速度和位置的双闭环PID控制模型,能保证小车的平稳行进。

1总体功能设计

AGV小车的结构和原理框图如图1所示。其中4个万向轮分别安装在小车前后两端;左右驱动轮安装在小车后半部;驱动轮由无刷直流电机驱动;无刷电机由PLC主控通过电机驱动器控制;2个循迹传感器安装在小车前后两端底部的正中位置。

设计中主控PLC采用西门子S7-1200型号,无刷电机驱动器采用电机驱动器UB510。首先系统主控PLC根据循迹传感器的输出获取AGV小车的当前位置,然后通过PID控制算法计算出小车回到正中位置应该偏转的角度和左右轮的转速值,最后输出控制信号给无刷电机驱动器UB510,驱动左右轮转动。当左右驱动轮速度相同时小车直线行驶;当左轮速度高于右轮速度时,小车带动万向轮右转弯;当左轮速度低于右轮速度时,小车带动万向轮左转弯。左右驱动轮速度相差越多,车子转弯半径越大。
基于循迹传感器和PID算法的AGV小车行进系统

2 硬件设计

2.1 PLC
本系统中采用西门子紧凑型、模块化的SIMATICS7-1200PLC。可完成简单到高级的逻辑控制、HMI和网络通信等任务。

S7-1200的I0口丰富,如CPU1215C系列包含14路数字输入、10路数字输出和2路模拟信号输入、2路模拟信号输出。S7-1200系列提供了各种信号模块和信号板用于扩展CPU的能力。本设计中由于用到l0口比较多,因此还连接了信号模块,将数字输入和输出口各扩展了16路。S7-1200具备PROFINET网络通信功能,能够与工业相机、其他PLC、工业机器人或HMI触摸屏进行组网连接,为后续扩展AGV小车的功能提供了技术支持。比如,可以在AGV上部安装HMI触摸屏,通过S7-1200编写触摸屏组态,实现触控按键控制AGV小车的行进、后退、停止,能显示AGV小车的速度和状态,并实时报警。
2.2循迹传感器

循迹传感器采用XGS-19006型号的AGV专用导航传感器。该传感器采用8路采样点输出,与进口9600磁导航传感器性能相同。XGS-19006传感器安装在车底前后方的底部,与地面磁条导轨距离10~30mm。导轨宽度为30~50m,厚度为1mm。8路循迹传感器,每路传感器实质上就是一个霍尔传感器。从左至右共有8个红绿指示灯,分别代表8路传感器的输出状态。当霍尔传感器下方正对着黑色导轨磁条时,能够检测出磁条上方100高斯以下的微弱磁场,传感器输出高电平信号,对应的指示灯亮红灯。反之传感器输出低电平信号,对应的指示灯亮绿灯。除1~8路传感器外,每个循迹传感器的左右末端分别增加了2个地标传感器:N1和N2,用来判断边界位置,因此实际上一个循迹传感器有10路输出。AGV运行时,循迹传感器内部垂直于磁条上方的连续1-4路采样点会输出信号,依靠输出的这几路信号,可以判断磁条相对于循迹传感器的偏离位置,据此AGV会自动作出调整,确保沿磁条平稳前进或后退。由于前后循迹传感器都是贴着AGV小车安装,因此传感器的标号刚好是反的,如图2所示,前循迹传感器的标号是从N2-8-7-6-5-4-3-2-1,后循迹传感器的标号是从N1-1-2-3-4-5-6-7-8-N2。

如图3所示,传感器的输出信号直接接入PLC的数字输入口,通过输入口状态组合就能判断传感器与导轨的相对位置,从而判断AGV小车的偏移位置。
基于循迹传感器和PID算法的AGV小车行进系统
2.3无刷电机驱动器

UB510是一款高性能,多功能,低成本的带霍尔传感器的直流无刷驱动器,拥有灵活多样的调速方式,调速范围为0~6000RPM,具备速度PID闭环控制功能,能满足AGV系统的要求。其连接线路图如图3所示。
基于循迹传感器和PID算法的AGV小车行进系统
如图3所示,UB510有4个接线插口,其中X1插口的电源和地接口连接24V直流稳压电源。U、V、W接口及X2插口的HA、HB、HC、SV接口连接至直流无刷电机,为电机提供驱动和传感器信号。X3插口提供控制信号,其中EN为使能信号,FR是电机方向控制信号,BK是刹车信号,它们都由PLC经过继电器驱动(图中继电器省略)。X1、X2、X3是多段速控制端子,它们不同的状态组合可以选择用户事先自定义的不同速度,这可以通过X4和通信电缆在电脑上用软件配置。ALM是报警信号输出,PG是霍尔信号异常输出,通过这两个信号可以检测驱动器和驱动电路的异常。

3软件设计

3.1循迹偏移算法

根据前后两个循迹传感器的10路状态(8路+2路地标),将小车的偏移情况分为“中心位置”、“Al~A8”、“Bl~B8”、“偏离”共l8个位置。其中中心位置指小车中线和地面黑色导轨条重合,小车处于正中位置;偏离位置指小车完全偏移导轨条;A1~A8指从行进方向看,小车往右偏离的程度,数字越大,偏离程度越高;B1~B8指从行进方向看,小车往左偏离的程度,数字越大,偏离程度越高;各偏移位置下传感器的输出状态如表1所示。

3.2PID控制算法

AGV小车运行时,事先不知道运动的轨迹,只能根据循迹传感器的输出状态来知晓当前的位置,从而计算将来的位置,因此本质上是一个随轨迹变化不断调整输出的控制系统。为了实现小车的平稳运行,采用闭环的PID控制算法~叫。实际上由于电机驱动器UB510是采用霍尔传感器的闭环控制器,因此本文中的控制模型是双闭环控制系统,如图4所示。其中外环是位置环,由循迹传感器检测小车的偏移位置,调用PID控制算法,计算出左右轮的驱动速度。内环是UB510内部实现的,当设定速度后,UB510会输出PWM控制脉冲驱动电机动作,然后其内置的霍尔传感器检测到电机的实际转速,和给定转速进行比较,不断地调整使电机达到给定转速。
PID算法公式为:
基于循迹传感器和PID算法的AGV小车行进系统
软件流程图如图5所示。其中偏离值e(k)由循迹偏离位置决定,当循迹偏离位置为“正中”时,偏离值e(k)=0;当行进并往右偏时,偏离值为正值,比如偏离位置为“A3”时,偏离值e(k)=3;当行进并往左偏时,偏离值为负值,比如偏离位置为“B3”时,偏离值e(k)=-3;当循迹位置为“偏离”时,应立即启动急停操作。根据偏离值e(k)代入公式2进行计算,得出速度变化值V。当AGV往左侧偏移时,调整时应该往右偏,此时左轮速度要大于右轮速度,反之则反。
基于循迹传感器和PID算法的AGV小车行进系统

基于循迹传感器和PID算法的AGV小车行进系统

基于循迹传感器和PID算法的AGV小车行进系统

4调试

将小车的硬件安装好后,第一步在主控PLC中编写电机控制程序,实现小车的前进和后退及刹车功能。在保证硬件连接正确的前提下,关键是传感器的状态监测和UB510的使用。传感器的状态要根据表1进行判断,由于各状态的条件很相近,要保证不出错。UB510使用前要先通过电缆和电脑进行通信,用专用的配置软件查看并配置其参数。比如其有0~5V模拟量输入、PWM输入、内部给定、多速断1、多速断2等多种速度给定模式,这需要根据硬件电路事先配置好。本文中采用的就是PLC输出模拟信号的方式来给定速度。

第二步按照图5的流程编写PID控制算法,调试时先预设PID的P控制参数和小车的初始速度,然后根据小车的运行情况,先慢慢调整P的值,直至小车能够比较平稳地运行时,再增加l和D控制参数。

5结束语

为了实现AGV搬运小车的平稳行进,本文提出了在小车前后两端各安装一个循迹传感器的方法,根据循迹传感器的输出状态,得出小车的偏移位置,然后根据PID控制算法计算出小车左右驱动轮的设定转速值。最后电机驱动器根据设定转速值输出特定频率的PWM信号控制电机转动,从而实现左右轮的转动。当左右轮的速度不一致时,小车会实现转弯动作,从而回归到正中位置。实验表明,小车能够较平稳地沿着轨迹行进。下一步将研究模糊控制算法或无支路循迹算法“-1,使小车达到更好的转弯平稳性。

基于循迹传感器和PID算法的AGV小车行进系统-AGV吧
基于循迹传感器和PID算法的AGV小车行进系统
此内容为付费资源,请付费后查看
20积分
付费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容