一种提供道路导航路径的装置的制作方法

文档序号:6099208阅读:157来源:国知局
专利名称:一种提供道路导航路径的装置的制作方法
技术领域
本发明涉及一种给车辆传送导航指示的道路交通控制设备。
背景技术
目前报导的为车辆提供道路导航路径的导航中心装置,配置有以计算机为核心的主控制器、用于接收车载终端提供的车辆当前位置及目的地信息并将导航路径数据向车载终端发送的收发器、存有电子地图的数据存储器、搜索器。其收发器将接收车载终端提供的车辆当前位置及目的地信息转交主控制器,在主控制器控制下搜索器提取数据存储器的电子地图数据按车辆当前位置及目的地计算出道路节点序列形式的导航路径数据后提交主控制器;在主控制器控制下收发器将主控制器取得的导航路径数据向车载终端发送。车辆的车载终端收到导航路径数据后结合本车辆的定位装置随时测量的车辆位置数据,指示驾驶员按导航路径驾驶车辆驶向目的地。由于目前的电子地图中采用简单的路中线模型,将各条道路简化为位于路面中间的一条条折线段,道路间发生交汇的一个交叉道口记录为交通网络抽象图的一个顶点,各条道路被两个相邻顶点分隔开的一条折线段记录为交通网络抽象图中的一个弧。道路上弯曲但未和其他道路发生交汇的点不视作顶点。请看图1道路中一个十字交叉道口处被抽象为一个顶点和连接该顶点的四个道路弧,电子地图中该十字交叉道口处被记录为顶点O和连结顶点O相邻的四个顶点A、B、C、D的四个道路弧OA、OB、OC、OD。电子地图中一个顶点记录数据中包含该位置的经度和纬度及该顶点所连接的道路弧个数与各个道路弧记录的索引;一个道路弧记录数据中包含该道路弧的起点顶点编号和终点顶点编号及该道路弧的长度。请看图2所示的交通网络抽象图,顶点V1、V2、……V9等均是交通网络抽象图中的顶点;而道路V1->V2、V1->V3、……V8->V9等均是交通网络抽象图中的道路弧。而该交通网络的电子地图实质上是各顶点V1、V2、……V9的顶点记录数据,和各道路弧V1->V2、V1->V3、……V8->V9的记录数据。搜索器采用标准的狄杰斯特拉(DijkStra)算法从路中线模型的电子地图中提取顶点数据和道路弧数据,以最短路径长度的原则计算出道路顶点序列形式的导航路径数据。对照图2,计算交通网络中从起点V1至终点V9的最短路径,实际上即是寻求一个顶点序列(假设为V1->V2->V4->V7->V9)使得经过的道路弧(假设为V1->V2、V2->V4、V4->V7、V7->V9)长度之和最小。为简单起见,道路弧长度即抽象前道路的实际长度。DijkStra算法实质上是基于图增长理论,在起点固定的情况下,依次决定出当前路径必定是其最短路径的顶点,直到具有最短路径的顶点与终点吻合方可终止。DijkStra算法求出最短路径时,总保存了以最短路径到达当前顶点前的上一个顶点—前点,所以只要从终点向起点回溯即可得到最短路径的具体组成。目前采用简单的路中线模型的电子地图和采用DijkStra算法的搜索器,在道路交叉道口处设有禁止转向限制时,不能得到正确的最短路径,请看图3,已知从顶点S到顶点E之间的最短路径在不存在任何限制的条件下为顶点S->顶点P->顶点A->顶点O->顶点D->顶点Q->顶点E。若从顶点A到达顶点O时不能转向顶点D(现实生活中经常发生此类交通管制的情况)。直觉上此时应按照顶点S->顶点P->顶点A->顶点O->顶点C->顶点Q->顶点E到达顶点E,但实际上路径顶点S->顶点P->顶点B->顶点O->顶点D->顶点Q->顶点E可能在长度上更符合要求。如果在上述转向限制条件下顶点S->顶点P->顶点B->顶点O->顶点D->顶点Q->顶点E路径长度小于顶点S->顶点P->顶点A->顶点O->顶点C->顶点Q->顶点E路径长度,此时DijkStra算法将失败。因为按照上述DijkStra算法的生成过程顶点S->顶点P->顶点A->顶点O必定是从起点顶点S到终点顶点O的最短路径,亦即在计算过程中顶点O的前点必定是顶点A,这样在计算完毕进行路径回溯时,必定无法得到更符合实际的最短路径顶点S->顶点P->顶点B->顶点O->顶点D->顶点Q->顶点E。由于现有报导的为车辆提供道路导航路径的导航中心装置不能处理有禁止转向限制的道路最短导航路径搜索问题,因此,不能满足现实生活中经常发生道路交叉道口处设有禁止转向限制的交通管制情况下为车辆提供道路最短导航路径需要。

发明内容
本发明旨在提供一种可在道路交叉道口处设有禁止转向限制的交通管制情况下为车辆提供道路最短导航路径的装置。
本发明的技术方案方法是一种提供道路导航路径的装置,包括主控制器、收发器、数据存储器、搜索器;数据存储器存有电子地图;收发器在主控制器控制下接收车载终端提供的车辆当前位置及目的地信息转交主控制器、将主控制器取得的导航路径数据向车载终端发送;搜索器在主控制器控制下提取数据存储器的电子地图数据按车辆当前位置及目的地计算出道路顶点序列形式的导航路径数据提交主控制器;其特征在于所述数据存储器的电子地图中包含对每一个交叉道口处各道路端口进入该道口的入顶点记录及各道路端口入顶点对应的带有转向限制特征的道路弧记录;它还包括输入模块和地图修编器;地图修编器在主控制器的控制下,接收输入模块提供的交叉道口的各道路端口的转向限制信息修改编辑数据存储器中电子地图该交叉道口对应入顶点的道路弧记录;搜索器利用各道路端口入顶点对应的道路弧记录的转向限制特征,使用DijkStra算法求出在具有交叉道口转向限制条件下的最短导航路径数据。
为便于地图修编器修改编辑电子地图一个交叉道口数据时人机对话所述数据存储器的电子地图中有地图编辑格式数据和路径搜索计算格式数据;地图编辑格式数据有各条道路的道路记录和各个道口的道口记录,每条道路的道路记录包含道路名称、道路编号、道路中道口的个数、道路中各道口的编号;每个道口的道口记录包含道口名称、道口编号、道口中入顶点的个数、道口中各入顶点的编号;路径搜索计算格式数据有各入顶点的记录和各道路弧的记录;每个入顶点的记录包含入顶点编号、经度、纬度、以它为起始点的道路弧个数、以它为起始点的各道路弧的编号;每个道路弧的记录包含道路弧编号、起始顶点编号、终止顶点编号、可通行标识、道路弧长度;地图修编器修改编辑电子地图一个交叉道口数据的过程包括A.经主控制器从输入模块获得道口名称,或者该道口所在的两条道路的名称,从电子地图取出地图编辑格式数据中的该道口记录;B.经主控制器控制输入模块提示该道口各个入顶点的编号并从输入模块提取需要修改编辑的入顶点的编号及车辆行驶转向限制条件;C.用地图编辑格式数据该道口的那个入顶点的编号找出路径搜索计算格式数据中该道口的那个入顶点为起始点的道路弧记录,按车辆行驶转向限制条件选择对应的道路弧记录并将与车辆行驶转向限制条件对应的可通行标识状态写入电子地图路径搜索计算格式数据的该道路弧记录中。
推荐的搜索器搜索具有交叉道口转向限制条件下最短导航路径的处理过程包括步骤S1记录出发顶点的编号和目的地道口顶点的编号,提取电子地图路径搜索计算格式数据中的所有入顶点记录和道路弧记录,建立一个顶点状态表和一个道路弧状态表;电子地图中,每一个入顶点作为顶点状态表中的一栏,该栏中的数据项有本顶点的编号、前点编号、起始顶点到本顶点的当前路径长度、是否计算出最短路径的状态,其中的前点为最短路径中本顶点前的那个顶点;电子地图中,每一个道路弧作为道路弧状态表中的一栏,该栏中的数据项有本道路弧的起始顶点编号、本道路弧终止顶点编号、本道路弧的长度、本道路弧在计算中被访问的状态;步骤S2初始化顶点状态表中所有顶点的前点编号为无效值、当前路径长度为正无穷且状态为未计算出最短路径;初始化道路弧状态表所有道路弧的状态为未访问;步骤S3初始化顶点状态表中出发顶点的前点为出发顶点自身,当前路径长度为0;步骤S4取出顶点状态表中尚未计算出最短路径且当前路径长度最小的顶点,若本步骤失败,则搜索失败退出搜索计算;若取出的顶点为目的地顶点,则是搜索成功转步骤S12;步骤S5在顶点状态表中标记步骤4取出的顶点的状态为已求出最短路径;步骤S6在道路弧状态表中查找一条以取出的顶点为起始点且未被访问过的道路弧,若找不到则返回步骤S4处理顶点状态表中其它顶点;步骤S7在道路弧状态表中标记该道路弧的状态为已访问;步骤S8检查该道路弧的可通行标识数据项是否为可通行,若不可通行,则放弃对该道路弧的进一步搜索处理,直接转步骤S6对其它道路弧进行处理;步骤S9检查顶点状态表中该道路弧指向的终止顶点,若其状态为已求出最短路径,直接转步骤S6对其它道路弧进行搜索处理;步骤S10检查顶点状态表中该道路弧的起始顶点是否可作为它指向的终止顶点的前点,不可作为前点则直接转步骤S6对其它道路弧进行搜索处理;步骤S11改写顶点状态表中该道路弧指向的终止顶点的前点编号为该道路弧的起始顶点编号、该道路弧指向的终止顶点的当前路径长度为该道路弧的起始顶点的当前路径长度加该道路弧的长度,并转入S6对其它道路弧进行搜索处理;步骤S12按顶点状态表从目的地顶点向起始顶点回溯前点,再做反序排列得到最短路径上各个顶点的具体组成。
特别是针对不同类型道路弧应区别对待的情形所述的道路弧记录中包含本道路弧的道路等级;搜索器在搜索具有交叉道口转向限制条件下最短导航路径的处理过程的步骤S11中,用该道路弧的道路等级调整加权系数计算该道路弧的加权长度,按该道路弧的加权长度替代该道路弧的长度改写顶点状态表中该道路弧指向的终止顶点的当前路径长度。
本发明的提供道路导航路径的装置,使用双线道路模型用多顶点的方式处理数据存储器的电子地图中对每一个道路交叉道口的数据,在各道口的端口入顶点向其它端口驶出的道路弧引入转向的限制特征记载在对应的道路弧记录中,同时也解决了城市交通中单行线道路与一般双向行驶道路的区分问题,搜索器在搜索处理过程中利用各道路弧记录的转向限制特征信息使用DijkStra算法求出最短路径。解决了目前采用简单的路中线模型的电子地图和采用DijkStra算法的搜索器,在道路交叉道口处设有禁止转向限制时,不能得到正确的最短路径的问题。本发明在现有技术为车辆提供道路导航路径的导航中心装置的基础上增加地图修编器和输入模块,解决了现实生活中经常发生道路交叉道口处设置于禁止转向限制的交通管制情况下必须及时修改编辑电子地图的问题;从而本发明的提供道路导航路径的装置能适应道路的交通管制动态变化,为车辆提供正确的最短道路导航路径数据,指引驾驶员按该导航路径驾驶车辆驶向目的地。在数据存储器的电子地图中设置地图编辑格式数据和路径搜索计算格式数据,其中地图编辑格式的数据结构是按人们识别地理位置的习惯又兼顾计算机处理电子地图数据记录的特点设计的;便于地图修编器修改编辑电子地图交叉道口数据时人机对话。路径搜索计算格式的数据结构是按计算机处理电子地图数据记录的特点设计的;便于搜索器进行搜索操作。地图修编器修改编辑电子地图交叉道口数据的过程简单扼要,又安排输入模块作出明确的提示,操作人员可以迅速地将道路的交通管制动态变化输入到电子地图中,从而本装置提供导航路径数据的效率高,数据有效性高。搜索器利用一个顶点状态表和一个道路弧状态表并结合道路弧的可通行标识数据项将成熟的DijkStra算法成功地用于搜索具有交叉道口转向限制条件下最短导航路径,处理过程可靠性强。特别是道路弧记录中包含本道路弧的道路等级;搜索器在搜索处理过程中,用该道路弧的道路等级调整加权系数计算该道路弧的加权长度,按该道路弧的加权长度替代该道路弧的长度改写顶点状态表中该道路弧指向的终止顶点的当前路径长度,使不同类型道路弧得到区别对待,可以处理大路优先、红绿灯少优先、人流量小优先等道路选择的情形,导航路径选择灵活性好,能适合驾驶员的习惯。


图1为现有技术电子地图中采用的路中线模型的示意图。
图2为现有技术电子地图中采用的交通网络抽象图。
图3为现有技术处理一个起点S到终点E的最短路径的示意图。
图4为本发明提供道路导航路径的装置一个实施例的结构示意图。
图5为本发明提供道路导航路径的装置的电子地图中采用的双线模型的示意图。
图6为本发明提供道路导航路径的装置的电子地图中一个交叉道口的数据关系的示意图。
图7为本发明提供道路导航路径的装置的电子地图中表达图2中交通网络的抽象图。
图8为图4实施例的搜索器计算最短路径的准备工作流程图。
图9为图4实施例的搜索器计算最短路径的工作流程图。
图10为一个起点顶点1到终点顶点5的路径示意图。
图11为图4实施例的搜索器计算图10最短路径的顶点状态表1。
图12为图4实施例的搜索器计算图10最短路径的顶点状态表2。
图13为图4实施例的搜索器计算图10最短路径的顶点状态表3。
图14为图4实施例的搜索器计算图10最短路径的顶点状态表4。
图15为图4实施例的搜索器计算图10最短路径的顶点状态表5。
图16为图4实施例的搜索器计算图10最短路径的顶点状态表6。
图17为图4实施例的搜索器计算图10最短路径的顶点状态表7。
图18为图4实施例的搜索器计算图10最短路径的顶点状态表8。
具体实施例方式
一、实施例一本发明提供道路导航路径的装置一个实施例的结构,如图3所示,它由主控制器10、收发器20、存有电子地图的数据存储器30、搜索器40、地图修编器50和输入模块60组成。主控制器10控制收发器20、存有电子地图的数据存储器30、搜索器40、地图修编器50并接受输入模块提供的修改电子地图的数据。
收发器20采用公用的GPRS网络或CDMA网络移动收发器,接收车载终端提供的车辆当前位置及目的地信息转交主控制器10,或将主控制器10取得的导航路径数据向车载终端发送。
数据存储器30存储的电子地图中采用双线道路模型的抽象方式如图5所示,使用道路的两条驶向侧线来更真实地反应道路交通关系。由图5可见,一条双线道路在每一个交叉道口处各道路端口将生成两个顶点,按照进入和离开交叉道口的方向,这些路口顶点又可分为进入该交叉道口(以下简称道口)的入顶点(图5中的实心黑点,以下简称顶点)和离开该道口的虚拟出顶点(图5中的空心点)。从交叉道口处一个道路端口的入顶点,分别向其它道路端口的虚拟出顶点各引一条虚拟的转向道路弧连接该道路端口虚拟出顶点为起始点的道路弧,最终形成以入顶点为其起始点而以虚拟出顶点所在道路弧的终止点为其终止点的带转向关系的道路弧。来描述路口处各条道路交叉道口处的转向关系。例如图6所示,道路W和道路V交叉,形成交叉道口WV。从交叉道口WV处一个道路W端口的入顶点D1,向右侧的道路V端口的虚拟出顶点D2引一条虚拟的转向道路弧D1-D2连接该道路V端口虚拟出顶点D2为起始点的道路弧D2-D3,形成一条带转向关系的道路弧D1-D3;向前方的道路W端口的虚拟出顶点D4引一条虚拟的转向道路弧D1-D4连接该道路W端口虚拟出顶点D4为起始点的道路弧D4-D5,形成一条带转向关系的道路弧D1-D5;向左侧的道路V端口的虚拟出顶点D6引一条虚拟的转向道路弧D1-D6连接该道路V端口虚拟出顶点D6为起始点的道路弧D6-D7,形成一条带转向关系的道路弧D1-D7;带转向关系的道路弧D1-D3、带转向关系的道路弧D1-D5和带转向关系的道路弧D1-D7表达了交叉道口WV处一个道路W端口的入顶点D1的转向关系。同样的道理,可以将交叉道口WV处另外三个道路端口的入顶点的转向关系各用三条带转向关系的道路弧表达。由于带转向关系的道路弧隐藏了虚拟出顶点和虚拟的转向道路弧,以下的说明中将入顶点简称顶点。电子地图中交通网络的抽象图如图7所示。
数据存储器30存储的电子地图中对于道路、交叉道口(以下简称道口)、顶点、道路弧等各类地图元素的记录形式有适用于编辑作业的地图编辑格式,和适用于搜索作业的路径搜索计算格式。电子地图中对各类地图元素分别进行唯一性编号,并在不同的地图元素中建立编号的拓扑关系。
采用地图编辑格式的地图元素数据有各条道路的道路记录和各个道口的道口记录。每条道路的道路记录包含的数据项有道路名称、道路编号、道路中道口的个数、起始道口编号、终点道口编号、中间各道口编号;每个道口的道口记录包含的数据项有道口名称、道口编号、道口中顶点的个数、起始顶点编号、终点顶点编号、中间各顶点的编号。地图编辑格式数据中道路元素与道口元素间的拓扑关系体现在各条道路的道路记录中各个道口的编号。两条道路如果相交,必然有同一个道口的编号出现在这两条道路的道路记录中。
采用路径搜索计算格式的地图元素数据有各顶点的记录和各道路弧的记录。每个顶点的记录包含的数据项有顶点编号、经度、纬度、所连接的道路弧个数、所连接的各道路弧的编号。每个道路弧的记录包含的数据项有道路弧编号、起始顶点编号、终止顶点编号、可通行标识、道路弧长度、道路弧其他细节数据、道路弧的道路等级。其中,可通行标识用于表示与该道路弧相连的虚拟转向弧是否可通行,即转向是否受到禁止;道路弧的道路等级可以用于计算时调整对道路弧长度的加权系数。
地图编辑格式数据中的道口元素与路径搜索计算格式数据中的顶点元素和道路弧元素间的拓扑关系是由地图编辑格式数据中各个道口的道口记录中各个顶点编号体现的,由一个道口记录可以准确地找出该道口的各个顶点编号;在路径搜索计算格式数据中按这些顶点编号可以准确地找出各个顶点所连接的道路弧。而各个顶点元素间的拓扑关系则是由道路弧记录中的起始顶点编号和终止顶点编号这两个字段记录的。
在得到交通管理部门对某道口进行交通管制或解除交通管制的通知后。操作员使用输入模块60向主控制器10输入命令,主控制器10启动地图修编器50进入工作状态。地图修编器50经主控制器10从输入模块60获得与欲修改车辆行驶转向限制有关的道口名称或者该道口所在的两条道路的名称,地图修编器50从数据存储器30中的电子地图取出地图编辑格式数据中的该道口记录中各个顶点编号,并经主控制器10控制输入模块60的显示器显示该道口的图形并提示各个顶点的编号。操作员使用输入模块60经主控制器10向地图修编器50提供需要编辑的顶点的编号及上述通知中禁止或解除禁止的车辆行驶转向;地图修编器50从数据存储器30中的电子地图地图编辑格式数据该道口的那个顶点编号推导出路径搜索计算格式数据的那个顶点后,取出路径搜索计算格式数据中该道口的那个顶点为起始顶点的各道路弧记录,按禁止或解除禁止的车辆行驶转向选择对应的道路弧记录并将相应的可通行标识状态写入数据存储器30的电子地图该道路弧记录中。
主控制器10从收发器20收到车载终端提供的车辆当前位置及目的地信息后,利用数据存储器30中的电子地图将车辆当前位置及目的地信息转换为起始顶点和目的地顶点,主控制器10控制搜索器40使用DijkStra算法求出最短路径的过程里,搜索器40先记录出发顶点的编号和目的地顶点的编号,然后提取数据存储器30的电子地图路径搜索计算格式数据中的所有顶点记录和道路弧记录,之后搜索器40如图8所示,开始搜索最短路径的准备工作。
步骤101建立一个顶点状态表。电子地图中的每一个顶点作为该表中的一栏,每栏中的数据项有本顶点的编号;最短路径中本顶点的前点编号;出发顶点到本顶点的当前路径长度;是否确定为最短路径的状态。
并建立一个道路弧状态表。电子地图中的每一个道路弧作为该表中的一栏,每栏中的数据项有本道路弧的起始顶点编号;本道路弧的终止顶点编号;本道路弧的长度;本道路弧在计算中被访问过的状态。
步骤102初始化顶点状态表中所有顶点的前点为无效值且当前路径长度为正无穷,状态为未计算出最短路径;正无穷表示尚未计算出从出发顶点到达各个顶点的任何路径。初始化道路弧状态表中的所有道路弧的状态为未访问。
其次需要对顶点状态表中的出发顶点做专门的初始化工作步骤103初始化顶点状态表中出发顶点的前点为出发顶点自身,当前路径长度为0;然后开始搜索计算的循环过程步骤104检查顶点状态表中所有状态为未计算出最短路径、但当前路径长度非正无穷的顶点,取出其中路径长度最小的顶点。根据DijkStra算法该顶点的当前路径即该顶点的最短路径,该最短路径由顶点的前点决定。若查找失败,转步骤105;若查找成功,转步骤106。
步骤105表示无法求出从出发顶点到目的地顶点的最短路径,则搜索失败退出计算。
步骤106判断步骤4查找得到的顶点是否为目的地顶点,是则表示从出发顶点到目的地顶点的最短路径已求出,搜索成功退出计算;否则继续搜索。
步骤107在顶点状态表中标记步骤4查找得到的顶点(假设编号为r)的状态为已求出最短路径。
步骤108在道路弧状态表中查找一条以编号为r的顶点为起始顶点且状态为未被访问的道路弧。
步骤109若步骤108查找不成功,说明与编号为r的顶点相连的各个道路弧都已搜索处理完毕,则转步骤4重新进入循环搜索处理其它的顶点。
步骤110若步骤108查找成功,得到一个道路弧(假设编号为arc),在道路弧状态表标记编号为arc道路弧的状态为已访问。
步骤111检查编号为arc道路弧的可通行标识数据项是否为可通行,若不可通行,则放弃对编号为arc道路弧的进一步搜索处理,直接转步骤109对其它道路弧进行搜索处理。本步骤是DijkStra原型算法中不存在的,是解决转向禁止条件下获取真实的最短路径的关键。
步骤112检查顶点状态表中编号为arc道路弧指向的终止顶点的状态,若其状态为已求出最短路径,直接转步骤109对其它道路弧进行处理。
步骤113编号为arc道路弧指向的终止顶点的状态为未求出最短路径,检查顶点状态表中编号为arc道路弧的起始顶点是否可作为它指向的终止顶点的前点编号为arc道路弧的起始顶点不可作为它指向的终止顶点的前点,应满足下列条件(1)编号为arc道路弧指向的终止顶点已有一条当前最短路径,即前点有效,当前路径长度有效;(2)编号为arc道路弧指向的终止顶点的当前路径长度小于以编号为r的顶点为前点时的路径长度;即编号为arc道路弧不在其指向的终止顶点的最短路径上。满足上述条件时,直接转入步骤109对其它道路弧进行处理。
步骤114编号为arc道路弧在其指向的终止顶点的最短路径上,编号为arc道路弧的起始顶点即编号为r的顶点应作为它指向的终止顶点的前点。更改顶点状态表中编号为arc道路弧指向的终止顶点的前点为编号为r的顶点,更改编号为arc道路弧指向的终止顶点的当前路径长度为以当前编号为r的顶点为前点时的路径长度,这个路径长度指编号为r顶点的路径长度与编号为arc道路弧长度之和;注意当进行诸如大路优先一类计算时,应依据编号为arc道路弧的道路等级对编号为arc道路弧长度进行加权,即用编号为arc道路弧的道路等级调整加权系数计算编号为arc道路弧的加权长度,按编号为arc道路弧的加权长度替代编号为arc道路弧的长度改写顶点状态表中编号为arc道路弧指向的终止顶点的当前路径长度。低等级道路加权系数均大于1,用加权系数与道路弧长度相乘得到该道路弧的加权长度,变相地将低等级道路的路径长度加长,从而在概率意义上降低将此类道路选择为最短路径的可能。最后转入步骤109重新循环对其它道路弧进行处理。
搜索器40搜索成功退出计算后,顶点状态表中保存了到达目的地顶点的最短路径上各个顶点的前点。搜索器40需要按顶点状态表从目的地顶点向出发顶点回溯前点,再做反序排列得到最短路径上各个顶点的具体组成。
搜索器40完成上述工作后,将得到的最短路径上各个顶点的具体组成数据构成道路顶点序列形式的最短导航路径数据提交给主控制器10。最后主控制器10根据搜索器40提交的最短路径顶点编号,容易从电子地图中获取到各顶点对应的位置经纬度值,及发生转向的虚拟转向弧上转向信息,按照车载设备中道路路径提示模块的要求将数据封装成一定的格式采取序列化的方式转存到收发器20中,由收发器20以无线通信的方式传递给要求导航信息的车载设备。
为了进一步说明搜索器40在搜索处理过程中如何利用各道路顶点的转向限制特征信息进行搜索操作,请看图10所示的搜索从出发顶点1到目的地顶点5最短路径的实例。
图10中,每个小圆圈表示一个顶点,小圆圈中的数字表示该顶点的编号;每个带箭头的线段表示一个道路弧,若一个线段用虚线画出表示该道路弧不可通行,每个线段上数值表示该道路弧长度。
搜索器40在完成步骤103以后,顶点状态表的具体内容如图11所示。为节省篇幅,不单独给出道路弧状态表的具体内容,请在阅读以下说明的过程中每当一个道路弧被访问之后,自行从图10中将该道路弧作个标记,以替代道路弧状态表。执行步骤104,找出存在路径(有前点、路径长度有效),但状态为未求出最短路径的顶点中路径长度最小的顶点,此时显然为顶点1,此时顶点1的最短路径可认为已计算出,执行步骤6在顶点状态表中标明顶点1的状态为已求出最短路径。两次执行步骤109到步骤114的循环,分析顶点1连接的道路弧,找到从顶点1可到达的顶点2和顶点6。由于当前顶点2和顶点6尚无路径存在,因此都能以顶点1为前点生成路径,然后顶点状态表的内容转变为图12所示。
返回步骤104,此次可以找到顶点6,标记其状态为已求出最短路径。两次执行步骤109到步骤114的循环,分析顶点6连接的道路弧,找到从顶点6可到达的顶点3和顶点7,顶点3和顶点7目前均无路径,因此都能以顶点6为前点分别生成路径,然后顶点状态表的内容转变为图13所示。
继续返回步骤104,此次可以找到顶点2,标记其状态为已求出最短路径。执行步骤109,分析顶点2连接的道路弧,找到从顶点2可到达的顶点9,由于顶点2至顶点9的道路弧不可通行,因此不能以顶点2为前点生成顶点9的一条路径,于步骤111返回步骤109。分析顶点2至顶点3的道路弧,以顶点2为前点可生成顶点3的一条路径(该路径长度为顶点2的当前路径长度加上顶点2->顶点3的道路弧长度,为10),该路径长度小于以顶点6为前点的路径长度,因此必须更新顶点3目前的路径,将顶点状态表中顶点3的前点编号改为2、当前路径长度改为10。然后顶点状态表的内容转变为图14所示。
继续返回步骤104,此次可以找到顶点7,标记其状态为已求出最短路径。两次执行步骤109到步骤114的循环,分析顶点7连接的道路弧,找到从顶点7可到达的顶点4和顶点8,顶点4和顶点8目前均无路径,因此能以7为前点分别生成路径。然后顶点状态表的内容转变为图15所示。
返回步骤104,此次可以找到顶点3,标记其状态为已求出最短路径。执行步骤109,分析顶点3连接的道路弧,找到从顶点3可到达的顶点4,顶点4当前存在以顶点7为前点的路径(长度为20),而以顶点3为前点的路径长度为10+6=16,更短,故步骤114需要将顶点状态表中顶点4的前点编号改为3、当前路径长度改为16。然后顶点状态表的内容转变为图16所示。
执行步骤104,此次可以找到顶点8,标记其状态为已求出最短路径。执行步骤109,分析顶点8连接的道路弧,找到从顶点8可到达的顶点5,顶点5目前均无路径,可以以顶点8为起点生成一条路径,步骤114后顶点状态表的内容转变为图17所示。
继续返回步骤104,此次可以找到顶点4,标记其状态为已求出最短路径。执行步骤109,分析顶点4连接的道路弧,找到从顶点4可到达的顶点5,顶点5当前存在以顶点8为前点的路径(长度为24),而以顶点4为前点的路径长度为16+2=18,更短,故步骤114需要将顶点5的前点编号更新为4,当前路径长度更新为18,然后顶点状态表的内容转变为图18所示。
返回步骤104,此次可以找到顶点5,由于顶点5即为目的地顶点,因此步骤6判定从顶点1到顶点5的最短路径搜索计算完成,转到步骤107退出搜索计算。
搜索器40利用图18所示顶点状态表的内容从顶点5开始回溯前点,可得顶点5->顶点4->顶点3->顶点2->顶点1,反序即可得到所求最短路径顶点1->顶点2->顶点3->顶点4->顶点5提交给主控制器1。
回顾图10,我们可以直观地看出,若顶点2->顶点9可以通行的话,最短路径应该为顶点1->顶点2->顶点9->顶点4->顶点5,路径长度为17。本例中顶点2->顶点9不可以通行,搜索器40得到的最短路径完全符合图10的情况。
以上所述,仅为本发明较佳实施例,不以此限定本发明实施的范围,依本发明的技术方案及说明书内容所作的等效变化与修饰,皆应属于本发明涵盖的范围。
权利要求
1.一种提供道路导航路径的装置,包括主控制器、收发器、数据存储器、搜索器;数据存储器存有电子地图;收发器在主控制器控制下接收车载终端提供的车辆当前位置及目的地信息转交主控制器、将主控制器取得的导航路径数据向车载终端发送;搜索器在主控制器控制下提取数据存储器的电子地图数据按车辆当前位置及目的地计算出道路顶点序列形式的导航路径数据提交主控制器;其特征在于所述数据存储器的电子地图中包含对每一个交叉道口处各道路端口进入该道口的入顶点记录及各道路端口入顶点对应的带有转向限制特征的道路弧记录;它还包括输入模块和地图修编器;地图修编器在主控制器的控制下,接收输入模块提供的交叉道口的各道路端口的转向限制信息修改编辑数据存储器中电子地图该交叉道口对应入顶点的道路弧记录;搜索器利用各道路端口入顶点对应的道路弧记录的转向限制特征,使用DijkStra算法求出在具有交叉道口转向限制条件下的最短导航路径数据。
2.根据权利要求1所述的一种提供道路导航路径的装置,其特征在于所述数据存储器的电子地图中有地图编辑格式数据和路径搜索计算格式数据;地图编辑格式数据有各条道路的道路记录和各个道口的道口记录,每条道路的道路记录包含道路名称、道路编号、道路中道口的个数、道路中各道口的编号;每个道口的道口记录包含道口名称、道口编号、道口中入顶点的个数、道口中各入顶点的编号;路径搜索计算格式数据有各入顶点的记录和各道路弧的记录;每个入顶点的记录包含入顶点编号、经度、纬度、以它为起始点的道路弧个数、以它为起始点的各道路弧的编号;每个道路弧的记录包含道路弧编号、起始顶点编号、终止顶点编号、可通行标识、道路弧长度;地图修编器修改编辑电子地图一个交叉道口数据的过程包括A.经主控制器从输入模块获得道口名称,或者该道口所在的两条道路的名称,从电子地图取出地图编辑格式数据中的该道口记录;B.经主控制器控制输入模块提示该道口各个入顶点的编号并从输入模块提取需要修改编辑的入顶点的编号及车辆行驶转向限制条件;C.用地图编辑格式数据该道口的那个入顶点的编号找出路径搜索计算格式数据中该道口的那个入顶点为起始点的道路弧记录,按车辆行驶转向限制条件选择对应的道路弧记录并将与车辆行驶转向限制条件对应的可通行标识状态写入电子地图路径搜索计算格式数据的该道路弧记录中。
3.根据权利要求2所述的一种提供道路导航路径的装置,其特征在于所述的搜索器搜索具有交叉道口转向限制条件下最短导航路径的处理过程包括步骤S1记录出发顶点的编号和目的地道口顶点的编号,提取电子地图路径搜索计算格式数据中的所有入顶点记录和道路弧记录,建立一个顶点状态表和一个道路弧状态表;电子地图中,每一个入顶点作为顶点状态表中的一栏,该栏中的数据项有本顶点的编号、前点编号、起始顶点到本顶点的当前路径长度、是否计算出最短路径的状态,其中的前点为最短路径中本顶点前的那个顶点;电子地图中,每一个道路弧作为道路弧状态表中的一栏,该栏中的数据项有本道路弧的起始顶点编号、本道路弧终止顶点编号、本道路弧的长度、本道路弧在计算中被访问的状态;步骤S2初始化顶点状态表中所有顶点的前点编号为无效值、当前路径长度为正无穷且状态为未计算出最短路径;初始化道路弧状态表所有道路弧的为未访问;步骤S3初始化顶点状态表中出发顶点的前点为出发顶点自身,当前路径长度为0;步骤S4取出顶点状态表中尚未计算出最短路径且当前路径长度最小的顶点,若本步骤失败,则搜索失败退出搜索计算;若取出的顶点为目的地顶点,则是搜索成功转步骤S12;步骤S5在顶点状态表中标记步骤4取出的顶点的状态为已求出最短路径;步骤S6在道路弧状态表中查找一条以取出的顶点为起始点且未被访问过的道路弧,若找不到则返回步骤S4处理顶点状态表中其它顶点;步骤S7在道路弧状态表中标记该道路弧的状态为已访问;步骤S8检查该道路弧的可通行标识数据项是否为可通行,若不可通行,则放弃对该道路弧的进一步搜索处理,直接转步骤S6对其它道路弧进行处理;步骤S9检查顶点状态表中该道路弧指向的终止顶点,若其状态为已求出最短路径,直接转步骤S6对其它道路弧进行搜索处理;步骤S10检查顶点状态表中该道路弧的起始顶点是否可作为它指向的终止顶点的前点,不可作为前点则直接转步骤S6对其它道路弧进行搜索处理;步骤S11改写顶点状态表中该道路弧指向的终止顶点的前点编号为该道路弧的起始顶点编号、该道路弧指向的终止顶点的当前路径长度为该道路弧的起始顶点的当前路径长度加该道路弧的长度,并转入S6对其它道路弧进行搜索处理;步骤S12按顶点状态表从目的地顶点向起始顶点回溯前点,再做反序排列得到最短路径上各个顶点的具体组成。
4.根据权利要求3所述的一种提供道路导航路径的装置,其特征在于所述的道路弧记录中包含本道路弧的道路等级;搜索器在搜索具有交叉道口转向限制条件下最短导航路径的处理过程的步骤S11中,用该道路弧的道路等级调整加权系数计算该道路弧的加权长度,按该道路弧的加权长度替代该道路弧的长度改写顶点状态表中该道路弧指向的终止顶点的当前路径长度。
全文摘要
本发明一种提供道路导航路径的装置,涉及给车辆传送导航指示的道路交通控制设备。其数据存储器的电子地图中包含对每一个交叉道口处各道路端口进入该道口的入顶点记录及各道路端口入顶点对应的带有转向限制特征的道路弧记录。主控制器控制地图修编器,按输入模块提供的交叉道口各端口的转向限制信息修改编辑数据存储器中电子地图该交叉道口对应入顶点的道路弧数据;控制收发器接收车辆当前位置及目的地信息、将导航路径数据向车载终端发送;控制搜索器提取电子地图数据利用各道路弧的转向限制特征使用Di jkStra算法计算出顶点序列形式的最短导航路径数据。解决了导航装置不能处理交叉道口有禁止转向限制的最短导航路径问题。
文档编号G01C21/34GK1920483SQ20051004447
公开日2007年2月28日 申请日期2005年8月25日 优先权日2005年8月25日
发明者时宜, 韦昌荣, 许宁, 陈典全, 陆云燕 申请人:厦门雅迅网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1