呂 婷,楊 濤
(1.安徽電子信息職業技術學院信息與智能系,安徽 蚌埠 233000;2.西南科技大學信息工程學院特殊環境機器人技術四川省重點試驗室,四川 綿陽 621010)
作為立體倉庫的核心設備,堆垛機直接影響整個物流系統的正常運作。隨著工業技術的不斷發展,堆垛機設備日趨復雜化、自動化,傳統的診斷技術呈現處理時間長、成本高、響應速度慢等弊端[1]。專家系統作為一個智能的計算機程序系統,可通過利用存儲在計算機內部的專業知識,解決需要專家才能處理的復雜問題。將智能專家系統運用在堆垛機設備,當設備出現故障時,系統作出快速、有效的處理,是堆垛機遠程故障診斷的必然趨勢。
目前,診斷專家系統仍以單一的診斷技術為主,廣泛使用基于規則的推理模式?;谝巹t的診斷專家系統具有知識變更容易、推理簡單等特點,但仍存在知識獲取困難等問題[2]。目前,將決策樹[3]、故障樹[4-5]、二叉樹[6]等技術融合到基于規則的專家系統中,但仍沒能有效地解決知識不完備、時變環境下應變能力不足等問題。貝葉斯網絡(Bayesian network,BN)以概率為基礎,具有容錯性強、可進行雙向推理等特點,目前已成功運用于診斷專家系統[7-8]。但是BN網絡的構造和節點參數的學習等一直是瓶頸問題。如何將BN與其他診斷技術相融合,開發混合診斷專家系統來彌補單一的系統所存在的不足,是專家系統研究和開發的一個趨勢。
本文以單立柱堆垛機為研究對象,設計和開發了基于集成故障樹分析(fault tree analysis,FTA)和BN的混合診斷專家系統。該系統采用FTA對堆垛機進行故障建模、分析并完成規則庫的建立;診斷過程采用結合規則推理和BN概率計算的混合模式。實際應用證明,該方法簡單靈活,為堆垛機故障診斷提供了一種新途徑。
系統主要包括人機交互界面、知識庫管理模塊、故障樹管理模塊、BN管理模塊、診斷推理模塊、故障征兆識別模塊和基礎數據管理模塊等。系統結構如圖1所示。

圖1 系統結構圖
人機交互界面是普通用戶、領域專家和系統進行交互的窗口。知識庫管理模塊主要負責對存儲在知識庫中的規則、BN節點信息進行管理。故障樹管理模塊主要采用FTA對堆垛機進行建模,并完成相應的分析,將分析結果以規則的形式存儲在知識庫中。BN管理模塊主要實現對相關BN數據的管理,包括網絡拓撲結構、節點參數等。基礎數據管理模塊主要實現諸如堆垛機系統及主要部件的基礎信息、故障歷史記錄、操作規范手冊等的管理。故障征兆識別模塊負責接收來自現場PLC的運行數據,并通過解析,識別可能蘊含的故障征兆,進行故障報警。診斷推理模塊是本系統的核心部分,采用基于規則推理和BN概率計算的混合方式。解釋模塊負責將系統診斷的結果以預制文本的形式反饋給用戶。
本系統的知識庫主要包括規則庫和BN數據庫,其中規則庫是知識庫的核心。規則庫是規則推理的組成部分,存儲的是以規則為表示形式的知識;BN數據庫主要存儲與BN建模有關的數據,包括節點的基本信息、概率表及節點之間的拓撲關系。限于篇幅,本文主要介紹規則庫的建立。
鑒于FTA的分析過程是關于故障知識的形成過程,本系統主要采用基于FTA的故障知識獲取方式。FTA的分析過程首先需要對分析對象進行建模,形成以人們最不希望發生的事件作為頂事件的故障樹模型。
對堆垛機設備進行故障樹建模后,采用下行法[9]找出引起頂事件T發生的所有最小割集Mi,i=1,2,…,n,n為最小割集個數。最小割集是對頂事件發生的最小原因解釋,即知識。
定性分析后,本系統采用形如if A then B的基于最小割集的知識表示形式,其中A為規則的前提,對應導致B發生的每個最小割集,B為結論??山忉寣е翨發生的原因可能不止一條,也就是在具備相同結論下前提A可能有多個,為此引入基于最小割集重要度的規則置信度。令第i個最小割集Mi的發生概率為P(Mi),在最小割集彼此獨立統計的條件下,頂事件T的發生概率P(T)可表示為:
(1)
由于構成最小割集的底事件之間是邏輯與的關系,則第i個最小割集Mi的發生概率P(Mi)等于構成該割集的所有底事件的概率乘積。在計算得到頂事件概率后,第i個最小割集Mi的重要度為:
(2)
采用規則形式對知識表示后,系統將規則存儲在規則庫中。本系統以SQL Server 2008為數據庫服務器,規則庫所涉及的表主要有故障事實表、規則表、條件表。每個表的主要字段分別有以下3種。
①故障事實表(故障事實號、事實描述、發生可能性)。
②規則表(規則號、規則名、結論事實號、規則置信度、規則使用次數)。
③條件表(規則號、條件事實號)。
診斷推理機制是專家系統的核心部分,其設計的好壞直接影響系統的診斷性能。本系統的診斷推理機制包含基于規則的推理和基于BN的概率計算兩種方式。診斷推理流程如圖2所示。

圖2 診斷推理流程圖
(1)系統的故障征兆提取模塊對來自PLC的數據進行解析,識別潛在的故障征兆。采用正向推理策略,對故障事實庫進行故障事實檢索和匹配。將檢索出的故障事實反饋給用戶,給出故障報警。
(2)用戶根據系統提示的故障事實,或者手動輸入故障事件,啟動故障診斷推理。系統先以規則庫為基礎,執行基于最小割集的規則檢索和匹配。該過程采用人機交互的啟發式方式。推理算法描述如下。
①根據目標故障事實E,檢索規則庫,找出所有規則結論事實為E的規則集R。
②按照規則置信度,對R進行排序,得到有序的規則集R′={ri∈R|i=1,2,…,n},n為規則數。
③用戶依次取規則集R′的規則ri,判斷ri的前件事實E′是否已發生。若用戶選擇“是”,則執行步驟④;若用戶選擇“否”,則取出R′中的下一條規則,執行步驟③;若在檢索完R′后用戶仍舊選擇“否”,則系統提示用戶沒有匹配到滿意的規則,推理結束。
④系統判斷E′的事件類型。若E′是中間事件,則將E′作為新的目標故障事實,轉步驟①;若E′是底事件,則向用戶輸出E′的故障解釋及處理辦法,推理結束。
(3)除了基于規則的推理,用戶還可以選擇基于BN的概率計算。由于BN與FTA在結構上存在一致性,根據匹配的故障事實,系統首先生成由該事實作為頂事件的故障樹;然后根據文獻[10]給出的轉化算法,得到相應的BN。在此基礎上,用戶可對BN節點的概率進行修正。
基于BN的概率推理算法描述如下。
①給定BN節點集合X={X1,X2,…,Xn},n為節點總數,給定證據節點E∈X及故障狀態e,用桶消元算法[11]計算P(E=e):



(3)
式中:X/E為去除E之外的其他所有元素;Pa(E)為E的父節點集合。
使用式(3),可求得P[Pa(E)]。
②用戶選擇所要查詢的節點Q∈X以及狀態q,用桶消元法求聯合概率P(Q=q,E=e):
(4)
③求得Q=q的后驗概率:
(5)
(4)采用BN計算得到概率后,若用戶需要根據診斷結論對規則庫進行更新,則在知識庫管理模塊進行相應操作。
本系統以客戶端/服務器(C/S)作為系統架構模式,開發語言為C#,數據庫服務器為SQL Server 2008。系統對來自現場PLC數據進行臨時存儲和解析。若存在故障征兆,則故障征兆識別模塊識別出故障特征信息,進行故障報警。
以堆垛機的過載及松繩保護裝置報警(T)為例,該裝置報警時主要有過載(M1)和松繩(M2)兩種故障模式。經分析后,在本系統的故障樹管理模塊中建立如圖3所示的故障樹模型。結合現場實地專家的經驗和歷史故障數據,給出各底事件的發生概率,如表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
故障樹模型建立后,鑒于“過載及松繩保護裝置報警”包含“過載”和“松繩”兩個獨立事件,根據2.2節給出的方法,分別找出導致兩者發生的所有最小割集,生成相應的規則,如表2所示。
若用戶需要對“過載及松繩保護裝置報警”進行診斷,則先啟動基于規則的推理。結合第3節所闡述的推理流程,系統根據用戶的選擇在規則庫中進行規則檢索和匹配,推理過程及結果分析?;谝巹t的推理過程如下。
在故障類型中選擇安全故障,再選擇故障現象中的“過載及松繩保護裝置報警”,然后開始診斷。診斷后會給出故障說明和診斷提示,用戶可根據診斷提示進行以下兩種選擇。①由松繩引起的故障“過載及松繩保護裝置發生報警”。②由捕捉器動作引起故障“松繩”。然后根據診斷的情況,給出故障解釋和相應的排除辦法。
除了基于規則的推理,用戶還可以選擇采用BN進行概率計算。結合圖3和表1,得到由“過載及松繩保護裝置報警”節點作為葉節點的BN,并選擇該節點的故障狀態(報警)作為證據。根據待選節點信息和將ID號為E0055的頂層事件過載及松繩保護裝置為已選節點信息,并將E0055節點作為證據節點,計算其他節點在故障狀態下的后驗概率。

表2 規則生成表
針對目前診斷專家系統存在基于規則的推理為主、診斷模式單一等問題,本文結合堆垛機的實際運行特征,設計了基于故障樹和貝葉斯網絡的混合診斷專家系統。該系統采用FTA技術分析堆垛機故障,建立以規則作為知識表示形式的知識庫,形成基于規則推理和BN概率計算的混合診斷機制。應用表明,集成FTA和BN的混合診斷專家系統既體現了基于規則的推理簡單、高效,又充分利用了BN的容錯性強的特點,有效解決了基于規則的診斷所存在的知識不完備等問題,是智能化診斷堆垛機的有效方法。
[1] 李小平,于康康.堆垛機遠程故障診斷關鍵技術的研究[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] 曲朝陽,高宇峰,聶欣.基于決策樹的網絡故障診斷專家系統模型[J].計算機工程,2008,34(22):215-217.
[4] 楊盛泉,劉萍萍,李寶敏,等.基于故障樹的梭式窯故障診斷專家系統[J].計算機應用研究,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] 夏虹,劉永闊,謝春麗.設備故障診斷技術[M].哈爾濱:哈爾濱工業大學出版社,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.