一种路径规划方法、装置和电子设备与流程

文档序号:35026094发布日期:2023-08-05 11:34阅读:46来源:国知局
一种路径规划方法、装置和电子设备与流程

本技术涉及路径规划,特别是一种路径规划方法、装置和电子设备。


背景技术:

1、在路径规划的技术领域中,主流思想为采用基于dijkstra算法的分层(每层对应一个级别的剖分)精确计算。然而上述方法计算过程过于复杂,实际应用效率不高。若是用存储空间换计算时间,将所有可选地路径进行存储,再从中确定出最短路径,又需要过大的存储空间。示例性的,假设图g共有n个点,如果把所有可能的路径都存储起来,需要n的平方个路径的存储空间,当n的值很大时,往往对应了一个不可接受的内存容量。

2、因此,需要提供一种路径规划方法、装置和电子设备,以实现更高效,存储容量需求更小的路径规划。


技术实现思路

1、鉴于上述问题,本技术实施例提供了一种路径规划方法、装置和电子设备,以便克服上述问题或者至少部分地解决上述问题。

2、本技术实施例的第一方面提供了一种路径规划方法,所述方法包括:

3、对路网进行剖分分层,得到多个层级以及每个层级的多个剖腔,每个所述剖腔中包括多个节点,所述节点分为剖腔边界点和剖腔内节点;所述多个节点中包括路径规划的起点和终点;

4、构造优先级队列,将所述起点的key值设为0,加入到所述优先级队列中;所述key值表示节点的预估价值;

5、执行待分析节点选择步骤:选择所述优先级队列中,key值最小的节点作为待分析节点出队,将所述待分析节点推入节点列表中;

6、执行下一节点确定步骤:根据所述待分析节点的位置信息和所述终点的位置信息,确定下一节点,将所述下一节点放入所述优先级队列;利用所述下一节点,更新路径映射表;

7、重复所述待分析节点选择步骤和所述下一节点确定步骤,直至所述下一节点为所述终点;

8、从所述终点开始循环访问所述路径映射表,直至访问得到所述起点,获取从所述起点至所述终点的路径节点列表;

9、根据所述路径节点列表,得到最优路径。

10、在一种可能的实施方式中,所述根据所述待分析节点的位置信息和所述终点的位置信息,确定下一节点,包括:

11、根据所述待分析节点的位置信息和所述终点的位置信息,确定所述待分析节点所在层级低于所述终点所在层级的情况下,从所述待分析节点所在层级更高一级的层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点;

12、根据所述待分析节点的位置信息和所述终点的位置信息,确定所述待分析节点与所述终点在同一层级的情况下,根据所述待分析节点和所述终点所在剖腔位置,确定所述下一节点。

13、在一种可能的实施方式中,所述在所述待分析节点与所述终点在同一层级的情况下,根据所述待分析节点和所述终点所在剖腔位置,确定所述下一节点,包括:

14、根据所述待分析节点和所述终点所在剖腔位置,确定在所述待分析节点所在层级更高一级的层级中,所述待分析节点与所述终点不在同一剖腔的情况下,从所述待分析节点所在层级更高一级的层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点;

15、在所述待分析节点所在层级更高一级的层级中,所述待分析节点与所述终点在同一剖腔的情况下,将所述终点确定为所述下一节点。

16、在一种可能的实施方式中,所述从所述待分析节点所在层级更高一级的层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点,包括:

17、计算每个所述候选剖腔边界点的key值和路径价值,所述路径价值表示从所述起点至所述候选剖腔边界点的最短路径的预估价值;

18、计算所述待分析节点的路径价值;

19、在所述候选剖腔边界点满足如下公式的情况下,将所述候选剖腔边界点确定为所述下一节点,所述公式为:

20、所述待分析节点的路径价值+所述候选剖腔边界点的key值<所述候选剖腔边界点的路径价值;

21、将所述下一节点的路径价值更新为:所述待分析节点的路径价值与所述候选剖腔边界点的key值的总和。

22、在一种可能的实施方式中,在对路网进行剖分分层之后,所述方法还包括:

23、将所有层级的存储策略设定为初始存储策略,所述初始存储策略为:不存储任何路径信息;

24、根据可使用的存储资源的大小,从高层级向低层级依次遍历,将多个层级的存储策略更新为第二存储策略,所述第二存储策略为:存储该层级的每个剖腔的所有剖腔边界点两两之间的路径信息;

25、在能够将所有层级的存储策略更新为所述第二存储策略的情况下,根据剩余的可使用的存储资源的大小,从高层级向低层级依次遍历,将多个层级的存储策略更新为第三存储策略,所述第三存储策略为:存储该层级的所有节点两两之间的路径信息。

26、在一种可能的实施方式中,所述根据所述路径节点列表,得到最优路径,包括:

27、根据所述路径节点列表中的节点顺序,设定其中任意在所述路径节点列表相邻的两个节点为第一节点和第二节点,所述第一节点所在层级为低层级,所述第二节点所在层级为更高一级的高层级;

28、确定所述第一节点和所述第二节点,在所述低层级中是否相邻;

29、在所述第一节点和所述第二节点在所述低层级中相邻的情况下,得到所述第一节点和所述第二节点之间的最短路径;

30、在所述第一节点和所述第二节点,在所述低层级中不相邻的情况下,根据所述低层级的存储策略,确定是否存储有所述第一节点和所述第二节点之间的最短路径;

31、在所述低层级存储有所述第一节点和所述第二节点之间的最短路径的情况下,直接从存储数据中获取所述第一节点和所述第二节点之间的最短路径;

32、在所述低层级未存储有所述第一节点和所述第二节点之间的最短路径的情况下,利用最短路径算法计算得到所述第一节点和所述第二节点之间的最短路径。

33、在一种可能的实施方式中,根据所述路径节点列表,确定所述第一节点位于第三节点与所述第二节点中间,在确定所述第一节点和所述第二节点之间的最短路径之后,所述方法还包括:

34、确定所述第一节点和所述第二节点之间的最短路径经过的多个中间节点;

35、从所述多个中间节点中,确定出目标中间节点,所述目标中间节点为所述多个中间节点按照节点顺序排列时,最后一个与所述第一节点所在层级相同的节点;

36、将所述最短路径更新为所述目标中间节点与所述第二节点之间的路径;

37、重新计算所述第三节点与所述目标中间节点之间的路径。

38、在一种可能的实施方式中,所述根据所述待分析节点的位置信息和所述终点的位置信息,确定下一节点,包括:

39、根据所述待分析节点的位置信息和所述终点的位置信息,确定所述待分析节点所在层级高于所述终点所在层级,并且,在所述待分析节点所在层级更高一级的层级中,所述待分析节点和所述终点位于同一剖腔的情况下:

40、在所述待分析节点所在层级中,所述待分析节点和所述终点位于同一剖腔时,从所述待分析节点所在层级更低一级的层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点;

41、在所述待分析节点所在层级中,所述待分析节点和所述终点不位于同一剖腔时,从所述待分析节点所在层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点;

42、根据所述待分析节点的位置信息和所述终点的位置信息,确定所述待分析节点所在层级高于所述终点所在层级,并且,在所述待分析节点所在层级更高一级的层级中,所述待分析节点和所述终点不位于同一剖腔的情况下,在所述待分析节点所在层级更高一级的层级中,所述待分析节点所在剖腔的多个候选剖腔边界点中,确定所述下一节点。

43、本技术实施例第二方面提供了一种路径规划装置,所述装置包括:

44、分层模块,用于对路网进行剖分分层,得到多个层级以及每个层级的多个剖腔,每个所述剖腔中包括多个节点,所述节点分为剖腔边界点和剖腔内节点;所述多个节点中包括路径规划的起点和终点;

45、队列构造模块,用于构造优先级队列,将所述起点的key值设为0,加入到所述优先级队列中;所述key值表示节点的预估价值;

46、选择模块,用于执行待分析节点选择步骤:选择所述优先级队列中,key值最小的节点作为待分析节点出队,将所述待分析节点推入节点列表中;

47、下一节点确定模块,用于执行下一节点确定步骤:根据所述待分析节点的位置信息和所述终点的位置信息,确定下一节点,将所述下一节点放入所述优先级队列;利用所述下一节点,更新路径映射表;

48、重复模块,用于重复所述待分析节点选择步骤和所述下一节点确定步骤,直至所述下一节点为所述终点;

49、路径节点列表获取模块,用于从所述终点开始循环访问所述路径映射表,直至访问得到所述起点,获取从所述起点至所述终点的路径节点列表;

50、最优路径确定模块,用于根据所述路径节点列表,得到最优路径。

51、本技术实施例第三方面提供了一种电子设备,包括存储器、处理器及存储在所述存储器上的计算机程序,所述处理器执行所述计算机程序以实现本技术实施例第一方面任一项所述的路径规划方法中的步骤。

52、本技术实施例提供了一种路径规划方法、装置和电子设备,所述方法包括:对路网进行剖分分层,得到多个层级以及每个层级的多个剖腔,每个所述剖腔中包括多个节点,所述节点分为剖腔边界点和剖腔内节点;所述多个节点中包括路径规划的起点和终点;构造优先级队列,将所述起点的key值设为0,加入到所述优先级队列中;所述key值表示节点的预估价值;选择所述优先级队列中,key值最小的节点作为待分析节点出队,将所述待分析节点u推入节点列表中;执行下一节点确定步骤:根据所述待分析节点的位置信息和所述终点的位置信息,确定下一节点,将所述下一节点放入所述优先级队列;利用所述下一节点,更新路径映射表;重复所述待分析节点选择步骤和所述下一节点确定步骤,直至所述下一节点为所述终点;从所述终点开始循环访问所述路径映射表,直至访问得到所述起点,获取从所述起点至所述终点的路径节点列表;根据所述路径节点列表,得到最优路径。本技术实施例通过按照节点的优先级,根据当前的节点和终点的位置信息,确定下一节点,得到起点至终点中的多个节点的信息,生成对应的路径节点列表,最后根据该路径节点列表生成最优路径,实现了快速高效地确定最优路径。相比于直接遍历所有路径的方法,本技术实施例通过剖分分层,先确定起点至终点中经过的中间节点,再确定最优路径,节省了存储空间,提高了计算效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1