基于Elman神经网络的滚动轴承故障诊断方法
2010-07-26王志伟
杨 超,王志伟
(华东交通大学 载运工具与装备省部共建教育部重点实验室,南昌 330013)
传统的滚动轴承故障诊断方法有振动法、声发射法、温度法、铁谱分析法、油样分析法、光纤探测法等[1]。但由于轴承实际工作的环境相当复杂,反映在故障征兆与原因上,同一故障征兆可能是多种原因引起的,致使传统的故障诊断方法在实际使用过程中有很大的局限性,故障诊断精度和诊断速度很难达到实际应用要求。
近年来,人工智能在故障诊断中得到了广泛地应用,具有传统故障诊断方法无法比拟的优越性,其中以人工神经网络(ANN)最具代表性,人工神经网络由许多具有非线性映射能力的神经元组成,神经元之间通过权系数相连接。人工神经网络具有自组织、自学习的能力,容错性和鲁棒性很高[2]。利用神经网络对滚动轴承进行故障诊断,建立可靠且具有足够容量的样本数据库,可以提高轴承故障诊断的效率和准确率。现介绍一种Elman神经网络故障诊断方法,在滚动轴承故障识别中取得了很好的诊断效果,其在网络结构选择、网络的训练及提高网络的泛化能力等方面都优于传统的BP神经网络。
1 故障诊断技术路线及Elman神经网络原理
1.1 故障诊断技术路线
轴承故障诊断路线主要由以下5个步骤组成:(1)轴承振动信号的检测与采集;(2)信号处理与分析;(3)信号特征向量提取;(4)依据所获得的特征量对轴承进行故障诊断;(5)诊断结果的输出和判断。图1为轴承故障诊断技术路线图。
图1 轴承故障诊断技术路线图
1.2 Elman神经网络原理模型
Elman网络是动态递归神经网络的一种,具有动态特性和递归作用,其包含一个双正切S形隐含层和一个线性输出层。S形隐含层接收网络输入和自身反馈;线性输出层从S形隐含层得到输入[3]。Elman神经网络是反馈网络中最具代表性的例子,具有多层网络结构。如图2所示,在Elman网络中,除了普通的隐含层外,还有一个特别的隐含层,有时称为上下文层或状态层。该层从普通隐含层接收反馈信号,神经元输出被前向传输至普通隐含层。Elman神经网络这种组合结构特点使其能在有限的时间内任意精度逼近任意函数。这一点只需通过给递归层设置任意的神经元来实现即可。
图2 Elman神经网络结构模型
在Elman模型中,u(k)为网络的外部输入,y(k)为网络输出,x(k)为隐含层输出,xc(k)为结构单元输出。设网络的输入层有q个节点,隐含层和连接单元有n个节点,输出层有m个节点,则网络输入u(k)为q维向量,隐含层输出x(k)及连接单元输出xc(k)为n维向量,网络输出y(k)为m维向量,连接权W1为n×n维矩阵,W2为n×q维矩阵,W3为m×n维矩阵。其中α为固定增益,当α=0时为一般的Elman网络结构;0<α<1时为改进型Elman网络结构。则改进型Elman神经网络的数学模型为:
xc(k)=αxc(k-1)-x(k-1)
(1)
x(k)=f[W1xc(k)+W2u(k)]
(2)
y(k)=g[W3x(k)]
(3)
Elman神经网络学习规则,设第k步时的实际输出为y(k),目标输出为yd(k),定义误差函数为:
E(k)=1/2[yd(k)-y(k)]T[yd(k)-y(k)]
(4)
将E(k)对连接权值W1,W2,W3分别求偏导,由梯度下降法可得Elman网络的学习算法:
(5)
(6)
(7)
2 轴承故障诊断的Elman神经网络实现
2.1 故障信号采集
轴承的故障信号采自轴承模拟故障试验台,试验台由调速电动机、联轴器、轴承箱和轴承座组成。试验台及传感器布置如图3所示,共选用了4个6308轴承进行试验,其中1个无故障轴承,其他3个分别为外圈、内圈及滚动体存在故障的轴承,传感器为振动加速度传感器。
图3 滚动轴承模拟试验台示意图
图4为从试验台上采集到的轴承无故障、内圈故障、外圈故障和滚动体故障4种状态下的振动加速度信号。从中可以看出,滚动体故障和正常状态下幅值波动不大,而外圈故障和内圈故障下振动信号有明显的不同,有不同冲击成分出现在振动信号中,故障特征比较明显。
图4 滚动轴承在无故障,内、外圈及滚动体故障下的时域波形
2.2 故障信号特征的提取
轴承振动信号中包含着其运行的状态信息,当轴承出现不同程度的故障时,将反映为振动信号频率成分和能量的变化[4]。通过试验台加速度传感器采集到的振动信号一般是一个宽带信号,且随机性比较强,可以通过对轴承振动信号的幅域参数进行统计计算,把这些幅域参数转换成能够反映轴承运行状态的特征向量。对同一状态下的信号进行多次测量,作为同一状态下的多个样本对Elman神经网络进行训练。采用信号的绝对均值、方差、标准差、有效值和方根均值5个统计特征参量,进行归一化处理后作为Elman神经网络的输入。
信号的特征信息是反映系统状态及其变化规律的主要信号。在轴承出现故障时,其信号产生的变化都能在选取的5个统计参量中有所体现,以其作为故障判断的依据是可以的。但在大多数情况下和轴承缺陷比较轻微时(除轴承崩齿),这些统计特征参量值的变化是比较小的,不易人为统计分析轴承的具体故障。同时由于某一项的统计参量有所变化并不代表一定是某种故障引起的,结合多种参量的变化信息可以更准确地反映某种故障特征变化,因此利用这5种统计参量共同作为Elman神经网络的输入,可以更有效地判定轴承出现的某一具体故障。由于采集的各参量数据单位不一致,因而在Elman神经网络训练之前,须对数据进行归一化处理。表1和表2为轴承振动信号5个特征参数归一化后得到的故障特征值。
表1 轴承故障诊断训练数据
表2 轴承故障诊断测试数据
2.3 故障诊断应用实例
本试验通过以上采集到的特征数据并借助于MATLAB中的Elman神经网络工具箱对轴承故障诊断进行仿真,对特征数据做以下处理[5]:(1)加载数据;(2)Elman网络初始化;(3)设置Elman网络参数,包括输入层、隐含层、输出层神经元数目及类型,目标误差,学习速率等;(4)训练Elman神经网络,并优化其误差精度及训练次数;(5)测试Elman神经网络;(6)查看Elman神经网络推理系统,并进行评估验证。
由于Elman网络也采用有教师的训练学习方式,所以其训练样本集也是由输入数据和目标输出组成。在表1的训练样本集中,输入向量维数为5,即输入层神经元为5个,由轴承的5个运行参数所提取的故障征兆组成;目标输出向量维数为4,即输出神经元为4个,分别由4位不同的二进制数表示4种故障类型,(1000)代表无故障输出,(0100)代表外圈故障输出,(0010)代表内圈故障输出,(0001)代表滚动体故障输出。由于单隐含层的Elman网络功能已经非常强大,因此这里采用单隐含层的Elman网络。最影响网络性能的是隐含层的神经元数,这也是比较难确定的,综合考虑网络的性能和速度,将隐含层的神经元数设定为11,隐含层神经元的传递函数采用tansig,输出层神经元的传递函数采用logsig,试验目标误差设定为0.001,默认学习速率。图5是以表1数据为输入得到的Elman网络训练的误差曲线,表3是在网络训练成功以后,对表2数据进行测试得到的仿真数据。
图5 Elman网络训练误差曲线(误差值0.000 999 597,目标误差0.001)
表3 Elman网络测试数据仿真输出值
由图5和表3可以看出,Elman的训练误差收敛速度很快,仅用了41步,其测试精度也很高,实际输出很接近理想输出,网络成功地识别出轴承的无故障、外圈故障、内圈故障及滚动体故障4种工作状态。从而证明Elman网络在轴承故障诊断中是有效的。
2.4 Elman网络与BP神经网络性能比较
为了比较传统的BP神经网络与Elman网络之间的诊断性能,用BP神经网络的方法对滚动轴承故障进行诊断,BP神经网络的参数设置为:输入神经元数为5,输出神经元数为4,同样用4位不同的二进制数表示4种故障类型,综合考虑网络的性能和速度,隐含层神经元数选择15个,隐含层神经元的传递函数采用tansig,输出层神经元的传递函数采用logsig,目标误差为0.001,默认学习速率。图6和表4分别为BP网络的训练误差曲线和测试数据仿真输出值。
图6 BP网络训练误差曲线(误差值0.000 876 329,目标误差0.001)
表4 BP网络测试数据仿真输出值
从表3和表4中可以看出,两种神经网络都能对故障进行正确识别,但Elman神经网络诊断速度明显高于BP神经网络诊断速度,且其神经网络结构相对简化,所以从综合诊断性能上来比较,Elman神经网络要优于BP神经网络。
3 结束语
利用Elman神经网络对由轴承故障试验台采集到的故障特征数据进行仿真试验,很好地诊断出轴承相应的故障类型,说明Elman用于轴承故障诊断是有效的。同时与BP神经网络诊断效果相比较,Elman神经网络的综合诊断性能更好。