基于模糊神经网络的智能故障诊断专家系统
2017-03-09司景萍马继昌牛家骅王二毛
司景萍, 马继昌, 牛家骅, 王二毛
(内蒙古工业大学 能源与动力工程学院,呼和浩特 010051)
基于模糊神经网络的智能故障诊断专家系统
司景萍, 马继昌, 牛家骅, 王二毛
(内蒙古工业大学 能源与动力工程学院,呼和浩特 010051)
发动机是车辆的核心部件,及时有效地发现并排除故障,对降低维修费用,减少经济损失,增加发动机工作时的可靠性,避免事故发生具有重大的意义。以某型号发动机为研究对象,运用测试技术、信号处理、小波分析、神经网络和模糊控制理论,提出了基于模糊神经网络的智能故障诊断系统。建立了发动机故障信号采集试验台,在试验台上人工模拟3种转速下6种工况,通过加速度传感器采集正常工况和异常工况的振动信号,之后利用小波包技术进行消噪处理,并提取出故障信号的特征值,作为网络训练和测试的样本数据。用样本数据训练和检测自适应模糊神经网络,完成对信号的离线模式识别,之后以测试样本数据实现在线故障诊断,通过仿真分析,取得了很好的诊断效果。与传统的BP神经网络故障诊断方法进行对比,无论在诊断精度上还是学习速度上,模糊神经网络在故障诊断中更具有优势。同时,在专家系统的理论基础上,将模糊神经网络与专家系统进行信息融合,实现数据接口通信,利用网络的自学习能力建立智能故障诊断数据库和诊断规则库,通过程序语言快速高效的设计出智能诊断系统。最后,通过发动机故障诊断实例仿真分析,验证了基于模糊神经网络的智能故障诊断专家系统的可行性。
神经网络;模糊理论;专家系统;小波分析;信息融合;智能故障诊断
随着计算机技术和人工智能技术的发展,如何实现机械设备的在线检测与实时故障诊断,建立简单智能化的故障诊断系统,并在实践中推广应用,是故障诊断系统研究的主要方向[1]。汽车发动机智能故障诊断技术是指在发动机不解体的情况下,利用测试技术、信息处理技术、智能故障诊断等技术对发动机产生的各种信号进行测试分析进而实现故障准确判断的过程。随着科学技术的不断发展,汽车发动机自动化程度越来越高、结构越来越复杂,其产生故障的复杂性也越来越大,仅靠一种理论或者一种方法,很难实现复杂条件下对故障及时准确的诊断,而两种或者两种以上智能方法的结合,可兼顾实时性和精确度,这一趋势成为智能故障诊断的发展方向[2-4]。目前在众多智能诊断技术融合方法中,模糊推理和神经网络的融合理论备受关注,文献[5]中将二者结合形成的模糊神经网络,可克服各自缺点,充分发挥各自优点,使得系统具有较强的自学习能力,为复杂系统的故障诊断提供有效的工具。
基于此,本文以某汽油发动机为研究对象,搭建信号采集系统,对发动机在正常工况和发动机工作异常时进行了振动信号的采集,在对其进行信号处理过程中,对比分析了小波变换与小波包分析的去噪效果,选择利用小波包分析方法对信号消噪、提取故障特征向量。最后将提取的特征向量分为训练样本库和检验样本库。利用训练样本库数据训练模糊神经网络,不断修改网络权值,完成输入到输出的非线性映射,达到预期的识别精度后,再利用检测样本评价模糊神经网络的性能,并与BP神经网络的诊断性能对比分析,主要包括识别精度对比和学习收敛速度对比。通过模糊神经网络的离线训练,将其获得的神经元连接权值和诊断规则作为专家系统的知识库,利用Visual Basic语言程序,创建了ActiveX控件,实现专家系统与Matlab模糊神经网络的接口通信,并设计了专家系统人机界面。通过发动机故障诊断实例,验证了多种智能诊断技术的有机结合,可以提高诊断效率,满足故障诊断要求。
1 信号特征向量的提取
小波分析是一种对信号进行时频域分析的方法之一,具有多分辨率分析的特点,而且在时域和频域内都具有表征信号局部特征的能力。小波变换是傅里叶分析思想的发展与延伸,可以用不同的“放大倍数”观测信号;对于时变,非平稳信号是一种比较理想的处理方法[6]。
小波分析建立在小波变换的基础上,主要讨论的函数空间为L2(R),L2(R)是指R上平方可积函数构成的函数空间。
(1)
式中,CΨ有界,则称Ψ(t)为一个基小波或母小波。将母小波进行伸缩平移变换之后,就可以得到一个小波序列
(2)
式中:a,b∈R且a≠0;a为伸缩因子,反映函数的宽度,决定了小波变换中频率的信息;b为平移因子,用来检测窗口在t轴的位置,决定了变换后时域内的信息。由此可知,小波变换具有频域和时域定位特性。
信号的连续小波变换在L2(R)中被定义为
(3)
由式(3)可知,小波变换的实质即指原始信号与小波序列函数做内积,将L2(R)空间中的任意函数f(t)表示为在具有不同伸缩因子a和平移因子b的Ψa,b(t)上的投影叠加,通过调整伸缩因子和平移因子,就可以达到对信号时频局部化分析的目的。但小波分析,只对信号低频部分分解,而实际应用中,需要对信号的低频和高频部分都进行细致的分析,得到表征信号特征的完备信息。
为了克服上述缺点,在小波分解理论的基础上提出了小波包分解。小波包分解不仅对信号低频部分分解,同时也对高频部分分解,是一种更为精细的信号分析方法。利用小波包分解提取特征向量,可以更全面的反应故障信息,为故障模式识别提供有效依据,其基本步骤为:①对信号进行小波包消噪,并对消噪后的信号进行N层分解,得到2N个子频带;②利用重构函数,对各个子频带重构,得到重构系数,并计算各个节点能量值;③进行归一化处理,得到特征向量。三层小波包分解如图1所示。
图1 小波包分解示意图Fig.1 Wavelet packet decom schematic diagram
2 故障振动信号的模式识别
2.1 模糊神经网络
模糊推理利用模糊规则,模拟人脑模糊逻辑思维,在宏观上进行问题的处理,可以实现函数的逼近功能,而神经网络由神经元构成,利用其自学习能力,调节权重矩阵,在微观上完成输入到输出任意精度的非线性映射。二者结合形成的模糊神经网络,克服了各自缺点,同时发挥各自优点,使得系统不但具有较强的自学习能力,同时具有较强的知识表达能力,易于理解。
2.2 系统的结构与功能
模糊神经网络具有较强的数据处理能力和自学习能力,其结构如图2所示。
图2 模糊神经网络结构图Fig.2 Fuzzy neural network structure
2.3 模糊神经网络的学习算法
网络学习的过程,就是更新网络连接参数的过程,目的在于确定高斯函数的中心值cij和宽度值σij,以及网络的连接权值wj的合适值,使得网络性能最优。根据系统的实际输出值和目标值计算出学习误差,误差反向传播对系统的条件参数进行调整[7-8]。具体调节过程如下:
(1)初始化网络,置各个连接权值wj和隶属度函数的中心值、宽度值为趋于0的随机数。
(2)学习样本输入:输入向量Xp(p=1,2,…,p)和目标输出Yp(p=1,2,…,p)。
(3)计算网络的实际输出与期望输出之间的误差
(4)
式中,ydp和yp分别为输出层第p个节点的期望输出与实际输出值。
(4)计算参数的修正加权系数,修正参数有
网络连接权值
(5)
式中,(j=1,2,…,r)。
隶属函数中心值
(6)
式中,(i=1,2,…,p;j=1,2,…,r)。
隶属函数宽度值
(7)
式中,(i=1,2,…,p;j=1,2,…,r)。
上述各式中:η为学习效率;n为迭代次数。
当网络实际输出与理想输出一致时,表明训练结束,否则通过误差反向传播,修正各层参数,直至误差降到要求范围内。
3 专家系统设计思想
3.1 专家系统的机构
专家系统是一种计算机语言,具有相关领域内大量专家知识,通过编程建立数据库,将知识数值化,可模拟人类专家求解问题的思维过程并进行推理解释相关问题。其结构主要包括知识库、数据库、推理机、人机界面和解释机构,如图3所示。
图3 专家系统结构示意图Fig.3 Schematic diagram of the expert system
专家系统是一个知识处理系统,是一个获得知识并运用知识的过程。知识获取、知识表示和知识利用是建立专家系统的三个基本要素。
3.2 知识库建立
专家系统的知识库用来存放人类专家的知识,知识库中知识的质量和数量决定着专家系统的质量水平。系统求解问题的过程就是通过知识库中存储的大量知识模拟人类专家的思维过程,并进行推理解释相关问题[9]。建立神经网络专家系统的关键是建立知识库,也就是确定神经网络输入层与隐含层之间、隐含层与输出层之间的连接权值和阈值。知识的获取表现为神经网络对于样本的学习训练,神经网络专家系统将知识分布在各个神经元连接的权值和阈值中,并以矩阵的形式保存。建立知识库的步骤:①分析诊断对象,确定神经网络结构;②提取故障特征向量,获得训练样本;③训练神经网络获得连接权值和阈值,形成知识库,并对其进行保存。
3.3 推理机制
推理过程是对当前已知条件和信息与知识库中的规则反复进行匹配,匹配成功则推理结束,得到求解问题的结果,推理机制有正向推理,反向推理和混合推理三种。神经网络专家系统的推理机制实质上是一种并行计算、同时对网络参数进行修正的过程,是采用数值计算方法进行求解的推理过程[10]。本文采用信息正向传播、误差反向传播的BP神经网络正向推理计算过程,具体步骤如下:①输入故障特征向量;②在网络内,信息向前传播得到实际输出,计算实际输出与理想输出误差,将误差反向传播,调整网络参数;③达到误差要求,结束训练。将输出的数值符号化,即转换成逻辑概念,显示对应故障类型。
3.4 人机界面
人机交互界面是神经网络专家系统与维修人员对话的桥梁,通过该界面,完成基本信息的输入,回答系统提出的问题,同时将推理结果和相关问题的解释显示在人机界面上。
用户可以方便的对系统知识库进行扩充和完善。构建专家系统的人机界面应满足使用方便、简单直观、可操作性强的要求,选择可视化编程语言来编制程序,并用相应的文字说明,可以让维修人员很快的识别系统并作出决策。
3.5 系统结构设计
在软件设计方面,创建ActiveX控件,并设置了Program ID,定义Matlab为服务器对象。对象创建完成后,就可以对其进行操作,同时开发了两条主线:学习线和诊断线,实现专家系统与模糊神经网络的数据接口通信。
模糊神经网络专家系统结构图如图4所示。
图4 神经网络专家系统结构设计示意图Fig.4 Architecture design schematic of neural network expert system
4 系统应用实例
4.1 故障信号特征向量提取
本文以DA462型汽油发动机为测试对象,研究引起发动机振动异常的主要激振源,即燃烧激励和进排气门开启落座激励。将发动机振动系统简化为多输入单输出的数学模型,发动机出现故障时,会引起异常的振动,通过测取缸盖振动信号,完成对故障振动信号的采集。试验台及传感器布置见图5。
图5 发动机振动信号采集实验图Fig.5 Engine vibration signal acquisition test chart
在发动机故障模拟实验台上,将两个加速度传感器分别粘贴在一缸和四缸缸盖的螺钉上,用来采集发动机振动信号,导线的另一端与振动信号分析仪连接,其安装位置如图6所示。
图6 一缸和四缸缸盖上的加速度传感器Fig.6 Acceleration sensor on first cylinder and fourth cylinder
两个加速度传感器与振动测试仪相连接,采集到的振动信号通过振动测试仪的USB数据接口输入到计算机,利用电脑上安装好的LabView软件对信号进行分析和处理,振动测试仪与故障模拟试验台连接如图7所示。
图7 测试仪器与故障模拟试验台现场图Fig.7 Graph of test equipment and fault simulation test bench
在发动机故障诊断实验台上,分别在转速为850 r/min、2 000 r/min、3 200 r/min下,模拟6个工况并用二进制编码表示不同转速工况下的故障代码如表1。
表1 模糊BP网络各工况下的期望输出代码
将加速度传感器、曲轴位置传感器按图示位置安装,连接好检测仪器,启动后,预热10 min左右采集发动机的振动信号。本实验中,信号采集处理系统选用B&K公司研发的PLUSE系统,数据以*.Pti格式保存,在处理时,需利用系统中Labshop模块,将*.Pti格式转换成Matlab能够识别的数据*.Mat类型。为了以后的处理方便,每种转速每种工况下采集12组数据,采样时间为20 s,将采集的数据保存到电脑上。信号的采样频率设置为24 000 Hz,根据采样定理,采集到的信号频率为0~12 000 Hz,实验采集参数设置如图8所示。
图8 测试系统参数设置对话框图Fig.8 Setup dialog box of testing system
由于发动机是一个复杂的系统,振动信号又呈现时变非稳定特性,基于这一点采用了小波包时域分析方法。小波分析是低频细分,高频不细分,是n+1个子频带;小波包高、低频全部对半细分,是2n个子频带。以气门间隙为0.15 mm,转速在850 r/min下一缸缺火故障工况采集到的信号S为例,选取的信号长度为3 920,两者消噪效果对比如图9所示。
图9 小波分析与小波包分析效果对比Fig.9 The wavelet and wavelet packet analysis contrast effect
在信号特征向量提取过程中,信号所包含的信息是否完整充裕,是提高模式识别的关键因素,在信号的奇异点处包含着丰富的特征信息。从图中可以看出两者均可对信号滤除噪声,但在奇异点处小波包分析保留了原始信号丰富的信息(图9中箭头所示区域),有利于信号特征向量的提取。在Matlab中编写信号分析程序并运行,分解得到的8个小波包系数进行重构,得到的小波包分解树形结构及节点信号如图10所示。
(a) (b)图10 小波包三层树状分解示意图及第二层第3个节点信号Fig.10 Wavelet Packet three tree exploded view of the first and the second layer 3 node signal
样本特征值工况1样本10.79280.11910.02730.05930.02030.01690.04040.0945样本20.80940.12510.03100.07710.02880.02890.03060.0921样本30.81230.42960.02070.06040.02160.03100.03000.0665工况2样本40.72730.42150.03130.03400.01600.01740.03410.0433样本50.79380.02250.03530.03660.01800.01810.03450.0663样本60.92540.42100.03470.03240.01520.01690.03430.0419工况3样本70.79870.22410.04070.03480.12760.02000.03970.0662样本80.76810.12470.03970.01500.12680.02050.03080.0654样本90.80510.22400.02080.03470.12710.02010.04020.0675工况4样本100.87840.02530.07550.37820.23020.03130.34050.0803样本110.78910.02480.07200.37720.22890.05100.33990.0796样本120.87930.02520.07540.37800.23020.05120.34040.0802工况5样本130.94920.01570.00730.01130.00350.00320.00590.0040样本140.94170.02040.00740.01120.00400.00320.00680.0043样本150.94870.02190.00840.01150.00370.00320.00650.0044工况6样本160.66540.05450.07910.06540.00250.00530.00970.0292样本170.66220.05210.10760.07050.00220.00490.10750.0233样本180.66290.04830.01510.10540.00220.00770.04340.0298
根据实验设计方案,振动信号是在3个转速,每种转速下对应有6种模拟工况测得的。每个转速每种工况下均采集12组信号,共12×3×6=216组信号,经过预处理,提取出216组故障特征向量,对应每种工况下前9组作为神经网络训练数据,共计9×3×6=162组,见表2。后3组作为网络检验数据,共计3×3×6=54组,见表3。为节省篇幅此处仅给出每种工况下4组数据。
表3 发动机故障诊断测试样本数据
4.2 模糊神经网络离线训练
选取高斯隶属度函数,对样本数据模糊化,学习速率设置为20,目标误差设置为0.001,训练步数为10 000,网络结构设计为三层,输入节点为8,隐含层节点为11,输出层节点为5,故障输出代码设置依据表1。分别对常规的BP网络和基于模糊BP神经网络进行训练,得到的训练误差图见图11。
图11 两种网络的训练误差曲线图Fig.11 Training error curve two networks
由图11可以看出,模糊神经网络的误差曲线在1 356步就达到收敛值,训练速度较快,而传统的BP网络训练在8 873才达到收敛,学习速度较慢。达到训练要求精度后,即学习结束。
接下来利用54组检测样本数据,验证网络性能。本文对比分析了BP神经网络和模糊神经网络两种模型的实际输出,以及对故障振动信号模式识别的准确率,结果如表4所示,此处只列出前21组数据的检测结果。
通过表4可以明显观察到,模糊神经网络在振动信号的模式识别中具有较高的准确率,二者结合形成的模糊神经网络,克服了各自缺点,充分发挥各自优点,使得系统具有较强的自学习能力,为发动机故障诊断提供了有效的工具。
表4 BP神经网络输出和模糊神经网络输出
4.3 专家系统智能故障诊断
选定网络的结构,和学习算法,训练数据为知识库实现知识获取。当新的学习实例输入后,通过对新的实例学习,知识模块自动获取网络权值分布,从而更新知识库,这在一定程度上克服了专家系统知识获取窄台阶问题。系统功能图如图12所示。
图12 专家系统功能结构Fig.12 Expert system function structure
完成网络的训练后,隐含层与输入层的连接权值iw1为<11×8>矩阵,隐含层与输出层连接权值iw2为<5×11>矩阵,隐含层阈值b1为<11×1>矩阵,输出层阈值b2为<5×1>矩阵。利用ActiveX技术和程序语言,实现专家系统与模糊神经网络的数据信息融合,调用训练好的网络,将网络各层的连接权值和推理规则作为系统的知识库,如图13所示。
用户在界面上输入完整的故障特征向量,点击“诊断故障”按钮,系统自动启动Matlab服务器对象,调用前面训练好的网络进行计算,并将实际输出结果显示在界面上,同时自动判断出输出数值代表何种故障类型。以工况2的测试样本数据为例,输入特征向量,得到专家系统的输出结果见图14。
图14 智能诊断结果输出界面Fig.14 Intelligent diagnosis results output interface
在54组测试样本中,有51组与设定的故障代码相一致,正确率达到94.5%。样本数据所包含信息的完整性和丰富性,影响着网络的性能和诊断效率。本文仅采用216组样本数据对网络进行训练,如果将故障特征向量样本数据取得足够多,就可提高系统故障诊断正确率。
5 结 论
本文通过对发动机故障模拟试验台采集发动机振动信号,仿真结果表明,小波包信号处理技术,可以有效提取表征故障特特征的完备参数。运用模糊神经网络对发动机故障进行了诊断,二者结合实现了优势互补,在应用中得到了很好的故障诊断效果,相比于传统的BP神经网络诊断方法,无论在诊断精度上还是诊断速度上,模糊神经网络更具优势,为复杂系统的故障诊断提供了有效的工具。利用ActiveX自动化技术,将完成专家系统与模糊网络的信息融合,不仅实现了界面的可视化,还充分利用了MATLAB神经网络工具箱中的网络模型和学习算法,使得二者优势充分发挥,取长补短,减少了程序的编辑量,快速高效的完成诊断任务,通过发动机故障实例分析,验证了系统的可行性。
[ 1 ] 陈朝阳,张代胜,任佩红. 汽车故障诊断专家系统的现状与发展趋势[J].机械工程学报,2003,39(11): 1-6. CHEN Zhaoyang, ZHANG Daisheng, REN Peihong. Present situation and the development trend of auto fault diagnosis expert system[J].Journal of Mechanical Engineering,2003,39(11): 1-6.
[ 2 ] 杨朔,姚寿广,刘宏伟,等. BP神经网络在专家系统开发中的应用与研究[J].科学技术与工程, 2007,7(21):5580-5583. YANG Shuo, YAO Shouguang, LIU Hongwei,et al. BP neural network in the application of expert system development and research[J].Journal of Science Technology and Engineering, 2007,7(21):5580-5583.
[ 3 ] 吴永恒,肖涵. 基于自适应非趋势波动分析的齿轮振动信号特征提取[J]. 振动与冲击, 2015, 34(9): 154-157. WU Yongheng, XIAO Han . Adaptive detrended fluctuation analysis as a feature extraction method to study gear’s vibration signal[J]. Journal of Vibration and Shock, 2015, 34(9): 154-157.
[ 4 ] 蒋静芝,孟相如,庄绪春,等. 基于Matlab/VB的网络故障诊断软件设计[J].计算机测量与控制, 2010,18(6): 1440-1443. JIANG Jingzhi, MENG Xiangru, ZHUANG Xuchun,et al. Network fault diagnosis software design based on Matlab/VB[J]. Journal of Computer Measurement and Control, 2010,18(6): 1440-1443.
[ 5 ] 李国勇,杨庆佛.基于模糊神经网络的车用发动机智能故障诊断系统[J].系统仿真学报,2007,19(5):1034-1037. LI Guoyong,YANG Qingfu.Intelligent fault diagnosis system of automotive engine based on fuzzy neural network[J].Journal of System Simulation,2007,19(5):1034-1037.
[ 6 ] 张云强,张培林,吴定海,等.基于最优广义S变换和脉冲耦合神经网络的轴承故障诊断[J].振动与冲击, 2015,34(9):26-31. ZHANG Yunqiang,ZHANG Peilin,WU Dinghai,et al.Bearing fault diagnosis based on optimal generalized S transform and pulse coupled neural network[J].Journal of Vibration and Shock, 2015,34(9):26-31.
[ 7 ] SAMANTA B, AL-BALUSHI K R, AL-ARAIMI S A. Artificial neural networks and genetic algorithm for bearing fault detection[J]. Soft Comput, 2006,10(3): 264-271.
[ 8 ] 彭斌,刘振全. 基于改进小波神经网络的旋转机械故障诊断[J].振动、测试与诊断, 2007,27(1): 32-35. PENG Bin, LIU Zhenquan. Based on the improved wavelet neural network of rotating machinery fault diagnosis[J].Journal of Vibration,Test and Diagnosis, 2007,27(1): 32-35.
[ 9 ] 王新志,曹爽,丁海勇. VB调用神经网络工具箱在测绘软件设计中的应用[J].测绘通报, 2011(11):59-62. WANG Xinzhi, CAO Shuang, DING Haiyong. VB call neural network toolbox in the application of surveying and mapping software design[J].Bulletin of Surveying and Mapping, 2011(11):59-62.
[10] 王远航,邓超,吴军,等.基于混合型专家系统的重型机床故障诊断[J].计算机集成制造系统,2010,16(10): 2139-2147. WANG Yuanhang, DENG Chao, WU Jun,et al. Heavy duty machine tool fault diagnosis based on hybrid expert system[J].Journal of Computer Integrated Manufacturing System,2010,16(10): 2139-2147.
An intelligent fault diagnosis expert system based on fuzzy neural network
SIJingping,MAJichang,NIUJiahua,WANGErmao
(College of Energy and Power Engineering,Inner Mongolia University of Technology, Hohhot 010051, China)
Engine is a very important part of vehicles. Fault diagnosis and removal of faults for engine timely and effective thus has important significance, which can not only reduce maintenance costs, reduce economic losses, increase the reliability of the engine at work, but also avoid accidents. A model engine was used as an example in this study. Testing techniques, signal processing, wavelet analysis, neural networks and fuzzy control theory were applied. An intelligent fault diagnosis method based on fuzzy neural network was proposed. The paper established a fault signal acquisition engine test stand, and simulated six kinds of artificial conditions under three kinds of speed. An acceleration sensor was used to collect the vibration signals of the normal condition and abnormal conditions. And then wavelet theory was used to denoise the collected vibration signal. The extracted fault characteristic value of the signal was used as network training sample data and testing sample data. The sample data was used to train and test adaptive fuzzy neural network and complete the signal pattern recognition offline. Online fault diagnosis was then realized. Compared with the traditional BP Neural Network diagnostic methods, the fuzzy neural network has more advantages in fault diagnosis, no matter in learning speed or accuracy. At the same time, on the basis of the theory of the expert system, the fuzzy neural network information fusion was combined with the expert system. The data communication interface was implemented. The network self-learning ability was used to establish a database of intelligent fault diagnosis and the rules library of diagnosis. A fast and efficient design intelligent diagnosis system was completed through the programming language. Finally, the engine fault diagnosis example simulation analysis proved that the intelligent fault diagnosis expert system based on fuzzy neural network is feasible.
neural network;fuzzy theory;expert System;wavelet analysis;information fusion;intelligent fault diagnosis
内蒙古自然基金(2012MS0704);内蒙古高校科研基金重点(NJZZ11070)
2015-07-20 修改稿收到日期:2016-01-27
司景萍 女,教授,硕士生导师,1959年生
马继昌 男,硕士生,1990年生 E-mail:majichang1990@sina.com
U472.42;U467.4
A
10.13465/j.cnki.jvs.2017.04.026