CN102116635A - 一种确定导航路径的方法和装置 - Google Patents
一种确定导航路径的方法和装置 Download PDFInfo
- Publication number
- CN102116635A CN102116635A CN2009102157016A CN200910215701A CN102116635A CN 102116635 A CN102116635 A CN 102116635A CN 2009102157016 A CN2009102157016 A CN 2009102157016A CN 200910215701 A CN200910215701 A CN 200910215701A CN 102116635 A CN102116635 A CN 102116635A
- Authority
- CN
- China
- Prior art keywords
- node
- path
- result set
- segmentation
- starting point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Navigation (AREA)
Abstract
本发明提供了一种确定导航路径的方法和装置,其中方法包括:A、利用深度优先算法确定指定起点与指定终点之间的路径;B、将步骤A确定出的路径分成N个分段,其中,N为大于1的自然数;C、利用广度优先算法分别确定各分段的起点与终点之间的路径;D、将步骤C确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。本发明能够通过控制分段的数目或者各分段中的节点数来实现搜索耗时与路径优化程度之间的折中和控制。
Description
技术领域
本发明涉及导航技术,特别涉及一种确定导航路径的方法和装置。
背景技术
随着城市化进程的快速发展,交通网络逐渐变得错综复杂,高效的导航系统成为现代社会交通方面的主要需求,用于帮助用户在短时间内获取到达目的地的较优路径。高效的交通运行方案不仅能够节约行程花费的时间,而且能够减少机动车尾气的排放量从而对环境的保护带来益处。
导航系统主要用于根据用户指定的起点和终点搜索出最优路径,这里所指的最优路径可以不仅仅指长度最短的路径,还可以指包含路径长度、车流量、道路性质等因素在内的最优权值路径。通常搜索耗时和路径的优化程度是相互制约的,如果需要搜索出最优的路径,则需要消耗较长的搜索时间;反之,如果需要消耗较短的搜索时间,则搜索出的路径的优化程度则随之较低。现有的路径搜索算法主要存在两种:深度优先(depth-first)搜索和广度优先(breadth-first)搜索。其中,深度优先搜索能够在较短时间内确定出路径,但是确定出的路径与最优路径偏差较大;广度优先搜索能够较为精确地确定出最优路径,但耗时较长,特别是当搜索区域较大涉及10000个节点以上时,其搜索耗时往往是导航用户所不能接受的。显然这两种方式都不能够平衡搜索耗时与路径优化程度之间的矛盾。
发明内容
有鉴于此,本发明提供了一种确定导航路径的方法和装置,以便于有效地平衡搜索耗时与路径优化程度之间的矛盾。
本发明提供的技术方案如下:
一种确定导航路径的方法,该方法包括:
A、利用深度优先算法确定指定起点与指定终点之间的路径;
B、将步骤A确定出的路径分成N个分段,其中,N为大于1的自然数;
C、利用广度优先算法分别确定各分段的起点与终点之间的路径;
D、将步骤C确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。
其中,所述步骤A具体包括:
A1、将所述指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
A2、判断所述指定终点是否已经在最优路径结果集中,如果是,最优路径结果集中的节点构成的路径为步骤A确定出的路径,结束步骤A;否则,执行步骤A3;
A3、从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集;
A4、从候选节点集中选择距离所述指定终点的欧氏距离最小的节点,将选择的该节点加入最优路径结果集,转至步骤A2;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
更优地,在所述步骤A3之前,还包括:判断未处理的节点集中是否存在与最优路径结果集的最后一个节点相邻的节点,如果是,继续执行所述步骤A3;否则,将最优路径结果集的后n个节点从最优路径结果集中删除,将未处理的节点集置为全局节点集中除了删除的n个节点之外的节点,继续执行所述步骤A3;其中,n为正整数。
所述步骤B具体包括:按照使每个分段包含预设数目节点的方式,从所述指定起点开始将步骤A确定出的路径进行分段,直至所述指定终点。
步骤C中所述广度优先算法包括:迪科斯彻(Dijkstra)算法或者启发式算法。
其中,所述步骤C中,针对各分段分别执行以下步骤:
C1、将当前分段的起点加入最优路径结果集,将全局节点集中除了当前分段的起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
C2、判断当前分段的终点是否已经在最优路径结果集中,如果是,最优路径结果集中的节点构成的路径为当前分段的起点与终点之间的路径,结束当前分段的路径计算流程;否则,执行步骤C3;
C3、从未处理的节点集中选择与当前最优路径结果集中最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集;
C4、从候选节点集中选择代价函数值最小的节点,利用选择的节点距离当前分段的起点欧氏距离最小的路径上的各节点,更新最优路径结果集,转至步骤C2;其中,距离当前分段的起点的欧氏距离最小的节点为代价函数值最小的节点,或者距离当前分段的起点的欧氏距离和距离当前分段的终点的欧氏距离的加权和最小的节点为代价函数值最小的节点;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
一种确定导航路径的装置,该装置包括:
第一路径确定单元,用于利用深度优先算法确定指定起点与指定终点之间的路径;
路径分段单元,用于将第一路径确定单元确定出的路径分成N个分段,其中,N为大于1的自然数;
第二路径确定单元,用于利用广度优先算法分别确定各分段的起点与终点之间的路径;
路径合并单元,用于将第二路径确定单元确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。
其中,所述第一路径确定单元包括:
第一初始子单元,用于将所述指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
第一判断子单元,用于在未处理的节点集有节点加入时,判断所述指定终点是否已经在最优路径结果集中;
第一确定子单元,用于在所述第一判断子单元的判断结果为是时,确定最优路径结果集中的节点构成的路径;
第一更新子单元,用于在所述第一判断子单元的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集;
第一选择子单元,用于从更新后的候选节点集中选择距离所述指定终点的欧氏距离最小的节点,将选择的该节点加入最后路径结果集;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
更进一步地,所述路径分段单元具体按照使每个分段包含预设数目节点的方式,从所述指定起点开始将第一路径确定单元确定出的路径进行分段,直至所述指定终点。
另外,所述第二路径确定单元包括:
第二初始子单元,用于将当前分段的起点加入最优路径结果集,将全局节点集中除了当前分段的起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
第二判断子单元,用于在未处理的节点集有节点加入时,判断当前分段的终点是否已经在最优路径结果集中;
第二确定子单元,用于在所述第二判断子单元的判断结果为是时,确定最优路径结果集中的节点构成的路径;
第二更新子单元,用于在所述第二判断子单元的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集;
第二选择子单元,用于从更新后的候选节点集中选择代价函数值最小的节点,利用选择的该节点距离当前分段的起点欧氏距离最小的路径上的各节点更新最优路径结果集;其中,距离当前分段的起点的欧氏距离最小的节点为代价函数值最小的节点,或者距离当前分段的起点的欧氏距离和距离当前分段的终点的欧氏距离的加权和最小的节点为代价函数值最小的节点;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
由以上技术方案可以看出,本发明提供的方法和装置通过深度优先算法快速得到一个路径结果,然后将该路径结果分成若干分段,分别在每个分段中使用广度优先算法,得到各分段中较为准确的路径。本发明能够通过控制分段的数目或者各分段中的节点数来实现搜索耗时与路径优化程度之间的折中和控制。
附图说明
图1为本发明提供的方法流程图。
图2为本发明实施例提供的深度优先算法的实现流程图。
图3为本发明实施例提供的Dijkstra算法的实现流程图。
图4为本发明实施例提供的装置结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对发明进行详细描述。
本发明所提供主要方法可以如图1所示,该方法主要包括以下步骤:
步骤101:利用深度优先算法确定指定起点与指定终点之间的路径。
本步骤中的指定起点和指定终点通常为用户指定在地图上指定或输入的起点和终点,通过该流程确定指定起点和指定终点之间的导航路径。
步骤102:将步骤101确定出的路径分成N个分段,其中,N为大于1的自然数。
步骤103:在各分段中,利用广度优先算法确定分段的起点与该分段的终点之间的路径。
步骤104:将步骤103确定出的各分段的路径合并成指定起点和指定终点之间的导航路径。
下面分别对图1中的上述步骤逐一进行详细描述。
步骤101中采用的深度优先算法是现有技术中已有的搜索算法,为了方便对本发明的理解,在此对深度优先算法进行简单描述。首先,在进行路径搜索时,是在给定的全局节点集中确定构成指定起点和指定终点之间最优路径的节点,该全局节点集是导航系统中提供的指定起点和指定终点所在地图的节点集。
通常在路径搜索算法的实现过程中,除了供使用的全局节点集之外,还会涉及三个节点集:最优路径结果集、候选节点集和未处理的节点集。其中,最优路径结果集包含已经确定的属于最优路径的节点,候选节点集包含最后一个加入最优路径结果集的节点的相邻节点,未处理的节点集包含在全局节点集中尚未被挑选进入候选节点集的节点。
深度优先算法的主要实现过程可以如图2所示,主要包括以下步骤:
步骤201:将指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集。
深度优先算法中,最优路径结果集的初始状态为空,可以确定的一点是,指定起点一定是最优路径中的节点,因此,首先将指定起点加入最优路径结果集。
步骤202:判断指定终点是否已经在最优路径结果集中,如果是,结束当前深度优先算法的流程;否则,执行步骤203。
如果指定终点已经在最优路径结果集中,说明已经确定出最优路径,完成深度优先算法的流程。
步骤203:从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集。
在本算法中设定最优路径结果集中各节点按照加入的先后顺序进行排列。
步骤204:从候选节点集中选择距离指定终点的欧氏距离最小的节点,将选择的节点加入最优路径结果集,转至步骤202。
通过上述过程,最终确定的最优路径结果集中的各节点构成的路径即为通过深度优先算法确定的路径。但有可能会存在最终无法到达指定终点的情况,即当在未处理的节点集中,已经没有与最优路径结果集的最后一个节点相邻的节点了,但此时并没有确定出达到指定终点的路径。为了避免这种情况,在步骤203之前,可以判断未处理的节点集中是否存在与最优路径结果集的最后一个节点相邻的节点,如果是,继续执行步骤203;否则,说明最优路径结果集中的某些节点并不属于最优路径,才会导致无法到达指定终点,此时,可以从最优路径结果集中的某个节点开始,重新选择其它路径。例如,可以按照加入最优路径结果集的先后顺序,将后n个加入最优路径结果集的节点从最优路径结果集中删除,将未处理的节点集置为全局节点集中除了从最优路径结果集中删除的节点之外的节点,然后转至步骤203。其中,n值为正整数,该值可以是一个固定的值,也可以首次确定无法到达指定终点时取n为1,第二次确定无法到达指定终点时取n为2,第m次确定无法到达指定终点时取n为m。
从上述深度优先算法的处理过程可以看出,在确定最优路径结果集中的节点时,仅考虑下一个相邻节点中距离指定终点最近的节点,从中选出距离指定终点最近的节点加入最优路径结果集,并没有考虑已经确定出的路径(即历史路径),这就会造成最终确定出的路径并不是指定起点到指定终点的最优路径,但能够快速确定出一个大致的路径。
在图1的步骤102中,在深度优先算法确定出的路径基础上,将该路径进行分段。在进行分段时,可以按照使每个分段包含预设数目的节点进行。其中,每个分段包含的节点数目可以根据路径优化程度要求和搜索耗时要求进行设定。假设设置每个分段中包含16个节点,则在步骤101确定的路径基础上,从指定起点开始每16个节点分为一个分段,直至指定终点。
在图1所示的步骤103中,可以同时对各分段,采用广度优先算法确定分段的起点到分段的终点之间的路径。同样,广度优先算法也是现有技术中已有的搜索算法,在此仅进行简单描述。与深度优先算法相同,除了全局节点集之外,广度优先算法也涉及最优路径结果集、候选节点集和未处理的节点集,含义与深度优先算法中相同。现有的广度优先算法包括:迪科斯彻(Dijkstra)算法、启发式算法等,在此以Dijkstra算法为例进行介绍。Dijkstra算法的实现过程如图3所示,主要包括以下步骤:
步骤301:将起点加入最优路径结果集,将全局节点集中除了起点之外的其它节点加入未处理的节点集。
本流程中的起点和终点均指各分段的起点和终点。最优路径结果集的初始状态同样为空,由于起点一定是最优路径中的节点,因此,首先将起点加入最优路径结果集。针对各分段执行的广度优先算法,该起点为各分段的起点。
步骤302:判断终点是否已经在最优路径结果集中,如果是,结束当前广度优先算法的流程;否则,执行步骤303。
针对各分段执行的广度优先算法,该终点为各分段的终点。
步骤303:从未处理的节点集中选择与当前最优路径结果集中最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集。
同样,在本算法中设定最优路径结果集中各节点按照加入的先后顺序进行排列。
步骤304:从候选节点集中选择距离起点的欧氏距离最小的节点,利用该选择的节点距离起点欧氏距离最小的路径上的各节点更新最优路径结果集,转至步骤302。
在确定出候选节点集中距离起点的欧氏距离最小的节点后,由于该节点距离起点最近的路径并不一定是候选节点集中各节点构成的路径,因此,需要将确定出的节点距离起点欧氏距离最小的路径上的各节点更新最优路径结果集。
通过上述过程,最终确定的最优路径结果集中的各节点构成的路径即为通过广度优先算法确定的路径。
启发式算法与上述的Dijkstra算法的流程大致相同,只是在步骤304中从候选节点集中选择节点时,不是选择距离起点的欧氏距离最小的节点,而是对各节点加入启发式信息形成代价函数,按照代价函数值的大小进行选择,以此控制搜索方向,减小搜索范围。节点n的代价函数h(n)可以表示为:h(n)=a×f(n)+b×g(n),其中,f(n)为历史已知信息,g(n)为加入的启发式信息,a为历史已知信息的权重值,b为启发式信息的权重值。在选择节点时,在候选节点集中选择代价函数值最小的节点。
在此举一个计算各节点代价函数h(n)的具体例子,将节点到起点之间的欧氏距离作为历史已知信息f(n),将节点到终点之间的欧氏距离作为启发式信息,则节点n的代价函数h(n)实际上就是节点到起点的欧氏距离与节点到终点的欧氏距离的加权和,当权重值a和b分别为1-1/depth、1/depth时,代价函数h(n)为:h(n)=(1-1/depth)×f(n)+g(n)/depth,其中,depth为节点n在搜索空间树中的层次。
从上述广度优先算法的过程可以看出,在确定最优路径结果集中的节点时,会每次都对到达起点的路径进行回溯,从而使得最终确定的起点到终点的路径为最优路径,在本发明中保证了各分段中分段的起点和终点之间的路径为最优路径。
下面举一个简单的实例对本发明提供的方法进行说明。假设指定起点和指定终点所在地图的全局节点集中包含50个节点,指定起点为S,指定终点为E。首先利用深度优先算法确定的指定起点S到指定终点E之间的路径P1为:S,a,b,c,d,e,f,g,h,I,j,k,E。
由于该实例中节点较少,在此以每个分段中包含5个节点进行分段,将路径P1分成3段:
分段Seg1包含的节点为:S,a,b,c,d。
分段Seg2包含的节点为:d,e,f,g,h。
分段Seg3包含的节点为:h,i,j,k,E。
同时对三个分段采用广度优先算法确定各分段中起点到终点的路径,分别为:
在分段Seg1中,采用广度优先算法确定出的从节点S到节点d之间的路径P11为:S,a1,b1,d。
在分段Seg2中,采用广度优先算法确定出的节点d到节点h之间的路径P12为:d,e1,h。
在分段Seg3中,采用广度优先算法确定出的节点h到节点E之间的路径P13为:h,i2,E。
最终,将各分段的路径合并后,得到最终的路径P2为:S,a1,b1,d,e1,h,i2,E。
以上是对本发明所提供的方法进行的详细描述,下面对本发明所提供方法相对应的装置进行详细描述。图4为本发明所提供的装置结构图,如图4所示,该装置可以包括:第一路径确定单元400、路径分段单元410、第二路径确定单元420和路径合并单元430。
第一路径确定单元400利用深度优先算法确定指定起点与指定终点之间的路径。
路径分段单元410将第一路径确定单元400确定出的路径分成N个分段,其中,N为大于1的自然数。
第二路径确定单元420利用广度优先算法分别确定各分段的起点与终点之间的路径;
路径合并单元430将第二路径确定单元420确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。
其中,第一路径确定单元400可以具体包括:第一初始子单元401、第一判断子单元402、第一确定子单元403和第一更新子单元404和第一选择子单元405。
第一初始子单元401将指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集。
第一判断子单元402在未处理的节点集有节点加入时,判断指定终点是否已经在最优路径结果集中。
第一确定子单元403在第一判断子单元402的判断结果为是时,确定最优路径结果集中的节点构成的路径。
第一更新子单元404在第一判断子单元402的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集。
第一选择子单元405从更新后的候选节点集中选择距离指定终点的欧氏距离最小的节点,将选择的该节点加入最后路径结果集。
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
更进一步地,为了避免利用深度优先算法无法到达终点的情况,该第一路径确定单元400还可以包含:错误处理子单元406。
错误处理子单元406在第一判断子单元402的判断结果为否时,判断未处理的节点集中是否存在与最优路径结果集的最后一个节点相邻的节点,如果否,将最优路径结果集的后n个节点从最优路径结果集中删除,将未处理的节点集置为全局节点集中除了删除的n个节点之外的节点;其中,n为正整数。
该装置中的路径分段单元410可以具体按照使每个分段包含预设数目节点的方式,从指定起点开始将第一路径确定单元确定出的路径进行分段,直至指定终点。
另外,上述第二路径确定单元420可以具体包括:第二初始子单元421、第二判断子单元422、第二确定子单元423、第二更新子单元424和第二选择子单元425。
第二初始子单元421将当前分段的起点加入最优路径结果集,将全局节点集中除了当前分段的起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集。
第二判断子单元422在未处理的节点集有节点加入时,判断当前分段的终点是否已经在最优路径结果集中。
第二确定子单元423在第二判断子单元422的判断结果为是时,确定最优路径结果集中的节点构成的路径。
第二更新子单元424在第二判断子单元422的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集。
第二选择子单元425从候选节点集中选择代价函数值最小的节点,利用选择的该节点距离当前分段的起点欧氏距离最小的路径上的各节点更新最优路径节点集;其中,距离当前分段的起点的欧氏距离最小的节点为代价函数值最小的节点,或者距离当前分段的起点的欧氏距离和距离当前分段的终点的欧氏距离的加权和最小的节点为代价函数值最小的节点。
由以上描述可以看出,本发明提供的方法和装置通过深度优先算法快速得到一个路径结果,然后将该路径结果分成若干分段,分别在每个分段中使用广度优先算法,得到各分段中较为准确的路径。本发明能够通过控制分段的数目或者各分段中的节点数来实现搜索耗时与路径优化程度之间的这种和控制。
在此以包含20128个节点的全局节点集为例,以相同的指定起点和指定终点,分别以不同的各分段节点数对搜索耗时和路径优化程度进行实现论证。最终的实验论证结果如表1所示。
表1
由表1可以看出,每个分段中节点数越多,搜索耗时越长,但搜索得到的路径长度越短,即路径越优。通过控制各分段中节点数或者分段数便可以灵活地控制路径搜索的搜索耗时和路径优化程度,从而满足用户的不同需求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种确定导航路径的方法,其特征在于,该方法包括:
A、利用深度优先算法确定指定起点与指定终点之间的路径;
B、将步骤A确定出的路径分成N个分段,其中,N为大于1的自然数;
C、利用广度优先算法分别确定各分段的起点与终点之间的路径;
D、将步骤C确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括:
A1、将所述指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
A2、判断所述指定终点是否已经在最优路径结果集中,如果是,最优路径结果集中的节点构成的路径为步骤A确定出的路径,结束步骤A;否则,执行步骤A3;
A3、从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集;
A4、从候选节点集中选择距离所述指定终点的欧氏距离最小的节点,将选择的该节点加入最优路径结果集,转至步骤A2;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
3.根据权利要求2所述的方法,其特征在于,在所述步骤A3之前,还包括:判断未处理的节点集中是否存在与最优路径结果集的最后一个节点相邻的节点,如果是,继续执行所述步骤A3;否则,将最优路径结果集的后n个节点从最优路径结果集中删除,将未处理的节点集置为全局节点集中除了删除的n个节点之外的节点,继续执行所述步骤A3;其中,n为正整数。
4.根据权利要求1所述的方法,其特征在于,所述步骤B具体包括:按照使每个分段包含预设数目节点的方式,从所述指定起点开始将步骤A确定出的路径进行分段,直至所述指定终点。
5.根据权利要求1所述的方法,其特征在于,步骤C中所述广度优先算法包括:迪科斯彻(Dijkstra)算法或者启发式算法。
6.根据权利要求1所述的方法,其特征在于,所述步骤C中,针对各分段分别执行以下步骤:
C1、将当前分段的起点加入最优路径结果集,将全局节点集中除了当前分段的起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
C2、判断当前分段的终点是否已经在最优路径结果集中,如果是,最优路径结果集中的节点构成的路径为当前分段的起点与终点之间的路径,结束当前分段的路径计算流程;否则,执行步骤C3;
C3、从未处理的节点集中选择与当前最优路径结果集中最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集;
C4、从候选节点集中选择代价函数值最小的节点,利用选择的节点距离当前分段的起点欧氏距离最小的路径上的各节点,更新最优路径结果集,转至步骤C2;其中,距离当前分段的起点的欧氏距离最小的节点为代价函数值最小的节点,或者距离当前分段的起点的欧氏距离和距离当前分段的终点的欧氏距离的加权和最小的节点为代价函数值最小的节点;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
7.一种确定导航路径的装置,其特征在于,该装置包括:
第一路径确定单元,用于利用深度优先算法确定指定起点与指定终点之间的路径;
路径分段单元,用于将第一路径确定单元确定出的路径分成N个分段,其中,N为大于1的自然数;
第二路径确定单元,用于利用广度优先算法分别确定各分段的起点与终点之间的路径;
路径合并单元,用于将第二路径确定单元确定出的各分段的路径合并成指定起点与指定终点之间的导航路径。
8.根据权利要求7所述的装置,其特征在于,所述第一路径确定单元包括:
第一初始子单元,用于将所述指定起点加入最优路径结果集,将全局节点集中除了指定起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
第一判断子单元,用于在未处理的节点集有节点加入时,判断所述指定终点是否已经在最优路径结果集中;
第一确定子单元,用于在所述第一判断子单元的判断结果为是时,确定最优路径结果集中的节点构成的路径;
第一更新子单元,用于在所述第一判断子单元的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并利用该选择出的节点更新候选节点集;
第一选择子单元,用于从更新后的候选节点集中选择距离所述指定终点的欧氏距离最小的节点,将选择的该节点加入最后路径结果集;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
9.根据权利要求7所述的装置,其特征在于,所述路径分段单元具体按照使每个分段包含预设数目节点的方式,从所述指定起点开始将第一路径确定单元确定出的路径进行分段,直至所述指定终点。
10.根据权利要求7所述的装置,其特征在于,所述第二路径确定单元包括:
第二初始子单元,用于将当前分段的起点加入最优路径结果集,将全局节点集中除了当前分段的起点之外的其它节点加入未处理的节点集;其中,全局节点集为指定起点和指定终点所在地图的节点集;
第二判断子单元,用于在未处理的节点集有节点加入时,判断当前分段的终点是否已经在最优路径结果集中;
第二确定子单元,用于在所述第二判断子单元的判断结果为是时,确定最优路径结果集中的节点构成的路径;
第二更新子单元,用于在所述第二判断子单元的判断结果为否时,从未处理的节点集中选择与当前最优路径结果集中的最后一个节点相邻的节点,将选择出的节点从未处理的节点集中取出,并将该选择出的节点加入候选节点集;
第二选择子单元,用于从更新后的候选节点集中选择代价函数值最小的节点,利用选择的该节点距离当前分段的起点欧氏距离最小的路径上的各节点更新最优路径结果集;其中,距离当前分段的起点的欧氏距离最小的节点为代价函数值最小的节点,或者距离当前分段的起点的欧氏距离和距离当前分段的终点的欧氏距离的加权和最小的节点为代价函数值最小的节点;
其中,最优路径结果集中的节点按照加入最优路径结果集的先后顺序排列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102157016A CN102116635A (zh) | 2009-12-30 | 2009-12-30 | 一种确定导航路径的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102157016A CN102116635A (zh) | 2009-12-30 | 2009-12-30 | 一种确定导航路径的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102116635A true CN102116635A (zh) | 2011-07-06 |
Family
ID=44215509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102157016A Pending CN102116635A (zh) | 2009-12-30 | 2009-12-30 | 一种确定导航路径的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102116635A (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186710A (zh) * | 2011-12-31 | 2013-07-03 | 北京金山软件有限公司 | 最优路径搜索方法及系统 |
CN103900600A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 室内跨楼层地图路径导航方法及系统 |
CN104061938A (zh) * | 2013-03-21 | 2014-09-24 | 高德信息技术有限公司 | 一种导航方法、装置及系统 |
CN104933248A (zh) * | 2015-06-16 | 2015-09-23 | 中国科学技术大学 | 多核平台上的路网近似最短路径计算方法 |
CN105547308A (zh) * | 2015-11-03 | 2016-05-04 | 中兴软创科技股份有限公司 | 基于数字路网地图与深度优先遍历的导航方法与装置 |
CN105575151A (zh) * | 2016-01-19 | 2016-05-11 | 长安大学 | 考虑车辆类型及平面交叉口延误的gps导航路径优化方法 |
CN106625660A (zh) * | 2016-12-02 | 2017-05-10 | 南宁学院 | 一种工业机器人行进路径分配方法 |
CN106969769A (zh) * | 2017-05-03 | 2017-07-21 | 南京大学 | 一种考虑多因素的Dijkstra导航方法 |
CN107449426A (zh) * | 2017-07-14 | 2017-12-08 | 厦门市礼小签电子科技有限公司 | 路径搜索算法和导航逻辑方法及其室内ar导航系统 |
CN107451693A (zh) * | 2017-08-02 | 2017-12-08 | 南京工业大学 | 多点多目标的危化品运输路径优化方法 |
CN108352084A (zh) * | 2015-11-09 | 2018-07-31 | 微软技术许可有限责任公司 | 用于在场景感知设备环境中导航对象的对象路径标识 |
CN109871021A (zh) * | 2019-03-18 | 2019-06-11 | 安徽大学 | 一种基于粒子群优化算法的机器人导航方法 |
CN112595337A (zh) * | 2020-12-01 | 2021-04-02 | 苏州欧菲光科技有限公司 | 避障路径规划方法、装置、电子装置、车辆及存储介质 |
CN113532448A (zh) * | 2020-04-13 | 2021-10-22 | 广州汽车集团股份有限公司 | 一种自动驾驶车辆的导航方法及其系统、驾驶控制设备 |
CN113804209A (zh) * | 2021-05-27 | 2021-12-17 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
CN115231293A (zh) * | 2022-08-05 | 2022-10-25 | 梅卡曼德(北京)机器人科技有限公司 | 应用于移动物品的路线确定方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790398A (zh) * | 2005-12-28 | 2006-06-21 | 浙江工业大学 | 有时间窗的开放式车辆调度问题的粒子群优化方法 |
CN1873671A (zh) * | 2006-02-27 | 2006-12-06 | 上海理工大学 | 基于霍夫曼树的tsp求解算法 |
WO2007009892A1 (de) * | 2005-07-18 | 2007-01-25 | Siemens Aktiengesellschaft | Verfahren zur entzerrung von verkehrsströmen sowie zur stauvermeidung und -auflösung |
CN100547625C (zh) * | 2008-01-31 | 2009-10-07 | 浙江工业大学 | 一种城市交通中的典型行驶路线分析方法 |
FR2931231A1 (fr) * | 2008-05-19 | 2009-11-20 | Peugeot Citroen Automobiles Sa | Procede de guidage dynamique d'un vehicule automobile, en presence d'informations de types de trafics, et dispositif associe |
CN101603836A (zh) * | 2009-07-21 | 2009-12-16 | 中国科学院地理科学与资源研究所 | 多用户并发导航路径查询均衡控制方法及装置 |
-
2009
- 2009-12-30 CN CN2009102157016A patent/CN102116635A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007009892A1 (de) * | 2005-07-18 | 2007-01-25 | Siemens Aktiengesellschaft | Verfahren zur entzerrung von verkehrsströmen sowie zur stauvermeidung und -auflösung |
CN1790398A (zh) * | 2005-12-28 | 2006-06-21 | 浙江工业大学 | 有时间窗的开放式车辆调度问题的粒子群优化方法 |
CN1873671A (zh) * | 2006-02-27 | 2006-12-06 | 上海理工大学 | 基于霍夫曼树的tsp求解算法 |
CN100547625C (zh) * | 2008-01-31 | 2009-10-07 | 浙江工业大学 | 一种城市交通中的典型行驶路线分析方法 |
FR2931231A1 (fr) * | 2008-05-19 | 2009-11-20 | Peugeot Citroen Automobiles Sa | Procede de guidage dynamique d'un vehicule automobile, en presence d'informations de types de trafics, et dispositif associe |
CN101603836A (zh) * | 2009-07-21 | 2009-12-16 | 中国科学院地理科学与资源研究所 | 多用户并发导航路径查询均衡控制方法及装置 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186710A (zh) * | 2011-12-31 | 2013-07-03 | 北京金山软件有限公司 | 最优路径搜索方法及系统 |
CN103186710B (zh) * | 2011-12-31 | 2016-08-31 | 北京金山软件有限公司 | 最优路径搜索方法及系统 |
CN103900600A (zh) * | 2012-12-25 | 2014-07-02 | 中国电信股份有限公司 | 室内跨楼层地图路径导航方法及系统 |
CN104061938B (zh) * | 2013-03-21 | 2017-11-10 | 高德信息技术有限公司 | 一种导航方法、装置及系统 |
CN104061938A (zh) * | 2013-03-21 | 2014-09-24 | 高德信息技术有限公司 | 一种导航方法、装置及系统 |
CN104933248A (zh) * | 2015-06-16 | 2015-09-23 | 中国科学技术大学 | 多核平台上的路网近似最短路径计算方法 |
CN104933248B (zh) * | 2015-06-16 | 2018-07-03 | 中国科学技术大学 | 多核平台上的路网近似最短路径计算方法 |
CN105547308A (zh) * | 2015-11-03 | 2016-05-04 | 中兴软创科技股份有限公司 | 基于数字路网地图与深度优先遍历的导航方法与装置 |
CN108352084B (zh) * | 2015-11-09 | 2021-08-24 | 微软技术许可有限责任公司 | 用于在场景感知设备环境中导航对象的对象路径标识的方法和系统 |
CN108352084A (zh) * | 2015-11-09 | 2018-07-31 | 微软技术许可有限责任公司 | 用于在场景感知设备环境中导航对象的对象路径标识 |
CN105575151A (zh) * | 2016-01-19 | 2016-05-11 | 长安大学 | 考虑车辆类型及平面交叉口延误的gps导航路径优化方法 |
CN105575151B (zh) * | 2016-01-19 | 2017-09-22 | 长安大学 | 考虑车辆类型及平面交叉口延误的gps导航路径优化方法 |
CN106625660A (zh) * | 2016-12-02 | 2017-05-10 | 南宁学院 | 一种工业机器人行进路径分配方法 |
CN106969769A (zh) * | 2017-05-03 | 2017-07-21 | 南京大学 | 一种考虑多因素的Dijkstra导航方法 |
CN107449426A (zh) * | 2017-07-14 | 2017-12-08 | 厦门市礼小签电子科技有限公司 | 路径搜索算法和导航逻辑方法及其室内ar导航系统 |
CN107449426B (zh) * | 2017-07-14 | 2020-05-05 | 厦门市礼小签电子科技有限公司 | 导航逻辑方法及其室内ar导航系统 |
CN107451693A (zh) * | 2017-08-02 | 2017-12-08 | 南京工业大学 | 多点多目标的危化品运输路径优化方法 |
CN109871021B (zh) * | 2019-03-18 | 2022-04-15 | 安徽大学 | 一种基于粒子群优化算法的机器人导航方法 |
CN109871021A (zh) * | 2019-03-18 | 2019-06-11 | 安徽大学 | 一种基于粒子群优化算法的机器人导航方法 |
CN113532448A (zh) * | 2020-04-13 | 2021-10-22 | 广州汽车集团股份有限公司 | 一种自动驾驶车辆的导航方法及其系统、驾驶控制设备 |
CN112595337A (zh) * | 2020-12-01 | 2021-04-02 | 苏州欧菲光科技有限公司 | 避障路径规划方法、装置、电子装置、车辆及存储介质 |
CN112595337B (zh) * | 2020-12-01 | 2023-08-15 | 苏州欧菲光科技有限公司 | 避障路径规划方法、装置、电子装置、车辆及存储介质 |
CN113804209A (zh) * | 2021-05-27 | 2021-12-17 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
CN113804209B (zh) * | 2021-05-27 | 2024-01-09 | 中国人民解放军战略支援部队信息工程大学 | 一种四角格网高精度长距离越野路径规划方法 |
CN115231293A (zh) * | 2022-08-05 | 2022-10-25 | 梅卡曼德(北京)机器人科技有限公司 | 应用于移动物品的路线确定方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102116635A (zh) | 一种确定导航路径的方法和装置 | |
EP2075537A2 (en) | Navigation apparatus and program | |
US8150620B2 (en) | Route search method and apparatus for navigation system utilizing map data of XML format | |
US8515655B2 (en) | Navigation device and method for route calculation | |
CN103268701B (zh) | 城市路网负载平衡方法 | |
US20140107921A1 (en) | Query scenarios for customizable route planning | |
CN107121146B (zh) | 基于路链深度的最优路径规划方法 | |
US20110010376A1 (en) | Location search device, location search method, and computer-readable storage medium storing location search program | |
JP2003502680A (ja) | 出発地から目的地までのルート検出方法およびルート検出装置 | |
CN113758494B (zh) | 导航路径规划方法、装置、设备和存储介质 | |
CN104364611A (zh) | 显示装置 | |
CN105318882A (zh) | 兴趣点绑定道路的方法及装置 | |
CN103136298A (zh) | 电子设备及其信息呈现方法 | |
Fu et al. | Top-k taxi recommendation in realtime social-aware ridesharing services | |
CN101294821B (zh) | 一种获取汽车在途最少时间的装置及方法 | |
JP2006162270A (ja) | 地図更新システム、ナビゲーション装置、配信装置 | |
CN105987702A (zh) | 一种导航路线的路段扩张方法及其装置 | |
CN102564441B (zh) | 路径检索装置及路径检索方法 | |
CN105588573A (zh) | 一种备选导航路线的确定方法及装置 | |
CN106092109B (zh) | 一种电子地图高效寻路的道路连接逻辑化方法及应用 | |
JP2006226896A (ja) | ナビゲーション装置 | |
CN111813883B (zh) | 最短路径查询方法及查询系统 | |
JP2022154543A (ja) | ナビゲーション装置、ナビゲーション方法及びプログラム | |
KR101123274B1 (ko) | 링크 분할을 통한 경로 탐색 방법 및 경로 재탐색 방법 | |
KR102311605B1 (ko) | 내비게이션 장치 및 그 목적지 검색 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110706 |
|
WD01 | Invention patent application deemed withdrawn after publication |