朱文博, 劉 莎, 甘 屹
(上海理工大學(xué),上海 200093)
當(dāng)前,企業(yè)為了在競爭中立于不敗之地,采用了各種先進(jìn)高檔的制造設(shè)備,以最大限度地提高生產(chǎn)效率和產(chǎn)品質(zhì)量。然而,設(shè)備日趨高速、精密、復(fù)雜,設(shè)備發(fā)生故障的潛在可能性則相應(yīng)增加,并且故障特點(diǎn)更具復(fù)雜性、多樣性、隱蔽性,這對設(shè)備的狀態(tài)監(jiān)控和故障診斷技術(shù)提出了更高的要求[1]。因此,故障診斷技術(shù)成為迅速發(fā)展起來的一門熱門技術(shù)[2]。
有充分的事實(shí)證明,經(jīng)驗(yàn)豐富的維修師總是比缺乏經(jīng)驗(yàn)的維修人員診斷得更快、更好,這是因?yàn)橛薪?jīng)驗(yàn)的維修師積累了大量成功或失敗的維修案例和方法?;诎咐评?Case Based Reasoning,CBR)利用已有的相似案例來解決問題[3],將CBR應(yīng)用于故障診斷系統(tǒng)是非常適合的[4-5]。本文將重點(diǎn)討論CBR的故障診斷系統(tǒng)的軟件開發(fā)。
從目前的研究來看,普遍被接受的、典型的CBR模型是建立在Aamodt和Plaza[6]提出的“4R”循環(huán)基礎(chǔ)之上的,即將CBR過程劃分為4個(gè)主要階段:①實(shí)例檢索(Retrieve),根據(jù)問題的描述找到最相似的實(shí)例;②實(shí)例復(fù)用(Reuse),重用相似實(shí)例的建議解;③實(shí)例修正(Revise),如有必要,修正建議解以更好地適應(yīng)新問題;④實(shí)例保存(Retain),將驗(yàn)證后的新解連同問題存儲到實(shí)例庫中。
根據(jù)文獻(xiàn)[5],本文將典型的CBR模型描述為圖1所示。
圖1 典型的CBR模型
如圖1所示,該模型主要由實(shí)例庫和CBR的幾個(gè)重要環(huán)節(jié)組成:①實(shí)例庫。CBR首先需要建立一定規(guī)模的實(shí)例庫。實(shí)例庫相當(dāng)于人的大腦,存儲了一些過去的相關(guān)經(jīng)歷,這就是若干個(gè)實(shí)例。每一個(gè)實(shí)例至少包括問題和解答兩部分。②實(shí)例表示。這些實(shí)例必須通過一定的表示方式和組織方式存儲在實(shí)例庫中,以便在需要的時(shí)候能被及時(shí)取出。③實(shí)例檢索。當(dāng)遇到新問題時(shí),往往通過回憶類似情況來解決,回憶過程對應(yīng)了CBR通過檢索算法,比較新問題和舊問題之間的相似度,從實(shí)例庫中找到一個(gè)或若干個(gè)相似實(shí)例。當(dāng)然,新問題與舊問題都是通過統(tǒng)一的實(shí)例表示方法進(jìn)行表示的,這樣便于比較相似度。④實(shí)例重用。新問題若非常接近甚至完全與舊問題一致,則將舊問題的解答直接作為新問題的解。實(shí)例重用后不需要將新實(shí)例存儲在實(shí)例庫中。⑤實(shí)例修改。新問題往往和舊問題有一定差異,這時(shí)需要對舊問題的解進(jìn)行修改。因?yàn)樾薷牡氖桥f解答,故若找到的相似實(shí)例不止一個(gè)的話,在實(shí)例修改前應(yīng)該先判斷到底哪個(gè)相似實(shí)例的舊解答最容易修改,問題最相似,不等于解答最容易修改。修改后的解答是否符合新問題,還需要得到驗(yàn)證,最終得到新解答。新問題和新解答構(gòu)成新實(shí)例。⑥實(shí)例存儲。新實(shí)例是否應(yīng)該存儲到實(shí)例庫中,需要一定的策略去判斷。如果存儲,則增加了實(shí)例的數(shù)量,實(shí)現(xiàn)了CBR的學(xué)習(xí)過程。
在故障診斷領(lǐng)域引入CBR是故障診斷系統(tǒng)軟件進(jìn)一步發(fā)展的客觀要求。根據(jù)典型的CBR模型,建立CBR的故障診斷系統(tǒng)軟件功能模型,用功能建模 IDEF0(Integrated Computer—Aided Manufacturing DEFinition)方法表示,如圖2所示。該模型共由4部分組成,包括:故障案例表示、故障案例檢索、故障案例重用與修改、基礎(chǔ)數(shù)據(jù)管理。
案例表示是CBR運(yùn)行的基礎(chǔ)。故障現(xiàn)象的描述及其所對應(yīng)的故障解決方案采用一定表示方法、遵循一定的表示準(zhǔn)則表示出來,并存儲到案例庫當(dāng)中。一個(gè)故障現(xiàn)象可以對應(yīng)一個(gè)合理的、實(shí)際采用的、成功的故障解決方案,也可以對應(yīng)幾個(gè)故障解決方案,成功的或失敗的,均可以存儲到案例庫中。根據(jù)若干故障案例之間的邏輯關(guān)系,運(yùn)用數(shù)學(xué)方法生成故障樹。案例表示的約束不僅來自表示方法和表示準(zhǔn)則,而且來自于下游的推理。案例表示時(shí)要考慮是否利于檢索、修改、存儲。案例表示同時(shí)也接受著反饋信息,案例檢索、案例修改和案例存儲對表示的評價(jià),以便案例表示模塊能夠時(shí)時(shí)彌補(bǔ)表示的不足。
圖2 CBR的故障診斷系統(tǒng)軟件功能模型
案例檢索是CBR實(shí)現(xiàn)的手段。將案例庫中已有故障現(xiàn)象和新故障(即需要進(jìn)行故障診斷的,并且已經(jīng)被案例表示模塊表示過的故障現(xiàn)象)進(jìn)行比較,找出與新故障現(xiàn)象相似的一個(gè)或幾個(gè)舊故障現(xiàn)象(舊故障現(xiàn)象指的是案例庫中已有的故障描述)。在這一模塊中,要制定檢索方法和檢索準(zhǔn)則,檢索的快慢和有效性直接決定了整個(gè)CBR的推理效率。除此之外,還要考慮是否利于案例修改,同時(shí)要接受案例修改模塊對案例檢索的評價(jià)。
案例重用與修改是CBR推理的目的。如果從案例庫中檢索到的舊故障現(xiàn)象和新故障現(xiàn)象完全一樣,則可照搬舊故障現(xiàn)象的解決方案,這就是案例重用的過程,簡單易行。但是這種情況非常少見,通常需要根據(jù)新故障現(xiàn)象來修改檢索出的相似舊故障解決方案。如果檢索到的相似故障現(xiàn)象不止一個(gè),或相似故障現(xiàn)象只有一個(gè)但對應(yīng)的故障解決方案不止一個(gè),那么要根據(jù)修改故障解決方案的難易程度進(jìn)行判斷,從中選擇一個(gè)方案來執(zhí)行案例修改。案例修改需要考慮修改的方法和修改準(zhǔn)則,必定要參考故障診斷相關(guān)的理論。同時(shí)還要考慮下游模塊是否利于存儲,并接受案例存儲模塊對案例修改的反饋評價(jià)。案例修改的結(jié)果是輸出新故障現(xiàn)象對應(yīng)的故障解決方案,至此完成CBR的推理過程,得到問題的解答。
基礎(chǔ)數(shù)據(jù)管理是整個(gè)軟件系統(tǒng)運(yùn)行的基礎(chǔ),其中包括機(jī)床的基本信息、故障現(xiàn)象、故障部位、故障特征等的基本定義。基礎(chǔ)數(shù)據(jù)信息的增減保證了故障診斷的合理性和有效性。
根據(jù)圖2所示基于案例推理的故障診斷系統(tǒng)軟件功能模型構(gòu)建軟件模塊,主要包括:故障案例的錄入、故障案例的查詢、故障案例的修改、基礎(chǔ)數(shù)據(jù)管理。
如圖3~5所示,故障案例的錄入包括案例號、案例名稱、故障現(xiàn)象及部位(故障現(xiàn)象、故障現(xiàn)象的級別和故障部位)、檢測對象(檢測對象、檢測對象特征和檢測對象特征值)、故障診斷結(jié)果(故障原因和排除方法)、備注、故障圖片、發(fā)生日期、操作人員、維修日期、維修人員等。故障案例的錄入包括故障現(xiàn)象的描述及其所對應(yīng)的故障解決方案,較為全面地反映了故障診斷的方法與知識。通過錄入故障案例構(gòu)建故障案例庫。
圖3 故障案例的錄入——故障現(xiàn)象及部位
圖4 故障案例的錄入——檢測對象
圖5 故障案例的錄入——故障診斷結(jié)果
故障案例的查詢包括兩個(gè)部分:按關(guān)鍵詞查詢和相似案例查詢。如圖6所示,當(dāng)用戶輸入故障現(xiàn)象或故障部位(兩者可同時(shí)輸入,也可只輸入其中任一項(xiàng))后,系統(tǒng)進(jìn)行查詢,顯示查詢結(jié)果如圖7所示。如果通過關(guān)鍵詞查詢不到案例庫中已有案例,則可以進(jìn)行相似案例查詢。如圖8所示,錄入新故障的相關(guān)信息,系統(tǒng)通過相似度檢索算法,從故障案例庫中檢索到相似案例(見圖9)供用戶參考。
圖6 按關(guān)鍵詞查詢條件輸入
圖7 按關(guān)鍵詞查詢結(jié)果
圖8 相似案例查詢條件輸入
圖9 相似案例查詢結(jié)果
如圖10所示,故障案例的修改允許高級別用戶修改故障案例庫或者刪除某一故障案例。對于檢索出的相似案例進(jìn)行修改以適合新故障的求解,將新故障描述以及排除方法作為新的案例存儲到案例庫中,體現(xiàn)了CBR的自學(xué)習(xí)功能。
圖10 故障案例的修改和刪除
基礎(chǔ)數(shù)據(jù)管理包括故障現(xiàn)象、故障部位、故障原因、排除方法、檢測對象和檢測對象特征等信息的添加、修改和刪除。圖11所示故障現(xiàn)象的添加。為了實(shí)現(xiàn)故障知識的有序儲存與快速檢索,系統(tǒng)對所有的基礎(chǔ)數(shù)據(jù)進(jìn)行了編碼。
圖11 基礎(chǔ)數(shù)據(jù)管理——故障現(xiàn)象的添加
本文將CBR應(yīng)用于故障診斷領(lǐng)域,研究了故障診斷系統(tǒng)的軟件設(shè)計(jì)。構(gòu)建了基于案例推理的故障診斷系統(tǒng)軟件功能模型,并闡述了軟件模塊。通過故障案例的表示和錄入將人的經(jīng)驗(yàn)知識存儲起來;通過案例的檢索和查詢,替代了人的回憶和判斷;通過案例的修改和重用,完成了故障診斷。本文的研究在基于案例推理的數(shù)控軋輥磨床故障診斷系統(tǒng)中得到了良好的應(yīng)用,顯著提高了故障診斷的準(zhǔn)確性和診斷效率。隨著故障案例庫的不斷擴(kuò)充,該故障診斷軟件系統(tǒng)功能會(huì)得到進(jìn)一步完善,系統(tǒng)會(huì)有更好的應(yīng)用前景。
[1]張代勝,王 悅,陳朝陽.融合實(shí)例與規(guī)則推理的車輛故障診斷專家系統(tǒng)[J].機(jī)械工程學(xué)報(bào),2002,38(7):91-95.
[2]杜海峰,王 娜,張進(jìn)華,等.基于復(fù)雜網(wǎng)絡(luò)的故障診斷策略[J].機(jī)械工程學(xué)報(bào),2010,46(3):90-96.
[3]Watson I.Case-based reasoning is a methodology not a technology[J].Knowledge-Based Systems,1999,12(5/6):303-308.
[4]韓西京,史鐵林,陳培林,等.故障診斷中事例推理的理論和方法[J].華中理工大學(xué)學(xué)報(bào),1996,24(4):33-35.
[5]倪志偉,李建洋,李鋒剛,等.案例決策技術(shù)及案例決策支持系統(tǒng)研究綜述[J].計(jì)算機(jī)科學(xué),2009,36(11):18-23,42.
[6]Aamodt A,Plaza E.Case-based reasoning:foundational issues,methodological variations,and system approaches[J].AI Communications,1994,7:39-59.