汽油机失火诊断GA-SVM方法研究*

2017-02-17 00:35胡杰刘博颜伏伍林峰李孟孟
汽车技术 2017年1期
关键词:汽油机遗传算法故障诊断

胡杰 刘博 颜伏伍 林峰 李孟孟

(武汉理工大学,现代汽车零部件技术湖北省重点实验室 汽车零部件技术湖北省协同创新中心,武汉 430070)

汽油机失火诊断GA-SVM方法研究*

胡杰 刘博 颜伏伍 林峰 李孟孟

(武汉理工大学,现代汽车零部件技术湖北省重点实验室 汽车零部件技术湖北省协同创新中心,武汉 430070)

提出了一种基于主成分分析、遗传算法和支持向量机的失火故障诊断方法,以用于建立发动机失火故障诊断模型。采集不同失火故障模式下瞬时转速信号,通过归一化和主成分分析对数据集进行降维预处理,提取样本特征;随机选取1/3的样本训练支持向量机失火诊断模型,并结合网格搜索和遗传算法优化模型参数;剩余样本作为测试数据,对12种失火模式进行辨别,准确率为98.33%。因此,该方法有效。

1 前言

发动机失火是发动机最常见的故障之一[1],发动机失火诊断是车载诊断系统(OBD)中的一个重要组成部分[2]。发动机轻度失火会引起排放的恶化甚至超标,严重失火时可能导致燃油消耗增加、输出功率降低,甚至三效催化转换器损坏[3]。因此,OBD-Ⅱ法规以及EOBD法规均对发动机失火检测项目做出了规定。

国内外针对失火故障诊断做了大量的研究工作,提出了多种失火诊断的方法,黄忠权等[4~5]通过分析气缸内的离子电流信号,检测发动机的失火;毕晓君等[6]基于汽车尾气成分建立回归向量机模型,用于失火诊断;黄开胜等[7]基于曲轴转速波动,采用时域滑动平均方法修正失火诊断算法,用于检测单缸和多缸随机失火;Dan⁃iel Jung等[8]基于瞬时转速信号,提出一种基于模型的故障诊断算法,能有效检测失火故障,但不能有效定位故障位置,识别失火模式;Mohammadpour J等[9]综述了失火故障诊断的一般方法,并指出最常用的失火诊断数据来源是瞬时转速信号。瞬时转速的波动与缸内压力息息相关,能有效反映出发动机的工作状态,同时瞬时转速测量方便,利用瞬时转速信号进行发动机故障诊断具有很大的工程应用价值。

已有研究工作主要集中在对失火故障的检测,很少有对失火故障模式识别和故障定位的研究。本文通过分析不同失火模式下瞬时转速的波动情况,在失火故障诊断的基础上,提出一种基于主成分分析(PCA)和支持向量机(SVM)的失火故障诊断模型,并利用遗传算法(GA)优化建模参数。

2 试验与数据分析

2.1 试验装置

在TU5JP4汽油机台架上进行试验,汽油机的主要性能参数见表1。试验装置的连接示意如图1所示。将汽油机的点火信号和曲轴位置信号以及BOSCH ME7.4.5电控系统的判缸信号引入失火故障模拟器,即可实现判缸和失火故障模拟。失火故障模拟器可以根据需要,实现汽油机单缸单次失火、单缸连续失火以及多缸连续失火等功能,失火故障模拟器的设计见文献[10]。

表1 TU5JP4汽油机主要性能参数

图1 试验装置连接示意

2.2 瞬时转速信号采集

常用的瞬时转速测量方法有两种:测频法和测周期法[11],测频法适用于高转速,测周期法适用于低转速[12]。该试验汽油机转速为2 500 r/min,属于低转速,所以采用测周期法,瞬时转速采集系统如图2所示。

图2 汽油机瞬时转速信号采集示意

2.3 失火时瞬时转速波动分析

图3为汽油机在某一工作循环失火时瞬时转速的波形图。可以看出,在正常工作时由于4个气缸轮流点火做功和燃烧循环变动,瞬时转速的振幅在±25 r/min的范围内波动,发动机工作平稳;当失火发生时,瞬时转速急剧下降,由于循环转动惯性,瞬时转速振幅在±75 r/min的范围内波动,发动机工作波动加剧;几个工作循环后,瞬时转速的振幅逐渐减小,发动机恢复到平稳的工作状态。由此可见,通过监测发动机瞬时转速的波动情况,设置合适的瞬时转速波动阈值,失火故障容易检测。

图3 失火时瞬时转速波形图

为了尽可能真实的反映汽油机的失火情况,并覆盖汽油机常见的失火故障模式,利用失火故障模拟装置,人为模拟汽油机失火故障,设计了第1、2、3、4缸单次失火(一个工作循环第i缸失火);第1、2、3、4缸连续失火(相邻两个工作循环第i缸都失火);第1缸和3缸连续失火、第1缸和4缸连续失火、第2缸和3缸连续失火(相邻两个工作循环第i缸和第j缸分别失火),包括正常模式在内,共12种不同的失火故障模式,每种模式各15个样本。

图4~图7为正常工作、1缸单次失火、1缸连续失火和1-3缸连续失火4种不同失火故障模式下瞬时转速波形图。

图4 正常工作瞬时转速波形图

图5 1缸单次失火瞬时转速波形图

图6 1缸连续失火瞬时转速波形图

图7 1-3缸连续失火瞬时转速波形图

由图4~图7可知,各种不同的失火模式下瞬时转速的波动基本类似,都是在失火发生瞬间,瞬时转速先急剧下降,瞬时转速波形振幅突然增大,波动加剧;随着时间推移,波形振幅逐渐减小,最终瞬时转速趋于平稳。因此,一般方法容易检测失火故障,但难以辨别失火模式,故障定位困难。

3 建模与仿真

3.1 数据预处理

由图5~图7可以看出,单次失火对瞬时转速波形影响的持续时间约为5个工作循环。试验中每个工作循环采样点为120个,为尽可能覆盖单次失火对瞬时转速影响的全部信息,取失火发生后10个工作循环的瞬时转速信号为一个样本,单个样本有1 200个采样点;12种不同的失火故障模式,每种失火故障模式都有15个样本,得到一个180×1 200的样本数据矩阵。

对如此高维度的数据样本建模不仅十分复杂而且耗时长。本文利用主成分分析(PCA)[14]对原始数据进行预处理,将高维数据进行压缩并提取特征矩阵,去除瞬时转速信号中的重复信息,可缩短建模时间、提高运行效率。

数据预处理的步骤如下:

a.归一化。文中归一化范围为[0,1],对某一列样本数据xi归一化后的数据样本为:

式中,xi是原始数据;x′i是归一化后的数据;和分别代表原始数据中的最大值和最小值。

b.主成分分析。计算原始数据矩阵的相关系数矩阵,并求出其对应的特征值和特征向量,基于特征向量构造新的特征矩阵,特征矩阵的每一列按照各维数据的贡献率从大到小排列。累计贡献率的计算公式为:

式中,αp为累计贡献率;λ表示每一维数据的特征值;P代表前P个主成分。

c.设置累计贡献率阈值得到主成分矩阵。文中设置累计贡献率阈值为95%,当αp大于95%时,选择前P个主成分代替原始的N维矩阵。原数据矩阵180×1 200减少到180×7(7个主成分),并保留了原始矩阵的有效信息,降维效果明显。主成分分析的结果如图8所示。

图8 主成分分析结果

3.2 基于SVM算法建立训练模型

SVM是Vapnik和Cortes在1995年提出的一种机器学习的算法,具有训练样本少,模型精度高,训练时间短等优点,并被广泛应用于不同的领域[15~17]。

SVM通过核函数,计算样本数据在高维空间的内积,将低维空间中的非线性问题转化为高维空间中的线性问题。同时,在高维空间建立构造分类超平面不但能够将所有训练样本正确分类,而且使训练样本中离超平面最近的点到超平面的距离最大[18]。训练得到的SVM模型能对未知的样本进行正确分类。

最终得到的分类函数为:

式中,ai为拉格朗日乘子;b为常数;yi为样本标签;C为惩罚因子,用于折中最大分类间隔与最小错分样本,C值越大表示训练模型对错分样本的关注度越高;为核函数,用于计算样本(x,xi)在高维特征空间中的内积。

核函数是SVM算法的关键所在,常用的核函数有4种,由于高斯径向基核函数的参数较少,数学关系简单,并能实现非线性映射,在实际建模中效果较好,收敛速度快,因此选择高斯径向基函数作为核函数,其数学关系式为:

式中,x和xi代表两个独立的变量;g是核函数宽度因子,对核函数的性能影响很大。

SVM是针对两分类问题的设计算法,不能直接用于多值分类问题。由于研究的是包括正常模式在内的12种失火故障模式的故障识别,所以需要将二分类拓展到多值分类,常用方法有“一对多”和“一对一”两种分类算法[19]。考虑训练时间、分类准确率和分类时间等因素,选择具有更好分类性能的“一对一”分类算法。

为保证失火故障诊断模型的一般性,每种失火故障模式随机抽取经预处理后的5组数据作为训练样本,建立SVM诊断模型,剩下的10组数据作为测试样本,用于测试模型的精度。数据标签与失火故障模式的对应关系如表2所列。

表2 失火标签与失火故障对应关系

3.3 GA优化建模参数

参数C和g能直接决定SVM模型的性能,利用SVM建立训练模型关键在于对惩罚因子C和核函数宽度因子g的选择,而目前并没有一致的选择标准或理论依据,因此利用遗传算法对模型参数C和g进行优化。

GA是一种基于遗传学机理,模拟自然进化过程,搜索最优解的方法[20]。通过选择、交叉、变异3种不同的算子产生更优的子代种群。遗传算法具有优化效果好、收敛速度快、不易陷入局部最优等特点,并广泛应用于各类优化问题[21]。

定义遗传算法优化目标的适应度函数为:

式中,为正确分类的样本数;N为样本总数;ACC用于反映SVM模型的预测精度。

遗传算法中,在初始种群生成前需要给定参数C和g的范围,目前一般都是根据经验给定。如果参数范围太大,则优化过程耗时长、效率低;如果参数范围给定的过小,可能不包含最佳的参数组合。因此,提出利用网格搜索粗选出较优的参数组合以确定参数C和g的范围。已有的研究表明,按照指数序列搜索效率更高,耗时更短[22]。例如,C=2-2,2-1,···,210;g=2-1,20,···,210。

利用遗传算法优化模型参数C和g的流程如图9所示。具体步骤如下:

a.利用网格搜索按照指数序列在C∈[2-10,215]和g∈[2-5,210]范围内,计算SVM模型精度,粗选出较优的参数组合;

b.根据步骤a中的参数组合确定参数C和g的范围,生成二进制编码的初始随机种群,每个个体有两条染色体,分别代表参数C和g;

c.计算初始随机种群中每一个体的SVM模型精度;

d.以SVM模型精度为优化目标,通过选择、交叉、变异3种基本算子,生成更优的子代种群。文中交叉率和变异率分别为90%和5%;

e.计算子代种群中每一个体的SVM模型精度,重复步骤d,直到满足遗传算法终止条件(SVM模型的精度足够高或遗传代数达到给定值)。

经过以上步骤,可以找到全局最优的参数C和g组合,得到最优的SVM模型。

图9 遗传算法优化SVM模型

3.4 结果分析

随机选取60个失火数据作为训练样本建立SVM模型,根据所提方法优化SVM模型,输入剩余的120个失火数据作为测试样本,对失火故障模式进行识别分类。GA-SVM模型结构如图10所示。

图10 GA-SVM模型整体流程图

图11和图12分别为训练样本和测试样本的实际分类与预测分类对比图。可以看出,60个训练样本分类全部正确,精度为100%;120个测试样本只有2个点分类错误,精度为98.33%,满足诊断模型的精度要求。

图11 训练集分类结果

图12 测试集分类结果

在实际应用中,采样样本长度过长会导致模型更加复杂,效率降低;采样样本过短可能不能完全覆盖所有的有效数据。为了得到针对失火故障诊断最优的样本长度,分别选取包括失火数据在内的3、5、7、10个工作循环汽油机瞬时转速波动信号为一个样本,利用上述方法优化SVM模型,并对比模型精度,结果如表3所列。

表3 不同样本长度分类结果

分析表3中数据可知,当样本长度为3个工作循环时,由于部分有效数据没有被采集,分类准确率为84.17%;当样本长度为5个工作循环时,分类精度上升到91.67%;当样本长度为7个工作循环时,分类准确率明显提高,达到98.33%,符合故障诊断模型的精度要求;当样本长度为10个工作循环时,分类准确率保持不变。综合对取样长度和分类准确率的考虑,选择最优样本长度为7个工作循环。

4 结束语

a.以瞬时转速信号作为输入,建立了SVM失火故障诊断模型,并用遗传算法优化模型参数,对失火故障模式的分类精度达到98.33%。

b.只选取1/3的数据作为训练样本,就能达到理想的分类效果。通过对比分析不同样本长度的模型精度,确定最佳样本长度为7个工作循环的瞬时转速信号。

c.所提出的诊断模型建模简单、精度高,能有效的解决小样本、高维度的失火故障诊断以及故障定位问题。

1 吴广.汽车故障诊断系统研究:[学位论文].长春:吉林大学,2009.

2 Boudaghi M,Shahbakhti M,Jazayeri S A.Misfire Detection of Spark Ignition Engines Using a New Technique Based on Mean Output Power.Journal of Engineering for Gas Tur⁃bines and Power,2015,137(9):1~9.

3 胡杰,颜伏伍.基于BP神经网络的汽油机失火故障诊断方法的研究.汽车工程,2011,33(2):101~105.

4 高忠权,李春艳,刘兵,等.采用离子电流法的发动机非正常燃烧诊断.西安交通大学学报,2015,49(5):1~6.

5 张志永,李从跃,曹银波,等.基于离子电流反馈的失火循环内补火控制试验.内燃机学报,2012,30(1):56~61.

6 毕晓君,柳长源,卢迪.基于PSO-RVM算法的发动机故障诊断.哈尔滨工程大学学报,2014(2):245~249.

7 王银辉,黄开胜,林志华,等.发动机多缸随机失火诊断算法研究.内燃机工程,2012,33(1):18~21.

8 Jung D,Eriksson L,Frisk E,et al.Development of misfire de⁃tection algorithm using quantitative FDI performance analy⁃sis.Control Engineering Practice,2015,34:49~60.

9 Mohammadpour J,Franchek M,Grigoriadis K.A survey on diagnostic methods for automotive engines.International Journal of Engine Research,2012,13(1):41~64.

10 颜伏伍,胡杰,邹斌.基于OBD失火故障模拟及诊断技术的研究.武汉理工大学学报(信息与管理工程版), 2009(1):67~70.

11 Li Y,Gu F,Harris G,et al.The measurement of instanta⁃neous angular speed.Mechanical Systems&Signal Pro⁃cessing,2005,19(4):786~805.

12 胡玉平,张立梅,陈勇,等.用双传感器提高内燃机瞬时转速测量精度的研究.内燃机学报,2001,19(5):477~480.

13 胡杰.轻型汽油车排放控制故障诊断方法及离线诊断技术研究:[学位论文].武汉:武汉理工大学,2011.

14 邓晓刚,田学民.基于鲁棒主元分析的故障诊断方法.中国石油大学学报(自然科学版),2008,32(1):147~151.

15 Vapnik V N.The Nature of Statistical Learning Theory.IEEE Transactions on Neural Networks,1995,10(5):988~999.

16 Tong H,Chen D R,Yang F.Learning Rates for-Regular⁃ized Kernel Classifiers.Journal of Applied Mathematics, 2013:1~11.

17 Dibike YB,Solomatine D,Velickov S,et al.Journal of Computing in Civil Engineering,2014,15(3):208~216.

18 唐浩,屈梁生.基于支持向量机的发动机故障诊断.西安交通大学学报,2007,41(9):1124~1126.

19 Hsu C W,Lin C J.A comparison of methods for multiclass support vector machines.IEEE Transactions on Neural Net⁃works,2002,13(2):415~425.

20 Goldberg D E.Genetic algorithms in search optimization and machine learning.Reading Menlo Park:Addison-wes⁃ley,1989.

21 Coley D A.An introduction to genetic algorithms for scien⁃tists and engineers.World scientific,1999.

22 Zhou H,Zhao J P,Zheng L G,et al.Modeling NOx,emis⁃sions from coal-fired utility boilers using support vector re⁃gression with ant colony optimization.Engineering Applica⁃tions of Artificial Intelligence,2012,25(1):147~158.

(责任编辑 晨 曦)

修改稿收到日期为2016年5月1日。

Research on GA-SVM Method for Gasoline Engine Misfire Diagnosis

Hu Jie,Liu Bo,Yan Fuwu,Lin Feng,Li Mengmeng
(Hubei Key Laboratory of Advanced Technology for Automotive Components,Hubei Collaborative Innovation Center for Automotive Components Technology,Wuhan University of Technology,Wuhan 430070)

A misfire diagnosis method was proposed based on Principal Component Analysis(PCA),Genetic Algorithm(GA)and Support Vector Machines(SVM),to build engine misfire diagnosis model.Instantaneous speed signals were collected under different misfire modes.Firstly,normalization and PCA were used to reduce the dimensions of dataset, to extract the sample features;subsequently,1/3 of the data samples selected randomly was trained to support the SVM misfire diagnosis model;a grid search and GA were then applied as the combination strategy to optimize the model parameters;the remaining 2/3 data was used as test data to identify 12 misfire fault modes,the accuracy of which reached 98.33%.The proposed method can effectively solve the problem of engine misfire faults recognition with small sample and high dimensions.

Gasoline engine misfire,Principal component analysis,Genetic algorithm,Support vector machine

汽油机失火 主成分分析 遗传算法 支持向量机

U461.8

A

1000-3703(2017)01-0038-05

国家自然科学基金项目(51406140);武汉理工大学自主创新研究基金项目(155207006)。

猜你喜欢
汽油机遗传算法故障诊断
比亚迪秦EV充电系统故障诊断与排除
基于神经网络的船舶电力系统故障诊断方法
基于包络解调原理的低转速滚动轴承故障诊断
基于改进遗传算法的航空集装箱装载问题研究
基于遗传算法的高精度事故重建与损伤分析
基于遗传算法的模糊控制在过热汽温控制系统优化中的应用
基于遗传算法的智能交通灯控制研究
BMW公司新型直列6缸汽油机
2013年型Accord轿车用2.4L直列4缸汽油机的开发
Ford公司的1.0L Eco-Boost汽油机