张良 祁永芳 赵晓敏 张国栋 蒋瑞洋
(合肥工业大学,合肥 230009)
主题词:无人驾驶 轨迹跟踪 门控循环单元 多点预瞄
轨迹跟踪控制作为无人驾驶系统中关键的执行层控制技术,主要控制车辆的横、纵向运动,使车辆沿着参考轨迹行驶,是影响智能车辆安全性与舒适性的关键技术[1-2]。
20 世纪80 年代,郭孔辉院士提出“预瞄-跟随”理论,自此,轨迹跟踪控制研究主要应用该理论开展[3]。胡杰等[4]提出一种基于模糊线性二次型调节器(Linear Quadratic Regulator,LQR)的智能汽车路径跟踪控制方法,采用单点预瞄PID方法进行转角补偿,并使用模糊调节策略改善控制器适应性较差的问题,但在初始曲率变化时会出现较大的路径偏离。查云飞等[5]针对线控转向车辆的轨迹跟踪问题,提出基于横摆角速度对转向盘转角的稳态增益修正系数搭建单点预瞄模型,实现了将预瞄控制与线控转向变角传动比控制相结合。程慧等[6]研究了基于两点预瞄的轨迹跟踪模型,但在预瞄时间内通过曲率变化较大处,会产生偏差。杨浩等[7]提出了一种基于三点预瞄的智能控制补偿驾驶员模型,以车速、航向角、中点侧向误差为输入,转向盘转角为输出的模糊智能控制驾驶员模型,并对转向角进行补偿校正,但路径跟踪的稳定性有待改进。张炳力等[8]研究了基于模糊神经网络的智能汽车轨迹跟踪控制,利用反向传播(Backpropagation,BP)神经网络对车速进行预测,并将其输出和侧向偏差等参数作为模糊神经网络的输入,控制转向盘转角,但BP神经网络和模糊神经网络的局限性导致跟踪精度不高。Li等[9]基于循环神经网络(Recurrent Neural Network,RNN)的驱动程序模型开发了一个数据驱动的类人驾驶员模型,能在弯曲的道路上获取转向盘角度,但在数据量较大时会出现梯度爆炸消失的问题。Zhang等[10]基于门控循环单元(Gate Recurrent Unit,GRU)网络进行动态滑坡预测,避免RNN网络的梯度爆炸消失问题的同时展现了良好的时序预测能力。赵颖等[11]在探究车辆轨迹跟踪模型的性能时,分别构建基于预瞄的纯跟踪算法、前轮反馈控制算法和模型预测控制(Model Predictive Control,MPC)算法的车辆模型,并在不同工况下进行仿真,结果表明,MPC 模型的跟踪性能最优,但是计算复杂度也更大。Pang 等[12]提出了一种非线性模型预测控制(Nonlinear Model Predictive Control,NMPC),通过实车验证了其能够提高车辆的轨迹跟踪能力,但由于模型收敛速度慢,存在一定的延时。
针对预瞄模型受曲率变化影响不稳定的问题,本文在前人研究的基础上建立了多点预瞄轨迹跟踪模型,同时结合GRU 神经网络对时序序列良好的预测能力,设计了GRU优化的多点预瞄轨迹跟踪控制模型,以较好地实现对目标道路轨迹的跟踪,提高轨迹跟踪控制的循迹精度。
本文采用线性二自由度车辆模型作为控制系统的参考模型,如图1所示,并作如下假设:车辆以恒定速度行驶在平坦的路面上;前轮转角足够小;忽略空气动力学的影响。
图1 线性二自由度车辆模型
车辆的轨迹跟踪控制由侧向轨迹跟踪控制和纵向跟踪控制组成,而道路预瞄偏差主要由车辆的侧向控制影响和决定,因此,这里将车辆动力学模型进行解耦,建立车辆侧向动力学模型[13]。
根据牛顿第二定律,结合车辆前、后轮受力,有:
式中,m为车辆质量;ay为车辆在y方向的加速度分量,由车辆沿车身横向运动产生的平动加速度和车身横摆运动产生的向心加速度vxω组成;vx为纵向车速;ω为横摆角速度;Fyf、Fyr分别为前、后轮侧偏力;δf为前轮转角。
根据力矩平衡,有:
式中,IZ为转动惯量;lf、lr分别为质心与前、后轴的距离。
车辆在y方向的加速度分量为:
式中,ψ为航向角。
将式(3)代入式(1),得:
假定汽车前、后轮速度方向与x轴的夹角分别为θvf、θvr,则前、后轮侧偏角分别为:
汽车前、后轮受到的侧偏力分别为:
式中,Cαf、Cαr分别为前、后轮侧偏刚度。
假设汽车以恒定速度运动,可得:
将式(9)、式(10)代入式(1)、式(2),因δf较小,故cosδf≈1,化简并整理可得线性二自由度车辆动力学模型的状态方程为:
2.2.1 单点预瞄模型
单点预瞄模型[14]假设驾驶员的视线集中于车辆前方固定距离的某一点,且车辆以恒定的车速和航向角行驶,预测车辆在固定的预瞄时间后的轨迹与预期轨迹之间的横向位移偏差,为使车辆逼近预期轨迹行驶,通过控制算法尽量减小横向位移偏差,如图2所示。
图2 单点预瞄模型
车辆以恒定的车速和航向角沿着预期路径曲率半径为r的一段圆弧行驶,令|OP1|=h、|CP1|=d,由图2可知,预瞄偏差e为:
由余弦定理可得:
式中,γ为质心侧偏角。
预瞄偏差e为:
式中,v为车辆速度。
转向盘转角δ与前轮转角δf只相差一个系数,即δ=8δf。
2.2.2 两点预瞄模型
两点预瞄模型综合考虑道路前方远、近2个区域的信息来指引行驶,如图3所示。其中近点为距离车辆前方不远处的预期路径上的一点,远点为弯道行驶时车道内侧边缘上的切点。近点和远点对应预瞄点的横向位移偏差分别为e1、e2,如图3所示。
图3 两点预瞄模型
则两点预瞄总位移偏差为:
式中,ω1=e1/(e1+e2)、ω2=e2/(e1+e2)分别为近点与远点的预瞄加权系数。
2.2.3 多点预瞄模型
为了在实际行驶过程中得到更多的道路信息,可采用多点预瞄[16]。预瞄点信息包含大地坐标系中的坐标(x,y)、道路曲率ρ、位移s、道路切线与x轴间的角度ψ。多点预瞄模型如图4所示,其中Pi为预瞄点,ei为预瞄偏差。
图4 多点预瞄模型
综合车速和预瞄时间的影响,拟选取的预瞄距离表达式为:
式中,d0为常量;dp(t)为t时刻预瞄点Pi与车辆质心的距离;tp为预瞄时间。
由图4可知,各预瞄点的坐标为:
式中,(xp(t),yp(t))为预瞄点Pi的坐标;(xc(t),yc(t))为车辆质心坐标;Ai为第i个预瞄点到车辆质心的距离与拟选取预瞄距离的比值;φ为航向角。
第i个预瞄点的预瞄误差为:
式中,(xQ(t),yQ(t))为车辆实际位置坐标。
在多点预瞄模型中,各预瞄偏差的权重和即为多点预瞄的总偏差:
式中,ωi=ei/(e1+e2+e3+…+en)为第i个预瞄点的预瞄加权系数,表示对不同预瞄点的重视程度;n为预瞄点数量。
2.3.1 评价指标
最大位移偏差为:
平均位移偏差为:
均方根误差为:
2.3.2 对比分析
将上述3种预瞄模型在双移线路径上以36 km/h的车速进行仿真对比,横向位移偏差对比结果如图5 所示,转向盘转角的对比结果如图6所示。
图5 3种预瞄模型跟随双移线的路径对比
图6 3种预瞄模型跟随双移线的转向盘转角对比
表1和表2所示分别为3种预瞄模型跟随双移线的路径和转向盘转角对比结果。由表1、表2可知,当车速为36 km/h 时,多点预瞄的横向位移综合偏差最小。其次,在转向盘转角方面,多点预瞄的转角平顺性明显优于单点和两点预瞄模型,但在曲率变化较大处跟随效果不佳。
表1 3种预瞄模型跟随双移线的路径对比结果分析
表2 3种预瞄模型跟随双移线的转向盘转角对比结果分析
GRU 是RNN 的一种,与长短期记忆(Long-Short Term Memory,LSTM)相同,是为了解决长期记忆和反向传播中的梯度等问题而提出的。GRU神经网络的记忆单元结构如图7所示[17-18]。
图7 GRU网络记忆单元结构
在t时刻,GRU的输入为xt,前一时刻隐藏层状态为ht-1。首先将xt和ht-1连接成新的向量,作为重置门和更新门的输入:
式中,rt为重置门的输出;Wrx为重置门对应输入的权重矩阵;Wrh为重置门对应隐藏层的权重矩阵;[xt,ht-1]为xt和ht-1连接而成的输入向量;br为重置门的偏置矩阵;zt为更新门的输出;Wzx为更新门对应输入的权重矩阵;Wzh为更新门对应隐藏层的权重矩阵;bz为更新门的偏置矩阵;σ(x)=1/(1+e-x)为sigmoid 激活函数,输出值的范围为(0,1)。
输入转换、单元状态更新:
最后计算出当前时刻隐藏层输出的ht:
GRU网络的评价指标为平均绝对误差:
GRU 神经网络由1 个输入层、2 个隐藏层和1 个输出层组成,在训练过程中,每个隐藏层含有50 个神经元,GRU 的学习率为0.001,迭代次数为150 次,在PyCharm中进行代码编写及运行。
由CarSim和Simulink联合仿真得到的车辆车速、横向位移偏差、横摆角速度、前一时刻转向盘转角[19]数据作为GRU 网络的输入,输出预测的下一时刻转向盘转角如图8所示。
图8 GRU网络优化示意
训练样本共2 600 组,将车辆无横向偏差通过预期路径时得到的参数作为GRU 网络训练数据,将车辆采用多点预瞄模型通过预期路径时输出的参数作为验证数据,训练过程如图9 所示,网络训练的均方根误差为0.13 m,平均绝对误差为0.11 m。预期路径与GRU网络优化验证路径对比如图10 所示,由图10 可见,GRU 网络对轨迹跟踪具有良好的效果。
图9 GRU模型训练误差与验证误差曲线
图10 预期路径与GRU网络优化路径对比
针对上述模型,在合肥工业大学驾驶模拟器上进行验证。驾驶模拟器由仿真硬件平台、已校准的车辆模型和试验管理软件共同组成,并将其整体称为硬件在环(Hardware-In-the-Loop,HIL)系统,如图11所示。
图11 驾驶模拟器基本组成
设置预期路径分别为双移线路径和S型曲线路径,给定恒定车速为36 km/h,基于车辆二自由度模型,分别搭建多点预瞄轨迹跟踪模型和GRU 优化跟踪模型,利用驾驶模拟器进行相关操作,如图12 所示。验证结果对比如图13、图14所示。
图12 驾驶模拟器验证过程
图13 多点预瞄和GRU算法跟随双移线结果对比
图14 多点预瞄和GRU算法跟随S型曲线结果对比
多点预瞄模型输出的位移偏差是每个时刻预瞄道路多个点的平均位移偏差,在曲率变化较大处虽然相比单点、两点预瞄模型的精度有所提高,仍然存在一定的偏差,而GRU 网络具有对时序序列数据强大的预测能力和收敛能力,两者结合可以大幅度改善多点预瞄模型的跟踪精度和稳定性。
表3、表4所示为多点预瞄和GRU网络优化的双移线路径和转向盘转角对比结果,表5和表6所示为多点预瞄和GRU 网络优化的S 型路径和转向盘转角对比结果。从表3~表6 的试验结果可以看出,基于GRU 神经网络优化的多点预瞄轨迹跟踪模型在双移线道路和S型道路上均具有良好的跟踪特性,跟踪精度高,且转向盘转角平顺。
表3 多点预瞄和GRU算法跟随双移线的路径对比结果分析
表4 多点预瞄和GRU算法跟随双移线的转角对比结果分析
表5 多点预瞄和GRU算法跟随S型曲线的路径对比结果分析
表6 多点预瞄和GRU算法跟随S型曲线的路径对比结果分析
本文针对智能汽车的轨迹跟踪精度问题,基于预瞄理论和神经网络模型,提出了一种基于GRU 神经网络优化的多点预瞄轨迹跟踪模型。该模型在双移线路径和S 型曲线路径上均较单一的预瞄模型有更佳的跟踪效果。
验证结果表明,GRU 优化的轨迹跟踪模型在直道行驶和弯道行驶时均能实现较高的精度和较好的稳定性,展现了良好的跟踪能力。