何洪雨 林志文 魏國珩 胡 衛(wèi)
(1.91872部隊 北京 102442)(2.海軍工程大學(xué)信息安全系 武漢 430033)
隨著電子設(shè)備的技術(shù)性、復(fù)雜性和密集性程度日益提高,以及各種信息技術(shù)、智能技術(shù)的廣泛應(yīng)用,其維修保障難度和要求都越來越高。對于大型復(fù)雜電子設(shè)備的故障診斷,涉及地理分散的多個子系統(tǒng)、上萬個測試數(shù)據(jù)采集和上千個模塊故障推理,傳統(tǒng)集中式故障診斷過程涉及數(shù)據(jù)多、數(shù)據(jù)傳輸困難,診斷推理計算時間長、效率低,對故障診斷算法和診斷推理系統(tǒng)結(jié)構(gòu)設(shè)計的實現(xiàn)提出了很高的要求。而且,由于某些復(fù)雜電子設(shè)備本身故障征兆交叉混淆、故障因素相互制約、難以進行精確的狀態(tài)描述等特點,用于測試的故障檢測設(shè)備越來越復(fù)雜,但故障虛警率越來越高,嚴重制約了復(fù)雜電子設(shè)備故障診斷能力的形成和提高[1~4]。
近年來,各種技術(shù)紛紛用于大型復(fù)雜電子設(shè)備故障診斷領(lǐng)域,基于多Agent的分布式診斷技術(shù)是其中的研究熱點之一。文獻[5]面向Agent的診斷策略,提出采用神經(jīng)網(wǎng)絡(luò)精確診斷的混合診斷策略。其中初步診斷采用模糊算法求得故障隸屬度最高的故障,再利用神經(jīng)網(wǎng)絡(luò)算法進行精度,確診斷區(qū)分故障的嚴重程度,提高了系統(tǒng)的診斷精度。文獻[6]設(shè)計的多Agent模型采用CORBA技術(shù)實現(xiàn)地理上分布的各個Agent可以方便地根據(jù)新的故障解決情況擴充現(xiàn)有綜合知識庫。
分布式Agent技術(shù)的核心是采用面向?qū)ο蟮闹虚g件構(gòu)建分布式的結(jié)構(gòu)模型,并首先由區(qū)域A-gent實現(xiàn)對本地測試數(shù)據(jù)的分析和初步診斷,確定本地臨測的故障情況,之后利用網(wǎng)絡(luò)接口提供的通信協(xié)議,實現(xiàn)與其它多區(qū)域診斷數(shù)據(jù)的有機融合,最后由中心集中Agent綜合各區(qū)域結(jié)論推理得到裝備的整體故障情況。正是由于上述分布式A-gent技術(shù)區(qū)域自治能力強、本地診斷效率高、系統(tǒng)間數(shù)據(jù)傳輸數(shù)量少,裝備系統(tǒng)故障診斷虛警率低等優(yōu)點,分布式Agent技術(shù)在復(fù)雜電子設(shè)備故障診斷領(lǐng)域得到了廣泛的研究和嘗試,也發(fā)揮了重要的、不可缺的作用。
本文提出了一種多Agent的分布式信號流模型故障診斷方法,綜合采用系統(tǒng)故障D矩陣,利用分布式數(shù)據(jù)采集并實時診斷,結(jié)合數(shù)據(jù)融合和沖突消解算法,最終得出相對合理的診斷結(jié)果,較好地解決了復(fù)雜電子設(shè)備故障診斷難的問題。
針對大型復(fù)雜電子設(shè)備故障診斷特點,按照基于多區(qū)域代理(Agent)的故障診斷系統(tǒng)結(jié)構(gòu)要求構(gòu)建大型復(fù)雜電子設(shè)備故障診斷結(jié)構(gòu)模型。
擬采用故障樹模型進行被診斷對象的知識庫建模,由于故障樹模型因果推理的特點,各Agent的動作是根據(jù)輸入條件及其計算結(jié)果決定的,因此采用如圖1所示的結(jié)構(gòu)。
多區(qū)域代理(A-gent)通過信息采集器,從外部環(huán)境之中收集有用信息,A-gent通過對消息的綜合之后基于故障D 矩 陣[7~10]計 算 之后,將結(jié)果送于執(zhí)行器執(zhí)行,作用于外部環(huán)境。
基于多Agent的故障診斷系統(tǒng)結(jié)構(gòu)將包含三種類型Agent:子系統(tǒng)故障監(jiān)測Agent、故障信息交互綜合Agent和全局管理Agent,各Agent的功能描述如下。
·子系統(tǒng)故障監(jiān)測Agent:對所指定的子系統(tǒng)模塊進行實時采集和有效檢測,查詢本地故障知識庫以確定故障信息,將故障信息生成故障矩陣,通過通信協(xié)議和專用的通信信道傳遞給故障信息交互Agent和故障綜合計算Agent;
·故障信息交互綜合Agent:對監(jiān)測到的各子系統(tǒng)故障監(jiān)測Agent提交的故障信息矩陣進行匯總,經(jīng)過綜合計算分析,得出診斷結(jié)果,并進行存儲轉(zhuǎn)發(fā);未得出診斷結(jié)果的直接轉(zhuǎn)發(fā)至全局管理A-gent;
· 全局管理Agent:用于管理本系統(tǒng)各Agent的信息,負責(zé)系統(tǒng)中新增和刪除Agent,并發(fā)布給相關(guān)Agent,當多個Agent發(fā)生競爭沖突(同一故障現(xiàn)象同時由多個Agent提交)時,向指定Agent發(fā)出授權(quán),同時更新故障知識庫的內(nèi)容,將已定義的由故障信息交互綜合Agent提供的未知故障進行參數(shù)格式化后加入到故障知識庫中,并分發(fā)給相應(yīng)的Agent。
由以上三種類型的Agent構(gòu)成大型復(fù)雜電子設(shè)備故障診斷層次結(jié)構(gòu)模型,如圖2所示。
圖2 故障診斷層次結(jié)構(gòu)模型
多個子系統(tǒng)故障檢測Agent參與大型復(fù)雜電子設(shè)備故障檢測,每個Agent根據(jù)自己的判斷方法和標準,給出相應(yīng)的測試結(jié)果,并將這些測試結(jié)果發(fā)送給故障信息交互綜合Agent,綜合信息交互Agent對這些結(jié)果采用D矩陣算法進行協(xié)同診斷和沖突消解,最終找出復(fù)雜電子設(shè)備中可能的故障節(jié)點,為維修提供參考。
利用多Agent進行故障診斷,必須使集成在同一系統(tǒng)中的各個Agent能夠彼此通信和協(xié)作,各Agent之間為了能夠通信,啟動時必須向全局管理Agent發(fā)送自己的有關(guān)信息進行注冊,并在退出時申請刪除,由全局管理Agent實現(xiàn)各區(qū)域代理的實時動態(tài)管理。
對于多個Agent之間的協(xié)作關(guān)系,若故障源單一且被多個Agent感知時,選擇耗費系統(tǒng)資源最少、診斷效果最好的子系統(tǒng)故障監(jiān)測Agent來完成診斷任務(wù);對于復(fù)雜的故障診斷問題,則根據(jù)故障知識庫的要求將其分解,并運用多種故障診斷方法協(xié)同完成。為了完成共同診斷任務(wù)而合作的子系統(tǒng)故障監(jiān)測Agent和故障信息交互綜合Agent形成一個統(tǒng)一的聯(lián)盟,此時,全局管理Agent根據(jù)子系統(tǒng)故障監(jiān)測Agent提交的故障矩陣信息,向具有相應(yīng)能力的故障信息交互綜合Agent請求進行處理,具體的協(xié)同診斷流程如圖3所示。
圖3 復(fù)雜故障多Agent協(xié)同診斷流程
多Agent診斷的核心在于如何協(xié)調(diào)和組織多個Agent通過競爭和合作求解問題。競爭和合作是多Agent系統(tǒng)模擬人類及人類社會的基本行為。各子系統(tǒng)故障監(jiān)測Agent分別獨立對問題求解,故障信息交互綜合Agent負責(zé)尋求最佳求解方案,當結(jié)果出現(xiàn)沖突時,相互之間協(xié)調(diào)實現(xiàn)沖突消解。
Agent可以認為是具有感知能力、問題求解能力和與外界通信能力的智能實體,通過一種松耦合的方式進行分步并行求解。如圖4所示,全局管理Agent實現(xiàn)任務(wù)的分解、分配和診斷Agent任務(wù)執(zhí)行進程的控制,掌握所有子系統(tǒng)故障監(jiān)測Agent的外部特征,負責(zé)協(xié)調(diào)不同層之間的協(xié)作及控制問題的求解。
圖4 多Agent協(xié)同診斷機制
子系統(tǒng)故障監(jiān)測Agent負責(zé)完成全局管理A-gent分配的診斷任務(wù),同一層次不同的監(jiān)測Agent可以包含不同的知識表達方式和推理機制,可對相同的診斷任務(wù)進行并行求解。當多個監(jiān)測Agent對同一類型的故障進行并行求解時,由于各監(jiān)測Agent的所擁有的知識和使用的推理機制不同,所得到的結(jié)果難免會有所差異,甚至相互沖突。決策Agent負責(zé)從不同的診斷結(jié)論中找出最優(yōu),并對相互沖突的結(jié)果進行相關(guān)回溯,實現(xiàn)沖突消解。
每一個子系統(tǒng)故障監(jiān)測Agent都產(chǎn)生一個故障矩陣Ui(i=1,…,n),構(gòu)成故障結(jié)論集,同時設(shè)定M 個標準衡量各個故障診斷結(jié)論,{C1,C2,…,CM},采用動態(tài)模糊綜合評判方法求解在不同的衡量標準下的綜合評判值,從而確定最終的故障點。
每一個子系統(tǒng)故障監(jiān)測Agent都產(chǎn)生一個故障矩陣,構(gòu)成故障結(jié)論集,運用不同的測試方法對故障進行檢測,并采用動態(tài)模糊綜合評判方法求解在不同的衡量標準下的綜合評判值,從而確定最終的故障點。Ti代表第i各故障檢測Agent,Mj代表第j各節(jié)點可能就是故障點,dij代表第i各故障測試Agent對Mj是故障點的判斷,如果dij=1,則代表該點可能為故障點,如果dij=0,則該故障測試則認為該節(jié)點無故障,故障D矩陣如圖5所示。
圖5 測試判斷D矩陣
確定故障節(jié)點步驟如下:
第二步,如果剩余Ti測試中,滿足?dij=1,j∈{a,b,c},則刪除Ti測試點。
第三步,從剩下的測試點中任選兩個,稱為Tx和Ty,判斷?j∈[1,m],dxj=dyj,記錄相等的j的值,假設(shè)有且唯一j值d,則Md也為故障點。重復(fù)該過程,直至所有兩個測試點都進行判斷過,同理此方案也可能找出其他符合上述條件的點,可能測出點記錄為Me、Mf。
第四步,如果剩余Ti測試方案中,滿足?dij=1,j∈{a,b,c,d,e,f},則刪除Ti測試點。
第五步,依此類推,在方案中任選k個點(k≤n-z,z為已經(jīng)刪除的測試點的數(shù)目),記錄相等的j的值,假設(shè)存在有且唯一j值g,則Mg也為可能故障點。重復(fù)該過程直至所有任k個點之間進行過相互比較。
第六步,得出結(jié)論,上述所有查出的故障點即為損壞節(jié)點。將判斷信息發(fā)送給故障信息交互綜合Agent。
針對大型復(fù)雜電子設(shè)備故障診斷問題,在敘述常用智能故障診斷方法手段基礎(chǔ)上,利用Agent技術(shù),提出了多Agent的分布式信號流模型故障診斷方法,每個Agent結(jié)合D矩陣判斷方法,判斷出損壞的節(jié)點,故障信息交互綜合Agent根據(jù)每個判斷結(jié)果進行整合處理,得出最后結(jié)論,在下一步的研究之中,將會對于D矩陣判斷進一步改進,提高判斷效率,對于多Agent判斷方案進一步優(yōu)化,使得判斷的結(jié)果更加準確。
[1]李紅衛(wèi),楊東升,孫一蘭,等.智能故障診斷技術(shù)研究綜述與展望[J].計算機工程與設(shè)計,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的遠程故障診斷系統(tǒng)[J].科技信息,2012,35:93-94.
[7]林志文.基于D矩陣的艦船電子裝備綜合診斷方法[J].海軍工程大學(xué)學(xué)報,2009,21(4):87-90.
[8]趙宇,王宇宏,黃敏.復(fù)雜電子設(shè)備研制階段數(shù)據(jù)的可靠性綜合評估[J].系統(tǒng)工程與電子技術(shù),2002,24(1).
[9]林志文,賀喆,劉松風(fēng).基于多信號模型的系統(tǒng)測試性分析與評估[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.