一种无死锁的无人车辆在线路径规划方法

文档序号:33043674发布日期:2023-01-24 22:03阅读:50来源:国知局
一种无死锁的无人车辆在线路径规划方法

1.本发明属于车辆调度、车辆控制、路径规划、导航及智能交通领域,具体涉及一种无死锁的无人车辆在线路径规划方法。


背景技术:

2.随着经济的发展和社会的进步,运输领域得到了飞速发展。其中,针对码头、仓库和车间等运输场地,目前广泛采用无人车辆进行运输作业,无人车辆的路径规划是整个运输作业过程中的核心问题。
3.通常,为了便于对无人车辆进行精准控制,首先需要对运输场地的物理环境进行建模,搭建路径规划所用的电子地图。其次,在电子地图基础上,需要先对无人车辆进行线路规划;线路规划是指根据某些优化目标,在电子地图中采用优化算法找到从当前任务的起点至终点的一条最优解或接近最优解的线路,使得无人车辆后续按照找到的最优路线行驶。之后,对获得最优线路的无人车辆还需要进行无障碍通行方案的规划;这是由于无人车辆的实际工作环境是动态变化的,无人车辆通常难以不间断地从规划路线的起点行驶至终点,否则无人车辆之间极可能发生冲突和死锁。因此,对于无人车辆的路径规划需要对运输场地中多辆无人车辆的行驶过程进行协同调控以防止发生冲突或者陷入死锁状态。
4.目前,常用的死锁预防方法有预留区域法、时间窗法、petri网格法以及交通控制法等。各方法相比之下,基于预留区域划分的预留路径表法对于保障无人车辆行驶过程的安全性具有较佳的表现,但该算法通常计算复杂度非常高,计算时间随着无人车辆数量增加会呈指数型增长,因此,针对实时性要求极高的运输场地并不适合。
5.因此,针对实时性决策要求极高的大规模无人车辆运输场景,如何为各个无人车辆规划出最优线路并避免无人车辆在行驶过程中出现冲突及死锁情况,是本领域内一个亟待解决的问题。


技术实现要素:

6.为了解决现有技术中的上述问题,本发明实施例提供了一种无死锁的无人车辆在线路径规划方法。具体技术方案如下:
7.针对每个无人车辆,基于运输场地对应的电子地图,利用预设线路规划方法为该无人车辆的当前任务分配最优线路;
8.在任一无人车辆的位置发生变化时,执行预计通行区域计算步骤,包括:基于所述电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域;
9.将预计通行区域重叠的无人车辆划分在一个集群内,得到划分出的多个集群;
10.利用分布式系统对划分出的各集群独立处理,计算得到每个集群内各无人车辆的预留路径表;其中,每个无人车辆的预留路径表包括其预计通行区域对应的局部线路被划分出的多条路径,每条路径为一次连续行驶的最小边集合。
11.每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,并在行驶过程中任一无人车辆的位置发生变化时,再次执行所述预计通行区域计算步骤。
12.在本发明的一个实施例中,所述预设线路规划方法,包括:
13.a
*
算法。
14.在本发明的一个实施例中,所述预设阈值包括:
15.预设时间阈值或预设距离阈值;
16.其中,所述预设距离阈值表征边数,至少为无人车辆最短停车距离对应边数的预设倍数;所述无人车辆最短停车距离表示无人车辆以最大速度行驶时到完全停车所需的最短距离。
17.在本发明的一个实施例中,所述预设阈值为所述预设时间阈值时,所述在任一无人车辆的位置发生变化时,基于所述电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域,包括:
18.针对任一无人车辆位置发生变化对应的位置变化时刻,对每个无人车辆根据其行驶速度,计算该无人车辆在所述预设时间阈值内的行驶长度;并根据所述电子地图中各边的已知长度,计算该无人车辆在所述预设时间阈值内的行驶边数;
19.根据该无人车辆的当前位置、最优线路表征的边集以及该无人车辆在所述预设时间阈值内的行驶边数,确定该无人车辆在该位置变化时刻起,所述预设时间阈值对应的未来时间段内将要行驶到的各个边以及相应的冲突边的集合,构成该无人车辆在所述预设时间阈值内的预计通行区域。
20.在本发明的一个实施例中,所述预设阈值为所述预设距离阈值时,所述在任一无人车辆的位置发生变化时,基于所述电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域,包括:
21.针对任一无人车辆位置发生变化对应的位置变化时刻,对每个无人车辆根据该无人车辆的当前位置和最优线路表征的边集,确定该无人车辆在该位置变化时刻起,在所述预设距离阈值对应的边数内将要行驶到的各个边以及相应的冲突边的集合,构成该无人车辆在所述预设距离阈值内的预计通行区域。
22.在本发明的一个实施例中,所述将预计通行区域重叠的无人车辆划分在一个集群内,得到划分出的多个集群,包括:
23.在对所有无人车辆依次遍历的过程中,对遍历到的每个无人车辆,分别判断该无人车辆与其余每个无人车辆的预计通行区域是否存在重复的边;如果是,将两者划分至同一集群,否则,将两者划分至各自对应的集群;并在所有无人车辆遍历结束后得到划分出的多个集群。
24.在本发明的一个实施例中,所述计算得到每个集群内各无人车辆的预留路径表,包括:
25.针对任一集群,确定该集群内所有无人车辆对应的优先级序列,并按照所述优先级序列,利用预留区域划分方法,依次计算该集群内各无人车辆的预留路径表。
26.在本发明的一个实施例中,针对任一无人车辆,利用预留区域划分方法,计算预留路径表的过程,包括:
27.步骤a1,获取该无人车辆在划分至所在集群时计算的预计通行区域所对应的目标边集合(e1,e2,...,e
m-1
,em)以及所在集群当前的彩色路径死锁检测图;并为该无人车辆设置初始为空的预留路径表;
28.步骤a2,针对该无人车辆的当前次预留,获取当前次的预留区域,并将所述当前次的预留区域的前一条边作为预留边;其中,针对首次预留,将所述目标边集合中em作为预留区域,将前一条边e
m-1
作为预留边;
29.步骤a3,使用彩色路径死锁检测方法检测该无人车辆当前次的预留请求与当前已确定的预留方案是否产生死锁情况;若否,执行步骤a4;若是,执行步骤a8;其中,该无人车辆当前次的预留请求由该无人车辆当前次预留确定的预留边和预留区域构成;所述当前已确定的预留方案包括当前该无人车辆所在集群中各无人车辆已确定的预留路径表;其中,针对首辆无人车辆的首次预留,当前已确定的预留方案为空;
30.步骤a4,将该无人车辆当前次的预留请求记录在该无人车辆的预留路径表和当前的彩色路径死锁检测图中;
31.步骤a5,判断所述目标边集合中的第一条边e1是否已被确定为预留边记录在该无人车辆的预留路径表和当前的彩色路径死锁检测图中;若否,执行步骤a6;若是,执行步骤a7;
32.步骤a6,将该无人车辆当前次的预留请求中的预留边作为下一次预留中的预留区域,返回步骤a2;
33.步骤a7,停止计算,获得该无人车辆的预留路径表;
34.步骤a8,将当前次的预留边向前移动一条边,使得预留区域向前扩大一条边,更新当前次的预留请求,并执行步骤a3。
35.在本发明的一个实施例中,所述每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,包括:
36.针对每个集群,在确定其内任一无人车辆依据对应的预留路径表行驶至与当前路径终点的距离达到预设距离值时,判断该无人车辆的下一条路径是否与该集群内其余无人车辆的当前路径冲突;
37.若是,向该无人车辆发出停止通行指令;若否,向该无人车辆发出下一条路径允许通行指令。
38.在本发明的一个实施例中,所述向该无人车辆发出下一条路径停止通行指令之后,所述方法还包括:
39.响应于该无人车辆的定时请求,再次判断该无人车辆的下一条路径是否与该集群内其余无人车辆的当前路径冲突,并根据判断结果向该无人车辆发出相应的指令。
40.针对实时性决策要求极高的大规模无人车辆运输场景下面临的车辆冲突和死锁问题。本发明实施例提出了两阶段决策框架,设计了一种无死锁的无人车辆在线路径规划方法,将原有路径规划问题拆解为在线线路规划与分布式轨迹规划两个紧密关联的子问题。在第一阶段,利用诸如a
*
算法等预设线路规划方法在线计算无人车辆执行运输等任务从起点至终点的最优线路;在第二阶段,提出了分布式轨迹规划方法,在无人车辆位置发生变动时,基于无人车辆实时状态,通过计算各无人车辆在预设阈值内的预计通行区域,将多个无人车辆动态地划分为多个相互独立的集群,并利用分布式计算方式,在集群内独立计
算各无人车辆的预留路径表以规划无人车辆预留路径,使每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,并且,当无人车辆行驶发生位置变动时,重复执行预计通行区域计算以及之后的步骤,从而保证各无人车辆在避免冲突死锁情况下的轨迹规划。并且,第二阶段通过将无人车辆按实时空间位置拆分成多个集群,降低了参与轨迹规划的无人车辆数量以及路线长度,降低了计算复杂度;以及,由于集群之间在空间上距离较远,各个集群内部的轨迹规划不会影响其他无人车辆行驶,通过集群管理实现了分布式改进,可以将互相独立的计算任务部署在不同的计算资源上进行运算,提高了计算效率。
附图说明
41.图1为本发明实施例中道路网络对应的赋权有向连通图的点、边与冲突边的示意图;
42.图2(a)~图2(c)分别为无人车辆三种常见的冲突的示意图;图2(d)为无人车辆的死锁的示意图;
43.图3为本发明实施例所提供的一种无死锁的无人车辆在线路径规划方法的流程示意图;
44.图4(a)和图4(b)分别为本发明实施例某一时刻集群划分的一种示例;
45.图5为本发明实施例的预计通行区域的理解示意图;
46.图6为本发明实施例针对任一无人车辆,利用预留区域划分方法计算预留路径表的流程示意图;
47.图7为本发明实施例的彩色路径死锁检测示意图;
48.图8为本发明实施例用于说明预留区域划分方法的示例中的一个死锁示例图;
49.图9为本发明实施例用于说明预留区域划分方法的示例中的初始化死锁检测示意图;
50.图10(a)~图10(d)为本发明实施例用于说明预留区域划分方法的示例中的死锁检测图更新过程示意图。
具体实施方式
51.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
52.为了便于理解本发明实施例的方案,首先对本发明实施例涉及的场景问题和发明构思予以简介。
53.为了与搜索最优线路的线路规划问题进行区分,对已获得最优线路的无人车辆进行的无冲突无死锁通行方案的规划问题,本发明实施例将其命名为轨迹规划。
54.本发明实施例的运输场地的真实环境中,道路网络可以抽象为赋权有向连通图g=(v,e),其中点v∈v代表道路网络中无人车辆的控制逻辑点,简称逻辑点,边e∈e代表连通点与点之间的车辆行驶道路,简称连通边。一般为了实现无人车辆的精细控制,逻辑点可
以按照4米等间距以阵列的方式展开。考虑到无人车辆的实际行驶轨迹,本发明实施例中逻辑点之间的连通边可以是直线、曲线以及s弯等多种形式且长度已知。无人车辆可以包括agv(automated guided vehicle,自动导引运输车)等,具体形式不限。由于无人车辆物理尺寸较大且在转弯时车身会扫过一定区域,为了无人车辆运行安全并避免物理冲突,如图1所示,本发明实施例中道路网络对应的赋权有向连通图中每条边都定义了相应的冲突边集合conflicts(e),即当一辆无人车辆占用边e时,相关冲突边都会被同时占有以避免其他无人车辆驶入该区域,如图1所示,灰色矩形表示一个无人车辆,加粗的边表示其冲突边。
55.随着运输场地中运行的无人车辆数量不断增加,冲突边集合的存在使得无人车辆在执行运输等任务的途中更容易发生车辆间冲突和死锁问题,从而影响运输效率。为了便于理解,后文图示以agv作为无人车辆的一种示例。在无人车辆行驶过程中,常见的冲突有相遇冲突、赶超冲突和占用冲突三种形式。分别请见图2(a)、图2(b)和图2(c)所示。其中,相遇冲突又包括相遇相向冲突和路口相遇冲突;赶超冲突又包括同向赶超冲突和变道赶超冲突;占用冲突又包括车道占用冲突和路口占用冲突。
56.这三种形式的冲突可以通过无人车辆之间的简单避让或者停车等待快速得到解决。而循环等待的死锁情况,如图2(d)所示,则需要在规划无人车辆行驶轨迹的过程中提前处理,以避免死锁情况发生。针对以上可能出现的冲突及死锁问题,需要对无人车辆行驶过程进行合理的调度控制,使无人车辆能够安全、高效、有序地行驶至终点。
57.本发明实施例在不牺牲作业效率与安全性的前提下,考虑从结构上降低算法复杂度以满足大规模无人车辆系统的实时决策需求,最终基于无人车辆的实时运行状态设计了两阶段决策框架,将路径规划过程拆分为两个关联紧密的决策问题;(1)线路规划问题;(2)轨迹规划问题。对应提供了一种无死锁的无人车辆在线路径规划方法。
58.需要说明的是,本发明实施例所提供的一种无死锁的无人车辆在线路径规划方法的执行主体可以为一种无人车辆在线路径规划装置,该装置可以运行于电子设备中。其中,该电子设备可以为一服务器或终端设备,当然并不局限于此。比如,针对自动化码头对应的运输场地,无死锁的无人车辆在线路径规划方法的执行主体可以为自动化码头的中央控制系统。以下对本发明实施例提供的无死锁的无人车辆在线路径规划方法进行具体说明,如图3所示,该方法可以包括如下步骤:
59.s1,针对每个无人车辆,基于运输场地对应的电子地图,利用预设线路规划方法为该无人车辆的当前任务分配最优线路。
60.s1中的无人车辆为已分配运输任务的无人车辆。具体的,针对无人车辆集群的一系列运输任务,随着时间的推移,以在线的方式陆续产生,并分配给指定的无人车辆,每个无人车辆陆续收到的运输任务将会排列组成其运输任务队列。
61.s1中无人车辆的当前任务包括运输任务和两个运输任务之间的空车移动任务。可以理解的是,空车移动任务是为了从当前位置到达将要执行的运输任务的起点,以便于执行该运输任务,比如从当前位置a,空车移动至位置b,将位置b处的货物运输至位置c,以完成位置b至位置c的运输任务。本发明实施例中,无论无人车辆要执行的任务是运输任务还是空车移动任务,均可以利用预设线路规划方法为其分配最优线路。
62.预设线路规划方法可以为现有的任意一种线路规划方法,例如基于图论的最短路算法,如广度优先搜索、深度优先搜索、floyd算法、dijkstra算法等;或者为基于智能仿生
学的启发式算法,如蚁群算法、粒子群算法和遗传算法等;以及可以为基于人工智能的q-leaning算法和神经网络算法等。但由于本发明实施例的实时性决策要求极高,而a
*
算法相比其余现有方法具有快速搜索能力,因此,可选的一种实施方式中,预设线路规划方法,可以包括:a
*
算法。a
*
算法的原理是将到达终点的估计距离作为评价函数,通过搜索更少的节点信息找到一条相对较优的道路,提高搜索效率。当然,预设线路规划方法并不局限于a
*
算法。
63.每个当前任务包含起点、终点和任务产生时间等信息。任务的起点和终点均与道路网络中的逻辑点对应。针对每个无人车辆,基于运输场地对应的电子地图,利用a
*
算法为该无人车辆的当前任务分配最优线路的过程请参见现有技术理解,在此不做详细说明。
64.当无人车辆被分配最优线路后,将根据道路网络的结构与最优线路,按计划从当前任务的起点行驶到终点,视为任务结束。
65.可以理解的是,s1完成的是本发明实施例第一阶段的线路规划问题。
66.s2,在任一无人车辆的位置发生变化时,执行预计通行区域计算步骤,包括:基于电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域;
67.s2~s5完成的是本发明实施例第二阶段的轨迹规划问题,发明人从无人车辆运行轨迹角度进行研究,根据每个无人车辆的实时位置与线路,为一定范围内有潜在冲突的无人车辆规划详细的行驶轨迹,以确保无人车辆行进过程中无碰撞无死锁。
68.简单来说,第二阶段基于无人车辆所在系统的实时状态,动态地为无人车辆划分集群,并为集群内的无人车辆设计无冲突无死锁的运行轨迹,同时实现了多集群的分布式运算,实现了一种轨迹规划方法,为了便于理解该轨迹规划方法,首先对该阶段的发明构思和方案进行简要说明。
69.无人车辆收到分配的最优线路后,将沿着自身的最优线路行驶,则其将要通行的边以及对应的冲突边是已知的。从最优线路的静态角度考虑,各无人车辆的运行线路之间可能存在较多的重叠与冲突。传统的集中式死锁预防算法即是从最优线路整体出发,对系统中所有无人车辆的全线路均进行防冲突防死锁的方案计算。但由于本发明实施例考虑的运输场地规模较大,无人车辆较多,该种方式不仅存在计算复杂度高、计算时间长的问题,而且经过长时间行驶后,无人车辆往往容易偏离计划。而发明人分析发现,在实际运行中,许多无人车辆之间可能相距较远,也就意味着这些无人车辆之间在短期内不会存在边的重叠与冲突,因此从空间层面来看,针对距离较远的无人车辆计算死锁预防的通行方案并无意义,因而发明人基于上述发现,计了动态的、局部的、分布式的第二阶段的轨迹规划方法。具体是在无人车辆行驶过程中,根据系统实时状态不断为无人车辆设计行驶轨迹。为了提升系统的决策效率,先提出了动态集群划分方法,将系统中的所有无人车辆在时空范围上划分为多个互相独立的集群;再对每个集群内的无人车辆利用分布式计算方式独立计算无死锁的轨迹规划方案,具体是基于预留区域划分方法实现。这样不仅能够减少计算复杂度,降低计算时长,还能够在局部区域实现更加精确的决策。与第一阶段的线路规划不同,第二阶段的轨迹规划是在已知线路上按逻辑边划分通行预留区域,使得无人车辆按照通行预留区域依指令分段行驶,从而确保各无人车辆在行驶过程中不会出现冲突和死锁情况。
70.本发明实施例的s2引入了预计通行区域的概念,s2是针对每个位置变化时刻,得
到各无人车辆在该位置变化时刻起预设阈值内的预计通行区域。
71.具体的,根据无人车辆在位置变化时刻的当前位置,预测该位置变化时刻起表示未来的预设阈值内无人车辆未来可能的通行区域,如果无人车辆未来可能的通行区域存在重叠,说明这些无人车辆在未来行驶过程中可能形成冲突和死锁,因而在后续的s3中将预计通行区域存在重叠的无人车辆划为一个集群。
72.可选的一种实施方式中,预设阈值包括预设时间阈值或预设距离阈值。
73.其中,预设时间阈值可以根据需求选择,比如可以为1分钟、5分钟等。
74.预设距离阈值表征边数,至少为无人车辆最短停车距离对应边数的预设倍数;其中,预设倍数可以为10倍等。当然,本发明实施例中,预设倍数并不局限于10倍,可以根据需求合理设置。
75.无人车辆最短停车距离表示无人车辆以最大速度行驶时到完全停车所需的最短距离。可以理解的是,最短停车距离表示为一个长度,由于本发明实施例的道路网络中各边的长度已知,最短停车距离可以以边数表征,比如5条边等,因此预设距离阈值实际上表征的是边数。
76.每次系统中有无人车辆的位置发生变化时,均会触发执行预计通行区域计算步骤,该预计通行区域计算步骤具体包括:基于电子地图、各无人车辆的最优线路及当前位置计算各无人车辆在预设阈值内的预计通行区域。
77.可以理解的是,各无人车辆沿对应分配的最优线路行驶过程中当前位置不断发生变化,针对任一无人车辆位置发生变化对应的位置变化时刻可以获取每个无人车辆的当前位置。针对每个无人车辆,可以根据该无人车辆在该位置变化时刻的当前位置、最优线路表征的边集,计算预设阈值内该无人车辆未来行驶区域所涉及的边集,得到预计通行区域。因此,预计通行区域表征为一个边集,其不仅包括通行边,也包括对应的冲突边。
78.关于预计通行区域的确定过程,以下对预设时间阈值和预设距离阈值的情况分别进行说明。
79.其中,预设阈值为预设时间阈值时,在任一无人车辆的位置发生变化时,基于电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域,包括:
80.针对任一无人车辆位置发生变化对应的位置变化时刻,对每个无人车辆根据其行驶速度,计算该无人车辆在预设时间阈值内的行驶长度;并根据电子地图中各边的已知长度,计算该无人车辆在预设时间阈值内的行驶边数;
81.根据该无人车辆的当前位置、最优线路表征的边集以及该无人车辆在所述预设时间阈值内的行驶边数,确定该无人车辆在该位置变化时刻起,预设时间阈值对应的未来时间段内将要行驶到的各个边以及相应的冲突边的集合,构成该无人车辆在预设时间阈值内的预计通行区域。
82.其中,预设阈值为预设距离阈值时,在任一无人车辆的位置发生变化时,基于电子地图、各无人车辆的最优线路及当前位置,计算各无人车辆在预设阈值内的预计通行区域,包括:
83.针对任一无人车辆位置发生变化对应的位置变化时刻,对每个无人车辆根据该无人车辆的当前位置和最优线路表征的边集,确定该无人车辆在该位置变化时刻起,在预设
距离阈值对应的边数内将要行驶到的各个边以及相应的冲突边的集合,构成该无人车辆在预设距离阈值内的预计通行区域。
84.s3,将预计通行区域重叠的无人车辆划分在一个集群内,得到划分出的多个集群。
85.针对每个位置变化时刻,s3得到该位置变化时刻划分出的多个集群。
86.具体的,在得到某个位置变化时刻所有无人车辆的预计通行区域后,可选的一种实施方式中,将预计通行区域重叠的无人车辆划分在一个集群内,得到划分出的多个集群,包括:
87.在对当前所有无人车辆依次遍历的过程中,对遍历到的每个无人车辆,分别判断该无人车辆与其余每个无人车辆的预计通行区域是否存在重复的边;如果是,将两者划分至同一集群,否则,将两者划分至各自对应的集群;并在当前所有无人车辆依次遍历结束后得到划分出的多个集群。
88.具体的,集群划分过程可以为:对于系统中正在运行的无人车辆,从i=1开始,检测第i个无人车辆与其余每个无人车辆的预计通行区域是否存在重复的边,将与第i个无人车辆的预计通行区域存在重复的边的无人车辆加入第i个无人车辆所在的集群;然后i加一后继续重复上述过程,直到所有无人车辆均已划分至确定的集群,则得到划分出的多个集群。其中,i为大于0的自然数。划分出的每个集群,可以以车辆列表的形式表征该集群内的所有无人车辆。
89.请参见图4(a)和图4(b)给出的某一时刻集群划分的两种示例图进行理解。其中,图4(a)和图4(b)中各无人车辆的预计通行区域以点和线连接构成的折线表示,灰色线条表示预计通行区域,预计通行区域存在重复的边则为折线存在相交部分。针对图4(a)对应的时刻,由于其中的无人车辆1和无人车辆2的预计通行区域存在重复的边,因而两者被划分在集群1中,而由于无人车辆3的预计通行区域和无人车辆1、无人车辆2均不存在重复的边,因而无人车辆3被划分在单独的集群2中。针对图4(b)对应的时刻,由于其中的无人车辆1~无人车辆3的预计通行区域均存在重复的边,因而三者被划分在同一个集群1中。
90.s4,利用分布式系统对划分出的各集群独立处理,计算得到每个集群内各无人车辆的预留路径表。
91.在每次集群划分后,需要对每个集群的内部成员计算行驶轨迹,本发明实施例将互相独立的集群计算任务,利用分布式系统部署给不同的处理器,这样,通过分布式计算可以缩短决策时间,提高系统的决策效率。具体的,s4是针对每个位置变化时刻,计算得到每个集群内各无人车辆的预留路径表。
92.其中,每个无人车辆的预留路径表包括其预计通行区域对应的局部线路被划分出的多条路径,每条路径为一次连续行驶的最小边集合。
93.由于一个无人车辆的预计通行区域表示的是计算时刻,也就是位置变化时刻,该无人车辆在预设阈值内未来行驶涉及的边的集合。可以理解的是,相对该无人车辆完整的最优线路而言,预计通行区域是一个局部线路,包含有道路网络的多个边以及相应的冲突边。预留路径表表示的是,将预计通行区域包含的多个边划分为多个段,即为多个预留区域,每一段表示一条路径,每条路径为一次连续行驶的最小边集合,一次连续行驶意味着无人车辆可以不停留地正常行驶。一条路径可能包含道路网络中的一条边或者多条边,需要根据各无人车辆的情况具体计算得到。关于无人车辆的预计通行区域可以参见图5理解,其
中,矩形表示无人车辆,每个无人车辆的轨迹规划为多个预计通行区域,各预计通行区域以斜线分割。
94.可选的一种实施方式中,计算得到每个集群内各无人车辆的预留路径表,包括:
95.针对当前任一集群,确定该集群内所有无人车辆对应的优先级序列,并按照优先级序列,利用预留区域划分方法,依次计算当前该集群内各无人车辆的预留路径表。
96.其中,在需要执行预留区域划分的时刻,按照优先级序列的顺序,从第一个无人车辆至最后一个无人车辆依次执行预留区域划分方法得到各无人车辆的预留路径表。确定该集群内所有无人车辆对应的优先级序列的依据可以是表征无人车辆运输任务的紧急程度或者重要程度等的属性信息,比如,依据紧急程度由高到低将该集群内所有无人车辆排序得到一个优先级序列。当然,确定优先级序列的方式可以不限于以上所示。
97.本发明实施例针对独立的集群,基于预留路径表提出了考虑集群空间范围与成员动态变化的局部无死锁的轨迹规划方法。该方法的主要思路是针对集群中每个无人车辆的线路依次执行预留区域划分方法,并将每一组已确定的无人车辆预留信息记录在死锁检测图上,在后续的计算过程中,通过彩色路径死锁检测方法判断新的预留请求是否与已确定的预留信息构成死锁,如果构成死锁则更改预留请求,直至无死锁时,确认该组预留请求并记录在死锁检测图上。
98.可选的一种实施方式中,请参见图6,针对任一无人车辆,利用预留区域划分方法,计算预留路径表的过程,包括:
99.步骤a1,获取该无人车辆在划分至所在集群时计算的预计通行区域所对应的目标边集合(e1,e2,...,e
m-1
,em)以及所在集群当前的彩色路径死锁检测图;并为该无人车辆设置初始为空的预留路径表;
100.其中,集群当前的彩色路径死锁检测图上可能已经记录有集群其余无人车辆的预留请求记录。为了便于理解方案,在此对彩色路径死锁检测方法以及彩色路径死锁检测图进行简单介绍。
101.彩色路径死锁检测方法主要作用是避免在预留路径时产生潜在死锁。在彩色路径死锁检测图gd=(vd,ed)中,节点vd∈vd表示有向图g中的边e∈e,边ed表示有向图g中两条边的关系。假设无人车辆当前正在边e1∈e上,且需要预留边e2∈e,称ed=(e1,e2)∈ed存在,而反映在gd上是一条具有代表该无人车辆特定颜色的边,即每一种颜色代表一条无人车辆线路的预留请求。如图7所示的彩色路径死锁检测示意图,彩色路径是指死锁检测图gd上存在一条路径,其每条边的颜色各异,由于每种颜色代表一个特定的无人车辆的预留请求,一个彩色的环形路径表示一组无人车辆正在循环请求预留相应的边。在最差的情况下,相应的无人车辆恰好位于对应颜色的边上,每辆无人车辆都在请求预留已经被其他无人车辆占用的边,进而构成死锁。为了避免死锁产生,在预留区域划分决策时检测一组新的预留请求是否与已经确认的预留请求构成彩色的环,即可判断该无人车辆是否和其他无人车辆构成死锁。如果将要发生死锁,当前预留请求将不可行,需要通过改变预留请求的长度调整预留路径表,从而实现无死锁的预留区域划分。
102.步骤a2,针对该无人车辆的当前次预留,获取当前次的预留区域,并将当前次的预留区域的前一条边作为预留边;
103.其中,针对首次预留,将目标边集合中em作为预留区域,将前一条边e
m-1
作为预留
边。
104.步骤a3,使用彩色路径死锁检测方法检测该无人车辆当前次的预留请求与当前已确定的预留方案是否产生死锁情况;若否,执行步骤a4;若是,执行步骤a8;
105.其中,该无人车辆当前次的预留请求由该无人车辆当前次预留确定的预留边和预留区域构成;当前已确定的预留方案包括当前该无人车辆所在集群中各无人车辆已确定的预留路径表;其中,针对首辆无人车辆的首次预留,当前已确定的预留方案为空。
106.步骤a4,将该无人车辆当前次的预留请求记录在该无人车辆的预留路径表和当前的彩色路径死锁检测图中;
107.步骤a5,判断目标边集合中的第一条边e1是否已被确定为预留边记录在该无人车辆的预留路径表和当前的彩色路径死锁检测图中;若否,执行步骤a6;若是,执行步骤a7;
108.步骤a6,将该无人车辆当前次的预留请求中的预留边作为下一次预留中的预留区域,返回步骤a2;
109.步骤a7,停止计算,获得该无人车辆的预留路径表;
110.步骤a8,将当前次的预留边向前移动一条边,使得预留区域向前扩大一条边,更新当前次的预留请求,并执行步骤a3。
111.需要说明的是,针对步骤a8,假设当前次的预留边为e
x
,向前移动一条边使得预留区域向前扩大一条边意味着从边e
x
向前移动至边e
x-1

112.其中,针对步骤a3,使用彩色路径死锁检测方法检测该无人车辆当前次的预留请求与当前已确定的预留方案是否产生死锁情况,包括:
113.步骤b1,针对该无人车辆当前次的预留请求(预留边q和预留区域s),将预留边q设为根节点,并作为首次迭代的父节点,执行步骤b2;
114.步骤b2,依次检查所有父节点查找到的可达子节点,是否存在某个子节点满足以下要求:存在一条保持从根节点q到该子节点之间不包含颜色c
pj
且无重复颜色的彩色路径;若是,执行步骤b3;若否,执行步骤b4,表示不存在从预留边q至预留区域s中的边s∈s之间的一条彩色路径,则确定该无人车辆当前次的预留请求与当前已确定的预留方案未产生死锁情况;其中,在该无人车辆之前,对应的彩色路径死锁检测图中为已经完成轨迹规划的每个无人车辆的线路分别指定有一个不同颜色,c
pj
表示彩色路径死锁检测图中该无人车辆所在线路pj的颜色;
115.步骤b3,如果查找到的可达子节点与其父节点的连通边的颜色不是c
pj
,且不同于从根节点q到该可达子节点的父节点间的彩色路径中已有的其他颜色,判断该连通边是否是预留区域s中的一条边;若否,执行步骤b5,将该可达子节点作为下一次迭代的父节点,执行步骤b2;若是,执行步骤b6,找到一条从预留边q至预留区域s中的边s∈s之间的一条彩色路径,则确定该无人车辆当前次的预留请求与当前已确定的预留方案产生死锁情况。
116.以下对利用预留区域划分方法,计算当前该集群内各无人车辆的预留路径表的过程举例说明。如图8所示,无人车辆1的线路为p1=(e2,e5),
117.p2=(e5,e7),p3=(e7,e4),p4=(e9,e4,e2),假定用红色代表无人车辆1,橙色代表无人车辆2,黄色代表无人车辆3,绿色代表无人车辆4。以这种常见的四个无人车辆容易陷入循环等待的情况为例,在暂不考虑图中冲突边关系的情况下,按照无人车辆编号从小到大的顺序检测死锁、预防死锁并划分预留区域的步骤可以包括:
118.①
初始化彩色路径死锁检测图gd=(vd,ed),如图9所示。
119.②
为无人车辆1计算预留路径表,尝试使e2预留e5,即当前次的预留请求中预留区域为e5,预留边为e2;检查gd中预留边e2反映的节点至gd中预留区域e5反映的节点之间,是否存在没有使用红色的一条彩色路径,显然没有,则确认p1的预留信息(即e2作为预留的请求边,预留e5作为预留区域)使用来表示该组预留请求并添加至死锁检测图gd上,gd更新为图10(a);
120.③
为无人车辆2计算预留路径表,尝试使e5预留e7,即当前次的预留请求中预留区域为e7,预留边为e5;检查gd中预留边e5反映的节点至gd中预留区域e7反映的节点之间,是否存在没有使用橙色的一条彩色路径,显然没有,则确认p2的预留信息(即e5作为预留的请求边,预留e7作为预留区域))使用来表示该组预留请求并添加至gd上,gd更新为图10(b);
121.④
为无人车辆3计算预留路径表,尝试使e7预留e4,即当前次的预留请求中预留区域为e4,预留边为e7;检查gd中预留边e7反映的节点至gd中预留区域e4反映的节点之间,是否存在没有使用黄色的一条彩色路径,显然没有,则确认p3的预留信息(即e7作为预留的请求边,预留e4作为预留区域)使用来表示该组预留请求并添加至gd上,gd更新为图10(c);
122.⑤
为无人车辆4计算预留路径表,尝试使e4预留e2,即当前次的预留请求中预留区域为e2,预留边为e4;检查gd中预留边e4反映的节点至gd中预留区域e2反映的节点之间,是否存在没有使用绿色的一条彩色路径,显然e
2-e
5-e
7-e4是一条没有绿色的彩色路径,因此一旦使e4预留e2,会导致四个无人车辆陷入循环等待的死锁状态,需将e4沿p4向上移动,使e9预留e2及e4,即修改后,当前次的预留请求中预留区域为e2及e4,预留边为e9;检查gd中预留边e9反映的节点至之间以及至之间是否存在彩色路径,显然不存在,则确认现在p4的预留信息使用及来表示该组预留请求并添加至gd上,gd更新为图10(d)。
123.需要补充说明的是,本发明实施例中用来表示序号的参数下标i、k、m等均为自然数。
124.s5,每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,并在行驶过程中任一无人车辆的位置发生变化时,再次执行预计通行区域计算步骤。
125.具体的,s5是控制每个集群内各无人车辆依据当前位置变化时刻对应的预留路径表中各路径分段行驶。并且,在无人车辆行驶过程中,任一无人车辆的位置发生变化时再次执行s2~s5。
126.可选的一种实施方式中,每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,包括:
127.针对每个集群,在确定其内任一无人车辆依据对应的预留路径表行驶至与当前路径终点的距离达到预设距离值时,判断该无人车辆的下一条路径是否与该集群内其余无人
车辆的当前路径冲突;
128.若是,向该无人车辆发出停止通行指令;若否,向该无人车辆发出下一条路径允许通行指令。
129.其中,预设距离值大于或等于无人车辆最短停车距离。
130.可选的一种实施方式中,判断该无人车辆的下一条路径是否与该集群内其余无人车辆的当前路径冲突,包括:
131.判断该无人车辆的下一条路径对应的边集合中的每一条边,是否在该集群内其余任一无人车辆的当前路径对应的边集合中;
132.若是,判定该无人车辆的下一条路径与该集群内其余无人车辆的当前路径冲突,反之,判定该无人车辆的下一条路径与该集群内其余无人车辆的当前路径不冲突。
133.如前所述,无人车辆的预留路径表中每一条路径可能包括道路网络中的一条或者多条边,还包括对应的冲突边,因此该无人车辆的下一条路径对应有一个边集合,同样的,该集群内其余每个无人车辆依据对应的预留路径表,当前路径也对应有一个边集合。如果该无人车辆的下一条路径对应的边集合与该集群内其余任一无人车辆的当前路径对应的边集合中存在重复的边,则判定该无人车辆的下一条路径与该集群内其余无人车辆的当前路径冲突;反之,则判定该无人车辆的下一条路径与该集群内其余无人车辆的当前路径不冲突。
134.如果判定该无人车辆的下一条路径与该集群内其余无人车辆的当前路径冲突,则向该无人车辆发出停止通行指令。那么,该无人车辆收到停止通行指令后会停止在下一条路径的起点之前,即不驶入下一条路径,如此则可以避免与出现在下一条路径上的其余无人车辆发生冲突。
135.如果判定该无人车辆的下一条路径不与该集群内其余无人车辆的当前路径冲突,则向该无人车辆发出下一条路径允许通行指令。那么,该无人车辆收到下一条路径允许通行指令后可以直接驶入下一条路径,说明该无人车辆不会在下一条路径上与其余无人车辆发生冲突,可以直接通行。
136.因此,可以看出,每个无人车辆是利用实时更新的预留路径表,在受控情况下以多段分路径的形式行驶的。直观来看,无人车辆针对每一位置变化时刻的预留路径表在行驶时,对每一路径并不会直接通行,而是在接近路径终点时会接收是否可以继续通行的相关指令,若无人车辆没有收到停止通行指令则会沿着预留路径表的下一个路径继续通行,若无人车辆收到停止通行指令则会停止等待。因此,通过控制集群内各个无人车辆在路径上的停止与否,能够避免各个无人车辆在相关路径上发生冲突或者死锁,因而可以保证集群内的无人车辆无冲突无死锁通行。
137.可选的一种实施方式中,向该无人车辆发出下一条路径停止通行指令之后,该方法还包括:
138.响应于该无人车辆的定时请求,再次判断该无人车辆的下一条路径是否与该集群内其余无人车辆的当前路径冲突,并根据判断结果向该无人车辆发出相应的指令。
139.具体的,收到停止通行指令后,该无人车辆会停止在下一条路径的起点之前,为了继续完成任务,该无人车辆可以以一定的频率向中央控制系统等用于执行本发明实施例方法的电子设备发送请求,用于询问下一条路径是否可以通行。用于执行本发明实施例方法
的电子设备收到该无人车辆的请求后,需要按照s5中的判断方式,再次判断该无人车辆的下一条路径是否与该集群内其余无人车辆的当前路径冲突,如果冲突,则再次向该无人车辆发出停止通行指令;如果不冲突,则向该无人车辆发出下一条路径允许通行指令。
140.综上,针对实时性决策要求极高的大规模无人车辆运输场景下面临的车辆冲突和死锁问题,本发明实施例提出了两阶段决策框架,设计了一种无死锁的无人车辆在线路径规划方法,将原有路径规划问题拆解为在线线路规划与分布式轨迹规划两个紧密关联的子问题。在第一阶段,利用诸如a
*
算法等预设线路规划方法在线计算无人车辆执行运输等任务从起点至终点的最优线路;在第二阶段,提出了分布式轨迹规划方法,在无人车辆位置发生变动时,基于无人车辆实时状态,通过计算各无人车辆在预设阈值内的预计通行区域,将多个无人车辆动态地划分为多个相互独立的集群,并利用分布式计算方式,在集群内独立计算各无人车辆的预留路径表以规划无人车辆预留路径,使每个集群内各无人车辆依据对应的预留路径表,在受控状态下进行各路径的行驶,并且,当无人车辆行驶发生位置变动时,重复执行预计通行区域计算以及之后的步骤,从而保证各无人车辆在避免冲突死锁情况下的轨迹规划。并且,第二阶段通过将无人车辆按实时空间位置拆分成多个集群,降低了参与轨迹规划的无人车辆数量以及路线长度,降低了计算复杂度;以及,由于集群之间在空间上距离较远,各个集群内部的轨迹规划不会影响其他无人车辆行驶,通过集群管理实现了分布式改进,可以将互相独立的计算任务部署在不同的计算资源上进行运算,提高了计算效率。
141.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1