路径规划的方法及系统的制作方法
【专利摘要】本发明提供一种用于城市道路交通网络中路径规划的方法,该方法首先基于给定的路网密度将由起点和终点确定的待搜索的区域划分为多个子区域;接着将多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi图;然后,基于Voronoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性;以及基于所选出的互相邻接且连通的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径。该方法不仅降低了路网拓扑结构的构建时间,而且缩小路径的搜索范围和搜索时间,提高了搜索效率。
【专利说明】路径规划的方法及系统【技术领域】
[0001]本发明属于智能道路交通领域,尤其涉及智能交通中的路径规划的方法。
【背景技术】
[0002]路径规划是智能交通中最基本的应用,即在城市道路交通网络中为出行者选取从当前点到目标点的最短路径作为出行路线。城市道路交通网络(可简称为路网)通常是用带权值的无向图来表示的。其中,路网中的路口被视为无向图的顶点,路网中的路径为无向图中的边。求解图中最短路径的经典方法有Dijkstra,Folyd,A*等方法。但是这些经典的最短路径算法在处理大规模路网问题时普遍存在计算复杂度过高、存储消耗过大等问题。
[0003]中国专利申请(201110260870.9)中提供了一种路径快速规划方法。该方法将道路网络按道路等级建立空间分层再进行最短路径算法。该方法存在的问题是随着构造的网络层数越多,预处理所需的时间消耗和存储空间也越多,并没有解决大规模路网问题。
[0004]中国专利申请(201110127113.4)提出了另一种解决方案,其利用由路网和目标节点集合共同决定的VOTonoi图进行预计算,在道路网络中进行k最近邻居节点查询。该方案对于低密度对象查询时间响应快且精确率高,但对于高密度对象的处理效率显著下降,并且需要执行多次查询来查询某物体的k近邻。
【发明内容】
[0005]因此,本发明的目的在于克服上述现有技术的缺陷,提供一种新的城市道路交通网络中的路径规划方法。
[0006]本发明的目的是通过以下技术方案实现的:
[0007]—方面,本发明提供了一种路径规划的方法,所述方法包括:
[0008]步骤1,根据起点和终点确定待搜索的区域;
[0009]步骤2,基于给定的路网密度将该区域划分为多个子区域,其中每个子区域的路网密度不大于该给定的路网密度;
[0010]步骤3,经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi 图;
[0011]步骤4,基于VOTonoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性;
[0012]步骤5,从所述多个子区域中选出互相邻接且连通的子区域;
[0013]步骤6,所选出的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径。
[0014]在上述方法中,所述步骤I中待搜索的区域可以是以起点和终点为对角线的矩形区域。
[0015]在上述方法中,所述步骤I中待搜索的区域可以是以起点和终点为对角线的矩形为基础,上下左右各扩展相同的长度得到的矩形区域。[0016]在上述方法中,所述步骤I中待搜索的区域可以是以起点和终点为对角线的矩形为基础而扩展的正方形区域,该正方形区域的边长为该矩形的边中较长的边的边长。
[0017]在上述方法中,所述步骤2中任一区域的路网密度可以为该区域内道路总长度与该区域的空间面积的比值。
[0018]在上述方法中,所述步骤2可以包括:
[0019]如果该待搜索区域的路网密度大于所设定的路网密度,则将该待搜索的区域均分为22n个子区域,其中η为大于或等于I的自然数;
[0020]如果某个子区域内路网密度仍大于所设定的路网密度,则将该子区域划分为22η个子区域;重复上述过程,直到每个子区域的路网密度都小于或等于所设定的路网密度为止。
[0021]在上述方法中,所述步骤3中可以将每个子区域映射到该子区域的中心点上,以该中心点来代表该子区域。
[0022]在上述方法中,所述步骤4可以包括:
[0023]步骤41)判断Voronoi图中任两个点之间,是否直接有边相连接,如果两个点有边直接相连,则确定这两个点对应的子区域之间存在邻接关系;
[0024]步骤42)对于任意两个存在邻接关系的子区域,判断这两个子区域对应的路网部分是否有道路相连,如果有,则确定这两个子区域是连通的。
[0025]在上述方法中,所述步骤5还可以包括从所选出的互相邻接且连通的子区域的集合中选择从起点所在子区域到终点所在子区域经过最优路径子区域集合,该最优路径子区域集合为最有可能包含最优路径的子区域集合。
[0026]在上述方法中,在选择最优路径子区域集合时可以遵循这样的原则:经过的区域最少,且在区域数相同的情况下,选择区域内结点数较少的那个区域。
[0027]在上述方法中,所述步骤6中可以基于最优路径子区域集合构建新的道路网络,并且在所构建的新的道路网络中搜索起点与终点之间的最优路径。
[0028]又一方面,本发明提供了一种路径规划的系统,包括:
[0029]用于根据起点和终点确定待搜索的区域的装置;
[0030]用于基于给定的路网密度将该区域划分为多个子区域的装置,其中每个子区域的路网密度不大于该给定的路网密度;
[0031]用于经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi图的装置;
[0032]用于基于VOTonoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性的装置;
[0033]用于从所述多个子区域中选出互相邻接且连通的子区域的装置;
[0034]用于所选出的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径的装置。
[0035]与现有技术相比,本发明的优点在于:
[0036]针对复杂路网,从缩小算法的搜索空间和存储空间的角度出发,利用Voronoi图的立即邻近性质对搜索空间进行划分,将搜索的范围限制在与该目标具有邻近关系的目标集合中,不仅降低路网拓扑结构的构建时间,而且缩小路径的搜索范围,减少了存储空间,提高了搜索效率。
【专利附图】
【附图说明】
[0037]以下参照附图对本发明实施例作进一步说明,其中:
[0038]图1为Voronoi图的邻接关系不意图;
[0039]图2为根据本发明实施例的路径规划的方法的流程示意图;
[0040]图3为根据本发明实施例对待搜索区域进行空间划分的示意图;
[0041]图4为根据本发明实施例将经划分后的子区域映射为离散点的示意图;
[0042]图5为根据本发明实施例基于所映射的点构造的Voronoi图及邻接关系不意图;
[0043]图6为传统算法的搜索范围示意图;
[0044]图7为根据本发明一个实施例的路径规划的方法的搜索范围示意图。【具体实施方式】
[0045]为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]为了更好地理解本发明的内容,首先对VOTonoi图进行简单介绍:
[0047]Voronoi图是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。平面上N个有区别的点,按照最邻近原则划分该平面;每个点与它的最近邻区域相关联。简单而言,例如,对于平面中两个点A、B,距离A点比距离B点近的点的区域是由A、B的垂直平分线确定的包含A的那半个平面,可记为V(A),即A点的最近区域。如果点集是由N个点组成,按照连接两邻点直线的垂直平分线进行划分,距离点Pi比距离其它点更近的点的区域是包含Pi的那N-1个半平面的交集。其中这N-1个半平面是由Pi点与其它点的垂直平分线确定的,而该N-1个半平面的交集为该Pi点的最近区域V(i)。V(i)实际上是由一些垂直平分线段构成的多边形。采用这些的划分方式得到每个点的最近区域,就形成的VOTonoi图,它将整个平面分成N个区域,每个区域中包含一个点,这个区域就是这个点的区域,其中的线段或射线称为VOTonoi边,它一定是两个点的中垂线的一段,这两个点称为该VOTonoi边的相关点,Voronoi边之间的交点称为Voronoi顶点,Voronoi边的相关点也是Voronoi顶点的相关点。此外,如果点(x,y) £¥(;0,则?1是点(x,y)的相关点。
[0048]更形式化地,Voronoi图的定义如下,设P是一离散点集合户= {/々,...,P,,}〔 W2,2< η <°°且卩1 Pj, i j, i, j e Ιη{1,...,η};
[0049]VP(Pi) = {ρ I d(p, Pi)≤ d(p,pj)}, j 关 i, j e In。其中,R2 代表二维空间,例如,一个平面,d(P,Pi)为点ρ和点Pi之间的欧几里德距离,VP(Pi)称为关联于pJ^VOTonoi多边形或Pi的Voronoi多边形。VD(P) = {VP (Pi),…,VP (Pn)}表示基于离散点集合P生成的Voronoi图,该集合中的各个点可称为生长点。
[0050]图1给出了 Voronoi图的邻接关系示意图,其中,假设生长点Pi的Voronoi多边形为VP (Pi),生长点ρ」的Voronoi多边形为VP (Pj),若VP (Pi)与VP (Pj)存在公共Voronoi边,则称点Pi与点Pj立即邻近。若用P = (P1, P2,..., PnI的Delaunay三角网格来说,就是有一条Delaunay边连接点Pi与点p」,,Delaunay三角形是由与相邻Voronoi多边形共享一条边的相关点连接而成的三角形。
[0051]在城市路网中搜索最优路径,影响其搜索速度的因素主要有两个:(1)构建路网拓扑结构的时间;(2)路径搜索的时间。其中,构建路网拓扑结构是求解最优路径的先决条件,在电子地图上计算任意两点之间的最短路径,首先要建立电子地图上道路对应的拓扑结构图。路网的拓扑结构可表示为有向图G = (S,E),其中S = {Si|i e [I,n]}, E =IeijIi, j e [l,n-l]},路网共有η个结点,路网中的结点可包括以下几种类型的点:①路网中的交叉口 ;②道路的端点;③道路属性发生变化的点;如在路段的某点处道路宽度明显减小,由单向四条车道变成单向两条车道,使得道路上该方向上的通行能力有了很大的变化,该变化直接影响到车辆在该路段上的行驶时间,在这种情况下,应该把这个点作为一个结点。④可能进行转向操作的点。其中,Si表示路网的第i个结点的标识,根据结点粒度的不同包含一个或多个邻近路口 ;eij表示路网中与结点Si和Sj关联的道路标识。特别地,当结点粒度最小时,定义路网G = {V,E},其中V= IviIi e [l,n]}表示各个路口结点,是集合S的特例。通常可利用一个二维邻接矩阵来存储拓扑结构图,其时间复杂度为0(n2),拓扑结构图的规模大小对最短路径计算复杂性影响非常大。建立整个路网的拓扑结构图是一件非常复杂而且耗时的事情。
[0052]发明人通过大量的实验分析发现,在求解最短路径过程中路网中的许多路径是不需要考虑的,两点之间的最短路径大部分情况下包含在以这两点为对角线的矩形区域中。如果能动态产生分析中需要的路径则可以节省运算的空间和时间。
[0053]图2给出了根据本发明一个实施例的路径规划的方法的流程示意图。该方法包括:步骤1,根据起点和终点确定待搜索的区域;步骤2,基于设定的路网密度将该区域划分为多个子区域,其中每个子区域的路网密度不大于该设定的路网密度;步骤3,经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成VOTonoi图;步骤4,基于Voronoi图确定各子区域间的邻接关系;步骤5,判断邻接的子区域之间的连通性;步骤6,从所述多个子区域中选出互相邻接且连通的子区域的集合,并基于该集合构建新的道路网络;步骤7,在所构建的新的道路网络中搜索起点与终点之间的最优路径。
[0054]更具体地,在步骤1,根据起点和终点确定待搜索的区域。在一个实施例中,所述待搜索的区域可以是以所选择的起点与终点为对角线的矩形区域。在又一个实施例中,为了避免最短路径出现在这个矩形区域之外的少数情况,可通过一个调整参数alpha,以原矩形区域为基础,上下左右各扩展alpha个单位,生成扩展的矩形,在该扩展的矩形区域内搜索最短路径。通过合理地选择alpha值构建矩形区域,缩小路径搜索的范围,能有效地降低拓扑结构的规模,提高最短路径计算速度。在又一个实施例中,也可以把该矩形扩展为正方形,所扩展的正方形的边长为该矩形的边中边长较长的边,这样做更有利于下文将要讨论的路网空间划分。
[0055]在步骤2,基于设定的路网密度对所确定的待搜索区域进行划分。其中,路网密度描述一个复杂路网空间中道路密集程度。假设C为路网拓扑图G的一个子区域,S为C的空间面积,L为C区域内道路总长度,则区域C的路网密度为L/S。如果该待搜索区域的路网密度大于所设定的路网密度,则将该待搜索的区域均分为m个子区域;如果每个子区域的实际路网密度仍然大于所设定的路网密度,则继续对该子区域进行迭代划分,直到每个子区域的路网密度都小于或等于所设定的路网密度为止。图3给出了对待搜索区域进行划分的示意图。如图3所示,假设待搜索的区域被扩展为正方形区域,将整个正方形区域代表的空间划分为22n个子区域(其中,η为大于或等于I的自然数,)。这里取η=1,即将正方形区域划分为4个子区域。如果某个子区域内实际路网密度仍大于所设定的路网密度,则对该子区域继续迭代划分(即将该子区域继续划分为4个子区域),直到每个子区域都不满足划分条件为止。经过划分后,该待搜索的区域可表示为多个子区域的集合,记为Rec= (C11C2,-(V..),其中Ci表示经划分后的第i个子区域。从图3可以看出,经划分后得到的多个二维子区域的大小并非均匀的。在完成划分后,每个子区域内的道路总长度都基本一致,子区域面积越大,说明该子区域内道路越稀疏,拥堵的可能性就越小;反之,则说明子区域内的道路密集,交点可能就多,发生拥堵的可能性就大。
[0056]步骤3,经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi图。例如,可以将每个子区域映射到该子区域的中心点上,以该中心点来代表该子区域。图4给出了根据本发明一个实施例的对经划分后的子区域进行映射的示意图。如图4所示,选取的是各子区域对应的正方形区域的中心点作为映射点,从而得到了该待搜索的区域对应的一系列离散点,完成了对该区域的降维处理。又例如,如果每个子区域对应的是矩形区域,则可以取对角线的交点作为映射点。以上取映射点的方式仅为举例说明而非进行任何限制。
[0057]步骤4,基于Voronoi图确定各子区域间的邻接关系。
[0058]图5给出了根据本发明一个实施例的基于所映射的点构造的Voronoi图及邻接关系示意图。如图5所示,将待搜索的区域划分成16个子区域,然后以每个区域的中心点作为区域映射点,对所得到的映射点的集合做VOTonoi剖分(如图5左边部分所示)。由该Voronoi图就可以得到各映射点之间的邻接关系(如图5右边部分所示),从而构建出各子区域之间的邻接关系。如图5右边部分所示,当两个点立即邻近,即这两个点之间有边直接连接时,这两个点对应的子区域之间也为邻接关系。邻接区域指两个区域有公共边。通过该VOTonoi图可查找出每个子区域的邻接区域。
[0059]步骤5,判断各邻接子区域之间的连通性。两个区域连通指的是这两个区域间有道路相连。求最短路径首先必须保证路网是连通的,所以在得到子区域间的邻接关系之后,还得判断子区域间的连通性。在一个实施例中,判断区域i与区域j之间连通性的基本过程可以是:分别获取子区域i和子区域j对应的路网中的线图元集合U1和U2,其中线图元指路网中的一个道路段,再判断两个线图元集合有无交集,即:
[0060]若U1 n U2古Φ,说明子区域i与子区域j连通;
[0061]若U1 n U2= Φ,说明子区域i与子区域j不连通;
[0062]步骤6,从所述多个子区域中选出互相邻接且连通的子区域的集合。实际上就是进一步对待搜索区域进行剪枝处理。例如若子区域i与子区域j相邻接,但是两个区域之间不连通,那么就在区域i的邻接区域中将子区域j删除,在区域j的邻接区域中将子区域i删除。这样,最终得到了由从这所述多个子区域中选出的互相邻接且连通的子区域构成的集合。在步骤7,基于经步骤6得到的该互相邻接且连通的子区域的集合中包含的各个子区域对应的路网部分可以构建出新的道路网络。然后,在所构建的新的道路网络中搜索起点与终点之间的最优路径。[0063]该方法利用Voronoi图的立即邻近性质结合空间进行划分,利用Voronoi的空间邻接关系表达各区域对象之间的拓扑关系。如果两个空间目标的VOTonoi图不邻接,那么这两个空间目标必然是分离的,因此通过VOTonoi图查找每个区域的邻接区域,在进行空间搜索时,搜索的范围被限制在与该目标具有邻近关系的目标集合中,不仅可降低路网拓扑结构的构建时间,而且可缩小路径的搜索范围、降低在路网中进行路径搜索的时间以及减少存储空间,从而可提高搜索效率。
[0064]在本发明的一个优选的实施例中,为进一步缩小搜索范围,在步骤6从所述多个子区域中选出互相邻接且连通的子区域的集合之后,选择从起点所在子区域到终点所在子区域经过最优路径子区域集合。该步骤的目的是从子区域层次上进一步选出可能包含最短路径的子区域集合,即最优路径子区域集。如上文所提到的,在将待搜索区域进行空间划分后,每个子区间内的道路总长度都基本一致,区域面积越大,说明该区域内道路越稀疏,拥堵的可能性就越小;反之,则说明区域内的道路密集,交点可能就多,发生拥堵的可能性就大。因此,搜索最优路径区域集可以遵循这样的原则:经过的区域最少,且在区域数相同的情况下,选择区域内结点数较少的那个区域。这样,可以进一步缩小在求解最优路径时的搜索范围。
[0065]在得到最优路径子区域集合之后,在步骤7,可基于所得到的最优路径子区域集合构建新的道路网络,并且在所构建的新的道路网络中搜索起点与终点之间的最优路径。实际上就是从原路网中提取该最优路径子区域集对应的网络,在该网路上,可以利用现有的求最短路径的方法(例如,经典Dijkstra算法)进行路径规划,计算出起点到终点之间的最优路径。
[0066]图6中的矩形框表示直接使用Dijkstra算法的搜索范围。而图7给出了根据上文所讨论的路径规划方法(也可以称为基于Voronoi图的层次邻近搜索算法)的搜索范围的示例,该搜索范围为图7中在大的矩形框中间部分由各个小方形区域组成的集合。可见,本发明实施例中提供的方法可以显著地减小搜索范围。而且,基于该缩小的搜索范围构建路网拓扑结构,可以明显降低构建路网拓扑结构的时间和路径搜索的时间,所以本发明的时间复杂度远小于传统的算法。此外,在本发明的实施例中,利用Voronoi结构的空间邻接关系,可以只存储每个结点的邻近结点的信息,过滤了许多在生成最短路径过程中不需要考虑的信息,使得存储空间减小了很多。
[0067]在本发明的又一个实施例中,还提供了一种用于城市道路交通网络中路径规划的系统,所述系统包括:用于根据起点和终点确定待搜索的区域的装置;用于基于给定的路网密度将该区域划分为多个子区域的装置,其中每个子区域的路网密度不大于该给定的路网密度;用于经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi图的装置;用于基于Voronoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性的装置;用于从所述多个子区域中选出互相邻接且连通的子区域的装置;以及用于所选出的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径的装置。
[0068]虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
【权利要求】
1.一种路径规划的方法,所述方法包括: 步骤1,根据起点和终点确定待搜索的区域; 步骤2,基于给定的路网密度将该区域划分为多个子区域,其中每个子区域的路网密度不大于该给定的路网密度; 步骤3,经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi 图; 步骤4,基于VOTonoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性; 步骤5,从所述多个子区域中选出互相邻接且连通的子区域; 步骤6,所选出的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径。
2.根据权利要求1所述的方法,在所述步骤I中,待搜索的区域是以起点和终点为对角线的矩形区域。
3.根据权利要求1所述的方法,在所述步骤I中,待搜索的区域是以起点和终点为对角线的矩形为基础,上下左右各扩展相同的长度得到的矩形区域。
4.根据权利要求1所述的方法,在所述步骤I中,待搜索的区域是以起点和终点为对角线的矩形为基础而扩展 的正方形区域,该正方形区域的边长为该矩形的边中较长的边的边长。
5.根据权利要求2所述的方法,在所述步骤2中,任一区域的路网密度为该区域内道路总长度与该区域的空间面积的比值。
6.根据权利要求4所述的方法,所述步骤2包括: 如果该待搜索区域的路网密度大于所设定的路网密度,则将该待搜索的区域均分为22n个子区域,其中η为大于或等于I的自然数; 如果某个子区域内路网密度仍大于所设定的路网密度,则将该子区域划分为2211个子区域;重复上述过程,直到每个子区域的路网密度都小于或等于所设定的路网密度为止。
7.根据权利要求1所述的方法,所述步骤3中将每个子区域映射到该子区域的中心点上,以该中心点来代表该子区域。
8.根据权利要求1所述的方法,所述步骤4包括: 步骤41)判断Voronoi图中任两个点之间,是否直接有边相连接,如果两个点有边直接相连,则确定这两个点对应的子区域之间存在邻接关系; 步骤42)对于任意两个存在邻接关系的子区域,判断这两个子区域对应的路网部分是否有道路相连,如果有,则确定这两个子区域是连通的。
9.根据权利要求1所述的方法,所述步骤5还包括从所选出的互相邻接且连通的子区域的集合中选择从起点所在子区域到终点所在子区域经过最优路径子区域集合,该最优路径子区域集合为最有可能包含最优路径的子区域集合。
10.根据权利要求9所述的方法,在选择最优路径子区域集合时遵循这样的原则:经过的区域最少,且在区域数相同的情况下,选择区域内结点数较少的那个区域。
11.根据权利要求9所述的方法,所述步骤6中基于最优路径子区域集合构建新的道路网络,并且在所构建的新的道路网络中搜索起点与终点之间的最优路径。
12.一种路径规划的系统,所述系统包括: 用于根据起点和终点确定待搜索的区域的装置; 用于基于给定的路网密度将该区域划分为多个子区域的装置,其中每个子区域的路网密度不大于该给定的路网密度; 用于经划分后得到的多个子区域映射成一维的离散点,并基于所述离散点形成Voronoi图的装置; 用于基于VOTonoi图确定各子区域间的邻接关系并判断邻接的子区域之间的连通性的装置; 用于从所述多个子区域中选出互相邻接且连通的子区域的装置; 用于所选出的子区域的集合构建新的道路网络,并在所构建的新的道路网络中搜索起点与终点之间的最优路径的装置。
【文档编号】G01C21/34GK103837154SQ201410095411
【公开日】2014年6月4日 申请日期:2014年3月14日 优先权日:2014年3月14日
【发明者】蔡强, 程白羽, 毛典辉, 刘亚奇, 李楠 申请人:北京工商大学