杨文军
摘 要:本文提出了一种新型设计的基于射频识别(RFID)技术的定位模块,用于AGV寻迹机器人对路线编号进行识别,从而使机器人在网络路线中可以正确选取行驶路段,同时该定位模块对机器人在一些工位的停靠具有较精确的引导能力。还提出了AGV机器人在一些复杂网络路线中的路线规划和路线引导方法,为多AGV机器人的调度系统实现提供了基础。
关键词:RFDI;机器人定位;AGV;网络引导;调度系统
AGV(Automated Guided Vehicles)也被称之为无人引导车,属于轮式移动机器人系统[1]。近年来,由于工厂自动化生产的需要,对无人引导车的使用越来越广泛,例如智能仓库、车间柔性制造、物流系统等,同时对AGV机器人的路径规划、群体合作、智能调度提出了一些新的要求。要实现AGV在一些复杂网络路线的引导,准确可靠的定位较为关键,目前国内外对AGV定位方法的研究主要包括:视觉定位、超声波定位、红外定位等[2-3]。而本文将给出一种基于射频识别(RFID)技术的定位方法,相对于其他定位方法而言,射频识别技术具有较高的可靠性、准确性和快速性等优点[4]。在此基础上,我们设计的射频定位模块采用对偶式感应识别,使其具备对工位点的精确引导能力。
AGV机器人在一些较为复杂网络的派遣过程当中,需要对其进行路线的规划,并让机器人按照预定的路线行驶。这就需要机器人具备对路线编号进行识别的能力,这种对路线的识别过程也可称之为定位。在知道自己所处的路段之后,就可以在岔路时选择合适的线路,进行线路的切换,类似于铁道系统,选择合适的轨道行驶。
在网络路线上对机器人的引导能力也给机器人调度系统的实现提供了支撑,从而使多机器人具备协调合作的能力。
1 RFID射频定位模块设计
本AGV机器人采用机器视觉技术对地面铺设的线路进行识别,并具有双向引导能力,既可以正向寻迹,也可反方向寻迹。视觉识别只能对单条路线进行偏距、偏角的获取,从而引导机器人进行寻迹操作。而在一些复杂的网络线路当中,还需要机器人能够对路段编号和工位进行识别,从而引导机器人进行路段选择和工位停靠。在对路段的识别当中,由于机器人存在一定的运动速度,就需要定位识别模块具有良好的动态检测能力,即机器人在运动情况下仍能准确、快速识别;对于工位的识别,一些地方对机器人的停靠具有精度的要求,这还需要定位模块具有一定的精度识别能力。为此设计了一种对偶射频定位模块,不仅加大了感应区域范围的大小,还对AGV机器人具有一定精度的位置引导能力。
1.1 RFID定位模块组成
图1 RFID定位模块构成图
该模块可对所有满足ISO14443 typeA协议的射频卡片进行识别。模块主要包括:两块射频读写器、微控制器、射频读写器两块、CAN接口、RS232接口。RS232接口用来提供射频定位模块与机器人的数据交互,将射频卡片的数据信息和位置信息传输出去。CAN数据接口可实现射频模块的多节点数据通讯,并将其接入到CAN局域网中,以实现数据的分布式收集和控制,增强了模块的可扩展性。
1.2 RFID定位原理
该感应模块由两块射频读写器组成,每个读写模块都有一个近似圆形的感应范围,两个感应范围相交的部分为精确识别区域,可利用这个区域让机器人进行相对精确的位置停靠,能满足一些工位的精确性要求。定位模块将感应到的射频卡片所在区域发送给机器人,机器人根据卡片所在区域的引导,进行位置调整,当射频卡片处于A、B区域相交范围内时停止调整,就达到了较为精确的位置定位效果。可将两个读写模块的距离进行调整,控制A、B相交区域大小,从而实现精度的调节。同时这种设计也将原有的识别范围扩大了近一倍,使机器人在运动时有更多的时间对射频卡片中的信息进行获取,增加了识别的动态性能。
图 2 RFID定位模块感应区域图
2 AGV机器人的网络引导方法
在一些车间当中,为AGV铺设的路线可能会成较为复杂的网状结构,出现环路等情况,因此需要一种高效、快捷的网络引导方案,指导机器人的在复杂网络中的路段选取。AGV机器人的网络线路引导主要包括:车间网络地图构建、最短路径算法、机器人引导控制。
2.1车间网络地图构建
地图信息构建是指:将实际的路径线路图用数据方式进行描述,这样计算机够识别,从而进行运算和推理。
将地图中的路段或需要调度的工位点进行编号,由于每条路段两端岔路可供选择路段是不同的,因此路段具有方向性,所以还需要要定义路段的参考正方向。如图3所示,箭头方向为路段参考正方向:
图3调度地图
将地图信息用邻接矩阵描述:
(1)
邻接矩阵反应了调度点之间的距离信息,可为最短路径算法提供距离参数。但机器人的寻迹也具有方向性,邻接矩阵还不能为机器人指明从一个路段通向另一个路段的方法,因此可通过转移矩阵进行描述:
(2)
其中元素的绝对值为1、2、3分别表示机器人需要左转、直行、右转,元素符号为正值表示路段参考正方向所通向的路段,负值表示反方向所通向的路段。例如Trv(1,2)=1表示:机器人如果想从路段1到路段2,需要沿路段1的正方向行驶,在遇到岔路时左转。
2.2 最短路径规划算法
最短距离算法主要包括Dijkstra算法、Bellman-Ford算法、SPFA算法等。在此我们采用经典的Dijkstra算法。Dijkstra算法是一种基于贪心算法思想的单源最短路径算法,将所有点划分成两个集合,集合A存放算法已获得的最短距离点,其他点放入集合B中。
Dijkstra算法的主要步骤为:
(1)、进行距离初始化:记录直接与S点相连顶点的距离,不与S点相连的记为INF,开始时刻,只有S点在集合A中,其余在集合B中。
(2)、寻找局部最短点:在所有属于集合B的顶点中找到一个点K,使起点S到该点最近,,将其从B中移除,加入到A中,当前记录的S到K的距离即为最短距离。
(3)、更新顶点距离:根据A中新加入的点K,更新集合B中每个顶点到S点的距离。并记录他们的上一个点为K,以便进行路径的追溯。
(4)、重复执行(2)、(3),直到S点不能到达所有B中的点时跳出循环,结束算法。
图4 Dijkstra算法流程图
其中:dis[i]记录起点S到i点的距离;p[i]记录i点是否属于集合A;pre[i]记录i点最短路径的前一个点。
2.3 机器人的引导控制
在通过最短路径算法进行完路径规划后,还需要得到机器人的控制命令,指明机器人需要正寻迹还是反寻迹,遇岔路左转还是右转。这些指令可在机器人知道当前所在路段的方向后通过查询转移矩阵Trv(i,j)获得,若B(i)表示机器人在路段i的方向(值为1同向,值为-1反向),则机器人要从路段i到路段j的控制指令为:B(i)* Trv(i,j)。例如机器人当前在2号路段,方向相反,需要到达7好路段,则(-1)*Trv(2,7)=-3,即反向寻迹,遇岔路右转。
因此机器人对B(i)的获取较为关键,下面提供两种获取方法:
(1)、射频卡片次序感知:顺着路段方向依次摆放射频卡片A、B,机器人可以根据自己当前的寻迹方式和感应到两张射频卡片的先后次序获得B(i)。例如:机器人当前为反向寻迹,若先检测到卡B再检测到卡A,则机器人当前在路段的方向为正向,B(i)=1。
(2)、通过Trv矩阵递推:若已知B(k),则:
其中:k为i的前一个路段,初始方向需要预先设定。
3 结束语
本文采用的一种新型设计的射频定位模块提高了AGV机器人的定位可靠性,在一些工位上还具有较为精确的引导能力。同时对AGV机器人在一些复杂网络中的派遣提出了一种可靠实用的最短距离引导方案,也为多机器人的调度提供了理论基础。
参考文献
[1] 黄志球,自动导航车(AGV)发展综述,技术信息与应用
[2] 燕学智 王树勋,基于超声波与红外的AGV定位方法,吉林大学学报
[3] Gerasimos G. Rigatos,Derivative-free distributed filtering for integrity monitoring of AGV navigation sensors
[4] 李全林 郭龙岩,综述RFID技术及其应用领域 ,中国电子商情(RFID技术与应用)