郭 麗,張 娟
(江蘇金陵機(jī)械制造總廠,江蘇 南京 211100)
隨著科學(xué)技術(shù)的飛速發(fā)展,航空裝備的復(fù)雜性顯著提高,航空裝備修理企業(yè)積累的維修數(shù)據(jù)也隨之不斷增多,當(dāng)數(shù)據(jù)積累到一定程度時,必然可以反映出有規(guī)律的東西[1]。但是當(dāng)前,修理體系側(cè)重于測試手段和能力,修理保障過程中數(shù)據(jù)的運(yùn)用十分有限。故障診斷通常依據(jù)設(shè)備測試結(jié)果,結(jié)合修理人員經(jīng)驗,通過人工進(jìn)行原理分析完成故障定位和隔離。在此模式下,修理人員的修理經(jīng)驗豐富度、邏輯分析能力等因素對修理效率的影響較大,這已遠(yuǎn)遠(yuǎn)跟不上航空裝備以及裝備修理模式的發(fā)展要求。
隨著現(xiàn)代化工業(yè)與人工智能技術(shù)的飛速發(fā)展,故障診斷技術(shù)已邁入智能階段。常見的故障診斷方法有:基于解析模型的方法,如狀態(tài)估計法、參數(shù)估計法、等價空間法等;基于信號處理的方法,如快速傅里葉變換、小波變換、Fisher判別法、相關(guān)元分析法、主元分析法等;基于統(tǒng)計理論的方法,如Bayes決策診斷方法、時序模型診斷方法、主分量分析法、線性判別函數(shù)法、灰色系統(tǒng)的關(guān)聯(lián)分析診斷方法、基于支持向量機(jī)(SVM)的故障診斷法等;基于知識的方法,如專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、模糊推理、因果分析等[2]。
本文針對航空修理現(xiàn)狀,以某型飛機(jī)頻綜器單元為對象,對故障診斷方法開展研究,提出了適用于機(jī)載電子產(chǎn)品的基于規(guī)則和支持向量機(jī)(SVM)的專家系統(tǒng)推理機(jī)構(gòu)建方法,實現(xiàn)了對頻綜器單元電路板級故障的自動診斷。
頻綜器單元是某型飛機(jī)上可更換單元之一,主要用于提供控制信號、基準(zhǔn)信號以及激勵信號等,具有波形復(fù)雜多樣、高純頻譜、頻率捷變、環(huán)境適應(yīng)性較好等特點(diǎn)。產(chǎn)品由外部殼體及內(nèi)部可插拔電路板組成,其中,內(nèi)部可插拔電路板包括電源模塊、調(diào)頻模塊、調(diào)制模塊等16個模塊。
按照電路模塊劃分,對頻綜器單元故障模式進(jìn)行分類。其中,電源模塊等5個模塊的故障可以通過設(shè)備檢測直接進(jìn)行故障定位,在本文中不予考慮。將剩余的調(diào)頻模塊、調(diào)制模塊等11個檢測設(shè)備無法直接進(jìn)行故障定位的模塊,按照電路模塊及電路模塊接口信號劃分,分為11類故障(D1~D11),它們分別表示相應(yīng)的電路模塊及模塊接口信號故障。
專家系統(tǒng)(Expert System)是人工智能應(yīng)用研究最活躍和最廣泛的領(lǐng)域之一,通過一定的程序規(guī)則表達(dá)對故障診斷專家的知識和經(jīng)驗進(jìn)行總結(jié),模擬領(lǐng)域內(nèi)專家的排故過程,給出判斷和決策,實現(xiàn)從以數(shù)值計算與信號處理為核心的故障診斷過程,到以知識處理和知識推理為核心的診斷過程的轉(zhuǎn)換[3]。
本文根據(jù)航空裝備故障診斷需求,設(shè)計了適合航空機(jī)載電子設(shè)備故障診斷的專家系統(tǒng),包括人機(jī)交互界面、知識庫、知識獲取模塊、推理機(jī)、解釋器及數(shù)據(jù)庫6大部分,如圖1所示。專家系統(tǒng)的核心部分是推理機(jī)和知識庫,它們的好壞直接決定了專家系統(tǒng)處理問題的能力和速度[4]。本文的知識庫采用產(chǎn)生式規(guī)則[5]對已有的原理部分進(jìn)行知識表示,在推理機(jī)部分結(jié)合知識庫規(guī)則判別和SVM算法對故障進(jìn)行分類。
圖1 專家系統(tǒng)結(jié)構(gòu)
2.1.1 人機(jī)交互界面
用來處理專家系統(tǒng)和用戶之間的交流信息,能夠?qū)⒂脩魝鬟f的故障數(shù)據(jù)等信息轉(zhuǎn)化為專家系統(tǒng)可以識別的標(biāo)準(zhǔn)信息,同時將故障診斷的結(jié)果反饋給用戶。本系統(tǒng)的人機(jī)交互界面設(shè)計如圖2。
圖2 人機(jī)交互界面設(shè)計
用來存放由故障診斷專家的經(jīng)驗和知識轉(zhuǎn)化而成的知識規(guī)則。知識庫中知識規(guī)則的準(zhǔn)確度及豐富度,直接決定了專家系統(tǒng)處理問題的能力。
根據(jù)修理經(jīng)驗,已形成11個電路模塊與相關(guān)檢測信號的信號關(guān)聯(lián)圖(見圖3),由圖也可看出,信號關(guān)聯(lián)精度較粗,難以將故障信號與具體模塊進(jìn)行對應(yīng)。
圖3 信號關(guān)聯(lián)圖
根據(jù)已有的原理圖,運(yùn)用產(chǎn)生式規(guī)則(if-then語句),將圖3中的信號關(guān)聯(lián)關(guān)系進(jìn)行知識表示,梳理出以下17條規(guī)則(其中A1~A4表示4組測試信號,為故障事實;D1~D11為故障模式代碼,它們分別表示相應(yīng)的電路模塊及模塊接口信號故障,M1~M13為未進(jìn)行測量的中間信號),如表1。
表1 信號關(guān)聯(lián)關(guān)系規(guī)則表示
根據(jù)規(guī)則,可以判別與由A1~A4表示的4組信號相關(guān)的電路模塊及模塊接口信號,得到故障信號和故障分類的對應(yīng)關(guān)系。
2.1.3知識獲取模塊
知識獲取模塊將專家輸入的經(jīng)驗和知識轉(zhuǎn)化為知識庫中的規(guī)則。在修理人員使用故障診斷專家系統(tǒng)的過程中,允許故障診斷專家對系統(tǒng)知識庫進(jìn)行維護(hù),增加新的知識,改進(jìn)舊的知識。
2.1.4推理機(jī)
根據(jù)知識庫已有知識,推理機(jī)按照預(yù)設(shè)的推理方法和策略從知識庫中選擇有關(guān)知識規(guī)則,對用戶提供的數(shù)據(jù)進(jìn)行推理。
修理人員通過人機(jī)交互界面選擇檢測的產(chǎn)品并導(dǎo)入檢測數(shù)據(jù),系統(tǒng)對數(shù)據(jù)進(jìn)行處理、轉(zhuǎn)換后,與知識庫中的規(guī)則進(jìn)行匹配,得到故障數(shù)據(jù)對應(yīng)的可能故障模式1~i,考慮到混合故障存在的可能性,對可能的i種故障模式運(yùn)用SVM算法進(jìn)行一一判別,綜合得出最終的診斷結(jié)果,并通過解釋機(jī)制將診斷結(jié)果反饋到人機(jī)交互界面,推理過程結(jié)束。后續(xù)根據(jù)實際的結(jié)果驗證情況,由專家決定是否要對知識庫進(jìn)行更新。如圖4所示。
圖4 推理及知識庫更新過程
2.1.5解釋器
通過故障數(shù)據(jù)與故障現(xiàn)象的一一對應(yīng),解釋器能夠?qū)?shù)據(jù)表現(xiàn)轉(zhuǎn)化為語言表示,將故障診斷的結(jié)果及診斷過程向用戶做出解釋說明,便于修理人員理解,使診斷過程具有可讀性。
2.1.6 數(shù)據(jù)庫
用來存放系統(tǒng)運(yùn)行過程中的輸入數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)、中間結(jié)果、求解狀態(tài)以及最終輸出結(jié)論等。
作為基于統(tǒng)計學(xué)習(xí)理論的模式分類器,SVM在學(xué)習(xí)和泛化方面具有較高的能力。SVM如果用于故障推理,可以不需要規(guī)則提前匹配,能夠克服傳統(tǒng)推理中遇到的“匹配沖突”“組合爆炸”和“無限遞歸”等問題[6]。本文采用MATLAB中LIBSVM庫函數(shù)[7]的C-SVC算法進(jìn)行二分類,對與故障信號相關(guān)的故障模式依次進(jìn)行判別,得到對應(yīng)的電路模塊是否有故障的結(jié)論。下面對相關(guān)原理進(jìn)行說明。
SVM的實現(xiàn)原理是通過某種事先選擇的非線性映射(核函數(shù)),將輸入向量映射到一個高維特征空間,在這個空間中構(gòu)造最優(yōu)分類超平面[8]。所選核函數(shù)為:
其中,φ(x)為n維空間到另一個空間的映射,核函數(shù)表示映射后的點(diǎn)積。核函數(shù)的引入是為了解決非線性分割的問題,徑向基核如高斯核用泰勒展開可以映射到無限維上去。本文選用RBF核函數(shù)進(jìn)行故障二分類:
對于二分類問題,假設(shè)現(xiàn)有訓(xùn)練數(shù)據(jù)Χ是m×n的矩陣,其中,m是樣本數(shù)量,n是樣本向量的維數(shù);Y為樣本的標(biāo)簽,是m×1的向量;記樣本中第i個樣本為xi,對應(yīng)的標(biāo)簽為yi,yi∈{1,-1},表示兩個分類?,F(xiàn)在,我們試圖找一個最優(yōu)的超平面wTφ(x)+b=0,使得所有樣本到分離面的距離最大。其中,w是一個n×1維向量。
如圖5所示,對于s.t.yi[wTφ(xi)+b]≥1,假設(shè)x1、x2分別為兩類數(shù)據(jù)中距離超平面wTφ(x)+b=0距離最小的向量,則:
圖5 SVM算法示意圖
d1+d2最大,等價于其倒數(shù)最小,即:
由于樣本可能不能完全硬性區(qū)分,允許軟性間隔,利用正則化,放松一個點(diǎn)到超平面的距離的約束,即函數(shù)間隔:
每放松一個εi,就要支付一個代價Cεi,得到C-SVC算法的模型優(yōu)化函數(shù)如下:
頻綜器單元的檢測指標(biāo)共有82個,即一組頻綜器單元檢測數(shù)據(jù)為82維,將檢測數(shù)據(jù)通過以下步驟進(jìn)行預(yù)處理。
3.1.1去除冗余測試項
去除冗余測試項,如頻點(diǎn)數(shù)量等通過其他檢測數(shù)據(jù)綜合計算可得的冗余統(tǒng)計項,將檢測指標(biāo)由82維降低為76維。
3.1.2信息融合
將部分維度進(jìn)行融合計算處理,同時根據(jù)單項技術(shù)指標(biāo)范圍,增加故障判別維度,實現(xiàn)數(shù)據(jù)的轉(zhuǎn)換處理。如將32維的頻點(diǎn)功率數(shù)據(jù)[P1,P2,…,P32]轉(zhuǎn)接為1維的綜合功率[P]和4維的故障代碼[m1,m2,m3,m4],具體轉(zhuǎn)換過程示例如下:
給出一組檢測數(shù)據(jù)[P1,*P2,*P3,*P4,…,P30,*P31,P32],其中,“*”代表檢測數(shù)據(jù)超差,可以看出,頻點(diǎn)2、3、4、31功率超差。將其進(jìn)行轉(zhuǎn)換:
P={故障頻點(diǎn)中超差最大的功率值}={*P2,*P3,*P4,*P31中超差最大的功率值};
m1~m4分 別 為 頻 點(diǎn)1~8、9~16、17~24、 25~32的故障代碼,每個頻點(diǎn)的狀態(tài)用0或1表示,“0”表示“正常”,“1”表示“故障”,每8位為1組進(jìn)行二進(jìn)制到十進(jìn)制的轉(zhuǎn)換,即為對應(yīng)的故障代碼。在此例中,[m1,m2,m3,m4]= [14,0,0,64]。
通過信息融合計算,將檢測指標(biāo)轉(zhuǎn)換為由22維融合數(shù)據(jù)及25維故障判別數(shù)據(jù)組成的47維的算法輸入數(shù)據(jù)。
通過Min-Max歸一化[9]可以消除樣本不同屬性具有不同量級時的影響,避免量級的差異導(dǎo)致的量級較大的屬性占據(jù)主導(dǎo)地位的問題,提高迭代收斂速度。具體歸一化步驟如下:
3.2.1 數(shù)據(jù)極值處理
在檢測數(shù)據(jù)中,存在偏離正常數(shù)據(jù)a很大的異常數(shù)據(jù)b,當(dāng)數(shù)據(jù)偏離超過一定值α?xí)r,我們認(rèn)為數(shù)據(jù)偏離更大時沒有意義。我們將α作為超差上限,超過這個值,按超差上限進(jìn)行處理:if(b>a)且(b-a>α),thenb=a+α;if(b<a)且(a-b>α),thenb=a-α。
3.2.2 Min-Max 歸一化
采用 Min-Max 歸一化方法將數(shù)據(jù)歸一化到[0,1]的范圍。對于屬性A,設(shè)Amin和Amax分別為其最小值和最大值,則屬性A的一個原始數(shù)據(jù)x通過Min-Max歸一化后的映射值x′=(x-Amin)/ (Amax-Amin)。
以“D1參考源電路模塊及參考源電路模塊接口信號故障”為例,對仿真過程進(jìn)行說明。
3.3.1 模型訓(xùn)練
從歷史檢測數(shù)據(jù)中抽取10組D1參考源電路模塊及參考源電路模塊接口信號故障數(shù)據(jù)、30組D1參考源電路模塊及參考源電路模塊接口信號無故障數(shù)據(jù),組成47×40維訓(xùn)練集,讀取數(shù)據(jù)庫中訓(xùn)練數(shù)據(jù),選擇C-SVC模型[5],運(yùn)用Svmtrain函數(shù)對模型進(jìn)行訓(xùn)練,對C-SVC模型的可調(diào)節(jié)參數(shù)C和γ進(jìn)行調(diào)節(jié)。其中,C是懲罰系數(shù),即對誤差的寬容度,C越大,表示越不能容忍出現(xiàn)誤差。當(dāng)C過大時,容易過擬合;反之,C過小時,容易欠擬合。γ是選擇RBF函數(shù)作為核函數(shù)后可調(diào)的一個參數(shù),它能夠決定數(shù)據(jù)映射到新的特征空間后的分布。γ越大,表示支持向量越少;γ越小,表示支持向量越多。支持向量的個數(shù)影響訓(xùn)練與預(yù)測的速度。
3.3.2 模型測試
從歷史檢測數(shù)據(jù)中抽取5組D1參考源電路模塊及參考源電路模塊接口信號故障數(shù)據(jù)、15組D1參考源電路模塊及參考源電路模塊接口信號無故障數(shù)據(jù),組成47×20維測試集,對模型進(jìn)行測試,得到正確分類19組,錯誤分類1組,準(zhǔn)確率為95%。
對頻綜器單元的11類故障按照上述方法分別進(jìn)行模型測試及仿真,得到準(zhǔn)確率分布如表2。
表2 頻綜器單元故障診斷準(zhǔn)確率分布
本文以頻綜器單元為研究對象,通過MATLAB平臺,將基于知識的專家系統(tǒng)與適用于小樣本、不平衡數(shù)據(jù)、具有高泛化能力的SVM算法相融合,搭建適用于航空裝備故障診斷及修理的系統(tǒng)模型,實現(xiàn)了11種故障模式的快速定位,模型綜合準(zhǔn)確率為91.82%,能夠有效轉(zhuǎn)化已有修理經(jīng)驗,提高故障診斷效率。