APP下载

基于离线强化学习的交叉口生态驾驶控制

2022-08-12史晓宇郑岳标

关键词:交叉口网联离线

张 健 姜 夏 史晓宇 程 健 郑岳标

(1东南大学江苏省城市智能交通重点实验室, 南京 211189)(2东南大学交通学院, 南京 211189)(3西藏大学工学院, 拉萨 850000)(4南京莱斯信息技术股份有限公司, 南京 210000)

在车路协同环境中,具备一定网联自动驾驶等级的车辆可以与交通基础设施进行交互[1],获取相应数据进行更优决策,从而带来车辆运行过程中安全、效率与低碳生态等方面的提升.自动驾驶与V2I技术应用场景广泛.鉴于生态驾驶方法可以大幅减少车辆燃油消耗[2],利用V2I等技术获取交通信息提高车辆燃油经济性成为重要的研究内容.这一策略尤其适用于交叉口场景:当车辆接近交叉口时,信号灯基于V2I提供相位配时(SPaT)信息,节能驾驶模块提供速度建议或辅助驾驶,以减少汽车能耗.GLOSA系统是生态驾驶策略的重要体现[3],同时依据道路限速和SPaT,该系统可提供交叉口前不停车的建议速度区间,引导车辆以高效且节能的车速通行.

已有的生态驾驶方法大多基于最优控制理论建立模型,如通过庞特里亚金最小值原理[4]、模型预测控制(MPC)[5]、多阶段优化模型[6]、动态规划(DP)[7-8]求得车辆最优能耗轨迹.虽然车辆燃油经济性在上述研究中得以验证,但在面对高维复杂场景时计算时间复杂度较高,对车辆计算单元的性能提出了较高的要求,不利于工业化部署.

为增强方法的实用性,一些元启发式算法被用来快速求解模型.如采用混合遗传算法与粒子群算法[9]、带精英策略的非支配排序遗传算法[10]、多目标遗传算法[11-12]来降低求解过程的时间消耗.这些方法实际控制时难以对所有超参数进行自适应选择,且算法容易收敛至局部最优,无法进行全局的速度优化.此外,一些基于规则建立的控制方法[13-16]虽然直观,实现方便,但同样难以保证最优性,并难以在不同的交通与信号环境下自适应迁移.

深度强化学习(DRL)将车辆视作智能体,车辆根据当前状态可以选择未来奖励最高的动作.一些研究在每个时刻从离散的加速度集合中选取值作为当前时间步车辆控制输入[17-18].由于离散型的加速度变化不利于产生平滑的轨迹,且难以达到全局最优,一些适用于连续型动作的DRL算法也被应用在该领域[19-22].强化学习因无需逐步求解数学模型,保障了实时性,但国内外相关研究均为在线学习,通过智能体与环境交互,进行学习数据的收集,以促成控制策略的评估与更新.这一机制阻碍了DRL在实际场景的应用,其原因为:① 现实情况下进行车辆智能体的算法构造与训练面临潜在交通事故的威胁, DRL算法需要大量的交互数据更新策略,数据采样会花费大量的时间与成本;② 仿真与实际情况间存在差距.已有研究均在交通或车辆仿真器中开展,但训练好的模型难以在环境迁移后仍具备良好表现.

本文针对城市工况网联汽车信号交叉口生态驾驶问题,将其抽象为马尔可夫决策过程(MDP),设计考虑效率与能源的复合奖励函数.依托SUMO平台[23]搭建交通环境,为车辆装备基础的GLOSA系统,通过仿真收集数据,制作静态数据集,基于离线强化学习理论,使用BCQ算法在静态数据集上进行训练,在连续动作空间内进行车辆速度优化,进一步提升强化学习方法在实际网联交通环境中的适用性.

1 问题描述与模型构建

1.1 问题描述

如图1(a)所示,在智能网联交通环境下,交叉口的信号灯具备与网联车辆进行通信的能力.通信范围Rc表示网联车与交通灯进行V2I通信的距离阈值,当车辆与信号灯相对位置小于Rc时,即可获取信号灯提供的SpaT信息以进行决策;当相对位置大于Rc时,车辆在自身的车辆跟驰行为引导下运动.如图1(b)所示,节能控制的目的是当车辆进入通信范围后,能够使其按照优化轨迹行驶,尽量避免在交叉口前遇到红灯停车等待,导致能源消耗.

(a) 网联环境下车辆生态驾驶场景

该问题的目标函数是使得车辆以速度v0在时间t0抵达进口道后行驶至通过交叉口前停车线过程中油耗最省.仅以能耗作为目标函数显然会导致网联车停止运动,因为在这种情况下每个时间步车辆能耗均为0.以Tv表示车辆旅行时间,F(t)表示时刻t车辆的瞬时油耗,tf表示车辆进入交叉口内部的时刻,v(t)为网联车当前速度,以加速度u(t)为控制输入,则目标函数可表示为

(1)

式中,ω1与ω2为权重系数,表示在优化时考虑时间指标与能耗经济性指标的相对重要程度.本文采用SUMO中内置的车辆燃油与排放模型计算F(t),该模型通常适用于欧盟标准下的燃油小汽车相关参数求解[24].虽然本文以燃油车为研究对象,但所提出方法以车辆瞬时能耗作为奖励函数的一部分进行迭代优化,可适用于纯电动车等多种类型车辆.

对于tf而言,车辆需要在绿灯时间进入交叉口,用Ts表示单个信号灯的周期,以向网联车开放绿灯的相位作为首个相位,设该相位在交通信号周期时间所占比例为D,则tf应满足下式:

kTs+DTs

(2)

式中,k为任意非负整数.

在运行过程中,车辆受到道路限速、自身最大加减速度能力的影响,因此有

0≤v(t)≤vm

(3)

dm≤u(t)≤um

(4)

式中,vm为道路最大限速,m/s;dm和um分别为车辆最大减速度与最大加速度,m/s2,此处dm为负值.

为使用DRL方法控制,需要对问题进行模型重构,建立MDP.

1.2 马尔可夫决策过程

MDP通过一个五元组(S,A,R,P,γ)描述智能体的决策过程.其中,S、A和R分别为智能体的状态空间、动作空间及奖励函数;P为环境转移的概率分布,表示在t时刻给定状态st∈S与动作at∈A的情况下,下一时刻状态转为st+1的概率;γ为衡量当前奖励与未来长期奖励相对重要性的折扣因子.当P已知时,可以基于有模型的数值迭代求解,但大多数时候P难以求出,因此通常使用无模型的强化学习方法进行控制.使用参数集合为θ的神经网络进行函数逼近,则智能体的目标为基于参数为θ的神经网络学习一个策略π(s,a|θ),使得其能够在决策过程中获得最大化的未来期望奖励,即

式中,rt∈R为t时刻智能体获得的累计奖励值.

为达到最优控制的目的,车辆需要学习一个最优的策略π*,使得该策略在策略空间Θ有

(6)

在传统的DRL方法中,π*一般通过环境与智能体的不断交互进行迭代更新.然而在离线强化学习中,智能体需要在一个静态的数据集γ中进行学习,D由一系列的智能体轨迹(st,at,rt,st+1)组成.在此情况下,需要对智能体的状态空间、动作空间与奖励函数进行定义.

1.2.1 状态空间

网联车智能体应具备基于少量观测信息即做出正确决策的能力.为减少状态空间的维度,本文以四维向量对状态空间进行定义:

st={dr(t),vr(t),φ(t),G(t)}T

(7)

式中,dr(t)为车辆至交叉口停车线的距离与车道长度L的比值;vr(t)为当前速度与道路限速的比值;φ(t)为当前绿灯剩余时间,s,如果当前信号灯在车辆运动方向为红灯,则φ(t)=0;G(t)为当前时刻到下一次绿灯开放的时间.dr(t)可以通过高精地图或V2I通信获取,vr(t)可由车辆仪表盘给出,φ(t)和G(t)可基于V2I通信传输的SPaT信息计算得到.φ(t)的计算公式为

(8)

1.2.2 动作空间

根据车辆的动力约束,以车辆的加速度作为智能体动作输入,其值应该处于车辆的加速度可行域中,即at∈[dm,um].考虑到安全性和速度的物理意义,算法输出的加速度在某些情况并不能被直接应用于车辆的运动,需进行一定的约束.车辆加速后可能会导致追尾事故,或在红灯期间越过信号交叉口停车线,因此需要用车辆跟驰模型对动作进行修正,即

(9)

(10)

1.2.3 奖励函数

奖励函数应与目标函数(1)的形式相匹配,即将车辆智能体运行过程中时间消耗指标与能源消耗指标同时纳入考虑.直接以车辆的总延误或总旅行时间作为奖励会面临信用分配的问题,即网联车必须在通过交叉口前停车线后才能计算出整个过程中的时间或能源消耗.该情况下,每一时间步的动作对总消耗的贡献程度难以衡量.因此,本文使用单个离散时间步下的纵向运动距离x(t)作为车辆运动效率指标的替代,则相应的复合奖励函数为

rt=ω1x(t)+ω2F(t)

(11)

在传统的DRL算法中,通过环境与智能体的接口,智能车可以根据MDP定义进行策略评估与迭代,从而收敛到最优策略.但在离线强化学习算法中,需要在未知行为策略πu控制下收集的数据集中进行训练,且对未知行为策略的优劣不具备任何先验知识.本文提出的方法是在传统GLOSA系统控制下搜集的少量静态仿真数据中通过BCQ算法进行策略学习,并证明所得到的策略在较低延误的情况下能够降低车辆油耗.

2 离线强化学习算法

图2对在线强化学习与离线强化学习的流程进行了对比.在线强化学习一般通过智能体与环境交互过程中产生的轨迹直接更新策略,或将轨迹数据储存到经验池,并按照批量从经验池提取数据进行策略迭代.离线强化学习则是将任意的行为策略πu在环境执行动作后搜集到的轨迹数据储存至经验池,以离线方式对策略进行迭代训练,学习较好的策略以部署在新环境中.

(a) 在线强化学习

离线强化学习任务通常会面临分布偏移与价值函数高估的问题.具体而言,将在离线数据集Υ上训练得到的策略部署在新环境中时,智能体与环境发生交互观测到的状态与离线数据中的状态集合分布存在不一致现象.策略仅能对与Υ中数据分布相同的输入实现最优动作的输出,但对于新的状态动作(st,at)对应的Q值无法准确估计,且通常会对价值函数进行高估,此处的Q值为给定策略π下的状态价值函数:

(12)

相应地,当Q函数对错误动作的价值高估时,就会选择这些实际收益可能非常差的动作,从而导致执行动作后系统表现较差.离线强化学习算法的主要任务就是解决分布偏移的问题,使得智能体在静态数据集中学习的策略能够较好地适应新环境.

BCQ算法在选取能最大化Q值的动作时,并不考虑动作空间中所有可能的动作,而是通过约束选择出现在离线数据集Υ中的动作,即其执行的动作大多与未知行为策略πu执行过的动作保持一致[25].在这种情况下,行为策略πu应当具备较好的表现.

BCQ算法通过训练一个变分自编码器(VAE)进行行为策略重建,即生成可能来自数据集Υ中的动作,接着使用对动作at进行扰动的扰动网络对生成的动作进行微调.

令Gψ={Eψ1,Dψ2}表示VAE,其中Eψ1、Dψ2分别表示encoder和decoder,则VAE的参数集合ψ的损失函数为

(13)

用ξϑ(s,a)表示参数为ϑ的扰动网络在特定状态动作对(s,a)下的输出,则策略函数可定义为

π(s,a)=a+Φξϑ(s,a)

(14)

式中,a为VAE中decoder的输出;Φ为扰动因子.Φ使得智能体可以在一定的区域内采样动作,而不仅仅依靠生成器生成.基于此,策略π可以在备选动作中选取能最大化Q值的动作,即

L(θi)=Est,at,rt,st+1~Υ[(y-Qθi(st,at))2] (16)

其中,

(17)

目标网络的更新规则为

(18)

式中,λ和τ分别为Q网络和目标Q网络的更新权重参数.

最后,扰动网络的参数损失函数为

J(ϑ)=Est~Υ,at~Dψ2(st,z)[Qθ(st,π(st,at))] (19)

3 实例分析

3.1 仿真配置与数据集建立

本文在SUMO环境下进行仿真系统的搭建,算法使用Python语言编写,算法与仿真环境通过SUMO的Traci接口进行交互,以达到车辆控制的目的.表1给出了相关的仿真参数配置.

表1 仿真参数设置

本文建立了单交叉口与多交叉口2种仿真环境.在单交叉口环境,进口道长度为300 m;而在多交叉口环境,连续3个交叉口的进口道长度分别为300、500、400 m.目标车辆以[0,vm]区间内的随机速度驶入路网,且在车辆驶入路网前,信号灯进行[0,Ts]区间内随机时间的预加载,以使得车辆能够遇到不同信号相位的情况.通过随机速度与随机相位时间的仿真,可以证明算法的鲁棒性.此外,将奖励函数的权重参数设为ω1=1、ω2=2,以平衡对运行效率与能耗经济性的相对重要性.

为获取用于离线强化学习算法训练的数据集Υ,本文使用SUMO中内嵌的GLOSA系统作为行为策略.该策略基于简单的规则进行车速控制:当车辆接近亮红灯的信号控制时,将预估以当前速度到达停车线的时间与交通灯转为绿灯的时间进行对比,若无法通行,则进行减速;当车辆接近亮绿灯的交叉口控制时,将预估到达停车线时间与绿灯剩余时间进行对比,若可以通行,即进行加速操作.考虑真实交通环境,目前乘用车上大多预装有诸如GLOSA的车速建议系统,通过收集真实车辆轨迹数据与网联交通灯数据,可以处理形成真实情景的数据集,即可实现方法由仿真到实际的迁移.本文为证明方法的实用性,通过仿真收集了1 000条数据,通过一系列仿真实验证明基于少量数据,结合所构建的马尔可夫决策过程,BCQ算法训练的智能体也能具备较好的表现.

对于BCQ算法的参数,本文采用网格搜索与人工调整相结合的方式,最终确定Q网络、目标Q网络、扰动网络的学习率均为0.001,同时采用隐藏层单元数目为256的单隐藏层全连接网络,使用Relu激活函数对输出进行非线性处理.训练数据的批量大小为100,扰动因子Φ为0.05,奖励折扣系数γ为0.99,并且每步采样100个动作进行选择.

3.2 单交叉口仿真实验

对于单交叉口场景,基于1 000条轨迹数据将BCQ智能体训练50 000步,将训练好的智能体部署在新的仿真环境中.将SUMO内置默认的车辆跟驰模型、BCQ算法和GLOSA系统进行对比.进行100次仿真以消除随机性影响,每次仿真均在随机时刻以随机速度在路网生成车辆并施加控制,对车辆旅行时间和油耗的分布统计结果分别如图3(a)和(b)所示.将旅行时间定义为车辆从生成位置,途径各个路段到通过最后一个交叉口耗费的时间.可以发现,BCQ算法控制下的车辆在旅行时间与油耗方面的中位数均低于另外2种方法.

(a) 单交叉口旅行时间对比

表2展示了100次独立仿真的平均结果.在单交叉口场景下,相比于默认的车辆跟驰模型,BCQ算法控制的车辆可以节省约25.14%的燃油消耗,相比于GLOSA系统可以节省13.78%的油耗.同时,该方法可使得车辆旅行时间略微降低,证明基于BCQ算法的策略接近全局最优策略.

表2 单交叉口平均评价结果对比

3.3 多交叉口仿真实验

类似地,将在单交叉口仿真环境训练的智能体部署到多交叉口环境中进行仿真.当且仅当车辆进入通信范围Rc后才进行基于GLOSA或者BCQ算法的控制.图4为对某个场景的采样,在该场景中,信号相位、车辆初始速度均设为相同值以进行变量控制.由图可见,BCQ算法控制的网联车轨迹更为平滑.同时,网联车基于自身位置与SPaT信息,在强化学习算法控制下进行运动决策,可以使其通过适当的加减速来规避红灯,从而降低其能耗.由图可见,SUMO中的GLOSA系统在第1个交叉口实现了不停车通行,但在后续交叉口前依然出现停车等待现象. 同时,BCQ算法训练的智能体在部分路段学习到了匀速运动策略,这一运动方式可以帮助车辆更好地提升燃油经济性.

(a) 车辆轨迹对比

同样进行100次独立的仿真测试,表3对比了不同控制方法下的平均旅行时间与油耗水平.可知,在多交叉口场景下,相比默认跟驰模型,BCQ算法能够节省超过11.49%的燃油消耗,同时其仅牺牲了1%的运行效率.其优化效果相较单交叉口场景发生衰减,主要原因为:① 智能体为单交叉口场景下训练得到,部署在新的场景中适应性发生下降;② 在通信范围以外的区域,车辆仅进行跟驰运动,导致整体优化比例下降.但这也符合在真实交通场景下部署的要求,即使面对新的情况,在一定通信水平下,离线强化学习算法训练的智能体仍然能够达到节能控制的目的.

表3 多交叉口平均评价结果对比

3.4 不同通信范围下控制表现

考虑到现实情况下V2I通信水平的发展,在不同通信范围的情况下,交叉口信号灯的有效通信范围可能不同.为测试通信范围Rc对控制结果的影响,将Rc依次设为100、150、200、250、300 m,将在进口道为300 m的单交叉口情景下训练的智能体部署在多交叉口环境,针对每种通信范围,均进行100次独立的仿真实验,以评估算法的有效性.

图5为不同通信范围下网联车平均旅行时间与油耗的变化情况.其中误差线代表对应情况下100次实验的数据标准差.通过图5(a)可以看出,随着通信范围的增加,车辆的平均旅行时间略有下降,但其趋势并不是非常明显.旅行时间标准差有较为明显的减弱趋势,证明通信水平的提升可以使控制算法表现得更加稳定,减少了极端情况的发生.由图5(b)可知,车辆的油耗随着通信范围的增加有明显的下降趋势,且标准差也明显下降,说明BCQ算法训练的智能体在较大的V2I通信覆盖范围下更容易逼近全局最优策略.

(a) 车辆旅行时间随通信范围变化曲线

4 结论

1) 以智能网联汽车在城市信号交叉口的节能

通行控制过程为研究对象,考虑车路协同环境下V2I通信的便利性,提出适用于强化学习的马尔可夫决策过程,并基于BCQ算法实现离线强化学习.

2) 相比于传统DRL算法,本文为强化学习在车辆控制场景的应用提供了更具实践意义的方案.仿真表明,在单交叉口场景与多交叉口场景下,车辆的能耗可分别节省25.14%和11.49%,且车辆的延误几乎没有增加.此外,本文对不同V2I通信范围下的控制结果进行了对比,研究表明,通信范围越大,生态驾驶的效果与稳定性越好.

3) 未来研究中,将考虑在不同规模训练样本集下的对比,以探究在不同行为策略和数据集中如何进行更鲁棒地学习,将该方法推广到车队控制,从而最大限度挖掘智能网联车路协同系统的效益.

猜你喜欢

交叉口网联离线
城市道路平面交叉口的渠化设计
基于卷积神经网络的离线笔迹鉴别系统
基于Web的城市交叉口虚拟仿真实验教学系统
基于VISSIM的光侨路与圳园路交叉口改善分析
基于云控平台雾计算架构的网联汽车路径控制
城市道路平面交叉口设计研究与实践
新版Windows 10补丁离线安装更简单
新势力“网联”动了谁的奶酪?
网联大考
网联出世,“收编”第三方支付