【技术实现步骤摘要】
一种基于汽车油耗的路径规划方法
[0001]本专利技术涉及汽车
,具体涉及一种基于汽车油耗的路径规划方法。
技术介绍
[0002]目前大多数的路径规划方法把路径长度作为唯一判定方法性能优劣的度量标准,然而考虑到出行的经济成本以及环境成本,受当前复杂的城市交通环境制约,选择路径长度最短的路径这一做法往往过于理想化,并不具有很强的现实意义。
技术实现思路
[0003]针对现有技术的不足,本专利技术旨在提供一种基于汽车油耗的路径规划方法。
[0004]为了实现上述目的,本专利技术采用如下技术方案:
[0005]一种基于汽车油耗的路径规划方法,具体过程为:
[0006]S1、利用蚁群算法计算起点与终点之间的对角线距离,记为diagonal
pre
,并将其作为A星算法参数;
[0007]S2、计算行驶油耗;
[0008]S3、计算总怠速油耗Fuel
idling
;
[0009]S4、A星算法寻路:
[0010]首先把起点放入open表,由于在寻路过程中每次都要寻找F值最小的坐标点,所以open表的结构采用最小堆,最小堆的堆顶即为所求;将初始堆分为两个堆,在堆的排序过程中利用双线程分别对每个堆进行处理,在排序操作结束后再将各自的堆合并;
[0011]对于当前坐标点(cur_x,cur_y),为了快速判断其是否位于open表中,采用哈希函数判断其隶属关系,相应的哈希函数定义为:
[0012]f(Num) ...
【技术保护点】
【技术特征摘要】
1.一种基于汽车油耗的路径规划方法,其特征在于,具体过程为:S1、利用蚁群算法计算起点与终点之间的对角线距离,记为diagonal
pre
,并将其作为A星算法参数;S2、计算行驶油耗;S3、计算总怠速油耗Fuel
idling
;S4、A星算法寻路:首先把起点放入open表,由于在寻路过程中每次都要寻找F值最小的坐标点,所以open表的结构采用最小堆,最小堆的堆顶即为所求;将初始堆分为两个堆,在堆的排序过程中利用双线程分别对每个堆进行处理,在排序操作结束后再将各自的堆合并;对于当前坐标点(cur_x,cur_y),为了快速判断其是否位于open表中,采用哈希函数判断其隶属关系,相应的哈希函数定义为:f(Num)=(cur_x+cur_y)%length其中,f(Num)为当前坐标点对应的哈希值,length为哈希表长度;如果f(Num)为奇数,则该坐标点不在open表中;反之如果f(Num)为偶数,则该坐标点在open表中;与此同时,考虑到可能存在的二次冲突,相应的冲突函数定义为:f(Num)=(cur_x+cur_y+p)%length其中p为偏移量;重复以下流程:如果open表为空,则寻路失败;反之则利用最小堆寻找open表中F值最小的坐标点,把它作为当前要处理的坐标点,并把其放入close表中;对于当前坐标点可到达的周围的八个坐标点中的每一个坐标点:如果它不可抵达或者已经在close表中,则忽略;如果它不在open表中,把它放入open表中,并把当前坐标点设为它的父节点,并计算该坐标点的F,G以及H值;如果它已经在open表中,检查通过当前坐标点到达该坐标点的G值是否更小,如果是的话,把它的父节点设置为当前坐标点,重新计算其G值以及F值;如果终点已经加入了open表,则从终点开始依次回溯到每一个父节点直至起点,最优路径确定,寻路结束;其中从起点到当前坐标点的实际代价G即为从起点到当前坐标点的行驶油耗,即:G=E(x)*diagonal
sc
其中,E(x)为汽车行驶油耗的数学期望,diagonal
sc
为起点到当前坐标点的对角线距离;从当前坐标点到终点的估计代价H即为当前坐标点到终点的估计油耗,即:H=E(x)*diagonal
ce
*s(λ)s(λ)=log2(1+e
λ
)其中,diagonal
ce
为当前坐标点到终点的对角线距离,diagonal
pre
为步骤S1中计算的结果;总代价F为:F=G+H+Fuel
idling
;
基于油耗的A星算法在寻路过程中的每一步所选择的即为总代价F最小的坐标点,直至寻路结束,所确定的路径即为最优路径。2.根据权利要求1所述的方法,其特征在于,步骤S...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。