APP下载

基于PSO-RVM算法的发动机故障诊断

2014-10-25毕晓君柳长源卢迪

哈尔滨工程大学学报 2014年2期
关键词:尾气分类器故障诊断

毕晓君,柳长源,,卢迪

(1.哈尔滨工程大学信息与通信工程学院,黑龙江哈尔滨150001;2.哈尔滨理工大学电气与电子工程学院,黑龙江哈尔滨150080)

发动机故障在整车故障中占据19.8%,故障率是最高的,配件损耗和维修费用也为全车之最[1]。发动机故障的形成过程与机械状况、气缸内的燃烧情况及负载状况直接相关,采用定期维修的方法难以发现这些故障,容易造成重大交通事故。发动机失火故障可通过分析尾气排放中各类气体的检测数据进行预判,从而提前排除故障隐患。由于尾气排放数据与发动机故障之间存在一定的非线性关系,因此可以利用机器学习算法建立它们之间的对应关系,从而实现智能故障诊断。尾气检测法近年来开始受到国内外专家的重视,越来越多的学者开始把人工神经网络、支持向量机(support vector machine,SVM)等算法应用到故障诊断系统,并取得了一定的效果[2]。但由于每次机器训练结果的波动较大,容易出现过学习或欠学习现象,使判断结果出现偏差,诊断识别结果的准确性和鲁棒性依然有待提高。本文提出的发动机故障检测方法是基于相关向量机(relevance vector machine,RVM)的故障识别技术,利用粒子群算法(particle swarm optimization,PSO)优化RVM核函数的超参数,通过“一对一”分类器建立尾气传感器数据中各气体成分与发动机运行状态之间的关系,提高了故障诊断的精度和可靠性。

1 尾气检测法故障诊断

根据汽车故障诊断学可知,汽车尾气中含有发动机汽缸燃烧过程中的信息。发动机失火故障与汽车尾气成分中HC、CO2、CO和O2等气体的体积分数有着相对应的关系,因此可通过汽车尾气中各气体体积含量来判断发动机所处的工作状态,并根据气体与故障的对应关系完成失火故障诊断[3]。根据这一理论,可以利用机器学习方法对先验数据样本进行学习训练,将训练好的机器诊断模型用于发动机故障的分析诊断。

尾气检测的原理是根据不同气体具有吸收不同波长红外线的特性[4],CO主要吸收的是4.7μm附近的红外线,CO2主要吸收4.2μm附近的红外线,HC主要吸收3.4μm附近的红外线。据此,可让红外线通过一定量的汽车尾气,根据对比某一波长的红外线经过尾气前后能量的变化,测定尾气中某类气体的含量。而O2则采用电化学法,排放结果用浓度来表示。

某种汽油发动机在正常工作状况下的数值如表1 所示[5]。

表1 发动机尾气排放的正常范围Table 1 The normal range of engine exhaust gas

如果某一种或几种气体含量超出表1中的范围,即对应汽车发动机处在某种不正常的工作状态,气体含量数据与某一类别的故障相对应。在非正常状态下,各气体在尾气中的含量变化为:

1)HC的读数高,说明燃油没有充分燃烧。

2)CO的含量过高,表明燃油供给过多、空气供给过少;CO的含量过低,则表明混合气体过稀。

3)CO2是可燃混合气燃烧的产物,其高低反映出混合气燃烧的好坏,即燃烧效率。

4)O2的含量是反映混合气空燃比的最好指标,是最有用的诊断数据之一。

通过尾气分析,可以检测到以下几个主要方面的故障:混合气过浓或过稀、二次空气喷射系统失灵、喷油器故障、进气歧管真空泄漏、空气泵故障、汽缸盖衬垫损坏、EGR阀故障、排气系统泄漏、点火系统提前角过大等。

2 基于PSO-RVM算法的故障诊断

RVM算法是英国剑桥学者Tipping在2001年提出的一种新的机器学习方法[6],该方法基于贝叶斯统计理论,通过“核函数”将低维空间的非线性问题映射到高维空间并转化成线性问题,核函数的巧妙之处是映射过程并未增加很多的计算量。与相对更早提出的SVM算法相比,RVM算法中核函数的选择不受Mercer条件的限制,由于其解的稀疏性和概率性,理论上讲是机器学习方法中泛化性能最突出的算法,对小样本的机器学习尤其有效。关于RVM算法的理论模型,在文献[6]中有详细的阐述。该方法得到泛化性能优秀的稀疏解,是建立在合适的核函数选择及参数设置的基础上。为了得到最佳设置,本文对RVM超参数的优化采用了PSO算法,并将PSO-RVM模型应用于RVM发动机故障诊断之中。

2.1 基于PSO-RVM的故障诊断系统组成

本文提出的诊断方法可以分为3个主要过程:

1)预处理:对尾气样本的先验数据进行归一化处理,并建立4种气体含量与发动机状态之间的对应关系;

2)机器训练:选择合适的核函数并对其超参数进行PSO优化训练,建立合适的RVM模型;

3)故障诊断:采用“一对一”RVM分类器进行待测样本故障诊断并输出结果。

发动机智能故障诊断系统结构如图1所示。

图1 诊断及预报系统结构Fig.1 The structure of diagnosis and prediction system

系统输出结果为某一种状态类型:间歇性失火、高油气比、低油气比、点火过迟、点火过早和正常共计6种发动机状态。

2.2 核函数的选择

常用的RVM核函数有4种[8]:

线性核函数:

多项式核函数:

高斯径向基(RBF)核函数:

Sigmoid核函数:

选择合适的核函数是该方法能成功使用的关键,通过测试验证训练,比较各自泛化性能,本文选择RBF核函数作为故障诊断的RVM模型。

2.3 超参数的优化

RVM算法中超参数的选择对RVM算法的分类准确率起着决定性的作用,以往文献常用的参数寻优方法多采用人为列举寻优、交叉验证等方式设置参数,但是此类方法所需时间过长,同时还存在容易陷入局部最优的问题[7]。粒子群算法是一种高效的全局寻优算法,可用于机器学习算法的参数优化设置。本文采用PSO算法优化RVM算法的超参数设置,从而建立故障诊断的机器模型。

2.3.1 PSO优化算法

粒子群优化算法(particle swarm optimization,PSO),是由 Kennedy和 Eberhart于1995年首次提出的一种基于迭代的寻优算法[8]。该算法是对鸟群社会行为的模拟,PSO算法和遗传算法类似,是一种基于群体(population)的优化算法,每个粒子通过和其他粒子进行信息交互,调整自己的进化方向,以及避免陷入局部最优;同时,PSO算法采用不同于遗传算法的随机搜索策略,操作起来要比遗传算法简便得多,因此在解决某些优化问题时显示出更卓越的性能。

本文利用粒子群优化算法优化相关向量机中的拉格朗日乘子,通过利用PSO寻找拉格朗日乘子这个向量满足RVM中约束条件的各个分量的最优值,使得两分类之间的间隔距离最大,从而构造出最优超平面。初始化粒子群时,应不断判断直到各粒子随机的初始值满足所优化的相关向量机中的约束条件。PSO优化相关向量机的拉格朗日乘子a通过调用编写的M文件子程序pso.m实现。每个粒子a的每个分量通过自身学习和向其他粒子学习,不断更新自身速度和位置,达到全局最优。

2.3.2 超参数优化过程

整个优化训练过程的具体步骤如下:

1)初始化粒子群:确定粒子群的规模,初始位置和速度,根据约束条件对每个粒子初始化一个满足条件的拉格朗日因子a的值。

2)计算每一个粒子的目标函数值,即所要优化函数的值。

3)更新每一个粒子a的位置局部最优值和全局最优值。

4)更新每一个粒子的飞行速度和位置,并根据飞行空间的限制调整其速度。

5)判断是否满足终止条件,满足条件跳出循环,并计算相关系数,否则返回的步骤2),直到满足迭代的次数。

6)返回最优a的值,并将最优化的参数传递给RVM模型。

经过超参数优化训练后得到的RVM模型,即可用于数据的分类。PSO对RVM算法的参数优化过程如图2所示。

图2 PSO算法流程图Fig.2 Diagram of PSO algorithm

2.4 分类器的设计

由于有6类发动机故障,因此故障诊断是一个多分类问题。标准RVM算法只能解决2类模式识别,即是否存在故障,但无法判定故障类型。为了进行多类判别,这里采用了文献[9]中的“一对一”投票分类方法,利用二分类器的组合来实现多类模式识别。该分类器在目前RVM多分类方法中应用最广泛,且分类精度相对较高[9-10]。图3中所示的6个类别ABCDEF分别代表6种发动机状态。

图3 基于RVM的“一对一”算法Fig.3 “One Against One”algorithm based on RVM

对待分类样本进行模式判别时,首先在AB 2类中判断该样本与哪一类更相似,如果接近B,就在B所在的类别投一票。然后依次是 AC、AD、AE、AF、BC、…、EF,每次2类判别都对与待测样本更接近的类别进行投票,最后各类票数累加,得票最高的类别即待测样本所在的类别,再输出该类的故障信息即完成故障诊断过程。如果出现最高票2类相等的情况,则对这2类进行一次单独判断。

该分类器是多个2类判别分类的组合,把k=6类故障原因中任意2类构造成一个二值分类器,这样可以构造k(k-1)/2=15个二类分类器,构成多类别分类器。对于样本的k个特征,输入样本特征参数向量:X=(x1,x2,...,xk),输出类别参数向量:Y= (y1,y2,...,yk) ,其中:yi∈{ 1,2,3,4,5,6}分别对应间歇性失火、高油气比、低油气比、点火过迟、点火过早和正常共计6种发动机状态。

3 实验仿真与结果分析

为了验证本文提出的基于PSO-RVM的发动机故障诊断技术的实际性能及应用效果,下面将该方法与BP神经网络、遗传优化的BP网络(GA-BP)、遗传优化的支持向量机(GA-SVM)这几种近年来提出的尾气故障检测技术进行对比仿真实验。

实验所采用的样本数据来自表2中的30个测试样本。

3.1 实验样本数据

对传感器检测到的各类气体含量数据是其净含量,首先需要将它们进行预处理,把它们转换成百分比浓度,再进行归一化处理[5,11],归一化后的数据与故障类型编号的对应关系如表2所示。

从表中数据可知,尾气中各类气体含量与发动机的某种状态呈非线性对应关系。

表2 发动机尾气排放的正常范围Table 2 The normal range of engine exhaust gas

3.2 实验步骤

1)把样本数据分成2组,将编号为1~24的样本作为训练样本,编号为25~30的6个样本作为待识别数据。

2)利用训练样本对RVM分类器进行训练。

3)用训练好的RVM分类器对待识别样本进行分类,输出发动机状态分类结果。

4)把每个样本的机器识别结果与数据表中实际状态进行比较,并用表格记录分类正确或错误。

5)改变训练和测试样本,将编号为7~30的样本作为训练样本,编号为1~6的样本作为待识别样本,重复2)~4);再将编号为7~12的样本作为测试样本,其余样本为训练样本…;这样可以用30个样本完成5组独立的实验。

这样得到的每组实验训练和测试的样本都不相同,能保证全部30个样本的测试结果互不相关,测试结果具有独立性。

3.3 实验结果与分析

本文提出的PSO-RVM方法在实验中测试的30个样本中只有1例分类错误,正确率为96.7%。把文献[3,5,11]中的方法作为对比参考,对比测试的统计结果如表3所示。

表3 不同发动机故障诊断方法比较Table 3 Comparison of different engine fault diagnosis methods %

从表3中的数据可以看出,本文所提出的方法在汽车发动机失火故障检测中准确率是最高的。实际上,神经网络通常在大量样本训练时才能保证机器学习性能,而本文中的样本每类故障只有5个数据,显然是小样本问题。由于BP和GA-BP都是基于神经网络的方法,因此训练的泛化性能和鲁棒性都无法保障,每次训练结果偏差也很大。GA-SVM虽然在这方面有所改善,但在识别率和每次训练误差方面,仍不如本文提出的PSO-RVM诊断方法。

发动机转速较高时,传感器检测的数据中噪声强度会有所增加,此时传统方法诊断结果误差会随之迅速增大,下面继续通过实验比较一下不同检测方法在含一定强度噪声的数据检测中的表现。在同样的检测条件下,改变噪声强度,得到的诊断结果如表4所示。

表4 不同发动机故障诊断方法比较Table 4 Comparison of different engine fault diagnosismethods

试验结果表明,在传感器检测数据含噪声时,PSO-RVM方法的故障诊断明显好于对比实验。目前各类发动机的尾气样本数据都是在固定转速状态下测得的,不同转速下各气体在尾气中的含量会有一定的差别,因此现有的方法都无法进行实时动态故障诊断。为将新方法进一步推广,可采集在每个变速档位的行驶状态样本数据进行单独训练,这样在不同档位上调用各自对应的RVM模型(区别在超参数不同),即可实现不同转速下的动态检测,实时显示发动机的运行状态。

4 结束语

利用汽车尾气成分分析法,通过相关向量机训练归一化的发动机状态样本数据,建立了参数优化的RVM模型,利用该模型进行了发动机故障检测实验,验证了该方法的有效性。实验结果表明,采用PSO-RVM方法的发动机故障诊断技术比传统的基于神经网络、GA-BP、GA-SVM等方法的诊断结果更加准确,鲁棒性好,泛化能力进一步加强,具有较好的可推广性和一定的实用价值。

[1]吴广.汽车故障诊断系统研究[D].长春:吉林大学,2009:1-5.WU Guang.Study on diagnostic system of automobile[D].Changchun:Jilin University,2009:1-5.

[2]KIHOON C,SINGH S,KODALIA,et al.Novel classifier fusion approaches for fault diagnosis[J].IEEE Transactions on Instrumentation and Measurement,2009,58(3):602-611.

[3]LU Di,DOU Wenjuan.Fault diagnosis of engine misfire based on genetic optimized support vector machine[C]//The 6thInternational Forum on Strategic Technology.Harbin,China,2011.

[4]赵远,张宇.光电信号检测原理与技术[M].北京:机械工业出版社,2005:33-35.

[5]付金.基于GA优化BP神经网络的汽车发动机失火故障诊断研究[D].沈阳:东北大学,2009:11-13.FU Jin.Research on automobile engine fault diagnosis based on GA-BP neural network[D].Shenyang:Northeastern U-niversity,2009:11-13.

[6]TIPPING M E.Sparse Bayesian learning and the relevance vector machine[J].Machine Learning Research,2001:211-244.

[7]赵榈.相关向量机优化方法的研究[D].南宁:广西大学,2012:7-16.ZHAO Lyu.Optimization methodology research of relevance vector machine[D].Nanning:Guangxi University,2012:7-16.

[8]吴良海.基于粒子群优化相关向量机的网络入侵检测[J].微电子学与计算机,2010,27(5):181-184.WU Lianghai.Network intrusion detection based on relevance vectormachine optimized by particle swarm optimization algorithm[J].Microelectronics and Computer,2010,27(5):181-184.

[9]IOANNISP,THEODOROSD,MARK A,et al.Multiclass relevance vector machines:sparsity and accuracy[J].IEEE Transactions on Neural Networks,2010,21(10):1588-1598.

[10]柳长源,毕晓君,韦琦.基于向量机学习算法的多模式分类器的研究及改进[J].电机与控制学报,2013,17(1):114-118.LIU Changyuan,BI Xiaojun,WEIQi.Research and improvement of multicass pattern classifier based on vector machine learning algorithm[J].Journal of Electric Machines and Control,2013,17(1):114-118.

[11]朱惠莲.基于神经网络的汽车发动机故障诊断系统[D].杨凌:西北农林科技大学,2007:24-31.ZHU Huilian.The fault diagnostician system of automobile engine based on artificial neural network[D].Yangling:Northwest A & FUniversity,2007:24-31.

猜你喜欢

尾气分类器故障诊断
基于包络解调原理的低转速滚动轴承故障诊断
机动车尾气污染物排放和控制探究
数控机床电气系统的故障诊断与维修
基于实例的强分类器快速集成方法
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
因果图定性分析法及其在故障诊断中的应用
多层介质阻挡放电处理柴油机尾气颗粒物
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别
基于LCD和排列熵的滚动轴承故障诊断