何洪雨 林志文 魏国珩 胡 卫
(1.91872部队 北京 102442)(2.海军工程大学信息安全系 武汉 430033)
随着电子设备的技术性、复杂性和密集性程度日益提高,以及各种信息技术、智能技术的广泛应用,其维修保障难度和要求都越来越高。对于大型复杂电子设备的故障诊断,涉及地理分散的多个子系统、上万个测试数据采集和上千个模块故障推理,传统集中式故障诊断过程涉及数据多、数据传输困难,诊断推理计算时间长、效率低,对故障诊断算法和诊断推理系统结构设计的实现提出了很高的要求。而且,由于某些复杂电子设备本身故障征兆交叉混淆、故障因素相互制约、难以进行精确的状态描述等特点,用于测试的故障检测设备越来越复杂,但故障虚警率越来越高,严重制约了复杂电子设备故障诊断能力的形成和提高[1~4]。
近年来,各种技术纷纷用于大型复杂电子设备故障诊断领域,基于多Agent的分布式诊断技术是其中的研究热点之一。文献[5]面向Agent的诊断策略,提出采用神经网络精确诊断的混合诊断策略。其中初步诊断采用模糊算法求得故障隶属度最高的故障,再利用神经网络算法进行精度,确诊断区分故障的严重程度,提高了系统的诊断精度。文献[6]设计的多Agent模型采用CORBA技术实现地理上分布的各个Agent可以方便地根据新的故障解决情况扩充现有综合知识库。
分布式Agent技术的核心是采用面向对象的中间件构建分布式的结构模型,并首先由区域A-gent实现对本地测试数据的分析和初步诊断,确定本地临测的故障情况,之后利用网络接口提供的通信协议,实现与其它多区域诊断数据的有机融合,最后由中心集中Agent综合各区域结论推理得到装备的整体故障情况。正是由于上述分布式A-gent技术区域自治能力强、本地诊断效率高、系统间数据传输数量少,装备系统故障诊断虚警率低等优点,分布式Agent技术在复杂电子设备故障诊断领域得到了广泛的研究和尝试,也发挥了重要的、不可缺的作用。
本文提出了一种多Agent的分布式信号流模型故障诊断方法,综合采用系统故障D矩阵,利用分布式数据采集并实时诊断,结合数据融合和冲突消解算法,最终得出相对合理的诊断结果,较好地解决了复杂电子设备故障诊断难的问题。
针对大型复杂电子设备故障诊断特点,按照基于多区域代理(Agent)的故障诊断系统结构要求构建大型复杂电子设备故障诊断结构模型。
拟采用故障树模型进行被诊断对象的知识库建模,由于故障树模型因果推理的特点,各Agent的动作是根据输入条件及其计算结果决定的,因此采用如图1所示的结构。
多区域代理(A-gent)通过信息采集器,从外部环境之中收集有用信息,A-gent通过对消息的综合之后基于故障D 矩 阵[7~10]计 算 之后,将结果送于执行器执行,作用于外部环境。
基于多Agent的故障诊断系统结构将包含三种类型Agent:子系统故障监测Agent、故障信息交互综合Agent和全局管理Agent,各Agent的功能描述如下。
·子系统故障监测Agent:对所指定的子系统模块进行实时采集和有效检测,查询本地故障知识库以确定故障信息,将故障信息生成故障矩阵,通过通信协议和专用的通信信道传递给故障信息交互Agent和故障综合计算Agent;
·故障信息交互综合Agent:对监测到的各子系统故障监测Agent提交的故障信息矩阵进行汇总,经过综合计算分析,得出诊断结果,并进行存储转发;未得出诊断结果的直接转发至全局管理A-gent;
· 全局管理Agent:用于管理本系统各Agent的信息,负责系统中新增和删除Agent,并发布给相关Agent,当多个Agent发生竞争冲突(同一故障现象同时由多个Agent提交)时,向指定Agent发出授权,同时更新故障知识库的内容,将已定义的由故障信息交互综合Agent提供的未知故障进行参数格式化后加入到故障知识库中,并分发给相应的Agent。
由以上三种类型的Agent构成大型复杂电子设备故障诊断层次结构模型,如图2所示。
图2 故障诊断层次结构模型
多个子系统故障检测Agent参与大型复杂电子设备故障检测,每个Agent根据自己的判断方法和标准,给出相应的测试结果,并将这些测试结果发送给故障信息交互综合Agent,综合信息交互Agent对这些结果采用D矩阵算法进行协同诊断和冲突消解,最终找出复杂电子设备中可能的故障节点,为维修提供参考。
利用多Agent进行故障诊断,必须使集成在同一系统中的各个Agent能够彼此通信和协作,各Agent之间为了能够通信,启动时必须向全局管理Agent发送自己的有关信息进行注册,并在退出时申请删除,由全局管理Agent实现各区域代理的实时动态管理。
对于多个Agent之间的协作关系,若故障源单一且被多个Agent感知时,选择耗费系统资源最少、诊断效果最好的子系统故障监测Agent来完成诊断任务;对于复杂的故障诊断问题,则根据故障知识库的要求将其分解,并运用多种故障诊断方法协同完成。为了完成共同诊断任务而合作的子系统故障监测Agent和故障信息交互综合Agent形成一个统一的联盟,此时,全局管理Agent根据子系统故障监测Agent提交的故障矩阵信息,向具有相应能力的故障信息交互综合Agent请求进行处理,具体的协同诊断流程如图3所示。
图3 复杂故障多Agent协同诊断流程
多Agent诊断的核心在于如何协调和组织多个Agent通过竞争和合作求解问题。竞争和合作是多Agent系统模拟人类及人类社会的基本行为。各子系统故障监测Agent分别独立对问题求解,故障信息交互综合Agent负责寻求最佳求解方案,当结果出现冲突时,相互之间协调实现冲突消解。
Agent可以认为是具有感知能力、问题求解能力和与外界通信能力的智能实体,通过一种松耦合的方式进行分步并行求解。如图4所示,全局管理Agent实现任务的分解、分配和诊断Agent任务执行进程的控制,掌握所有子系统故障监测Agent的外部特征,负责协调不同层之间的协作及控制问题的求解。
图4 多Agent协同诊断机制
子系统故障监测Agent负责完成全局管理A-gent分配的诊断任务,同一层次不同的监测Agent可以包含不同的知识表达方式和推理机制,可对相同的诊断任务进行并行求解。当多个监测Agent对同一类型的故障进行并行求解时,由于各监测Agent的所拥有的知识和使用的推理机制不同,所得到的结果难免会有所差异,甚至相互冲突。决策Agent负责从不同的诊断结论中找出最优,并对相互冲突的结果进行相关回溯,实现冲突消解。
每一个子系统故障监测Agent都产生一个故障矩阵Ui(i=1,…,n),构成故障结论集,同时设定M 个标准衡量各个故障诊断结论,{C1,C2,…,CM},采用动态模糊综合评判方法求解在不同的衡量标准下的综合评判值,从而确定最终的故障点。
每一个子系统故障监测Agent都产生一个故障矩阵,构成故障结论集,运用不同的测试方法对故障进行检测,并采用动态模糊综合评判方法求解在不同的衡量标准下的综合评判值,从而确定最终的故障点。Ti代表第i各故障检测Agent,Mj代表第j各节点可能就是故障点,dij代表第i各故障测试Agent对Mj是故障点的判断,如果dij=1,则代表该点可能为故障点,如果dij=0,则该故障测试则认为该节点无故障,故障D矩阵如图5所示。
图5 测试判断D矩阵
确定故障节点步骤如下:
第二步,如果剩余Ti测试中,满足∀dij=1,j∈{a,b,c},则删除Ti测试点。
第三步,从剩下的测试点中任选两个,称为Tx和Ty,判断∃j∈[1,m],dxj=dyj,记录相等的j的值,假设有且唯一j值d,则Md也为故障点。重复该过程,直至所有两个测试点都进行判断过,同理此方案也可能找出其他符合上述条件的点,可能测出点记录为Me、Mf。
第四步,如果剩余Ti测试方案中,满足∀dij=1,j∈{a,b,c,d,e,f},则删除Ti测试点。
第五步,依此类推,在方案中任选k个点(k≤n-z,z为已经删除的测试点的数目),记录相等的j的值,假设存在有且唯一j值g,则Mg也为可能故障点。重复该过程直至所有任k个点之间进行过相互比较。
第六步,得出结论,上述所有查出的故障点即为损坏节点。将判断信息发送给故障信息交互综合Agent。
针对大型复杂电子设备故障诊断问题,在叙述常用智能故障诊断方法手段基础上,利用Agent技术,提出了多Agent的分布式信号流模型故障诊断方法,每个Agent结合D矩阵判断方法,判断出损坏的节点,故障信息交互综合Agent根据每个判断结果进行整合处理,得出最后结论,在下一步的研究之中,将会对于D矩阵判断进一步改进,提高判断效率,对于多Agent判断方案进一步优化,使得判断的结果更加准确。
[1]李红卫,杨东升,孙一兰,等.智能故障诊断技术研究综述与展望[J].计算机工程与设计,2013,34(2):632-636.
[2]Wooldridge M,J.N.R.Intelligent Agents:Theory and Practices[J].The Knowledge Engineering Review,2005(2):115-152.
[3]Yang Kun,L.D.y.Agents:properties and classifications[J].Computer Science,2009(9):30-34.
[4]Tu F,Pattipati K R.Rollout strategies for sequential fault diagnosis[J].IEEE Transactions on System Man and Cybernetics Part a:System and Humans,2003(1):86-99.
[5]魏萍,杜丽霞.基于Agent的精确诊断策略的研究[J].自动化与仪器仪表,2011(6):12-13.
[6]李彬彬.基于多Agent的远程故障诊断系统[J].科技信息,2012,35:93-94.
[7]林志文.基于D矩阵的舰船电子装备综合诊断方法[J].海军工程大学学报,2009,21(4):87-90.
[8]赵宇,王宇宏,黄敏.复杂电子设备研制阶段数据的可靠性综合评估[J].系统工程与电子技术,2002,24(1).
[9]林志文,贺喆,刘松风.基于多信号模型的系统测试性分析与评估[J].计算机测量与控制,2006,(14):222-224.
[10]BIAN Mengmeng,SHI Jian,WANG Shaoping.FTA-based fault diagnosse expert system for hydraulic equiment[C]//Beijing:Fluid Power and Mechatronics(FPM),2011:959-963.