一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种AGV路径冲突处理方法与流程

2022-02-24 14:17:07 来源:中国专利 TAG:

一种agv路径冲突处理方法
技术领域
1.本发明涉及路径冲突处理领域,具体的说是在同一场景下有多台自动引导车的路径冲突处理方法。
技术背景
2.自动引导车(agv)是指安装有自动引导系统、可沿着引导线或通过视觉导航等方式运动、具有搬运货物等功能、无人驾驶的运输小车。近年来,agv在汽车工业和港口运输等领域实现跨越式发展,尤其是在电商物流行业给人们带来了方便与快捷。由多个agv组成的多agv系统可以轻松地在路径足够丰富的地图上进行无冲突路径运动,然而在大多数制造车间,收到空间和场地的影响,实际路径不能像快递业那样自由铺设,因此车间环境对多agv系统路径规划时一个挑战。
3.传统的agv路径冲突处理方法是区域控制。其核心思想工作是在路线铺设完毕后,根据小车预定任务路线确定冲突区域,之后再冲突区域两端放置避障传感器或具有特定意义的地标,在这些封闭路段上检测进入的车辆,并设置一个占据标志位,供其后将要进入的车辆作为判断依据。只要有一辆小车进入冲突区域,占据标志位即生效,其他所有小车均需要在区域外等候。
4.采用这种路径冲突处理方法,会造成大量小车同时等待,是小车运行效率大大降低。


技术实现要素:

5.本发明针对现有技术的不足之处,提出了一种agv路径冲突处理方法,以期能避免多台agv小车在同一场景下发生路径冲突,从而达到在agv互相避让的同时提高任务执行效率的目的。
6.为解决技术问题本发明采用如下技术方案:
7.本发明一种agv路径冲突处理方法的特点是应用于由各个站点所组成的运输网格中,在所述运输网格中存在n辆agv小车和一个调度站,在所述运输网格中,第i辆agv小车的运行速度记为vi,且小车匀速运动,第m个站点与第m 1个站点之间的距离为sm,并按以下步骤避免各个agv小车的路径冲突:
8.步骤1:由任意一辆agv小车上的相机扫描所有站点上的二维码,并生成包含站点位置信息和站点类型的地图文件发给所述调度站,所述调度站通过网络将所述地图文件共享至其他agv小车;所有agv小车根据所述地图文件将自身位置信息发送给所述调度站;所述站点类型包括:充电站点、货架站点、路径站点;
9.步骤2:所述调度站产生第j个任务,并根据第j个任务的任务起点和任务终点的站点类型确定任务类型,包括:充电任务、取货任务和移动任务;且设置任务的优先级为充电任务》取货任务》移动任务;
10.步骤3、所述调度站根据第j个任务的任务起点,从空闲的agv小车中选择与所述任
务起点距离最近的第i辆agv小车,判断第i辆agv小车是否在第j个任务的任务起点,若是,则利用a*算法生成由第j个任务的任务起点到任务终点的第j个任务路径;否则,利用a*算法生成由agv小车的前位置到第j个任务的任务起点的第一条任务路径以及第j个任务的任务起点到任务终点的第二条任务路径并进行拼接,从而生成第j个任务路径;
11.步骤4:所述调度站判断当前第i辆agv小车的第j个任务路径中包含的每个站点是否与其他执行运输任务的agv小车的任务路径中的剩余站点存在“死锁”情况,若存在,则执行步骤5;否则,执行步骤7;
12.步骤5:所述调度系统判断存在“死锁”情况的站点是否有能替换的邻居站点,若有,则将所述第i辆agv小车的第j个任务路径中存在“死锁”情况的站点用其邻居站点替换,从而生成新的第j个任务路径后返回步骤4,否则,表示没有能替换的邻居站点,且无法生成新的第j个任务路径,则执行步骤6;
13.步骤6:所述调度站将所述第i辆agv小车加入等待死锁列表,直到与其产生“死锁”类型冲突的agv小车走过与其存在“死锁”情况的站点后,执行步骤4;
14.步骤7:所述调度站将第j个任务的任务路径、任务类型以及任务生成时间发送给当前第i辆agv小车;
15.步骤8:将当前第i辆agv小车所在的位置在第j个任务路径中的序号记为n,并初始化n=1;
16.步骤9:所述调度站判断第i辆agv小车所在的第j个任务路径中第n 1号站点是否空闲,若是,则执行步骤12、否则,所述调度站计算出第n 1号站点的占用时间,并执行步骤10;
17.步骤10:所述调度站判断在所述占用时间中是否有还有其他小车申请第n 1号站点,若有,则将申请第n 1号站点的所有agv小车加入授权等待列表,并按照任务类型的优先级进行降序排序,对同一任务类型的agv小车则按照任务生成时间进行降序排序,得到当前第i辆小车在授权等待列表中的序号k;
18.步骤11:若k=1,则执行步骤12,否则,第i辆agv小车等待,直到所述等待列表中序号为k-1号的agv小车解锁第n 1号站点后,执行步骤9;
19.步骤12:所述调度站将第n 1个站点标记为第i辆agv小车占用,并将第n 1个站点的位置信息发送给第i辆agv小车,第i辆agv小车从第n个站点开始向第n 1个站点移动,从而完成第n 1个站点的授权下发;
20.步骤13:所述调度站计算出第i辆agv小车从第n个站点到达第n 1个站点所需时间tn,并在等待tn时间后,将第n个站点进行解锁;
21.步骤14:将n 1赋值给n后,判断n是否是为第j个任务路径的终点序号,若是,则表示第i辆agv小车完成第j个任务,否则返回步骤9。
22.与已有技术相比,本发明的有益效果体现在:
23.1、本发明通过对地图站点实时加锁与解锁的手段,解决了路径冲突,提升了任务执行效率。
24.2、本发明在路径规划时,避免死锁现象的出现,防止出现无法解决的路径冲突,保障了任务的顺利完成。
25.3、本发明在多台车等待同一个站点的授权时,可以根据任务优先级让优先级高的
任务先执行,其余agv继续等待,提高了任务执行效率。
附图说明
26.图1为本发明路径冲突处理流程图;
27.图2为本发明测试场景模拟图;
28.图3为本发明对向冲突示意图;
29.图4为本发明路径障碍示意图;
30.图5为本发明终点障碍示意图。
具体实施方式
31.本实施例中,一种agv路径冲突处理方法,是应用于由各个站点所组成的运输网格中,在运输网格中存在n辆agv小车和一个调度站,在运输网格中,第i辆agv小车的运行速度记为vi,且小车匀速运动,第m个站点与第m 1个站点之间的距离为sm,并按以下步骤避免各个agv小车的路径冲突:
32.步骤1:由任意一辆agv小车上的相机扫描所有站点上的二维码,并生成包含站点位置信息和站点类型的地图文件发给调度站,调度站通过网络将地图文件共享至其他agv小车;所有agv小车根据地图文件将自身位置信息发送给调度站;站点类型包括:充电站点、货架站点、路径站点;
33.步骤2:调度站产生第j个任务,并根据第j个任务的任务起点和任务终点的站点类型确定任务类型,包括:充电任务、取货任务和移动任务;且设置任务的优先级为充电任务》取货任务》移动任务;
34.步骤3、调度站根据第j个任务的任务起点,从空闲的agv小车中选择与任务起点距离最近的第i辆agv小车,判断第i辆agv小车是否在第j个任务的任务起点,若是,则利用a*算法生成由第j个任务的任务起点到任务终点的第j个任务路径;否则,利用a*算法生成由agv小车的前位置到第j个任务的任务起点的第一条任务路径以及第j个任务的任务起点到任务终点的第二条任务路径并进行拼接,从而生成第j个任务路径;
35.步骤4:调度站判断当前第i辆agv小车的第j个任务路径中包含的每个站点是否与其他执行运输任务的agv小车的任务路径中的剩余站点存在“死锁”情况,若存在,则执行步骤5;否则,执行步骤7;其中,死锁现象如下:
36.对向冲突:两辆agv以相反的方向运行,若不采取相应的措施,会在一定时间内发生碰撞事故,造成碰撞事故的原因往往是在路径规划阶段没有解决好两辆agv对相同路径资源争夺问题,这种情形一旦发生,如果没有备用路径,会造成死锁问题,如图3所示。
37.路径障碍:路径障碍是指有其他agv停靠在运行中的agv路径上,阻碍了agv的前进,该障碍agv通常是在执行任务或发生机械故障,无法主动对运行agv进行避让,这种情况下如果没有备用路径可取,则会造成死锁问题,如图4所示。
38.终点障碍:终点障碍是指有其他agv停靠在运行agv的目标节点上,阻止了运行agv进入目标节点,其原因可能是重复任务的执行时间没有错开,则会出现死锁现象。如图5所示。
39.步骤5:调度系统判断存在“死锁”情况的站点是否有能替换的邻居站点,若有,则
将第i辆agv小车的第j个任务路径中存在“死锁”情况的站点用其邻居站点替换,从而生成新的第j个任务路径后返回步骤4,否则,表示没有能替换的邻居站点,且无法生成新的第j个任务路径,则执行步骤6;
40.步骤6:调度站将第i辆agv小车加入等待死锁列表,直到与其产生“死锁”类型冲突的agv小车走过与其存在“死锁”情况的站点后,执行步骤4;
41.步骤7:调度站将第j个任务的任务路径、任务类型以及任务生成时间发送给当前第i辆agv小车;
42.步骤8:将当前第i辆agv小车所在的位置在第j个任务路径中的序号记为n,并初始化n=1,并按照图1所示进行路径冲突处理;
43.步骤9:调度站判断第i辆agv小车所在的第j个任务路径中第n 1号站点是否空闲,若是,则执行步骤12、否则,调度站计算出第n 1号站点的占用时间,并执行步骤10;
44.步骤10:调度站判断在占用时间中是否有还有其他小车申请第n 1号站点,若有,则将申请第n 1号站点的所有agv小车加入授权等待列表,并按照任务类型的优先级进行降序排序,对同一任务类型的agv小车则按照任务生成时间进行降序排序,得到当前第i辆小车在授权等待列表中的序号k;
45.步骤11:若k=1,则执行步骤12,否则,第i辆agv小车等待,直到等待列表中序号为k-1号的agv小车解锁第n 1号站点后,执行步骤9;
46.步骤12:调度站将第n 1个站点标记为第i辆agv小车占用,并将第n 1个站点的位置信息发送给第i辆agv小车,第i辆agv小车从第n个站点开始向第n 1个站点移动,从而完成第n 1个站点的授权下发;
47.步骤13:调度站计算出第i辆agv小车从第n个站点到达第n 1个站点所需时间tn,并在等待tn时间后,将第n个站点进行解锁;
48.步骤14:将n 1赋值给n后,判断n是否是为第j个任务路径的终点序号,若是,则表示第i辆agv小车完成第j个任务,否则返回步骤9。
49.路径冲突处理测试:
50.在图2中,agv001的起始站点是(1,1),目标站点是(2,4),agv002的起始站点是(0,0),目标站点是(2,4),两台agv在路径规划时都需要经过(0,2)点,且(0,2)点上有agv003正在执行任务。
51.若调度系统没有路径冲突处理算法,三台agv可能会发送碰撞事故,在本次测试中,规划路径时首先避免了死锁现象的出现,在任务执行时,agv003前方无障碍,因此可以获得前方路径的三个站点(1,2),(2,3),(2,4)的授权,且在内存中给这三个地图上agv003的锁,agv003每行驶过一个站点就进行解锁操作。在后方等待的agv001与agv002,虽然有任务路径,但是无法获取(0,2)站点的授权,因此会一直在原地等待,直到agv003行驶过(0,2)站点后,进行(0,2)站点的解锁操作。之后由于agv001的任务优先级比agv002高,因此agv001会先获得站点授权,先移动,直到agv001行驶过(0,2)站点后,进行(0,2)站点的解锁操作,agv002才可以获得站点授权,进行移动。
52.通过本次测试可以看出,使用了该路径冲突处理算法的agv调度系统,可以保障在同一场景中多台agv顺利执行任务而不发生碰撞,除此之外,还可以保障优先级高的任务先执行,优先级低的任务后执行。实验结果表面,该路径冲突处理算法可以满足有冲突任务的
所有需求,并且从未出现碰撞警告和死锁问题,从而验证了该路径冲突处理算法的可行性。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献