磁导航AGV控制系统的设计与实现
2014-03-09郑炳坤赖乙宗
郑炳坤,赖乙宗,叶 峰
(华南理工大学 机械与汽车工程学院,广州 510640)
自动导向车AGV[1]是现代物流系统自动化、柔性化及智能化的关键设备,研究AGV的相关技术意义重大。导航系统为AGV核心组成部分,目前常见的AGV导航方式主要有视觉导航、激光导航与磁导航[2],视觉导航由于易受环境影响其适应性差,激光导航的硬件成本较高,磁导航则不仅控制简单[3]、成本低、且抗干扰能力强,可在各种环境下工作,应用最为广泛。
AGV的导航控制系统根据其控制核心不同主要有采用单片机、可编程控制器PLC与嵌入式工控机等方案[4]。单片机与PLC控制系统具有低功耗且控制简单等优点,但可扩展性较差[5]。相比之下,嵌入式工控机带有多种硬件接口,有利于系统功能扩展,方便产品的升级换代。
鉴于此,本文提出一种基于CAN总线的磁导航AGV控制系统,其硬件架构以嵌入式工控机为核心,通过CAN总线挂接多个控制外围设备的ARM处理器,以中断任务调度模式来协调系统运动控制器的各个任务单元,通过适时挂起线程与逐步匹配报文方式来协作完成监控管理系统的通信过程,实现系统的实时控制,此外,采用模糊自整定PD调节器来保证磁导航的控制精度和适应性,经实际测试,系统运行稳定可靠,取得良好的控制效果。
1 系统方案设计
1.1 控制对象
文中AGV的本体结构如图1所示,AGV本体由前左右差速驱动轮及后万向轮组成,导航传感器安装在车载前端底部,用于检测AGV中心与磁带轨道的偏距;命令传感器则固定在车载右后侧,用于检测特殊命令触发信号。导航轨道由连续磁带组成,离散的三磁带段组合成一特殊命令触发单元。
图1 AGV本体结构简图Fig.1 Sketch of AGV
1.2 系统总体架构
系统架构是AGV控制系统的关键,本文提出的控制方案自上而下分为监控管理层、通信层、控制层、功能层及传感器层五大层,如图2所示。
图2 系统总体架构Fig.2 Overall system architecture
监控管理层:在AGV上装载研华工控机POD-6552,用于实现对控制系统的监控管理等。通过建立无线局域网,可实现用户端PC与监控管理终端数据的共享,有助于控制系统的调试、开发与管理;在通信层采用CAN现场总线来完成监控管理层与控制层之间的命令控制发送与报告反馈。现场总线适于后期控制节点的扩展,是系统走向复杂化及智能化等的保证;控制层使用STM32F103RBT6 ARM7处理器来协调完成各种控制功能,图2所示系统是由运动控制器与辅助控制器两节点组成的一个微小型分散式控制系统。
功能层包括导航、特殊命令、电机驱动、避障、显示交互、姿态反馈与手动控制七大功能单元。导航单元的功能是保证AGV以一定的精度沿着预定的轨迹作业,当AGV跑飞预定轨迹时,自动停止;特殊命令单元作用于当车载到达某预定位置时,命令AGV执行停歇、装载或者卸载特殊动作;电机驱动单元是系统的执行末端,系统通过电机速度的调节控制来达成导航、停歇及加减速等各种基本运动控制功能;避障单元是AGV车载系统的安全模块,AGV在遇到障碍物时应立即停止,障碍消失后自动重启,继续作业。此外,若AGV处于前进状态,但检测到的障碍物位于车载后端,那么AGV应保持继续前进状态。处于后退状态的AGV前面出现障碍物时做类似处理;显示交互单元用于AGV当前运行速度、位置等状态的显示;手动控制单元用来急停控制AGV等。
传感器层由导航传感器、命令传感器、控制电机与驱动器、红外传感器、液晶屏、编码器及按钮按键组成。运动处理器通过实时扫描读取数字导航传感器的状态值,以普通IO连接导航传感器;命令传感器起作用于一些离散的特殊标记点,采用IO外部触发中断来猎取命令信息;电机的速度调控采用变频PWM输出完成;红外传感器的触发信息也采用IO外部触发中断来实时监视获取;采用STM32定时器集成的增量式编码器接口采集编码器信号,计算取得当前车载的速度和位姿。
2 运动控制器
2.1 模糊自整定PD调节器
导航跟踪方法是运动控制器的核心技术之一。传统PID控制器技术成熟,应用广泛,但常规的PID控制器鲁棒性差,对于非线性时变或迟滞的系统,控制效果不佳,而纯模糊控制恰好能弥补传统PID控制器的缺点。为此本文将模糊控制与PID控制相结合,采用图3所示的控制器,以PD控制器为核心,利用模糊控制来动态修正PD控制器的系数,改良AGV的动态跟踪行为。
图3 模糊自整定PD调节器Fig.3 Fuzzy self-tuning PD controller
在图3中,以导航传感器从磁带探测到的跟踪偏差及偏差变化作为控制器的输入,经模糊处理后得到PD控制器的参数修正值,修正PD控制器后,输出AGV车载左右轮的控制速度差去调整AGV的当前位姿。为了减少在线计算量,提高效率,程序中把模糊调节器以二维离线查询表形式嵌入到STM32运动控制器上。
2.2 软件实现
图4 运动控制器的软件实现Fig.4 Software realization of motion controller
给出运动控制器功能的软件实现,如图4所示。主要包括导航跟踪任务、调速任务、特殊命令任务、安全避障任务与通信任务。本文采用中断模式来协调实现各个任务单元,其中特殊命令任务、安全避障任务与通信任务由外部事件触发驱动,一旦事件来临,运动控制器立即响应,保证AGV能遇障即停,无障立行等;运动控制器以每5 ms扫描读取一次导航传感器状态值,以此确定出当前偏距,然后控制器利用此偏距量计算出AGV驱动轮的控制速度;运动控制器以每1 ms判断一次当前驱动轮速度是否已达到控制速度,实时对驱动电机进行梯形调速,确保AGV能快速平稳地加减速到控制速度。任务单元之间以变时间切片轮换执行,安全避障等任务未被触发下处于监视挂起状态,不用消耗MCU资源。在系统控制过程中,运动控制器资源按需分配,提高了系统运作效率的同时,也保证了控制器响应的实时性。
3 监控管理系统开发
为了便于对AGV自动导引车的现场工作控制与状态监控,上层管理系统的开发是十分有必要的。从AGV车载系统的现场作业出发,利用MFC在车载工控机上实现了如图5所示的监控管理系统,主要分成工作站点管理、操控模式、运行状态、跟踪控制信息、避障状态与车载位姿状态六大功能模块。
图5 监控管理系统组成Fig.5 Components of management system
上层监控管理系统与底层控制器间通信的准确性与实时性是控制系统有效性的可靠保证。将报文分为报头、报文功能码、报文长度、报文控制数据、报文校验码与报尾,报文在发送中按照其组分顺次发送,接收方读取到报文后再逐步匹配校对,应答执行。以请求报告发送和接收读取报告报文为例,给出具体的软件实现,如图6所示。
图6 数据包发送与读取的软件实现Fig.6 Software realization of TXD&RXD
报文的发送与接收都在线程中完成,其中为避免重入“报文发送”函数而修改状态标志量,利用互斥量来实现线程同步。完成一次报文报告请求后,发送线程立即挂起,以能释放CPU资源给报文接收线程。在读取到报告报文有误或读完报告报文前,发送线程一直挂起,从而保证不浪费CPU资源。如果报告报文接收有误,立即重新请求;当在100 ms挂起时间内仍然请求不成功,将因请求超时而终止本次请求;一旦接收成功,请求成功完毕。在接收线程中,如果出现匹配错误,程序重新开始接收匹配报文。发送线程通过适时挂起操作释放资源给接收线程等其它线程,接收线程通过逐步接收匹配方式来检验报文,提高了通信过程的实时性与准确性。
4 现场实验
为测试所开发的AGV嵌入式控制系统的可行性与稳定性,本文对车载系统进行了实际现场作业的模拟实验。在地表铺设引导磁带,由曲线与直线组成,除了引导磁带外,还有用于模拟特殊控制指令的命令磁带,本实验的实训AGV车载及磁带轨道如图7所示。
AGV自动导向车在现场实训中,导航跟踪功能通过调整两驱动轮的速度来实现,本文测试了在不同速度下AGV的导航精度,测试结果为表1所示。其中编号1直行速度为0.3 m/s,拐弯速度为0.1 m/s;而编号2的直行速度为0.5 m/s,拐弯速度为0.35 m/s。
图7 AGV测试车载及磁带轨道Fig.7 Testing AGV and its magnetic tape track
表1 偏距统计Tab.1 Statistical error (mm)
从表1中可以看出,AGV慢速作业时的性能优于快速工作。因此在控制器设计中,拐弯时应当适当降低AGV的工作速度,以保证AGV不会冲离导航轨道。此外,根据表中的平均偏距与偏距标准差两统计量,可以得出在较高速时,AGV的动态跟踪行为良好,有效表明了本控制系统的稳定性与可行性。
5 结语
AGV是现代物流系统的热点研究对象。本文介绍了一种基于CAN总线,易于扩展的磁导航AGV控制系统。基于中断模式来设计运动控制器,增强了系统的执行效率与响应速度;实现了AGV车载的监控管理系统,可实时监控车载的运行状态、跟踪控制信息、避障状态与车载位姿状态等,易于交互管理。此外,采用模糊PD调节器保证了良好的导航精度。对本系统进行现场实测,系统通信稳定可靠,跟踪有效。
[1] 武启平,金亚萍,任平,等.自动导引车(AGV)关键技术现状及其发展趋势[J].制造业与自动化,2013,35(5):106-109,121.
[2] 姜涌,曹杰,杜亚玲,等.基于各种传感器的自动导引车的制导方式[J].传感器技术,2005,25(8):1-4.
[3] 彭光清,楼佩煌.磁导航AGV模糊控制器的研究[J].工业控制计算机,2012,25(9):43-44.
[4] 卢冬华.计算机控制自动导向小车(AGV)的设计与实现[D].上海:上海交通大学,2006.
[5] 王冰,胡彬,王春香,等.自动导引车车载控制系统的研究与设计[J].自动化仪表,2013,34(5):1-4. ■