APP下载

基于改进BP神经网络的智能车纵向控制方法

2022-09-05秦兆博边有钢胡满江

汽车工程 2022年8期
关键词:工况控制器神经网络

梁 旺,秦兆博,陈 亮,边有钢,胡满江

(湖南大学,汽车车身先进设计制造国家重点实验室,长沙 410082)

前言

智能汽车自动驾驶技术因其能够有效提高行驶安全性、缓解交通拥堵、降低能耗,正逐渐成为近年来的研究热点。纵向控制是该领域的核心技术之一,主要研究车辆按照预定的速度巡航或与前方动态目标保持一定距离的能力,平顺、精确且可靠的速度跟踪是智能汽车成功的基础。纵向控制方法可分为直接式控制与分层式控制。直接式控制将车辆视为一个非线性多变量系统,根据车辆模型和参考速度直接生成期望制动压力或节气门开度,常采用比 例 - 积 分 - 微 分(proportion-integrationdifferentiation,PID)控制、自适应控制等方法实现。例如,Kim 等提出了一种基于特征集总参数的线性化纵向车辆模型,并开发了参数自适应速度控制策略。该方法集成度较高、响应迅速,但由于模型的非线性特性,通过单个控制器难以实现多性能控制。为了降低纵向控制系统的设计难度,许多研究者基于分层控制结构进行控制器设计,上层控制器产生期望车速或者期望加速度,再通过下层控制器计算期望制动压力与油门开度以实现纵向控制。例如,Zhu等提出了结合自适应模型预测控制和逆纵向车辆模型的分层速度控制方法,该方法对建模不确定性和外部干扰具有鲁棒性,可实现高精度的速度控制。宾洋等提出了一种分层鲁棒控制策略,该方法利用非线性干扰解耦和变结构控制中滑动模的不变性特性,针对模型中存在的外界干扰、参数不确定性和非线性特性具有强鲁棒性。分层控制通过模型解耦来降低模型复杂度,但同时也会存在较大的建模误差。

由于车辆纵向动力学涉及油门、制动、发动机、传动等车辆子系统,具有高度非线性及参数时变等特性,这导致建立精确的车辆纵向动力学模型极其困难,并在很大程度上限制了基于模型的纵向控制方法。因此在无法精确建模的情况下,常采用PID 等直接式控制方法,其具有结构简单、鲁棒性强、可靠性高等优点,但需要通过专家经验或大量现场试验不断调整控制参数来优化效果。而神经网络拥有强大的学习能力和数据处理能力,可根据实际情况自适应调节控制参数。例如,Huang等基于反向传播(back propagation,BP)神经网络设计了离线和在线整定BP-PID 控制器用于车辆横向稳定性控制,前者可快速计算车辆所需的直接偏航力矩,后者通过在线整定达到较高的横向稳定性控制精度。文献[11]中基于神经网络实现了自动调整PID 增益集,并且通过欠驱动微型ROV 验证了该方案的有效性。因此通过融合神经网络可有效解决单一PID 控制参数固定且不易整定的问题。

基于上述分析,本文中提出了一种基于改进BP神经网络的智能汽车纵向控制方法,分别针对车辆驱/制动模式设计了不同的BP 神经网络,并利用粒子群算法和批处理归一化方法对神经网络进行改进,网络输出作用于PI 控制器,在基于误差实现快速调整参数的同时提高车辆纵向速度控制精度。

1 基于改进BP 神经网络的纵向控制系统

本文中所设计的基于改进BP 神经网络的纵向控制系统结构如图1所示。考虑到驱/制动模式下车辆纵向动力学行为存在显著差异,分别构建驱/制动模式下的BP神经网络,网络初始参数由粒子群算法(particle swarm optimization,PSO)离线训练获取。

图1 基于改进BP神经网络的纵向控制系统框架

所设计的纵向控制系统运行步骤如下。

(1)根据车辆反馈状态及参考轨迹计算预瞄速度误差。

(2)判断控制模式。基于预瞄速度误差的驱/制动模式切换逻辑如下:

式中:()表示时刻控制模式;e()为预瞄速度误差;Δ为死区偏置量,保证驱/制动模式的平稳切换。

(3)判断BP 神经网络参数是否重新初始化。根据预瞄速度误差是否超过阈值来判断是否进行BP 网络初始化,初始参数由PSO 算法离线训练获得。

(4)正向输出驱/制动控制器参数。当判断为驱动或制动模式时,改进BP神经网络根据输入进行计算,输出相应控制器的参数、。

(5)反向自学习修正网络参数。BP网络基于梯度下降法修正网络参数,新参数用于下一时刻BP网络的正向计算。

(6)限制、参数的变化量。为防止由于参数变化过快而可能出现的控制不稳定,限制PI 参数变化,以时刻取值为例:

式中:()表示时刻BP 网络输出的值;Δ =() -()为变化量;Δ为允许最大变化量。

(7)驱/制动PI 控制器计算油门开度或制动压力控制指令,传给车辆底层。

(8)置=+ 1,返回步骤1。

现对上述纵向控制系统中基于改进BP 神经网络的参数在线整定、基于PSO 的网络离线优化进行说明。

1.1 基于改进BP神经网络的参数在线整定

BP 神经网络是一种按照误差反向传播训练算法的多层前馈神经网络,具有复杂的模式分类能力和良好的多维函数映射能力。如图2 所示,本文中采用3 层BP 神经网络实现PI参数在线整定,分别包括输入层、隐含层和输出层。

图2 改进BP-PI控制器中的BP网络结构

输入层选取与速度控制相关的3 个变量,包括:预瞄速度偏差()、期望速度()、当前速度()。为保证网络的稳定性,在输入层加入常数项1,故输入层节点数为4。输出层节点对应PI 控制的两个可调参数、,故数目为2。隐含层节点数参考经验公式:

式中:为隐含层节点数;、分别为输入层、输出层节点数;∈(1,10)。

根据上述经验公式计算值,选取隐含层节点数为10,最终确定BP神经网络结构为4-10-2。

对于BP 神经网络中隐含层及输出层神经元激活函数的选择,考虑到输出层节点对应PI 控制的两个非负参数、,其激活函数选取非负的Sigmoid函数:

若隐含层仍选取Sigmoid 函数,由于该函数的梯度随增大或减小均趋于0,反向传播时可能产生“梯度消失”现象,导致网络层的参数不再发生变化。因此隐含层选取梯度固定的线性整流(rectified linear unit,ReLU)函数:

输出层的Sigmoid 激活函数使得“梯度消失”现象仍可能发生,本文采用Batch Normalization 批处理归一化方法对BP神经网络进行改进,并通过改进BP 神经网络的正向输出和反向传播实现控制器参数自整定。

1.1.1 Batch Normalization批处理归一化

针对“梯度消失”现象,Batch Normalization 批处理归一化方法考虑将Sigmoid 函数的输入分布始终保持为正态分布,以尽可能避免陷入梯度过小区域。其基本步骤如下。

(1)基于Batch 数据计算输出层节点处输入的均值。假设每个节点传入个训练样本(由实际运行过程中存储历史数据而得到),第个输出层节点的第个样本数据输入表示为

(2)计算每个节点处输入的方差:

(3)根据均值和方差,将输出层的输入分布更改为正态分布:

经上述变换,输出层的输入分布满足均值为0,方差为1。但这一方面会导致数据表达能力的缺失,另一方面也会使得输入在经过Sigmoid 激活函数时,容易陷入其线性区域。因此,Batch Normalization又引入两个可学习参数与。这两个参数的引入是为了恢复数据本身的表达能力,对规范化后的数据进行线性变换,即

式中参数与随BP 网络的反向传播而发生改变。通过、的引入,在一定程度上保证了输入数据的表达能力。

1.1.2 正向输出

输入层的输入和输出为

式中:上标(1)代表输入层;x()、()分别为时刻输入层第个节点的输入和输出。

隐含层的输入、输出分别为

输出层的输入、输出分别为

式中:上标(3)代表输出层;第1、4 项分别为该层输入和输出;第2、3 项表示针对输出层输入的Batch Normalization批处理归一化。

由于Sigmoid 函数的值域为(0,1),取值范围可能无法满足PI控制器,故使用、两个增益来满足PI 控制的输出强度,且分别限制、在(0,)、(0,)之间变化,可得网络输出结果为

1.1.3 反向传播

定义性能指标函数为

式中:()为参考速度;()为用于BP 网络反向传播的预瞄速度偏差,其预瞄时间常数另外选取,记Δ。考虑求导方便,在性能指标函数中引入系数1 2。

按照梯度下降法修正网络参数,通过()对加权系数的负梯度方向搜索调整,同时加入动量项提高网络性能,则输出层的权值调整量为式中:为学习速率;为动量因子。

将上述7 项代入权值调整量表达式,可得输出层权值调整量为

其中:

Batch Normalization 批处理归一化的可学习参数γβ的调整量为

同理可得隐藏层权值调整量为

基于改进BP 神经网络的参数在线整定的步骤归纳如下:

(2)获取时刻预瞄速度和车速,计算该时刻预瞄速度偏差() =() -();

(3)计算网络正向输出结果,即为时刻PI控制器参数()、();

(4)基于当前预瞄速度偏差进行网络反向传播,更新后的参数值用于下一时刻计算;

(5)置=+ 1,返回(2)。

1.2 纵向控制器设计

本文选用位置式PI控制,结合改进BP神经网络设计BP-PI控制器,该结构如图3所示。

图3 驱/制动BP-PI控制器

位置式PI控制的离散化计算公式为

式中:()为期望油门开度或制动压力值;()为预瞄速度偏差;∑()为偏差累积和;()、()分别为驱/制动比例、积分系数。

式(23)的()取预瞄速度偏差可有效降低PI控制响应延迟的影响,其根据驱/制动模式定义为

式中:()为车辆当前速度;()为预瞄点处的参考速度。预瞄点可根据预瞄距离对参考路径进行遍历搜索而得到,参数的计算公式如下:

式中:为预瞄距离;为车辆当前速度;Δ为预瞄时间常数;为最小预瞄距离。

2 基于PSO的网络离线优化

BP 神经网络的初始参数在很大程度上影响着网络自学习的收敛速度,因此需要合理确定初始值。PSO 算法是一种基于种群行为对既定目标进行寻优的新型群智能仿生算法,原理简单、调节参数少、收敛速度快,且容易实现,可用于优化目标函数和进行神经网络训练等。

本文中采用PSO 算法对改进BP 神经网络进行离线优化,算法流程见图4,步骤如下。

图4 基于PSO算法离线优化网络的流程图

(1)确定粒子维度。根据驱/制动BP 神经网络结构,计算参数数量,确定粒子维数。

(2)设置PSO 算法参数,初始化种群。设置种群规模、学习因子与、最大迭代次数,计算初始个体极值和全局极值。

(3)计算适应度值。适应度函数表示为整个速度跟踪过程中的速度误差均方根值。

(4)更新个体及全局极值。比较粒子的适应度函数值、个体极值和全局极值并进行更新,公式如下:

式中:v()为时刻第个粒子速度;x()为第个粒子位置;、为(0,1)范围内的随机数;、分别表示当前迭代次数和允许最大迭代次数;为随迭代次数不断变化的惯性权重;、为最小、最大惯性权重值。

(5)更新粒子速度与位置。根据式(27)~式(29)更新粒子速度和位置。

(6)判断迭代是否结束。当达到最大迭代次数或相邻全局极值之差小于所设阈值,算法结束,输出最优解;如不满足,返回步骤(3)。

(7)利用所得最优解,初始化驱/制动模式下的BP神经网络参数。

3 仿真分析

为验证所提出的基于改进BP 神经网络的智能汽车纵向控制方法(简称改进BP-PI 控制),本文基于Carsim/Simulink 搭建了仿真模型,针对一种包含加速、减速和匀速行驶的综合工况进行了仿真。同时为进一步验证该方法的改进效果,将其与常规PI控制、SMC 滑模控制进行对比分析。常规PI 控制参数选取经人为调试后的固定数值:(1)驱动=10、=0.6;(2)制动=10、=0.55。仿真所用部分参数见表1。

表1 仿真验证部分参数

图5(a)、图5(b)、图5(c)、图5(d-e)和图5(f)分别表示3 种控制器的速度跟踪结果、速度误差、纵向加速度、驱/制动、参数变化和驱/制动模式切换过程。结合图5(a)局部放大图及图5(b-e)进行分析:(1)起步阶段,在= 0 时,基于预瞄速度误差进行驱动控制量计算导致3 种控制器均出现超调,常规PI 及SMC 控制出现了-0.6 m/s 的超调误差,如图5(b)所示。而改进BP-PI 基于负的速度误差进行网络自学习以减小驱动、参数(见图5(d)放大图),从而降低输出的期望控制量,其超调误差为-0.47 m/s,相较于常规PI 及SMC 控制降低约21.7%。随着参考速度增大,改进BP-PI 将驱动、参数分别保持在13 和0.87附近波动,提高了PI输出强度,在=0~200 m 内获得了更小的速度跟踪误差,此时制动、保持不变;(2)350~450 m的驱动阶段,该阶段内改进BP-PI 使驱动、参数均大于固定PI参数值,保证车辆在加速-匀速行驶过程中快速跟踪目标速度,匀速过程中改进BP-PI 的速度误差为0.01 m/s,而常规PI 和SMC 控制的速度误差分别为0.05 和-0.1 m/s。需要注意的是,、参数在变化到一定数值后不再显著增加或减小,主要原因是Batch Normalization 批处理归一化改变了输出层输入的分布和Sigmoid函数值域的限制;(3)520~580 m的制动阶段,该阶段内制动BP 网络通过自学习使得制动参数值在该阶段显著增大,制动参数保持在11.5附近波动,使车辆在由驱动切换到制动后快速获得足够的制动压力,该阶段内改进BP-PI、常规PI的最大速度误差分别为-0.39 和-0.58 m/s,峰值误差降低约32.8%。而SMC 控制在该阶段末制动-驱动切换不及时,导致车辆纵向加速度急剧变化(图5(c)所示),产生了1.64 m/s的最大误差。

图5 仿真结果对比

从上述分析可以发现,改进BP-PI 通过神经网络实现参数动态调整,使其参数值在固定PI 参数值的一定范围内变化,获得了相比于常规PI 控制器更高的纵向控制精度。SMC 控制与改进BP-PI 的速度误差较为接近,但从整体速度误差及最大误差来看,所提出的改进BP-PI 效果最优,侧面验证了本文基于改进BP 神经网络对PI 控制的改进效果。图5(e)给出了车辆跟踪过程中的驱/制动模式切换过程,表明3 种控制器均能实现平稳的驱/制动模式切换。

4 实车验证

本文基于图6所示的林肯MKZ无人驾驶平台对所提出的方法进行测试验证。该平台配备差分全球定位系统(DGPS)和惯性测量单元(IMU),这些传感器能够直接测量车辆的位置、速度和加速度等信息,底层采用线控模块,可以实现油门、制动、转向和换挡系统的自动化。各模块算法基于ROS用C++语言实现。本研究中,车辆所跟踪的目标路径和速度为事先采集好的一系列轨迹点。用于实车验证的算法部分参数见表2。

表2 实车验证部分算法参数

图6 林肯MKZ实验平台

本文使用两种测试工况评估所设计的纵向控制器,包括:(1)低速工况,速度范围0~20 km/h;(2)高速工况,速度范围0~40 km/h。以常规PI控制器作为基准控制器,参数选取:(1)驱动= 10、= 2;(2)制动= 6、= 2。表3 给出了两种控制器的实车验证结果分析。

表3 实车验证结果分析(t>2 s)

4.1 低速工况

图7(a)、图7(b)、图7(c)、图7(d-e)、图7(f)和图7(g-h)分别给出了两种控制器在该工况下的速度跟踪结果、速度误差、纵向加速度、驱/制动、参数变化曲线、模式切换过程和期望油门/制动控制量对比结果。结合图7(a-f)进行分析可知:(1)=0~10 s 内。由于起步阶段选取预瞄速度误差的影响,常规PI 及改进BP-PI 均出现起步超调现象,如图7(a)所示。此时改进BP-PI 基于速度误差快速减小、参数值,图7(d)显示了改进BP-PI的驱动、参数变化过程,其中值从10 减小至3.3,值从2减小至1.5。随后在=5~10 s 内改进BP-PI 增大控制参数以提高输出强度,使其在该时间段内最大速度误差为0.37 m/s,而常规BP-PI 最大速度误差为-0.55 m/s,峰值降低约32.7%;(2)=15~20 s 内。常规PI在=16 s时通过固定控制参数计算出相较于改进BP-PI更大的期望制动压力,导致其出现了制动-驱动-制动的控制模式切换,进而产生了最大为1.13 m/s 的速度误差,而改进BP-PI 通过降低制动、参数避免了模式切换的发生,该阶段其速度误差峰值仅-0.34 m/s,并且图7(c)的纵向加速度对比结果同样表明:在=15~20 s 时,常规PI 控制因模式切换导致加速度存在波动,改进BP-PI 控制具有更好的平顺性及舒适性。

图7 低速工况结果对比

从对比结果可以看出:相较于常规PI 控制,改进BP-PI 能够在低速工况中通过动态调整参数有效降低速度误差,并在一定程度上减少了模式切换的发生,实现了平稳、舒适的的纵向跟踪。

4.2 高速工况

高速工况的参考速度曲线如图8(a)实线所示。其中图8(a)下图标记了常规PI 在驱动、制动阶段的控制效果,对比图8(a)上图可以发现:在两个标记处,改进BP-PI 的控制效果明显优于常规PI 控制。其速度误差对比反映在图8(b)。其结果表明:(1)在=27~35 s 的驱动阶段,常规PI 最大速度误差为1.06 m/s,改进BP-PI 最大速度误差为0.85 m/s,该阶段最大速度误差降低约19.8%。(2)在>40 s的制动阶段,常规PI 和改进BP-PI 的最大速度误差分别为1.406 和0.81 m/s,最大值降低约42.4%。尽管图8(c)的纵向加速度曲线显示改进BP-PI在该阶段存在加速度波动,但并未引起驱/制动模式切换(如图8(f)所示),且获得了更小的速度误差。

图8(d-e)为两种控制器的驱/制动、参数对比结果。可以发现:=15~35 s 内,网络通过反向传播使驱动、参数分别增加至13和2.4附近,且大于固定值10 和2,使改进BP-PI 控制器更适用于该时间段内的高速行驶。而在>41 s 内,网络使制动、参数分别下降至3 和1.5 附近,避免了常规PI出现的制动过大,从而产生了更小的速度误差。图8(h)给出了期望控制量变化曲线。

图8 高速工况结果对比

从结果可以看出:、参数的变化体现出改进BP 神经网络动态调整参数以提高纵向控制精度的特点,且在除起步外的整个过程中,改进BP-PI 的速度误差始终小于常规PI,表现出改进BP-PI 误差曲线包含于常规PI误差曲线内。

该方法也适用于多车场景。例如随着自动驾驶车辆商业化进展加快,诸如港口、矿山都在进行规模化运营,由于不同车的纵向特性存在差别,若单独对每辆车进行调试,人力及时间成本较高。而采用本文所提的纵向控制方法,则只需给定适当的初始控制器参数,算法自行实现在线整定,从而节省调试时间。

5 结论

本文提出了基于改进BP 神经网络的智能汽车纵向控制方法,该方法针对驱/制动模式分别建立BP神经网络,利用粒子群优化算法和批处理归一化方法解决BP 神经网络存在的初始网络参数选取和反向自学习存在梯度消失等问题,最终实现控制器参数的动态自整定。通过Carsim/Simulink 联合仿真和实车测试进行了验证,仿真和实验结果表明:相比于传统PI控制,所提出的基于改进BP神经网络的纵向控制方法能够针对不同速度工况实现快速调整控制器参数,同时提高车辆纵向控制精度。

猜你喜欢

工况控制器神经网络
基于MCTS-HM的重型汽车多参数运行工况高效构建方法
南京溧水电子3款控制器产品
热网异常工况的辨识
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
论工况环境温度对风压传感器精度的影响
水泥生料立磨压差变参数二型模糊控制器设计
西安市公交线路模态行驶工况构建
基于NFV的分布式SDN控制器节能机制