一种辅助探索城市的路径规划方法、装置及存储介质与流程

文档序号:28929378发布日期:2022-02-16 14:56阅读:49来源:国知局
一种辅助探索城市的路径规划方法、装置及存储介质与流程

1.本发明涉及路径规划技术领域,尤其涉及一种辅助探索城市的路径规划方法、装置及计算机可读存储介质。


背景技术:

2.探索城市可以给人们带来特别的快乐,每个城市就像一个巨大的建筑,我们需要很长时间去探索,享受和体验它的每一个角落。然而,目前的导航地图中大多数现有的路径规划方法更倾向于推荐最短路径或时间成本最低的路径,这意味着如果用户想要多次从一个地方出发到另一个地方,相同的路径会被推荐给用户。与此同时,当前导航地图中使用的方法无法规划起点和终点相同的路线,例如,从家出发再回到家。此外,人们在选择路线时,并不考虑对街道的熟悉程度。许多关于城市路线规划的研究侧重于基于用户日常行为或纸质地图和附近旅游景点的实时规划。这些研究是基于用户在自然环境下的路径规划或选择行为,或者从技术角度对机器人进行自动路径规划,但是对于探索人类居住城市的路径规划的研究还没有进行。


技术实现要素:

3.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种辅助探索城市的路径规划方法、装置及计算机可读存储介质,用以解决现有的路径规划方法容易将相同的路径推荐给用户,不利于帮助人们实现城市探索的目标,且无法规划起点和终点相同的路线的问题。
4.第一方面,本发明提供一种辅助探索城市的路径规划方法,包括:
5.获取探索区域的地图信息、开始节点和目标节点,其中,所述地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;
6.根据预设的面向未访问边缘的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。
7.优选地,所述根据预设的面向未访问边缘的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径,具体包括以下步骤:
8.s1,设置所述规划路径为空、当前节点为开始节点、第一距离为0,所述第一距离用于表示从开始节点到当前节点经过的距离之和;
9.s2,从所述地图信息中获取已访问次数为0且满足以下公式的当前候选边列表:
10.d+s1+l+s2≤d
11.其中,d是第一距离,s1是从当前节点到候选边的头节点的最短路径长度,l是候选边的长度,s2是从候选边的尾节点到目标节点的最短路径长度,d是距离阈值;
12.s3,判断所述当前候选边列表是否为空,若为空,则获取从当前节点到目标节点的第一最短路径,并将所述第一最短路径添加至所述规划路径,得到所述最终的规划路径,并结束本流程;
13.s4,若所述当前候选边列表不为空且所述当前节点为开始节点,则根据预设的探索类型从所述当前候选边列表中获取距离当前节点最远或最近的候选边作为当前候选边,并跳转至步骤s6;
14.s5,若所述当前候选边列表不为空且所述当前节点不为开始节点,则从所述当前候选边列表中获取距离当前节点最近的候选边作为当前候选边;
15.s6,获取从当前节点到所述当前候选边的头节点的第二最短路径,并将所述第二最短路径以及所述当前候选边添加至所述规划路径,以及将所述当前候选边的已访问次数增加1;
16.s7,将所述第一距离增加所述第二最短路径长度和所述当前候选边的长度,以及将所述当前候选边的尾节点作为当前节点,返回执行步骤s2。
17.优选地,步骤s4中,所述根据预设的探索类型从所述当前候选边列表中获取距离当前节点最远或最近的候选边作为当前候选边,具体包括:
18.若所述预设的探索类型为内向型,则从所述当前候选边列表中获取距离当前节点最远的候选边作为当前候选边;
19.若所述预设的探索类型为扩展型,则从所述当前候选边列表中获取距离当前节点最近的候选边作为当前候选边。
20.优选地,所述从所述当前候选边列表中获取距离当前节点最远的候选边作为当前候选边,具体包括:
21.分别计算当前节点与所述当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择所述当前候选边列表中半正矢距离最大的候选边作为当前候选边;
22.所述从所述当前候选边列表中获取距离当前节点最近的候选边作为当前候选边,具体包括:
23.分别计算当前节点与所述当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择所述当前候选边列表中半正矢距离最小的候选边作为当前候选边。
24.优选地,所述获取探索区域的地图信息,具体包括:
25.获取所述探索区域的开放街道图osm数据;
26.提取所述osm数据中的可达交叉口信息以及可达道路信息;
27.根据提取的可达交叉口信息以及可达道路信息,抽象出所述探索区域对应的图形模型,所述图形模型包括用于表示所述可达交叉口信息的节点以及用于表示所述可达道路信息的边;
28.从所述图形模型中获取所述探索区域的地图信息。
29.优选地,所述开始节点和所述目标节点相同。
30.第二方面,本发明提供一种辅助探索城市的路径规划装置,包括:
31.信息获取模块,用于获取探索区域的地图信息、开始节点和目标节点,其中,所述地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;
32.规划路径获取模块,与所述信息获取模块连接,用于根据预设的面向未访问边缘
的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。
33.第三方面,本发明提供一种辅助探索城市的路径规划装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面所述的辅助探索城市的路径规划方法。
34.第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的辅助探索城市的路径规划方法。
35.本发明提供的辅助探索城市的路径规划方法、装置及计算机可读存储介质,通过获取探索区域的地图信息、开始节点和目标节点,其中,所述地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;再根据预设的面向未访问边缘的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。由于在路径规划过程中依次选择的是已访问次数为0的边,因此从未探索的边被优先添加,最终得到的规划路径即为包含尽可能多的未探索街道的探索路径,从而能够帮助人们实现城市探索的目标,节省规划时间,此外,通过本发明也能规划起点和终点相同的路线,进而解决了现有的路径规划方法容易将相同的路径推荐给用户,不利于帮助人们实现城市探索的目标,且无法规划起点和终点相同的路线的问题。
附图说明
36.图1:为本发明实施例1的一种辅助探索城市的路径规划方法的流程图;
37.图2:为本发明实施例的一种辅助探索城市的路径规划方法的示意图;
38.图3:为本发明实施例的内向型ueoa和扩展型ueoa的路径规划示意图;
39.图4:为本发明实施例的内向型ueoa方法运行一次的结果示意图;
40.图5:为本发明实施例的扩展型ueoa方法运行一次的结果示意图;
41.图6:为本发明实施例的内向型ueoa方法运行三次的结果示意图;
42.图7:为本发明实施例的扩展型ueoa方法运行三次的结果示意图;
43.图8:为本发明实施例的内向型ueoa方法运行300次后的搜索速率曲线图;
44.图9:为本发明实施例的扩展型ueoa方法运行300次后的搜索速率曲线图;
45.图10:为本发明实施例2的一种辅助探索城市的路径规划装置的结构示意图;
46.图11:为本发明实施例3的一种辅助探索城市的路径规划装置的结构示意图。
具体实施方式
47.为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
48.可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
49.可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可
相互组合。
50.可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与本发明无关的部分未在附图中示出。
51.可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
52.可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
53.可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
54.可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
55.申请概述
56.城市是成千上万人居住的地方,是人们观察和体验生活的地方。他们是值得探索的宝藏,其中包含了美丽的风景和令人愉快的作品,以及有趣的街景。探索城市可以给人们带来特别的快乐,每个城市就像一个巨大的建筑,我们需要很长时间去探索,享受和体验它的每一个角落。因此,探索城市是享受城市生活和发现有趣事物的好方法。步行作为人们日常生活中最自然的活动之一,不仅将人们与工作联系起来,还将人们与社会联系起来。从某种意义上说,步行不仅仅是一种为了到达特定目的地的行为,也是一种生活体验。人们可以通过走在不同的街道上感受自己的城市,路线的特点是多变的,即使是在一个普通的商业场所,人们也会有不同的感受。在他们居住的城市的街道上漫步,深入社区的社区,从现代街区到古色古香的郊区小镇,每一个场景都有其独特的个性和魅力。由于城市街道的复杂性,人们可以花费大量的时间和精力规划一个合理的和新的步行路线来探索城市街道。
57.然而,目前的导航地图中大多数现有的路径规划方法更倾向于推荐最短路径或时间成本最低的路径,这意味着如果用户想要多次从一个地方出发到另一个地方,相同的路径会被推荐给用户。与此同时,当前导航地图中使用的方法无法规划起点和终点相同的路线,例如,从家出发再回到家。此外,人们在选择路线时,并不考虑对街道的熟悉程度。许多关于城市路线规划的研究侧重于基于用户日常行为或纸质地图和附近旅游景点的实时规划。这些研究是基于用户在自然环境下的路径规划或选择行为,或者从技术角度对机器人进行自动路径规划,但是对于探索人类居住城市的路径规划的研究还没有进行。
58.针对上述技术问题,本技术的构思是提供一种辅助探索城市的路径规划方法、装置及计算机可读存储介质,为了尽可能多地探索城市中的路线,鼓励久坐不动的人站起来,出去看看外面的世界,本发明用边的已访问次数来表示人们对该边对应道路的熟悉程度,每出发一次,人们就可以访问他们不熟悉的街道,即在路径规划过程中依次选择添加已访问次数为0的边,从而使得最终得到的规划路径即为包含尽可能多的未探索街道的探索路径,进而能够帮助人们实现城市探索的目标,节省规划时间,也能帮助人们规划起点和终点相同的路线,解决了现有的路径规划方法容易将相同的路径推荐给用户,不利于帮助人们
实现城市探索的目标,且无法规划起点和终点相同的路线的问题。
59.在介绍了本技术的基本原理之后,下面将参考附图来具体介绍本技术的各种非限制性实施例。
60.实施例1:
61.本实施例提供一种辅助探索城市的路径规划方法,如图1所示,该方法包括:
62.步骤s102:获取探索区域的地图信息、开始节点和目标节点,其中,地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度。
63.在本实施例中,开始节点为想要探索的起点,目标节点为想要探索的终点,其中,起点和终点可以相同。
64.可选地,获取探索区域的地图信息,具体可以包括:
65.获取探索区域的开放街道图osm(openstreetmap)数据;
66.提取osm数据中的可达交叉口信息以及可达道路信息;
67.根据提取的可达交叉口信息以及可达道路信息,抽象出探索区域对应的图形模型,图形模型包括用于表示可达交叉口信息的节点以及用于表示可达道路信息的边;
68.从图形模型中获取探索区域的地图信息。
69.需要说明的是,osm数据库是全球用户参与形成的一套公共地图数据服务,是目前世界上最准确、最完整的矢量地理数据集之一。用户直接提供的gps(global positioning system,全球定位系统)设备记录的轨迹数据、基于图像数据的栅格矢量化数据、组织或公司捐赠的矢量数据是osm的数据源。与传统gis和地图数据提供商相比,osm的地图服务获取更方便(完全免费),使用更方便,效率更高。osm后台数据作为系统的核心,任何人都可以使用和编辑。同时,用户还可以提取数据以呈现自定义样式映射。所有osm服务都建立在用户输入的顶级数据之上,许多信息丰富的地图产品都是以它为基础,因此,本发明从osm数据库中获取探索区域的osm数据。
70.在本实施例中,可以首先使用经度和纬度定义探索区域的下载边界,然后通过http请求从openstreetmap(osm)数据库中下载探索区域的osm数据,为了保证得到的规划路径可达,可以先对下载的osm数据进行预处理,过滤掉不可到达的交叉口信息以及道路信息,再使用正则表达式快速匹配osm数据中的可达交叉口信息,以节点id为索引建立节点图,同时,提取osm数据中的可达道路信息,构建道路信息图,当道路包含多个路段时,将每个路段分割成独立的道路对象,从图的节点获取道路的起点和终点,形成图中的边。其中,每条边的权值在图中都有两个值,一个是每条边的长度,通过边起点和终点的直线距离来计算,另一个是“count”值,表示已访问次数,初始值均为0,最后再根据节点图和道路信息图得到抽象出的探索区域所对应的图形模型。
71.步骤s104:根据预设的面向未访问边缘的探索方法、开始节点和目标节点依次从地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。
72.其中,面向未访问边缘的探索方法(unvisited edge oriented algorithm,以下简称ueoa)用于依次从地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。
73.在本实施例中,为了帮助人们获取一条包含尽可能多的未探索街道的路线,节省
人们的规划时间,本发明使用ueoa来得到最终的规划路径,即为了保证在每次路径规划过程中能尽可能多的访问未访问的边缘,ueoa每次都从已访问次数为0的边中选择一条并将其添加至规划路径中,通过多次循环后,ueoa能够保证探索区域内的所有边都能被均匀访问。
74.可选地,步骤s104:根据预设的面向未访问边缘的探索方法、开始节点和目标节点依次从地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径,具体包括以下步骤:
75.s1,设置规划路径为空、当前节点为开始节点、第一距离为0,第一距离用于表示从开始节点到当前节点经过的距离之和;
76.s2,从地图信息中获取已访问次数为0且满足以下公式的当前候选边列表:
77.d+s1+l+s2≤d
78.其中,d是第一距离,s1是从当前节点到候选边的头节点的最短路径长度,l是候选边的长度,s2是从候选边的尾节点到目标节点的最短路径长度,可以通过dijkstra(迪杰斯特拉)算法获取最短路径,d是距离阈值;
79.s3,判断当前候选边列表是否为空,若为空,则获取从当前节点到目标节点的第一最短路径,并将第一最短路径添加至规划路径,得到最终的规划路径,并结束本流程;
80.s4,若当前候选边列表不为空且当前节点为开始节点,则根据预设的探索类型从当前候选边列表中获取距离当前节点最远或最近的候选边作为当前候选边,并跳转至步骤s6;
81.s5,若当前候选边列表不为空且当前节点不为开始节点,则从当前候选边列表中获取距离当前节点最近的候选边作为当前候选边;
82.s6,获取从当前节点到当前候选边的头节点的第二最短路径,并将第二最短路径以及当前候选边添加至规划路径,以及将当前候选边的已访问次数增加1;
83.s7,将第一距离增加第二最短路径长度和当前候选边的长度,以及将当前候选边的尾节点作为当前节点,返回执行步骤s2。
84.在本实施例中,ueoa从之前从未探索过的边集合中选择候选边(根据某些筛选规则,即已访问次数为0),这个过程就像把所有未访问的边放入一个“袋子”中,选择满足上述公式的距离约束的边,然后再决定把袋子里面的边拿出来的顺序。候选边选定后,其尾节点成为新的当前节点,重复选择候选边的过程,并继续探索当前节点的下一个未访问的边,如果候选边列表中没有边,即该开始节点的探索阶段已经达到饱和,则从当前节点通过最短路径到达目标节点。
85.在本实施例中,如图2所示,示出了本发明实施例的一种辅助探索城市的路径规划方法的示意图,其中,括号外的数字表示边的长度,括号中的数字表示该边已访问次数,依次选择已访问次数为0的边作为当前候选边,并加入规划路径,则最终得到的规划路径如箭头路线所示。
86.在本实施例中,为了花最少的成本达到一个我们从未探索的边缘,因为每个候选边将被视为一个独立的“关键对象”,为了连接更多的“关键对象”,我们需要提高每次出发的探索效率,因此选择使用最短路径到达每个选择的候选边,从而提高候选边的数量,增加经过的未访问的边,最短路径的实现保证了距离阈值内的总距离大部分用于探测,其余用
于保证到达。
87.可选地,步骤s4中,根据预设的探索类型从当前候选边列表中获取距离当前节点最远或最近的候选边作为当前候选边,具体包括:
88.若预设的探索类型为内向型,则从当前候选边列表中获取距离当前节点最远的候选边作为当前候选边;
89.若预设的探索类型为扩展型,则从当前候选边列表中获取距离当前节点最近的候选边作为当前候选边。
90.在本实施例中,根据探索区域内未访问边的访问顺序,将ueoa分为两类:内向型ueoa和扩展型ueoa。当当前节点为开始节点时,内向型ueoa选择距离当前节点最远的候选边作为当前候选边,即在内向型探索中,第一个被选择的边是可达区域内所有未探索的边中最远的边,而扩展型ueoa选择距离当前节点最近的候选边作为当前候选边,即在扩展型探索中,第一个被选择的边是可达区域内所有未探索的边中最近的边,然后方法会通过最短路径到达这条边。
91.可选地,从当前候选边列表中获取距离当前节点最远的候选边作为当前候选边,具体包括:
92.分别计算当前节点与当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择当前候选边列表中半正矢距离最大的候选边作为当前候选边;
93.从当前候选边列表中获取距离当前节点最近的候选边作为当前候选边,具体包括:
94.分别计算当前节点与当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择当前候选边列表中半正矢距离最小的候选边作为当前候选边。
95.在本实施例中,两个节点之间的半正矢(haversine)距离可以通过以下公式计算:
96.arcab=r*arccos[sin(wa)sin(wb)+cos(wa)cos(wb)*cos(ja-jb)
[0097]
其中,arcab表示a节点和b节点之间的半正矢距离,wa表示a节点的纬度,ja表示a节点的经度,wb表示b节点的纬度,jb表示b节点的经度,r为地球半径。
[0098]
在本实施例中,如图3所示,示出了内向型ueoa和扩展型ueoa的路径规划示意图,其中,短黑体边代表由两种方法选择的候选边,短黑体边之间的路径代表用于到达候选边的最短路径,箭头分别代表内向型ueoa和扩展型ueoa中的探索方向。内向型探索中,在每个开始节点的第一步,可达区域内所有未探索的边都按照与开始节点的半正矢距离排序,并选择距离开始节点最远的边,然后通过最短路径到达这条边,达到第一个候选边的尾节点后,所有未被探索过的边再根据与当前节点的半正矢距离排序,和当前节点最近的一条边被选中作为下一个候选边,然后通过最短路径达到它后,继续选择下一个最近的未探索的边,直到探索阶段达到距离阈值的饱和点,然后通过最短路径到达目标节点。对于内向型ueoa,它首先使用最短路径到达可达层的最外层区域,然后从最外层向内搜索未探索的边缘。与内向型ueoa相反,在扩展型探索中,首先将可达区域内所有未探索的边按照与开始节点的半正矢距离排序,并选择离开始节点最近的边作为第一个候选边,然后通过最短路径从开始节点到最近的未访问边,最近的未访问边的尾节点成为新的当前节点,然后再根据与当前节点的半正矢距离排序,对可达区域内剩余未探索的边进行探索,仍然从当前候选边列表中选择最近的未访问边作为下一个候选边,并通过最短路径到达它,以此类推,直到
探索阶段达到距离阈值的饱和点,然后使用最短路径到达目标节点。扩展型ueoa采用从内到外的探索方法,从最近的未被探索的边开始,依次向外扩展。
[0099]
在本实施例中,每次被访问后,被访问的边的已访问次数即“count”值将增加1,以便于下次探索。同时,得到最终的规划路径后,还可以将最终的规划路径绘制在预设的地图上,比如将其绘制在gis(geographic information system,地理信息系统)地图上,以向用户提供探索路线。
[0100]
在一个具体的实施例中,以探索爱丁堡某一特定区域为例,探索区域的下载边界为[-3.2090,55.9384,-3.1720,55.9500],按照上述方法下载数据后,得到对应的图形模型,其中,节点数为8261,边数为8866,将图中每条边的权值初始化后,用图中两个端点间的直线距离计算出的长度,将所有边的“count”值初始化为0,即开始时图中所有边都是未访问的边。边的计数值在探测过程中会发生变化。一旦一条边被访问一次,该边的“count”值将增加1。对于第一个开始节点,下载区域中所有边的“count”值为0,当方法在图上返回一个计划的路线时,该路线包含的所有边的“count”值都将改变,并且每个后续的出发都基于边的“count”值的前一个结果。
[0101]
为了清晰地展示探索结果,我们选择爱丁堡的一个特定位置作为开始节点和目标节点,距离阈值设置为2000米。开始节点(也是目标节点)的osm中的经纬度信息是[-3.1877047,55.9444562]。在开始规划路线之前,我们对下载的地图数据进行预处理,以确定哪些交叉口或道路是可到达的,经过计算,在选定区域内距离阈值为2000米范围内,共有5337条可达边,4911个可达节点。图4示出了本发明实施例的内向型ueoa方法运行一次的结果示意图,图5示出了本发明实施例的扩展型ueoa方法运行一次的结果示意图,对于第一次出发,路线也将分为探索阶段和通往目的地阶段(由于开始节点与目标节点相同,也即返回阶段),在图4和图5中,黑色粗体路线代表了从开始节点开始不断探索路线的过程,带有三角形的路线表示已经走过的路线的距离在距离阈值内达到饱和点,使用最短路径到达目标节点。从图4和图5的结果可以看出,对于第一次出发,扩展型ueoa规划的路径反映了探索阶段和通往目的地阶段的不同边缘,探索阶段和通往目的地阶段的边都较少。在内向型ueoa的结果中,探索阶段和通往目的地阶段的边缘基本相同,造成这种现象的原因是这个方法是从外到内的探索,当方法使用最短距离到达最远的探索目标时,为满足距离阈值的约束,则通过最短路径到达目标节点,由于我们设置的开始节点和目标节点在图上是相同的点,因此,在探索阶段和通往目的地阶段采取相同的最短路径。
[0102]
为了更形象地反映城市探索初期内向型ueoa与扩展型ueoa的区别,图6和图7示出了内向型ueoa方法和扩展型ueoa方法分别运行三次的结果示意图。在图6和图7中,使用三种类型的线来绘制从开始节点开始的三次行程的不同路线。黑色粗体路线表示第一次出发的路线,黑色带有三角形的路线表示基于第一次出发历史的第二次出发的路线,黑色带有圆点的路线表示基于前两次出发的第三次出发的路线,从图6和图7中,我们可以看到,两种方法之间的差异是,内向型ueoa方法探索如水波收敛,扩展型ueoa方法在某种程度上像水波浪扩散,两种方法运行多次后,都可以实现对整个探索区域的充分探索。
[0103]
在本实施例中,为了证明本发明实施例提供的辅助探索城市的路径规划方法的搜索效率,我们引入了搜索速率er公式:
[0104][0105]
其中,number(n
explored
)和number(n
reachable
)分别为所探测的所有非重复节点的数量和可达区域内可达节点的数量。
[0106]
图8示出了本发明实施例的内向型ueoa方法运行300次后的搜索速率曲线图,图9示出了本发明实施例的扩展型ueoa方法运行300次后的搜索速率曲线图,由图8和图9可知,内向型ueoa需要213次出发才能完成探索区域的探索,而扩展型ueoa需要222次,结果还表明,内向型ueoa方法比扩展型ueoa方法更早完成探索区域的探索。在探索初期,由于梯度较小,内向型ueoa的探测速率增长缓慢,而在探索后期,探索速率呈近指数增长趋势。相比之下,扩展型ueoa的探测速率和出发次数曲线呈现近似对数增长的趋势,在探索初期,探索速率增长非常快,而在后期,探索速率的增长趋于平缓。
[0107]
本发明实施例提供的辅助探索城市的路径规划方法,通过获取探索区域的地图信息、开始节点和目标节点,其中,所述地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;再根据预设的面向未访问边缘的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。由于在路径规划过程中依次选择的是已访问次数为0的边,因此从未探索的边被优先添加,最终得到的规划路径即为包含尽可能多的未探索街道的探索路径,从而能够帮助人们实现城市探索的目标,节省规划时间,此外,通过本发明也能规划起点和终点相同的路线,进而解决了现有的路径规划方法容易将相同的路径推荐给用户,不利于帮助人们实现城市探索的目标,且无法规划起点和终点相同的路线的问题。
[0108]
实施例2:
[0109]
如图10所示,本实施例提供一种辅助探索城市的路径规划装置,用于执行上述的路径规划方法,该装置包括:
[0110]
信息获取模块12,用于获取探索区域的地图信息、开始节点和目标节点,其中,地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;
[0111]
规划路径获取模块14,与信息获取模块12连接,用于根据预设的面向未访问边缘的探索方法、开始节点和目标节点依次从地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。
[0112]
可选地,规划路径获取模块14包括:
[0113]
设置单元,用于设置规划路径为空、当前节点为开始节点、第一距离为0,第一距离用于表示从开始节点到当前节点经过的距离之和;
[0114]
列表获取单元,用于从地图信息中获取已访问次数为0且满足以下公式的当前候选边列表:
[0115]
d+s1+l+s2≤d
[0116]
其中,d是第一距离,s1是从当前节点到候选边的头节点的最短路径长度,l是候选边的长度,s2是从候选边的尾节点到目标节点的最短路径长度,d是距离阈值;
[0117]
判断单元,用于判断当前候选边列表是否为空,若为空,则获取从当前节点到目标
节点的第一最短路径,并将第一最短路径添加至规划路径,得到最终的规划路径;
[0118]
第一选择单元,用于若当前候选边列表不为空且当前节点为开始节点,则根据预设的探索类型从当前候选边列表中获取距离当前节点最远或最近的候选边作为当前候选边;
[0119]
第二选择单元,用于若当前候选边列表不为空且当前节点不为开始节点,则从当前候选边列表中获取距离当前节点最近的候选边作为当前候选边;
[0120]
规划路径单元,用于获取从当前节点到当前候选边的头节点的第二最短路径,并将第二最短路径以及当前候选边添加至规划路径,以及将当前候选边的已访问次数增加1;
[0121]
循环单元,用于将第一距离增加第二最短路径长度和当前候选边的长度,以及将当前候选边的尾节点作为当前节点。
[0122]
可选地,第一选择单元具体包括:
[0123]
内向型选择单元,用于在当前候选边列表不为空且当前节点为开始节点时,若预设的探索类型为内向型,则从当前候选边列表中获取距离当前节点最远的候选边作为当前候选边;
[0124]
扩展型选择单元,用于在当前候选边列表不为空且当前节点为开始节点时,若预设的探索类型为扩展型,则从当前候选边列表中获取距离当前节点最近的候选边作为当前候选边。
[0125]
可选地,内向型选择单元具体用于在当前候选边列表不为空且当前节点为开始节点时,若预设的探索类型为内向型,分别计算当前节点与当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择当前候选边列表中半正矢距离最大的候选边作为当前候选边;
[0126]
扩展型选择单元具体用于在当前候选边列表不为空且当前节点为开始节点时,若预设的探索类型为扩展型,分别计算当前节点与当前候选边列表中每条候选边的头节点之间的半正矢距离,并选择当前候选边列表中半正矢距离最小的候选边作为当前候选边。
[0127]
可选地,信息获取模块12具体包括:
[0128]
osm数据获取单元,用于获取探索区域的开放街道图osm数据;
[0129]
信息提取单元,用于提取osm数据中的可达交叉口信息以及可达道路信息;
[0130]
模型抽象单元,用于根据提取的可达交叉口信息以及可达道路信息,抽象出探索区域对应的图形模型,图形模型包括用于表示可达交叉口信息的节点以及用于表示可达道路信息的边;
[0131]
地图信息获取单元,用于从图形模型中获取探索区域的地图信息;
[0132]
起止点获取单元,用于获取开始节点和目标节点。
[0133]
可选地,开始节点和目标节点相同。
[0134]
实施例3:
[0135]
参考图11,本实施例提供一种辅助探索城市的路径规划装置,包括存储器22和处理器24,存储器22中存储有计算机程序,处理器24被设置为运行所述计算机程序以执行实施例1中的路径规划方法。
[0136]
其中,存储器22与处理器24连接,存储器22可采用闪存或只读存储器或其他存储器,处理器24可采用中央处理器或单片机。
[0137]
实施例4:
[0138]
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1中的路径规划方法。
[0139]
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0140]
实施例2至实施例4提供的辅助探索城市的路径规划装置及计算机可读存储介质,通过获取探索区域的地图信息、开始节点和目标节点,其中,所述地图信息包括多个节点以及多条边,每条边均包括已访问次数和长度;再根据预设的面向未访问边缘的探索方法、所述开始节点和所述目标节点依次从所述地图信息中选择已访问次数为0的边作为规划路径中的边,直至在预设的距离阈值内没有可以选择的已访问次数为0的边,得到最终的规划路径。由于在路径规划过程中依次选择的是已访问次数为0的边,因此从未探索的边被优先添加,最终得到的规划路径即为包含尽可能多的未探索街道的探索路径,从而能够帮助人们实现城市探索的目标,节省规划时间,此外,通过本发明也能规划起点和终点相同的路线,进而解决了现有的路径规划方法容易将相同的路径推荐给用户,不利于帮助人们实现城市探索的目标,且无法规划起点和终点相同的路线的问题。
[0141]
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1