1.一种基于动态时间窗的泊车系统路径规划方法,其特征在于,包括如下步骤:
步骤S1:采用拓扑法创建智能车库中AGV的工作环境模型;
步骤S2:按照不同评价标准,分别为每台AGV和每项存取车任务设定优先级;
步骤S3:采用Dijkstra算法为接受任务的AGV规划最短可行路径;
步骤S4:排布可行路径时间窗;
步骤S5:根据冲突类型不同,设计冲突解决策略;
步骤S6:利用基于动态时间窗的泊车系统路径规划算法为AGV规划无冲突最优路径;
所述步骤S1中,采用拓扑法创建智能车库中AGV的工作环境模型,具体步骤包括:
步骤S11:对环境模型中的交通路网和AGV作如下处理:①AGV运行车道为单道双向模式,且宽度方向仅能容纳一台AGV;②系统中的AGV在同一时间段内只能接受一项存取车任务,在其执行任务期间,系统分配的其他任务则视为无效;③为避免与其他AGV发生碰撞事故,需为执行任务的AGV设定一个安全行驶区域,该安全行驶区域由AGV车体几何尺寸、运行速度以及运行车道几何尺寸来确定;④在某时刻或某一时间段内,路网中的任一交叉路口和任一行驶路段都只允许一台AGV使用;
步骤S12:利用AGV自带的摄像头、雷达传感器、超声波传感器以及红外线传感器采集AGV运行环境信息,上述环境信息包括AGV的起始车位、目标车位、障碍物以及AGV待充电位置;
步骤S13:以步骤S11和步骤S12操作采集的环境信息作为建模数据,采用拓扑法创建AGV在智能车库中的工作环境模型;
所述步骤S2中,按照不同评价标准,分别为每台AGV和每项存取车任务设定优先级,具体内容包括:
步骤S21:对于系统中AGV的优先级,则由车辆编号大小确定,且AGV优先级高低次序与车辆编号大小成负相关;
步骤S22:对于系统中存取车任务的优先级,则由任务加载顺序、任务轻重缓急和距离最短评价标准综合确定;
步骤S23:当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定;
步骤S24:系统还规定,正在执行存取车任务的AGV的优先级高于空闲AGV的优先级;在AGV执行任务期间,地面控制系统为其分配的新的存取车任务被视为无效;
所述步骤S23中,当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定的情况包括:
步骤231:当两台AGV同时到达同一交叉路口时,系统首先对AGV优先级进行判断,然后按照优先级高低次序,来安排两台AGV通过交叉路口的先后顺序;当优先级高的AGV通过交叉路口且与优先级低的AGV保持一定的安全距离后,系统会呼叫优先级低的AGV继续执行任务;
步骤232:当两台AGV是一前一后到达交叉路口,但两者会在交叉路口出现冲突时,此时系统在判断AGV优先级的基础上,还要根据两台AGV到交叉路口距离的长短来确定彼此通过路口的先后顺序;
步骤233:当优先级相同的两台AGV同时到达交叉路口时,系统会根据两台AGV距离交叉路口的远近来决定其通过交叉路口的先后顺序;
所述步骤S3中,采用Dijkstra算法为接受任务的AGV规划最短可行路径的关键在于,其必须按照步骤S2中的优先级高低次序进行;对于系统中任一项任务mi的函数定义为:
mi(t)=(si,di,λi(t),Pi(t),qi) (1)
(1)式中,i表示任务编号;mi(t)表示t时刻系统分配的任务;si表示任务mi的起点,di表示任务mi的终点,λi(t)表示在t时刻第i项任务所经过的一系列有序路段的集合;Pi(t)表示任务mi的优先级,qi表示执行任务mi的AGV;当多AGV路径规划结束后,每项任务的参数固定不变,只有在发生冲突的情况下,优先级低的AGV才需要动态更改其运行路线,以此来避免执行任务的AGV间发生碰撞、死锁冲突和增强AGV的柔性;
所述步骤S4中,排布可行路径时间窗,具体步骤包括:
步骤S41:时间窗初始化;最短可行路径确定后,在理想条件即无冲突时,为接受任务的AGV排布出可行路径时间窗;由步骤S3中任务mi找出的最短可行路径λi,其是由一系列运行路段组成,用有序路段集合表示,即λi={ej,ek,el,…,eq},ej,ek,el,…,eq∈E,其中,E表示路网中所有可行路段的集合,ek表示最短可行路径中某一路段,k∈1,2,3,....,q;
任务mi在路段ek上的时间窗函数定义为:
Tw,ik=(qi,mi,r,tin,k,tout,k)
式中,r表示路段ek在可行路径λi上的位置;tin,k表示车辆qi驶入路段ek的起始时间;
tout,k表示车辆qi离开路段ek的时间;
对于路段ek的时间窗,由下式计算得到:
tout,k=tin,k+ωi,k
式中,ωi,k表示AGV通过路段ek所花费的时间,由下式计算得到:
式中,li,k表示路段ek的长度,v表示AGV的运行速度;
在实际应用中,由于可行路径的任意有序路段ek需要被AGV分时使用,因此,有序路段ek也是由一系列时间窗组成,用有序向量ekk={Tω,1j,Tω,2j,…,Tω,mj}表示,在有序向量ekk中,向量维度与存取车任务数量相同,随时间变化而变化;如果任务mi在某时刻没有使用路段ek,则把在该路段的驶入时间tin,k和驶出时间tout,k都设置为0;另外,由于任务mi的最短可行路径是由一系列有序路段组成,而每条有序路段又对应着一个时间窗,因此,任务mi认为是由一系列时间窗组成,用集合Di={eki,eji,eli…,eqi}表示;
按照步骤S41中所给方程式,为任务mi的最短可行路径λi排布出如集合Di所示的时间窗分布;
步骤S42:时间窗更新,按照步骤S41排布出一条理想情况下的时间窗路径后,然后检查不同任务间可行路径的时间窗是否存在重叠现象;
若无重叠现象,则任务mi的路径规划过程结束;如果当前任务mi是当前系统中优先级最高的调度任务时,则将步骤S41规划的可行路径时间窗作为任务mi的最终时间窗,无需再次更新;
若有重叠部分,则说明当前任务与其他任务规划出的最短可行路径上至少有一条路段是同时使用的;对于此种现象,则需要系统根据冲突类型,设计合理的冲突避障策略;
步骤S43:时间窗的安排;将可行路径各路段对应的无冲突时间窗按照顺序排列,即完成可行路径的时间窗安排;若某一路段ek存在多个任务的时间窗,则新加入任务在路段ek上的时间窗的进入时间必须满足条件:①驶入该路段的时间必须大于或等于AGV从上一条路段的离开时间;②该路段的空闲时间窗的长度应大于或等于AGV通过该路段所花费的时间;
所述时间窗是指执行存取车任务的AGV从开始进入到离开某个交叉路口或某个路段的整个过程所花费的时间,其主要作用是对AGV已占用的交叉路口或行驶路段进行标记;
按照步骤S3和步骤S4,通过循环迭代搜索,依次为接受任务的AGV规划出无冲突最短可行路径时间窗;
所述步骤S4中,地面控制系统会实时接收AGV在行使过程中上传的位置、速度及运行状态信息,并根据这些信息,判断AGV是否已经离开某条路段或某个交叉路口,驶向下一路段或交叉路口;如果AGV已经离开某条路段或某个交叉路口,则需从时间窗向量表中删除AGV在该表中注册的信息,从而释放该路段或该交叉路口资源,供其他AGV使用;
所述步骤S4中,以避免在该AGV占用的时间段内,被其他AGV使用而引发死锁或碰撞冲突。
2.如权利要求1所述的方法,其特征在于,所述步骤S5中,根据冲突类型不同,设计冲突解决策略,具体内容包括:
多AGV存取车路径规划中出现的冲突有两种,即交叉路口冲突和路径冲突,
步骤S51:交叉路口冲突是指在某时刻有两台或两台以上的AGV因同时共用一个交叉路口而引发的冲突;对于该类冲突,系统采用等待策略来解决,即,系统将优先级低的AGV申请使用的时间窗向后平移一段时间,直到优先级高的AGV顺利通过冲突交叉路口后,再申请使用该交叉路口,以此避免死锁和碰撞冲突;当多台AGV同时到达某一交叉路口时,系统首先对各AGV优先级进行判断,然后按照优先级高低次序安排AGV通过交叉路口先后顺序;
步骤S52:路径冲突又分为相向冲突和赶超冲突,其中,相向冲突又可分为可避免冲突和不可避免冲突;对于可等待避免冲突,系统可采用等待策略解决;对于不可避免冲突,可采用重新规划路径策略,该策略包括局部路径规划策略和全局路径规划策略;对于赶超冲突,可采用减速和等待策略来解决,也根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理;
所述步骤S52中,局部路径规划策略是指在不利用车库交通路网中全部路段信息和在不改变最短可行路径中无冲突路段的前提下,仅在与冲突路段相邻的其他路段中,搜索出一条能替代冲突路段的其他路段,且该路段能保证在不影响最短可行路径上其他时间窗分布的前提下,能保证接受任务的AGV顺利达到目的地,完成指定的存取车任务;
所述步骤S52中,全局路径规划策略是指利用车库交通路网中全部路段信息,重新为接受任务的AGV规划出最短可行路径;
所述步骤S52中,重新规划路径的具体实施步骤包括:
步骤S521:系统检测多AGV间是否出现相向冲突中的不可避免冲突;
步骤S522:对出现不可避免冲突的路段进行标记,并调用路径搜索算法重新规划路径;
步骤S523:对新搜索到的优化路径的时间窗向量表进行循环更新,直到规划出无冲突和时间最少的优化路径为止,算法搜索结束;如果算法经过多次迭代搜索仍无法找到无冲突优化路径,则算法搜索过程结束,并把此任务加载到任务序列表中,等待系统下次任务调度分配;
所述步骤S52中,相向冲突是指某一时间段内,在同一条路径上相向运行的AGV间为争夺路径资源而引发的冲突;赶超冲突是指两台AGV同时在一条路径上运行且后侧AGV的运行速度高于前侧AGV的运行速度,它们之间为争夺路径资源而引发的冲突。
3.如权利要求1所述的方法,其特征在于,所述步骤S6中,利用基于动态时间窗的泊车系统路径规划算法为AGV规划无冲突最优路径,具体步骤包括:
步骤S61:初始化算法各参数,建立集合N、集合Q、集合M、集合A、集合S和集合R,分别用于存储系统中的AGV、接受任务的AGV、存取车任务请求指令、优先级策略处理后的存取车任务及任务的起点和目标点;
步骤S62:将集合M中的存取车请求指令加载到任务序列集合A中,并按照任务优先级高低次序为其排序;
步骤S63:根据AGV当前状态信息判断AGV工作状态,如空闲状态和正在执行任务状态,状态可用0和1表示;如果工作环境中有空闲AGV存在,则系统会将任务序列集合A中优先级最高的存取车任务分配给编号最小的空闲AGV,并在已知AGV起点位置、目标点位置及工作环境信息的前提下,调用Dijkstra算法,为AGV规划出一条距离最短的优化路径,然后转至步骤S64;反之,则任务调度停止;
步骤S64:计算AGV在优化路径上各路段的驶入时间和驶出时间,按照步骤S41初始化各路段时间窗向量表,通过多次循环搜索,即得到最短可行路径的时间窗分布,然后转至步骤S65;
步骤S65:对次优任务的路径进行规划,转至步骤S63,判断环境中否有空闲AGV可调用,若有,则系统先将编号仅次于优先级最高的空闲AGV分配给次优任务,然后调用Dijkstra算法为次优任务规划出一条优化路径;反之,则暂停对该任务的调度,然后按照任务序列表次序依次对其他任务进行调度;若无,则系统停止对后续任务调度;
步骤S66:计算AGV在次优路径上各路段的驶入时间和驶出时间,更新各路段时间窗向量表,然后判断时间窗向量表是否存在重叠;如果时间窗无重叠,则次优任务的路径规划过程结束;反之,则需要检测次优任务的优化路径存在何种冲突,并根据冲突类型的不同,选用合适的冲突解决策略,如对于交叉路口冲突和相向冲突中的可避免冲突,采用等待策略解决;对于相向冲突中的不可避免冲突,采用重新规划路径策略解决;对于赶超冲突采用减速和等待策略来解决,也根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理;
步骤S67:次优任务的路径规划结束后,转至步骤S63,然后按照任务序列表次序重复上述操作,依次完成其他任务的路径规划。
4.如权利要求3所述的方法,其特征在于,所述步骤S63中,系统对AGV状态信息的判断是以AGV自身实时上传的信息作为依据,且AGV的空闲状态用0表示,正在执行任务状态用1表示;
所述步骤S63中,在对系统分配的任务规划最短可行路径前,需先判断系统中是否存在空闲AGV;若存在空闲AGV,系统才对任务规划可行路径;否则,系统无法为任务规划最短可行路径;
所述步骤S63中,对任务最短可行路径规划与对接受该任务AGV的最短可行路径规划是一样的。
5.如权利要求3所述的方法,其特征在于,所述步骤S65中,暂停任务调度分两种情况,分别是:①系统无空闲AGV可调度使用,则系统会停止对后续任务调度;②系统中有空闲AGV存在,但系统无法为该任务规划出无冲突可行路径;此时,系统仅只暂停对该任务的调度,其并不影响对其他任务的调度。
6.如权利要求3所述的方法,其特征在于,所述步骤S66中,更新各路段时间窗向量表,判断各路段时间窗窗向量表是否存在重叠现象按照步骤S42和步骤S5操作完成。
7.如权利要求3所述的方法,其特征在于,所述步骤S66中,次优任务最短可行路径的时间窗排布按照步骤S4计算得到。
8.如权利要求3所述的方法,其特征在于,所述步骤S66中,时间窗重叠问题,按照步骤S5提供的策略解决。
一种基于动态时间窗的泊车系统路径规划方法\n技术领域\n[0001] 本发明属于自动导引运输车(Automatic guidedvehicle,简称AGV)路径规划技术领域,具体涉及一种基于动态时间窗的泊车系统路径规划方法。\n背景技术\n[0002] 近年来,随着国民经济的快速发展,我国汽车保有量急剧增加。根据公安部交管局公布数据显示,截止到2015年12月底,我国机动车保有量达2.79亿辆,同比去年增长约1500万辆,其中汽车保有量为1.72亿辆,约占总数的61.6%。在全国范围内,汽车保有量超百万辆的城市有40个,其中北京、成都、深圳、天津、上海、苏州、重庆、广州、杭州、郑州和西安等\n11个城市的汽车保有量超过200万辆。汽车保有量的急剧增加造成了城市交通拥挤、停车困难等社会问题,严重影响了市民的居住环境,因此,解决停车难已成为社会亟待解决的难题。而基于AGV的平面移动式智能立体停车库的出现,则很好地解决了这一难题。该智能立体停车库类似于自动仓储存储设备,通过AGV、升降电梯以及拖车板等设备协同作用来实现同层或不同层车辆存取停放功能,具有停车占地面积少、有效存车数量多、车辆存取自动化程度高、性价比高以及安全可靠性高等优点,可实现无人自动存取车、AGV自动充电以及车库自动计费等诸多功能。在该智能立体停车库中,由于其运行环境复杂多变,如何使系统中的AGV在有效避开路径资源竞争和冲突的前提下,在较短的时间内顺利完成车辆的存取停放任务,这就涉及到多AGV协同避障路径规划问题。\n[0003] 路径规划是AGV导航技术的重要环节,它是指在具有障碍物的环境中,按照一定的评价标准(如最短距离、最少耗费时间、最少转弯次数以及最少能源消耗等),寻找一条从起始位置到目标位置的最优或近似最优的无碰路径。\n[0004] 由于单台AGV工作能力有限,难以完成复杂任务,因此,在智能立体停车库中,需要多台AGV共同完成车辆存取停放任务。多台AGV路径规划不同于单台AGV路径规划,单台AGV路径规划的本质是路径搜索问题,即在一张地图中搜索出起始点到目标点的路径,并使得某一性能指标最优。而多AGV路径规划则比单AGV路径规划复杂的多,在复杂多变的运行环境下,它不仅要为单台AGV搜索出一条从起点到目标点的优化路径,而且要避免AGV和周围环境障碍物以及其它AGV间发生冲突碰撞。除此之外,它还要完成多台AGV之间的协调,避免碰撞、死锁问题发生,以便使得多台AGV间通过协同作用顺利完成指定任务。\n[0005] 针对多AGV路径规划问题,国内外相关学者已做了大量研究工作,并相继提出了多种有效方法,如模糊推理系统法、Petri网法、混合多目标遗传算法、分散控制法、时间窗法以及时间窗与其他启发式算法结合的路径规划方法等。上述方法虽然能解决多AGV路径规划问题,但其也存在诸多缺陷,如算法复杂计算量大、系统整体效率低、易于发生死锁和阻塞、难以获得全局最优解以及环境适应性和通用性差等。为解决智能立体停车库中多AGV存取车路径规划问题,避免路径搜索中出现死锁及碰撞冲突,改善现有算法的鲁棒性和柔性,提高智能立体停车系统整体运行效率,降低社会人员存、取车等待时间,本发明提出了一种基于动态时间窗的泊车系统路径规划方法。\n[0006] 本发明提出的一种基于动态时间窗的泊车系统路径规划方法与乔徽等提出的一种基于时间窗的多机器人路径规划方法存在本质的区别。两者相同点均是在Dijkstra算法和时间窗法的基础上提出的,并将该融合算法用于解决生产实际问题。不同点在于:①在优先级方面,本发明以车辆编号大小、任务加载顺序、任务轻重缓急和距离最短为评价标准,分别为每台AGV和每项存取车任务设定了优先级。另外,对于路口冲突问题,又补充设置了距离优先级;而在乔徽提供的方法中,并未给出优先级的具体涉及对象范围及优先级评价标准;②在时间窗方面,本发明排布可行路径时间窗则采用时间窗初始化、时间窗更新以及时间窗安排三个步骤,对于时间窗更新则主要用于检查不同任务间可行路径的时间窗是否存在重叠现象和将已经清除或未被占用路段对应的时间窗加载至时间窗向量表中,时间窗排布程序的运算过程只与加载任务有关;而在乔徽提供的方法中,排布可行路径时间窗则只使用时间窗更新一个步骤完成,且时间窗的循环更新时间是固定的,其更新时间窗的目的是确定可行路径的时间窗排布;③冲突检测方面,本发明是综合AGV间的距离、运行路段长度以及AGV运行速度以及运行方向等因素,来解决冲突检测问题的;而在乔徽提供的方法中,它是通过判断所有有向边是否形成环,来解决冲突检测问题的;④在冲突解决策略方面,本发明根据冲突类型不同,设计了减速策略、等待策略和重新规划路径策略(该策略又包括局部路径规划策略和全局路径规划策略),如对于交叉路口冲突和相向冲突中的可避免冲突,采用等待策略解决;对于相向冲突中的不可避免冲突,采用重新规划路径策略解决;对于赶超冲突,采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略;而在乔徽提供的方法中,对于死锁中无解的机器人,它仅是记录其每条可行路径上的冲突短路径、冲突节点及冲突依赖关系,对被依赖最多的机器人给出预警;⑤在算法执行过程方面,两者有本质的区别,此区别可通过两种方法中的路径规划流程图可以看出。\n发明内容\n[0007] 本发明目的在于针对智能立体停车库中AGV存取车路径规划问题,在充分考虑多AGV协同避障以及环境时变性前提条件下,采用分时利用策略,通过将Dijkstra算法和时间窗法进行有效结合,提供一种基于动态时间窗的泊车系统路径规划方法。本发明能有效避免死锁及碰撞问题,可保证规划路径最优,且在动态环境下具有较好的柔性。\n[0008] 本发明通过如下技术方案实现其技术目的,一种基于动态时间窗的泊车系统路径规划方法,包括如下步骤:\n[0009] 步骤S1:采用拓扑法创建智能车库中AGV的工作环境模型;\n[0010] 步骤S2:按照不同评价标准,分别为每台AGV和每项存取车任务设定优先级;\n[0011] 步骤S3:采用Dijkstra算法为接受任务的AGV规划最短可行路径;\n[0012] 步骤S4:排布可行路径时间窗;\n[0013] 步骤S5:根据冲突类型不同,设计冲突解决策略;\n[0014] 步骤S6:利用基于动态时间窗的泊车系统路径规划算法为AGV规划无冲突最优路径;\n[0015] 进一步地,所述步骤S1中,采用拓扑法创建智能车库中AGV的工作环境模型,具体步骤包括:\n[0016] 步骤S11:对环境模型中的交通路网和AGV作如下处理:①AGV运行车道为单道双向模式,且宽度方向仅能容纳一台AGV;②系统中的AGV在同一时间段内只能接受一项存取车任务,在其执行任务期间,系统分配的其他任务则视为无效;③为避免与其他AGV发生碰撞事故,需为执行任务的AGV设定一个安全行驶区域,该安全区域可由AGV车体几何尺寸、运行速度以及运行车道几何尺寸来确定;④在某时刻或某一时间段内,路网中的任一交叉路口和任一行驶路段都只允许一台AGV使用;\n[0017] 步骤S12:利用AGV自带的摄像头、雷达传感器、超声波传感器以及红外线传感器等采集AGV运行环境信息,上述信息包括AGV的起始车位、目标车位、障碍物以及AGV待充电位置等;\n[0018] 步骤S13:以上述操作采集的环境信息作为建模数据,采用拓扑法创建AGV在智能车库中的工作环境模型。\n[0019] 进一步地,所述步骤S2中,按照不同评价标准,分别为每台AGV和每项存取车任务设定优先级,具体内容包括:\n[0020] 步骤S21:对于系统中AGV的优先级,则由车辆编号大小确定,且AGV优先级高低次序与车辆编号大小成负相关;\n[0021] 步骤S22:对于系统中存取车任务的优先级,则由任务加载顺序、任务轻重缓急和距离最短等评价标准综合确定;\n[0022] 步骤S23:当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定;\n[0023] 步骤S24:系统还规定,正在执行存取车任务的AGV的优先级高于空闲AGV的优先级;在AGV执行任务期间,地面控制系统为其分配的新的存取车任务被视为无效。\n[0024] 进一步地,所述步骤S23中,当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定的情况包括:\n[0025] 步骤231:当两台AGV同时到达同一交叉路口时,系统首先对AGV优先级进行判断,然后按照优先级高低次序,来安排两台AGV通过交叉路口的先后顺序。当优先级高的AGV通过交叉路口且与优先级低的AGV保持一定的安全距离后,系统会呼叫优先级低的AGV继续执行任务;\n[0026] 步骤232:当两台AGV是一前一后到达交叉路口,但两者会在交叉路口出现冲突时,此时系统在判断AGV优先级的基础上,还要根据两台AGV到交叉路口距离的长短来确定彼此通过路口的先后顺序;\n[0027] 步骤233:当优先级相同的两台AGV同时到达交叉路口时,系统会根据两台AGV距离交叉路口的远近来决定其通过交叉路口的先后顺序。\n[0028] 进一步地,所述步骤S3中,采用Dijkstra算法为接受任务的AGV规划最短可行路径的关键在于,其必须按照步骤S2中的优先级高低次序进行。对于系统中任一项任务mi的函数可定义为:\n[0029] mi(t)=(si,di,λi(t),Pi(t),qi) (1)\n[0030] 式中,i表示任务编号;mi(t)表示t时刻系统分配的任务;si表示任务mi的起点,di表示任务mi的终点,λi(t)表示在t时刻第i项任务所经过的一系列有序路段的集合,Pi(t)表示任务mi的优先级,qi表示执行任务mi的AGV。当多AGV路径规划结束后,每项任务的上述参数一般固定不变,只有在发生冲突的情况下,某些优先级低的AGV才需要动态更改其运行路线,以此来避免执行任务的AGV间发生碰撞、死锁冲突和增强AGV的柔性。\n[0031] 进一步地,所述步骤S4中,排布可行路径时间窗,具体步骤包括:\n[0032] 步骤S41:时间窗初始化。最短可行路径确定后,在理想条件(无冲突)下,为接受任务的AGV排布出可行路径时间窗。由步骤S3中任务mi找出的最短可行路径λi,其是由一系列运行路段组成,可用有序路段集合表示,即λi={ej,ek,el,…,eq},ej,ek,el,…,eq∈E,其中,E表示路网中所有可行路段的集合,ek(k∈1,2,3,....,q)表示最短可行路径中某一路段。\n[0033] 任务mi在路段ek上的时间窗函数可定义为:\n[0034] Tw,ik=(qi,mi,r,tin,k,tout,k)\n[0035] 式中,r表示路段ek在可行路径λi上的位置;tin,k表示车辆qi驶入路段ek的起始时间;tout,k表示车辆qi离开路段ek的时间。\n[0036] 对于路段ek的时间窗,可由下式计算得到:\n[0037] tout,k=tin,k+ωi,k\n[0038] 式中,ωi,k表示AGV通过路段ek所花费的时间,可由下式计算得到:\n[0039]\n[0040] 式中,li,k表示路段ek的长度,v表示AGV的运行速度。\n[0041] 在实际应用中,由于可行路径的任意有序路段ek需要被AGV分时使用,因此,有序路段ek也是由一系列时间窗组成,可用有序向量 表示。在有序向量\n中,向量维度与存取车任务数量相同,可随时间变化而变化。如果任务mi在某时刻没有使用路段ek,则可把在该路段的驶入时间tin,k和驶出时间tout,k都设置为0。另外,由于任务mi的最短可行路径是由一系列有序路段组成,而每条有序路段又对应着一个时间窗,因此,任务mii i i i\n也可认为是由一系列时间窗组成,可用集合Di={e+ ,ej ,el…,eq}表示。\n[0042] 按照步骤S41中所给方程式,可为任务mi的最短可行路径λi排布出如集合Di所示的时间窗分布。\n[0043] 步骤S42:时间窗更新。按照步骤S41排布出一条理想情况下的时间窗路径后,然后检查不同任务间可行路径的时间窗是否存在重叠现象。\n[0044] 若无重叠现象,则任务mi的路径规划过程结束。如果当前任务mi是当前系统中优先级最高的调度任务时,则将步骤S41规划的可行路径时间窗作为任务mi的最终时间窗,无需再次更新。\n[0045] 若有重叠部分,则说明当前任务与其他任务规划出的最短可行路径上至少有一条路段是同时使用的。对于此种现象,则需要系统根据冲突类型,设计合理的冲突避障策略。\n[0046] 步骤S43:时间窗的安排。将可行路径各路段对应的无冲突时间窗按照一定的顺序排列,即完成可行路径的时间窗安排。需要注意的是,若某一路段ek存在多个任务的时间窗,则新加入任务在路段ek上的时间窗的进入时间必须满足条件:①驶入该路段的时间必须大于或等于AGV从上一条路段的离开时间;②该路段的空闲时间窗的长度应大于或等于AGV通过该路段所花费的时间。\n[0047] 按照步骤S3和步骤S4,通过循环迭代搜索,可依次为接受任务的AGV规划出无冲突最短可行路径时间窗。\n[0048] 进一步地,所述步骤S4中,时间窗是指执行存取车任务的AGV从开始进入到离开某个交叉路口或某个路段的整个过程所花费的时间,其主要作用是对AGV已占用的交叉路口或行驶路段进行标记,以避免在该AGV占用的时间段内,被其他AGV使用而引发死锁或碰撞冲突。\n[0049] 进一步地,所述步骤S4中,地面控制系统会实时接收AGV在行使过程中上传的位置、速度及运行状态等信息,并根据这些信息,判断AGV是否已经离开某条路段或某个交叉路口,驶向下一路段或交叉路口。如果AGV已经离开某条路段或某个交叉路口,则需从时间窗向量表中删除AGV在该表中注册的信息,从而释放该路段或该交叉路口资源,供其他AGV使用。\n[0050] 进一步地,所述步骤S5中,根据冲突类型不同,设计冲突解决策略,具体内容包括:\n[0051] 多AGV存取车路径规划中出现的冲突一般有两种,即交叉路口冲突和路径冲突。\n[0052] 步骤S51:交叉路口冲突是指在某时刻有两台或两台以上的AGV因同时共用一个交叉路口而引发的冲突。对于该类冲突,系统一般采用等待策略来解决,即,系统将优先级低的AGV申请使用的时间窗向后平移一段时间,直到优先级高的AGV顺利通过冲突交叉路口后,再申请使用该交叉路口,以此避免死锁和碰撞冲突。当多台AGV同时到达某一交叉路口时,系统首先对各AGV优先级进行判断,然后按照优先级高低次序安排AGV通过交叉路口先后顺序。\n[0053] 步骤S52:路径冲突又可分为相向冲突和赶超冲突,其中,相向冲突又可分为可避免冲突和不可避免冲突。对于可等待避免冲突,系统可采用等待策略解决;对于不可避免冲突,可采用重新规划路径策略,该策略包括局部路径规划策略和全局路径规划策略;对于赶超冲突,可采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理。\n[0054] 进一步地,所述步骤S52中,相向冲突是指某一时间段内,在同一条路径上相向运行的AGV间为争夺路径资源而引发的冲突。赶超冲突是指两台AGV同时在一条路径上运行且后侧AGV的运行速度高于前侧AGV的运行速度,它们之间为争夺路径资源而引发的冲突。\n[0055] 进一步地,所述步骤S52中,局部路径规划策略是指在不利用车库交通路网中全部路段信息和在不改变最短可行路径中无冲突路段的前提下,仅在与冲突路段相邻的其他路段中,搜索出一条能替代冲突路段的其他路段,且该路段能保证在不影响最短可行路径上其他时间窗分布的前提下,能保证接受任务的AGV顺利达到目的地,完成指定的存取车任务。\n[0056] 进一步地,所述步骤S52中,全局路径规划策略是指利用车库交通路网中全部路段信息,重新为接受任务的AGV规划出最短可行路径。\n[0057] 进一步地,所述步骤S52中,重新规划路径的具体实施步骤包括:\n[0058] 步骤S521:系统检测多AGV间是否出现相向冲突中的不可避免冲突;\n[0059] 步骤S522:对出现不可避免冲突的路段进行标记,并调用路径搜索算法重新规划路径;\n[0060] 步骤S523:对新搜索到的优化路径的时间窗向量表进行循环更新,直到规划出无冲突和时间最少的优化路径为止,算法搜索结束。如果算法经过多次迭代搜索(为避免程序出现死循环,程序循环搜索次数设置有最大限制)仍无法找到无冲突优化路径,则算法搜索过程结束,并把此任务加载到任务序列表中,等待系统下次任务调度分配。\n[0061] 进一步地,所述步骤S6中,利用基于动态时间窗的泊车系统路径规划算法为AGV规划无冲突最优路径,具体步骤包括:\n[0062] 步骤S61:初始化算法各参数,建立集合N、集合Q、集合M、集合A、集合S和集合R,分别用于存储系统中的AGV、接受任务的AGV、存取车任务请求指令、优先级策略处理后的存取车任务及任务的起点和目标点;\n[0063] 步骤S62:将集合M中的存取车请求指令加载到任务序列集合A中,并按照任务优先级高低次序为其排序;\n[0064] 步骤S63:根据AGV当前状态信息判断AGV工作状态,如空闲状态和正在执行任务状态,状态可用0和1表示。如果工作环境中有空闲AGV存在,则系统会将任务序列集合A中优先级最高的存取车任务分配给编号最小的空闲AGV,并在已知AGV起点位置、目标点位置及工作环境等信息的前提下,调用Dijkstra算法,为AGV规划出一条距离最短的优化路径,然后转至步骤S64;反之,则任务调度停止;\n[0065] 步骤S64:计算AGV在优化路径上各路段的驶入时间和驶出时间,按照步骤S41初始化各路段时间窗向量表,通过多次循环搜索,即可得到最短可行路径的时间窗分布,然后转至步骤S65;\n[0066] 步骤S65:对次优任务的路径进行规划,转至步骤S63,判断环境中否有空闲AGV可调用,若有,则系统先将编号仅次于优先级最高的空闲AGV分配给次优任务,然后调用Dijkstra算法为次优任务规划出一条优化路径;反之,则暂停对该任务的调度,然后按照任务序列表次序依次对其他任务进行调度;若无,则系统停止对后续任务调度;\n[0067] 步骤S66:计算AGV在次优路径上各路段的驶入时间和驶出时间,更新各路段时间窗向量表,然后判断时间窗向量表是否存在重叠。如果时间窗无重叠,则次优任务的路径规划过程结束;反之,则需要检测次优任务的优化路径存在何种冲突,并根据冲突类型的不同,选用合适的冲突解决策略,如对于交叉路口冲突和相向冲突中的可避免冲突,可采用等待策略解决;对于相向冲突中的不可避免冲突,可采用重新规划路径策略解决;对于赶超冲突可采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理;\n[0068] 步骤S67:次优任务的路径规划结束后,转至步骤S63,然后按照任务序列表次序重复上述操作,依次完成其他任务的路径规划。\n[0069] 进一步地,所述步骤S63中,系统对AGV状态信息的判断是以AGV自身实时上传的信息作为依据,且AGV的空闲状态用0表示,正在执行任务状态用1表示。\n[0070] 进一步地,所述步骤S63中,在对系统分配的任务规划最短可行路径前,需先判断系统中是否存在空闲AGV。若存在空闲AGV,系统才可对任务规划可行路径;否则,系统无法为任务规划最短可行路径。\n[0071] 进一步地,所述步骤S63中,对任务最短可行路径规划与对接受该任务AGV的最短可行路径规划是一样的。\n[0072] 进一步地,所述步骤S65中,暂停任务调度分两种情况,分别是:①系统无空闲AGV可调度使用,则系统会停止对后续任务调度;②系统中有空闲AGV存在,但系统无法为该任务规划出无冲突可行路径。此时,系统仅只暂停对该任务的调度,其并不影响对其他任务的调度。\n[0073] 进一步地,所述步骤S66中,更新各路段时间窗向量表,判断各路段时间窗窗向量表是否存在重叠现象可按照步骤S42和步骤S5操作完成。\n[0074] 进一步地,所述步骤S66中,次优任务最短可行路径的时间窗排布可按照步骤S4计算得到。\n[0075] 进一步地,所述步骤S66中,时间窗重叠问题,可按照步骤S5提供的策略解决。\n[0076] 有益效果\n[0077] (1)可有效解决目前多AGV路径规划柔性差、易出现死锁、碰撞冲突等问题;\n[0078] (2)可在有效解决路径冲突的前提下,为接受任务的AGV规划出时间最短的优化路径;\n[0079] (3)有助于实现停车设备的自动化管理和车辆的自动存取停放,有益于增强系统的安全性和可靠性,提高车库停车设备和泊车位的利用率,降低人力成本、运营成本和设备成本等;\n[0080] (4)可有效提高智能立体停车系统整体运行效率,降低社会人员存、取车等待时间。\n附图说明\n[0081] 图1为基于时间窗的多AGV路径规划算法流程图;\n[0082] 图2为某时刻智能车库中AGV的工作环境模型;\n[0083] 图3为交叉路口冲突;\n[0084] 图4为等待策略解决交叉路口时间窗冲突;\n[0085] 图5为相向冲突;\n[0086] 图6为等待策略解决路径冲突;\n[0087] 图7为赶超冲突;\n具体实施方式\n[0088] 下面将结合附图对本发明内容进行详细说明,但不是对本发明的限定。\n[0089] 本发明提供的是一种基于动态时间窗的泊车系统路径规划方法,图1所示为本发明算法实施流程图,该流程图描述了多AGV无冲突最优路径的求解过程,具体包括以下步骤:\n[0090] 步骤S1:采用拓扑法创建智能车库中AGV的工作环境模型,具体步骤包括:\n[0091] 步骤S11:对环境模型中的交通路网和AGV作如下处理:①AGV运行车道为单道双向模式,且宽度方向仅能容纳一台AGV;②系统中的AGV在同一时间段内只能接受一项存取车任务,在其执行任务期间,系统分配的其他任务则视为无效;③为避免与其他AGV发生碰撞事故,需为执行任务的AGV设定一个安全行驶区域,该安全区域可由AGV车体几何尺寸、运行速度以及运行车道几何尺寸来确定;④在某时刻或某一时间段内,路网中的任一交叉路口和任一行驶路段都只允许一台AGV使用;\n[0092] 步骤S12:利用AGV自带的摄像头、雷达传感器、超声波传感器以及红外线传感器等采集AGV运行环境信息,上述信息包括AGV的起始车位、目标车位、障碍物以及AGV待充电位置等;\n[0093] 步骤S13:以上述操作采集的环境信息作为建模数据,采用拓扑法创建AGV在智能车库中的工作环境模型。\n[0094] 图2所示为采用拓扑法创建的某时刻智能车库中AGV工作环境模型图,图中黑色圆格表示占用泊车位,白色圆格表示空闲泊车位,P0表示车库入口,PE(与交叉口C2通道重合,此处未标出)表示车库出口,P1~P15为车库泊车位,可用于存放车辆,C1~C6表示车道交叉路口,AGV在此处可完成转向及切换车道操作。\n[0095] 步骤S2:按照不同评价标准,分别为每台AGV和每项存取车任务设定优先级,具体内容包括:\n[0096] 步骤S21:对于系统中AGV的优先级,则由车辆编号大小确定,且AGV优先级高低次序与车辆编号大小成负相关;\n[0097] 步骤S22:对于系统中存取车任务的优先级,则由任务加载顺序、任务轻重缓急和距离最短等评价标准综合确定;\n[0098] 步骤S23:当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定;\n[0099] 步骤S24:系统还规定,正在执行存取车任务的AGV的优先级高于空闲AGV的优先级;在AGV执行任务期间,地面控制系统为其分配的新的存取车任务被视为无效。\n[0100] 进一步地,所述步骤S23中,当发生交叉路口冲突时,对于AGV通过冲突交叉路口的先后顺序问题,则由AGV当前优先级和距离最短优先级综合确定的情况包括:\n[0101] 步骤231:当两台AGV同时到达同一交叉路口时,系统首先对AGV优先级进行判断,然后按照优先级高低次序,来安排两台AGV通过交叉路口的先后顺序。当优先级高的AGV通过交叉路口且与优先级低的AGV保持一定的安全距离后,系统会呼叫优先级低的AGV继续执行任务;\n[0102] 步骤232:当两台AGV是一前一后到达交叉路口,但两者会在交叉路口出现冲突时,此时系统在判断AGV优先级的基础上,还要根据两台AGV到交叉路口距离的长短来确定彼此通过路口的先后顺序;\n[0103] 步骤233:当优先级相同的两台AGV同时到达交叉路口时,系统会根据两台AGV距离交叉路口的远近来决定其通过交叉路口的先后顺序。\n[0104] 步骤S3:采用Dijkstra算法为接受任务的AGV规划最短可行路径的关键在于,其必须按照步骤S2中的优先级高低次序进行。对于系统中任一项任务mi的函数可定义为:\n[0105] mi(t)=(si,di,λi(t),Pi(t),qi) (1)\n[0106] 式中,i表示任务编号;mi(t)表示t时刻系统分配的任务;si表示任务mi的起点,di表示任务mi的终点,λi表示任务mi所经过的一系列有序路段的集合,Pi(t)表示任务mi的优先级,qi表示执行任务mi的AGV。当多AGV路径规划结束后,每项任务的上述参数一般固定不变,只有在发生冲突的情况下,某些优先级低的AGV才需要动态更改其运行路线,以此来避免执行任务的AGV间发生碰撞和死锁冲突。\n[0107] 步骤S4:排布可行路径时间窗,具体步骤包括:\n[0108] 步骤S41:时间窗初始化。最短可行路径确定后,在理想条件(无冲突)下,为接受任务的AGV排布出可行路径时间窗。由步骤S3中任务mi找出的最短可行路径λi,其是由一系列运行路段组成,可用有序路段集合表示,即λi={ej,ek,el,…,eq},ej,ek,el,…,eq∈E,其中,E表示路网中所有可行路段的集合,ek(k∈1,2,3,....,q)表示最短可行路径中某一路段。\n[0109] 任务mi在路段ek上的时间窗函数可定义为:\n[0110] Tw,ik=(qi,mi,r,tin,k,tout,k)\n[0111] 式中,r表示路段ek在可行路径λi上的位置;tin,k表示车辆qi驶入路段ek的起始时间;tout,k表示车辆qi离开路段ek的时间。\n[0112] 对于路段ek的时间窗,可由下式计算得到:\n[0113] tout,k=tin,k+ωi,k\n[0114] 式中,ωi,k表示AGV通过路段ek所花费的时间,可由下式计算得到:\n[0115]\n[0116] 式中,li,k表示路段ek的长度,v表示AGV的运行速度。\n[0117] 在实际应用中,由于可行路径的任意有序路段ek需要被AGV分时使用,因此,有序路段ek也是由一系列时间窗组成,可用有序向量 表示。在有序向量\n中,向量维度与存取车任务数量相同,可随时间变化而变化。如果任务mi在某时刻没有使用路段ek,则可把在该路段的驶入时间tin,k和驶出时间tout,k都设置为0。另外,由于任务mi的最短可行路径是由一系列有序路段组成,而每条有序路段又对应着一个时间窗,因此,任务mii i i i\n也可认为是由一系列时间窗组成,可用集合Di={ek ,ej ,el…,eq}表示。\n[0118] 按照步骤S41中所给方程式,可为任务mi的最短可行路径λi排布出如集合Di所示的时间窗分布。\n[0119] 步骤S42:时间窗更新。按照步骤S41排布出一条理想情况下的时间窗路径后,然后检查不同任务间可行路径的时间窗是否存在重叠现象。\n[0120] 若无重叠现象,则任务mi的路径规划过程结束。如果当前任务mi是当前系统中优先级最高的调度任务时,则将步骤S41规划的可行路径时间窗作为任务mi的最终时间窗,无需再次更新。\n[0121] 若有重叠部分,则说明当前任务与其他任务规划出的最短可行路径上至少有一条路段是同时使用的。对于此种现象,则需要系统根据冲突类型,设计合理的冲突避障策略。\n[0122] 步骤S43:时间窗的安排。将可行路径各路段对应的无冲突时间窗按照一定的顺序排列,即完成可行路径的时间窗安排。需要注意的是,若某一路段ek存在多个任务的时间窗,则新加入任务在路段ek上的时间窗的进入时间必须满足条件:①驶入该路段的时间必须大于或等于AGV从上一条路段的离开时间;②该路段的空闲时间窗的长度应大于或等于AGV通过该路段所花费的时间。\n[0123] 按照步骤S3和步骤S4,通过循环迭代搜索,可依次为接受任务的AGV规划出无冲突最短可行路径时间窗。\n[0124] 进一步地,所述步骤S4中,时间窗是指执行存取车任务的AGV从开始进入到离开某个交叉路口或某个路段的整个过程所花费的时间,其主要作用是对AGV已占用的交叉路口或行驶路段进行标记,以避免在该AGV占用的时间段内,被其他AGV使用而引发死锁或碰撞冲突。\n[0125] 进一步地,所述步骤S4中,地面控制系统会实时接收AGV在行使过程中上传的位置、速度及运行状态等信息,并根据这些信息,判断AGV是否已经离开某条路段或某个交叉路口,驶向下一路段或交叉路口。如果AGV已经离开某条路段或某个交叉路口,则需从时间窗向量表中删除AGV在该表中注册的信息,从而释放该路段或该交叉路口资源,供其他AGV使用。\n[0126] 步骤S5:根据冲突类型不同,设计冲突解决策略,具体内容包括:\n[0127] 步骤S51:交叉路口冲突是指在某时刻有两台或两台以上的AGV因同时共用一个交叉路口而引发的冲突,具体如图3所示。对于该类冲突,系统一般采用等待策略来解决,即,系统将优先级低的AGV申请使用的时间窗向后平移一段时间,直到优先级高的AGV顺利通过冲突交叉路口后,再申请使用该交叉路口,以此避免死锁和碰撞冲突。当多台AGV同时到达某一交叉路口时,系统首先对各AGV优先级进行判断,然后按照优先级高低次序安排AGV通过交叉路口先后顺序。\n[0128] 图4所示为采用等待策略解决交叉路口时间窗冲突前后对比图,图中白色、黑色和灰色矩形框分别表示AGV1注册使用的时间窗、AGV2预约申请使用的时间窗和两AGV的冲突时间窗。为避免AGV2在执行任务期间与AGV1发生冲突,系统会采用等待策略将AGV2在交叉路口i上申请的时间窗向后平移一个合理的时间,即让AGV2在进入交叉路口i前等待一段时间,直到交叉路口i被释放为止,具体如图b所示。当AGV2顺利通过交叉路口i时,系统会自动将AGV2在交叉路口i的注册信息及时清除掉,从而释放该交叉路口资源,以方便其他AGV申请使用。\n[0129] 步骤S52:路径冲突又可分为赶超冲突和相向冲突,其中,相向冲突又可分为可避免冲突和不可避免冲突。对于可等待避免冲突,系统可采用等待策略解决;对于不可避免冲突,可采用重新规划路径策略,该策略包括局部路径规划策略和全局路径规划策略;对于赶超冲突,可采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理。\n[0130] 进一步地,所述步骤S52中,相向冲突是指某一时间段内,在同一条路径上相向运行的AGV间为争夺路径资源而引发的冲突,具体如图5所示。赶超冲突是指两台AGV同时在一条路径上运行且后侧AGV的运行速度高于前侧AGV的运行速度,它们之间为争夺路径资源而引发的冲突,具体如图7所示。\n[0131] 图5所示为路径冲突中的相向冲突,图5中(a)图所示为可等待避免冲突,对于此类冲突,系统可采用等待策略解决,即,将优先级低的AGV2申请使用的时间窗向后平移一段时间,直到优先级高的AGV1顺利通过交叉路口i后,再申请使用该交叉路口,以此避免与AGV1发生死锁和碰撞冲突,调整后的时间窗如图6中的(b)图所示,图6所示为等待策略解决路径冲突。图5中(b)图所示为不可避免冲突,对于此类冲突,最有效的解决策略是为AGV2重新规划新的可行路径。图7所示为赶超冲突,由图分析可知,AGV1和AGV2间只有在两个条件(即AGV1的运行速度高于AGV2和AGV1在赶超AGV2之前两车依然保持同向运行)同时满足的情况下,赶超冲突才会发生。对于赶超冲突,如果系统不采取任何控制措施,在同一条路径上运行的两台AGV间必会发生追尾事故,因此,针对该类冲突,可采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理。\n[0132] 进一步地,所述步骤S52中,局部路径规划策略是指在不利用车库交通路网中全部路段信息和在不改变最短可行路径中无冲突路段的前提下,仅在与冲突路段相邻的其他路段中,搜索出一条能替代冲突路段的其他路段,且该路段能保证在不影响最短可行路径上其他时间窗分布的前提下,能保证接受任务的AGV顺利达到目的地,完成指定的存取车任务。\n[0133] 进一步地,所述步骤S52中,全局路径规划策略是指利用车库交通路网中全部路段信息,重新为接受任务的AGV规划出最短可行路径。\n[0134] 进一步地,所述步骤S52中,重新规划路径的具体实施步骤包括:\n[0135] 步骤S521:系统检测多AGV间是否出现相向冲突中的不可避免冲突;\n[0136] 步骤S522:对出现不可避免冲突的路段进行标记,并调用路径搜索算法重新规划路径;\n[0137] 步骤S523:对新搜索到的优化路径的时间窗向量表进行循环更新,直到规划出无冲突和时间最少的优化路径为止,算法搜索结束。如果算法经过多次迭代搜索(为避免程序出现死循环,程序循环搜索次数设置有最大限制)仍无法找到无冲突优化路径,则算法搜索过程结束,并把此任务加载到任务序列表中,等待系统下次任务调度分配。\n[0138] 步骤S6:利用基于动态时间窗的泊车系统路径规划算法为AGV规划无冲突最优路径,具体步骤包括:\n[0139] 假设系统有n台AGV,当前分配任务有m项,且m项任务需指派m台AGV完成。对于系统中的AGV、接受任务的AGV、存取车任务、优先级策略处理后的存取车任务以及任务的起点和目标点可分别用集合N、集合Q、集合M、集合A、集合S和集合R表示,即N={n1,n2,n3,…,nn},Q={q1,q2,q3,…,qm},M={m1,m2,m3,…,mm},A={a1,a2,a3,...,am},S={s1,s2,s3,…,sm},R={r1,r2,r3,…,rm}。\n[0140] 步骤S61:初始化算法各参数,建立集合N、集合Q、集合M、集合A、集合S和集合R,分别用于存储系统中的AGV、接受任务的AGV、存取车任务请求指令、优先级策略处理后的存取车任务及任务的起点和目标点;\n[0141] 步骤S62:将集合M中的存取车请求指令加载到任务序列集合A中,并按照任务优先级高低次序为其排序,处理后的序列集合A={a1,a2,a3,...,am},a1,a2,a3,...,am表示按照优先级策略处理后的任务排序,其中,任务a1优先级最高,任务am优先级最低;\n[0142] 步骤S63:根据AGV当前状态信息判断AGV工作状态,如空闲状态和正在执行任务状态,状态可用0和1表示。如果工作环境中有空闲AGV存在,则系统会将任务序列集合A中优先级最高的存取车任务a1分配给编号为q1(q1为集合Q中优先级最高的AGV)的空闲AGV,并在已知AGV起点位置s1、目标点位置r1及工作环境等信息的前提下,调用Dijkstra算法,为编号为q1的AGV规划出一条距离最短的优化路径(该路径可用有序路段集合λ1表示,即λ1={ej,ek,el,…,eq},ej,ek,el,…,eq∈E1,其中,E1表示优化路径中所有可行路段集合),然后转至步骤S64;反之,则任务调度停止;\n[0143] 步骤S64:计算AGV(编号为q1)在优化路径上各路段的驶入时间和驶出时间,按照步骤S41初始化各路段时间窗向量表,通过多次循环搜索,即可得到最短可行路径的时间窗分布,可用集合D1={ek1,ej1,el1…,eq1}表示,然后转至步骤S65;\n[0144] 步骤S65:对次优任务a2的路径进行规划,转至步骤S63,判断环境中否有空闲AGV可调用,若有,则系统先将编号为q2的空闲AGV分配给次优任务a2,然后调用Dijkstra算法为任务a2规划出一条优化路径;反之,则暂停对该任务的调度,然后按照任务序列表次序依次对其他任务进行调度;若无,则系统停止对后续任务调度;\n[0145] 步骤S66:计算AGV(编号为q2)在次优路径上各路段的驶入时间和驶出时间,更新各路段时间窗向量表,然后判断时间窗向量表是否存在重叠。如果时间窗无重叠,则次优任务a2的路径规划过程结束;反之,则需要检测次优任务a2的优化路径存在何种冲突,并根据冲突类型的不同,选用合适的冲突解决策略,如对于交叉路口冲突和相向冲突中的可避免冲突,可采用等待策略解决;对于相向冲突中的不可避免冲突,可采用重新规划路径策略解决;对于赶超冲突可采用减速和等待策略来解决,也可根据实际需要,采用局部路径规划策略对可行路径的冲突路段进行重新规划处理;\n[0146] 步骤S67:次优任务a2的路径规划结束后,转至步骤S63,然后按照任务序列表次序重复上述操作,依次完成其他任务的路径规划。\n[0147] 进一步地,所述步骤S63中,系统对AGV状态信息的判断是以AGV自身实时上传的信息作为依据,且AGV的空闲状态用0表示,正在执行任务状态用1表示。\n[0148] 进一步地,所述步骤S63中,在对系统分配的任务规划最短可行路径前,需先判断系统中是否存在空闲AGV。若存在空闲AGV,系统才可对任务规划可行路径;否则,系统无法为任务规划最短可行路径。\n[0149] 进一步地,所述步骤S63中,对任务最短可行路径规划与对接受该任务AGV的最短可行路径规划是一样的。\n[0150] 进一步地,所述步骤S65中,暂停任务调度分两种情况,分别是:①系统无空闲AGV可调度使用,则系统会停止对后续任务调度;②系统中有空闲AGV存在,但系统无法为该任务规划出无冲突可行路径。此时,系统仅只暂停对该任务的调度,其并不影响对其他任务的调度。\n[0151] 进一步地,所述步骤S66中,更新各路段时间窗向量表,判断各路段时间窗窗向量表是否存在重叠现象可按照步骤S42和步骤S5操作完成。\n[0152] 进一步地,所述步骤S66中,次优任务最短可行路径的时间窗排布可按照步骤S4计算得到。\n[0153] 进一步地,所述步骤S66中,时间窗重叠问题,可按照步骤S5提供的策略解决。\n[0154] 以上所述即为结合附图对本发明较佳实施方式的示例性描述,而本发明具体实现并不受上述方式限制,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。