郭 丽,张 娟
(江苏金陵机械制造总厂,江苏 南京 211100)
随着科学技术的飞速发展,航空装备的复杂性显著提高,航空装备修理企业积累的维修数据也随之不断增多,当数据积累到一定程度时,必然可以反映出有规律的东西[1]。但是当前,修理体系侧重于测试手段和能力,修理保障过程中数据的运用十分有限。故障诊断通常依据设备测试结果,结合修理人员经验,通过人工进行原理分析完成故障定位和隔离。在此模式下,修理人员的修理经验丰富度、逻辑分析能力等因素对修理效率的影响较大,这已远远跟不上航空装备以及装备修理模式的发展要求。
随着现代化工业与人工智能技术的飞速发展,故障诊断技术已迈入智能阶段。常见的故障诊断方法有:基于解析模型的方法,如状态估计法、参数估计法、等价空间法等;基于信号处理的方法,如快速傅里叶变换、小波变换、Fisher判别法、相关元分析法、主元分析法等;基于统计理论的方法,如Bayes决策诊断方法、时序模型诊断方法、主分量分析法、线性判别函数法、灰色系统的关联分析诊断方法、基于支持向量机(SVM)的故障诊断法等;基于知识的方法,如专家系统、神经网络、模糊推理、因果分析等[2]。
本文针对航空修理现状,以某型飞机频综器单元为对象,对故障诊断方法开展研究,提出了适用于机载电子产品的基于规则和支持向量机(SVM)的专家系统推理机构建方法,实现了对频综器单元电路板级故障的自动诊断。
频综器单元是某型飞机上可更换单元之一,主要用于提供控制信号、基准信号以及激励信号等,具有波形复杂多样、高纯频谱、频率捷变、环境适应性较好等特点。产品由外部壳体及内部可插拔电路板组成,其中,内部可插拔电路板包括电源模块、调频模块、调制模块等16个模块。
按照电路模块划分,对频综器单元故障模式进行分类。其中,电源模块等5个模块的故障可以通过设备检测直接进行故障定位,在本文中不予考虑。将剩余的调频模块、调制模块等11个检测设备无法直接进行故障定位的模块,按照电路模块及电路模块接口信号划分,分为11类故障(D1~D11),它们分别表示相应的电路模块及模块接口信号故障。
专家系统(Expert System)是人工智能应用研究最活跃和最广泛的领域之一,通过一定的程序规则表达对故障诊断专家的知识和经验进行总结,模拟领域内专家的排故过程,给出判断和决策,实现从以数值计算与信号处理为核心的故障诊断过程,到以知识处理和知识推理为核心的诊断过程的转换[3]。
本文根据航空装备故障诊断需求,设计了适合航空机载电子设备故障诊断的专家系统,包括人机交互界面、知识库、知识获取模块、推理机、解释器及数据库6大部分,如图1所示。专家系统的核心部分是推理机和知识库,它们的好坏直接决定了专家系统处理问题的能力和速度[4]。本文的知识库采用产生式规则[5]对已有的原理部分进行知识表示,在推理机部分结合知识库规则判别和SVM算法对故障进行分类。
图1 专家系统结构
2.1.1 人机交互界面
用来处理专家系统和用户之间的交流信息,能够将用户传递的故障数据等信息转化为专家系统可以识别的标准信息,同时将故障诊断的结果反馈给用户。本系统的人机交互界面设计如图2。
图2 人机交互界面设计
用来存放由故障诊断专家的经验和知识转化而成的知识规则。知识库中知识规则的准确度及丰富度,直接决定了专家系统处理问题的能力。
根据修理经验,已形成11个电路模块与相关检测信号的信号关联图(见图3),由图也可看出,信号关联精度较粗,难以将故障信号与具体模块进行对应。
图3 信号关联图
根据已有的原理图,运用产生式规则(if-then语句),将图3中的信号关联关系进行知识表示,梳理出以下17条规则(其中A1~A4表示4组测试信号,为故障事实;D1~D11为故障模式代码,它们分别表示相应的电路模块及模块接口信号故障,M1~M13为未进行测量的中间信号),如表1。
表1 信号关联关系规则表示
根据规则,可以判别与由A1~A4表示的4组信号相关的电路模块及模块接口信号,得到故障信号和故障分类的对应关系。
2.1.3知识获取模块
知识获取模块将专家输入的经验和知识转化为知识库中的规则。在修理人员使用故障诊断专家系统的过程中,允许故障诊断专家对系统知识库进行维护,增加新的知识,改进旧的知识。
2.1.4推理机
根据知识库已有知识,推理机按照预设的推理方法和策略从知识库中选择有关知识规则,对用户提供的数据进行推理。
修理人员通过人机交互界面选择检测的产品并导入检测数据,系统对数据进行处理、转换后,与知识库中的规则进行匹配,得到故障数据对应的可能故障模式1~i,考虑到混合故障存在的可能性,对可能的i种故障模式运用SVM算法进行一一判别,综合得出最终的诊断结果,并通过解释机制将诊断结果反馈到人机交互界面,推理过程结束。后续根据实际的结果验证情况,由专家决定是否要对知识库进行更新。如图4所示。
图4 推理及知识库更新过程
2.1.5解释器
通过故障数据与故障现象的一一对应,解释器能够将数据表现转化为语言表示,将故障诊断的结果及诊断过程向用户做出解释说明,便于修理人员理解,使诊断过程具有可读性。
2.1.6 数据库
用来存放系统运行过程中的输入数据、转换数据、中间结果、求解状态以及最终输出结论等。
作为基于统计学习理论的模式分类器,SVM在学习和泛化方面具有较高的能力。SVM如果用于故障推理,可以不需要规则提前匹配,能够克服传统推理中遇到的“匹配冲突”“组合爆炸”和“无限递归”等问题[6]。本文采用MATLAB中LIBSVM库函数[7]的C-SVC算法进行二分类,对与故障信号相关的故障模式依次进行判别,得到对应的电路模块是否有故障的结论。下面对相关原理进行说明。
SVM的实现原理是通过某种事先选择的非线性映射(核函数),将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面[8]。所选核函数为:
其中,φ(x)为n维空间到另一个空间的映射,核函数表示映射后的点积。核函数的引入是为了解决非线性分割的问题,径向基核如高斯核用泰勒展开可以映射到无限维上去。本文选用RBF核函数进行故障二分类:
对于二分类问题,假设现有训练数据Χ是m×n的矩阵,其中,m是样本数量,n是样本向量的维数;Y为样本的标签,是m×1的向量;记样本中第i个样本为xi,对应的标签为yi,yi∈{1,-1},表示两个分类。现在,我们试图找一个最优的超平面wTφ(x)+b=0,使得所有样本到分离面的距离最大。其中,w是一个n×1维向量。
如图5所示,对于s.t.yi[wTφ(xi)+b]≥1,假设x1、x2分别为两类数据中距离超平面wTφ(x)+b=0距离最小的向量,则:
图5 SVM算法示意图
d1+d2最大,等价于其倒数最小,即:
由于样本可能不能完全硬性区分,允许软性间隔,利用正则化,放松一个点到超平面的距离的约束,即函数间隔:
每放松一个εi,就要支付一个代价Cεi,得到C-SVC算法的模型优化函数如下:
频综器单元的检测指标共有82个,即一组频综器单元检测数据为82维,将检测数据通过以下步骤进行预处理。
3.1.1去除冗余测试项
去除冗余测试项,如频点数量等通过其他检测数据综合计算可得的冗余统计项,将检测指标由82维降低为76维。
3.1.2信息融合
将部分维度进行融合计算处理,同时根据单项技术指标范围,增加故障判别维度,实现数据的转换处理。如将32维的频点功率数据[P1,P2,…,P32]转接为1维的综合功率[P]和4维的故障代码[m1,m2,m3,m4],具体转换过程示例如下:
给出一组检测数据[P1,*P2,*P3,*P4,…,P30,*P31,P32],其中,“*”代表检测数据超差,可以看出,频点2、3、4、31功率超差。将其进行转换:
P={故障频点中超差最大的功率值}={*P2,*P3,*P4,*P31中超差最大的功率值};
m1~m4分 别 为 频 点1~8、9~16、17~24、 25~32的故障代码,每个频点的状态用0或1表示,“0”表示“正常”,“1”表示“故障”,每8位为1组进行二进制到十进制的转换,即为对应的故障代码。在此例中,[m1,m2,m3,m4]= [14,0,0,64]。
通过信息融合计算,将检测指标转换为由22维融合数据及25维故障判别数据组成的47维的算法输入数据。
通过Min-Max归一化[9]可以消除样本不同属性具有不同量级时的影响,避免量级的差异导致的量级较大的属性占据主导地位的问题,提高迭代收敛速度。具体归一化步骤如下:
3.2.1 数据极值处理
在检测数据中,存在偏离正常数据a很大的异常数据b,当数据偏离超过一定值α时,我们认为数据偏离更大时没有意义。我们将α作为超差上限,超过这个值,按超差上限进行处理:if(b>a)且(b-a>α),thenb=a+α;if(b<a)且(a-b>α),thenb=a-α。
3.2.2 Min-Max 归一化
采用 Min-Max 归一化方法将数据归一化到[0,1]的范围。对于属性A,设Amin和Amax分别为其最小值和最大值,则属性A的一个原始数据x通过Min-Max归一化后的映射值x′=(x-Amin)/ (Amax-Amin)。
以“D1参考源电路模块及参考源电路模块接口信号故障”为例,对仿真过程进行说明。
3.3.1 模型训练
从历史检测数据中抽取10组D1参考源电路模块及参考源电路模块接口信号故障数据、30组D1参考源电路模块及参考源电路模块接口信号无故障数据,组成47×40维训练集,读取数据库中训练数据,选择C-SVC模型[5],运用Svmtrain函数对模型进行训练,对C-SVC模型的可调节参数C和γ进行调节。其中,C是惩罚系数,即对误差的宽容度,C越大,表示越不能容忍出现误差。当C过大时,容易过拟合;反之,C过小时,容易欠拟合。γ是选择RBF函数作为核函数后可调的一个参数,它能够决定数据映射到新的特征空间后的分布。γ越大,表示支持向量越少;γ越小,表示支持向量越多。支持向量的个数影响训练与预测的速度。
3.3.2 模型测试
从历史检测数据中抽取5组D1参考源电路模块及参考源电路模块接口信号故障数据、15组D1参考源电路模块及参考源电路模块接口信号无故障数据,组成47×20维测试集,对模型进行测试,得到正确分类19组,错误分类1组,准确率为95%。
对频综器单元的11类故障按照上述方法分别进行模型测试及仿真,得到准确率分布如表2。
表2 频综器单元故障诊断准确率分布
本文以频综器单元为研究对象,通过MATLAB平台,将基于知识的专家系统与适用于小样本、不平衡数据、具有高泛化能力的SVM算法相融合,搭建适用于航空装备故障诊断及修理的系统模型,实现了11种故障模式的快速定位,模型综合准确率为91.82%,能够有效转化已有修理经验,提高故障诊断效率。