吴晨辉, 黄伟军, 华 猛
(1.苏州科技大学 电子与信息工程学院,江苏 苏州215009;2.苏州市智能测控工程技术研究中心,江苏 苏州215009)
针对发动机系统的非线性、时变性问题,笔者提出一种基于蝙蝠算法整定参数的PID 控制方法,并结合油膜补偿模型,建立更优的空燃比控制系统模型。
蝙蝠算法(Bat Algorithm,BA)是一种启发式搜索算法,由YANG Xinshe 教授于2012年首次提出[7]。 现实生活中蝙蝠通过超声波来确定物体的信息,研究表明,在蝙蝠搜寻猎物过程中,通过调整发出超声波脉冲的强度实现大范围搜索猎物,在接近猎物时,蝙蝠会逐渐增大发出超声波脉冲频率,同时减弱强度,以此来精确掌握猎物的空间位置。在此基础上演化出了蝙蝠算法[8-9],它是一种基于迭代的优化粒子群算法[10]。首先,在可行空间里任意初始化一组随机解,然后,通过迭代算法搜寻最优解,并且在最优解周围生成随机的新解来增强局部搜索,从而精确掌握目标的空间位置。
根据蝙蝠觅食的过程,蝙蝠的速度、频率和坐标位置可由下式表示
式中,β∈[0,1]的随机数,fmin、fmax为频率f 的范围,xbest为第t 时刻的全局最优解。
在可行空间内的蝙蝠,一旦确定当前最优解,每只蝙蝠会做一次随机运动,从而产生一组新的解,新的位置用下式表示
式中,ε∈[-1,1]的随机数,At是整个蝙蝠族群的脉冲强度在t 时刻的平均值。
研究表明,蝙蝠最初搜寻时,发出脉冲强度较大的超声波脉冲,实现大范围搜索,当蝙蝠接近猎物时,会减弱发出超声波脉冲的强度,并且增加发射频率,以实现精确定位。 每只蝙蝠发出的超声波脉冲强度和频率随着算法的迭代不断更新,用以下式模拟这一过程
庸俗化倾向也是广告语用存在的问题之一。2012年6月,重庆公交车车身上出现的湖北省利川市旅游局发布的“我靠重庆,凉城利川”的旅游广告,引发了社会的热议。虽然“我靠重庆”一词也表示利川与重庆地理位置的接近,以及依靠重庆带动发展的意思,但是该广告语使用“我靠”表达这层含义,显然有利用粗口引人注目、制造噱头之嫌。如此低俗的广告词很快被要求撤换。然而,利川市旅游局局长表示,不管怎样,反正利川“凉城”被大家记住了。这种放下自尊、利用低俗用语使自己迅速走红的做法不仅伤害了当地民众的情感,而且游离了深厚的地域文化,徒给世人留下笑柄。
目标函数是评定一个系统性能的指标。 对于PID 控制系统的三个控制参数,比例控制(P)单元可以加快调节,能迅速反映误差,但是不能消除系统的稳态误差;积分控制(I)单元可消除稳态误差,但可能会增加超调,使系统出现振荡;微分控制(D)单元可以加快系统的响应速度以及减弱超调趋势,但是微分作用对噪声的干扰具有放大作用。 由此可见,三个控制单元的性能指标往往是相互矛盾的,因此,很难要求所有指标都取得最优值。 文中选用基于积分误差函数作为评定PID 控制系统性能的指标,积分误差函数常用的有:绝对误差积分IAE、时间乘绝对误差积分ITAE、平方误差积分ISE、时间乘平方误差积分ITSE[11]。其中ISE 和IAE没有时间约束,能在最短的时间内使系统单位阶跃响应达到稳态值,但是相应的容易引起较大的超调。这里,以ITSE 作为目标函数,其表达式为
为了便于计算,这里选取积分限为[0,ts],其中ts为调节时间。 对积分限进行离散,取采样周期为T,用一系列采样点kT 代替连续时间ts,进行离散化,得到ITSE 的离散化公式
其中,N=ts/T。
基于蝙蝠算法的PID 参数整定是旨在寻优空间Kp∈[Kpmin,Kpmax],Ki∈[Kimin,Kimax],Kd∈[Kdmin,Kdmax]中,寻找一组最优的(Kp,Ki,Kd)产生的单位阶跃响应,使得ITSE 的值最小。
基于蝙蝠算法的PID 参数整定的框图如图1 所示。
图1 基于蝙蝠算法的PID 参数整定
根据被控对象的传递函数, 对于PID 控制器的三个参数进行蝙蝠算法迭代计算,每一次更新的蝙蝠的速度、频率和位置对应每一组PID 参数的比例控制单元、积分控制单元和微分控制单元,以此建立闭环控制系统。然后根据闭环控制产生的单位阶跃响应计算系统的ITSE 积分误差,可以获得一组使得ITSE 最小的PID 参数。
对于每一周期的算法迭代,算法首先会对每个个体进行全局寻优,得出全局寻优解,然后根据公式(1)-(3)更新蝙蝠的速度、频率和位置,对于每一个蝙蝠个体,根据位置更新,算法会进行局部寻优,如果得出局部寻优的最新位置优于全局寻优,则会更新这只蝙蝠的位置,否则保持原先位置。 整个算法流程图如图2 所示。
图2 基于蝙蝠算法的PID 参数整定算法流程
为了使PID 控制器在发动机上运用设计,需要对发动机建立仿真模型,先把控制器运用在仿真模型中。 目前使用最广泛的物理分析模型有计算流体力学模型和平均值模型[12]。 计算流体力学模型致力于描述发动机的流体力学特性,是最复杂也是能最详尽描述发动机流体动力学特性的模型,但是建模过程复杂,需要对庞大的数据进行微分方程求解,计算量大,很难满足发动机控制系统的实时性需求。发动机平均值模型忽略发动机不同的曲轴转角所对应的缸内变化,只是对发动机的单个工作循环进行研究,对缸内的工作状态进行平均化处理,它可以对发动机工作过程的稳态和瞬态工况都能很好的描述。
影响发动机瞬态工况下空燃比波动较大的主要原因之一是油膜动态效应,即进气道管壁面油膜附着、蒸发的动态过程,因此,有必要对油膜进行补偿[13]。 目前对油膜动态过程建模采用最多的是x-τ 油膜模型来描述进气道油膜现象,其表达式为
其中,m˙ff为油膜质量流量变化量,m˙fi为喷油器喷出的燃油质量流量,mff为油膜质量流量,m˙fe为实际进入气缸的的燃油质量流量,x 为喷射的燃油附壁比例,τ 为油膜质量蒸发时间常数。 对上式进行Laplace 变换,得到油膜模型传递函数
对油膜进行补偿,则理想的补偿器传递函数应为油膜模型传递函数的逆函数,可表示为
从上式可以发现,油膜补偿模型的建立跟燃油附壁比例x 和油膜质量蒸发时间常数τ 这两个时变非线性参数相关。 采用Elman 神经网络对油膜参数(x,τ)进行识别[14],油膜补偿模型的控制框图如图3 所示。
图3 油膜补偿控制框图
文中以某款125cc 单缸机为研究对象,建立发动机平均值模型,包括空气效率模型、燃油喷射模型、油膜补偿模型、动力输出模型,该模型是一种既可以描述发动机稳态工况也可以描述瞬态变化的物理过程,如图4 所示。
图4 发动机平均值模型
发动机系统是一个高度非线性时变系统,这对于控制系统提出了很高的要求, 文中采用基于蝙蝠算法整定PID参数的控制系统,解决了传统PID 控制对于非线性时变系统难以取得精确控制的问题,其控制框图如图5 所示。 整个控制系统分为开环控制和闭环控制两个部分共同调节,其中开环控制通过获取发动机运行时的进气压力和转速,并结合MAP 图可以计算出基本喷油量;闭环控制通过实际空燃比反馈回PID 控制器对喷油量进行精确调节。
图5 发动机空燃比控制框图
为了验证文中提出的基于蝙蝠算法整定参数的PID 控制器的有效性,在发动机运行过程中改变节气门开度,以此来控制空燃比的动态响应曲线, 对比不同的控制下的空燃比响应曲线。 图6 表示在1 s 内节气门开度瞬时增大和减小的情况下,仿真得到的过量空气系数变化曲线如图7 所示。 从仿真曲线图可以看出,当节气门开度瞬时增大和减小时,普通PID 控制器大约会在2.5 s 之后使过量空气系数λ 维持稳定在1 左右,而基于蝙蝠算法整定参数的PID 控制器大约只需要2 s 左右的时间。 而且基于蝙蝠算法整定参数的PID 控制的空气系数在节气门开度变化时的波动范围普遍降低0.05 左右, 基于蝙蝠算法整定参数的PID 控制策略比普通的PID 控制能更快的使过量空气系数维持在理论空燃比附近。
图6 节气门开度变化
加入油膜补偿后的仿真图形如图8 所示,从仿真波形可以看出,加入油膜补偿模型的发动机空燃比控制相较于只用基于蝙蝠算法整定参数的PID 控制器的空燃比控制模型波动变小, 当节气门开度瞬间变化时,加入油膜补偿模型的过量空气系数的波动幅度降低0.13 左右,达到稳态的时间也减少了0.5 s 左右。 当节气门开度维持不变的情况下,加入了油膜补偿模型的空燃比控制系统可以降低随机波动信号对于空燃比的影响也具有较好的效果。
图7 节气门开度变化时的过量空气系数曲线
图8 加入油膜补偿的仿真曲线
笔者将一种群体算法蝙蝠算法应用到传统PID 控制器中,将改进后的蝙蝠算法整定参数的PID 控制策略应用到某款125cc 单缸发动机的平均值模型中, 对发动机瞬态工况下的空燃比进行控制。 当节气门突变时,基于蝙蝠算法整定参数的PID 控制器维持空燃比稳定在理论空燃比附近所需要的时间,相对于普通PID控制器所需要的时间要少0.5 s 左右, 并且加入了蝙蝠算法的PID 控制器对于空燃比的波动范围有明显降低。 在发动机平均值模型中加入油膜补偿模型后,维持空燃比稳定所需的时间进一步减小,过量空气系数波动范围也进一步降低了0.13 左右。 仿真结果表明,该蝙蝠算法整定参数的PID 控制器能够很好的适应发动机模型的非线性和时变特性,在过渡情况下能明显改善对空燃比的控制效果,在对发动机空燃比的控制过程中具有良好的鲁棒性。