基于数字路网地图与深度优先遍历的导航方法与装置的制造方法

文档序号:9784541阅读:339来源:国知局
基于数字路网地图与深度优先遍历的导航方法与装置的制造方法
【技术领域】
[0001] 本发明涉及车辆导航技术领域,具体而言涉及一种基于数字路网地图与深度优先 遍历的导航方法与装置。
【背景技术】
[0002] 随着通信技术和全球定位系统(Global Positioning System,GPS)的不断发展, 为导航技术提供了越来越坚实的技术基础。人们在出行时常常苦恼于复杂的道路环境,不 过有了导航技术,就可以为人们在出行过程带来很多方便。而且在现实的道路网络中,道路 环境复杂且庞大,仅在一个城市内,就可能存在很多复杂的状态,例如修路、堵车等,如果想 单独跳出几条路,以更加快捷的方式到达目的是,通过目前的GPS系统是不能够高效低提供 这样的导航路径规划的。

【发明内容】

[0003] 本发明的第一方面提出一种基于数字路网地图与深度优先遍历的导航方法,包括 以下步骤:
[0004] 步骤1、构建数字路网地图;
[0005] 步骤2、基于前述数字路网地图,采用深度优先遍历来规划出发地到目的地的导航 路径。
[0006] 进一步的实施例中,前述步骤1的具体实现包括:
[0007] 以地图中的每个路口作为顶点,以每个路段作为边,构建一个有向图,在该有向图 中,对于每一对顶点^和^,都存在一条从^到^的路径和一条从的路径,并且,对于 给定的任意两个顶点,存在2点之间的一条简单路径,该简单路径是指路径上经过的各个顶 点均不互相重复;
[0008] 以前述有向图中的所有路段ID、路段的上游路口、路段的下游路口信息来存储该 图,其中,上游路口和下游路口分别代表了图的顶点,路段则是图的边。
[0009] 进一步的实施例中,前述步骤2的实现包括:
[0010] 对于给定的出发地,确定与其最邻近的顶点v,则从图的顶点v出发,访问此顶点, 然后依次从v的未被访问的邻接点出发深度优先遍历图,直到所有与v有通路的顶点都被访 问到;
[0011] 若此时图中还有未被访问的顶点,则选择该未被访问的顶点为起点,重复上述步 骤,直到图中所有的顶点均被访问到;
[0012] 找到所有从顶点v出发,到达目的地d的所有路径。
[0013] 进一步的实施例中,前述步骤2中深度优先遍历图的过程包括:
[0014] 设X是当前被访问顶点,在对X做过访问标记后,选择一条从X出发的未检测过的边 (X,y):若发现顶点y已访问过,则重新选择另一条从X出发的未检测过的边,否则沿边(X,y) 到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出 发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点χ,并且再选择一条从 X出发的未检测过的边;
[0015] 上述过程直至从X出发的所有边都已检测过为止,此时,若X不是出发点,则回溯到 在X之前被访问过的顶点;否则图中所有和出发点有路径相通的顶点即从出发点可达的所 有顶点都已被访问过,若图是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶 点作为新源点,进行新的搜索过程。
[0016] 根据本发明的改进,还提出一种基于数字路网地图与深度优先遍历的导航装置, 包括:
[0017] 用于构建数字路网地图的模块;
[0018] 用于基于前述数字路网地图,采用深度优先遍历来规划出发地到目的地的导航路 径的t吴块。
[0019] 应当理解,前述构思以及在下面更加详细地描述的额外构思的所有组合只要在这 样的构思不相互矛盾的情况下都可以被视为本公开的发明主题的一部分。另外,所要求保 护的主题的所有组合都被视为本公开的发明主题的一部分。
[0020] 结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实 施例和特征。本发明的其他附加方面例如示例性实施方式的特征和/或有益效果将在下面 的描述中显见,或通过根据本发明教导的【具体实施方式】的实践中得知。
【附图说明】
[0021 ]附图不意在按比例绘制。在附图中,在各个图中示出的每个相同或近似相同的组 成部分可以用相同的标号表示。为了清晰起见,在每个图中,并非每个组成部分均被标记。 现在,将通过例子并参考附图来描述本发明的各个方面的实施例,其中:
[0022] 图1是根据本发明某些实施例的基于数字路网地图与深度优先遍历的导航方法的 示意图。
[0023] 图2是根据本发明某些实施例的深度优先搜索过程的示意图。
[0024] 图3是根据本发明某些实施例的深度优先遍历递归算法的示例图。
【具体实施方式】
[0025]为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
[0026] 在本公开中参照附图来描述本发明的各方面,附图中示出了许多说明的实施例。 本公开的实施例不必定意在包括本发明的所有方面。应当理解,上面介绍的多种构思和实 施例,以及下面更加详细地描述的那些构思和实施方式可以以很多方式中任意一种来实 施,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一 些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
[0027] 根据本发明的实施例,一种基于数字路网地图与深度优先遍历的导航方法,可以 实时、精确地进行导航路径的规划。结合图1所示,该方法的实现大致包括以下步骤:
[0028]步骤1、构建数字路网地图;
[0029]步骤2、基于前述数字路网地图,采用深度优先遍历来规划出发地到目的地的导航 路径。
[0030] 本实施例中,数字路网地图的构建是基于GIS来构建的,并且在后续的处理中,通 过G IS来进行初始化。
[0031] 具体地,在一些实施例中,数字路网地图的构建包括以下步骤:
[0032] 以地图(例如来自GIS)中的每个路口作为顶点,以每个路段作为边,构建一个有向 图,在该有向图中,对于每一对顶点Vi和Vj,都存在一条从Vi到Vj的路径和一条从Vj到Vi的路 径,并且,对于给定的任意两个顶点,存在2点之间的一条简单路径,该简单路径是指路径上 经过的各个顶点均不互相重复;
[0033] 以前述有向图中的所有路段ID、路段的上游路口、路段的下游路口信息来存储该 图,其中,上游路口和下游路口分别代表了图的顶点,路段则是图的边。
[0034] 对此,我们定义了数字路网地图的基本数据:
[0035]图:一个图可以由2个集合来定义,一个是点的集合,一般称为顶点(Vertex);另一 个集合是连接2个顶点的边的集合,一般称为边(Edge)。图的定义为:6^?1!=(¥3),¥是所 有顶点的有穷非空集合,E是顶点之间关系的有穷集合边集。
[0036]路径(Path):在图G=(V,E)中,若从顶点Vi出发,经过一系列的顶点νΡι,ν Ρ2,…, Vpm,最后到达顶点Vj,贝lj称顶点序列(Vi,Vpl,VP2,…,Vpm, Vj)为顶点Vi到顶点Vj的路径。
[0037] 简单路径:若路径上经过的各个顶点均不互相重复,则称这样的路径为简单路径。
[0038] 强连通图:在有向图中,若对于每一对顶点Vi和Vj,都存在一条从Vi到Vj的路径和 一条从的路径,则称此图是强连通图。
[0039]同时,前述有向图的存储,我们采用数字路网中的MD_SEGMENT表中部分字段来保 存。
[0040] SEGMENT_ID 路段 ID
[0041 ] INTERSECTION_UPSTARE 道路上游路口
[0042] INTERSECTI0N_D0WNSTARE 道路下游路口
[0043]其中上游路口和下游路口分别代表了图的顶点,路段则是图的边。
[0044] 在一些实施例中,前述步骤2的导航路径规划的实现包括:
[0045] 对于给定的出发地,确定与其最邻近的顶点V,则从图的顶点v出发,访问此顶点, 然后依次从v的未被访问的邻接点出发深度优先遍历图,直到所有与v有通路的顶点都被访 问到;
[0046] 若此时图中还有未被访问的顶点,则选择该未被访问的顶点为起点,重复上述步 骤,直到图中所有的顶点均被访问到;
[0047] 找到所有从顶点v出发,到达目的地d的所有路径。
[0048] 在更进一步的例子中,结合图2所示,前述步骤2中的深度优先遍历图的过程包括:
[0049] 设X是当前被访问顶点,在对X做过访问标记后,选择一条从X出发的未检测过的边 (x,y):若发现顶点y已访问过,则重新选择另一条从X出发的未检测过的边,否则沿边(x,y) 到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出 发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点X,并且再选择一条从 X出发的未检测过的边;
[0050] 上述过程直至从X出发的所有边都已检测过为止,此时,若X不是出发点,则回溯到 在X之前被访问过的顶点;否则图中所有和出发点有路径相通的顶点即从出发点可达的所 有顶点都已被访问过,若图是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶 点作为新源点,进行新的搜索过程。
[0051]下面我们更加具体地对前述实施例的一些具体实现及其原理进行进一步说明 [0052]我们定义了图的深度优先遍历递归算法:
[0053] 1、假设初始状态是图的所有顶点均没有被访问,则从图的某个点v出发,访问此顶 点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直到所有与v有通路的顶点都 被访问到。
[0054] 2、若此时图中还有未被访问的顶点,则选择该未被访问的顶点为起点,重复上述1 的步骤,直到图中所有的顶点均被访问到。
[0055]前述深度优先搜索过程如下:
[0056] 设X是当前被访问顶点,在对X做过访问标记后,选择一条从X出发的未检测过的边 (X,y)。若发现顶点y已访问过,贝ij重新选择另一条从X出发的未检测过的边,否则沿边(X,y) 到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出 发的所有路径,即访问完所有从y出发可达的顶点之后,才回溯到顶点X,并且再选择一条从 X出发的未检测过的边。上述过程直至从X出发的所有边都已检测过为止。此时,若X不是源 点,则回溯到在X之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点 可达的所有顶点)都已被访问过,若图G是连通图,则遍历过程结束,否则继续选择一个尚未 被访问的顶点作为新源点,进行新的搜索过程。
[0057] 结合图2,深度优先搜索的一个示例性实现包括:
[0058] 1、首先访问A点,将其标为已访问,接着从其未被访问的邻接点C出发继续搜索。
[0059] 2、访问C点并将其标记为已访问。依次类推,继续访问顶点B,G,F,D。
[0060] 3、访问D后,由于D的所有邻接点均已被访问,因此回退到上一个访问点F,检测其 有无未被访问的邻接点。若有继续深度搜索;若没有,继续会退到F的上一个访问点G。
[0061] 4、由于F还有未被访问邻接点E,所以继续访问E,然后依次回退到F,G,B,C,A。直到 访问结束。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1