当前位置: 首页 > 专利查询>南京大学专利>正文

一种考虑多因素的Dijkstra导航方法技术

技术编号:15861700 阅读:47 留言:0更新日期:2017-07-23 03:10
本发明专利技术公开了一种考虑多因素的Dijkstra导航方法,包括计算总体代价函数步骤和获得通过指定作业点步骤。首先定义需要考虑的各个因素在任意两点之间的代价函数,然后根据用户的具体需求赋予各个因素的代价函数不同的权重,对各个代价函数进行加权求和,可以得到任意两点之间总的代价函数。得到任意两点之间的代价函数之后,借助Dijkstra算法,得到两点之间规划的路径返回给用户。同时,如果用户需要通过设定需要通过的指定的地点,本发明专利技术提出的方法会对路径进行切分,把原始问题转化为多个Dijkstra问题进行求解。本发明专利技术在实施过程中占用资源少,可操作性强。

【技术实现步骤摘要】
一种考虑多因素的Dijkstra导航方法
本专利技术考虑多因素的路径导航问题,如需要考虑时间、油耗或者需要经过指定地点的情况,提出一种考虑多因素的Dijkstra导航方法,属于路径导航

技术介绍
目前,Dijkstra已经在车载导航系统等各种导航系统得到广泛的应用。而目前的导航系统大多数只考虑起点和终点信息,给出统一的导航信息,忽略了用户在个性化的需求。比如,有些用户对路径的耗时很在意,另一些用户则希望给出的导航路径能够有更少的油耗,还有一些用户则希望经过某些固定的地点。现有的导航设备常常不能考虑到用户个性化的要求,在使用的时候给用户带来不便。而随着越来越多的环境因素的信息可以被收集,车载导航系统可以做得更加人性化和智能化。对于用户的特性需求也应该被满足,比如时间、油耗等因素,也应该在规划导航路径时考虑进去。因此需要一种考虑多因素的Dijkstra导航方法,具体来说,首先让用户输入需要考虑的因素,并给各个考虑的因素赋予不同的权重,接着计算每两点之间的代价函数。最后通过Dijkstra算法来规划导航的路径,然后给用户返回最终的路径。
技术实现思路
专利技术目的:目前的导航系统往往只根据起点和终点就进行导航,或者通常只考虑某一个具体的因素,忽略了用户个性化或者更复杂的需求,不具有普适性。针对上述问题,本专利技术提供了一种考虑多因素的Dijkstra导航方法,具体来说,首先输入地图、起点和终点的数据,定义导航过程中需要考虑的各个环境因素的代价,计算每两点之间的总体代价;接着设置需要经过的固定的作业点;最后把问题化归后采用Dijkstra算法加以解决,输出最终的导航路径。技术方案:一种考虑多因素的Dijkstra导航方法,包括计算整体代价函数步骤和获得通过指定作业点路径步骤;所述计算整体代价函数步骤具体为:步骤100,输入地图的信息,即各点的位置信息和各种环境因素;步骤101,根据需要考虑的各个环境因素,定义地图上任意两点的各种环境对应的代价函数:cost(p1,p2)=exp(ratio)×min(p(thick|p1),p(thick|p2))+exp(1-ratio)dist(p1,p2)(1)其中p1、p2分别代表地图上的任意两点,p(thick|p1)表示p1是厚冰的概率,dist(p1,p2)代表这两点之间的欧式距离。exp(ratio)和exp(1-ratio)分别代表冰的厚度和两点间的欧式距离在航行中所占不同的权重。步骤102,输入地图的起点和终点步骤103,根据定义的两点之间环境的代价函数,计算任意两点在各个环境上的代价;步骤104,设置各个环境因素对应的权重步骤105,根据各个环境因素设置的权重和两点之间各个环境对应的代价,根据公式(1)计算两个点之间的整体代价所述获得通过指定作业点路径步骤具体为:步骤200,根据输入的起点和终点,划定出需要用到的大致矩形区域;步骤201,输入需要经过的所有作业点;步骤202,按照经度将需要经过的作业点排序;步骤203,从起点开始,依次经过按照经度排过序的作业点,直到终点,在每两个点之间,调用Dijkstra算法,得到这两个点之间的最短路径;步骤204,将依次得到的最短路径连接起来,得到最终需要输出的路径;所述划定大致矩形区域的流程为:首先找到起点和终点的经度和维度的最大值和最小值,然后将经度和纬度对应的最大值各加上一个常数,同样,对精度和纬度的最小值也各减去一个常数,这样得到四个数值所构成的区域就是划定出的大致矩形区域。所述的各种需要考虑的环境因素包括时间、油耗、安全程度等等。所述生成推荐路径的步骤包括,按照用户设置的参数推荐路径,找到可达路径后,会给用户进行反馈;如果用户对当前的路径不满意,可以修改参数,重新生成导航路径。例如:在公式(1)中,如果船的破冰能力比较强,则冰的厚度对最终船只航行的代价影响比较小,公式(1)的第一项所占的权重应当降低,此时可以通过降低ratio的值来达到;如果船只破冰能力比较弱,则ratio的值应当适当提高。找到可达路径后,会给用户进行反馈;如果用户对当前的路径不满意,可以修改参数,重新生成导航路径。所述的不存在可达路径的提示具体为,如果不存在可达路径,会提示用户;如果存在可达路径,则会输出可达路径。有益效果:与现有技术相比,本专利技术提供的考虑多因素的Dijkstra导航方法,可以满足的个性化定制,适用性强。附图说明图1是本专利技术方法流程图;图2是本专利技术在地图上给出任意两点之间导航路径的工作流程图;图3是本专利技术把增加作业点化归为多个Dijkstra算法的工作流程图。具体实施方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。如图1所示,考虑多因素的Dijkstra导航方法,首先用户需要输入地图数据,即输入地图上的各个点的位置信息(步骤10),以及需要考虑的各个环境变量。接着,用户需要定义各个环境因素对应的代价函数(步骤11),在定义如公式(1)所示的代价行数时。定义完代价函数后,用户需要输入起点和终点(步骤12)。为了满足用户的个性化需求,接下来,用户可以输入作业点(步骤13),即用户在规划路径过程中需要经过的点。在用户输入作业点后,可以利用公式(1)计算各个环境因素对应的具体代价(步骤14)。用户可以根据自己的实际需求,给不同的环境的因素赋予不同的权重(步骤15)。这样,对不同环境因素的代价进行加权求和,可以计算任意两点之间的代价函数(步骤16)。有了这些基础信息后,便可以规划导航路径了(步骤17)。接下来判断是否存在合适的路径(步骤18),如果不存在合适的路径,则会给用户输出提示的结果。如果存在可达的路径,会让用户判断路径对当前的路径是否满意(步骤19),如果用户对当前的路径不满意,可以重新设置各个环境因素的权重,重新生成需要规划的路径;如果用户对当前的路径满意,则输出导航的路径(步骤20)。计算任意两点之间的导航路径的工作流程图如图2所示,首先计算这两点的经度和纬度的最大值和最小值(步骤21),接着把经度和纬度的最大值分别加上一个常数(步骤22),把经度和纬度的最小值分别减去一个常数(步骤23),这样,会得到新的一个矩形区域(步骤24),在这个新的区域中调用Dijkstra算法,可以生成从起点到终点的一条导航路径(步骤25)。增加作业点的路径规划化归为多个Dijkstra算法的工作路程图如图3所示。首先把所有的作业点按照经度进行排序(步骤171)。接下来判断是否存在下一个作业点(步骤172),如果存在下一个作业点,则采用Dijkstra算法计算当前两个作业点之间的导航路径(步骤173)。在计算完毕所有的作业点之间的导航路径后,计算起点和第一个作业点之间的导航路径(步骤174),接下来计算最后一个作业点和终点之间的导航路径(步骤175),最后,从起点开始,依次把所有路径连接起来(步骤176),输出最终的导航路径(步骤177)。本文档来自技高网...
一种考虑多因素的Dijkstra导航方法

【技术保护点】
一种考虑多因素的Dijkstra导航方法,其特征在于:包括计算整体代价函数步骤和获得通过指定作业点路径步骤;所述计算整体代价函数的具体步骤为:步骤100,输入地图的信息,即各点的位置信息和各种环境因素;步骤101,根据需要考虑的各个环境因素,定义地图上任意两点的各种环境对应的代价函数:cost(p1,p2)=exp(ratio)×min(p(thick|p1),p(thick|p2))            +exp(1‑ratio)dist(p1,p2)                    (1)其中p1、p2分别代表地图上的任意两点,p(thick|p1)表示p1是厚冰的概率,dist(p1,p2)代表这两点之间的欧式距离。exp(ratio)和exp(1‑ratio)分别代表冰的厚度和两点间的欧式距离在航行中所占不同的权重。步骤102,输入地图的起点和终点;步骤103,根据定义的两点之间环境的代价函数,计算任意两点在各个环境上的代价;步骤104,设置各个环境因素对应的权重;步骤105,根据各个环境因素设置的权重和两点之间各个环境对应的代价,根据公式(1)计算两个点之间的整体代价;获得通过指定作业路径的具体步骤为:步骤200,根据输入的起点和终点,划定出需要用到的大致矩形区域;步骤201,输入需要经过的所有作业点;步骤202,按照经度将需要经过的作业点排序;步骤203,从起点开始,依次经过按照经度排过序的作业点,直到终点,对于按照经度排序后的相邻的两个点,调用Dijkstra算法,得到这两个点之间的最短路径;步骤204,将依次得到的最短路径连接起来,得到最终需要输出的路径。...

【技术特征摘要】
1.一种考虑多因素的Dijkstra导航方法,其特征在于:包括计算整体代价函数步骤和获得通过指定作业点路径步骤;所述计算整体代价函数的具体步骤为:步骤100,输入地图的信息,即各点的位置信息和各种环境因素;步骤101,根据需要考虑的各个环境因素,定义地图上任意两点的各种环境对应的代价函数:cost(p1,p2)=exp(ratio)×min(p(thick|p1),p(thick|p2))+exp(1-ratio)dist(p1,p2)(1)其中p1、p2分别代表地图上的任意两点,p(thick|p1)表示p1是厚冰的概率,dist(p1,p2)代表这两点之间的欧式距离。exp(ratio)和exp(1-ratio)分别代表冰的厚度和两点间的欧式距离在航行中所占不同的权重。步骤102,输入地图的起点和终点;步骤103,根据定义的两点之间环境的代价函数,计算任意两点在各个环境上的代价;步骤104,设置各个环境因素对应的权重;步骤105,根据各个环境因素设置的权重和两点之间各个环境对应的代价,根据公式(1)计算两个点之间的整体代价;获得通过指定作业路径的具体步骤为:步骤200,根据输入的起点和终点,划定出需要用到的大致矩形区域;步...

【专利技术属性】
技术研发人员:程文芳詹德川范林鹏朱建钢
申请(专利权)人:南京大学中国极地研究中心
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1