基于GSA-BP神经网络PID的智能车速度控制仿真研究

2022-10-10 09:25龚永康
计算机应用与软件 2022年9期
关键词:控制算法车速局部

龚 凡 龚永康

1(广东技术师范大学天河学院 广东 广州 510540) 2(广东技术师范大学 广东 广州 510665)

0 引 言

无人驾驶智能车利用车载摄像机、激光/微波雷达、GPS等传感器实现对周边环境的感知,进而构建包含车辆自身状态信息、道路信息和障碍物信息在内的局部行驶地图,并根据一定的准则实现对行驶方向和速度的实时控制,保证车辆安全可靠行驶。无人驾驶智能车技术能够有效地减少公路交通的拥堵,大幅提高运输效率,同时具备更高的安全性,自20世纪60年代以来,人类就开始了对该技术的研究[1-3]。作为一种典型的多学科融合技术,近年来自动控制、人工智能、计算机和微电子等技术的飞速发展极大地推动了智能车技术的进步[4]。

实际工程应用中,由于智能车所处的公路交通路况复杂,不同车辆过弯以及载货量差异等不确定因素的存在,造成智能车的巡航控制呈现出典型的非线性、非平稳、时变和不确定性等特点,因此如何精确、快速和稳定地实现智能车速度控制是当前研究的难点和热点[5-7]。目前国内外学者的研究主要集中在两个方向:采用传统的控制理论和采用人工智能的控制理论。其中传统控制理论通常需要对被控对象构建精确的数学模型,控制精度与数学模型的精度成正比,而智能车作为一种高度复杂和强耦合的非线性系统,只能采用简化的数学模型对其描述,导致传统控制方法的控制效果较差,常用的传统控制方法有比例-积分-微分(Proportional Integral Derivative,PID)控制、线性二次型控制等[7-10];人工智能控制理论是将传统控制方法与人工智能手段结合而兴起的一种新的控制方法,控制精度不依赖于被控对象的精确数学模型,具备在线学习和多任务并行处理能力,特别适合于模型未知的复杂非线性系统,因此被广泛应用于智能车速度控制领域。文献[11]将模糊控制理论与PID结合,利用模糊PID控制器实现对智能车车速的控制,具备高精度和响应速度快的优势。文献[12-14]提出将神经网络和PID进行结合构建出智能车速度控制方案,利用MATLAB建模并通过仿真实验进行分析,结果表明所提方法相对于模糊PID控制能够获得更高的控制精度和系统稳定性。然而文献[13]的分析表明,神经网络PID控制虽然能够获得更高的系统动态和更好的稳定性,但是模型初始参数的选取对控制结果影响较大,常用的经验试凑法在选择初始参数时存在主观性强和工作量大的问题。文献[14-17]提出利用遗传算法、模拟退火等优化算法对神经网络模型的模型参数进行自动寻优,在一定程度上解决了该问题,但是遗传算法存在局部搜索能力较差并且理论不完善的缺点,而模拟退火算法存在全局搜索能力不足、易陷入局部极小值等问题,因此该类方法在面对复杂场景时会出现表现不稳定、抗干扰能力差等问题。

针对上述问题,本文提出一种基于遗传模拟退火(GSA)优化的BP-PID控制算法,利用BP神经网络的自学习、自适应能力对PID的控制参数进行调整,同时针对BP-PID的初始参数选取问题,利用GSA的全局搜索能力优化BP神经网络模型的学习过程,避免其陷入局部极值的同时提升控制精度和稳定度。

1 BP-PID控制算法

PID控制即比例、积分、微分控制,是当前工业控制领域中应用最为广泛的一种控制方式,具备算法简单、鲁棒性好和可靠性高等特点。其基本原理是根据系统的预设值和实际输出值构成控制偏差,将偏差按照比例(P)、积分(I)和微分(D)通过线性组合构成控制量,利用该控制量实现对被控对象的反馈控制。作为一种典型的线性控制器,其性能的优劣取决于P、I、D3个参数的整定,然而在复杂路况中实现智能车速度控制是一个典型的非线性、时变性和非平稳性控制问题,直接使用PID控制会出现参数整定不良、稳定性差的问题[18]。

BP(Back Propagation)神经网络作为一种典型的多层前向反馈神经网络,具备任意线性表达能力,即BP神经网络能够逼近任何一个连续且有界的非线性函数,因此可以利用BP神经网络根据系统的运行状态实时、自适应地调节PID的参数kp、ki和kd。

图1给出了利用BP-PID控制器对智能车车速控制的控制结构,可以看出整个控制系统由两部分构成:

图1 BP-PID控制原理

1) 传统PID控制器,根据当前kp、ki和kd的值完成对智能车速度的闭环控制。

2) BP神经网络控制,根据系统运行状态,通过网络的自学习能力实现对kp、ki和kd3个参数的实时在线调整,保证系统工作在高精度的稳定工作状态。其中kp、ki和kd对应BP神经网络输出层的3个神经元。

BP-PID控制系统中,PID系统的输入为智能车的实际车速与预设车速之间的偏差e(t)=y(t)-v(t),则根据增量式PID控制算法可以得到PID控制量u(t)的值,同时对其进行离散化可得:

(1)

式中:Ti表示积分时间参数;Td表示微分时间参数。

根据式(1)可以得到PID控制增量为:

Δu(k)=u(k)-u(k-1)=

kp[e(k)-e(k-1)]+kie(k)+

kd[e(k-1)-2e(k-1)+e(k-2)]

(2)

图2 3层BP网络结构

(3)

(4)

网络输出层的输入输出可以表示为:

(5)

(6)

BP-PID的性能指标函数为智能车的目标车速v(k)和实际车速y(k)之间的均方误差:

(7)

(8)

式中:g′(·)=g(x)(1-g(x));f(·)=(1-f2(x))/2;α为惯性系数;η为学习率。

根据上述分析可以得到BP-PID控制算法流程为:

(2) 记录此时实际车速y(k)和目标车速v(k),计算此时的性能指标函数e(k)=v(k)-y(k)。

(3) 根据式(2)、式(3)和式(5)计算得到此时的网络各层的输出,从而获取PID控制器的可调参数kp、ki和kd。

(4) 根据式(8)在线调整网络权值。

(5) 判断是否满足迭代终止条件,如不满足,令k=k+1,返回步骤(2)。

BP-PID控制算法的性能受网络初值的选取影响较大,例如在图3示意的优化问题中,存在唯一的最小值C,如果网络初值选在e点或者f点,则根据梯度下降算法可以得到最优解,但是如果网络初始值选在a、b、c、d点,则最终会陷入局部极小值A和B点,无法实现最优的控制。

图3 存在局部极小值时优化问题示意

2 基于GSA优化的BP-PID控制算法

智能车车速控制系统作为一种典型的复杂非线性系统,在求解过程中必然存在很多局部极值,因此需要对BP-PID算法进行优化从而保证其能获得全局最优解。针对该问题,本文将遗传算法(Genetic Algorithm,GA)引入模拟退火(Simulated Annealing,SA)模型,将GA的全局搜索能力和SA的局部搜索能力相结合,提出一种GSA-BP-PID控制算法,在获取全局最优解的同时提升算法的稳定性和收敛速度。

2.1 GSA算法

GA是一种模拟大自然中生物自然选择和进化过程的随机搜索计算模型,在算法的每次迭代过程中,通过选择、交叉和变异等操作对生物个体进行筛选,产生更适应于自然环境的生物集合,通过多轮迭代更新直至获取最优解,具有较强的全局寻优能力,但是局部搜索能力较弱并且收敛速度慢[19-21]。

SA算法是一种描述固体物质退火过程的随机优化算法,理论上能够以概率1收敛于全局最优解。根据Metropolis准则,SA算法在迭代过程中如果寻找到一个局部最优解时,会赋予它一个跳出该局部最优解的概率,从而保证其能够最终趋近于全局最优。SA算法的优点是局部搜索能力强,收敛时间短,但是全局搜索能力差[22-23]。

本文将GA和SA算法的优势相结合,提出遗传模拟退火算法(GSA),基本思想是首先利用GA进行全局搜索,将当前条件下得到的最优解作为SA算法的初始值,然后利用SA算法进行局部搜索,并将获得的满足Metropolis准则的解作为下一轮迭代中GA的初始种群,依次往复迭代,全局搜索和局部搜索交替进行,直至满足终止条件。

2.2 GSA-BP-PID智能车车速控制算法流程

所提GSA-BP-PID智能车车速控制算法流程如图4所示,具体步骤描述如下。

图4 GSA-BP-PID算法流程

步骤1BP网络结构初始化。根据所要描述的具体问题设置网络的输入神经元个数、隐层节点个数和网络层数。

步骤3自适应遗传操作。

(2) 对当前种群进行选择、交叉和变异,并得到当前的最优种群。

步骤4SA算法参数初始化。将步骤3(2)中得到的最优种群作为SA算法的当前初始解。

步骤5模拟退火操作。

(1) 计算当前初始解对应的目标函数S。

(3) 利用Metropolis准则判断是否接受新解。

(4) 判断是否满足SA算法终止条件,若不满足进行降温,循环模拟退火操作,否则跳至步骤2,并将SA算法得到的新解作为GA的初始种群。

3 仿真实验与结果分析

3.1 仿真架构

为了验证所提GSA-BP-PID算法在智能车车速控制中的性能,在MATLAB/SIMULINK中搭建图5所示的仿真架构,仿真模型的输入目标车速选取本课题组在市郊某路况录取的12分钟实测车速,车速变化如图6所示,可以看出该段实测数据的速度变化范围较大,在0~96 km/h之间。整个路况的车速变化大致可以分为如下6段:

图5 仿真架构

图6 某实际路况车速测试数据

(1) 0~100 s范围内,车速从0一直加速到约80 km/h。

(2) 100~265 s范围内,反复出现了减速和加速模式。

(3) 265~300 s范围内,车速从80 km/h一直减速到46 km/h。

(4) 300~350 s范围内,车速一直加速到96 km/h。

(5) 350~720 s范围内,车速维持在80~96 km/h。

(6) 720~766 s范围内,车速一直减为0。

实验中BP神经网络结构设置为3-6-3,GA初始种群P=[α,η,w(2),w(3)],取值范围下限设置为Pmin=[0,0,0.01,0.01],取值范围上限设置为Pmax=[1,1,40,40]。利用所提GSA算法对BP-PID控制系统进行优化后,参数的收敛过程如图7所示,可以看出只需要10次左右的迭代,系统就可以达到收敛状态,收敛时α=0.05、η=1、w(2)=20.2、w(3)=7.9。

(a) 参数α

(b) 参数η

(c) 参数w(2)

(d) 参数w(3)图7 参数优化曲线

3.2 控制精度及平稳性

智能车速度控制的首要目的是安全性和稳定性,车速控制的精度是保证车辆安全性的关键。因此本文中对所提GSA-BP-PID方法的控制精度与GA-BP-PID方法[14]和SA-BP-PID方法[17]的进行对比,仿真实验中上述3种方法的车速跟踪结果如图8(a)所示,图8(c)给出了3种方法的速度跟踪误差。图8(b)和图8(d)分别为图8(a)和图8(c)的局部放大图。

(a) 速度跟踪结果

(b) 速度跟踪结果局部放大

(d) 速度跟踪误差的局部放大图8 GSA-BP-PID、SA-BP-PID和GA-BP-PID的速度跟踪结果

可以看出,所提GSA-BP-PID方法的速度跟踪误差在[-0.671 9,0.760 3]范围内,而SA-BP-PID方法的跟踪误差在[-2.209 9,2.686 6]范围内,GA-BP-PID方法的跟踪误差在[-4.536 8,4.365 4]范围内,表明GSA-BP-PID方法在3种方法中可以获得最高的控制精度。为了进一步定量对比3种方法的性能,采用跟踪误差均值emean对算法的全局控制精度进行评估,采用跟踪误差的方差estd对算法的控制稳定度进行评估。

(9)

表1给出了对3种控制算法得到的跟踪结果分别计算上述2个物理量的值。可以看出3种方法速度控制误差均值emean分别为0.185 4、0.625 5、1.086 8,GSA-BP-PID最小,表明其能够获得最优的全局跟踪精度;3种方法跟踪误差的方差分别为0.234 6、0.780 4、1.358 0,同样是GSA-BP-PID最小,表明其能够获得最高的控制稳定性。表2给出了3种方法在前述6种不同运动状态下PID控制器比例kp、积分ki和微分kd3个参数的整定结果。

表1 3种方法控制误差指标

表2 3种方法在不同运动状态下参数整定结果

综合上述实验结果可知,所提GSA-BP-PID在3种方法中可以获得最高的控制精度和最优的控制稳定性。

4 结 语

智能车技术的发展对缓解交通拥堵、提升交通运力和同行安全性具有重要意义。但是智能车的运行环境复杂多变,使得智能车车速控制呈现出典型的非线性、非平稳和时变性特征,传统PID控制器难以满足控制要求。针对该问题,本文提出一种基于遗传模拟退火算法优化的BP神经网络PID控制系统,利用GSA算法优化BP神经网络的初值,提升收敛速度的同时避免其陷入局部计值,进而利用GSA-BP神经网络的自学习能力实时调整PID的控制参数,提升系统的控制精度和稳定度。基于MATLAB/SIMULINK的仿真试验表明,本文方法的跟踪误差均值为0.185 4,远低于传统SA-BP-PID和GA-BP-PID方法;本文方法的跟踪误差方差度为0.234 6,同样明显低于传统SA-BP-PID和GA-BP-PID方法。

猜你喜欢
控制算法车速局部
高速公路反向曲线驾驶员车速感知规律
日常的神性:局部(随笔)
凡·高《夜晚露天咖啡座》局部[荷兰]
轻度火力
基于dSPACE和PLC的控制算法测试系统设计
跑跑卡丁车
丁学军作品
汽车前端冷凝器进风不均匀性分析
基于DCS的过程实时控制平台的研究
卫星姿控系统半物理仿真中转台控制算法的实现