沈 斌 孫 翔 趙淑玉
(同濟(jì)大學(xué)中德學(xué)院,上海201804)
數(shù)控機(jī)床作為機(jī)電一體化的精密制造設(shè)備,復(fù)雜性與精密性不斷提高,從而導(dǎo)致一旦發(fā)生故障,其故障診斷及排除難度明顯高于普通機(jī)械設(shè)備,長時間停機(jī)給企業(yè)造成巨大的經(jīng)濟(jì)損失。因此,如何在數(shù)控機(jī)床出現(xiàn)故障時,進(jìn)行快速診斷及維修就變得非常重要[1]。
眾多學(xué)者對故障診斷技術(shù)做了深入的研究,其發(fā)展過程可分為常規(guī)診斷技術(shù)階段和智能診斷技術(shù)階段。常規(guī)診斷技術(shù)以信號處理技術(shù)為手段,自動采集和分析相關(guān)的信號,再由有經(jīng)驗的工程技術(shù)人員結(jié)合經(jīng)驗知識,對故障發(fā)生的原因和部位進(jìn)行判斷。趙洋[2]提出根據(jù)高壓真空斷路器的機(jī)械振動信號特征來進(jìn)行故障診斷。Al-Arbi[3]同樣提出一種新穎的診斷方法,通過對振動信號的測量來實現(xiàn)對齒輪箱故障的遠(yuǎn)程定位。雖然常規(guī)診斷技術(shù)的發(fā)展比較成熟,但是它以數(shù)據(jù)處理為核心,主要側(cè)重信號的檢測和分析,其診斷功能較弱,無法滿足復(fù)雜設(shè)備故障診斷的需要。在此基礎(chǔ)上,以知識處理為核心的智能診斷技術(shù)逐漸發(fā)展起來。智能診斷技術(shù)可以分為故障樹分析法、基于規(guī)則的推理診斷技術(shù)、神經(jīng)網(wǎng)絡(luò)診斷技術(shù)、基于案例的推理診斷技術(shù)等。故障樹分析法應(yīng)用比較廣泛,楊曾芳等[4]通過把系統(tǒng)功能進(jìn)行層次分解建立故障樹。這種方法類似于人類的思維方式,易于理解,但是對于數(shù)控機(jī)床這種非常復(fù)雜的系統(tǒng)而言,要想獲得正確且全面的故障樹非常困難,因此在實際應(yīng)用中大多與其他方法結(jié)合使用。規(guī)則診斷方法是知識診斷中最常用的一種方法,該方法將領(lǐng)域?qū)<业慕?jīng)驗知識表達(dá)成IF<條件>THEN <結(jié)論>的規(guī)則形式,根據(jù)一定的可信度算法搜索規(guī)則庫中最匹配的規(guī)則來實現(xiàn)快速診斷。但是該方法存在知識獲取困難、知識庫難以維護(hù)、推理能力脆弱等局限性。也有學(xué)者[5-6]提出神經(jīng)網(wǎng)絡(luò)診斷技術(shù),能夠應(yīng)用于復(fù)雜系統(tǒng),但需要大量的訓(xùn)練樣本,且訓(xùn)練耗時較長,收斂速度也較慢,缺乏有效的追加學(xué)習(xí)能力。王國鋒等[7]將基于案例推理的診斷技術(shù)引入到導(dǎo)彈故障專家系統(tǒng)的設(shè)計中,使診斷推理實現(xiàn)了高效率和高質(zhì)量。
據(jù)此,本文提出一種面向數(shù)控機(jī)床故障診斷的基于報警號碼的診斷方法,對傳統(tǒng)的案例相似度算法進(jìn)行改進(jìn),引入了報警號碼缺失因子和動態(tài)權(quán)重,從而提高了故障診斷的正確性和實用性。
案例推理技術(shù)[8](case - based reasoning,簡稱CBR)是人工智能領(lǐng)域中崛起的一種重要的基于知識的問題求解和學(xué)習(xí)方法,其核心思想是用過去的事例和經(jīng)驗來解決當(dāng)前的問題。CBR 本質(zhì)上是一種基于記憶的推理,符合人的認(rèn)知過程,即直接根據(jù)過去的案例經(jīng)驗解決新問題,減輕了知識獲取的負(fù)擔(dān),求解速度快。CBR 解決問題的基本流程為:一個待解決的新問題出現(xiàn),這個就是目標(biāo)案例;利用目標(biāo)案例的描述信息查詢過去相似的案例,即對案例庫進(jìn)行檢索,得到與目標(biāo)案例相類似的源案例,由此獲得對新問題的一些解決方案;如果這個解決方案失敗將對其進(jìn)行調(diào)整,以獲得一個能保存的成功案例。這個過程結(jié)束后,可以獲得目標(biāo)案例較完整的解決方案;若源案例未能給出正確合適的解,則通過案例調(diào)整并保存可以獲得一個新的源案例。當(dāng)前學(xué)術(shù)界普遍認(rèn)可的觀點是CBR 過程可以劃分為4 個主要階段:案例檢索(retrieve),案例重用(reuse),案例修正(revise)和案例保存(retain),這就是Aamodt 與Plaza 提出的著名的“4R”循環(huán),其處理流程如圖1 所示。
案例檢索是CBR 的關(guān)鍵內(nèi)容,目的是根據(jù)目標(biāo)案例的特征描述,從案例庫中查找與之最相似的案例,其算法的優(yōu)劣直接影響CBR 系統(tǒng)的檢索精度和檢索速度,進(jìn)而影響整個CBR 系統(tǒng)的優(yōu)劣。
最近相鄰法(nearest -neighbor approach,NNA)是最常用的案例檢索方法。它把發(fā)生的當(dāng)前案例(目標(biāo)案例)與案例庫中的歷史案例(源案例)進(jìn)行比較,求出案例間的相似度,將相似度超過閾值的歷史案例返回給用戶。假設(shè)每個案例包含n 個特征,當(dāng)前案例C0=[c0(1),c0(2),…,c0(n)],歷史案例Ci(i=1,2,…,m)可用一個m×n 維向量表示:
ci( j )(i=0,1,2,…,m,j=0,1,2,…,n )是 案 例Ci的第j 個特征的取值,案例相似度(global similarity)定義如下:
式中:0 ≤SIM ( C0,C)i ≤1;wk>表示案例中第k 個特征的權(quán)重值,且表示當(dāng)前案例與歷史案例在特征級上的相似度,即局部相似度(local similarity)。
式中:range(c(k))表示第k 個特征的取值范圍;表示當(dāng)前案例C0與歷史案例Ci的第k 個特征的不相似度。
本文所研究的數(shù)控機(jī)床故障診斷的基礎(chǔ)在于數(shù)控系統(tǒng)監(jiān)控機(jī)床狀態(tài)所產(chǎn)生的報警號碼并輔之以機(jī)床信號和現(xiàn)象來進(jìn)行判斷。在數(shù)控機(jī)床故障診斷中,最開始的依據(jù)就是數(shù)控系統(tǒng)產(chǎn)生的報警號碼,如何由報警號碼進(jìn)行故障案例匹配正是本節(jié)所研究的內(nèi)容。本文針對數(shù)控機(jī)床故障診斷的特點,對傳統(tǒng)的最近相鄰算法做出了相應(yīng)改進(jìn),提出了基于報警號碼的相似度算法模型。
目標(biāo)案例T 與案例庫中源案例R,T 中含有m 個報警號碼,即,R 中含有n 個報警號碼,即則T 與R 之間的相似度算法模型定義為:
式中:η 表示案例T 與R 的報警號碼缺失因子,描述了兩個案例的報警號碼的差異對于相似度的影響;l 是案例T 與R 中相同的報警號碼的個數(shù);ω 為報警號碼的動態(tài)權(quán)重;φ 為報警號碼的靜態(tài)權(quán)重;sim (ti,ri) 表示案例T 與R 在同一個報警號碼上的局部相似度。
一條案例可被視為由一組特征-值對(feature -value pairs)構(gòu)成的集合。從公式(1)中可以看到,傳統(tǒng)的最近相鄰算法,前提是案例中的特征-值對信息必須完整且一一對應(yīng),而機(jī)床故障診斷的實際情況是,進(jìn)行比較的兩個案例由不同的報警號組成,且報警號沒有具體取值。據(jù)此,本文考慮將不同的報警號剔除,使其不參與相似度的計算,同時引入報警號碼缺失因子η,來平衡剔除權(quán)重較高的報警號碼對相似度計算結(jié)果的客觀性和正確性造成的影響。
案例T 和R 中分別含有m 和n 個報警號,這些報警號可以分為三類:
T 中有R 中沒有的報警號,其動態(tài)權(quán)重和記為G1;
R 中有T 中沒有的報警號,其動態(tài)權(quán)重和記為G2;
T 和R 中都有的報警號,其動態(tài)權(quán)重和記為G3;
針對報警號碼沒有具體取值的問題,引入靜態(tài)權(quán)重φ 作為報警號碼的特征值。權(quán)重確定的研究已經(jīng)比較成熟[9],主要有專家直接打分法(DDM)和層次分析法(AHP),這里采用三標(biāo)度層次分析法來確定報警號碼的靜態(tài)權(quán)重。
將所有報警號碼分別按行和列構(gòu)成一個矩陣,如表1 所示。領(lǐng)域?qū)<腋鶕?jù)三標(biāo)度原則,對報警號碼進(jìn)行兩兩比較并打分,再將報警號碼的得分按行求和,得到各報警號碼評分總和。最后,進(jìn)行歸一化處理,求得各報警號碼的靜態(tài)權(quán)重值。
表1 報警號碼權(quán)重矩陣
設(shè)n 個報警號碼A1,A2,…,An按三標(biāo)度原則兩兩比較打分,其得分值設(shè)為aij,本文設(shè)定的三標(biāo)度原則是:
其中,aii=0.5,aij+aji=1,則報警號碼Ai的靜態(tài)權(quán)重φ 為:
靜態(tài)權(quán)重確定過程仍然需要專家的參與,因此,這樣產(chǎn)生的權(quán)重仍帶有不小的主觀性。而且靜態(tài)權(quán)重一旦確定,便被永久地固化在診斷系統(tǒng)中。而實際情況是,隨著解決故障的次數(shù)增加,相應(yīng)的報警號碼的權(quán)重值應(yīng)該變大,為此,本文引入了動態(tài)權(quán)重ω 的概念。
當(dāng)出現(xiàn)一個多報警案例A1,A2,A3,…,An時,報警號碼Ai的動態(tài)權(quán)重計算式為:
式中:0≤ωi≤1;NAi表示報警號碼Ai的優(yōu)先數(shù)。
這里引入了報警號碼優(yōu)先數(shù)NA的概念。如圖2的案例模型層次圖所示,單個報警號碼會由多個可能的故障原因觸發(fā),單個故障原因又會有多個解決方案。NA為按照根節(jié)點為相應(yīng)報警號碼的解決方案操作從而成功排除故障的次數(shù),每成功排除一次故障,則對應(yīng)報警號碼的NA值加1。所以在系統(tǒng)開始運(yùn)行時,所有報警號碼的優(yōu)先數(shù)都為1,隨著排除故障的增多,相應(yīng)報警號碼的NA也隨之增大,動態(tài)權(quán)重ω 也相應(yīng)發(fā)生變化。
本文的研究基于為采用西門子SINUMERIC 808D數(shù)控系統(tǒng)的機(jī)床開發(fā)一套用于故障診斷的專家系統(tǒng),本系統(tǒng)基于Web 的用以實現(xiàn)數(shù)控機(jī)床的遠(yuǎn)程故障診斷。為了驗證算法的有效性,利用SINUMERIC 808D數(shù)控系統(tǒng)實驗臺架,模擬一組多報警號碼的故障案例,如表2 所示,報警號碼的靜態(tài)權(quán)重已由式(6)求出。所有報警號碼的優(yōu)先數(shù)均可以從數(shù)據(jù)庫中讀出,如表3 所示。
表2 當(dāng)前故障案例與歷史故障案例
表3 報警號碼優(yōu)先數(shù)
當(dāng)數(shù)控系統(tǒng)產(chǎn)生一組報警號碼003000、700016、700018 和700019 時,這就代表當(dāng)前故障案例Case0。假設(shè)案例庫中有4 個歷史故障案例Case1、Case2、Case3、Case4。接下來利用改進(jìn)的基于報警號碼的相似度算法,逐條計算目標(biāo)案例與源案例之間的相似度,從案例庫中檢索出最匹配的案例作為新問題的求解依據(jù)。
首先,計算所有報警號碼的動態(tài)權(quán)重,根據(jù)式(7):
同理可得:ω2=0.12,ω3=0.04,ω4=0.18,ω5=0.36。
從表1 可見,Case0 有Case1 沒有的報警號碼700019,Case1 有Case0 沒有的報警號碼為700059,故剔除這兩個報警號碼,根據(jù)式(5),可得兩個案例之間的報警號缺失因子:
下面計算Case0 和Case1 之間相同的報警號碼的局部相似度,由式(4):
最后,根據(jù)式(3)案例Case0 和Case1 的相似度為:
根據(jù)式(3)分別計算Case0 與其余各案例的相似度。
最終,案例相似度按大小排列結(jié)果如表4 所示。
表4 案例相似度排列順序表
可見,故障案例Case0 與案例Case2 的相似度最大,故根據(jù)Case2 所對應(yīng)的解決方案操作,就最有可能排除當(dāng)前機(jī)床故障,實現(xiàn)機(jī)床出現(xiàn)故障時的快速診斷維修。
在實際生產(chǎn)中,數(shù)控系統(tǒng)產(chǎn)生的報警號碼是進(jìn)行數(shù)控機(jī)床故障診斷的重要依據(jù)。據(jù)此,本文提出一種改進(jìn)的基于機(jī)床報警號碼的相似度算法具有其實用性。文中引入報警號缺失因子和動態(tài)權(quán)重的概念,使改進(jìn)算法相較與傳統(tǒng)算法更具有客觀性和實用性,隨著診斷的進(jìn)行,動態(tài)權(quán)重會發(fā)生變化,從而使診斷結(jié)果越來越準(zhǔn)確。最后,通過實例驗證了改進(jìn)算法的有效性。
[1]朱傳敏,周潤青,陳明,等. 故障樹與案例推理在數(shù)控機(jī)床故障診斷專家系統(tǒng)中的應(yīng)用研究[J]. 制造業(yè)自動化,2011,33(10):21-24.
[2]趙洋,劉漢宇,曾慶軍. 基于機(jī)械振動信號的高壓真空斷路器故障診斷研究[J]. 高壓電器,2010,46(2):46 -51.
[3]Gu F S,Ball A,Al -Arbi S,et al. Gearbox fault diagnosis based on vibration signals measured remotely[J]. Key Engineering Materials,2009,413:175 -180.
[4]楊曾芳,呂希勝. 基于故障樹的數(shù)控機(jī)床故障診斷系統(tǒng)[J]. 科技創(chuàng)新導(dǎo)報,2012(18):68 -69.
[5]Mohamed E A,Abdelaziz A Y,Mostafa A S. A neural network-based scheme for fault diagnosis of power transformers[J]. Electric Power Systems Research,2005,75(1):29 -39.
[6]丁明軍,宋丹. 基于神經(jīng)網(wǎng)絡(luò)的數(shù)控機(jī)床故障診斷專家系統(tǒng)[J].機(jī)電工程,2007,24(5):92 -94.
[7]王國鋒,張錫恩. 基于案例推理的導(dǎo)彈故障專家系統(tǒng)研究[J].Systems Engineering and Electronics,1999,21(8):32 -34.
[8]張子丹. 基于案例推理的數(shù)控機(jī)床故障診斷專家系統(tǒng)研究[D]. 上海:同濟(jì)大學(xué),2013.
[9]申大鵬. 基于案例推理的往復(fù)壓縮機(jī)故障診斷專家系統(tǒng)研究[D].北京:北京化工大學(xué),2012.