刘 路,史贤俊
(海军航空大学,山东烟台 264001)
先进武器装备的出现和发展反映了人类对产品性能和工程设计的进一步追求,这是先进智能装备发展的必经过程[1]。故障诊断技术是实现安全有效工作的关键。近年来,国内外很多研究者都对故障诊断技术进行了比较深入的研究,多将故障诊断方法分成了两种:一种是基于模型驱动的方法;另一种则是基于数据驱动的方法[2]。
基于模型驱动[3]的故障诊断技术有助于我们了解系统故障的存在原因,其对故障的因果关系表达清晰明了,具有自主、精确的诊断能力;但其对数学模型精确度或者经验知识丰富程度依赖性较大,在复杂系统中的应用略受局限。基于数据驱动[4]的信息系统诊断方案是对全过程运行数据信息解析加工,并且不要求准确的数据分析建模就能够实现对系统的诊断,但因为没有系统内部结构和机理信息,难以解释和理解。针对这一问题,本文提出了1 种利用诊断模型作为数据驱动方法的初始条件,进而提出1 种模糊规则自动更新机制,进一步提高了系统的故障诊断能力。
T-S故障树是基于T-S建模的静态故障树,即根据T-S 建模构造T-S 门和它的描述规则来描述静态事件关系和故障情况的1种新型静态故障树[5-6]。
T-S 故障树由T-S 门和事件组成。事件包括顶事件、中间事件和基本事件[7]。图1为典型的T-S故障树结构。G1∼G4为T-S 门,由T-S 模型的规则进行描述。y4为顶事件,y1∼y3为中间事件,x1∼x7为基本事件。对于y1门,x1∼x3为下级事件,y1为上级事件;对于y4门,y2、y3、x7为下级事件,y4为上级事件。对于任一T-S门,它的输出均为上级事件,输入为下级事件。
图1 典型T-S故障树结构Fig.1 Typical T-S fault tree structure
单元的故障状况存在不确定性。本文利用模糊理论的隶属度函数将模糊信息映射到[0,1]区间的某一精确值来表示故障状态信息,选用如图2 所示的四边形隶属函数来进行模糊语言的精确化[8],其表达式如下:
图2 模糊数的隶属度函数Fig.2 Membership function of fuzzy number
F0为模糊数支撑集的中心;SL为左支撑半径范围;SR为右支撑半径范围;ML为左模糊区;MR为右模糊区。模糊数F0用隶属函数F来表示,其隶属函数如下:
为了简便表示故障情况,使用四边形隶属度函数模糊数来加以说明,同时也能保持其一般性。当SL=SR=0 时,四边形隶属度函数变成了三角形隶属函数;当SL=SR=0 且ML=MR=0 时,模糊数也就变成了确定数;如果模糊数的隶属函数左右相等,即左右对称时,则SL=SR,ML=MR,左右支撑半径SL和SR可为定值,也可为变量[9]。
T-S门是根据T-S模型而建立的,是1种万能逼近器,任何1种静态事件的关系都可以分别由T-S门和1组IF-THEN规则来表示。而每1个T-S门的描述规则都包含了下级事件故障状况所构成的输入规则,以及对应于发生这些故障状况时上级事件发生可能性所构成的输出规则[10]。
T-S门的描述规则如表1所示。
表1 T-S门描述规则Tab.1 T-S gate description rules
在建立T-S故障树的基础上,用T-S门描述规则表征事件之间的逻辑关系,提高了诊断模型的精度,保证了故障树分析的细粒度[11],尤其是在处理多态信息、模糊信息和事件关系不确定性等方面具有显著优势。
考虑到模糊神经网络的输入输出以及中间神经元的个数及代表的含义需要准确反映系统故障特征,确定较为困难,本文利用T-S 故障树诊断模型完成对模糊神经网络模型的建立[12-14]。网络结构如图3所示。
图3 模糊神经网络结构Fig.3 Fuzzy neural network structure
2.1.1 前件网络
第1 层为输入层,输入变量的个数及含义由T-S故障树中表征故障原因的基本事件确定,表征了根据故障原因采集故障样本数据,并建立样本矩阵作为网络的输入。
第2 层为语言节点层,使用隶属度函数将输入变量模糊化。在本层中,每个输入变量的故障状态模糊表达都由T-S 故障树中的基本事件模糊数确定,从而确定了本层节点的个数及含义。
采用高斯函数来表达每个语言节点的隶属度函数值,表达式如下:
2.1.2 后件网络
第1 层为输入层。其中,第0 个节点的输入值x0=1,它为模糊规则后件提供常数项。
第2层为模糊规则计算。每1个神经元都表示了1种模糊规则。模糊规则如下:
第3 层为故障状况的输出层,即模糊神经网络系统的输出。本层神经元的数量及含义由T-S故障树中表征故障模式的中间事件来确定,表征了故障诊断的目标是诊断到故障模式级别,计算公式如下:
式(7)中:ys为模糊神经网络的输出;ωsk为第k个归一化规则节点与第s个输出神经元间的连接权值;t为输出神经元的数量。
综上,建立了利用T-S 故障树诊断模型作为模糊神经网络数据驱动方法的初始条件来辅助网络模型构建和学习的方法。
将采集到的故障样本信息作为训练样本,可以假定FNN 的预期输出值为Fsm,实际输出值为Tsm,s=1,2,…,t,m=1,2,…,n,其中,t为输出神经元的个数,n为样本数量。定义寻优的误差代价函数如下:
式(8)中:Ts,m为第m个样本的第s个实际输出值;Fsm为期望的输出值。
首先,计算各个参数的梯度值,计算表达式如下:
故障样本信息输入到FNN中后,在前件网络的第2层进行对各自隶属度函数值的运算。各个输入量分别可以得到“故障”“可能故障”“正常”3种状态的模糊表达值;然后,以最大隶属度值作为输出量传递至第3层,此时各个输出所对应的规则节点均被激活,该节点与输出相对应的计数器加1。各个规则的最大规则度计算表达式为:
假设FNN 有n个输入,这些输入都可用“故障”“可能故障”“正常”3个语义值来表示,第2层神经元的个数则为3n个。如果第3 层每1 个规则节点都被激活,那么规则数就有3n个;如果第3 层中有许多节点没有被激活,那么这些规则将不存在。所以根据实际问题,获得相对应的规则数,同时删掉未被激活的节点,以简化网络的结构。假设每条规则出现的概率为p,p值越大,说明这条规则的重要程度越大。在FNN的训练过程中,通过对得到的p值按降序排列,来选择规则节点。
在FNN的学习训练过程中,须不断检查测试模糊规则的最新状况[16]。如果规则发生了变化,就使用动态筛选的方式及时加以更新,算法流程如图4 所示。首先,对初始网络设定学习次数并进行对网络的训练;然后,获取新的初始规则,如规则没有发生改变,则接着对网络完成相应次数的学习,并确定规则不再改变;接着训练网络至推理误差满足期望的程度要求,若规则出现了变化,则首先记录已存在的规则点的p值,并计算新生成规则的p值;最后,训练网络直到规则不再改变,从而确定规则并计算推理误差。
图4 FNN算法流程Fig.4 FNN algorithm flow
组合导航系统[17]是现代武器装备中最重要的功能部件之一,主要用于实现对武器系统在飞行过程中相对于惯性空间的线性运动与角运动数据的即时检测,并实时完成导航方程的运算,目前,其广泛应用于军工装备、民用航空等各个领域。本文以某型装备的组合导航系统为例来验证所提出方法的有效性。
为解决系统元器件较多,系统T-S故障树复杂、庞大的问题,根据系统信号连接关系和标定原理,将系统分解为6个输出通道的故障。各通道之间存在很大相似性,因而选择加速度计Ax的X通道为例,以“加速度计Ax的X通道故障”作为顶事件建立T-S 故障树,如图5所示。
图5 加速度计Ax 的X 通道故障T-S模糊故障模型Fig.5 Fuzzy fault model of X-channel fault T-S for accelerometer Ax
定义有模/数转换电路板等5 个中间事件,如表2所示。定义回路电源板的+15V产生电路等13个底事件,如表3所示。
表2 中间事件定义Tab.2 Definition of intermediate events
表3 底事件定义Tab.3 Definition of bottom event
假设x1∼x13和y1∼y5的故障状态为[0,0.5,1],其中,0 表示正常状态,0.5 表示半故障状态,1 表示故障状态。结合图2 所示的四边形隶属度函数,参数选取为SL=SR=0.1,ML=MR=0.3。根据经验和专家知识可以确定T-S模糊门GS1∼GS6的描述规则[8]。以GS2门为例,描述规则如表4所示。
表4 GS2 门的描述规则Tab.4 Description rules of GS2 gate
表4中,每1行都代表1条模糊规则。规则2可解释为:当x1回路电源板的+15 V产生电路正常且x10频率标准板的1 kHz脉冲信号产生电路为可能故障状态时,y2频率标准板送到模/数转换电路板的1 kHz脉冲信号正常状态可能性为0.2,半故障状态可能性为0.3,故障状态可能性为0.5。
根据建立好的T-S 故障树模型,映射得到FNN 的结构,确定了13种故障原因采集的故障样本数据作为网络的输入,即x1∼x13,每个输入参数都对应有“偏高(H)”“正常(N)”和“偏低(L)”3 个模糊集合。中间事件对应网络故障输出为α1∼α5,对应5种故障模式编码,如表5所示,至此完成TS-FNN的构建。
表5 故障模式对应编码Tab.5 Failure mode correspondence code
在13 个故障原因各自对应的模糊集合中各取40个数据,即1 560个样本数据,随机选取训练样本1 200个,测试样本360个,设定网络训练次数为200次。为了对比训练算法的收敛性能,采用传统的PSO算法来进行比较。
图6为传统PSO算法和误差反向传播算法分别优化的TS-FNN模型训练误差随迭代次数的收敛曲线对比图,可看出:误差反向传播算法[18]在迭代40 次后得以收敛;而传统的PSO算法优化的网络模型则要80次后才收敛。由此可见,误差反向传播算法按梯度下降收敛的速度更快。
图6 训练误差随迭代次数变化的对比图Fig.6 Comparison of training error with number of iterations
FNN 有13 个输入,与之对应的规则有313条。通过设置规则索引,设定规则的激活阈值为0.05,如果规则被激活,那么与之对应的计数器加1;然后,计算出此规则节点的出现概率p,若p>0.3,则认为该规则为有效规则。每1条规则的激活概率如图7所示。
图7 每条规则的激活概率Fig.7 Activation probability of each rule
图7 中,共有14 条规则被激活,这些规则作为模糊神经网络规则库中的一部分,实现了对输入数据的推理。
在仿真实验中,将训练好的参数冻结,再选取360个测试样本用于网络的测试,并记录下测试的误差,如表6所示。根据误差反向传播算法训练得到的测试样本诊断结果表明,本文设计的TS-FNN 能准确隔离出故障。
表6 TS-FNN的输出结果Tab.6 Output results of TS-FNN
如表7 所示,基于误差反向传播算法得到的网络模型隔离故障平均误差为0.040 3,比传统PSO算法降低了46.1%,说明本文提出的TS-FNN 具有较好的泛化能力。
表7 故障隔离的误差结果Tab.7 Error results of fault isolation
本文基于T-S 故障树理论分析,建立了系统各故障模式之间的逻辑关系和描述规则。并以此作为FNN 数据驱动方法的初始条件来辅助网络模型构建和学习。构建的模糊规则的自动获取与动态筛选的方法,能够不断地针对样本状况调整规则,大大增强了模型的有效性。将其应用于某型装备的组合导航系统故障诊断中,实验结果表明:本文提出的TS-FNN能够准确诊断出故障,且具有较快的收敛速度和较好的泛化能力。