王家海,徐旭輝,沈佳豪,江小林,柴李夢
(同濟大學中德學院,上海 201804)
制造業(yè)是國民經(jīng)濟的命脈,而數(shù)控機床是制造業(yè)之母。隨著科技的發(fā)展,數(shù)控機床的精度越來越高,數(shù)控機床的復雜度越來越高,數(shù)控機床的故障診斷也是越來越復雜,因為在短時間內(nèi)實現(xiàn)快速診斷、精確定位故障原因和部位顯得越來越重要[1]。
對于故障診斷方法,國內(nèi)外的研究有:故障樹診斷法,這種方法直觀性好,通用性好,靈活性大,但也存在著建樹困難,繁雜,工作量大,并且容易搞錯[2]。適合故障空間較小的故障診斷?;诓淮_定推理的故障診斷,存在的問題是對于故障現(xiàn)象的可信度需要人為的設定,這就導致主觀性較強,并且過程相對而言比較復雜[3]?;诎咐评淼墓收显\斷,存在缺乏相應的知識表示和獲取的研究的問題[4]。針對上述難題,通過分析實際診斷過程設計了一套故障診斷系統(tǒng),包含用來定義故障模型的七層故障診斷知識結(jié)構(gòu),以及具備機器學習能力的診斷系統(tǒng)。
經(jīng)過對數(shù)千例西門子數(shù)控系統(tǒng)故障案例的分析總結(jié),發(fā)現(xiàn)故障案例的有效信息,即存儲于專家系統(tǒng)知識庫中的數(shù)據(jù)可歸結(jié)為7層網(wǎng)絡結(jié)構(gòu):系統(tǒng)、子系統(tǒng)、部位、故障描述、故障原因、故障現(xiàn)象、故障解決方案。
其中系統(tǒng)對子系統(tǒng),子系統(tǒng)對部位,部位對故障描述是一對多的關系。故障描述和故障原因是一對一的關系。故障原因和故障現(xiàn)象,故障原因和解決方案存在著多對多的關系。7層知識庫的設計充分符合三范式原則。
如此設計知識庫,首先從層次上展現(xiàn)了知識體系。其次,故障原因,故障現(xiàn)象,故障部位和故障解決方案這四個重要知識結(jié)構(gòu)之間的關系可以清晰表達出來。再次這樣的設計可以將后面需要用的算法與知識體系進行完美的結(jié)合,可以快速從現(xiàn)象找到原因,從原因找到故障的解決方法和故障部位。
表1 七層故障診斷知識結(jié)構(gòu)
故障現(xiàn)象為故障的特征屬性,可以直接用粗糙集理論來處理,所以對一個決策表系統(tǒng),屬性的重要度為:
(1)
其中,card(*)表示集合的基,ai表示第i個屬性。rc(ai)越大,表明屬性ai對決策越重要,當從條件屬性中去掉屬性a_i后,案例庫的分類U/D的正域會受到較大的影響。
對求得的屬性重要度rc(ai)進行歸一化處理,得到屬性ai的權(quán)重值ωai:
(2)
SimRank算法可以挖掘出故障診斷知識結(jié)構(gòu)圖中故障現(xiàn)象與故障原因之間的聯(lián)系SimRank算法公式如下[5]:
(3)
s(a,b)為對象a和對象b之間的相似度,即圖1中兩個節(jié)點a、b之間的相似度。C是衰減因子,它的取值范圍為[0,1],I(a)是節(jié)點a在圖中的入邊集合,I(b)是節(jié)點b在圖中的入邊集合。
S(a,b)=1,if (a=b)
(4)
圖1 故障原因與故障現(xiàn)象局部圖
具體計算過程中,首先由故障現(xiàn)象作為對象,通過式(4)計算故障案例之間的相似度。再以故障案例為對象,通過式(4)更新故障現(xiàn)象之間的相似度。反復迭代直至趨于穩(wěn)定,即可得到數(shù)據(jù)庫中不同案例與輸入的故障案例之間經(jīng)過修正的相似度。
盡管SimRank算法能夠得到兩個節(jié)點間的相似關系,但在計算時并沒有考慮所引用的對象的權(quán)重大小,會被不重要但數(shù)量多的對象干擾。因而考慮使用粗糙集計算得到的權(quán)重改進算法,將現(xiàn)象的重要都和案例的相似度結(jié)合,從而使得算法更加接近事實本身。改進后的算法(RSR算法)具體公式如下:
(5)
其中,e-|I(a) ∩I(b)|為衰減因子,目的是使計算結(jié)果收斂。|I(a)∩I(b)|表示某兩個案例相關的共同的故障現(xiàn)象,或者某兩個故障現(xiàn)象相關的共同的案例。eRi·eRj其中e*為自然對數(shù),Ri和Rj為粗糙集算出來的重要度[6]。
(1)得到目標案例和相似案例包含的所有報警號和現(xiàn)象;
(2)根據(jù)粗糙計算法確定已有的報警號和現(xiàn)象的重要度;
(3)以案例為元素、報警號和現(xiàn)象為節(jié)點,計算案例的相似度;
(4)以報警號和現(xiàn)象為元素、案例為幾點,計算報警號和現(xiàn)象的相似度;
(5)反復迭代上述計算過程,使相似度趨近于一恒定值;
(6)得到報警號和現(xiàn)象的相似度。
如圖2所示,當機器獲取故障現(xiàn)象信息后,粗糙集算法開始運行,計算出相關的故障現(xiàn)象的權(quán)重。然后SimRank算法再開始運行,根據(jù)算出的現(xiàn)象權(quán)重以及故障現(xiàn)象和故障原因之間的拓撲關系,算出相似度,進而得出知識庫中最相近的案例,然后診斷出這個故障的原因,故障部位。
圖2 算法系統(tǒng)工作流程圖
為了檢查和驗證RSR算法在實際使用情況的合理和有效性,實驗以真實維修記錄為基礎設計一組測試數(shù)據(jù),分別比對單一現(xiàn)象輸入、兩個現(xiàn)象輸入和多個現(xiàn)象輸入情況時的相似度計算結(jié)果,相似度排序和實際維修參考價值排序最為符合則為優(yōu)。
本實驗測試數(shù)據(jù)來源于真實案例測試數(shù)據(jù)共包含10個現(xiàn)象,測試案例和現(xiàn)象之間的對應關系如表2所示。通過粗糙集可知,現(xiàn)象A、現(xiàn)象B是最為重要的現(xiàn)象,現(xiàn)象D、G、I次重要。
表2 測試案例
3.3.1 單一現(xiàn)象作為輸入源
依次以現(xiàn)象A和現(xiàn)象B作為輸入的故障現(xiàn)象,計算結(jié)果如表3和表4所示。
表3 現(xiàn)象A作為輸入源時測試結(jié)果
表4 現(xiàn)象B作為輸入源時測試結(jié)果
當輸入源僅包含一個現(xiàn)象時,較難通過直觀感受判斷測試案例和故障案例之間的關系,因此此處僅比較兩個算法之間的差異。由圖可得,兩個算法之間差異并不明顯,排序結(jié)果基本一致,僅在表3中案例2和案例4出現(xiàn)不同。案例2只包含重要現(xiàn)象A,案例4同時包含重要現(xiàn)象A和B,因此案例4的實驗結(jié)果位置應高于案例2,RSR算法更為合理。
3.3.2 兩個現(xiàn)象作為輸入源
現(xiàn)象A和現(xiàn)象B同時作為故障現(xiàn)象,計算結(jié)果如表5所示。
表5 現(xiàn)象A、B作為輸入源時測試結(jié)果
觀察測試數(shù)據(jù)可得,RSR與SimRank++的排序結(jié)果一致,符合現(xiàn)實情況,同時包含現(xiàn)象A和現(xiàn)象B的測試案例排列最靠前。
3.3.3 多個現(xiàn)象作為輸入源
首先,將較重要的現(xiàn)象全部做為輸入源,得到表6所示的測試結(jié)果。
表6 重要現(xiàn)象作為輸入源時測試結(jié)果
當以較重要現(xiàn)象作為故障現(xiàn)象輸入算法時,RSR算法將現(xiàn)象的重要程度納入計算范疇,排名靠前的測試案例均含有更多的輸入現(xiàn)象,且包含重要的現(xiàn)象越多,排名越靠前。SimRank++算法則僅考慮測試案例和故障案例的相似程度,測試案例9相比測試案例8含有更多的重要現(xiàn)象,但排名卻落后于測試案例8。
第二步選擇所有不重要的現(xiàn)象作為輸入源,得到表7所示的測試結(jié)果。
表7 不重要現(xiàn)象作為輸入源時測試結(jié)果
這里,兩個算法的差異主要體現(xiàn)在排序的末端,即相似度較低的測試案例的選擇上。在SimRank++計算過程中,測試案例7的相似度值比測試案例9的相似度值高,然而測試案例9含有更多的重要現(xiàn)象,能夠更好地體現(xiàn)案例之間的差異。因此,RSR算法的結(jié)果更加合理。
最后,選擇現(xiàn)象A~E作為輸入源測試算法,以此查看包含重要、次重要和不重要現(xiàn)象的排序情況。測試結(jié)果如表8所示。
表8 綜合測試結(jié)果
在綜合輸入源測試中,RSR對SimRank++的排序結(jié)果同樣做出了調(diào)整,將包含更少重要現(xiàn)象的測試案例7調(diào)整到排序中部。
七層故障診斷知識結(jié)構(gòu)、RSR算法和貝葉斯平均算法相結(jié)合的故障診斷系統(tǒng)有效地解決了數(shù)控機床故障診斷領域的不足,提供了一套能夠運用于實際生產(chǎn)的解決方案。七層故障診斷知識結(jié)構(gòu)幫助接觸故障指示的表達難題,提供了標準化參考方案。粗糙集和SimRank算法相結(jié)合的RSR算法提高了故障診斷時的搜索準確性和案例可用性,使診斷方案更加符合客觀事實。RSR算法使故障診斷系統(tǒng)具備了一定程度的學習能力,通過數(shù)據(jù)積累和使用經(jīng)驗,能夠動態(tài)調(diào)整系統(tǒng)效能。最后,這套系統(tǒng)已經(jīng)在基于web開發(fā)的故障診斷系統(tǒng)中得到驗證,能夠在實際生產(chǎn)中發(fā)揮作用。
[1] 王家海,黃江濤,沈斌,等.數(shù)控機床智能故障診斷技術的研究現(xiàn)狀與展望[J].機械制造 2014,52(5)30-32.
[2] 盛博, 鄧超, 熊堯, 等. 基于圖論的數(shù)控機床故障診斷方法[J]. 計算機集成制造系統(tǒng), 2015, 21(6): 1559-1570.
[3] 王家海, 劉晨陽. 基于不確定推理的數(shù)控機床故障診斷的研究[J]. 制造技術與機床, 2014 (1):48-52.
[4] 王家海, 張燕青, 周天航. 數(shù)控機床故障診斷的三維顯示與優(yōu)化的研究[J]. 機械科學與技術, 2015, 34(12): 1885-1890.
[5] 魏現(xiàn)輝, 張紹武, 楊亮, 等. 基于加權(quán) SimRank 的跨領域文本情感傾向性分析[J]. 模式識別與人工智能, 2013, 26(11): 1004-1009.