1. 引言
在连续的信号交叉口场景,由于信号灯的存在,行车速度需要频繁调整[1]。生态驾驶可根据实时交通状况优化行车速度,从而节约行车时间和能耗[2]。信号交叉口处的生态驾驶,也称为生态驶入与离开[3]。EAD策略可根据考虑的信号交叉口数量进行分类,即I-EAD和M-EAD。
I-EAD考虑自车前方的一个信号交叉口,信号交叉口的相位和时序信息可以通过车到万物通讯(Vehicle-to-Everything, V2X)获取,由于跟车行驶较为常见,大部分研究考虑了前方车辆的影响。例如,廖光亮等[4]设计分层控制系统,同时考虑信号灯状态和前车影响,上层规划经济车速下层实现避障控制,并通过仿真验证系统的有效性。陈峥等[5]提出基于初值优化的序列二次规划算法(Sequential Quadratic Programming, SQP),实现了最优跟车速度轨迹的计算。何山等[6]同时考虑信号状态和跟车行驶,利用MPC求解加速度请求,在保证安全的同时具有更高的通行效率。上述研究的跟车策略虽然保证了行车安全,但是未考虑对前方车辆的状态进行预测。对此,宋成举等[7]设计了一种考虑排队长度的生态驾驶策略,在不同队列长度下均可生成平滑的车速轨迹,最高实现19.5%的能耗降低。钱立军等[8]采集真实数据建立马尔可夫链预测驾驶员误差,然后结合快速随机MPC算法求解车速轨迹,有效缩减速度偏移量并降低车队油耗。Li等[9]直接将前车不确定性纳入约束条件,提出基于随机MPC的节能驾驶算法,并通过仿真与实车实验验证了其有效性。此外,陈慧勇等[10]同时考虑经济车速规划和整车能量分配,使用多种优化算法实现了基于规则算法4.98%的能耗经济性提升。
I-EAD的研究目前已较为全面,对单车和多车均有涉及,并且扩展到了特殊的场景,如智能交通系统场景[11]和无线充电道路场景[12]。然而,其优化能力在交通信号密集的复杂城市道路网络中面临挑战,这凸显了对M-EAD的迫切需求,M-EAD能提供更广的覆盖范围和更高层次的协同。
M-EAD的核心目标是规划跨越多个交叉口的最优速度轨迹,最大限度地利用信号相位和时序(Signal Phase and Timing, SPaT)信息以实现节能,由于涉及多个信号交叉口约束,一般优化策略较为复杂。例如,Dong等[13]使用A*算法实现多交叉口绿灯窗口规划,然后结合迭代动态规划(Dynamic Programming, DP)获得最优车速轨迹。Li等[14]则在评估交通不确定性影响后,运用强化学习(Reinforcement Learning, RL)优化多交叉口车速轨迹。类似的,Liu等[15]提出双层生态驾驶算法实现车速与动力系统的全局优化,同时采用MPC实现精确车速跟踪与动力系统调节,展现出显著优于基准算法的能耗性能提升。在多交叉口场景,对前方车辆的预测依然不能缺失,否则当前车阻碍自车通行时,自车将进入跟车状态,此时自车的能耗将会增加。在单车M-EAD的基础上,多车M-EAD通过预测、约束优化或协同控制等方法解决交通流干扰问题,旨在不同场景下实现能量消耗与安全性的平衡。Zhang等[16]提出基于显式动态交通模型的策略,实现能耗和效率之间的平衡,Ding等[17]设计基于约束RL的M-EAD策略,该策略在多交叉口的随机场景中优于传统方法。此外,Ma等[18]构建集成生态驾驶和跟车功能生态协作策略,提高了ICV (Intelligent Connected Vehicle, ICVs)的能源效率。尽管M-EAD对特殊情况的研究仍然有限,但在密集的信号城市交通环境中,其能效明显优于I-EAD。
为了实现更高等级的生态驾驶,需要考虑更加全面的影响因素,这对算法的实时性能提出了严峻挑战。Hu等[19]应用基于最优控制的生态驾驶策略预测交叉口的可行时间窗口,提高了燃油经济性,平均计算时间为12毫秒。Yang等[20]引入模块化和可扩展系统,优化车辆通过多个交叉口的轨迹,使其能够在大规模网络中部署,而不会增加计算复杂性。Liu等[21]提出双层凸优化方法,将速度规划和能量管理解耦,其结果与DP相似,但计算成本更低。陈浩等[22]提出双层滚动距离域车速优化策略,将复杂的最优控制问题分解为最优子问题,然后使用极小值原理求取解析解,仿真表明相比于恒速策略最大可到达10.3%的能量节约,并且具有较优的实时性。
综上,当前EAD研究多聚焦于特定场景下的孤立信号交叉口或短时连续信号交叉口。然而,将其扩展到复杂交通环境时,增加的非线性约束会产生显著计算负担,进而制约其实际落地应用。为解决上述局限性,本文提出一种面向多交叉口混合交通环境的EAD算法。该算法通过将复杂场景分解为基础场景单元,并设计定制化求解策略,显著提升计算效率。
2. 算法框架和模型搭建
2.1. 算法框架
网联汽车在多信号交叉口的生态驾驶系统框架如图1所示。该系统主要由数据采集模块,场景分类模块,规划模块和模型预测控制模块组成。
Figure 1. Eco-driving system framework for multi-signal intersections
图1. 多信号交叉口的生态驾驶系统框架
在数据采集模块中,网联汽车通过V2X、GPS和毫米波雷达获取生态驾驶系统所需的动态和静态信息,包括信号灯的位置和相位时序、道路限速、自车位置和速度,以及前车的状态等。场景划分模型将复杂的交通场景划分为4类基本场景,为后续规划模块实现定制化算法提供了基础。规划模块分别处理自由巡航、跟车行驶、路口通行和拥堵路口场景,为每种场景提供了最优速度区间。最后使用MPC再次优化车辆速度轨迹,达到车辆能耗、舒适和安全的多目标优化。
2.2. 车辆和能耗模型
车辆纵向动力学模型如下:
(1)
其中M为整车质量,
为加速度,
为动力电机提供的牵引力,
表示车辆行驶阻力,包括空气阻力、滚动阻力和坡道阻力(城市道路假设坡度为0):
(2)
其中
为空气密度,A表示车辆迎风面积,CD为气动阻力系数,f为滚动阻力系数,
为道路坡度角,g为重力加速度。
基于车辆纵向动力学模型,可以推导出车轮处的功率方程。考虑传动系统的效率,可得电机输出功率
,
代表从车辆驱动系统到车轮的传动效率,
表示电机效率。在不考虑再生制动的情况下,可得能耗:
(3)
其中
和
分别是控制段的进入时间和退出时间。
3. 多交叉口生态驾驶算法
3.1. 场景划分
自车所处的交通环境较为复杂,如图2所示,进行生态驾驶时需要考虑自车、前车、连续信号交叉口、信号灯和道路限速。选取两个特征参数(
,
)可对交通场景进行划分,得到4个基本交通场景:场景A-自由巡航、场景B-跟车行驶、场景C-路口通行和场景D-拥堵路口。
Figure 2. Scene illustration
图2. 场景示意图
生态驾驶算法在每次运行时,均会基于环境感知模块实时输出的
和
数值,通过如图2所示的逻辑判定划分当前交通场景,再根据场景类型调用对应的专属规划模块(具体模块设计见3.2节)。各规划模块根据场景特性规划对应的速度区间,同时明确该场景下的约束条件,为下层MPC算法提供输入,确保MPC在满足场景需求的前提下实现生态驾驶目标。
3.2. 规划模块
3.2.1. 自由巡航
在场景A中,车辆运动仅受道路限速限制,因此触发自由巡航模式,此时目标速度默认为预设值
。
3.2.2. 跟车行驶
在场景B中,车辆切换为跟车模式,前方车辆的速度和相对距离被设定为目标状态。在跟车时,必须保持适当的安全距离,以确保行车安全并提高道路利用率。安全距离通常受道路状况、自车速度、自车与前车的相对速度和制动性能的影响。因此,提出以下VTH模型:
(4)
其中
表示路面摩擦系数,
表示与前方车辆保持停车时所需的最小安全距离。因此,在跟车模式下,目标速度和目标位置计算如下:
(5)
3.2.3. 路口通行
在场景C中,自车前方存在信号交叉口,车辆必须考虑SPaT信息推导出最优速度范围。本文设计了一种速度优化算法,为车辆提供最佳速度范围,以便高效通过多个信号交叉口。自车以最大加速度加速至限速,然后匀速到达第一个信号灯路口所需的最小时间计算如下:
(6)
根据交通信号灯P的当前状态、剩余时间和周期参数,确定
时刻的信号状态,生成一个跨越未来
个信号周期的有效时间窗口集
:
(7)
通过将时间窗口映射到速度区间,得到了通过第一个信号交叉口的可行速度范围:
(8)
其中,
,K表示有效绿灯区间的数量。保留满足
的有效间隔,以形成第一个信号交叉口的可行速度候选集
。当在预视距离内存在多个信号交叉口时,该算法会将当前速度区间映射为下一个交叉口的到达时间,然后再次求解通过下一个交叉口的速度区间,直到预视距离内通过最后一个路口的速度计算完毕。
3.2.4. 拥堵路口
场景D要求预测前方队列的释放时间以优化自车速度,将队列中最后一辆车定义为n,车辆编号从1至n。初始队列长度d(0)在t = 0时刻定义为车辆n到停止线的距离:
(9)
其中
表示第j辆车的静态间隙,
为第j辆车的长度。在车队开始移动后,测绘队长度随时间的关系为:
(10)
当车辆队列尚未通过十字路口时,第n辆车接近停车线的持续时间是队列释放时间,表示为
:
(11)
其中
作为推导最佳速度区间的约束,确保自我车辆在队列清空后到达。如果
,则前方车辆不会造成障碍。如果
,则算法计算
时刻的交通信号状态,生成跨越未来
个信号周期的有效时间窗集,后续计算与场景C相同。
3.3. 模型预测控制
3.3.1. 状态方程
在MPC框架内,基于离散化动态模型设计车辆跟踪控制器,通过在线优化实现多目标跟踪。系统状态向量定义为
,其中
表示车辆速度,
表示位置。离散状态空间方程表示为:
(12)
3.3.2. 目标函数
目标函数平衡能耗、驾驶舒适性和安全性,以实现多目标协同优化:
(13)
s.t.
(14)
在约束条件中,对输出的驱动力、驱动力的变化量、速度和加速度进行了限制,确保输出满足车辆的参数限制。在对状态方程和目标函数进行一系列计算后,可使用二次规划求解出最优的控制量。
4. 仿真分析
4.1. 场景搭建
为了评估所提出的M-EAD算法的性能,在配备Intel Core i5-12600KF处理器和32GB RAM的计算机上使用Simulink + CarSim + Prescan构建了一个仿真环境进行仿真测试。实验模拟了成都市的真实城市交通环境,该环境包含九个非均匀分布的信号交叉口,如图3所示。每个交叉口都配备了V2X设备,将SPaT信息传输到网联汽车。
使用两种基准算法:R-EAD和I-EAD进行比较分析。在R-EAD策略中,自车以恒定的速度接近和离开交叉口。遇到红灯时,车辆以预定的减速度减速,直到完全停止;当信号灯转换为绿灯时,它会以预设的加速度加速穿过路口。I-EAD策略仅根据当前交叉口的SPaT信息做出决策,其他操作保持与M-EAD相同的控制逻辑。R-EAD和I-EAD策略在检测到前方车辆间距低于安全阈值时,进入跟车行驶状态,以保持安全距离,并使用与M-EAD相同的跟车控制算法。
Figure 3. Simulation environment
图3. 仿真环境
4.2. 联合仿真
联合仿真结果如图4所示,包括位置、速度、加速度和能耗。在图4(a)中,M-EAD策略表现出更平滑的轨迹,实现了所有信号交叉口的平滑通行。相反,I-EAD策略表现出突然的速度变化,快速穿过当前交叉口,然后在下一个交叉口缓慢通过,这种速度波动产生了额外的能耗,从而累计能耗增加。这种现象在R-EAD中更为明显,如自车在4号交叉口完全停车等待下一个绿色窗口,并在7号交叉口因前方车辆的阻碍而紧急减速,如图4(a)和图4(b)所示。
图4(b)显示了M-EAD具有更平滑的速度曲线,最小速度为20.71 km/h,最大速度为51.02 km/h,平均速度为36.35 km/h。相比之下,I-EAD表现出明显的速度振荡,并且R-EAD更为明显,甚至在部分交叉口出现了停车现象。图4(c)证实了M-EAD不存在高振幅加速度波动,无论是在起步阶段还是终点停车阶段。
如图4(d)所示,M-EAD的能耗一直维持在较低水平,并且能耗曲线相较于I-EAD和R-EAD更加平缓,没有突然的波动,这也印证了加速度和速度曲线。在整个行程中,M-EAD的能耗为846.5 kJ,I-EAD的能耗为935.1 kJ,R-EAD的能耗为1161.3 kJ,相较于I-EAD和R-EAD,M-EAD能耗减少为9.47%和24.15%。M-EAD通过消除固有的走走停停模式,在混合交通环境中实现平滑地通过连续交叉路口,实现了显著的节能。
5. 结束语
本文设计了一种面对连续信号交叉口的生态驾驶策略,并进行了仿真分析。通过分层算法设计,精确的驾驶场景分类,触发不同的规划算法,从而提高适应性。结果表明,与现有的I-EAD策略相比,所提出的M-EAD策略将平均能耗减少了9.47%。
(a) (b)
(c) (d)
Figure 4. Simulation results
图4. 仿真结果
尽管在信号灯交叉口,车辆会考虑排队效应而避免跟车行为,但在非信号区域,车辆仍然会遇到跟车场景。实验数据分析显示,由于速度曲线欠佳,车辆在跟车操作过程中会产生额外的能耗积累。未来的研究将把生态驾驶与路径规划相结合,以进一步优化能耗。