本技术涉及导航,特别涉及一种路径导航方法、装置、设备及存储介质。
背景技术:
1、随着大数据及云计算技术的蓬勃发展,路径规划和导航技术得到了广泛的应用,如对车辆进行路径导航,通过规划最优的导航路径能够缩短导航对象的行驶距离,节省行驶时间及行驶成本。
2、目前,各种路径寻优算法层出不穷,如粒子群算法(pso,particle swarmoptimization)、蚁群算法(aco,ant colony optimization)等,但这些算法占用了大量的cpu(central processing unit,中央处理器)及内存等资源,导致导航效率较低,甚至出现导航失败的情况,并且,这些算法只以距离最短为最优路径选取的依据,在实际应用中,当按照这些算法规划的最优路径进行导航时,存在距离短,但是由于道路拥堵等原因导致的行驶时间依然较长的情况,从而导致了导航准确度较低,故这些算法无法很好的适用于真实的导航场景中。
3、综上,如何根据实际情况规划出最优路径,并按照规划的最优路径进行导航是本领域目前还有待进一步解决的问题。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种路径导航方法、装置、设备及存储介质,能够得到距离和时间相对最短的最优路径,节省了行驶时间和行驶成本,提高了导航准确度。其具体方案如下:
2、第一方面,本技术公开了一种路径导航方法,包括:
3、确定具有相同目的地的多个导航对象;
4、确定各所述导航对象的当前位置与所述目的地之间的最短行驶路径;
5、确定所述导航对象在按照相应的所述最短行驶路径行驶时的与已行驶距离对应的行驶时长,并基于所述行驶时长确定相应的行驶速度;所述行驶时长为基于路上等待时间和实际行车时间确定的时长;
6、将所述行驶速度、所述当前位置、所述最短行驶路径的路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算,以得到各所述导航对象的最优导航路径;
7、将各所述最优导航路径发送至相应的所述导航对象,以便所述导航对象根据接收到的所述最优导航路径进行导航。
8、可选的,所述确定各所述导航对象的当前位置与所述目的地之间的最短行驶路径,包括:
9、通过全球定位系统确定各所述导航对象的当前位置;
10、利用卫星地图分别确定各所述导航对象的当前位置与所述目的地之间的所有行驶路径;
11、从每个所述导航对象对应的所有所述行驶路径中选择路径距离最短的行驶路径,以得到各所述导航对象分别对应的所述最短行驶路径。
12、可选的,所述将所述行驶速度、所述当前位置、所述最短行驶路径的路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算的过程中,包括:
13、确定所有所述最短行驶路径的路径距离中的最大值和最小值,得到最大路径距离和最小路径距离;
14、将所述行驶速度、所述当前位置、作为蝙蝠个体最大脉冲频率的所述最大路径距离、作为蝙蝠个体最小脉冲频率的所述最小路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算。
15、可选的,所述目标蝙蝠算法中包含第一迭代运算公式,所述第一迭代运算公式用于基于路径距离与所述行驶时长之间的比值进行迭代优化。
16、可选的,所述将所述行驶速度、所述当前位置、作为蝙蝠个体最大脉冲频率的所述最大路径距离、作为蝙蝠个体最小脉冲频率的所述最小路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算的过程中,包括:
17、将作为蝙蝠个体最大脉冲频率的所述最大路径距离、作为蝙蝠个体最小脉冲频率的所述最小路径距离以及所述行驶时长输入至目标蝙蝠算法中的所述第一迭代运算公式,以通过所述第一迭代运算公式输出相应的运算结果;
18、其中,利用所述第一迭代运算公式进行迭代运算的过程,包括:
19、计算作为蝙蝠个体最大脉冲频率的所述最大路径距离与作为蝙蝠个体最小脉冲频率的所述最小路径距离之间的差值,得到距离差值;
20、将所述距离差值与预设随机数相乘,得到相应的目标乘积结果;其中,所述预设随机数为属于0到1且服从均匀分布的随机数;
21、确定所述目标乘积结果与所述最小路径距离之间的和值;
22、分别计算所述和值与各所述导航对象对应的所述行驶时长的比值,以得到各所述导航对象对应的所述第一迭代运算公式的运算结果。
23、可选的,所述目标蝙蝠算法中包含第二迭代运算公式,所述第二迭代运算公式用于基于目标比例系数对待优化速度值进行迭代优化,所述目标比例系数为所述导航对象的实时速度与相应的所述行驶速度之间的比值。
24、可选的,所述将所述行驶速度、所述当前位置、作为蝙蝠个体最大脉冲频率的所述最大路径距离、作为蝙蝠个体最小脉冲频率的所述最小路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算的过程中,包括:
25、将所述行驶速度和所述当前位置输入至所述目标蝙蝠算法中的所述第二迭代运算公式进行迭代运算,以通过所述第二迭代运算公式输出相应的运算结果;
26、其中,利用所述第二迭代运算公式进行迭代运算的过程,包括:
27、获取各所述导航对象的实时速度;
28、分别计算各所述导航对象的实时速度与对应的所述行驶速度的比值,得到各所述导航对象对应的目标比例系数;
29、利用初始蝙蝠算法中的原始速度迭代公式确定各所述导航对象在预设时刻下的速度值以得到各所述导航对象的待优化速度值;
30、分别将所述各所述导航对象的待优化速度值与相应的所述目标比例系数进行相乘以完成对各所述待优化速度值的优化操作,得到各所述导航对象对应的所述第二迭代运算公式的运算结果。
31、可选的,在所述目标蝙蝠算法的迭代运算过程中,还包括:
32、判断所述导航对象的所述行驶速度是否小于预设速度阈值;
33、若所述行驶速度小于所述预设速度阈值,则监测所述导航对象的所述行驶速度小于所述预设速度阈值的状态持续时长;
34、若所述状态持续时长大于预设时长,则将所述导航对象从所述目标蝙蝠算法中删除。
35、可选的,在所述目标蝙蝠算法的迭代运算过程中,还包括:
36、监测所述导航对象的目的地是否发生变更;
37、若监测到所述导航对象的目的地发生变更,则将所述导航对象从所述目标蝙蝠算法中删除。
38、可选的,在所述目标蝙蝠算法的迭代运算过程中,还包括:
39、监测所述导航对象的实际行驶轨迹是否偏离对应的所述最优导航路径;
40、若监测到所述导航对象的实际行驶轨迹偏离对应的所述最优导航路径,则将所述导航对象从所述目标蝙蝠算法中删除。
41、可选的,所述确定具有相同目的地的多个导航对象之前,还包括:
42、获取目标导航对象当前距离所述目的地的距离,得到当前距离;
43、判断所述当前距离是否小于预设距离阈值;
44、若所述当前距离小于所述预设距离阈值,则触发所述确定具有相同目的地的多个导航对象的步骤。
45、第二方面,本技术公开了一种路径导航装置,包括:
46、对象确定模块,用于确定具有相同目的地的多个导航对象;
47、路径确定模块,用于确定各所述导航对象的当前位置与所述目的地之间的最短行驶路径;
48、时长确定模块,用于确定所述导航对象在按照相应的所述最短行驶路径行驶时的与已行驶距离对应的行驶时长;所述行驶时长为基于路上等待时间和实际行车时间确定的时长;
49、速度确定模块,用于基于所述行驶时长确定相应的行驶速度;
50、迭代运算模块,用于将所述行驶速度、所述当前位置、所述最短行驶路径的路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算,以得到各所述导航对象的最优导航路径;
51、路径发送模块,用于将各所述最优导航路径发送至相应的所述导航对象,以便所述导航对象根据接收到的所述最优导航路径进行导航。
52、第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的路径导航方法。
53、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的路径导航方法。
54、可见,本技术先确定具有相同目的地的多个导航对象,然后确定各所述导航对象的当前位置与所述目的地之间的最短行驶路径,接着确定所述导航对象在按照相应的所述最短行驶路径行驶时的与已行驶距离对应的行驶时长,并基于所述行驶时长确定相应的行驶速度;其中,所述行驶时长为基于路上等待时间和实际行车时间确定的时长,再将所述行驶速度、所述当前位置、所述最短行驶路径的路径距离以及所述行驶时长输入至目标蝙蝠算法中进行迭代运算,得到各所述导航对象的最优导航路径,最后将各所述最优导航路径发送至相应的所述导航对象,以便所述导航对象根据接收到的所述最优导航路径进行导航。本技术在利用蝙蝠算法确定最优导航路径的过程中,向蝙蝠算法中添加了包含路上等待时间和实际行车时间的行驶时长,也即上述向蝙蝠算法中添加的行驶时长不仅仅包括实际行车时间,还包括了比如由于等交通灯或者路上堵车等原因引起的等待时间,可见,本技术相对于传统蝙蝠算法中只基于距离最短来确定最优导航路径的方案,由于进一步考虑了行驶时长,将其作为蝙蝠算法中的用于衡量路径优劣的新增判别因素,使得最终确定的最优导航路径能够在距离和行驶总时间这两个维度上都可以得到优化,避免了将路径距离虽然最短但是所花时间却比较长的路径选取为最优导航路径,从而节省了行驶时间和行驶成本,提高了导航效率以及导航准确度。