[0024] C表示电动汽车的总耗电量;Cunit表示电动汽车在平路上的单位距离耗电量,单位距离为1米;D(Pi,Pi+1)表示坐标Pi(xi,yi,zi)与坐标Pi+1(xi+1,yi+1,zi+1) 之间的欧几里得距离;βi,i+1表示坡度耗电量系数;βd为能量回收系数,能量回收系数为根据不同车型进行设置的定值;当zi+1>zi时,表示电动汽车在上坡;当zi+1=zi时,表示电动汽车行驶在平路上;当zi+1
[0025] 可选地,步骤S2,使预设数量的蚁群根据初始节点信息素值模拟出行驶路径集合包括:
[0026] 步骤S21,设置耗电量信息素为常数PhC和行驶时间信息素为常数PhT;信息素蒸发系数设为decr=0.95;蚂蚁个数为m;迭代次数L初始化为0,最大迭代次数为kk;
[0027] 步骤S22,当迭代次数L<0.7*kk或蚂蚁k1≤0.3*m时,蚂蚁k1按照行驶时间选择概率方式从起始点到目标点规划出一条路径,根据行驶时间最短原则和蚁周模型对行驶时间信T息素Ph进行更新;其中,k1=1,2,…,m;
[0028] 当迭代次数L>0.7*kk或蚂蚁k2>0.3*m时,蚂蚁k2按照耗电量选择概率方式从起C始点到目标点规划出一条路径,根据耗电量最少原则和蚁周模型对耗电量信息素常数Ph进行更新;其中,k2=1,2,…,m;
[0029] 步骤S23,若全部蚂蚁k=m完成规划,则将所有规划到目标点的路径形成本次迭代的路径集合;
[0030] 步骤S24,对所有耗电量信息素PhC和行驶时间信息素PhT进行蒸发,得到和 完成一次迭代;
[0031] 重复步骤S22~步骤S24,直到迭代次数L=kk。
[0032] 可选地,行驶时间选择概率方式的计算包括:
[0033]
[0034]
[0035] α=rand(1)
[0036] β=1‑α
[0037] 其中, 表示蚂蚁k在规划过程中的时刻t、从节点a出发至目标点的全部路径节点的集合; 为蚂蚁k在时刻t选择经过节点b的路径规划所对应的行驶时间信息素;α是信息素启发因子,用来表示行驶时间信息素对蚂蚁寻路过程中节点选择的重要程度; 表示蚂蚁k在t时刻,从节点a出发行驶到节点b的行驶时间启发函数值;β是期望启发因子,表示行驶时间启发函数值对蚂蚁寻路过程中节点选择的重要程度;Pa和Pb为三维地图中相邻的两个节点,且Pa=Pa(xa,ya,za),Pb=Pb(xb,yb,zb)。
[0038] 可选地,耗电量选择概率方式的计算包括:
[0039]
[0040]
[0041] θ=rand(1)
[0042] τ=1‑θ
[0043] 其中, 表示蚂蚁k在规划过程中的时刻t、从节点e出发至目标点的全部路径节点的集合; 为蚂蚁k在时刻t选择经过节点f的路径规划所对应的耗电量信息素;θ是信息素启发因子,用来表示耗电量信息素对蚂蚁寻路过程中节点选择的重要程度;
表示蚂蚁k在t时刻,从节点e出发行驶到节点f的耗电量启发函数值;τ是期望启发因子,表示行驶时间启发函数值对蚂蚁寻路过程中节点选择的重要程度;Pe和Pf为三维地图中相邻的两个节点,Pe=Pe(xe,ye,ze),Pf=Pf(xf,yf,zf)。
[0044] 可选地,根据耗电量最少原则和蚁周模型对耗电量信息素常数PhC进行更新,包括:计算在整个蚁群当前迭代中在路径节点j处的耗电量信息素增量,以及计算蚂蚁k在当前迭代中在路径节点j处的耗电量信息素增量:
[0045]
[0046] 对所有路径节点进行耗电量信息素更新:
[0047]
[0048] 其中, 表示整个蚁群在路径节点j处的耗电量信息素增量; 表示蚂蚁k在路径节点j处的耗电量信息素增量;ρC为局部信息素更新因子,ρC为常数。
[0049] 可选地,根据行驶时间最短原则和蚁周模型对行驶时间信息素PhT进行更新包括:计算整个蚁群当前迭代中在路径节点j处的行驶时间信息素增量,以及计算蚂蚁k在当前迭代中在路径节点j处的行驶时间信息素增量:
[0050]
[0051] 对所有路径节点进行行驶时间信息素更新:
[0052]
[0053] 其中,其中, 表示整个蚁群在路径节点j处的行驶时间信息素增量;表示蚂蚁k在路径节点j处的行驶时间信息素增量;ρT为局部信息素更新因子,ρT为常数。
[0054] 可选地,步骤S51根据多目标优化方法求解耗电量和行驶时间折中的路径,求解方式如下:
[0055] 根据规划路径设置目标函数;
[0056] 设置所有路径节点对应的耗电量信息素值和行驶时间信息素值;
[0057] 获取所有路径集合,并根据路径集合计算对应目标函数的解;
[0058] 对目标函数的解进行非支配关系排序,得到第一非支配前沿的解;
[0059] 对第一非支配前沿的解进行拥挤度排序,选取拥挤度低的解;
[0060] 对耗电量信息素值和行驶时间信息素值进行更新;
[0061] 当目标函数的解趋于稳定时,停止迭代。
[0062] 可选地,目标函数为:
[0063]
[0064] 其中Lane为规划出的路径。
[0065] 本发明实施例通过结合耗电量和行驶时间规划电动汽车三维路径,能够在三维地图上找到一条耗电量最低和/或行驶时间最短的路径,或者,在三维路网地图找到一条耗电量和行驶时间折中的车辆行驶路径,进一步改善了电动汽车能源消耗策略,在物流业、货运业等现在更多使用电动汽车的行业内,提出了一个新的减少耗电量和汽车行驶时间解决方案,为这些行业的发展提供新的推动力。
附图说明
[0066] 通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
[0067] 图1示出了本发明实施例中一种电动汽车三维路径规划方法的流程图;
[0068] 图2示出了本发明实施例中一种多信息素类型的蚁群算法设计流程图;
[0069] 图3示出了本发明实施例中一种多目标优化方法的流程图。
具体实施方式
[0070] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0071] 本发明实施例提供了一种电动汽车三维路径规划方法,如图1所示,包括:
[0072] 步骤S1,根据起始点、目标点与三维地图的特征信息设置初始节点信息素值。
[0073] 步骤S2,使预设数量的蚁群根据初始节点信息素值模拟出行驶路径集合。
[0074] 步骤S3,计算行驶路径集合中每个解的电动汽车耗电量以及行驶时间。
[0075] 步骤S4,将初始节点信息素值乘以预设蒸发系数,用更新后的节点信息素值替代步骤S2中的初始节点信息素值。
[0076] 步骤S51,重复执行步骤S2~S4的操作,当行驶路径集合对应的电动汽车耗电量以及行驶时间趋于稳定时,停止迭代,获得最优行驶路径集合。
[0077] 或,
[0078] 步骤S52,重复执行步骤S2~S4的操作,当迭代次数达到预设上限后,停止迭代,根据行驶时间最短原则和/或动汽车耗电量最低原则,选出行驶时间最短路径和/或耗电量最低路径。
[0079] 本实施例中,首先,根据三维路径网络地图特点,建立电动汽车耗电量模型以及行驶时间计算方法,从而构建电动汽车三维路径规划模型。其次,基于行驶时间和耗电量设计多信息素类型的蚁群算法,该蚁群算法用于电动汽车三维路径规划。最后,求解考虑耗电量和行驶时间的路径规划问题:针对耗电量和行驶时间两个目标设计多目标优化方法,或者,在三维路网地图找到一条耗电量和行驶时间折中的车辆行驶路径,求解多信息素类型的蚁群算法的三维路径规划问题。
[0080] 本实施例提供了一种考虑耗电量和行驶时间的电动汽车三维路径规划方法,能够在三维地图上找到一条耗电量最低和/或行驶时间最短的路径,或者,在三维路网地图找到一条耗电量和行驶时间折中的车辆行驶路径,进一步改善了电动汽车能源消耗策略,在物流业、货运业等现在更多使用电动汽车的行业内,提出了一个新的减少耗电量和汽车行驶时间解决方案,为这些行业的发展提供新的推动力。
[0081] 作为可选的实施方式,步骤S3包括:
[0082] 计算平路行驶消耗电量、上坡克服重力做功电量以及下坡制动能量回收电量:
[0083]
[0084] 计算行驶时间:
[0085]
[0086] 其中,
[0087]
[0088]
[0089]
[0090]
[0091] C表示电动汽车的总耗电量;Cunit表示电动汽车在平路上的单位距离耗电量,单位距离为1米;D(Pi,Pi+1)表示坐标Pi(xi,yi,zi)与坐标Pi+1(xi+1,yi+1,zi+1) 之间的欧几里得距离;βi,i+1表示坡度耗电量系数;βd为能量回收系数,能量回收系数为根据不同车型进行设置的定值;当zi+1>zi时,表示电动汽车在上坡;当zi+1=zi时,表示电动汽车行驶在平路上;当zi+1
[0092] 在本实施例中,电动汽车耗电量的计算分为三种情况:平路、上坡和下坡。
[0093] 作为可选的实施方式,如图2所示,步骤S2包括:
[0094] 步骤S21,设置耗电量信息素为常数PhC和行驶时间信息素为常数PhT;信息素蒸发系数设为decr=0.95;蚂蚁个数为m;迭代次数L初始化为0,最大迭代次数为kk。
[0095] 步骤S22,当迭代次数L<0.7*kk或蚂蚁k1≤0.3*m时,蚂蚁k1按照行驶时间选择概率方式从起始点到目标点规划出一条路径,根据行驶时间最短原则和蚁周模型对行驶时间信T息素Ph进行更新;其中,k1=1,2,…,m。
[0096] 当迭代次数L>0.7*kk或蚂蚁k2>0.3*m时,蚂蚁kR2按照耗电量选择概率方式从起C始点到目标点规划出一条路径,根据耗电量最少原则和蚁周模型对耗电量信息素常数Ph进行更新;其中,k2=1,2,…,m。
[0097] 在本实施例中,剔除未能规划到目标点的路径。
[0098] 步骤S23,若全部蚂蚁k=m完成规划,则将所有规划到目标点的路径形成本次迭代的路径集合。
[0099] 步骤S24,对所有耗电量信息素PhC和行驶时间信息素PhT进行蒸发,得到和 完成一次迭代。
[0100] 重复步骤S22~步骤S24,直到迭代次数L=kk。
[0101] 作为可选的实施方式,行驶时间选择概率方式的计算包括:
[0102]
[0103]
[0104] α=rand(1)
[0105] β=1‑α
[0106] 其中, 表示蚂蚁k在规划过程中的时刻t、从节点a出发至目标点的全部路径节点的集合; 为蚂蚁k在时刻t选择经过节点b的路径规划所对应的行驶时间信息素;α是信息素启发因子,用来表示行驶时间信息素对蚂蚁寻路过程中节点选择的重要程度; 表示蚂蚁k在t时刻,从节点a出发行驶到节点b的行驶时间启发函数值;β是期望启发因子,表示行驶时间启发函数值对蚂蚁寻路过程中节点选择的重要程度;Pa和Pb为三维地图中相邻的两个节点,且Pa=Pa(xa,ya,za),Pb=Pb(xb,yb,zb)。
[0107] 作为可选的实施方式,耗电量选择概率方式的计算包括:
[0108]
[0109]
[0110] θ=rand(1)
[0111] τ=1‑θ
[0112] 其中, 表示蚂蚁k在规划过程中的时刻t、从节点e出发至目标点的全部路径节点的集合; 为蚂蚁k在时刻t选择经过节点f的路径规划所对应的耗电量信息素;θ是信息素启发因子,用来表示耗电量信息素对蚂蚁寻路过程中节点选择的重要程度;
表示蚂蚁k在t时刻,从节点e出发行驶到节点f的耗电量启发函数值;τ是期望启发因子,表示行驶时间启发函数值对蚂蚁寻路过程中节点选择的重要程度;Pe和Pf为三维地图中相邻的两个节点,Pe=Pe(xe,ye,ze),Pf=Pf(xf,yf,zf)。
[0113] 在本实施例中,信息素启发因子α和θ设置为相同的常数,期望启发因子β和τ也设置为相同的常数,α和θ的范围为0~1,β和τ的范围也为0~1。
[0114] 作为可选的实施方式,根据耗电量最少原则和蚁周模型对耗电量信息素常数PhC进行更新,包括:计算在整个蚁群当前迭代中在路径节点j处的耗电量信息素增量,以及计算蚂蚁k在当前迭代中在路径节点j处的耗电量信息素增量:
[0115]
[0116] 对所有路径节点进行耗电量信息素更新:
[0117]
[0118] 其中, 表示整个蚁群在路径节点j处的耗电量信息素增量; 表示蚂蚁k在路径节点j处的耗电量信息素增量;ρC为局部信息素更新因子,ρC为常数。
[0119] 作为可选的实施方式,根据行驶时间最短原则和蚁周模型对行驶时间信息素PhT进行更新包括:计算整个蚁群当前迭代中在路径节点j处的行驶时间信息素增量,以及计算蚂蚁k在当前迭代中在路径节点j处的行驶时间信息素增量:
[0120]
[0121] 对所有路径节点进行行驶时间信息素更新:
[0122]
[0123] 其中,其中, 表示整个蚁群在路径节点j处的行驶时间信息素增量;表示蚂蚁k在路径节点j处的行驶时间信息素增量;ρT为局部信息素更新因子,ρT为常数。
[0124] 作为可选的实施方式,步骤S51根据多目标优化方法求解耗电量和行驶时间折中的路径。
[0125] 如图3所示,折中路径的求解步骤如下:
[0126] 步骤S511,根据规划路径设置目标函数。
[0127] 对于所述的考虑耗电量和行驶时间的电动汽车三维路径规划方法,目标函数为耗电量和行驶时间,其计算方法是根据所规划路径得到,目标函数为:
[0128]
[0129] 其中Lane为规划出的路径。
[0130] 步骤S512,设置所有路径节点对应的耗电量信息素值和行驶时间信息素值。
[0131] 初始化多种群蚁群算法,确定在三维地图上的起始点和目标点位置,设置整个地C T图上的所有路径节点信息素值为常数Ph和Ph。
[0132] 步骤S513,获取所有路径集合,并根据路径集合计算对应目标函数的解。
[0133] 通过步骤S511中目标函数,得到的路径集合{Lane1,...,Laneq},计算种群中每个解的目标函数值CLane和TLane。
[0134] 步骤S514,对目标函数的解进行非支配关系排序,得到第一非支配前沿的解。
[0135] 对目标函数的解进行非支配关系排序,仅保留第一非支配前沿的解,即该前沿的解不被其它任何解支配。
[0136] 步骤S515,对第一非支配前沿的解进行拥挤度排序,选取拥挤度低的解。
[0137] 对第一支配前沿的解,进行拥挤度排序,选取拥挤度较低的解,从而使获得的解尽可能的分布均匀且具有多样性。
[0138] 步骤S516,对耗电量信息素值和行驶时间信息素值进行更新。
[0139] 将得到的第一非支配前沿的解集中的每条路径所对应的路径节点进行额外信息素的奖励。
[0140] 继续进行步骤S513到步骤S516中目标函数的计算,得到更新信息素后路径集合的目标函数值,进行循环迭代。
[0141] 步骤S517,当目标函数的解趋于稳定时,停止迭代。
[0142] 当目标函数的解的均方误差小于2%时,认为所求路径的目标函数值稳定,此时停止迭代。其中,第一支配前沿的所有解都是所求的解。
[0143] 本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid‑State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
[0144] 虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。