呂 婷,楊 濤
(1.安徽電子信息職業(yè)技術(shù)學院信息與智能系,安徽 蚌埠 233000;2.西南科技大學信息工程學院特殊環(huán)境機器人技術(shù)四川省重點試驗室,四川 綿陽 621010)
作為立體倉庫的核心設(shè)備,堆垛機直接影響整個物流系統(tǒng)的正常運作。隨著工業(yè)技術(shù)的不斷發(fā)展,堆垛機設(shè)備日趨復(fù)雜化、自動化,傳統(tǒng)的診斷技術(shù)呈現(xiàn)處理時間長、成本高、響應(yīng)速度慢等弊端[1]。專家系統(tǒng)作為一個智能的計算機程序系統(tǒng),可通過利用存儲在計算機內(nèi)部的專業(yè)知識,解決需要專家才能處理的復(fù)雜問題。將智能專家系統(tǒng)運用在堆垛機設(shè)備,當設(shè)備出現(xiàn)故障時,系統(tǒng)作出快速、有效的處理,是堆垛機遠程故障診斷的必然趨勢。
目前,診斷專家系統(tǒng)仍以單一的診斷技術(shù)為主,廣泛使用基于規(guī)則的推理模式?;谝?guī)則的診斷專家系統(tǒng)具有知識變更容易、推理簡單等特點,但仍存在知識獲取困難等問題[2]。目前,將決策樹[3]、故障樹[4-5]、二叉樹[6]等技術(shù)融合到基于規(guī)則的專家系統(tǒng)中,但仍沒能有效地解決知識不完備、時變環(huán)境下應(yīng)變能力不足等問題。貝葉斯網(wǎng)絡(luò)(Bayesian network,BN)以概率為基礎(chǔ),具有容錯性強、可進行雙向推理等特點,目前已成功運用于診斷專家系統(tǒng)[7-8]。但是BN網(wǎng)絡(luò)的構(gòu)造和節(jié)點參數(shù)的學習等一直是瓶頸問題。如何將BN與其他診斷技術(shù)相融合,開發(fā)混合診斷專家系統(tǒng)來彌補單一的系統(tǒng)所存在的不足,是專家系統(tǒng)研究和開發(fā)的一個趨勢。
本文以單立柱堆垛機為研究對象,設(shè)計和開發(fā)了基于集成故障樹分析(fault tree analysis,FTA)和BN的混合診斷專家系統(tǒng)。該系統(tǒng)采用FTA對堆垛機進行故障建模、分析并完成規(guī)則庫的建立;診斷過程采用結(jié)合規(guī)則推理和BN概率計算的混合模式。實際應(yīng)用證明,該方法簡單靈活,為堆垛機故障診斷提供了一種新途徑。
系統(tǒng)主要包括人機交互界面、知識庫管理模塊、故障樹管理模塊、BN管理模塊、診斷推理模塊、故障征兆識別模塊和基礎(chǔ)數(shù)據(jù)管理模塊等。系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
人機交互界面是普通用戶、領(lǐng)域?qū)<液拖到y(tǒng)進行交互的窗口。知識庫管理模塊主要負責對存儲在知識庫中的規(guī)則、BN節(jié)點信息進行管理。故障樹管理模塊主要采用FTA對堆垛機進行建模,并完成相應(yīng)的分析,將分析結(jié)果以規(guī)則的形式存儲在知識庫中。BN管理模塊主要實現(xiàn)對相關(guān)BN數(shù)據(jù)的管理,包括網(wǎng)絡(luò)拓撲結(jié)構(gòu)、節(jié)點參數(shù)等?;A(chǔ)數(shù)據(jù)管理模塊主要實現(xiàn)諸如堆垛機系統(tǒng)及主要部件的基礎(chǔ)信息、故障歷史記錄、操作規(guī)范手冊等的管理。故障征兆識別模塊負責接收來自現(xiàn)場PLC的運行數(shù)據(jù),并通過解析,識別可能蘊含的故障征兆,進行故障報警。診斷推理模塊是本系統(tǒng)的核心部分,采用基于規(guī)則推理和BN概率計算的混合方式。解釋模塊負責將系統(tǒng)診斷的結(jié)果以預(yù)制文本的形式反饋給用戶。
本系統(tǒng)的知識庫主要包括規(guī)則庫和BN數(shù)據(jù)庫,其中規(guī)則庫是知識庫的核心。規(guī)則庫是規(guī)則推理的組成部分,存儲的是以規(guī)則為表示形式的知識;BN數(shù)據(jù)庫主要存儲與BN建模有關(guān)的數(shù)據(jù),包括節(jié)點的基本信息、概率表及節(jié)點之間的拓撲關(guān)系。限于篇幅,本文主要介紹規(guī)則庫的建立。
鑒于FTA的分析過程是關(guān)于故障知識的形成過程,本系統(tǒng)主要采用基于FTA的故障知識獲取方式。FTA的分析過程首先需要對分析對象進行建模,形成以人們最不希望發(fā)生的事件作為頂事件的故障樹模型。
對堆垛機設(shè)備進行故障樹建模后,采用下行法[9]找出引起頂事件T發(fā)生的所有最小割集Mi,i=1,2,…,n,n為最小割集個數(shù)。最小割集是對頂事件發(fā)生的最小原因解釋,即知識。
定性分析后,本系統(tǒng)采用形如if A then B的基于最小割集的知識表示形式,其中A為規(guī)則的前提,對應(yīng)導(dǎo)致B發(fā)生的每個最小割集,B為結(jié)論??山忉寣?dǎo)致B發(fā)生的原因可能不止一條,也就是在具備相同結(jié)論下前提A可能有多個,為此引入基于最小割集重要度的規(guī)則置信度。令第i個最小割集Mi的發(fā)生概率為P(Mi),在最小割集彼此獨立統(tǒng)計的條件下,頂事件T的發(fā)生概率P(T)可表示為:
(1)
由于構(gòu)成最小割集的底事件之間是邏輯與的關(guān)系,則第i個最小割集Mi的發(fā)生概率P(Mi)等于構(gòu)成該割集的所有底事件的概率乘積。在計算得到頂事件概率后,第i個最小割集Mi的重要度為:
(2)
采用規(guī)則形式對知識表示后,系統(tǒng)將規(guī)則存儲在規(guī)則庫中。本系統(tǒng)以SQL Server 2008為數(shù)據(jù)庫服務(wù)器,規(guī)則庫所涉及的表主要有故障事實表、規(guī)則表、條件表。每個表的主要字段分別有以下3種。
①故障事實表(故障事實號、事實描述、發(fā)生可能性)。
②規(guī)則表(規(guī)則號、規(guī)則名、結(jié)論事實號、規(guī)則置信度、規(guī)則使用次數(shù))。
③條件表(規(guī)則號、條件事實號)。
診斷推理機制是專家系統(tǒng)的核心部分,其設(shè)計的好壞直接影響系統(tǒng)的診斷性能。本系統(tǒng)的診斷推理機制包含基于規(guī)則的推理和基于BN的概率計算兩種方式。診斷推理流程如圖2所示。
圖2 診斷推理流程圖
(1)系統(tǒng)的故障征兆提取模塊對來自PLC的數(shù)據(jù)進行解析,識別潛在的故障征兆。采用正向推理策略,對故障事實庫進行故障事實檢索和匹配。將檢索出的故障事實反饋給用戶,給出故障報警。
(2)用戶根據(jù)系統(tǒng)提示的故障事實,或者手動輸入故障事件,啟動故障診斷推理。系統(tǒng)先以規(guī)則庫為基礎(chǔ),執(zhí)行基于最小割集的規(guī)則檢索和匹配。該過程采用人機交互的啟發(fā)式方式。推理算法描述如下。
①根據(jù)目標故障事實E,檢索規(guī)則庫,找出所有規(guī)則結(jié)論事實為E的規(guī)則集R。
②按照規(guī)則置信度,對R進行排序,得到有序的規(guī)則集R′={ri∈R|i=1,2,…,n},n為規(guī)則數(shù)。
③用戶依次取規(guī)則集R′的規(guī)則ri,判斷ri的前件事實E′是否已發(fā)生。若用戶選擇“是”,則執(zhí)行步驟④;若用戶選擇“否”,則取出R′中的下一條規(guī)則,執(zhí)行步驟③;若在檢索完R′后用戶仍舊選擇“否”,則系統(tǒng)提示用戶沒有匹配到滿意的規(guī)則,推理結(jié)束。
④系統(tǒng)判斷E′的事件類型。若E′是中間事件,則將E′作為新的目標故障事實,轉(zhuǎn)步驟①;若E′是底事件,則向用戶輸出E′的故障解釋及處理辦法,推理結(jié)束。
(3)除了基于規(guī)則的推理,用戶還可以選擇基于BN的概率計算。由于BN與FTA在結(jié)構(gòu)上存在一致性,根據(jù)匹配的故障事實,系統(tǒng)首先生成由該事實作為頂事件的故障樹;然后根據(jù)文獻[10]給出的轉(zhuǎn)化算法,得到相應(yīng)的BN。在此基礎(chǔ)上,用戶可對BN節(jié)點的概率進行修正。
基于BN的概率推理算法描述如下。
①給定BN節(jié)點集合X={X1,X2,…,Xn},n為節(jié)點總數(shù),給定證據(jù)節(jié)點E∈X及故障狀態(tài)e,用桶消元算法[11]計算P(E=e):
(3)
式中:X/E為去除E之外的其他所有元素;Pa(E)為E的父節(jié)點集合。
使用式(3),可求得P[Pa(E)]。
②用戶選擇所要查詢的節(jié)點Q∈X以及狀態(tài)q,用桶消元法求聯(lián)合概率P(Q=q,E=e):
(4)
③求得Q=q的后驗概率:
(5)
(4)采用BN計算得到概率后,若用戶需要根據(jù)診斷結(jié)論對規(guī)則庫進行更新,則在知識庫管理模塊進行相應(yīng)操作。
本系統(tǒng)以客戶端/服務(wù)器(C/S)作為系統(tǒng)架構(gòu)模式,開發(fā)語言為C#,數(shù)據(jù)庫服務(wù)器為SQL Server 2008。系統(tǒng)對來自現(xiàn)場PLC數(shù)據(jù)進行臨時存儲和解析。若存在故障征兆,則故障征兆識別模塊識別出故障特征信息,進行故障報警。
以堆垛機的過載及松繩保護裝置報警(T)為例,該裝置報警時主要有過載(M1)和松繩(M2)兩種故障模式。經(jīng)分析后,在本系統(tǒng)的故障樹管理模塊中建立如圖3所示的故障樹模型。結(jié)合現(xiàn)場實地專家的經(jīng)驗和歷史故障數(shù)據(jù),給出各底事件的發(fā)生概率,如表1所示。
圖3 故障樹模型
事件代號事件名稱故障概率T過載及松繩保護裝置報警M1過載M2松繩M3貨叉擱置X1貨物過載0.0909X2起升受阻0.0909X3起升時貨叉碰到貨架0.1718X4繩纜松0.2826X5繩纜斷0.0909X6捕捉器動作0.3714X7下降受阻0.0909X8起升方向加緊裝置動作0.0909X9貨叉未收回0.3284X10貨叉擱在貨架橫架上0.3714
故障樹模型建立后,鑒于“過載及松繩保護裝置報警”包含“過載”和“松繩”兩個獨立事件,根據(jù)2.2節(jié)給出的方法,分別找出導(dǎo)致兩者發(fā)生的所有最小割集,生成相應(yīng)的規(guī)則,如表2所示。
若用戶需要對“過載及松繩保護裝置報警”進行診斷,則先啟動基于規(guī)則的推理。結(jié)合第3節(jié)所闡述的推理流程,系統(tǒng)根據(jù)用戶的選擇在規(guī)則庫中進行規(guī)則檢索和匹配,推理過程及結(jié)果分析?;谝?guī)則的推理過程如下。
在故障類型中選擇安全故障,再選擇故障現(xiàn)象中的“過載及松繩保護裝置報警”,然后開始診斷。診斷后會給出故障說明和診斷提示,用戶可根據(jù)診斷提示進行以下兩種選擇。①由松繩引起的故障“過載及松繩保護裝置發(fā)生報警”。②由捕捉器動作引起故障“松繩”。然后根據(jù)診斷的情況,給出故障解釋和相應(yīng)的排除辦法。
除了基于規(guī)則的推理,用戶還可以選擇采用BN進行概率計算。結(jié)合圖3和表1,得到由“過載及松繩保護裝置報警”節(jié)點作為葉節(jié)點的BN,并選擇該節(jié)點的故障狀態(tài)(報警)作為證據(jù)。根據(jù)待選節(jié)點信息和將ID號為E0055的頂層事件過載及松繩保護裝置為已選節(jié)點信息,并將E0055節(jié)點作為證據(jù)節(jié)點,計算其他節(jié)點在故障狀態(tài)下的后驗概率。
表2 規(guī)則生成表
針對目前診斷專家系統(tǒng)存在基于規(guī)則的推理為主、診斷模式單一等問題,本文結(jié)合堆垛機的實際運行特征,設(shè)計了基于故障樹和貝葉斯網(wǎng)絡(luò)的混合診斷專家系統(tǒng)。該系統(tǒng)采用FTA技術(shù)分析堆垛機故障,建立以規(guī)則作為知識表示形式的知識庫,形成基于規(guī)則推理和BN概率計算的混合診斷機制。應(yīng)用表明,集成FTA和BN的混合診斷專家系統(tǒng)既體現(xiàn)了基于規(guī)則的推理簡單、高效,又充分利用了BN的容錯性強的特點,有效解決了基于規(guī)則的診斷所存在的知識不完備等問題,是智能化診斷堆垛機的有效方法。
[1] 李小平,于康康.堆垛機遠程故障診斷關(guān)鍵技術(shù)的研究[J].蘭州交通大學學報,2011,30(4):15-20.
[2] ANGELI C.Online expert systems for fault diagnosis in technical processes[J].Expert Systems,2008,25(2):115-132.
[3] 曲朝陽,高宇峰,聶欣.基于決策樹的網(wǎng)絡(luò)故障診斷專家系統(tǒng)模型[J].計算機工程,2008,34(22):215-217.
[4] 楊盛泉,劉萍萍,李寶敏,等.基于故障樹的梭式窯故障診斷專家系統(tǒng)[J].計算機應(yīng)用研究,2008,25(11):3401-3403.
[5] LI J,GUO S B,HOU J H,et al.Design and realization of fault diagnosis system based on FTA and expert system[C]// Proceedings of the 32ndChinese Control Conference,IEEE,2013:6252-6255.
[6] BIAN M M,SHI J,WANG S P.FTA-based fault diagnose expert system for hydraulic equipments[C]// Proceedings of IEEE International Conference on Fluid Power and Mechatronics,2011:959-963.
[7] XU B G.Intelligent fault inference for rotating flexible rotors using Bayesian belief network[J].Expert Systems with Applications,2012,39(1):816-822.
[8] LI B,HAN T,KANG F Y.Fault diagnosis expert system of semiconductor manufacturing equipment using a Bayesian network[J].International Journal of Computer Integrated Manufacturing,2013,26(12):1161-117.
[9] 夏虹,劉永闊,謝春麗.設(shè)備故障診斷技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學出版社,2009.
[10]KHAKZAD N,KHAN F,AMYOTTE P.Safety analysis in process facilities:Comparison of fault tree and Bayesian network approaches[J].Reliability Engineering and System Safety,2011,96(8):925-932.
[11]DECHTER R.Bucket elimination:A unifying framework for reasoning[J]. Artificial Intelligence,1999,113(1):41-85.