1.一种基于拓扑地图和冲突消除策略的多无人车寻路方法,其特征在于,包括以下步骤:
1)根据真实的地形获取相应的拓扑地图的数据,拓扑地图的数据包含:node(x,y),track(startNode,endNode,weight),topoMap(tracks,nodes);其中,node表示拓扑地图中结点,track表示拓扑地图的边,其由开始顶点startNode、结束顶点endNode和权重weight组成,topoMap表示整个拓扑地图,由边集tracks和顶点集nodes构成;
2)将拓扑地图转化为加权有向图,具体地:将拓扑地图中边集的每条边,加上方向生成有向图,再在其边上等距离插入点,点的数目为边的权重,从而生成加权有向图;
3)输入M,M≥3辆车在加权有向图中的起点与终点,并设无人车的路径集chrome为空,其中,chrome由无人车的动作计划S构成,S表示M辆无人车在一段时间内的动作计划;
4)调用CCBS算法生成无人车的动作计划S,具体地,CCBS算法以无人车的起点与终点为输入,重复调用高级搜索来检查、选择和解决冲突,调用低级搜索来生成新的动作计划S,直到生成合理解或到达最大运行时间,返回S;
5)判断S中是否存在冲突,若不存在,进入步骤11);
6)若存在,获取S中所有的冲突点,记录下含有冲突最多的结点p及其冲突数nt;
7)分析在p点存在冲突的无人车数量,即:nt≥m‑1,若是,进入步骤8);若否,进入步骤
9);
8)调用“中间点冲突消除法”,选择最大冲突点之前的位置作为无人车的目标位置;
9)调用“相邻点冲突消除法”,选择当前位置的相邻位置作为无人车的目标位置;
10)以选择的每辆无人车的目标位置作为其终点,进入步骤4);
11)将新生成的无人车的动作计划S加入到无人车的路径集chrome中,并判断无人车是否到达输入的终点,若到达,进入步骤12);若没有到达,以当前位置为无人车的起点,输入终点为无人车的终点,然后进入步骤4);
12)对多无人车的路径集chrome进行处理,即:将按时间段的路径集chrome={S0,S1,…}转化成面向无人车的联合计划π={π1,π2,…,πM},然后返回π;
所述中间点冲突消除法,具体包括:定义了动作计划中每个结点的选择概率,如下所示:
其中,Ni表示无人车i动作计划中顶点的数目, 表示无人车i经过第j个顶点的冲突数目,t表示在无人车i的动作计划中结点的 取最大值时j的值, 表示无人车i到达第t个点时出现的冲突数之和,通过公式计算出无人车经过顶点的选择概率,选择最大冲突点之前的顶点来消除冲突;
所述相邻点冲突消除法,具体包括:
a)针对每辆冲突的无人车建立其所在结点的邻接表,随机地将其未使用的邻居顶点加入到邻接表中;
b)根据无人车的邻接表长度对无人车进行升序排序,从而使邻居少的无人车优先被处理;
c)按顺序对每个冲突的无人车进行分配相邻顶点,并将分配过的顶点从整个邻接表中删除,若无人车没有无冲突的相邻顶点,则无人车的目标为当前位置;
d)重复c),直到冲突的无人车被重新分配相邻点完毕。