发明内容
针对上述的不足,本发明提供一种基于无线射频识别技术的AGV路径规划方法,旨在多目标情况下,一次完成对所有目标点的规划,并按移动距离由近及远依次运行,以提高单台AGV小车的使用效率,降低运行成本。
本发明的目的通过以下技术方案来实现:基于无线射频识别技术的AGV路径规划方法,首先在沿引导轨迹一侧的地面上布置多个间隔的电子标签作为小车行驶路径上的地标,通过安装在AGV小车下方与地面电子标签同侧的阅读器读取小车的地标信息到车载控制器内,且地标与阅读器的垂直距离应保持在10mm之内。其次还包括:
定义标记标号与地标值的关系矩阵,其特点是:标记标号是人为规定的一组以1开始的连续编号,每一个地标值都有一个唯一的标记标号与之对应,矩阵的每一行对应一个标记标号,矩阵共有四列,每一行存放一个地标值;
定义路径号与路径之间的关系矩阵,其特点是:路径号是人为规定的一组从1开始的连续编号,矩阵的每一行对应一个路径号,矩阵的列数等于总的标记标号的个数加1,每一行存放一条路径,每行的第一个单元存放该行路径中标记标号的个数,剩下的单元按小车行驶的方向连续存放属于该路径的RFID标记标号,最后多出的单元位补零。路径号与路径中包含的路段数成正比,路径号越小,所包含的路段数越少,反之则越多。故路径号越小,包含的轨迹越短。其中路径由一组首尾相连的封闭路段组成,而路段表示了沿引导轨迹方向相邻两个RFID之间的轨迹长度;
定义表示每一个标记标号与每一路径所属关系的隶属矩阵,其特点是:矩阵的每一行表示一个标记标号,矩阵的每一列表示一条路径。行数按标记标号从上往下递增排列,列数按路径号从左往右递增排列,若某一标记标号包含在某一路径内,则该行该列所对的矩阵单元为1否则该行该列所对的矩阵单元为零;
定义目标站点与标记标号的关系矩阵,其特点是:矩阵的行数等于目标站点的个数,矩阵共两列,对每一行而言,第一列存放人为规定的目标站点号,第二列存放与该目标站点有对应关系的标记标号;
定义在不同路径中小车左转、右转和直行的关系矩阵,主要用于描述小车在不同路径中的转弯信息,其特点是:矩阵的行数等于总的标记标号数,每一行代表一个标记标号,矩阵的列数为路径数,其中1表示直行、2表示左转、3表示右转而0表示无效;
在首次上电,小车捕捉到初始点,将初始点作为当前点后,系统根据隶属矩阵寻找一个不等于初始点且被所有路径都包含的标记标号作为中间点后,还包括以下的步骤:
(1)、获取小车起始点和目标站点所对应的标记标号;
(2)、是否有多个目标站,若存在多个目标点,则执行第3步骤,否则执行第20步骤;
(3)、创建目标点一维列矩阵,矩阵的行数等于目标点的个数,并将所有目标点的标记标号依次存入目标点一维列矩阵中;
(4)、将目标点一维列矩阵中的标记标号按行号由低向高顺序依次取出,根据取出的标记标号查隶属矩阵,找出目标点的对应行单元分别与起始点的对应行单元进行与运算,所得的结果组成新的矩阵A;矩阵A的行号与目标点一维矩阵的行号相同,矩阵A的列号与隶属矩阵的列号相同;
(5)、在矩阵A中查找全为1的最小列,若没有找到则执行第6步骤,否则执行第19步骤;
(6)、设置多路径标志有效;
(7)、矩阵A中所有行单元全为零否,若不全为零,则执行第9步骤,否则执行第8步骤;
(8)、取出矩阵A中所有单元均为零的行的行号,并根据该行号在存放目标点的一维列矩阵中找到该行号所对应的目标点的标记标号,根据标记标号在隶属矩阵中找出对应行并组成新矩阵B,然后执行第13步骤;
(9)、在矩阵A中是否所有行中至少有一个单元不等于零,若是则执行第10步骤,否则执行第11步骤;
(10)、矩阵A就等于矩阵B,然后执行第13步骤;
(11)、在矩阵A中找出不全为零的行组成新的矩阵C,同时,在矩阵A中找出全为零的行的行号,并根据该行号在存放目标点的一维列矩阵中找到该行号所对目标点的标记标号,然后根据标记标号在隶属矩阵中找出对应行并组成新矩阵D;
(12)、矩阵C和矩阵D合并生成新的矩阵B,然后执行第13步骤;
(13)、在矩阵B中查找全为1的最小列,若找到全为1的最小列,则执行第17步骤,否则执行第14步骤;
(14)、在矩阵B中查找含1最多的最小列,取该列列号为一路径号,并将该列中为1的行剔除,然后将剩下的行重新组成矩阵B;
(15)、矩阵B的行数为1否,若矩阵行数为1,则执行第16步骤,否则执行第14步骤;
(16)、取该行中含1的最小列的列号为一路径号,然后执行18步骤;
(17)、取该列的列号为一路径号,然后执行18步骤;
(18)、路径号有重复否,若有重复,则去掉重复的路径号,然后执行第25步骤,若无重复,则直接执行第25步骤;
(19)、设单路径标志有效,、取含全为1的最小列的列号为路径号,然后执行第25步骤;
(20)、查隶属矩阵,找出起始点与目标点所对的行;
(21)、将起始点所对的行与目标点所对的行进行与运算,得一维矩阵A,该矩阵的列与隶属矩阵的列相同;
(22)、与运算结果全为0否,若结果全为0,则执行第24步骤,否则执行第23步骤;
(23)、设单路径标志有效,取一维矩阵A中不等于0的最小列的列号为路径号,然后执行第25步骤;
(24)、设多路径标志有效,取隶属矩阵中包含起始点与目标点的最小列的列号为路径号,然后执行第25步骤;
(25)、创建路径号一维矩阵,存放路径号,其的维数等于总的路径数加1;
(26)、路径号一维矩阵的第一个元素用于存放实际路径的个数,第二个元素用于存放小车当前位置所属的路径号,然后把剩下的路径号按从小到大排序后依次放入矩阵剩下的位置中,然后执行第27步骤;
(27)、令路径号一维矩阵的下标值为2;
(28)、获取路径号一维矩阵下标值所对应的路径号,根据路径号与路径的关系矩阵生成以小车当前标记标号的下一个标记标号为第一个元素的当前路径一维矩阵,矩阵的维数等于总的标记标号的个数,在记下该路径中最后一个不等于零的元素值后,令矩阵下标值为1,根据在不同路径中小车左转、右转和直行的关系矩阵获取初始点的转弯信息并控制小车是否转弯;若单路径标志有效,则执行第36步骤,否则多路径标志有效,则执行第29步骤;
(29)、若小车运行且捕获到地标值,则将地标值与当前路径一维矩阵下标值所对应的标记标号进行比较,若插补标记无效且为中间点,则路径号一维矩阵的下标值加1,然后执行第30步骤;否则若插补有效或不是中间点则将当前路径一维矩阵的下标值加1,然后执行第31步骤;
(30)、判断路径号一维矩阵的下标值减1后是否等于路径号一维矩阵第一个元素的值,若不等于则判断是否为目标点,若是目标点则将此目标点的停车处理标志置1,判断所有目标点的停车处理标志是否全置1,若全为1,则规划结束,否则执行第28步骤;若不是目标点则直接执行 第28步骤,若路径号一维矩阵的下标值大于路径号一维矩阵第一个元素的值则执行第32步骤;
(31)、若为目标点,则将此目标点的停车处理标志置1,判断所有目标点的停车处理标志是否全置1,若全为1则规划结束,否则根据在不同路径中小车左转、右转和直行的关系矩阵获取初始点的转弯信息,控制小车是否转弯,同时执行第29步骤;
(32)、若为目标点,则将此目标点的停车处理标志置1,判断所有目标点的
停车处理标志是否全置1,若全为1则规划结束,否则执行第33步骤;
(33)、若为当前路径一维矩阵的最后一个标记标号,则执行第35步骤,否则执行第34步骤;
(34)、若小车运行且捕获到地标值,则将地标值与当前路径下标值所对应的矩阵值比较,若为目标点,则将此目标点的停车处理标志置1,判断所有目标点的停车处理标志是否全置1,若全为1则规划结束,否则继续执行第34步骤;
(35)、判断所有目标点的停车处理标志是否全置1,若全为1则规划结束,否则,置插补标记有效,同时置路径号一维矩阵的下标值为1,然后执行第28步骤;
(36)、若小车运行且捕获到地标值,则将地标值与当前路径下标值所对应的矩阵值比较,若为目标点,则将此目标点的停车处理标志置1,判断所有目标点的停车处理标志是否全置1,若全为1则规划结束,否则根据在不同路径中小车左转、右转和直行的关系矩阵获取初始点的转弯信息,控制小车是否转弯,同时继续执行第36步骤。
本发明通过上述方法,便能在多目标情况下,一次完成对所有目标点的规划,并按移动距离由近及远依次运行,能够提高单台AGV小车的使用效率,降低运行成本。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,其包括:环形的轨道(图中为三个环形轨道,但并不限于三个,图中实施例轨道为磁带轨道,但并不限于磁带轨道)和AGV小车C,其特征在于,还包括:与环形轨道相邻的多个间隔设置的RFID地标(图中为十四个,但并不限于十四个),以及多个目标站点(图中为五个,但并不限于五个,图中目标站点的编号是连续的,但并不限于连续,可以是任意的一组数)。
小车C沿所述磁轨道行驶的具体实现中,该小车包括一个磁导航传感器,用于扫描磁导航轨道,以引导小车C沿轨道行驶;该小车C还包括一个RFID阅读器,用于实时的扫描RFID地标,以获取小车C的位置,另外该小车包括一个红外避障传感器,用于传送红外避障信号,当该小车行驶过程中,如果前方有障碍物时,引导小车停止或减速以避免相撞;该小车C还包括一个站点传感器,用于接收小车C的到站信息,实现小车准确停站;该小车还包括一个无线zigbee收发器,用于接收来自手持遥控器的目标点信息。
在小车投入运行前,根据实际的运行轨道,通过路径配置软件,对小车的运行轨道进行设置,并将设置结果存放于小车中,以便小车在规划和运行时使用。根据图1所示的实施例结构图,具体的设置如下:
建立标记标号与地标值的关系矩阵,其特点是:标记标号是人为规定的一组以1开始的连续编号,每一个地标值都有一个唯一的标记标号与之对应矩阵的行号等于标记标号,矩阵共有四列,每一行存放一个地标值。
结合图1的实施例,该矩阵为1所示:
(1)
建立路径号与路径之间的关系矩阵,其特点是:路径号是人为规定的一组从1开始的连续编号,矩阵的行号等于路径号,矩阵的列数等于总的标记标号的个数加1,每一行存放一条路径,每行的第一个元素存放该行路径中标记标号的个数,剩下的元素按小车行驶的方向连续存放属于该路径的RFID标记标号,最后多出的矩阵位补零。路径号与路径中包含的路段数成正比,路径号越小,所包含的路段数越少,反之则越多。故路径号越小,包含的轨迹越短。其中路径由一组首尾相连的封闭路段组成,而路段表示了沿引导轨迹方向相邻两个RFID之间的轨迹长度,结合图1的实施例,该实施例共有三条路径,从左向右依次为路径1、路径2和路径3,该矩阵为2所示:
(2)
建立表示每一个标记标号与每一路径的所属关系的隶属矩阵,其特点是:矩阵的每一行表示一标记标号,矩阵的每一列表示一条路径。行数按标记标号从上往下递增排列,列数按路径号从左往右递增排列,若某一标记标号包含在某一路段内,则该行该列所对的矩阵元素为1否则该行该列所对的矩阵元素为零,结合图1的实施例,该矩阵为
(3)
建立目标站点与标记标号的关系矩阵,其特点是:矩阵的行数等于目标站点数,矩阵共两列,对每一行而言,第一列存放人为规定的目标站点号,第二列存放与该目标站点有对应关系的标记标号,结合图1的实施例,该矩阵4如下所示:
(4)
建立在不同路径中小车左转、右转和直行的关系矩阵,主要用于描述小车在不同路径中的转弯信息,其特点是:矩阵的行数等于总的标记标号数,每一行代表一个标记标号,矩阵的列数为路径数,其中1表示直行、2表示左转、3表示右转,而0表示无效,结合图1的实施例,该矩阵5如下所示:
(5)
在首次上电后,小车捕捉到初始点,将初始点作为当前点后,系统根据隶属矩阵寻找一个不等于初始点且被所有路径都包含的标记标号为中间点,结合图1的实施例,小车在图示位置时捕捉到RFID(0、154、245、100),根据矩阵1可知为标记标号点3,将其作为初始点,然后根据矩阵3,系统取9点为中间点(1、2、10、11、12也可以作为中间点)
获取由遥控器传来的目标点信息,假设由遥控器给出的目标点为2、3、4点(可以是五个目标点中的一个或任意多个),根据矩阵4可知对应的标记标号分别为1、13、5,将其存入到目标点一维列矩阵中,如矩阵6所示: (6)
以起始点的标记标号为行数,在矩阵3中取出相应行元素分别同以矩阵6中的标记标号为行数,在矩阵3中取出的相应行元素进行与运算,得到新矩阵,结合图1实施例,可知
矩阵中每一行元素和 矩阵的行元素对应进行与运算得到新的矩阵7,如下所示:
(7)
由矩阵7可知,第二行所有元素均为0,根据矩阵6第二行对应的元素为13,取矩阵3的第13行元素替换矩阵7的第二行元素,组成新的矩阵8,如下所示:
(8)
在矩阵8中,含1最多的最小列为第2列,取该列列号作为一个路径号,然后剔除该列中含1的所有行,剩下的行组成新的矩阵,如下所示:
,为一维列矩阵,则取该行中不为1的最小列的列号1为另一个路径号。同时根据小车C当前点3获取的矩阵3第2行不等于1的最小列为2可知,小车要从当前点处出发,走完所有的目标点,至少要走2和1两个路径,并且先走2路径,然后再走1路径,将结果存放于路径号一维矩阵9中,其中,第一个元素为所含路径的个数,具体如下所示:
(9) ,
置多路径标志有效后,从矩阵9中取出第二个元素,并令该矩阵一维下标值为2,然后根据当前点位置和矩阵2,获得当前路径一维矩阵10,如下所示:
(10)
在矩阵10中令该矩阵的下标值为1,小车的当前值为3,根据矩阵6,当前值3不是目标点,当前路径号为2,根据矩阵5,第3行第2列的值为3,则小车沿轨道右转运行,若小车捕获RFID地标值(0、154、191、246),根据矩阵1为标记标号15,同时根据矩阵10其下标所对应的矩阵值也是15,即实际接收点与规划点相同,对矩阵10的下标值加1,小车的当前值替换为15,同时由矩阵6知,为目标点,小车C减速停车,同时置该目标点的停车处理标志置1,当小车C到达4站点时,站点传感器发出到站信息,小车C停车。当小车C再次启动时,因小车所有目标点的停车标志并没有全部置1,在多路径标志有效的情况下,该点不是中间点,故根据当前点、当前路径由矩阵5,第15行第2列的值为1,小车直行,依次通过16和8,每通过一个地标点都要对是否是目标点、小车的转向、实际接收点是否与规划点相符、更新当前点、对矩阵10的下标值加1进行操作。当小车通过地标值9时,因多路径标志有效,系统判断该点为中间点,因此令矩阵9的下标加1,该下标值加1后的值与矩阵9第一个元素的值相等,说明现在可执行另一路径,根据矩阵9,可知此时该矩阵下标所对应的标记标号为1,然后根据当前值9和矩阵2,获得当前路径一维矩阵11,如下所示:
(11)
在矩阵11中令该矩阵的下标值为1,小车的当前值为9,根据矩阵6,当前值9不是目标点,当前路径号为1,根据矩阵5,第9行第1列的值为1,则小车沿轨道直行,然后依次通过10、11、12、1、2、3,每每通过一个地标点都要对是否是目标点、小车的转向、实际接收点是否与规划点相符、更新当前点、对矩阵10的下标值加1进行操作,且在站点停车处启动后,要对所有目标点的停车标志是否全部置1进行判断,在本实施例中,当小车C在停车点3处启动时,所有目标点的停车标志已全部置1,则小车C已完成了所有的目标任务,小车将去指定待车点待车,等待下一次的运行,整个路径规划结束。