APP下载

基于HPSO的PID算法在汽油机怠速控制中的应用*

2014-08-08张国友

关键词:极值遗传算法粒子

王 勇, 张国友, 田 丽, 陈 勇

(安徽工程大学 电气工程学院,安徽 芜湖 241000)

汽油发动机的怠速工况指的是油门踏板完全松开,发动机无需输出功率驱使车轮转动,只需要维持自身低速运转,并输出少量功率维持车载用电器的正常运行的工况。汽车在交通密度大的城市道路上行驶时,怠速运转时间占1/3,怠速排放CO和HC约占总排放量的70%左右,怠速耗油量约占总油耗的30%[1]。怠速控制是使发动机在低排放下以最低可能的稳定转速(目标怠速)运行,以降低油耗,是发动机控制的重要内容[2]。空调、助力转向系统、音响设备等各种车载用电器的开通和关断,会造化发动机负载的变化。这些随机负载的加入给发动机怠速工况的控制带来了很大的难度。因此控制策略的选择对发动机怠速工况显得尤为重要。

针对汽车怠速工况的特点,目前国内外学者采用的控制策略大体上可以分为两类,一类是基于精确数学模型的控制方法,如最优控制、鲁棒控制、滑膜变结构控制,这一类控制策略的控制效果很大程度上取决于被控对象的数学模型的精确程度;另一类是基于被控对象外特性建模的控制方法,如PID控制、模糊控制。前者的控制精度要优于后者,但是后者在易于实现,且稳定可靠,被广泛应用于工程实践中。为了提高PID控制器的控制精度,令其在被控对象参数发生摄动时,仍能保持良好的控制品质,基于MATLAB软件采用混合粒子群算法对PID参数进行离线整定,将整定的结果存储到控制器的Flash中可以实现在线查表,以实现以在线调参的方式对发动机进怠速工况进行控制,弥补了传统PID控制的不足,具有一定的实际意义。

1 粒子群算法

粒子群算法是一种常用的仿生寻优算法,它具有搜索速度快、效率高的优点,早已广泛用于各类连续问题和离散问题的参数优化[3]。如果寻优的空间为D维,粒子群中每个粒子i的初始位置为一个D维向量Xi=(xi1,xi2,…,xiD)T,n个粒子组成初始种群X(x1,x2,…,xn),将初始种群中的各个粒子代入所求的目标函数,记录下粒子群中每个粒子的历史最优解Pi=(Pi1,Pi2,…PiD)T以及整个种群的历史最优解Pg=(Pg1,Pg2,…PgD)T。粒子根据式(1)、(2)以个体极值和群体极值所包含的信息更新自身的速度和位置[4],即

(1)

(2)

式(1)中c1、c2取非负常数,r1、r2为[0,1]之间的随机数。群中每个粒子通过跟踪种群中最优个体的搜索方向更新自身的速度与位置。从而粒子群可以综合利用个体信息与社会信息进行寻优。惯性因子ω用于平衡粒子群的全局和局部搜索能力,较大的ω值有利于跳出局部极小点,较小的ω利于算法收敛[5]。为了避免粒子群寻优过程中发生早熟现象,陷入局部极值,取ω按式(3)随粒子的迭代运算次数逐渐减小:

(3)

式(3)中ω0为初始惯性权重,k为迭代运算的次数,n≥1为常数。

2 混合粒子群算法对PID参数的整定

PID控制参数优化问题可以当作一类特殊的优化问题来处理,采集系统输入和输出数据,构建目标函数、目标函数变量及优化变量为[Kp,Ki,Kd]通过在解空间中搜索调整PID参数来获得目标函数最小值,从而求取最优参数[6]。

由于标准粒子群算法跟踪个体极值完成极值寻优,虽然操作简单,且能够快速收敛[7],但是PSO算法在搜索的初期往往收敛较快,而在后期容易陷入局部最优[8]。混合粒子群算法以遗传算法中的交叉和变异的操作代替传统粒子群算法中跟踪极值来更新粒子的方法。通过粒子同个体极值和群体极值的交叉以及粒子群自身变异的方式来搜索全局最优解。这样能够更有效的利用粒子所包含的个体信息与社会信息。采用混合粒子群算法整定PID参数的流程图如图1所示。

图1 混合粒子群算法对PID参数的整定流程

混合粒子群算法对PID控制器参数整定的过程主要有几个步骤组成:

Step1 确定Kp、Ki、Kd3个参数的变化范围为[a,b]。

Step2 建立待优化系统的数学模型,并将初始化的粒子代入系统中运算。

Step4 对PID控制器中待优化的3个参数Kp、Ki、Kd进行二进制编码。为了让每个参数精确到小数点后4位,则需要将每个参数用m位二进制码表示。由式(4)可得m=22。

2m-1<(b-a)×104<2m-1

(4)

Step5 利用粒子的二进制码执行交叉操作。包括与个体历史最优进行交叉和与全体历史最优进行交叉。

Step6 利用粒子的二进制码执行变异操作。

Step7 确定解码方案。将二进制码转换成实际值可由式(5)[9]来实现:

(5)

其中substringi为十进制变量xi所对应的二进制码,decimal(substringi)为substringi数值上代表的十进制数。

Step8 计算更新后的粒子代表的值代入系统,计算各粒子的适应度值,并与历史全局最优个体进行比较,如果适应度值更小则接受。

Step9 当适应度值达到指定要求或者达到规定迭代次数时,终止运算,否则重复Step3。

3 MATLAB仿真实验

图2 汽油机怠速控制系统Simulink模型

汽油发动是一个包含多个子系统的复杂系统,具有高度的非线性、多扰动性并包含了多种变化的时间滞后环节。难以对所有的子系统建立完整、明晰的数学模型。而且基于PID算法的控制不需要实时明确系统内部的各个状态变量的变化情况。因此,可采用台架实验的方法对该系统进行测试,根据实验数据建立其外特性数学模型。以465Q型发动机为研究对象,直接引用参考文献[10]中的数学模型。根据系统的输入输出特性,将怠速旁通阀的开度与怠速的关系可近似为一个二阶系统的模型,其对应的脉冲传递函数可表示为

(6)

由于现在的新型处理器主频越来越高,计算能力越来越强,为了简化模型不妨假设系统的采样周期足够小,将系统等效成一个连续系统。建立MATLAB/Simulink模型如图2所示。在M文件中编写程序,利用遗传算法、标准粒子群算法和混合粒子群算法对Simulink模型中的PID控制器的参数进行优化。为了比较3种算法的收敛速度与寻优精度与效率,同时取初始种群规模为100,迭代运算的次数为100,3种算法的寻优过程如图3~图5所示。

图3 遗传算法寻优过程

图4 标准粒子群算法寻优过程

图5 混合粒子群算法寻优过程

3种算法的寻优结果如表1所示:

表1 3种算法对PID参数整定的结果

实验结果表明,混合粒子群算法结合了遗传算法和标准粒子群算法的优点。其在对PID控制器参数整定的过程中,寻优的精度高于遗传算法和标准粒子群算法,且收敛的速度比较快。虽然混合粒子群算法中引入了交叉操作与变异操作,运算量增加,运算时间有所增加,但是不影响其在离线情况下使用。

4 结束语

车内空调、助力转向系统及音响等用电设备的开启与关断,会造成发动机负载的变化。这时需要在怠速控制系统的输入端加上或减去一系列不同幅值的阶跃信号,快速而平稳的调节发动机的转速满足负载的变化。如果对这些不同幅值的输入信号在离线情况下使用混合粒子群算法对PID参数进行整定,将整定的结果作为表格存储在ARM的Flash内,在工况发生变化的时候,进行在线调用,可实现在线调参,方法具有一定的实用价值。

参考文献:

[1] 姚栋伟, 吴锋, 杨志家, 等. 基于增量式数字PID的汽油机怠速控制研究[J]. 浙江大学学报, 2010, 44(6):1122-1126

[2] 张永相, 张文强, 董霖, 等. 汽油机怠速滑模控制仿真研究[J]. 系统仿真学报, 2007, 19(19):4553-1560

[3] 马军杰,尤建新,陈震.基于改进粒子群优化算法的灰色神经网络模型[J].同济大学学报,2012,40(5):740-743

[4] 李松,刘力军,翟曼. 改进粒子群算法优化BP神经网络的短时交通流预测[J].系统工程理论与实践,2012,32(9):2045-2049

[5] 李爽,王志新,王国强.基于改进粒子群算法的PIDNN控制器在VSC_HVDC中的应用[J].中国电机工程学报,2013,33(3):14-20

[6] 李超顺,周建中,肖剑.基于改进引力搜索算法的励磁控制PID参数优化[J].华中科技大学学报,2012,,40(10):119-122

[7] 史峰, 王辉, 郁磊, 等. MATLAB智能算法30个案例分析[M]. 北京:北京航空航天大学出版社, 2011

[8] 胥小波,郑康锋,李丹,等.新的混沌粒子群优化算法[J]. 通信学报,2012,33(1):24-29

[9] 雷英杰,张善文,李续武,等.MATLAB遗传算法工具箱及应用[M]. 西安:西安电子科技大学出版社,2006

[10] 李国勇. 电控汽油机智能控制策略及故障诊断的研究[D]. 太原:太原理工大学,2007

猜你喜欢

极值遗传算法粒子
极值点带你去“漂移”
极值点偏移拦路,三法可取
Conduit necrosis following esophagectomy:An up-to-date literature review
一类“极值点偏移”问题的解法与反思
基于粒子群优化的桥式起重机模糊PID控制
基于粒子群优化极点配置的空燃比输出反馈控制
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于遗传算法和LS-SVM的财务危机预测
借助微分探求连续函数的极值点
软件发布规划的遗传算法实现与解释