基于A*算法的智能车多红绿灯信号交叉口通行的经济车速规划研究

时间:2023-08-12 10:45:03 公文范文 来源:网友投稿

金辉,牛若飞

(北京理工大学 机械与车辆学院,北京 100081)

红绿灯信号交叉口是城市交通中常见的驾驶场景.红绿信号灯在指挥车辆于交叉口处的行驶中扮演着重要的角色,在宏观层面上,交通流的速度、流量、密度都受其影响[1].而对于单个车辆,在红绿灯信号交叉口处的等待及启停都无疑增加了行驶成本,因此车辆在红绿灯信号交叉口的通行措施对燃油消耗有显著影响.

现有研究中,基于优化的控制算法将采用各种优化算法,利用前瞻距离内的信息进行规划,在极大地提高了能量效率的同时可以根据驾驶员风格进行规化[2−3],常见的算法有A*、动态规划等[4−5].红绿灯信号交叉口处的经济驾驶算法中,考虑优化时包含的交通灯数量,可以将问题分为单信号灯问题以及多信号灯问题.

在单信号灯优化方面,HU 等[6]通过规划电动智能网联车辆通过信号灯交叉口处的速度来提高经济性,使得电动智能网联车辆的经济性得到大幅的提高.YAO 等[7]利用分割矩形算法优化智能网联车辆的轨迹以保证不停车通过红绿灯信号交叉口,从而提高车辆的经济性.在多信号灯优化方面,冷江昊等[8]将多红绿灯通行建模为有向无环图,并利用动态规划求初始解再利用二次优化求得最终解.但其只考虑到绿灯的影响并只选择有限路线,同时只使用匀速通行的燃油消耗为代价函数来进行规划,因此还需要进一步考虑到红灯的影响以及使用更精确的代价函数.LIU 等[9]利用深度学习,通过设置合理的奖励函数,训练算法将车辆接收到的关键环境信息作为输入,最终输出最大化累积奖励的加速度.与单信号灯相比,多信号灯的优化问题更为复杂,但优化效果更好.相对于全程而言,单信号灯优化更侧重于局部的优化,无法最大限度的提高车辆全局行驶的燃油经济性,因此优化效果要低于多信号灯通行优化.

为了能够快速得到多灯通行的最优经济驾驶策略,将采用A*算法进行优化.需要建立多红绿灯信号交叉口的时空拓扑图,以及考虑到现实工况,将利用动态规划得到车辆行驶的经济速度序列以及燃油消耗做为边集的权重,以获得最优的经济驾驶策略.论文第1 部分将介绍车辆燃油经济性优化问题,并提出最优问题的模型;
第2 部分将首先离散车辆的动力学模型与燃油消耗模型,并以此为基础计算车辆的燃油消耗,然后建立多红绿灯信号交叉口的时空拓扑图,最后根据前述条件给出A*算法的具体步骤;
第3 部分将分析A*算法在经济驾驶中的性能表现;
在第4 部分给出结论.

1.1 问题总结

A*算法是一个成熟的算法,常见于有障碍物时的路径搜索等场景中.而动态规划则常用于优化算法,需要遍历所有的状态来获得最优的结果,因此时间复杂度为O(N2),同时多红绿灯信号交叉口中状态数多且存在红灯无法通行的状态使得算法的计算成本过高.在本研究中,由于速度规划属于最优化处理,并不能直接通过搜索得到,因此改进并利用A*算法用于实时计算,并利用动态规划算法建立对应的时空拓扑图.建图为离线操作,不会影响A*算法的计算时间,使得算法具有实时在线应用的能力.

为了使A*算法能够搜索到最小的燃油消耗以及得到其对应的速度规划,将建立对应的拓扑图.本研究将选择动态规划建立速度序列与燃油消耗对应的时空拓扑图,因此首先利用动态规划算法求解车辆在两个时空点之间的经济速度规划.通过增加时间的成本函数,解决了如何在约定时间内到达目标,基于此可以获得经济速度规划,以及对应的燃油消耗.

1.2 最优控制问题

本研究以传统内燃机汽车为研究对象,并利用高精度地图提供信号灯的相位信息,通过优化算法规划车辆的速度轨迹,使车辆能够满足高效、节能、安全舒适的行驶要求.最终的目标函数为车辆行驶的燃油消耗;
而车辆的最大通过时间由车辆行驶的最小速度约束决定;
车辆的安全舒适性目标则由车辆的加速度约束决定.定义车辆的行驶时间为T(s);
状态量为车辆的位移与速度x=(s,v)T,控制量为车辆的牵引力矩与制动力矩u=Tb+Td,牵引力矩Td(N·m)为正值,制动力矩Tb(N·m)为负值,二者单一存在,则最优控制问题为

式中:Qf为车辆发动机的瞬时燃油消耗,mL;
vmin,vmax为车辆的速度限制,km/h,分别满足车辆最长通过时间与道路车速限制;
Tbc和Tdc分别为车辆的制动力矩和牵引力矩限制,N·M,这二者约束将由路面附着系数、车辆的舒适性、发动机最大输出转矩以及车辆最大制动力决定;
=f(x(t),u(t))为车辆的状态方程.

2.1 车辆动力学模型

对于建模,采用以下假设:良好的交通条件,没有其他车辆的干扰;
路面附着状况良好,轮胎不打滑.定义车辆的行驶时间为T(s);
状态量为车辆的距离与速度x=(s,v)T,控制量为车辆的牵引力矩与制动力矩u=Tb+Td,牵引力矩Td为 正值,制动力矩Tb为负值,二者单一存在,因此车辆的动力学方程可以表述为[4]

式中:v为车辆的速度,m/s;
m为车辆质量,kg;
g为重力加速度;
f(−)为 滚动阻力系数;
CD(−)为空气阻力系数;
A为汽车纵向迎风面积;
ρ为空气密度,kg/m3;
Te为发动机的输出转矩,N·m;
Fb为制动器作用在车轮上的等效力,N.

为了能够获得车辆在各个位置的状态信息,需要将状态方程从时间域转变为空间域,同时将速度单位统一为km/h,则有

再利用前向欧拉即可将系统的状态方程离散化

式中:vk和vk+1分别为第k阶段和第k+1 阶段的速度,km/h;
sk为 第k阶段时车辆已经行驶的位移,m;
∆s为相邻两阶段之间的距离,m.

2.2 车辆燃油消耗及车辆速度序列

如上所述将利用动态规划对两个时空点之间的车辆速度进行规划,提高经济燃油性.因此为了能够获得较精确燃油消耗,需要采用瞬时燃油消耗模型,本研究采用了一种称为BIT-TFCM 模型的瞬时燃油消耗模型[10].瞬时燃油消耗模型可以根据车辆的瞬时速度以及加速度得到车辆的燃油消耗,具体建模计算方法见文献[10].将燃油消耗模型在距离上离散化可得:

式中:Qf为车辆发动机瞬时燃油消耗,mL;
vk为第k阶段时的速度,km/h;
tk为第k阶段的时间,s;
sk为第k阶段时车辆已经行驶的位移,m;
∆s为相邻两阶段之间的距离,m.

则经过离散后,车辆在每阶段时的成本函数为:

为了得到车辆在各个阶段燃油消耗以及速度序列,将采用动态规划对其进行经济车速规划.最低速度约束为vmin= 7.8 km/h,即离合器已完全接合的车辆速度;
最高速度为道路限速vlimit.因此车辆多阶段速度优化模型为

式中:Q0为车辆未达到最低速度的燃油消耗,mL.根据优化模型,利用动态规划可以计算出车辆的燃油消耗.

由式(7)可得,计算起始点与终止点两个状态点之间的燃油消耗时,需要对两个状态点的速度、位移及通行时间进行约束,同时x(k+1)=G(x(k),u(k),∆s),即k+1 处的状态需要由k处的状态递推得到,即间接值无法获得两端的约束.同时速度v与位移s均需要满足两端约束,因此选择在位移上离散,并以速度为每个阶段的状态,时间为间接获得值.当需要对时间做出约束时,可以增加其对应的目标函数,同时对其进行归一化处理,则可以得到新的优化模型.

式中 λ(−)为权重,通过更新λ即可获得对应时间内的速度序列.

模拟车辆起步过程,以车辆通过150 m 长的直道为例,车辆参数见表1.根据文献[11],设置车辆终端状态的速度目标为经济定速巡航速度49.6 km/h[11],设置λ分别为1 和0,获得燃油经济性速度序列及车辆挡位信息,如图1 所示.

表1 Carsim 某A 级轿车配置Tab.1 configuration of a carsim A

图1 不同λ 时车辆经济起步速度图Fig.1 Vehicle economic start speed diagram with different λ

当λ为0 时,车辆只在起始时加速度较高以提前升挡,之后长期处于四挡加速,使得车辆通过降低部分加速效率使发动机工作在高效区间保证了车俩的最优燃油消耗性.当λ为1 时,车辆会较早地提高至较高的速度,以降低部分燃油经济性为代价来降低车辆的通行时间.

2.3 信号交叉口时空拓扑图

为了考量红绿灯配时信息对车辆的速度影响,将建立其时空拓扑图,使得两个节点之间的燃油消耗与车辆的最优速度一一对应.定义有n个红绿灯信号交叉路口,下标i为位于第i个信号交叉口处;
将行驶目标时间按照时间间隔dt离散为m阶段,上标k为处于第k阶段.加上起点将获得nm+1 个时空节点,同时当前节点可以表示为

每个节点之间并不是相互连接的,节点之间的联通状态将代表车辆的状态选择.规定当红灯时,车辆只能从当前红绿灯节点前往当前红绿灯的其他节点;
绿灯时,车辆同时可以前往下一个红绿灯处的节点.节点代表了在时间k时第i个红绿灯的状态信息.当红灯时车辆只能在当前信号交叉口处继续等待,则红灯时的拓扑图边集为

当绿灯时车辆可以选择继续前往下一信号交叉口处,则绿灯时的拓扑图边集为

当车辆处于红灯等待状态时,边集的权重为怠机时的燃油消耗Q0FmL;
当车辆处于绿灯通行状态时时,边集的权重为经过动态规划计算后的燃油消耗Q1FmL.则建立的边集如式(12)所示.

因此根据动态规划计算时空拓扑图的流程如下:

⑦检查是否满足时间约束,否则更新λ返回2

⑧更新所有的EG

2.4 A*算法模型

A*算法可以快速解决带权重的有向图上的最优路径搜索问题.通过设置两个集合,OPEN 和CLOSED,A*将遍历部分节点并得到最优解.OPEN 集包含那些作为检查候选的节点.CLOSED 集包含那些已经检查过的节点.每个节点还保留其父节点的信息,以便确定它是如何被找到的.同时在计算过程中需要记录从节点Node至Node′的路径成本g(n′)=g(n)+m(n,n′),接着计 算该点的评价值F(n′)=g(n′)+h(n′)并 保存,同时根据拓扑图中边集的权重,定义启发式为当前节点到达终点的最优经济燃油消耗,即:

通过前面建立的时空拓扑图将燃油消耗与最优速度进行对应,使得两时空节点的代价为车辆的燃油消耗,因此A*算法通过搜索时空拓扑图上的节点即可获得对应的最优速度规划.A*算法搜索车辆最优速度的伪代码如下:

本章通过构建道路数据,使用Matlab2019a 与Carsim 联合仿真,验证评价以A*规划算法为基础的经济驾驶的燃油经济性.

3.1 仿真参数

选择Carsim 中的一款A 级轿车作为后续的研究对象,整车参数如表1 所示.路面附着系数选择为φ=0.8,为了保证驾驶过程中的安全性和舒适性,规定车辆的最大加速度为2.5 m/s2.

3.2 道路数据

为了能够更好地评价算法,测试的道路选择北京理工大学东门到北京动物园的一段路程,全长2.65 km,并经过4 个红绿灯信号灯,数据由高德地图获得.并根据导航结果,设定A*算法5 min 内到达终点,设置时间间隔为1 s,则将离散为1 501 个时空节点.

3.3 仿真结果及分析

文中采用Matlab/Simulink 与Carsim 联合仿真环境对规划出的车速轨迹进行仿真验证,如图2 所示.

图2 Simulink 和Carsim 联合仿真Fig.2 Schematic diagram of the co-simulation between Simulink and Carsim

为了验证A*算法规划车速的有效性,文中采用定速巡航为对照组,根据文献[11]可得veco= 49.6 km/h,验证多红绿灯通行经济性规划对燃油经济性的提升效果.为了验证A*算法的效果,采取3 种工况,一种是定速巡航且多次启停的最差红绿灯配时;
一种为定速巡航能够不启停的最好红绿灯配时;
一种为设定时间的红绿灯配时.

3.3.1 最差红绿灯配时

当定速经济巡航面临较多的启停工况时,如图3所示,经过的4 个红绿灯包含了4 次启停,图示上粗线代表红灯时段,细线代表绿灯时段.表2 是这两种算法的通行时间和油耗对比.

表2 A*经济驾驶与经济巡航在最差红绿灯配时下的通行时间和油耗对比Tab.2 Comparison of A* economic driving and economiccruise consumption

图3 A*经济驾驶与经济巡航在最差红绿灯配时下的对比Fig.3 Comparison between A-star economy driving and economy cruising with stops

从图3 中可以看出,A*算法会采取尽量不停车的策略来避免车辆的频繁启动消耗燃油,相对于定速巡航,减少了4 次启停次数,因此燃油经济性得到了提高.由表2 可知, 相比于经济巡航,A*算法可以节省33.6%的油耗以及17.7%的通行时间.

3.3.2 最好红绿灯配时

当经济巡航恰好可以不停车通过红绿灯时,则A*算法规划后的通行策略与经济巡航相同,如图4所示,图示上粗线代表红灯时段,细线代表绿灯时段,表3 是这两种算法的通行时间和油耗对比.

表3 A*经济驾驶与经济巡航在最好红绿灯配时下的通行时间和油耗对比Tab.3 Comparison of A* economic driving and economic cruise consumption

图4 A*经济驾驶与经济巡航在最好红绿灯配时下的对比Fig.4 Comparison of A-star economy driving and economy cruising without stop

3.3.3 设定红绿灯配时

当红绿灯的配时设定处于前两者状态之间时,如图5 所示,经过的4 个红绿灯包含了3 次启停,图示上粗线代表红灯时段,细线代表绿灯时段.表4 是这两种算法的通行时间和油耗对比.

表4 A*经济驾驶与经济巡航在设定红绿灯配时下的通行时间和油耗对比Tab.4 Comparison of A* economic driving and economic cruise consumption

图5 A*经济驾驶与经济巡航在设定红绿灯配时下的对比Fig.5 Comparison of A-star economy driving and economy cruising with middle situation

相比于经济巡航,A*算法虽然增加了4.5%的通行时间,但节省了22.8%的油耗.从图中可以看出,A*算法会采取尽量不停车的策略来避免车辆的频繁启动消耗燃油,相对于定速巡航,减少了3 次启停次数,因此燃油经济性得到了提高.

通过实验仿真可以得到,A*算法可以避免车辆产生较多的启停次数,从而提高车辆的燃油经济性.通过使用A*算法可以使车辆在面对多红绿灯通行时保持较高的燃油经济性,从而实现经济驾驶的目标.

文中根据车辆动力学模型以及瞬时燃油消耗模型,建立车辆行驶的优化方程.同时根据动态规划得到两个时空点之间的经济速度序列,并制定初始状态、约束条件,以及利用总燃油消耗做为待优化的成本函数.最后使用红绿信号灯的相位信息,建立多信号灯交叉口的时空拓扑图,使车辆的燃油消耗与最优速度序列相对应,从而构建了完整的多交通信号灯行驶优化模型.然后利用A*算法求解智能车辆多红绿灯信号交叉口行驶经济性车速轨迹规划问题,并搭建Matlab/Simulink 和Carsim 联合仿真环境,在2.65 km 的实际道路数据上进行仿真,当面对最差红绿灯配时时,A*算法能够提高33.6%的燃油经济性以及降低17.7%的通行时间,证明了多信号灯通行速度规划的有效性.经过验证,多信号灯通行下的经济驾驶能够提升车辆的燃油经济性,具有较高的研究与实用价值.

猜你喜欢拓扑图红绿灯消耗如此消耗卡路里意林(2023年7期)2023-06-13低压配网拓扑图自动成图关键技术的研究与设计电子设计工程(2023年2期)2023-01-24玉钢烧结降低固体燃料消耗实践昆钢科技(2022年4期)2022-12-30简单拓扑图及几乎交错链环补中的闭曲面数学年刊A辑(中文版)(2022年1期)2022-08-20降低钢铁料消耗的生产实践昆钢科技(2021年6期)2021-03-09基于含圈非连通图优美性的拓扑图密码华东师范大学学报(自然科学版)(2020年1期)2020-03-16我们消耗很多能源小学科学(学生版)(2019年4期)2019-05-11红绿灯前快乐语文(2018年25期)2018-10-24神奇的红绿灯小学生导刊(2018年13期)2018-06-29会说话的红绿灯小天使·一年级语数英综合(2018年6期)2018-06-22

推荐访问:交叉口 红绿灯 车速