本发明属于agv调度,具体涉及一种基于时间窗约束的跳点搜索自动引导车辆调度方法。
背景技术:
1、自动引导车辆(agv)是一种装备有电磁、激光、slam、视觉等自动导航装置,能够沿规定的导航路径行驶,具有安全保护以及各种移载功能的运输车,主要用于工业领域的物料搬运、移载、合装等应用。agv的调度系统是一个能同时对多部agv实行中央监管、控制和调度的系统,主要用于agv数量比较多、运输路线较多、且运输较频繁复杂的应用场景,可配合agv叫料系统使用,也可独立使用,使物料运输系统更加人性化、自动化、无人化。agv调度系统的主要功能包括:agv任务调度、路径规划、交通管制、与设备对接、与mes或erp对接等。
2、在大规模和动态的agv系统中,agv的调度问题是一个非常复杂和重要的问题,它涉及到多个方面的因素,例如agv的数量、位置、速度、方向、任务、优先级、能耗等,以及agv的运行环境、障碍物、交通规则、通信协议等。这些因素都会影响agv的运行效率和可靠性,以及agv系统的整体性能和稳定性。
3、自动引导车路径规划方法涉及在特定约束条件下,以最小化时间或成本为目标,在复杂环境中规划出自主导航车辆的最佳路径。这一问题直接影响到自主导航系统的效率、可靠性以及在工业生产和物流领域的应用前景。由于其重要性,目前已有一系列研究工作展开,以解决不同场景下的路径规划挑战,包括静态和动态环境、单车和多车协同运作等。
4、针对港口环境下节点多、距离远以及转弯角度大导致自动引导车路径规划速度慢、不稳定等问题,上海海事大学研究团队提出几何a*算法以提高路径规划在不规则路径和转弯路径上的稳定性。然而,此类方法主要基于离散的网格地图,且多用于规划静态环境下的路径,在多引导车碰撞的问题上尚不成熟。针对多自动引导车寻路中为所有引导车寻找避免碰撞的路径,以色列本古里安大学研究团队提出了基于冲突的搜索算法,同时为所有引导车进行下一步路径规划。但该搜索方法由于规划复杂度随引导车数量呈指数级增大,实时计算要求较高,导致响应时间过长,无法应用于需要高速响应的工业物流场景。近年来,人工智能技术的发展对自动引导车路径规划方法产生了新的影响。深度强化等学习方法被用于学习复杂环境中的最优路径规划策略,使引导车能根据实际情况做出智能决策。然而,训练学习模型往往需要大量的数据,而且模型的解释性不高。此外,计算资源要求较高,不适用于进行实时规划。
5、上述工作都是基于理论场景的方法研究,没有结合工业界实际的需求和限制。
技术实现思路
1、本发明提出了一种基于时间窗约束的高效跳点搜索agv调度方法,该方法能够同时解决路径规划和冲突避免问题,且不需要网格地图的表示,而是利用跳点搜索的思想,减少搜索空间和搜索时间,同时结合时间窗的约束,保证agv之间的安全距离和优先级。该方法具有高效、稳定、可扩展等优点,适用于各种规模和复杂度的agv系统。
2、本发明采用的技术方案为:基于时间窗约束的跳点搜索自动引导车辆调度方法,包括以下步骤:
3、步骤1.将agv的运行地图道路数据抽象化,表示为一个无向图g=(v,e),其中v是节点集合,e是边集合;每个节点v∈v表示一个agv可以停留或通过的位置,每条边e∈e表示两个相邻节点之间的连接,边的权重表示两个节点之间的距离;每个节点具有时间窗属性以及方向窗属性;时间窗属性用以表示该节点预计时间占用,通过预期到达时间点及其前后两秒的时间格加和一定值来表示;方向窗属性用于表示agv到达该节点前一段时间的方向;
4、步骤2.对输入的节点进行判断,通过检测其可前进方向数量,判断该节点是否为跳点:当可前进方向大于等于3时,将其认定为跳点,并将其存入跳点表;
5、步骤3.基于时间窗按照agv序号依次对每辆agv进行路径搜索;对于每个agv,从其初始位置开始进行扫描,从当前节点先跳跃到距离最近的跳点,再展开该跳点周围的节点;每当agv通过一个节点,按照设定速度和运行距离计算预计到达时间,并为下一个节点的时间窗属性进行赋值;
6、步骤4.对异常情况进行处理,根据时间窗属性和方向窗属性,结合评估成本,优先选择时空无碰撞拥堵的节点;并更新数据;
7、步骤5.重复步骤4和5,以少量的跳点快速无碰撞地到达目标节点。
8、优选地,所述步骤4中,在路径搜索过程中,对节点碰撞进行处理,具体为:
9、(1)速度检测:获取agv的平均速度,计算预计到达时间,并对时间窗属性更新;
10、(2)节点碰撞:在agv每一次到达节点后对该节点的时间窗进行是否满足原有时间窗的判定,即到达该节点的时间窗内是否满足预设时间窗的容错范围,若不满足,视为节点碰撞;
11、(3)旋转时节点碰撞:分为两种情况:(a)有agv旋转时不能同时存在其他agv:根据初始化时筛选的距离相近节点,通过对比其距离与当前agv长度判断是否存在碰撞;(b)有agv旋转时周围不能存在agv旋转,但可以进行错位直行操作;依据所述两种情况进行判断和处理;
12、(4)碰撞避免:对于节点碰撞,通过预期到达时间的长短对agv的优先级由低至高排序;如果出现预期到达时间未满足即即将到达指定碰撞节点,则该agv先暂停操作,待高优先级agv通过后再执行继续操作。
13、优选地,所述步骤4中,在路径搜索过程中,对道路碰撞进行如下处理:
14、(1)速度检测:获取agv的平均速度,用于进行碰撞检测;
15、(2)碰撞避免:根据不同的异常状态进行相应处理:
16、(a)道路内因为agv正在工作而导致的可能碰撞:对后方agv进行路径再规划,通过比较再规划后路径所需时间以及当前路径下预期等待时间与后续运行时间之和,来判断是否选择绕路或者停止等待;
17、(b)道路内因速度差异导致的单向追尾:重新设置后方agv速度使其低于前车,直至前车不会被追尾时恢复正常速度;
18、(c)道路内的双向相遇碰撞:先对碰撞agv均下达暂停指令,对于可倒车agv将其退回至上一节点并进行路径再规划,通过比较再规划后路径所需时间以及当前路径下预期等待时间与后续运行时间之和,来判断是否选择绕路或者停止等待;若两agv均不支持倒车操作,则只能交由工作人员处理。
19、优选地,所述步骤4中,在路径搜索过程中,对于碰撞避免导致的死锁状况使用如下方法进行死锁处理:
20、对死锁区域进行扫描,对死锁区域内节点进行冻结处理,并对死锁区域外侧agv进行路径再规划,再规划的路径中不含冻结节点;对与死锁区域内侧agv,进行暂停操作;直至首轮进行处理的外侧agv已移出死锁区域后,解冻节点并对内侧已暂停agv进行重新路径分配,并按照该路径进行后续移动;
21、优选地,所述步骤4中,在路径搜索过程中,对于因命令下达有误或无法正确下达导致的死锁状况使用如下方法进行死锁处理:
22、对全图进行扫描;通过检查agv是否在其所应存在道路或节点,来判断是否执行后续操作;如果发现agv不在其应存在道路上,出现偏离道路的情况,需立刻对agv进行暂停指令处理,并对其重新进行路径规划导向原有路径;如无法导向原有路径或在施加暂停指令后其仍旧偏离预定道路并超出一定范围,则进行错误问题上报交由工作人员处理。
23、优选地,在路径扫描时,对节点的时间窗属性通过以下方式进行操作:采用int型vector数组表示,并在分配节点时通过计算预期到达时间来动态调整数组长度;时间窗的更新策略通过删除节点对应的首位元素实现;对于速度浮动超过10%,将触发对agv所经路径的所有节点进行时间窗的重赋值。
24、优选地,在时间窗的使用过程中,通过判定int型时间窗格值的加和来安排调度策略;若int型时间窗格值的加和大于4,则视为拥堵现象,不分配该节点。
25、优选地,时间窗的赋值过程中若任意agv要在任意时刻占用任意节点,即在该时刻下对该节点的unordered_set进行一次插入操作,插入元素是对应的agv序号。
26、优选地,评估成本的计算方法为:通过判断节点间距是否为直线或斜线,选择1或1.4的取值作为累计g值,并以当前节点到目标节点的manhattan距离作为h值,g与h值之和作为评估成本。
27、优选地,方向窗属性采用int型vector数组进行赋值,并在分配节点时通过计算预期到达时间来动态调整数组长度,表现形式为数组中一段时间窗格值为目标节点编号和起始节点编号的差值;
28、根据当前节点预计到达时间,上一节点预计到达时间以及行进方向进行加和赋值;若判定为同向则加和,若为反向则跳过该节点。
29、优选地,在路径扫描时,通过对道路属性进行判断,对道路属性上的时间区间进行方向属性占用;对于同一条道路,其允许出现同向的车辆存在,但不允许存在两个相向的车辆;方向窗属性的赋值为道路两端节点编号之差,根据该编号差值来判断方向同时赋值属性;若存在计算编号值与方向窗内值不符,则不予规划该条道路。
30、与现有技术相比,本发明的有益效果在于:
31、本发明的方法与现有的网格地图搜索方法相比,具有以下优势:一是能够节省计算资源,因为本发明的方法不需要将agv的运行环境划分为网格单元,而是直接在无向图上进行搜索,且通过跳点搜索的思想,跳过不必要的节点,减少搜索空间和搜索时间;二是能够提高路径质量和精度,因为本发明的方法不会因为网格地图的表示而导致信息的损失和误差,而是能够更好地反映agv的实际运行情况;三是能够适应动态环境,因为本发明的方法能够根据agv的状态和环境的变化,动态地更新agv的运行环境模型,任务模型,状态模型,以及路径规划和冲突避免方法。
32、本发明的方法与现有的集中式或分布式调度算法相比,具有以下优势:一是能够保证全局的最优性或次优性,因为本发明的方法能够为每个agv规划最短路径,同时考虑agv之间的冲突和优先级,通过有效的冲突解决方法,使得agv系统的整体性能达到最优或次优;二是能够保证实时性和可靠性,因为本发明的方法不需要一个中央控制器对所有的agv进行统一的规划和指挥,而是每个agv根据自身的状态和局部的信息,进行自主的决策和协调,减少了通信和指令的延迟,提高了agv的响应速度,同时也避免了中央控制器的单点故障;三是能够保证可扩展性和鲁棒性,因为本发明的方法能够适应不同的agv数量,任务,优先级,时间窗等参数的变化,不会因为agv数量的增加而导致计算和通信的开销过大,同时也能够处理agv的故障和异常情况,保证agv系统的正常运行。