基于Mecanum轮的全向运动视觉导引AGV研制
2015-05-07沈伟良
喻 俊,武 星,沈伟良
(1.中国船舶重工集团公司第713研究所,河南郑州 450015)(2.南京航空航天大学机电学院,江苏南京 210016)
随着物流行业的不断发展,自动导引车(automated guided vehicle,AGV)已经在很多领域中被广泛应用。AGV是指装有诸如磁传感器、激光、摄像机等导引装置,能够沿既定的路径行驶,在车体上安装有主控制器、无线通讯模块、安全保护装置以及各种物料移载平台的搬运车辆,是一种智能轮式移动机器人,广泛用于工厂自动化生产线、仓储物流、机场和港口的物料传送[1-2]。相比于其他导引方式,视觉导引具有精度高、成本低、路径设置柔性高等优点,且摄像机获取的信息丰富,因此能适应多分支路径场合,逐渐成为近年来研究的热点。
视觉导引AGV利用CCD摄像机采集地面路径信息,提取地面路径与摄像机视野中心的角度偏差与距离偏差,将偏差信息发送给控制器,控制器根据接收到的偏差信息来调整AGV车体的位姿,使车体始终保持在导引线上方。摄像机有垂直安装与倾斜安装两种方式。垂直安装方式定位精度比较高,但视野相对较小,若车体摆动幅度过大,路径容易脱离视野。倾斜安装方式由于采集的图像存在倾斜畸变,对其进行校正插值后,精度没有垂直安装方式的高,但能够获得更大视野,另外也能检测前进方向上是否存在障碍物,以便及时停车或进行避障。
AGV移动机构种类比较多,典型的有车轮式、履带式、腿脚式等[3],目前车轮式移动机构因其控制方便、结构简单、路况适应能力较强而得到广泛应用。车轮式移动机构利用电机控制两轮差速运动,能实现前进、转弯等功能,但单驱转弯需要较大转弯半径,且不能横向移动,使用有一定的局限性。Mecanum轮是瑞士工程师BengtIlon于1973发明的一种全向轮[4],采用Mecanum轮平台,能够实现AGV在任意方向上的转动和移动,能原地自传任意角度,方便侧移,运动灵活性非常高。
本文以Mecanum轮为平台,采用摄像机倾斜安装方式研制了一款全向运动视觉导引AGV。系统整体稳定可靠,设计了优化的图像处理算法,实时性和鲁棒性较好。
1 系统组成
基于Mecanum轮平台的全向运动视觉导引AGV电气系统由视觉模块、运动控制模块、无线通信模块、电源模块等4部分组成,如图1所示。
车体机械结构部分包括车架本体、4个直流有刷伺服电机以及4个Mecanum轮。4个Mecanum轮在车体前后两两平行布置,每个电机独立驱动一个Mecanum轮,布置在前侧的两轮为共轴摆式悬挂结构,即使AGV运行在不平整路面,4个驱动轮也能有效着地并提供足够的驱动力。
图1 AGV硬件结构框图
视觉模块包括1个CCD摄像机、1个环形光源以及1块核心为TMS320 DM642的DSP处理板。CCD摄像机为图像采集设备,将采集到的路径图像送入DSP进行处理。环形光源照射地面路径,保证摄像机采集的图像具有足够的亮度,同时能够消除外界杂光的干扰。TMS320DM642是一款专门应用于图像采集与处理领域的高性能定点DSP,具有3个视频采集通道及其他丰富的外围扩展接口,主要用于处理摄像机传来的路径图像,提取路径,得到路径相对视野中心的角度偏差与距离偏差。
运动控制模块包括1块以STM32F407为核心的运动控制板和1个四轴电机驱动器。STM32F407芯片通过RS232串口与DSP通信,接收DSP传递过来的偏差控制信号,根据偏差、信号以及导引策略计算每个电机的速度,并把速度控制信息发送至四轴电机驱动器来控制电机转速。
无线通信模块包括2个DRF系列ZigBee模块。DRF系列ZigBee模块运行ZigBee2007/PRO协议,上电即用,能自动组网。2个ZigBee模块一个设为Coordinator(主),另一个设为Router(从),实现主机与运动控制板间的通信。
电源模块采用1个DC12V的锂电池以及1个电源与总线接口,为AGV各元器件、设备进行集线、供电。
2 工作原理
本文研制的视觉导引AGV首先利用CCD摄像机采集地面路径图像,对图像进行预处理以及图像分割之后获得路径特征,在判断出视野中存在路径后,将路径相对视野的角度偏差与距离偏差传递给运动控制板,运动控制板首先判断偏差是否大于预设阈值,若大于预设阈值,则调整电机转速,减小车体与导引线的偏差值,使车体稳定运行在导引线上方。AGV系统控制流程如图2所示。
图2 系统控制流程图
2.1 视觉模块
在地面上铺设蓝色色带作为导引路径,由CCD摄像机作为图像采集设备,其输出信号为PAL制式模拟信号,通过TVP5150视频解码芯片解码成YCbCr格式的数字信号,因为蓝色路径在Cb(蓝色色度)分量空间中与地面背景有着较大的对比度,故提取图像的Cb分量进行图像处理。
由于CCD摄像机镜头存在畸变,首先需要对图像进行畸变校正。采用平面模板标定法对相机进行标定,获得标定参数以及镜头畸变系数,确定原始图像中的像素点在畸变校正平面中的实际位置,消除由镜头带来的桶形畸变[5]。本文采用大小为7×11的矩形格子作为标定板,每个小单元为20mm×20mm的正方形。畸变校正前后的标定模板图像如图3(a)、(b)所示。
在完成图像的畸变校正后,需要对图像进行阈值分割,提取路径信息。由于使用了环形光源,采集到的图像会存在高光现象,即靠近光源中心的图像会过亮[6]。本文采用基于光照约束的非均匀光照补偿算法消除非均匀光照及高光现象的影响[7],然后对图像进行分段阈值分割。分割完成后对二值图像进行先膨胀后腐蚀的形态学处理,可消除路径图像中的孔洞,得到平滑光整的路径边缘。如图4所示。
图3 透视畸变校正前后的图像
图4 路径图像二值化图
得到二值化的路径图像后,便可以采用场扫描法得到路径信息了。场扫描法也叫行列扫描法,即沿着水平和垂直方向扫描图像,可以得到路径宽度及路径中点信息,将路径简化为直线模型x=y×tanΔθ+Δx,采样n个路径中心点行、列坐标分别为yi和xi,图5为角度偏差与距离偏差的定义,采用最小二乘法计算路径相对视野的角度偏差和距离偏差为
图5 路径偏差定义
AGV在运行过程中由于任务调度的需要,会经过多分支路径,并要求能够准确识别多分支路径,灵活实现路径切换。本文采用基于霍夫变换的多分支路径聚类分析方法[8],准确实现了二分支、三分支路径的识别。
2.2 运动控制模块
视觉模块将路径偏差信号以十六进制形式通过RS232串口传递给运动控制板。运动控制板核心ARM芯片每隔50ms读取一次与DSP通信的串口1数据以及与上位机ZigBee通信的串口2数据。根据串口2的数据决定AGV的运行任务及跟踪方式,根据串口1的数据进行车体位姿纠偏,实现导引目的。图6为Mecanum轮全方位运动平台结构俯视图。
图6 Mecanum轮全方位运动平台结构俯视图
(vx,vy,ωo)T为 AGV 车体运动速度,(ω1,ω2,ω3,ω4)T为各轮的转速。每个车轮的半径均为R,车轮中心与车体中心的水平和垂直方向的距离分别为l和L,辊子轴线与轮毂轴线的夹角α=45°。可以得到Mecanum轮平台的正运动学方程[9]为:
逆运动学方程为:
运动控制模块进行纠偏时,根据定位精度要求及AGV运行的平稳性要求,将角度偏差阈值范围设定为-10°~ +10°,距离偏差阈值范围设定为-10mm~+10mm,并且在纠偏时优先进行角度偏差的纠偏,调整车体姿态。由于摄像机采集到的是前方路径的偏差信息,因此把车体与前方视野区域作为整体进行考虑,确保在纠偏过程中路径不偏离视野。
2.3 无线通信模块
无线通信模块负责上位机与运动控制模块间的通信。上位机发送的控制指令主要为启动/停止命令以及任务切换命令,以5个字节为单位组成数据帧传送。运动控制模块反馈给上位机的内容为指令接收确认、任务接收确认、运行状态以及故障状态。
3 实验验证
图7所示为全向运动视觉导引AGV实物图。仿照工厂环境,设计布置了一个AGV运行路径,如图8所示。并结合实际需求,设计了4个任务。其中,任务1为默认任务,即输送任务,AGV沿着导引路径前行,运输货物;任务2为自动充电任务,AGV收到上位机指令后,将默认任务改为充电任务,到达充电点时返回一个信号给上位机,充电任务结束后切换回默认任务;任务3为协作装配任务,AGV到达装配点时停止,反馈给上位机一个信号,开始装配任务,装配任务结束后切换回默认任务;任务4为避障任务,当检测到障碍物时,AGV减速停车,在避让点反馈一个信号给上位机,原地旋转360°,观察周围环境,根据环境状况做出避障决策,若前方障碍物较小,则绕行避障,否则在视野中寻找另外空闲的导引路径,避开原故障路径,避障任务结束后切换回默认任务。
图7 视觉导引AGV实物图
图8 路径示意图
图9 为AGV运行时实时采集到的距离偏差和角度偏差,采样频率为5帧/s。由图分析可知,AGV在走直线路径时,其距离偏差与角度偏差均比较平稳,距离偏差控制在±10mm以内,角度偏差控制在±3°以内。当AGV进入圆弧转弯路径时,由于摄像头装在AGV前部,圆弧路径与视野中心存在着比较大的角度偏差与距离偏差,但此时AGV车体本身还处于直线路径上方,随着AGV开始进行纠偏,角度偏差与距离偏差开始减小,直到AGV走出圆弧路径,角度偏差与距离偏差开始恢复在小范围内波动。整个运行过程中,AGV车体始终处于导引线上方。图9中角度偏差较大的两个峰,即是AGV进入两个圆弧路径的反映。实验结果表明,本文设计的全向运动视觉导引AGV能够实现准确可靠的导引,能准确识别多分支路径并灵活及时地切换。
图9 AGV距离偏差与角度偏差图
4 结论
本文基于Mecanum轮平台研制了一款全向运动视觉导引AGV,利用CCD摄像机及DSP处理器实现了路径特征和导引数据的提取,利用STM32F407处理器实现了Mecanum轮的运动控制。最后通过实验,实现了AGV的准确导引,验证了导引控制算法的有效性,同时开发了AGV的自主避障功能。本文研制的AGV运行灵活,适用于作业空间狭小的工业应用场合。
[1] 王荣本,储江伟,冯炎,等.一种视觉导航的实用型AGV设计[J].机械工程学报,2002,38(11):135 -138.
[2] Wu Xing,Lou Peihuang,Yu Jun,et al.Intersection recognition and guide-path selection for a vision-based AGV in a bidirectional flow network[J].International Journal of Advanced Robotic Systems,2014,39(11):1-17.
[3] Komoriya K,Yokoi K,Kotoku T.Motion control of omnidirectional mobile manipulator for indoor environment[C]//Proceedings of the IEEE International Workshop on Robot and Human Interactive Communication.Tsuk uba:IEEE,2001:274 -279.
[4] Ilon B E.Wheels for a Course Stable Self- propelling VehicleM-ovable in any Desired Direction on the Ground or Some Other Base,U.S.[P]3876255.
[5] Zhang Zhengyou.Flexible camera calibration by viewing a plane from unknown orientations[C]//Proceedings of the 1999 7th IEEE Int.Conference on Computer Vision(ICCV'99),Kerkyra,Greece.Kerkyra:IEEE,1999:666 -673.
[6] 杨旭,楼佩煌,武星,等.基于光照约束的AGV视觉导引非均匀光照增强方法[J].机械科学与技术,2013,32(12):1752-1757.
[7] 石陈陈.双驱动视觉导引AGV路径特征提取与协同导航[D].南京:南京航空航天大学,2015.
[8] Muir P F,Neuman C P.Kinematic modeling for feedback control of an omnidirectional wheeled mobile robot[C]//Proceedings of the 1987 IEEE international conference on robotics end automation.Paris:IEEE,1987:1772 -1778.