苏欣平,解 亚,周 鑫,任 武
(1.军事交通学院 军事物流系,天津 300161;2.军事交通学院 研究生大队,天津 300161)
液压马达是液压系统的常见执行元件,也是液压系统中发生故障率较高的元件之一.其工作性能决定着整个液压系统的正常运行.因此采用简单有效的故障诊断方法对液压系统的正常运行有着重要意义.
由于液压系统故障发生的原因具有不确性和多样性,在工程实际中故障多表征为一些可见的征兆,而故障征兆与故障原因之间没有明确的映射关系,再加上边界条件的不确定性及运行工况的多变性,使故障征兆和故障原因之间难以建立准确的对应关系.传统的故障诊断方法希望从故障现场采集一些信号,从中提取有用的故障特征信息.但这样使得故障诊断的实时性有所降低,且对工程人员的素质有较高要求.因此如何从一些可见的故障表征中提取出故障的本质原因成为了人们迫切需要解决的问题.
神经网络通过对典型故障样本的训练和学习,用分布在神经网络中的权值和阈值来表达所学习的故障诊断知识,具有对故障的联想、记忆、模式匹配和相似归纳的能力,可以实现故障征兆和故障原因间的复杂的非线性映射关系.因此,避开了模式识别中建模和特征提取的麻烦,从而消除了模式不符和特征提取不当所带来的影响,使故障状态易于识别.
本文运用BP神经网络,采集工程用液压马达的典型故障样本,将MATLAB编程训练用于故障诊断的神经网络,并在液压马达故障诊断中得到有效的应用.
BP算法的基本思想是:学习的过程由信号的正向传播与误差的逆向传播两个过程组成.正向传播时,模式作用于输入层,经隐含层处理后传向输出层.若未能得到期望的输出,则转入误差的逆向传播将输出误差按照某种形式通过隐含层向输入层逐层返回,并分摊给各层的所有单元,从而获得各层单元的参考误差(也称误差信号),作为修改各单元权值的依据.图1所示为三层BP神经网络模型简图[1].
图1 三层BP神经网络模型Fig.1 Model of the three layer BP neural network
网络的输入矢量为A=(a1,a2,…,an),隐含层输出矢量B=(b1,b2,…,bl).
式中:f(.)为激活函数,在BP神经网络模型中,f(.)选取Sigmoid函数;vhi为输入层到隐含层的权值;φi为隐含层的阈值.
输出层的输出矢量为C=(c1,c2,…,cm),则
式中:wij为隐含层到输出层的权值;φj为输出层的阈值.
由BP算法的基本思想知:误差方向传播学习通过一个使总误差最小的过程来完成从输入到输出的映射.通常,总误差定义为所有输入模式上输出单元希望输出与实际输出的误差平方和,即
PPP项目流程合规,入选财政部 PPP 项目库是必要条件,商业银行应由法律部门对 PPP 项目的相关合同文本进行审查,以保障商业银行利益。
式中:yk为希望输出值;y′k为实际输出值.运用BP算法在经过网络的代价函数计算后,将(y1,y2,…,yk)与(y′1,y′2,…,y′k)的误差逐层向输入层方向逆向传播,使网络不断自适应地修改网络的连接权值和节点阈值,以减小代价函数值.权值和阈值的修正公式分别为
式中:α,β为学习率,0<α<1,0<β<1;dj为输出层误差.
当P个训练样本学习时的总误差E满足下列条件,即
则停止迭代过程,网络的连接权值和节点阈值训练完毕.其中ε为任意给定的正小数,它取决于网络训练所希望得到的精度E.
BP神经网络学习步骤如下:
(1)选取学习率α,β及极限误差值ε.
(2)网络状态初始化:用较小的随机数[-1,1]对网络权值wij,vhi和阈值φi,φj置初值.
(3)输入学习模式(误差反传,教师训练).
(4)根据学习模式计算中间层单元的输出.
(5)计算输出层单元的输出.
(6)根据教师信号Tj计算输出层的误差dj=(cj-Tj)cj(1-cj).
(8)调整中间层与输出层的权值及输出层阈值.
(9)调整输入层与中间层的权值及中间层阈值.
(10)进行一次计算,判断本次学习的误差是否比上一次小.若小,记住此次学习结果;否则保持原来的权值.
(11)输出层累积误差E与期望输出的极限误差进行对比,若累计误差E小于极限误差则退出,否则返回(3).
工程机械液压传动系统的液压马达在正常使用时应动作平稳,无异常声响,否则预示设备安装调试发生不良的变化或马达内有定子、叶片或弹簧等零部件发生缺陷.工程机械液压马达由于工作环境恶劣,负载大,经一段时间使用后容易发生多种故障[2].
液压马达常见的故障表征有:转速下降、输出转矩变小、低速稳定性下降、噪声增大、泄漏增加5种,对应的故障原因有5个,见表1.因此确定用于液压马达故障诊断的BP神经网络的输入节点数为5个,输出节点数为5个,根据经验选取隐含层节点数为7个.
表1 某型液压马达故障现象集合Tab.1 All faults of some type of hydraulic motor
根据该领域工程师按照调试记录和经验总结归纳了8种具有代表性的故障样本,如表2.
表2 BP神经网络训练样本Tab.2 Samples of the BP neural network
将采集的常见故障作为神经网络的训练样本A,C,mi为故障现象,ai∈A(i=1,2,…,5),当ai=0时表示没有该故障现象,当ai=1时表示存在该故障现象;ci为输出层对应单元的输出,表示故障原因发生的概率,ci∈C(i=1,2,…,5).
用所得的典型故障样本对该BP神经网络进行训练.采用MATLAB编程实现[3].经22次运算,系统总误差E<0.002,满足要求,训练过程如图2所示.
设待诊断样本为输出转矩变小,噪声增大,即A=(1,0,0,1,0),根据训练所得的权值和阈值进行仿真运算,得到的输出为C=(0.000 2,0.027 6,0.118 0,0.800 2,0.001 7).即可得出最可能的故障原因为系统压力流量变化超过额定值的结论.整个神经网络学习能力强,计算精度高,误差在0.002以内,满足实际需求.
图2 BP神经网络训练过程Fig.2 Training process of the BP neural network
(1)收敛性.BP算法本质上是工程中常用的最小均方误差(LMS)算法的一种广义形式,BP算法采用的梯度搜索技术,从运算过程上来看,收敛速度较慢;在构造或选择连接权值、阈值的代价函数时,还可能出现无收敛值[4].
(2)网络模块化.基于神经网络的故障诊断方法其优点在于具有良好的自学习功能,对于不完全或者被噪声干扰的数据,在多数情况下也能得到问题的解答,鲁棒性较好.但该方法却存在着网络训练时,需要大量的故障诊断样本才能使之得出收敛、稳定的诊断结果;并且还必须限制网络的规模,不能使之太大,因而有必要进行神经网络模块化的研究[5].
(3)网络优化.基于BP算法的神经网络,在学习过程中网络的拓扑结构是固定不变的,并且必须事先确定隐层节点数,然后仅能通过训练来改变其连接权值;为此,有必要优化网络的结构,使其尽可能与被诊断对象的实际情况相符.
BP神经网络具有较强的学习能力及非线性模式识别和联想能力,知识表达能力和容错能力强,能较好地解决传统故障诊断系统中存在的问题,增加了知识运用的灵活性和适应性.本文将BP神经网络应用于难以建立精确数学模型的液压马达的故障诊断,充分发挥了BP神经网络的优点,将被诊断对象的故障表征作为输入,利用BP神经网络提取其中隐藏的故障信息,具有较强的实际意义.
但模糊BP神经网络也存在缺陷:模糊概念难以准确表达,隶属函数的生成费时费力,模糊逻辑以处理问题灵活而见长,增加了设计的难度;计算量大且容易陷入局部最小点.
[1]肖云魁.汽车故障诊断学[M].北京:北京理工大学出版社,2001.
XIAO Yunkui.The diagnostics of auto fault[M].Beijing:Beijing Institute of Technology Press,2001.
[2]刘忠,杨国平.工程机械液压传动[M].北京:机械工业出版社,2005.
LIU Zhong,YANG Guoping.Hydraulic transmission of the engineering mechanical[M].Beijing:China Machine Press,2005.
[3]董长虹.MATLAB神经网络与应用[M].北京:国防工业出版社,2007.
DONG Changhong.Neural network in MATLAB and application[M].Beijing:National Defence Industry Press,2007.
[4]张绪锦,谭剑波.基于BP神经网络的故障诊断方法[J].系统工程理论与实践,2006(6):61-66.
ZHANG Xujin,TAN Jianbo.A method fault diagosis based on BP neural network[J].Systems Engineering-Theory &Practice,2006(6):61-66.
[5]KOSKO B.Neural networks and fuzzy systems[M].New York.Prentice Hall Inc,1992.