基于人工免疫原理的故障检测模型
2017-07-12傅龙天余玉梅
傅龙天,余玉梅
(1.福州外语外贸学院,福建福州350011;2.福建广播电视大学,福建福州350008)
基于人工免疫原理的故障检测模型
傅龙天1,余玉梅2
(1.福州外语外贸学院,福建福州350011;2.福建广播电视大学,福建福州350008)
利用人工免疫算法设计了一个机器设备故障检测模型,模型包含故障库和检测模块两部分.首先通过故障库快速地识别已知故障,其次针对未知故障通过本模型的检测模块来诊断识别.实验证明本模型的故障检测率较高,并具备较强的自适应能力.
人工免疫;故障识别;故障定位
随着工业水平的进一步智能化,我国出台了“中国制造2025”,出现了越来越多的“无人工厂”,使得劳动密集型企业迅速过渡到了工业自动化,极大地提高了生产效率.企业中工人的减少意味着机器设备的增加,机器设备不可避免地会出现故障,这些故障可能是环境因素(如电压不稳)、人为误操作等导致.针对故障检测,国内外专家学者做了大量的努力.孙春雨等[1]提出了滚动轴承的故障检测方法,该方法利用滚动轴承的振动信号具有周期性非平稳变化的特征,使用正交匹配追踪算法能有效地检测各种故障类型;王福忠等[2]提出了对变压器故障的诊断算法,通过检测分析变压器的气体组分含量来分析推断故障类型.这两种方法都是很有效的方法,但都是针对性非常强的算法,在其他领域可能会导致无法工作,如王福忠的变压器故障诊断算法用于检测孙春雨的滚动轴承故障,可能会陷入困境.赵越等[3]提出的动态不确定因果图方法能够检测复杂机器设备的故障,具有很好的普遍适应能力,该方法效率很高,精准度也很高.Ribeiro等[4]和Sheng等[5]都对DC-DC变换器故障诊断进行了研究,前者利用功率开关管的开路和短路来判定故障,后者通过检测飞电容电压来实现故障定位.尽管两者使用不同的原理来实现,但都属于DC-DC变换器类型,两者的检测效果较为接近.本文利用人工免疫学原理[6-10],快速识别已知的故障,对于未知故障经过两个阶段来定位,能达到较好的效果.
1 问题分析
为了对工厂机器故障进行识别、定位,首先要对机器设备的网络结构进行研究,并了解故障传播的路径.
1.1 设备网络
工厂的设备通常以车间为单位,各种设备错综复杂地连接在一起;车间与车间的设备有可能有连接,也可能没有连接.设备之间的连接是图状的,可以用图来描述,如果车间之间的设备有连接,则可以用图与图的连接来描述.为了研究故障识别和故障定位,不失一般性,选取某车间的部分设备作为研究对象,如图1所示.
图1设备网络结构Fig.1 Device network structure
图1 所示有7个设备(分别是n1,n2…n7结点)以图状连接.假设n1为故障源结点,则受其影响的设备结点有n2、n3、n4、n5、n6、n7;传播路径共有3条,分别是n1-n3-n4-n5-n7、n1-n3-n4-n6和n1-n3-n2.以第一条路径为例,可以在n1和n3之间设置测试点d1,同理设置了d2和d3测点.
当设备结点n1发生故障时,如果沿着第一条传播路径n1-n3-n4-n5-n7(其他传播路径原理相同),以时间为参数,对沿途的各设备结点将产生抑制作用,如图1的n1到n3、n3到n4、n4到n5、n5到n7的弯曲箭头所示,该方向的传播反映了故障的传播强度;同时沿着传播路径的反方向(即n7-n5-n4-n3-n1)产生激励作用,也是以时间为参数的传播过程.
1.2 形式化定义
根据上述的设备网络结构,对问题进行形式化定义,以便后续运算.每种设备都有各自的特征信息,收集机器的各种特征信息是故障识别定位的首要前提.
定义1机器设备特征信息向量,记为V.由特征向量构成的空间定义为状态空间,记为U,该状态空间分成两类,即正常空间和异常空间,分别记为Un和Uab.
定义2自体集定义.当机器设备正在运行并且处于正常状态,此时收集其特征向量,组成的状态空间定义为自体集.
自体集是正常状态空间的一个真子集,为了避免出现正常特征向量误诊为异常状态,应尽可能地多收集正常状态下的特征向量值,使得收集到的自体集尽可能反映正常状态的全局.
定义3抗原定义.本文把机器设备的所有状态(包括正常状态和异常状态)定义为抗原,即待检测的特征向量,设抗原有i个特征向量.
定义4检测器定义.本文把B细胞和抗体集定义为检测器,把设备故障特征及其故障原因映射为抗体,由众多抗体组成一个检测器集合,抗体记为Ab.
定义5故障传播结点定义.为了定位未知的故障,首先应定义故障传播结点,机器设备发生故障时,将把其异常特征向量沿着各个结点传播,设传播的结点有限集合为Node.
定义6测点集合定义.当故障发生时,沿着Node集合的结点传播,为了检测特征向量,Node集合中的两个设备之间视为可测点,测点记作Detect.
2 模型设计
为了解决上述问题,本文设计了一个故障检测模型LY_Model.模型分成两个模块,模块一是已知故障类型的识别,模块二是未知故障的定位,如图2所示.抗原进入模型首先在模块一中进行已知故障识别,无法识别的进入模块二进行故障定位,定位成功后存入故障库变成已知故障.
2.1 模型概述
初始状态下,首先收集自体集数据,如前述定义,在机器设备正常运转时收集其特征向量,收集多次直到自体集数据能反映正常状态的全局即可;其次初始化故障库,如果有现成的故障特征数据,则经处理后导入故障库,这样能迅速识别已知故障,如果没有则故障库为空集,也可运行.
当抗原进入检测器,检测器根据现有的故障库和自体集,首先把抗原与自体集匹配,如果匹配成功则说明机器设备是正常运转的;其次抗原与故障库匹配,如果匹配成功则表示识别了已知故障,否则转入模块二;在模块二中首先进行初步定位,筛选出候选故障节点,即先圈定故障结点范围,然后再进行精确定位,通过一系列运算最后确定故障节点,并把其故障特征向量加入到故障库,为以后发生同种故障能快速识别做准备.如此不断迭代,故障库的数据将越来越丰富,能快速识别的故障越来越多,效率将显著提高.
图2 故障检测模型:LY_ModelFig.2 Faultdetectionmodel:LY_model
2.2 故障识别
LY_Model模型的模块一主要负责故障识别,在自体集、故障库存储了初始化数据后即可开始故障识别.为了实现抗原与自体集、故障库的匹配,必须定义一个识别函数,在免疫学原理中称为亲和力,即匹配规则.
定义7亲和力定义.为了描述抗原与自体集、抗原与故障库的匹配程度,需首先定义一个匹配规则.本文采用Euclidean距离公式更为适合,设长度为L的抗原和抗体的距离为
亲和力函数定义见式(1)
设检测半径为r,并设定抗体的检测阈值为δ,定义见式(2)
当Fit(Ag,self)=0则表示正常状态;当Fit(Ag,self)=δ判定抗体已识别了抗原,即根据现有已知的故障识别了抗原;当Fit(Ag,self)<δ判定为未知故障,进入模块二进行故障定位.
2.3 故障初步定位
当有无法识别的故障类型进入模块二后,首先启动初步定位操作.初步定位是在故障传播路径中设置若干个测点,根据这些测点的实测数据,通过运算初步获得可能的候选故障节点.
首先,任意选定一条传播路径,设测点集合为Detect=(d1,d2…dq),测点di对应的候选故障结点集合为Mi,如图1选定第一条路径(n1-n3-n4-n5-n7),测点d2的故障候选结点为{n1,n3,n4].
第二,把各个测点的候选故障结点集合进行分类,把所有正常测点的候选故障结点集合求并集操作,即把所有正常的设备找出来,见式(3)
如图1第一条路径(n1-n3-n4-n5-n7),假设只有测点d1的实测数据是正常的,则CN={n1],即只有一个.
第三,把所有异常测点的候选故障结点集合求交集操作,把所有共同的故障候选结点集合筛选出来,见式(4)
如图1,设d2和d3测点的实测数据是异常的,则各自的故障候选结点集合分别是:{n1,n3,n4]和{n1,n3, n4,n5],求交集后得到CM={n1,n3,n4].
最后,计算出故障源的候选结点集合,即从第三步的候选故障结点集合中进一步筛选,扣除正常结点,即可得到真正可能的故障源候选结点集合,见式(5)
CE={n1,n3,n4}-({n1,n3,n4}∩{n1})={n3,n4],因此图1的第一条故障传播路径,当测点d1正常,d2和d3异常时其可能的故障候选集合为{n3,n4],也就是机器设备n3和n4可能发生了故障,初步圈定了故障的范围.
2.4 故障精确定位
精确定位是在初步定位圈定的候选结点中进一步定位.人工免疫系统中的B细胞网络,结点故障率随着左右两边相邻结点的激励和抑制作用的变化而变化,这反映了故障传播强度.当故障发生时B细胞结点ni受结点ni+1激励,同时被结点ni-1抑制,B细胞结点ni的故障率比结点ni+1的大,则意味着结点ni为故障源的可能性更大.所以设备故障率的变化是以故障源为基础的,即设备故障率增加,则该设备是故障源的可能性增加,反之降低.如图1中,设故障源是结点n1,选取其中一条传播路径n1-n3-n4-n5-n7(其他传播路径原理相同),则测点d1、d2、d3在80ms、100ms、150ms等不同时间点测得的激励值和抑制值是不同的(如果没有故障则没有激励和抑制作用),然后再分别计算各个结点的故障率,最后获得故障源结点.因此故障精确定位的关键在于计算激励作用、抑制作用和故障率.
定义8抑制作用定义.由于设备网络是网状的,结点ni在不同时间点t可能受到多个结点的抑制作用,假设结点ni受到n个结点抑制,则结点ni的抑制值见式(6)
定义9激励作用定义.与抑制作用一样设结点ni受到m个结点激励,则结点ni的激励值见式(7)
定义10故障率定义.当故障发生时,随着时间的推移,在不同特定时间点各结点设备的响应也不一样,受到的抑制、激励程度也不同,只需计算出各自的故障率,通过比对即可断定哪个结点是故障源.
式(8)、式(9)中:L是[0,1]区间的常量,γ是人工免疫网络的平衡因子,t为时间参数.故障率的微分表达式以时间为参数,反映了故障传播强度和故障发生率.
3 算法设计
故障模型的算法涉及到两个模块的3个算法:(已知)故障识别算法、初步定位算法、精确定位算法.根据前述定义,首先设置算法变量,如下所示:
#define n 20//设机器设备特征信息向量有20个,可根据实际需要修改
#define m 5//设测点有5个,可根据实际需要修改
#define p 10//设设备结点有10个,可根据实际需要修改
float V[n];//定义机器设备特征信息向量数组,为一维数组
float self[n][];//定义自体集,为二维数组
float Ag[n][],Ab[n][];//定义抗原、检测器,均为二维数组
float Detect[m],M[];//定义测点集合、每个测点对应的候选结点集合,为一维数组
float Node[n][p];//定义设备结点集合,为二维数组
int r;//定义检测半径
float Inhibit,Excitation,FailureRate;//定义测点的抑制值、激励值、故障率
3.1 故障识别算法
故障识别算法首先把输入的抗原与自体集比对,判定设备运转是否正常,然后与故障库进行比对,判定设备是否处于故障状态,如果无法识别则可能是未知故障,应进入模块二.实现过程(伪代码描述)如下所示:
输入:抗原、自体集、故障库
输出:可能为正常状态、故障状态、未知故障
Procedure FaultRecognition()
Begin
AgInput();SelfInput();FailureLibInput();//抗原、自体集、故障库输入
foreach(s in self)//第一步:在自体集中比对
{
if(Fit(Ag,s)=0)
{
NormalOutput();//根据公式(1),如果比对成功则表示设备正常
stop;//比对成功,退出
}
}
foreach(f in FailureLib)//第二步:在故障库中比对
{
if(Fit(Ag,f)≥δ)
{
AbnormalOutput();//根据公式(1),则表示设备处于故障状态
stop;
}
}
//第三步:在自体集、故障库中都无法比对成功,则可能是未知故障,调用初步定位算法
PreliminaryLocation();
End;
3.2 初步定位算法
根据测得的实际数据,分成正常测点和异常测点,进行如式(3)至式(5)运算,实现过程(伪代码描述)如下所示:
输入:传播路径、测点集合
输出:故障源候选结点集合
Procedure PreliminaryLocation()
Begin
//第一步:输入传播路径、测点集合
PropagationPathInput();TestNodeInput();
//第二步:根据公式(3)获得所有正常测点的候选故障结点集合的并集
GetCN();
//第三步:根据公式(4)获得所有异常测点的候选故障结点集合的交集
GetCM();
//第四步:根据公式(5)获得该路径上的故障源候选结点集合
GetCE();
//第五步:调用精确定位算法
End;
3.3 精确定位算法
在初步定位算法中获得了故障候选结点,通过精确定位算法的输入进一步定位,根据式(6)至式(9)的动力学函数,实现过程(伪代码描述)如下所示:
输入:故障源候选结点集合、各测点实测得的激励值和抑制值
输出:故障结点
Procedure AccurateLocation()
Begin
//第一步:输入故障源候选结点集合、各测点实测得的激励值和抑制值
CEInput();TestNodeInput();
//第二步:根据公式(6)获得所有测点的抑制值
Get Inhibit();
//第三步:根据公式(7)获得所有测点的激励值
GetExcitation();
//第四步:根据公式(8)获得候选结点的故障率
Get FailureRate();
//第五步:故障率最高的结点即是故障源结点
GetFailureNode();
End;
4 仿真实验
为了验证本文提出的基于人工免疫原理的故障检测模型LY_Model,我们直接到某服装厂实地考察,在该厂生产车间设计了一系列的实验,以获得本模型的故障识别和故障定位能力.
4.1 实验环境
某服装厂有23个生产车间,随机选取其中一个生产车间作为实验场所,该车间有两条生产线,共18台机器设备,设备结构图如图3所示.
图3 车间设备结构Fig.3 Workshop equipmentchart
为了使图3更清晰简单,仅画出了激励作用.在图中设置了3个测点,各测点设置传感器获取实测数据,然后与PC机连接;故障传播方向由左向右.PC机的配置如表1所示.
表1 PC机配置Tab.1 Configuration ofPC
4.2 实验结果与分析
在实验前与该服装厂信息中心主任协商,首先初始化系统时,导入了100个已知故障到故障库中,并人为设置各种故障(已知的100种以内的故障),测试故障的识别能力.测试分成3组,实验结果如表2所示.
表2 已知故障识别Tab.2 Known faultidentification
由表2可知,对于已知故障的识别,本模型LY_Model的识别率比较高,主要原因是故障库中保存了已知故障的特征信息,只要实测的数据与现有故障库中的信息进行比对,在检测阈值范围内的都能识别.个别没有识别成功主要原因是故障库中特定故障的特征值设置与实测试距离略大,只需做适当调整即可达到更高的识别率.
故障定位是较为复杂的实验,根据本模型LY_Model的定义,并与该服装厂信息中心主任协商,实验具体过程如下:
(1)清除故障库数据,目的是为了使故障库处于空集状态,因此只要有任何故障输入,则本模型LY_Model的模块一无法识别,直接进入模块二进行故障定位.
(2)初步定位故障,信息中心主任人为设置故障,然后在图3的3个测点获得实际数据,发现测点d1数据正常,测点d2、d3的数据异常,模型LY_Model根据式(3)至式(5)迅速得到候选结点{n3,n4,n5].
(3)精确定位,首先把测点进行调整,分别在初步定位获得的各个结点上设置测点;其次设置平衡因子γ=0.005;最后不同时间点获得实测,根据式(6)至式(8)计算出各候选结点的故障率,如表3所示.
表3 结点故障率Tab.3 Failure rateof thenodes
由表3可知,结点n5在80ms时未受到太多的影响,到到120ms时故障率上升很快达到0.78,随后在200ms、300ms、500ms时间点的故障率都是1,基本可以判定结点n5即是故障源.在上述实验步骤的基础上,为了保障实验结果的可信度,又进行了3组相同步骤的实验以验证本模型LY_Model的故障定位能力,如表4所示.
表4 故障定位表Tab.4 Fault location table
由表4可知,3组实验的故障定位成功率都超过90%,平均成功率接近92%,说明本模型LY_Model能成功定位绝大部分的故障.
5 小结
针对机械设备故障提出了一个故障检测模型LY_Model.模型利用人工免疫原理把故障检测分成两个模块,分别是已知故障类型识别和未知故障的定位,通过一系列的算法检测实现对故障的识别.从仿真实验看,本模型的识别率较高,具备较强的自适应能力,有一定的应用前景.
[1]孙春雨,徐娟,韩江洪.基于正交匹配与周期能量的滚动轴承故障诊断[J].电子测量与仪器学报,2016,30(3):423-430.
[2]王福忠,邵淑敏,董鹏飞.变压器油中气体组分含量在线监测与故障诊断[J].河南理工大学学报(自然科学版),2015, 34(3):379-383.
[3]赵越,董春玲,张勤.动态不确定因果图用于复杂系统故障诊断[J].清华大学学报(自然科学版),2016,56(5):530-537.
[4]RIBERIRO E,CARDOSO A J M,BOCCALETTI C.Fault-tolerant strategy for a photovoltaic DC-DC converter[J].IEEE Transactionson Power Electronics,2013,28(6):3008-3018.
[5]SHENG H,WANG F,TIPTON C W.A fault detection and protection scheme for three-level DC-DC converters based on monitoring flying capacitorvoltage[J].IEEETransactionson Power Electronics,2012,27(2):685-697.
[6]李超,刘以泓,邢丹丹.一种基于人工免疫的计算机病毒提取方法[J].青岛大学学报(自然科学版),2011,24(4):62-64.
[7]伍海波.一种改进的否定选择算法在入侵检测中的应用[J].计算机应用与软件,2013,30(2):174-176.
[8]郭蓉,姜童子,黄葵.Aβ3-10s基因疫苗免疫AD小鼠诱导Th2型免疫反应的研究[J].中风与神经疾病杂志,2013,30(5):112-118.
[9]左万利,韩佳育,刘露,等.基于人工免疫算法的增量式用户兴趣挖掘[J].计算机科学,2015,42(5):34-41.
[10]张耀军,栗磊.改进型人工免疫否定选择算法的比较研究[J].信阳农林学院学报,2015,25(1):117-123.
(责任编辑:卢奇)
Fault detection model based on artificial immune theory
FU Longtian1,YU Yumei2
(1.Fuzhou University of InternationalStudiesand Trade,Fuzhou 350011,China;2.TheOpen University of Fujian,Fuzhou 350008,China)
In this paper,a fault detection model of machine and equipment was designed by artificial immune algorithm.The model included two parts:fault library and detection module.Firstly,the known fault was quickly identified by the fault library.Secondly,the identificationmodule was diagnosed by the detectionmodule of themodel. Experiments showed that themodel had high fault detection rate and strong adaptability.
artificial immunity;fault recognition;fault location
TP277.3
A
1008-7516(2017)03-0057-08
10.3969/j.issn.1008-7516.2017.03.010
2017-03-21
傅龙天(1976—),男,福建龙岩人,硕士,讲师.主要从事信息安全与人工免疫研究.