摘要: 为了解决复杂路径下叉车式 AGV 的导引问题,提出一种车辆动作指令算法。与传统方式将单一动作指令写进 RFID 电子标签内不同,该算法生成的指令存储在车载控制系统并以标签位置识别作为指令执行条件。在建立调度地图模型并对标签编码基础上,进行路径规划,设计动作指令算法。采用 C 语言编程,选择基于 ARM 架构的车型和 RC522 射频识别模块对该算法验证,试验表明,车辆能够识别标签信息并执行相应的动作指令,执行不同任务时在同一标签处可以实现不同动作,提高了标签利用率,可较灵活地完成调度任务。


关键词:叉车式 AGV、磁导引、电子标签、编码标签、利用率、动作指令算法

0 引言

对于物件搬运 AGV(自动导引车),导引和定位是其关键研究部分。常用的导引方式有磁导引[1]、视觉导引[2]、激光导引[3]等,定位方式有二维码定位[4]、RFID 射频识别定位[5]、超声波定位等,其中磁导引磁条铺设方便、路径变更容易,射频识别不易污染、对声光无干扰,因此集成 RFID 技术的磁导引 AGV 在自动化生产运输中的应用广泛。

 

针对磁导引中的 RFID 技术,已有诸多学者进行研究。顾佳炜等人[6]通过在电子标签中写入标签编号和运动控制参数实现 AGV 导航。李季[7]采用 RFID 辅助定位并借助横向磁条的方式完成车辆转弯、停车等动作。罗雨佳[8]将 AGV 转弯动作模式固定,利用标签信息实现转弯 90°和 180°。

 

上述文献大多是把动作指令写在电子标签内,由于保存的指令信息单一,标签利用率低,当实际路径复杂时需布置更多标签,不利于路径规划和导引。本文在前人研究基础上,以解决复杂路径下 AGV 的导引问题为目标,提出一种车辆动作指令算法,根据调度任务生成动作指令并保存在车载控制系统,标签仅作为位置识别以提高车辆行驶灵活性。

 

1 行驶地图建模

1.1 地图组成

地图由导引磁条、工位组成,如图 1 所示,二者分别用线条和矩形表示。g 表示工位,数量为 h,按式(1)对其编号(图中小矩形右侧数字),则工位集合可以表示为 G={g1,g2,g3,…,gh}。l 表示线路,数量为 n,规定横向、纵向线路编号分别用偶数、奇数表示并按式(2)对其编号(图中圆圈内的数字),线路集合为 L={l1,l2,…,ln}。

 

 

基于本文的应用场景规定 AGV 除了进入工位时货叉朝前向前行驶外,其余情况下均后退行驶,在线路交叉处、进工位时减速行驶。

 

 

1.2 电子标签布置方式

1.2.1 工位相关标签布置

图 2 中 pi1,pi2,…,pi7 表示电子标签位置。图 2(a)为 AGV 直行从左侧进入工位 gi,规定依次在 pi3、pi5、pi4、pi7 处分别减速、由后退行驶变为前进、前进右转、停车。图 2(b)为 AGV 后退左转出工位,依次在 pi7、pi6、pi1 处分别后退直行、后退左转、加速。AGV 从工位右侧进、出和其从左侧进、出相似。定义 pik 是和工位 gi 相关的第 k 个标签(k∈{1,2,…,7}),按图 2 布置,其组成用矩阵 S1 表示为:

 

 

 

1.2.2 线路标签布置

在每条线路两端各放置两个电子标签。Sja 表示线路 lj 上的第 a 个标签,a={1,2,3,4}。规定 Sj1、Sj2、Sj3、Sj4 在 lj 上依次沿坐标轴正方向布置,Sj1 和 Sj4 之间的线段为线路 lj 的范围。车辆在 Sj1、Sj4 处执行转弯指令以进入其他线路,在 Sj2、Sj3 处执行加速或减速指令使其进入 lj 时加速,离开 lj 时减速。所有线路上的标签用式(4)所示矩阵 S2 表示,最终地图中所有标签的布置情况如图 3 所示。

 

 

 

2 动作指令算法

首先对标签编码,然后根据调度路径确定经过每个标签的顺序,最后根据标签排序生成动作指令。

 

2.1 电子标签编码

电子标签编码格式如图 4 所示,其中 x、y 表示标签在地图中的坐标,‘pro’表示属性,即车辆在标签处可执行的动作指令种类,‘line’表示所在线路,‘sit’表示相关工位号。根据 AGV 在线路上的行驶方式规定 Sj1、Sj4 的‘pro’位为‘01’,表示转弯,Sj2、Sj3 的‘pro’位为‘02’表示加减速。Sja 的‘line’位为其所在线路编号 j,‘sit’位用零表示。标签 pik 的‘pro’位根据 AGV 进出工位方式将其用表 1 表示,‘line’位为 pi1 所在的线路编号,‘sit’位为和其相关的工位编号 i。

 

 

 

2.2 路径建立与选择

 

 

其中,w 表示路径,数量为 m(m≥m0),则所有路径组成的矩阵可表示为 W=[w1,w2,…,wm]T。ltx 表示路径 wt 的第 x 条线路,其中 wt={lt1,lt2,…,ltx,…},t∈{1,2,…,m},ltx∈L,设第 t 条路径所包含的线路数量最大且为 n1,则 W 为 m×n1 阶矩阵。对于线路数目不足 n1 的,不足部分用 0 表示,路径矩阵用式(6)表示:

 

 

2.3 调度路径标签排序方式

对任意两条相连接线路上标签,第一条和第二条分别用 lu、lv 表示。lu 上的标签为 Su1、Su2、Su3、Su4,lv 上的标签为 Sv1、Sv2、Sv3、Sv4。r0 表示从 lu 到 lv 经过的标签顺序。设 Su1 坐标为(x1,y1),Sv1 坐标为(x2,y2),经过二者坐标比较可推断出 lu 和 lv 的相对位置关系:

 

第一种情况:x1>x2,y1>y2,如图 5(a)、图 5(b)所示,r0={Su4,Su3,Su2,Su1,Sv4,Sv3,Sv2,Sv1}。

 

第二种情况:x1>x2,y1

 

 

对于路径 wβ,首先根据式(4)选出每段线路上的标签,然后按照车辆在该路径上经过每个标签的顺序排列,步骤如下:

 

(1)将 lβ1、lβ2 分别视为第一条、第二条线路,根据坐标关系判断出两者位置关系。按照两条线路标签排序规则进行排序,并将排序结果放在数组 r1 中;

(2)将 lβ2、lβ3 分别视为第一条、第二条线路进行排序,将 lβ3 标签的排序结果添加在数组 r1 中;

(3)依次对线路 lβ3、lβ4,lβ4、lβ5,…,jsj3-t6-s1.gif 按照类似步骤(2)的方式排列标签。

 

根据 AGV 进出工位的方式删除 r1 中未在 lj1 和 lj2 上经过的标签,此时 r1 中元素个数用 b1 表示。

 

2.4 动作指令

动作指令格式如图 6 所示,前 5 位为电子标签编码,‘ins’位为 AGV 在前 5 位对应的标签处执行的动作指令,按其功能不同进行编码,如表 2 所示。AGV 从起始工位 gs 到目标工位 ge 过程中,按照出工位、路径上行驶、进工位的顺序行驶,RFID 阅读器持续读取地面标签信息并将其传递给车载控制系统,通过依次按条件执行指令完成调度任务,条件为当前读取的标签信息和要执行指令的标签编码位一致。

 

 

 

2.4.1 出工位动作指令

R1 表示出工位动作指令集合。如果 AGV 从左侧出工位,则在 S1 第 S 行‘pro’位为‘09’、‘08’、‘03’的标签编码后分别添加‘00’、‘01’和‘05’,否则在 S1 第 S 行‘pro’位为‘09’、‘08’、‘07’的标签编码后分别添加‘00’、‘02’和‘05’,并依次作为 R1 中第 1、2、3 条动作指令。

 

2.4.2 路径动作指令

分别对 r1 中 b1 个标签按‘pro’位确定动作指令。R2 表示路径动作指令集合,图 7 为其判断流程。

 

 

2.4.3 进工位动作指令

R3 表示出工位动作指令集合。AGV 从左侧进工位,在 S1 第 e 行‘pro’位为‘05’、‘07’、‘06’、‘09’的标签编码后分别添加‘06’、‘07’、‘04’、‘08’;否则在该行‘pro’位为‘05’、‘03’、‘04’、‘09’的标签编码后分别添加‘06’、 07’、‘03’、‘08’,并依次作为 R3 中第 1、2、3、4 条指令。

 

每次执行任务的完整指令集合用 R 表示,则:

 

 

3 试验结果及分析

在图 7 中选择工位 12、13、17、18 进行试验。标签编码如图 8 所示,前两位为 x 坐标,第 3~4 位为 y 坐标,第 5~6 位表示属性,第 7~8 位为其所在线路编号,最后两位为和其相关工位编号。

 

 

在 VC++6.0 中编写车辆动作指令程序,选取基于 ARM 架构并集成了 RC522 射频识别模块的模型车作为试验对象。图 9 为铺设导引线和放置标签后的实际车辆运行图。试验表明,车辆能够按照预期的目的完成调度任务。图 10 为将动作指令写入标签内的导引方式,AGV 通过执行标签内指令完成加减速等动作。因地面标签布置结束后其内部指令信息已确定,所以车辆经过每个标签时仅能完成某个固定动作,导引方式相对单一,灵活性差。

 

 

选取不同的起始工位和目标工位进行组合,代表不同调度任务,在 C++6.0 中其每次运算结果如图 11 所示,每条动作指令前 10 位为电子标签编码,最后两位为 AGV 在该标签执行的动作。

 

 

由图 11(a)、11(b)可知任务 1、2 的行驶路线分别为 20→22→24,20→22→21→18,AGV 均经过了标签 4610012200,任务 1 中没有该标签对应的指令,AGV 在此处不执行任何指令,从线路 22 保持直行状态进入线路 24;任务 2 中在该标签对应的指令为 461001220002,最后两位‘02’表示 AGV 在此处后退右转,由线路 22 进入线路 21。对比可得: AGV 仅在满足动作指令执行条件的标签处执行该指令。

 

由图 11(c)、11(d)可知任务 3、4 的行驶路线分别为 24→21→16→14,24→21→18,AGV 均经过了标签 4722012100,任务 3 中 AGV 在该标签对应的指令为 472201210002,最后两位‘02’表示 AGV 在此处后退右转,由线路 21 进入线路 16;任务 4 中在该标签对应的指令为 472201210001,最后两位‘01’表示 AGV 在此处后退左转,由线路 21 进入线路 18。对比可得:AGV 完成不同任务时在同一个标签处能够执行不同的指令,增加了行驶灵活性。

 

4 总结

本文采取了电子标签作为位置识别,且动作指令根据具体任务由算法生成并存储在车载控制系统的方式,使得车辆在执行不同任务过程中经过同一电子标签时可执行不同的动作指令,弥补了传统导航方式中行驶路线固定、在标签处执行指令单一的不足。该方法解决了复杂路径下车辆的导引问题,提高了行驶灵活性和标签利用率,具有一定的应用价值。

 

参考文献

[1] 王惠娇 .AGV 磁导航数据的高速获取和偏差处理[J]. 工业控制计算机,2017,30(9):91-92.

[2] 李照,舒志兵,严亮 . 基于模糊路径纠偏的 AGV 视觉精定位研究[J]. 电子技术应用,2018,44(4):81-85.

[3] 唐瑞,颜文俊 . 激光导引 AGV 的转弯算法研究[J]. 机电工程,2015,32(10):1390-1394.

[4] 杨友良,胡少辉,赵丽宏,等 . 基于二维码定位导航的两轮差速转向 AGV 设计[J]. 物流科技,2017,40(10):40-42.

[5] 张力,徐晔晔,夏超 . 基于 RFID 定位的 AGV 导航系统设计[J]. 电子世界,2017(5):67-69.

[6] 顾佳炜,楼佩煌 . 基于无线射频识别技术的自动导引车导航方法的研究[J]. 电工电气,2009(12):22-24.

[7] 李季 . 磁导引 AGV 的设计[D]. 济南:山东大学,2013.

[8] 罗雨佳 . 夹抱搬运型 AGV 的设计与可靠性分析[D]. 成都:电子科技大学,2017.