张英朋 孙晓东++石要武
摘要:采用基于径向基神经网络(RBFNN)模型的非线性模型预测控制方法,被控对象选择火花塞点火(SI)发动机的空燃比(AFR)高度非线性复杂系统,利用渐消记忆最小二乘法实现基于RBFNN的SI发动机AFR系统建模以及参数在线自适应更新。针对非线性模型预测控制中寻优问题,运用序列二次规划滤子算法对最优控制序列进行求解,并加入滤子技术避免了罚函数的使用。在相同的实验环境下,与PI控制算法和Volterra模型预测控制方法进行仿真对比实验,结果表明,所提算法的控制效果明显优于其他两种方法。
关键词:非线性模型预测控制;空燃比;RBF神经网络模型;序列二次规划
中图分类号:TP273文献标识码:A
1引言
目前,研究精确有效的空燃比(Airfuelratio,AFR)控制方法对降低汽车尾气污染物排放、提高燃油利用率以及发动机整体性能均有着重要意义。研究表明控制AFR在14.7附近时发动机的动力输出和燃油消耗达到最佳平衡。目前三元催化器的使用是汽车的一场革命,三元催化器的工作效率直接影响着汽车尾气的排放,准确的控制AFR可以提高三元催化器的工作效率,研究显示,当控制AFR低于14.7-1%时导致CO和HC的排放量急剧增加,当AFR高于14.7+1%时NOx排放陡升50%。
研究汽车发动机AFR的控制精度的关键问题是如何解决发动机高度非线性问题。目前生产的电控单元使用查表与PI反馈回路控制器相结合来对AFR进行控制。这种方法对高度非线性的SI发动机系统达不到精确的控制,近些年对AFR控制的研究中,Manzie[1]提出了一种径向基函数神经网络(RBFNN)为基础的方法来解决燃料喷射控制的问题,并发现,该网络适用于估计进入气缸的空气质量流速。在此基础上,随后他又提出了模型预测控制(MPC)方法对AFR进行控制研究,把RBFNN作为空气系统的观测器并且利用积极集的方法对模型预测控制算法进行二次规划求解。但是线性模型仅适用于围绕一个特定操作的小区域。而对于对发动机的控制要求而言,由于空气燃油摄入量都是非线性的,所以适用于小范围操作区域的控制方法达不到精确控制的效果。因此,研究一种在全部区域有效的非线性控制模型是有重要意义的。
本文提出了一种基于RBFNN的AFR系统非线性模型预测控制方法。利用RBFNN对SI发动机AFR系统建模,具有参数在线自适应、辨识精度高结构简单等优点,但这类模型是属于一种“黑盒子模型”,其模型内部参数无法得到利用,这会导致该模型的控制算法的计算量相对较大。本文选用了只利用神经网络预测序列的SQP方法作为模型预测控制的寻优算法,同时对算法进行了进一步的改进,在SQP算法中加入滤子,避免了使用罚函数时罚因子选取困难和求解子问题时不相容的问题。
计算技术与自动化2016年3月
第35卷第1期张英朋等:基于神经网络模型的空燃比非线性模型预测控制
2自适应神经网络模型
2.1RBFNN
神经网络有三层,输入层、隐层、输出层,隐层包含许多隐层节点,每个隐层节点都有一个中心位置,通过‖x(t)-cj(t)‖来计算隐层节点中心位置和输入元素的欧几里德距离。x(t)是神经网络的输入,cj(t)是第j个隐层节点的中心位置。通过非线性激活函数φj(t)产生隐层节点的输出,本文选取高斯函数作为激活函数:
φj(t)=exp(-‖x(t)-cj(t)‖2σ2j),
j=1,…,nh,(1)
其中σj为中心节点宽度,nh是中心的个数,由于神经网络输出层本质上是一个线性组合,所以神经网络模型t时刻的第i个输出是这个隐层节点输出的加权和:
i(t)=∑nhj=1φj(t)wji,i=1,…,q(2)
其中w是输出层的权值;q是输出的个数。
2.2训练方法
采用递推K均值算法和最小P算法来计算中心点cj和隐层节点的宽度σj,利用渐消记忆最小二乘(Recursiveleastsquares,RLS)对RBFNN输出层的权值w进行训练,同时根据实时数据对神经网络模型参数进行在线更新[2]。
由于发动机AFR系统是一个多变量的高度非线性系统,为了反映系统的全部动态特性,本文采用随机幅值序列(RAS)作为MEVM模型的激励信号。MVEM模型的输入变量为节气门角度θ和燃油喷射质量流速fi,输出变量为AFR,发动机转速n、进气门燃油质量流速f、通过进气门的空气质量流速ap、进气歧管压力温度、通过节气门的空气质量流速at等变量作为MVEM模型中的状态变量来描述发动机内部特性。产生20000组输入输出数据,前10000组数据用来对模型进行训练,后10000组数据用来对模型进行验证。相关参数设定为:
p=3,λ=0.999,p(0)=1×108×Inh×nh,
(0)=1×10-8×Unh×q
式中:λ为RLS算法中的遗忘因子;p为RLS算法中的中间变量;I为单位矩阵;U为一个随机矩阵。其模型辨识结果如图1所示。图中,对比数据为15000-17000,采用平均绝对误差(Mennabsulterror,MAE)对辨识结果进行评价,从图中可以看出辨识结果精度非常高。
3基于RBFNN的非线性模型预测控制
方法
基于RBF神经网络模型的非线性模型预测控制系统结构图如图2所示。图中S为系统设定值(本文设S=14.7);ef(k)为系统输出误差;y(k)为系统真实输出;(k)为RBFNN模型的预测输出序列;pi(k)为RBFNN模型的进气歧管压力预测序列;n(k)为发动机转速预测序列。在每个控制周期内RBFNN根据当前节气门角度θ以及燃油喷射质量流速fi的实际值对SI发动机AFR系统的未来Ny步输出序列进行预测,并将预测序列(k+1),…,(k+Ny)发送给控制器;控制器根据模型预测序列以及约束化条件对fi的最优控制序列进行计算,并将求得的燃油喷射质量流速序列重新做用于RBFNN,得到新的模型预测输出序列。依次循环,直至满足优化终止条件。然后,将最优控制序列的第一个元素作为真实控制值发送给发动机。每个采样周期中,根据发动的测量数据以及输入数据,利用渐消记忆最小二乘算法对RBFNN的参数向量进行在线自适应矫正,并利用真实AFR输出以及模型预测输出对控系统进行反馈补偿,实现闭环反馈。
模型预测控制系统结构图
SI发动机AFR非线性模型预测控制问题目标函数如下式[3]:
J=[s-(k+1)-d(k)]TΛ1[s-
(k+1)-d(k)]+Δu(k)TΛ2Δu(k)s.t.umin≤u≤umax(3)
式中s∈RNy×1为系统设定值;Ny为模型预测步数;(k+1)∈RNy×1为RBFNN预测输出序列d(k)∈RNy×1为对模型预测序列的补偿向量,d(k)=[d1(k),…,dNy(k)]T,取di(k)=ef(k)为k时刻RBFNN的预测误差;u(k)∈RNu×1是对未来Nu步的最优控制序列;Nu为控制步数;Δu(k)=u(k)-u(k-1);Λ1∈RNy×Ny和Λ2∈RNu×Nu为正定加权矩阵。
由式(3)可见,SI发动机AFR非线性模型预测控制实质上是解决一个带有约束条件的二次型函数寻优问题,因此,本文采用SQP优化算法对控制序列u(k)进行迭代寻优。
SQP滤子算法:
非线性不等式约束化问题可以描述为[4]:
minx∈Rnf(x)s.t.gj(x)≤0,j∈I={1,2,…,m}(4)
其中x∈Rn,f:Rn→R,gj(j∈I):Rn→R为两个二次连续可微的函数,利用SQP求解问题(4)产生K-T点的序列,搜索方向dk通过求解子问题获得
minx∈Rnqk(d)=
对于非线性规划问题,本文所述SQP滤子法是一种有效的方法,它对初始点是否是可行点不作要求,而且这种方法不需要选择罚函数,也不需要在每个迭代步改变信赖域半径,而是直接改变步长因子来保证目标函数的充分下降性,算法的收敛性与可行性的证明[5]。
根据SI发动机AFR非线性模型预测控制问题,采用本文所述的SQP滤子优化算法即可对控制序列u(k)进行寻优迭代。
4仿真实验
本文所提算法仿真环境参数设定值为:
Ny=20,Nu=10,Ts=0.02s,B0=INu×Nu,Λ1=0.6×INy×Ny,Λ2=0.4×INu×Nu,ε=1×10-5,α0=0.25
为了验证本文所提算法的有效性,所提的PID方法[6]和本文所提算法在相同实验环境下进行对比试验,其中PID控制器表达式如下:
fi(k)=fi(k-1)+
Ks(1+TsτI+τDTs)e(k)-
(1+2τDTs)e(k-1)+τDTse(k-2)(8)
式中,Ks为PID控制器的增益;τI为积分时间;τD为微分时间,由于采用PI控制器进行仿真实验,因而τD设为0。利用开环ZieglerNichols方法对PI控制器参数进行设定并根据实际情况进行了适当的调整,得到控制器参数为:
Ks=3.25×10-4,τI=0.22sec
基于Volterra模型预测控制的实验环境如下:
在实验过程中设定采样间隔为Ts=0.02s,预测步数Ny=20,控制步数Nu=10,umax=0.03kg/sec,umin=0.005kg/sec,δ=1×10-5。
4.1实验1
节气门角度θ小范围递升渐变时,对本章所提算法与传统PI控制方法进行仿真对比实验。4.2实验2
在节气门角度θ大范围渐变时,对本文所提算法与传统PI控制方法进行仿真对比实验。
4.2实验2
在节气门角度θ大范围渐变时,对本文所提算法与传统PI控制方法进行仿真对比实验。