发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种自适应路径导航方法/***、计算机可读存储介质及终端,用于解决现有技术中所规划的导航路线呈线性结构,而这种线性结构存在重大缺陷,一旦用户车辆偏离导航路线,航线数据失效,需重新规划导航路径,导致增加网络传输开销和CPU计算开销的问题。
为实现上述目的及其他相关目的,本发明一方面提供一种自适应路径导航方法,包括:规划出发地和目的地之间的初始最佳导航路径;搜索所述初始最佳导航路径预定范围内的节点,且每经过一节点时,检测该节点是否为易偏航节点;若是,查找及标记出该易偏航节点至所述目的地的最优子路段;若否,继续按照初始最佳导航路径导航;其中,所述两节点之间为一子路段。
于本发明的一实施例中,所述预定范围是指垂直距离所述初始最佳导航路径小于等于预设距离阈值的所有节点组成的范围。
于本发明的一实施例中,所述搜索所述初始最佳导航路径预定范围内的节点的步骤包括:测算所述预定范围内每一节点距离所述初始最佳导航路径的垂直距离;判断该垂直距离是否超过预设距离阈值,若是,则丢弃垂直距离大于预设距离阈值对应的节点;若否,则保留垂直距离小于等于预设距离阈值对应的节点,并检测该节点是否为易偏航节点。
于本发明的一实施例中,在判断该节点是否为偏航节点之前,所述自适应路径导航方法还包括检测该节点上是否存在分叉路段的步骤,该步骤为统计以该节点为起点所延伸出路段是否超过一条,若是,则表示该节点为存在分叉路段的节点;若否,则表示该节点为不存在分叉路段的节点。、
于本发明的一实施例中,检测存在分叉路段的节点上每一分叉路段与所述初始最佳导航路径的分叉夹角是否小于预设判定夹角,若是,则表示该节点为易偏航节点,并将该易偏航节点上的所有子路段标记在所述最佳导航路径的节点上,以形成出发地和目的地之间的路线结构。
于本发明的一实施例中,所述查找及标记出该易偏航节点至所述目的地的最优子路段的步骤包括:查找该易偏航节点上的所有子路段;根据子路段属性,对所有子路段进行综合代价评定;排序并取出代价最小的子路段,并将该子路段标记为最优子路段,及记录该最优子路段的识别码。
于本发明的一实施例中,所述子路段属性包括子路段离所述目的地的距离、子路段的道路类型、交通信息和/或安全系数。
本发明另一方面提供一种自适应路径导航***,包括:规划模块,用于规划出发地和目的地之间的初始最佳导航路径;搜索模块,用于搜索所述初始最佳导航路径预定范围内的节点,检测模块,用于每经过一节点时,检测该节点是否为易偏航节点;若是,查找及标记出该易偏航节点至所述目的地的最优子路段;若否,导航模块继续按照初始最佳导航路径导航;其中,所述两节点之间为一子路段。
本发明又一方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述自适应路径导航方法。
本发明最后一方面提供一种终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述自适应路径导航方法。
如上所述,本发明的自适应路径导航方法/***,计算机可读存储介质及终端,具有以下
有益效果:
本发明本实施例所述的自适应路径导航方法/***,计算机可读存储介质及终端能够规划出的导航路径是一个梭形网状无环结构,每条子路段都有方向性和最优子路段属性,当前的航线就是所有最优子路段依次链接而成,即使用户偏离初始导航路径,也仍然可以匹配到航线网络中的另一条路段,从而马上得到新的最优子路段路链,完全不需要进行任何算路即可开始导航,大大降低了网络传输开销和cpu计算开销。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
本实施例提供一种自适应路径导航方法,包括:
规划出发地和目的地之间的初始最佳导航路径;
搜索所述初始最佳导航路径预定范围内的节点,且每经过一节点时,检测该节点是否为易偏航节点;
若是,查找及标记出该易偏航节点至所述目的地的最优子路段;
若否,继续按照初始最佳导航路径导航;其中,所述两节点之间为一子路段。
以下将结合图示对本实施例所提供的自适应路径导航方法进行详细描述。本实施例所述的自适应路径导航方法可应用于车载终端,也可以用于服务终端。若应用于所述车载终端,所述车载终端通过运行自适应路径导航方法获取最佳导航路径,以导航用户车辆。若应用于所述服务终端,所述服务终端通过运行所述自使用路径导航方法获取最佳导航路径,将所述最佳导航路径通过网络传输给车载终端。
请参阅图1,显示为自适应路径导航方法一实施流程示意图。如图1A所示,所述自适应路径导航方法具体包括以下几个步骤:
S11,规划出发地和目的地之间的初始最佳导航路径。在本实施例中,接收用户输入的出发地和目的地,按照例如,最不拥堵的路径,最安全的路径,路线最短的路径,行驶时间最少的路径等等各种需求在所述出发地和目的地之间规划初始最佳导航路径。在本实施例中,所述S11还包括将组成所述初始最佳导航路径的子路段标记出来,并记录该子路段的识别码。
请参阅图2,显示为导航路径的实施例示意图。如图2所示,出发地为A,目的地为B,初始最佳导航路径由6段子路段组成,即A-P1,P1-P2,P2-P3,P3-P4,P4-P5,P5-B。
S12,搜索所述初始最佳导航路径预定范围内的节点。在本实施例中,所述预定范围是指垂直距离所述初始最佳导航路径小于等于预设距离阈值的所有节点组成的范围。
请参阅图1B,显示为S12的流程示意图。如图1B所示,所述S12具体包括:
S121,测算所述预定范围内每一节点距离所述初始最佳导航路径的垂直距离。如图2所示,在初始最佳导航路径的预定范围内包括P1,P2,P3,P4,P5,P6,P7,P8,8个节点。其中,节点P1,P2,P3,P4,P5位于初始最佳导航路径上。节点P6,P7,P8为包含在初始最佳导航路径上,测算节点P6,P7,P8为至初始最佳导航路径的垂直距离。
S122,判断该垂直距离是否超过预设距离阈值,若是,则执行S123,丢弃垂直距离大于预设距离阈值对应的节点;若否,则执行S124,保留垂直距离小于等于预设距离阈值对应的节点,并转入步骤S13。
例如,判断P6,P7,P8距离初始最佳导航路径的垂直距离是否超过预设距离阈值。
在本实施例中,为了防止搜索半径过大,直接放弃距离初始导航路径超过预设距离阈值的节点。
S13,检测该节点上是否存在分叉路段。
具体地,统计以该节点为起点所延伸出路段是否超过一条,若是,则表示该节点为存在分叉路段的节点,继续执行S14;若否,则表示该节点为不存在分叉路段的节点,继续执行S16。
例如,节点P2上存在2条分叉路段,节点P4上存在两条分叉路段,节点P8上存在两条分叉路段。
S14,每经过一节点时,检测该节点是否为易偏航节点;若是,则执行S15,若否,则执行S16。
具体地,检测存在分叉路段的节点上每一分叉路段与所述初始最佳导航路径的分叉夹角是否小于预设判定夹角,若是,则表示该节点为易偏航节点,并将该易偏航节点上的所有子路段标记在所述最佳导航路径的节点上,以形成出发地和目的地之间的路线结构。在本实施例中,所述预设判定夹角为30度。
参阅图2,例如,P2点存在分叉路段a,P2-P3,P6节点上存在分叉路段a1和a2,P7点上存在分叉路段b1,b2。节点P2,P4,P6,P7为易偏航节点。
S15,若检测到该节点为易偏航节点,查找及标记出该易偏航节点至所述目的地的最优子路段。
请参阅图1C,显示为S15的流程示意图。如图1C所示,所述S15包括:
S151,查找该易偏航节点上的所有子路段;
S152,根据子路段属性,对所有子路段进行综合代价评定。在本实施例中,所述子路段属性包括子路段离所述目的地的距离、子路段的道路类型、交通信息和/或安全系数。
S153,排序并取出代价最小的子路段,并将该子路段标记为最优子路段,及记录该最优子路段的识别码。
例如,车辆在易偏航节点P2点走错,驶入路段a到达易偏航节点P6,易偏航节点P6存在分叉路段a1和a2,根据子路段属性,例如子路段a1离目的地B的距离最短来评定,a1子路段为到达目的地B及回归初始最佳导航路径的最优子路段。在本实施例中,得到最优子路段后,无需重新规划导航路径。
例如,车辆在在易偏航节点P4点走错,输入路段b到达易偏航节点P7,易偏航节点P7存在分叉路段b1和b2,根据子路段属性,例如子路段b2离目的地B的距离最短来评定,b2子路段为到达目的地B及回归初始最佳导航路径的的最优子路段。
S16,若否,继续按照初始最佳导航路径导航。
本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述自适应路径导航方法。本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例所述的自适应路径导航方法能够规划出的导航路径是一个梭形网状无环结构,每条子路段都有方向性和最优子路段属性,当前的航线就是所有最优子路段依次链接而成,即使用户偏离初始导航路径,也仍然可以匹配到航线网络中的另一条路段,从而马上得到新的最优子路段路链,完全不需要进行任何算路即可开始导航,大大降低了网络传输开销和cpu计算开销。
实施例二
本实施例提供一种自适应路径导航***,包括:
规划模块,用于规划出发地和目的地之间的初始最佳导航路径;
搜索模块,用于搜索所述初始最佳导航路径预定范围内的节点,
检测模块,用于每经过一节点时,检测该节点是否为易偏航节点;若是,查找及标记出该易偏航节点至所述目的地的最优子路段;若否,导航模块继续按照初始最佳导航路径导航;其中,所述两节点之间为一子路段。
以下将结合图示对本实施例所提供的自适应路径导航***进行详细描述。需要说明的是,应理解以上导航***的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC),或,一个或多个微处理器(digitalsingnalprocessor,简称DSP),或,一个或者多个现场可编程门阵列(FieldProgrammableGateArray,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessingUnit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
请参阅图3,显示为自适应路径导航***于一实施例中的原理结构示意图。如图3所示,所述自适应路径导航***3包括:规划模块31、搜索模块32、检测模块33及导航模块34。
所述规划模块31用于规划出发地和目的地之间的初始最佳导航路径。在本实施例中,接收用户输入的出发地和目的地,按照例如,最不拥堵的路径,最安全的路径,路线最短的路径,行驶时间最少的路径等等各种需求在所述出发地和目的地之间规划初始最佳导航路径。在本实施例中,所述规划模块31还用于将组成所述初始最佳导航路径的子路段标记出来,并记录该子路段的识别码。
与所述规划模块31耦合的搜索模块32用于搜索所述初始最佳导航路径预定范围内的节点。在本实施例中,所述预定范围是指垂直距离所述初始最佳导航路径小于等于预设距离阈值的所有节点组成的范围。
所述搜索模块32具体用于测算所述预定范围内每一节点距离所述初始最佳导航路径的垂直距离;判断该垂直距离是否超过预设距离阈值,若是,则丢弃垂直距离大于预设距离阈值对应的节点;若否,则保留垂直距离小于等于预设距离阈值对应的节点,并检测该节点是否为易偏航节点。
在本实施例中,为了防止搜索半径过大,直接放弃距离初始导航路径超过预设距离阈值的节点。
与所述搜索模块32耦合的检测模块33用于检测该节点上是否存在分叉路段。
具体地,所述检测模块33用于统计以该节点为起点所延伸出路段是否超过一条,若是,则表示该节点为存在分叉路段的节点;若否,则表示该节点为不存在分叉路段的节点。
所述检测模块33还用于每经过一节点时,检测该节点是否为易偏航节点;若是,则找及标记出该易偏航节点至所述目的地的最优子路段。若否,则调用导航模块34继续按照初始最佳导航路径导航。
具体地,检测存在分叉路段的节点上每一分叉路段与所述初始最佳导航路径的分叉夹角是否小于预设判定夹角,若是,则表示该节点为易偏航节点,并将该易偏航节点上的所有子路段标记在所述最佳导航路径的节点上,以形成出发地和目的地之间的路线结构。在本实施例中,所述预设判定夹角为30度。
所述检测模块33还用于查找该易偏航节点上的所有子路段;根据子路段属性,对所有子路段进行综合代价评定,排序并取出代价最小的子路段,并将该子路段标记为最优子路段,及记录该最优子路段的识别码。在本实施例中,所述子路段属性包括子路段离所述目的地的距离、子路段的道路类型、交通信息和/或安全系数。
实施例三
本实施例提供的一种终端,包括:处理器、存储器、收发器、通信接口和***总线;存储器和通信接口通过***总线与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于和其他设备进行通信,处理器和收发器用于运行计算机程序,使终端执行如上自适应路径导航方法的各个步骤。
上述提到的***总线可以是外设部件互连标准(PeripheralPomponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该***总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(RandomAccessMemory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑
综上所述,本发明本实施例所述的自适应路径导航方法/***,计算机可读存储介质及终端能够规划出的导航路径是一个梭形网状无环结构,每条子路段都有方向性和最优子路段属性,当前的航线就是所有最优子路段依次链接而成,即使用户偏离初始导航路径,也仍然可以匹配到航线网络中的另一条路段,从而马上得到新的最优子路段路链,完全不需要进行任何算路即可开始导航,大大降低了网络传输开销和cpu计算开销。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。