CN110530369B - 基于时间窗的agv任务调度方法 - Google Patents

基于时间窗的agv任务调度方法 Download PDF

Info

Publication number
CN110530369B
CN110530369B CN201910779178.3A CN201910779178A CN110530369B CN 110530369 B CN110530369 B CN 110530369B CN 201910779178 A CN201910779178 A CN 201910779178A CN 110530369 B CN110530369 B CN 110530369B
Authority
CN
China
Prior art keywords
task
node
path
agv
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910779178.3A
Other languages
English (en)
Other versions
CN110530369A (zh
Inventor
李浥东
王涛
党正午
刘凯
侯亚欣
冯松鹤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN201910779178.3A priority Critical patent/CN110530369B/zh
Publication of CN110530369A publication Critical patent/CN110530369A/zh
Application granted granted Critical
Publication of CN110530369B publication Critical patent/CN110530369B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Abstract

本发明提供了一种基于时间窗的AGV任务调度方法。该方法包括:根据执行任务的AGV进入路径的时间、驶出路径的时间和任务需要经过的所有路径的长度,确定任务需要经过的所有路径的时间窗;基于任务需要经过的所有路径的时间窗和任务的初始优先级,计算出各个任务的动态优先级;根据各个任务的动态优先级利用任务调度策略对各个任务进行调度。本发明把AGV之间的避碰和冲突死锁问题的解决作为研究的重点,以图论模型以及单AGV路径规划算法为基础,针对多AGV系统中可能出现的问题,通过应用合适的多AGV路径规划算法,解决多AGV系统的避碰和冲突死锁问题,为每个AGV规划出无冲突的路径。

Description

基于时间窗的AGV任务调度方法
技术领域
本发明涉及车辆碰撞预警管理技术领域,尤其涉及一种基于时间窗的AGV 任务调度方法。
背景技术
AGV(Automated Guided Vehicle,自动导引运输车)是指装备有电磁或光学等自动导引装置,由计算机控制、轮式移动为特征、并且能够沿规定的导引路径自动行驶的运输车辆。在智慧型停车场服务或智慧仓储等智慧型自动化服务应用中,AGV是运输主力军,其全向性更是解决了车辆转弯难度大等问题,实现360°任意方向行驶。
多AGV系统路径规划不同于单AGV的路径规划。单AGV路径规划问题本质上就是路径搜索的问题,即在一张地图中找到起始点到终止点的最短路径。对于单AGV系统,所处的环境是静态环境,属于静态环境路径规划问题。
多AGV系统中,多个AGV在运动,系统所处的环境是实时动态环境,每个 AGV在运动过程中,都需要考虑与其他AGV的位置以及和其他AGV可能会发生的碰撞冲突问题。所以多AGV路径规划是要在保证系统无冲突的情况下,为每个 AGV规划出一条无碰撞、无死锁的路径,解决AGV的碰撞和死锁问题。
根据以往的研究,AGV防碰撞和死锁的方法主要有路径铺设法、区域控制法、预测式避碰和反应式避碰。路径铺设法主要通过设置主副车道,再加以若干规则来进行,算法简单,但不具备通用性。
区域控制法通过把运输场地分成互不重叠覆盖的几个区域,且每个区域只能容纳一台AGV运行的方法来实现避碰,这样的系统明显增加了货物运输的中间环节,效率很低。
预测式避障首先为各AGV规划好最优路径,然后根据每台AGV的路径离线预测AGV之间是否会发生冲突和死锁,如果会发生,则调整AGV的路径来加以避免。
反应式避碰与预测式避碰有所不同,AGV路径不是事先规划好的,而是在运行过程中根据系统当前的状态一段一段的确定AGV路径,反应式避碰能迅速响应系统环境变化,属于闭环控制,目前仍有待进一步研究。
总之,现有技术中暂无基于智慧停车和智慧仓储场景下的AGV避碰研究。
发明内容
本发明的实施例提供了一种基于时间窗的AGV任务调度方法,以克服现有技术的缺点。
为了实现上述目的,本发明采取了如下技术方案。
一种基于时间窗的AGV任务调度方法,包括:
根据执行任务的AGV进入路径的时间、驶出路径的时间和任务需要经过的所有路径的长度,确定任务需要经过的所有路径的时间窗;
基于任务需要经过的所有路径的时间窗和任务的初始优先级,计算出各个任务的动态优先级;
根据各个任务的动态优先级利用任务调度策略对各个任务进行调度。
优选地,所述的根据执行任务的AGV进入路径的时间、驶出路径的时间和任务需要经过的所有路径的长度,确定任务需要经过的所有路径的时间窗,包括:
设定每个任务mi对应一条路径,该路径为一系列弧段的集合,将从起始位置Oi到终止位置Di的路径表示为有序弧段集合E={e1,e2,…en},其中e是环境地图边集合中的路段,将任务t描述为:
Mi(t)=(Oi,Di,Ei(t),Pi(t),ri)
其中,Pi(t)为任务t的初始优先级,Ei(t)为任务t的路径集合;
对于任务Mi,定义AGVri进入路径ej的时间窗Wij={tij_in,tij_out};
其中tij_in是执行任务Mi的AGV进入弧段ej的时间,tij_out是执行任务Mi 的AGV离开弧段ej的时间,在时间窗Wij内路径ej被AGVri占用。
优选地,所述的基于任务需要经过的所有路径的时间窗和任务的初始优先级,计算出各个任务的动态优先级,包括:
任务t的综合了任务运行时间的动态优先级的计算公式如下:
Figure GDA0002658901840000031
其中λ和k是预设的参数,∑(tijib-tijout)为任务t经过的所有路径的时间窗之和,i的值分别为从1到5,代表任务t的初始优先级,1代表任务的最高优先级,5代表任务的最低优先级,S(i,t)为初始优先级为i的任务t的动态优先级。
优选地,所述的根据各个任务的动态优先级利用任务调度策略对各个任务进行调度,包括:
选择最高动态优先级的任务,选择一辆空闲AGV,并使用改进的Dijkstra 算法规划出该任务的最短路径,并计算出该任务中所有占用路段的进入和驶出时间,初始化各个路段的时间窗向量表;
为次高动态优先级任务进行路径规划,检查是否有空闲AGV,如果没有,则进入等待状态;如果有,则调用改进的Dijkstra路径规划算法,并计算出该任务所有占用路段的进入和驶出时间,更新各个路段的时间窗向量表,计算各个路段的时间窗向量表中是否存在冲突,如果不存在冲突,路径规划完成,如果存在冲突,则在路径规划算法中将第一个冲突路段标记为不可用,再次调用改进的Dijkstra路径规划算法进行路径规划,重复上述过程,直到不存在冲突;如果不能规划出最短路径,则暂停对该任务的调度,调度接下来的任务;
接下对剩余任务中动态优先级最高的任务进行AGV分配和路径规划,同样,在路径规划后,更新系统的时间窗向量表,并检查是否存在冲突,重复上述过程,经过多轮这样的计算过程,实现对多个任务进行调度,并为多个 AGV规划出无冲突的路径。
优选地,所述的使用改进的Dijkstra算法规划出该任务的最短路径,包括:
步骤1、设定包含多个结点的路径规划区域中的起始结点为源点v,终止结点为终点w,初始时,设定路径集合S只包括源点v,候选结点结合U中包括含除v外的其它结点,计算出源点v与其它所有结点之间的距离,将源点v与其它所有结点之间的距离存储在结点距离数据表中;
步骤2、根据所述结点距离数据表中存储的距离信息,从U中选取一个到源点v距离最短的结点k,把k加入S中;
步骤3、以结点k为中间结点,基于转弯权重重新计算U中各结点到源点v 的距离,将重新计算的源点v与其它所有结点之间的距离更新存储在结点距离数据表中;
步骤4、重复执行上述步骤2和3,直到将终点w添加到S中,流程结束,将 S中的所有结点按照添加进S的时间顺序依次连接,得到源点v到终点w的最短路径。
优选地,所述的步骤1中的计算出源点v与其它所有结点之间的距离,包括:
若U中结点u是源点v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与结点u之间的距离Dv→u,若结点u不是源点v的出边邻接点,则边权值<v,u>为无穷大,即为源点v与结点u之间的距离Dv→u为无穷大。
优选地,所述的步骤3中的以结点k为中间结点,基于转弯权重重新计算U 中各结点到源点v的距离,包括:
以结k为中间结点,选取U中结点u,计算经过中间结点k从v到u的距离 Dv→k→u,首先判断经过中间结点k从v到u的路径v→k→u中是否存在转弯,如果边v→k与边k→u之间的夹脚不为零度,则判断经过中间结点k从v到u的路径 v→k→u中存在转弯,则经过中间结点k从v到u的距离:Dv→k→u=<v,k>+< k,u>+2×trunweight,所述trunweight为设定的转弯权重;
如果边v→k与边k→u之间的夹脚为零度,则判断经过中间结点k从v到u的路径v→k→u中不存在转弯,则经过中间结点k从v到u的距离为:Dv→k→u=< v,k>+<k,u>;
将计算出的经过中间结点k从v到u的距离Dv→k→u与结点距离数据表中存储的从v到u的距离Dv→u进行比较,如果Dv→k→u≤Dv→u,则将结点距离数据表中存储的v到u的距离更新为Dv→k→u;如果Dv→k→u>Dv→u,则将结点距离数据表中存储的v到u的距离不变。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例把AGV之间的避碰和冲突死锁问题的解决作为研究的重点,以图论模型以及单AGV路径规划算法为基础,针对多AGV系统中可能出现的问题,通过应用合适的多AGV 路径规划算法,解决多AGV系统的避碰和冲突死锁问题,为每个AGV规划出无冲突的路径。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多AGV系统中路口冲突示意图;
图2为本发明实施例提供的一种多AGV系统中赶超冲突示意图;
图3为本发明实施例提供的一种多AGV系统中相向冲突示意图;
图4为本发明实施例提供的一种基于时间窗的AGV任务调度方法的处理流程图;
图5为本发明实施例提供的一种基于权重约束的全向轮AGV最短路径规划方法的实现原理示意图;
图6为本发明实施例提供的一种利用Dijkstra算法求解同时已知起始节点和终止节点时的最短路径方法的处理流程图;
图7本发明实施例提供的一种利用基于转弯权重的Dijkstra算法求解同时已知起始节点和终止节点时的最短路径方法的处理流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语 (包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
根据地图建模及AGV执行任务的状况,如图1、图2和图3所示,多AGV系统中冲突有三种基本类型,即路口冲突,赶超冲突和相向冲突。本发明实施例利用Dijkstta最短路径算法和时间窗方法相结合的方法,并结合实际AGV工作环境,对多AGV系统中AGV的碰撞规避算法进行研究。
系统设定:
邻接矩阵(Adjacency Matrix)是表示顶点之间相邻关系的矩阵。设G=(V, E)是一个图,其中V={v1,v2,...,vn}是所有顶点的集合,E={e1, e2,..,em}是所有边的集合,则G的邻接矩阵是一个n阶矩阵,该矩阵中任意一个值代表它的行坐标所对应的顶点到其纵坐标所对应的顶点之间的距离。
Dijkstta算法:是典型的图最短路径算法,用于计算图中一个节点到其他所有节点的最短路径。
为了应用算法并考虑系统实际运行环境状况,针对之前提出的地图图论模型G=(V,E),其中V={v1,v2,...,vn}表示地图中所有节点集合,E= {e1,e2,..,em}表示所有的连接节点弧的集合,Wij表示节点(i,j)之间弧的权值,对系统做如下设定:
1)每条弧表示可双向行驶的单行道路径,即该条路径上AGV可以在两个方向行驶,而且路径宽度为只能允许一台AGV通过。
2)AGV运行时速度保持恒定。本系统在调试时使用1m/s的速度。
3)每一条路径在同一时间只能被一个AGV占据,即不允许两辆AGV同时出现在同一段路径上。
4)为保证AGV不会发生碰撞,每个AGV都有自己的安全区域,设安全区域的半径为r(r根据车体大小和速度确定),在此区域范围内,别的AGV不能进入。
5)每个任务被在下发时指定一个优先级。具有同样优先级的任务,较早下达的任务有更高的优先权。
6)图中的转弯大部分都是直角,转弯时间设定为常数;两条路径在同一直线上则不需要转弯。
基于以上规则设定,首先,第二类冲突即赶超冲突可以避免。因为AGV速度相同,且在同一路段上只能有一台AGV运行,所以赶超冲突就不存在了。每台AGV上安装有前向激光测距传感器,用于探测前方障碍物,当发现前方有障碍物的情况下,即采取减速或者急停等策略,这样,即是在调度策略出问题的情况下,AGV仍然不会因为前方障碍而发生碰撞。
因此,本发明算法本身专注于解决路口冲突和相向冲突。
时间窗介绍:
假设系统有AGVn台,AGV集合为R={r1,r2,…,r3}。考虑当前正在执行的任务集合M={m1,m2…,m3},共有m台AGV被分配用来执行任务。每个任务mi都有初始优先级Pi。对于每个任务mi,都有一条路径与之对应,该路径为一系列弧段的集合,从起始位置Oi到终止位置Di的路径可以表示为有序弧段集合E ={e1,e2,…en},其中e是环境地图边集合中的路段。这样,任务t可以描述为:
Mi(t)=(Oi,Di,Ei(t),Pi(t),ri)
其中,Pi(t)为任务t的初始优先级,Ei(t)为任务t的路径集合。对于每个任务、起始位置、目标位置和分配的AGV都不随时间变化,AGV的路径如果不发生冲突,也不发生改变,如果在任务执行过程中,有需要改变路径才能解决的冲突,则动态改变路径。每个AGV在初始分配任务的时候指定一个初始优先级,在任务执行过程中,随着任务执行时间越长,该任务的动态优先级逐渐变高,即初始优先级相同的任务,执行时间越长的任务有越高的动态优先级。
当AGV执行任务时,不断的进入并驶出路径中的有序路段,在AGV驶入和驶出的这段时间内,该路径被此AGV占领,其他AGV不得进入。对于任务Mi,定义 AGVri进入路径ej的时间窗Wij={tij_in,tij_out}。
其中tij_in是执行任务Mi的AGV进入弧段ej的时间,tij_out是执行任务Mi 的AGV离开弧段ej的时间。进入时间和驶出时间即定义了该弧段的时间窗。该弧段被占用的时间成为保留时间窗,没有被占用的时问成为自由时间窗。在保留时间窗里,该弧段已经被固定的AGV占用,其他AGV不能进入。自由时间窗内,其他AGV可以驶入,不会发生冲突。
假设AGV在执行任务中,包含的路段为n,则根据AGV的速度及路上的转弯情况,可以计算出此AGV进入和驶出所有路段的时间窗。这样,每个路段的时间窗都可以通过计算得到。
路段ej的所有时间窗的组合是一个向量ej={W1j,W2j,…Wmj},向量的维度等于需要经过路段ej的任务的数量,并且随着时间的变换而变换。如果任务Mi没有经过弧段ej,则把任务Mi对于ej的进入时间和驶出时间都设置为 0。
本发明实施例提供的一种基于时间窗的AGV任务调度方法的处理过程如图 4所示,包括如下的处理过程:
对于每个任务,计算出综合了任务运行时间的动态优先级。
任务t的综合了任务运行时间的动态优先级的计算公式如下:
Figure GDA0002658901840000101
其中λ和k是预设的参数,∑(tijin-tijout)为任务t经过的所有路径的时间窗之和。i的值分别为从1到5,代表任务t的初始优先级,1代表任务的最高优先级,5代表任务的最低优先级。S(i,t)为初始优先级为i的任务t的动态优先级。
对于系统分配的m个任务,根据以上公式综合考虑任务运行时间和任务优先级来进行优先级打分计算。该公式综合考虑了任务本身优先级和任务运行时间,可以看出当任务的初始优先级越高时,计算出的动态优先级也会越高;当任务运行时间越短时,综合任务优先级也会相应变高。这就可以保证多任务调度时总调度时间相应变少。通过上述公式可以计算出结合了任务运行时间信息的各个任务的动态优先级。
然后采用基于计算出的动态优先级的调度策略进行任务调度。首先,选择最高动态优先级的任务,选择一辆空闲AGV,并使用Dijkstra算法规划出该任务的最短路径,并计算出该任务中所有占用路段的进入和驶出时间,初始化各个路段的时间窗向量表。
然后,为次高动态优先级任务进行路径规划,检查是否有空闲AGV,如果没有,则进入等待状态;如果有,则调用Dijkstra路径规划算法,并计算出该任务所有占用路段的进入和驶出时间,更新各个路段的时间窗向量表。然后,计算各个路段的时间窗向量表中是否存在冲突,如果不存在冲突,路径规划完成。如果存在冲突,则在路径规划算法中将第一个冲突路段标记为不可用,再次调用最短路径算法进行路径规划,重复上述过程,直到不存在冲突。如果不能规划出最短路径,则暂停对该任务的调度,调度接下来的任务。
接下对剩余任务中动态优先级最高的任务进行AGV分配和路径规划,同样,在路径规划后,更新系统的时间窗向量表,并检查是否存在冲突,重复上述过程。这样,经过多轮这样的计算过程,即可对多个任务进行调度并为多个AGV规划出无冲突的路径。
实施例二
在本发明实施例中,服务器采用的是改进的Dijkstra算法进行路径规划。改进的Dijkstra算法的主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。
本发明实施例提供的一种基于权重约束的全向轮AGV最短路径规划方法的实现原理示意图如图5所示,包括结构图构建和路径规划两个处理过程。其中结构图构建过程包括构建场地结构图(graph)和目标位置(AGV停车位)分配:数据库中场地信息都以站点的坐标形式存储,根据所有站点的坐标构造场地结构图,以站点为节点,生成合适的图节点以及正确的连接边,建立连接关系,此结构图为后续路径计算及行车引导的基础。根据结构图中的边连接的两个端节点的坐标,可以计算出边的长度,该边的长度作为边权重,该边权重也即为边连接的两个端节点之间的距离。
当有相关任务到达,按广度优先策略选择最优空闲目标位,进行任务分配。路径规划过程是基于Dijkstra算法,增加转弯权重设计,同时应用于以下两个任务:1.求解同时已知起始节点和终止节点时的最短路径问题;2. 求解图中所有节点间的最短路径的全局最短路径问题。
AGV的路径规划方法的优劣,对于整个AGV停车系统的效率起着至关重要的作用,而AGV路径规划的核心就是数据结构与算法领域的最短路径问题。 Dijkstra算法思想为:设D=(V,E)是非负权图,V代表图中节点集合,E代表图中含权重的边集合。将全部节点集合V分成两组,第一组为已求出最短路径的节点集合,用S表示(初始时S中只有一个源点,以后每求得一条最短路径,就将该路径的终止节点加入到集合S中);第二组为其余待确定最短路径的节点集合,用U表示。按最短路径长度的递增次序依次把U集合的节点逐个加入到S集合中,约束条件是保持从源点v到S中各节点的最短路径长度不大于从源点v到U中任何节点的最短路径长度。算法的终止条件是集合U为空集,即集合U的节点全部加入到集合S中。
本发明实施例提供的一种利用Dijkstra算法求解同时已知起始节点和终止节点时的最短路径方法的处理流程如图6所示,包括如下的处理步骤:
1:设定包含多个节点的路径规划区域中的起始节点为源点v,终止节点为终点w,初始时,设定路径集合S只包括源点v,候选节点结合U中包括含除v 外的其它节点,即S={v},v的距离为ds=0。U包含除v外的其它节点,即: U={除了v之外的其余节点},若v与U中节点u有边,即u是v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与节点u之间的距离Dv→u,若u不是v的出边邻接点,则边权值<v,u>为无穷大,源点v与节点u之间的距离Dv→u为无穷大。
将源点v与其它所有节点之间的距离存储在节点距离数据表中。
2:根据节点距离数据表中存储的距离信息,从U中选取一个到源点v距离最短的节点k,把k加入S中,该选定的最短距离Dv→k就是边权值<v,k>。
3:以k为新考虑的中间节点,重新计算U中各节点到源点v的距离,选取 U中节点u,计算经过中间节点k从v到u的距离Dv→k→u=<v,k>+<k,u>;
然后,将计算出的经过中间节点k从v到u的距离Dv→k→u与节点距离数据表中存储的从v到u的距离Dv→u进行比较,如果Dv→k→u≤Dv→u,则将节点距离数据表中存储的v到u的距离更新为Dv→k→u;如果Dv→k→u>Dv→u,则将节点距离数据表中存储的v到u的距离不变。
4:重复执行步骤(2)和(3),直到将作为终止节点的终点w添加到S 中,流程结束,将S中的所有节点按照添加进S的时间顺序依次连接,得到源点v到终点w的最短路径。
基于转弯权重的Dijkstra算法充分考虑了AGV转弯时占用双向车道,导致其他AGV等待的情况,根据通过路径中父节点到下一节点边的关系来判断是否存在转弯,如果存在,则对边权值添加转弯权重;否则,边权值不变继续运行后续运算。转弯权重trunweight的大小为设定的固定值,单位为长度单位。比如为10。
本发明实施例提供的一种利用基于转弯权重的Dijkstra算法求解同时已知起始节点和终止节点时的最短路径方法的处理流程如图7所示,包括如下的处理步骤:
1:设定包含多个节点的路径规划区域中的起始节点为源点v,终止节点为终点w,初始时,设定路径集合S只包括源点v,候选节点结合U中包括含除v 外的其它节点,即S={v},v的距离为ds=0。U包含除v外的其它节点,即: U={除了v之外的其余节点},若v与U中节点u有边,即u是v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与节点u之间的距离Dv→u,若u不是v的出边邻接点,则边权值<v,u>为无穷大,源点v与节点u之间的距离Dv→u为无穷大。
将源点v与其它所有节点之间的距离存储在节点距离数据表中。
2:根据节点距离数据表中存储的距离信息,从U中选取一个到源点v距离最短的节点k,把k加入S中,该选定的最短距离Dv→k就是边权值<v,k>。
3、以k为新考虑的中间节点,重新计算U中各节点到源点v的距离,选取U 中节点u,计算经过中间节点k从v到u的距离Dv→k→u,首先判断经过中间节点k 从v到u的路径v→k→u中是否存在转弯,如果边v→k与边k→u之间的夹脚不为零度,则判断经过中间节点k从v到u的路径v→k→u中存在转弯,则经过中间节点k从v到u的距离:Dv→k→u=<v,k>+<k,u>+2×trunweight;
如果边v→k与边+→u之间的夹脚为零度,则判断经过中间节点k从v到u的路径v→k→u中不存在转弯,则经过中间节点k从v到u的距离为:Dv→k→u=< v,k>+<k,u>;
然后,将计算出的经过中间节点k从v到u的距离Dv→k→u与节点距离数据表中存储的从v到u的距离Dv→u进行比较,如果Dv→k→u≤Dv→u,则将节点距离数据表中存储的v到u的距离更新为Dv→k→u;如果Dv→k→u>Dv→u,则将节点距离数据表中存储的v到u的距离不变。
4、重复步骤(2)和(3),直到将作为终止节点的终点w添加到S中,流程结束,将S中的所有节点按照添加进S的时间顺序依次连接,得到源点v到终点w的最短路径。
步骤S4:服务器通过无线通信网络将路径发送给AGV,指导AGV按照规划的路径行驶。
路径规划完成之后,服务器通过无线通信网络将路径发送给AGV,指导 AGV按照规划的路径行驶,完成AGV行车引导。
综上所述,本发明实施例针对智能停车系统的应用需求进行研究,把AGV 之间的避碰和冲突死锁问题的解决作为研究的重点。本发明以图论模型以及单AGV路径规划算法为基础,针对多AGV系统中可能出现的问题,通过应用合适的多AGV路径规划算法,解决多AGV系统的避碰和冲突死锁问题,为每个AGV 规划出无冲突的路径。
本发明实施例提供了一种基于权重约束的全向轮AGV最短路径规划方法,涉及智慧停车、智慧仓储等应用及最短路径算法设计等领域,能够实现科学的智慧型停车场服务以及智慧仓储服务,完成相关应用场景内的全向AGV实时最短路径选择。
本发明在有效计算最短路径的同时,结合实际情况,对路口转弯进行权重惩罚,根据新的权重得出的最短路径在道路长度较短的基础上能够尽量避免转弯,避免引起路口和道路交叉口的其他AGV车辆排队和等待,帮助AGV引导车进程有效快速的完成任务。
以下两表为使用本调度算法前后的冲突时间窗对照表。本实验使用了8辆 agv进行仿真模拟实验,在使用本调度算法后,有效减少了冲突路段;与此同时,也减少了总调度时间。
Figure GDA0002658901840000151
Figure GDA0002658901840000161
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (5)

1.一种基于时间窗的AGV任务调度方法,其特征在于,包括:
根据执行任务的AGV进入路径的时间、驶出路径的时间和任务需要经过的所有路径的长度,确定任务需要经过的所有路径的时间窗;
基于任务需要经过的所有路径的时间窗和任务的初始优先级,计算出各个任务的动态优先级;
根据各个任务的动态优先级利用任务调度策略对各个任务进行调度;
所述的基于任务需要经过的所有路径的时间窗和任务的初始优先级,计算出各个任务的动态优先级,包括:
任务t的综合了任务运行时间的动态优先级的计算公式如下:
Figure FDA0002658901830000011
其中λ和k是预设的参数,∑(tijin-tijout)为任务t经过的所有路径的时间窗之和,i的值分别为从1到5,代表任务t的初始优先级,1代表任务的最高优先级,5代表任务的最低优先级,S(i,t)为初始优先级为i的任务t的动态优先级;
所述的根据各个任务的动态优先级利用任务调度策略对各个任务进行调度,包括:
选择最高动态优先级的任务,选择一辆空闲AGV,并使用改进的Dijkstra算法规划出该任务的最短路径,并计算出该任务中所有占用路段的进入和驶出时间,初始化各个路段的时间窗向量表;
为次高动态优先级任务进行路径规划,检查是否有空闲AGV,如果没有,则进入等待状态;如果有,则调用改进的Dijkstra路径规划算法,并计算出该任务所有占用路段的进入和驶出时间,更新各个路段的时间窗向量表,计算各个路段的时间窗向量表中是否存在冲突,如果不存在冲突,路径规划完成,如果存在冲突,则在路径规划算法中将第一个冲突路段标记为不可用,再次调用改进的Dijkstra路径规划算法进行路径规划,重复上述过程,直到不存在冲突;如果不能规划出最短路径,则暂停对该任务的调度,调度接下来的任务;
接下来对剩余任务中动态优先级最高的任务进行AGV分配和路径规划,同样,在路径规划后,更新系统的时间窗向量表,并检查是否存在冲突,重复上述过程,经过多轮这样的计算过程,实现对多个任务进行调度,并为多个AGV规划出无冲突的路径。
2.根据权利要求1所述的方法,其特征在于,所述的根据执行任务的AGV进入路径的时间、驶出路径的时间和任务需要经过的所有路径的长度,确定任务需要经过的所有路径的时间窗,包括:
设定每个任务对应一条路径,该路径为一系列弧段的集合,将从起始位置Oi到终止位置Di的路径表示为有序弧段集合E={e1,e2,…en},其中e1,e2,…en是环境地图边集合中的弧段,将任务t描述为:
Mi(t)=(Oi,Di,Ei(t),Pi(t),ri)
其中,Pi(t)为任务t的初始优先级,Ei(t)为任务t的路径集合;
对于任务t,定义AGVri进入弧段ej的时间窗Wij={tij_in,tij_out};
其中tij_in是执行任务t的AGV进入弧段ej的时间,tij_out是执行任务t的AGV离开弧段ej的时间,在时间窗Wij内弧段ej被AGVri占用。
3.根据权利要求1所述的方法,其特征在于,所述的使用改进的Dijkstra算法规划出该任务的最短路径,包括:
步骤1、设定包含多个结点的路径规划区域中的起始结点为源点v,终止结点为终点w,初始时,设定路径集合S只包括源点v,候选结点集合U中包括含除v外的其它结点,计算出源点v与其它所有结点之间的距离,将源点v与其它所有结点之间的距离存储在结点距离数据表中;
步骤2、根据所述结点距离数据表中存储的距离信息,从U中选取一个到源点v距离最短的结点k,把k加入S中;
步骤3、以结点k为中间结点,基于转弯权重重新计算U中各结点到源点v的距离,将重新计算的源点v与其它所有结点之间的距离更新存储在结点距离数据表中;
步骤4、重复执行上述步骤2和3,直到将终点w添加到S中,流程结束,将S中的所有结点按照添加进S的时间顺序依次连接,得到源点v到终点w的最短路径。
4.根据权利要求3所述的方法,其特征在于,所述的步骤1中的计算出源点v与其它所有结点之间的距离,包括:
若U中结点u是源点v的出边邻接点,则边v→u有边权值<v,u>,该边权值即为源点v与结点u之间的距离Dv→u,若结点u不是源点v的出边邻接点,则边权值<v,u>为无穷大,即为源点v与结点u之间的距离Dv→u为无穷大。
5.根据权利要求4所述的方法,其特征在于,所述的步骤3中的以结点为中间结点,基于转弯权重重新计算U中各结点到源点v的距离,包括:
以结点k为中间结点,选取U中结点u,计算经过中间结点k从v到u的距离Dv→k→u,首先判断经过中间结点k从v到u的路径v→k→u中是否存在转弯,如果边v→k与边k→u之间的夹角不为零度,则判断经过中间结点k从v到u的路径v→k→u中存在转弯,则经过中间结点k从v到u的距离:Dv→k→u=<v,k>+<k,u>+2×trunweight,所述trunweight为设定的转弯权重;
如果边v→k与边k→u之间的夹角为零度,则判断经过中间结点k从v到u的路径v→k→u中不存在转弯,则经过中间结点k从v到u的距离为:Dv→k→u=<v,k>+<k,u>;
将计算出的经过中间结点k从v到u的距离Dv→k→u与结点距离数据表中存储的从v到u的距离Dv→u进行比较,如果Dv→k→u≤Dv→u,则将结点距离数据表中存储的v到u的距离更新为Dv→k→u;如果Dv→k→u>Dv→u,则将结点距离数据表中存储的v到u的距离不变。
CN201910779178.3A 2019-08-22 2019-08-22 基于时间窗的agv任务调度方法 Active CN110530369B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910779178.3A CN110530369B (zh) 2019-08-22 2019-08-22 基于时间窗的agv任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910779178.3A CN110530369B (zh) 2019-08-22 2019-08-22 基于时间窗的agv任务调度方法

Publications (2)

Publication Number Publication Date
CN110530369A CN110530369A (zh) 2019-12-03
CN110530369B true CN110530369B (zh) 2020-11-10

Family

ID=68662538

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910779178.3A Active CN110530369B (zh) 2019-08-22 2019-08-22 基于时间窗的agv任务调度方法

Country Status (1)

Country Link
CN (1) CN110530369B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178829B (zh) * 2019-12-19 2021-06-18 中国人民解放军国防科技大学 一种在软件项目管理中基于图算法的冲突消解方法
CN111401617A (zh) * 2020-03-09 2020-07-10 兰剑智能科技股份有限公司 一种基于时间预测的agv调度方法及系统
CN111653098B (zh) * 2020-06-04 2022-04-26 南京航空航天大学 多载量自动导引车交叉路口通行顺序优化方法
CN111633655B (zh) * 2020-06-06 2021-04-30 杭州电子科技大学 一种分布式自主移动机器人交通调度方法
CN113804205A (zh) * 2020-06-11 2021-12-17 深圳市镭神智能系统有限公司 自移动设备的路径规划方法、装置、介质及自移动设备
CN112527010B (zh) * 2020-11-09 2022-04-01 福州大学 基于人工势场与粒子优化的室内变电站无人机多机协同巡检方法
CN113051046A (zh) * 2020-12-09 2021-06-29 南京航空航天大学 一种车载云环境下基于动态优先级的任务调度方法
CN113031603B (zh) * 2021-03-05 2022-04-01 湖南大学 一种基于任务优先级的多物流机器人协同路径规划方法
CN113515117A (zh) * 2021-03-26 2021-10-19 南京师范大学 一种基于时间窗的多agv实时调度的冲突消解方法
CN113566840B (zh) * 2021-08-06 2024-03-19 上海振华重工(集团)股份有限公司 封闭式、密网型、自动化物流园区的多车路径规划方法
CN114137960A (zh) * 2021-11-01 2022-03-04 天行智控科技(无锡)有限公司 一种封闭区域智能运输系统的无人驾驶车辆协作方法
CN114035522A (zh) * 2021-11-09 2022-02-11 南京航空航天大学 一种oht搬运系统防死锁调度方法
CN114229312B (zh) * 2022-01-21 2023-09-19 清华大学 一种货物搬运方法、装置、服务器和存储介质
CN114331220B (zh) * 2022-03-01 2022-05-13 北京邮电大学 基于订单动态优先级的乘用车运输车辆调度方法及装置
CN115796553B (zh) * 2023-01-10 2023-04-28 广东利元亨智能装备股份有限公司 Agv任务调度方法、装置及agv调度系统
CN116523165B (zh) * 2023-06-30 2023-12-01 吉林大学 柔性作业车间amr路径规划与生产调度的协同优化方法
CN117172398B (zh) * 2023-10-31 2024-01-26 民航机场成都电子工程设计有限责任公司 一种基于数字孪生仿真平台的地图节点计算方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106251016B (zh) * 2016-08-01 2019-05-07 江苏海事职业技术学院 一种基于动态时间窗的泊车系统路径规划方法
WO2018093805A1 (en) * 2016-11-16 2018-05-24 Wal-Mart Stores, Inc. Systems and methods for enabling delivery of commercial products to customers
CN106779431A (zh) * 2016-12-26 2017-05-31 航天恒星科技有限公司 一种通信卫星的任务规划方法及系统
CN107036618A (zh) * 2017-05-24 2017-08-11 合肥工业大学(马鞍山)高新技术研究院 一种基于最短路径深度优化算法的agv路径规划方法
CN107179078B (zh) * 2017-05-24 2020-04-03 合肥工业大学 一种基于时间窗优化的agv路径规划方法
CN109581983B (zh) * 2018-12-07 2020-12-25 航天恒星科技有限公司 基于多智能体的测控资源调度分配的方法和设备

Also Published As

Publication number Publication date
CN110530369A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN110530369B (zh) 基于时间窗的agv任务调度方法
CN109949604B (zh) 一种大型停车场调度导航方法及系统
CN110471418B (zh) 智能停车场中的agv调度方法
CN110515380B (zh) 基于转弯权重约束的最短路径规划方法
CN108762268B (zh) 多agv无碰撞路径规划算法
Digani et al. Hierarchical traffic control for partially decentralized coordination of multi AGV systems in industrial environments
Wuthishuwong et al. Vehicle to infrastructure based safe trajectory planning for Autonomous Intersection Management
Gawrilow et al. Dynamic routing of automated guided vehicles in real-time
Digani et al. Coordination of multiple AGVs: a quadratic optimization method
CN107203190A (zh) 一种基于复杂路径的惯性导航agv调度方法及系统
CN113313957B (zh) 基于增强型Dijkstra算法的无信号灯交叉路口车辆调度方法
Liu et al. Prediction, planning, and coordination of thousand-warehousing-robot networks with motion and communication uncertainties
Perronnet et al. Deadlock prevention of self-driving vehicles in a network of intersections
US20210165424A1 (en) An agv system and a method of controlling an agv system
JP2021071891A (ja) 走行制御装置、走行制御方法、及びコンピュータプログラム
Guney et al. Dynamic prioritized motion coordination of multi-AGV systems
CN110412990B (zh) 一种用于工厂环境下的agv避碰方法
Perronnet et al. Vehicle routing through deadlock-free policy for cooperative traffic control in a network of intersections: Reservation and congestion
Cao et al. Research on global optimization method for multiple AGV collision avoidance in hybrid path
CN115016506A (zh) 基于自主绕障的异构型多智能体网联协同调度规划方法
CN115547023A (zh) 一种车辆控制方法、装置及系统
Solichudin et al. Conflict-free dynamic route multi-agv using dijkstra Floyd-warshall hybrid algorithm with time windows
WO2023274284A1 (zh) 一种车辆控制方法、装置及系统
CN115755786A (zh) 基于流量的多agv全局调度方法
US20230063370A1 (en) Multi-robot route planning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant