APP下载

基于深度强化学习的高速公路换道跟踪控制模型

2022-02-01李文礼邱凡珂廖达明任勇鹏

汽车安全与节能学报 2022年4期
关键词:轨迹误差函数

李文礼,邱凡珂,廖达明,任勇鹏,易 帆

(1.重庆理工大学 汽车零部件先进制造技术教育部重点实验室,重庆 400054,中国;2.重庆理工清研凌创测控科技有限公司,重庆 400054,中国)

高速公路行驶工况具有车速快、车辆多等特点,驾驶员很容易在换道时操作失误,导致碰撞事故发生。根据数据统计,在中国大陆,换道引发的交通事故约占总事故的10%[1],因此对高速公路换道行为进行控制是智能汽车控制技术中尤为重要的一部分。其中换道路径的规划是能否高效安全完成换道任务的前提和基础;对换道路径的精准跟踪则是成功换道的关键,许多学者对这2 个方面进行了深入研究。

车辆换道路径规划方法主要分为基于搜索、概率、几何等[2]。基于搜索和概率的方法存在实时性较差的缺点,在对实时性要求较高的自动驾驶领域中使用较少。而基于几何的方法使用参数化曲线描绘轨迹,规划结果直观、精确,运算量相对更少。

WANG Chang 等人[3]针对车道变换过程采用七次多项式车道变换模型对车辆进行控制,结果表明该模型适用于不同速度的车道变换轨迹规划。杨刚等人[4]基于五次多项式函数设计换道曲线,将轨迹参数求解问题转化为约束设计和解目标函数问题,通过设计优化指标确定换道轨迹,取得了良好的效果。闫尧等人[5]为了追求换道过程中的舒适性和平稳性,利用五次多项式换道轨迹方法,同时建立了平均曲率最小、曲线长度最短的多目标函数,规划出了智能车辆的最优轨迹。

在路径跟踪决策控制方面,常用的方法包括基于规则与基于学习[6]。基于规则的方法主要参考专家经验或交通规则,结合具体场景进行合理控制,但缺乏灵活性,在动态变化的复杂交通行驶场景下无法很好控制。基于学习的方法则是通过离线学习复杂场景中的驾驶员数据信息获得合理驾驶策略,然后直接利用从当前驾驶环境中感知到的信息输出控制指令给车辆,使车辆更接近人类驾驶特性行驶。对于换道路径跟踪决策控制来说,由于换道过程属于连续状态的动作,可采用深度强化学习的方法,利用深度神经网络对连续状态空间下的决策问题进行处理,从而达到从传感器输入到执行器输出的端到端控制。WANG Pin 等人[7]提出了一种基于深度Q 网络(deep Q-network,DQN)算法的强化学习方法,训练车辆完成自动变道行为控制,获得了高效、平稳、安全的最佳变道驾驶策略。贺伊琳等人[8]针对轨迹跟踪过程中横向控制问题,提出了一种基于深度确定性策略梯度(deep deterministic policy gradient,DDPG)算法的智能车辆轨迹跟踪方法,通过验证表明基于DDPG 方法所用学习时间较短,跟踪误差较小。裴晓飞等人[9]针对连续动作空间下的自动驾驶换道决策,采用双延迟深度确定性策略梯度(twin delayed deep deterministic policy gradient,TD3)算法,考虑安全性、行车效率和舒适性等因素构建了自主换道模型。

综上,本文基于深度强化学习DDPG 算法研究高速行驶场景下智能车辆换道过程。首先利用五次多项式搭建换道路径模型并建立跟踪误差函数,然后将车辆与规划的换道路径之间的跟踪过程描述为试错式深度强化学习过程,将车辆三自由度动力学模型融入深度强化学习环境中,与深度强化学习主体Agent 进行交互并传递自车与规划的五次多项式换道路径之间的横向误差、横摆角角误差等信息,主体以DDPG 算法进行更新,构造相应的Actor-Critic 神经网络,输出换道前轮转角信息,完成对换道轨迹跟踪过程中期望前轮转角的学习,实现车辆换道决策控制。最后通过Matlab/ Simulink 搭建上述换道决策模型,并构建相应场景对决策模型的性能进行测试,验证了该换道控制模型的有效性。

1 深度强化学习及换道场景概述

1.1 深度强化学习

深度强化学习是深度学习与强化学习结合的产物,既具有深度神经网络的特征提取能力又包含强化学习的决策优势,能基于深度神经网络解决从感知到决策控制的端到端学习[10]。

强化学习方法通过与环境交互进行试错学习,使模型自主探索得到控制系统最优决策,其基本模型框架用Markov 决策过程(Markov decision process,MDP)来描述[11]。Markov决策过程,可用表示环境状态空间S、行为动作空间A、状态转移概率函数P、奖励回报函数R的四元组<S,A,P,R>来刻画。强化学习问题最终目的是求解模型最优策略,在该策略下能得到最大累积奖励期望值。引入值函数用于判断策略的优劣,包括状态值函数和动作值函数。求解值函数有基于表格的和基于数值的2 种函数逼近方法。前者是构造一张表格,其中,将状态值作为行、将动作值作为列,通过持续循环迭代更新表中的数值,但状态空间集合较大时求解难度增大。因此基于值函数即通过深度神经网络逼近最优值函数获得最优控制策略的方法应用越来越广泛。

1.2 车辆高速换道场景

根据换道动机和周围环境影响因素,换道行为可分为强制换道和自由换道2 种,其中自由换道是为了更好的驾驶环境和更高的驾驶效率而进行换道操作。在高速公路场景中以自由换道比较常见,所以本文只针对自由换道行为进行研究。介于车辆换道行为主要发生在低密度交通流行驶过程中,本文只考虑处于交通流密度较低的高速公路双车道平直路面环境中,前方车辆缓行时本车向左侧变道情况。

图1 为高速公路换道场景示意图。

图1 高速公路双车道换道场景示意图

车辆从当前行驶车道初始位置A向左驶入目标车道并最终换到目标位置B。当横向位移达到车道宽度W时视为换道完成。根据我国的公路建设行业标准,取车道宽度W=3.75 m。

对高速行驶车辆做以下简化:

1)x轴方向保持匀速行驶;

2) 当开始换道时不受其他车辆干扰;

3) 由于高速自主换道速度较高,换道过程中航向角较小,因此假设车辆横向与纵向速度间影响忽略不计。

2 基于深度强化学习车辆高速换道模型

2.1 换道路径模型

车辆在高速公路场景下的换道路径模型首先需要选择换道轨迹线型。换道轨迹需要满足以下要求:

1) 满足实际驾驶情形,并是可以实现的;

2) 一阶、二阶导函数需要连续可导;

3) 轨迹变化平稳且光滑。

在关于换道轨迹的研究中,较多使用多项式曲线作为换道轨迹。多项式曲线具有计算量小、轨迹光滑、曲率连续、适应性强、可靠性高等优点,而且只需要知道车辆换道的初始和结束时刻的运动状态,可适用于复杂交通状况下的换道轨迹规划。在多项式换道轨迹中通常使用五次或七次多项式,多项式函数表达式为:

根据函数表达式对2 曲线的轨迹进行仿真对比,如图2 所示。

由图2 可知:五次多项式具有更小的横摆角峰度以及更平滑的横摆角变化,换道过程中产生的横向加速度更小,具有更佳的稳定性和舒适度。本文采用五次多项式曲线对车辆换道进行换道轨迹的规划,换道轨迹示意图如图3 所示。

图2 多项式换道轨迹对比

图3 换道轨迹示意图

假设换道初始位置和结束位置均在车道中心线上,换道起始点纵向位置设为x(t0),起始横向位置为y(t0),经过横向位移W,纵向位移D完成换道后恢复直线行驶,换道终止时车辆的纵向位置设为x(te),横向位置为y(te)。根据换道过程知换道轨迹曲线函数应满足以下条件:

式中:vx0为车辆初始时刻的纵向速度,vxe为结束时刻的纵向速度,t0为换道开始时刻,te为换道持续时间即终止时刻。

将上式代入(1)可得五次多项式系数ak,即:

由此可得换道参考路径的侧向位置y关于换道纵向总位移D、换道横向总位移W、换道参考路径的横向位置坐标x的表达式:

根据换道过程中纵向速度不改变的假设,即vx0=vxe=vx,上式可表示为关于换道时间t的曲线函数(其中td为换道过程总时间):

2.2 跟踪误差函数

完成五次多项式换道路径规划后需要对参考路径进行跟踪,涉及到横向轨迹跟踪时主要通过横向位置偏差ey和横摆角速度偏差eε进行跟踪[12],因此构建对应的换道路径跟踪误差函数。根据安装在车辆上的传感器等设备获取当前的车辆位置信息,通过对比参考路径在当前时刻下横向位置信息可计算出横向位置偏差。考虑到在换道过程中并没有一条实际道路,无法直接通过摄像头获得道路曲率,因此通过规划的参考路径曲率来代替实际道路曲率[13],进而求出期待横摆角速度。

若令:vy为车辆横向车速,ay为车辆横向加速度,f代表参考路径的某一点,表示参考路径在某一点的导数;则由上述换道参考路径表达式计算出待追踪的五次多项式路径的曲率为

结合车辆纵向速度和道路曲率可求出期望横摆角速度γrel=vx ρ,再通过对比车辆当前时刻的横摆角速度可以获得横摆角速度偏差eε。

2.3 换道路径跟踪控制模型

结合换道路径跟踪误差函数,采用DDPG 算法控制自动驾驶车辆完成换道路径的跟踪,实现换道驾驶过程,跟踪控制模型总体算法框架如图4 所示。

图4 换道跟踪决策控制算法框架

算法框架包括强化学习训练和应用验证过程:在强化学习训练过程中,强化学习智能体作为控制器,通过输出被控车辆的前轮转角进而控制车辆跟踪换道轨迹。换道过程中的车辆位置信息和五次多项式参考路径信息输入给跟踪模型拟合出强化学习状态信息St输出给智能体,同时根据输出的信息构建奖励函数,智能体综合状态信息和回报值根据训练策略做出控制动作At控制车辆调整运动状态,此时车辆位置信息发生变化,进入下一控制状态St+1,回报函数根据上一状态值做出的动作所获得的反馈信息进行评估并更新奖励Rt+1,智能体更新策略并最终获取最佳控制策略。训练结束后进行应用验证,将最佳控制策略输出给决策层,并根据感知层中本车的运动状态和生成的换道轨迹等状态信息输出动作,控制车辆完成换道过程。

2.3.1 车辆动力学模型

对于换道路径跟踪控制首先需要建立被控制对象的车辆动力学模型,而换道路径的跟踪控制主要关注车辆的侧向运动和位姿,因此搭建了仅考虑沿y轴的侧向运动、绕z轴的横摆运动和沿x轴的侧倾运动的三自由度简化车辆动力学模型[14]。

根据Newton 第二定律得出汽车动力学方程为

式中:Iz为车辆绕轴的转动惯量;lf和lr分别为质心到前、后轴的距离;δf为车辆前轮转角;为车辆横摆角;Cf、Cr分别为前后轮轮胎刚度。

根据上述公式建立车辆动力学模型,其中:Cf、Cr、lf、lr为车辆参数,当输入前轮转角δf后,可得,车辆当前的横向速度Vy、横向加速度ay、横摆角ψ等信息。

2.3.2 Markov 决策过程建模

1) 状态空间。

状态空间是用来帮助自动驾驶汽车确定做出决策后发生的情况,所选取的状态量需要全面反映当前时刻下车辆的所有特征值[15]。在车辆换道轨迹跟踪控制中的状态量主要包括车辆与规划换道轨迹之间的横向误差ey、横摆角速度偏差eε以及两者的积分值和跟踪路径曲率ρ,除此之外还包括通过自车传感器所获取的当前时刻下相对起始点的横向位移dy、自车横向速度vy、横向加速度ay。其状态空间定义为

式中:ey为车辆与规划换道轨迹之间的横向误差,eε为横摆角速度偏差,t为时间,ρ为跟踪路径的曲率,dy为当前时刻相对起始点的横向位移,vy为自车横向速度,ay为横向加速度。

2) 动作空间。

动作空间中包含被控制车辆所需要执行的动作指令,在换道路径跟踪过程中主要是通过控制车辆的横向运动完成对路径跟踪的目的,因此动作空间为被控车辆的前轮转角δf。控制器结合上述的三自由度车辆动力学模型,将强化学习输出的前轮转角转化为车辆参数vx、vy、ψ的改变,车辆的位置信息(x,y)随之发生改变。其动作空间定义为

3) 奖励函数。

奖励函数的设置可引导智能体与环境的交互,使输出的动作决策能够接近最佳策略,在换道路径跟踪控制中奖励函数的设计用于调整输出的前轮转角动作值。换道路径跟踪的目标在于跟踪精准性、换道高效性、行驶舒适性,因此基于这几个方面设计奖励函数。

针对跟踪精准性,可根据横向位置偏差ey和横摆角eε速度偏差来评价,将横向位置偏差和角偏差的计算总和作为基础设计跟踪精准奖励函数Rf。当ey误差减小到0.05 m 以内时给予正值奖励H,当误差大于0.1 m 时给予惩罚,鼓励车辆减小与参考路径在横向和横摆角之间的误差值。令ω1、ω2、ω3分别代表各权重参数。精准性奖励函数为

针对换道高效性,给予与横向位移相关的正比奖励Re。鼓励车辆尽快完成换道过程,保证行车效率,当时间大于1 s 时若车辆的横向位移仍为0 则给予惩罚P,使自动驾驶车辆在规定时间能完成换道过程。高效性奖励函数为

式中,P为惩罚值。当运行时间大于1 s 时判断车辆的横向位移是否为0,若为0 则给予惩罚,若不为0 则随着横向位移增加,正比奖励值增大。

针对舒适性,前轮转向角越小,变化越平稳,换道行为决策舒适性也越好,因此基于前轮转角设计舒适性奖励函数Rc。舒适性奖励函数为

最终综合奖励函数为

其中,M为模型惩罚。

另外,对控制过程设置终止条件,当满足自车相对于初始位置横向位移|dy|=3.75 m 或横向位移偏差|ey|>1 m 时,终止当前回合,进入下一回合,并重新配置环境状态值;同时在触及终止条件时,给予模型惩罚M,以防止横向误差过大。

2.3.3 基于DDPG 算法的路径跟踪控制模型

对换道路径跟踪设计了基于DDPG 算法的控制模型,其中强化学习主体使用DDPG 算法更新策略。DDPG 算法属于异步策略算法中的一种,是基于Actor-Critic 框架的无模型算法,其网络结构如图5所示。

图5 DDPG 网络结构图

Actor-Critic 框架包括了Actor 和Critic 2 个神经网络。Actor 网络依据环境给出的状态观测量S预测出一个决策动作A,环境根据给出的动作计算出奖励r并产生一个新的状态;Critic 网络根据当前的状态量S和动作值A计算出奖励Q,然后通过Q更新Actor 网络的策略函数参数θμ,Critic 网络的参数θQ则根据智能体的奖励函数进行更新,通过循环迭代最终训练出最佳Actor 网络和最佳决策动作值。

为了解决采样样本相关性问题,算法使用一个经验回放池用于储存之前的动作状态转移序列(St,At,Rt+1,St+1),在梯度更新时随机地从经验池中抽取交互的样本。

为了克服网络更新不稳定的问题,DDPG 算法分别复制在线策略Actor 网络μ'和在线价值Critic 网络Q'作为其更新目标称为目标网络,在训练完一个小批量的数据后,通过软更新算法目标网络的参数。

另外,在探索训练过程中引入了随机OU (Ornstein-Uhlenbeck,奥恩斯坦-乌伦贝克)噪声N,将动作的决策过程从确定性变为一个随机过程μ’(S),再从这个随机过程中采样得到动作的值

对换道路径跟踪控制模型而言,DDPG 算法对神经网络进行学习更新的过程如下:

1) 主网络中的Actor 网络在状态量St下根据加入随机噪声的策略做出动作At并通过执行器控制车辆与环境交互进入下一状态量St+1及产生当前动作的价值Rt+1;

2) 将产生的样本数据(St,At,Rt+1,St+1)储存到经验回放池中,当存储一定数量的样本数据之后从中随机采样小批量样本数据(Si,Ai,Ri+1,Si+1);

3) 将目标动作和下一状态量共同作为目标网络中的Actor 网络的输入得到目标值Q'然后根据公式得到目标回报值

式中,γ表示折扣因子;

4) 通过最小化损失函数更新主网络的Critic 网络参数,将Si,Ai共同作为Critic 网络的输入得到实际值Q然后根据误差公式得到Critic 网络的误差,然后通过最小化误差对网络进行更新

5) 通过策略梯度△θμJ更新主网络的Actor 网络参数;

6) 采用滑动平均的方式对目标网络的Actor 和Critic 网络进行软更新,其中更新参数τ<<1:

3 模型仿真与分析

为了验证所提出基于深度强化学习的换道跟踪决策控制模型的有效性,本文利用MATLAB/Simulink仿真平台,采用DDPG 算法结合Simulink 中Agent 模块构建仿真环境,对智能车辆换道过程的路径跟踪过程进行仿真与分析。

3.1 仿真环境设置

强化学习仿真训练时采用的车辆模型参数如表1所示,根据车辆高速换道场景参数定义搭建仿真场景,设定在训练过程中被控车辆的初始位置固定为(0,0) m,纵向初始速度在15~30 m/s 之间随机取值,设定每个片段的仿真时间Tf=4 s,采样时间周期Ts=0.05 s,强化学习训练过程中的其他超参数如表2 所示,所有超参数的设置参考文献[8]及文献[15]并经过多次实验经验调整确定。

表1 智能车参数

表2 训练超参数

3.2 仿真模型的搭建

在MATLAB 中设计好DDPG 网络及仿真环境后,需在Simulink 中搭建基于DDPG 算法的换道跟踪控制仿真模型,设置被控车辆的位置和运动参数,与Agent交互状态、动作和奖励。仿真系统框图如图6 所示。

图6 仿真模型框架

路径生成模块根据每次随机的速度结合五次多项式生成换道路径并输出每个时刻下的纵向坐标值和横摆角给跟踪误差函数,结合车辆位姿信息和参考路径信息计算出横向误差和角偏差,将跟踪控制器分析状态观测值,根据训练好的跟踪策略输出车辆前轮转角对车辆进行换道跟踪控制,最终完成换道过程。动作值的奖罚信息会反馈给控制器,用于评价控制效果。

3.3 模型仿真测试及结果分析

3.3.1 模型训练

DDPG 算法学习过程中主要通过回合奖励和平均奖励值来反映训练的收敛水平和学习效果。图7 为该控制模型整个训练过程中的奖励值变化及最后100 个回合的奖励值变化。平均奖励值越高控制效果越好,实验过程一共进行了350 个回合的训练。在训练刚开始的阶段,奖励值较大且上下波动幅度较大,主要是由于此时智能体处于从零开始学习的过程,只是通过随机选择动作进行探索。随着训练回合数增加,奖励值开始减小同时波动幅度逐渐减小,证明此时智能体开始学习利用之前探索到的经验调整当前动作。在第33 回合左右及第64 回合左右时,奖励值出现一些幅度较小的波动,是由于DDPG 模型为了避免算法陷入局部最优解而加入了随机噪声的原因;在第93 回合左右之后波动又逐渐减小,在第117 回合左右之后奖励值开始增大,这说明此时开始探索到更优的策略,控制效果逐渐变好。在250 回合之后奖励值的波动趋于平缓,可以看出:此时算法基本收敛,智能体成功学习到换道路径跟踪的有效控制策略。

图7 模型训练奖励值变化情况

3.3.2 模型测试结果及分析

为了验证所设计的换道控制模型的可靠性及有效性,本文利用Matlab/Simulink 搭建控制模型仿真系统,建立对应的高速换道场景,分别采用所提出的基于DDPG 算法和MPC(模型预测控制)算法[16],分别选择初始车速60、100 km/h 对自动驾驶车辆换道路径进行跟踪,对仿真结果对比与分析。结果如图8-图13 所示。对于换道轨迹跟踪控制系统来说,控制目标是通过灵活调整前轮转角的控制量来不断减少跟踪轨迹与参考轨迹的误差,主要包括横向位置误差和角误差,要求车辆在换道过程中减小横向位置误差并且稳定角偏差。

图8 和图11 分别是60 km/h 低速和100 km/h 高速下横向位置跟踪值与规划参考值的对比图,

图8 60 km/h 车速下横向位置的跟踪值与规划参考值

图9 60 km/h 车速下横摆角的跟踪值与规划参考值

图10 60 km/h 车速下侧向加速度

图11 100 km/h 车速下横向位置的跟踪值与规划参考值

图9 和图12 分别为60 km/h 低速和100 km/h 高速下横摆角跟踪值与规划参考值的对比图。从图中看出:当低速情况下时2 种方法控制的横向误差绝对值的最大值分别接近5、35 cm;横向误差绝对值的最小值接近于0;角偏差绝对值最大值分别接近2、16 mrad,说明在低速情况下2 种方法均能完成对换道轨迹的跟踪。在高速情况下2 种方法控制的横向误差绝对值的最大值分别为0.12 m 和0.35 m 左右;角偏差绝对值最大值为10 mrad 和70 mrad 左右,可以看出DDPG 控制的横向位置误差绝对值相对更小,说明在高速的情况下所设计的控制系统基本可以准确跟踪参考轨迹,仅在换道开始的过程相对于参考路径有一定滞后,但考虑到车速较高,跟踪误差在可接受的范围内。而采用MPC控制方法在换道过程中产生了较大的横向偏差和角偏差,对换道路径的跟踪效果不佳。同时,DDPG 控制方法仿真时间较短,在3.2 s 时达到侧向位移3.75 m完成换道过程,而MPC 控制方法的仿真时长稍长,证明所提出的方法在高速情况下换道更具高效性,能在更短时间内完成换道过程。

图12 100 km/h 车速下横摆角的跟踪值与规划参考值

另外,图10 和图13 为换道过程中侧向加速度变化值对比图。从中可以看出:DDPG 控制下整个仿真过程中车辆侧向加速度变化率保持在一定范围内,保证了换道过程中驾驶员的舒适性,而MPC 方法控制在高速换道情况下时侧向加速度变化较大,可能会产生过大的转角而导致乘员产生不适感。

图13 100 km/h 车速下侧向加速度

综上所述,在车辆速度较低时DDPG 控制方法和MPC 控制方法均能很好地对换道轨迹进行跟踪,但在高速情况下DDPG 控制方法相对MPC 控制方法具有更高的跟踪精度和跟踪稳定性,并且保证了换道的高效性和舒适性。

4 结论

本文基于深度确定性策略梯度算法,利用五次多项式建立换道路径并给出跟踪误差函数,结合车辆三自由度动力学模型及深度强化学习框架设计搭建了一种高速换道路径跟踪控制模型。通过Markov 决策过程建立模型的状态空间、动作空间、奖励函数及终止条件,保证换道路径跟踪过程的精确性、高效性和舒适性。利用通过DDPG 算法进行更新的2 个神经网络对车辆输出动作进行调整,实现了对五次多项式换道路径跟踪控制策略的学习。将学习到的最优策略在设计的高速换道场景下进行验证。

结果表明:本文提出的控制方法在100 km/h 的高速情况下横向位置误差绝对值的最大值接近0,角偏差绝对值最大值为10 mrad,车辆侧向加速度变化保持在1 m/s2范围内,既保证了换道轨迹跟踪精度,同时具有良好舒适性。

猜你喜欢

轨迹误差函数
二次函数
第3讲 “函数”复习精讲
二次函数
角接触球轴承接触角误差控制
函数备考精讲
轨迹
轨迹
Beidou, le système de navigation par satellite compatible et interopérable
压力容器制造误差探究
轨迹