王 雷, 沈龍云, 孫毅剛
(1.中國民航大學(xué) 基礎(chǔ)實驗中心,天津 300300; 2.中國中材裝備集團有限公司,天津 300400; 3.中國民航大學(xué) 航空自動化學(xué)院,天津 300300)
基于ELM的航空發(fā)動機傳感器故障診斷方法研究*
王 雷1, 沈龍云2, 孫毅剛3
(1.中國民航大學(xué) 基礎(chǔ)實驗中心,天津 300300; 2.中國中材裝備集團有限公司,天津 300400; 3.中國民航大學(xué) 航空自動化學(xué)院,天津 300300)
為了在嵌入式ARM11平臺中更好地實現(xiàn)航空發(fā)動機傳感器故障監(jiān)測與診斷,使用極限學(xué)習(xí)機(ELM)代替?zhèn)鹘y(tǒng)的BP網(wǎng)絡(luò)算法,只需選定隱含層節(jié)點數(shù)和激活函數(shù),大大減少了BP算法中人為設(shè)置大量參數(shù)、訓(xùn)練過程慢,并需要不斷調(diào)整網(wǎng)絡(luò)參數(shù)以及容易陷入局部最優(yōu)解的缺點。經(jīng)過仿真驗證對比兩種算法,驗證ELM算法的優(yōu)越性。并使用C++編程語言將ELM算法轉(zhuǎn)換成航空發(fā)動機傳感器故障診斷訓(xùn)練學(xué)習(xí)軟件和診斷軟件,經(jīng)最終測試,該算法軟件的測試精度良好,滿足診斷需求。
極限學(xué)習(xí)機; 在線貫序極限學(xué)習(xí)機; 航空發(fā)動機; 傳感器故障診斷
近年來,隨著發(fā)動機狀態(tài)監(jiān)視與故障診斷技術(shù)的不斷發(fā)展,提出了一個全新的概念——發(fā)動機健康管理(EHM)系統(tǒng)[1]。航空發(fā)動機實時運行的各種數(shù)據(jù)是依靠安裝在發(fā)動機系統(tǒng)中的各種傳感器來監(jiān)測的,如果傳感器出現(xiàn)故障,則會對發(fā)動機狀態(tài)的監(jiān)控造成極大的影響[2]。
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練計算時需要人為的設(shè)置大量的訓(xùn)練參數(shù),訓(xùn)練速度慢,而且有可能陷入局部最優(yōu)解的不足[1,3]。近年來,逐漸興起的極限學(xué)習(xí)機(extreme learning machine,ELM)僅需要設(shè)置網(wǎng)絡(luò)的隱含層節(jié)點數(shù),不再需要實時調(diào)整網(wǎng)絡(luò)的權(quán)值和偏置閾值,并且能夠產(chǎn)生唯一的最優(yōu)解,因此,其在學(xué)習(xí)速度和泛化性能上都得到了極大的提高[1~6]。
針對于航空發(fā)動機實時處于高速運轉(zhuǎn)的特點,引入自適應(yīng)學(xué)習(xí)訓(xùn)練的思想,運用在線貫序極限學(xué)習(xí)機(online sequential extreme learning machine,OS-ELM)訓(xùn)練前饋神經(jīng)網(wǎng)絡(luò)。依據(jù)人為設(shè)置的故障分類器來識別發(fā)動機的故障,并使用新的故障數(shù)據(jù)作為樣本進行再學(xué)習(xí),這樣極大地提高了對于發(fā)動機傳感器故障監(jiān)測與診斷的效率和可靠性。
1.1 ELM[1~7]
給定含有N個訓(xùn)練樣本數(shù)組Z={xi,ti},i∈1,2,…,N;xi∈Rn;yi∈Rm,隱含層節(jié)點數(shù)為L,激活函數(shù)為g(x),其ELM模型可以表示為
(1)
式中βj為連接第j個隱含層節(jié)點與輸出節(jié)點之間的權(quán)值向量;wj=[w1,w2,…,wn]為連接輸入節(jié)點與第j個隱含層節(jié)點之間的權(quán)值向量;bj為第j個隱含層節(jié)點的閾值;g(wjxi+bj)為第j個隱含層節(jié)點在激活函數(shù)為g(x)、輸入向量為xi時的輸出。定義式(1)建立的SLFNs模型的輸出能夠以零誤差無限接近上述N個訓(xùn)練樣本,則式(1)可簡寫為
Hβ=T,
(2)
式中H為ELM隱含層節(jié)點的輸出矩陣;H(i,j)為第i個訓(xùn)練數(shù)據(jù)在第j個隱含層節(jié)點的輸出。
求解其最小二乘問題可以得到網(wǎng)絡(luò)參數(shù)
β=H*T=(HTH)-1HTT.
其中,H*為隱含層輸出矩陣H的Moore-Penrose廣義逆。
1.2 OS-ELM[3,7]
航空發(fā)動機在運行過程中,狀態(tài)信息數(shù)據(jù)實時都在發(fā)生變化,因此,學(xué)習(xí)也是一個連續(xù)進行的過程。采用在OS-ELM方法訓(xùn)練網(wǎng)絡(luò),可以構(gòu)建基于在線神經(jīng)網(wǎng)絡(luò)的快速的故障檢測與診斷方法,其算法的流程可以分為初始化階段和在線學(xué)習(xí)階段兩部分。
1)初始化階段:基于ELM的方法對故障數(shù)據(jù)進行學(xué)習(xí),保存訓(xùn)練獲得的參數(shù)H和β,其過程為:
a.取K=0,其中,K為送到網(wǎng)絡(luò)數(shù)據(jù)的個數(shù)。
c.隨機產(chǎn)生輸入權(quán)值向量wj和閾值向量bj,初始化網(wǎng)絡(luò)。
2)在線學(xué)習(xí)階段:通過變化的故障數(shù)據(jù)實時更新參數(shù)H和β,從而使得網(wǎng)絡(luò)的分類和泛化能力得到強化,同時提高故障診斷的準(zhǔn)確度,其過程為:
b.令k=k+1,重新帶入在線學(xué)習(xí)階段,不斷更新H和β,直到所有的數(shù)據(jù)全部學(xué)習(xí)完畢。
這樣訓(xùn)練得到的OS-ELM的網(wǎng)絡(luò)參數(shù)H和β可以存儲在網(wǎng)絡(luò)節(jié)點之中,并且可以隨時跨平臺移植。
實驗所使用的硬件平臺是ARM11開發(fā)板,操作系統(tǒng)為WinCE 6.0,主頻為667 MHz,RAM為256 M,硬件資源是比較有限的,因此,在進行程序設(shè)計時要考慮到硬件資源消耗。
2.1 參數(shù)的選擇
首先確定隱含層激活函數(shù),選擇一個固定隱含層節(jié)點數(shù),比如:11,然后依次使用Sigmoid函數(shù)、高斯函數(shù)(radbas)、硬限值函數(shù)(hardlim)、三角基傳遞函數(shù)(tribas)、正弦函數(shù)(sin)等五種常見的ELM激活函數(shù)進行對比,依據(jù)算法的精確度進行對比,最終選擇sin函數(shù)作為隱含層節(jié)點的激活函數(shù)。然后確定隱含層節(jié)點數(shù),初始節(jié)點數(shù)選擇10,然后以5為周期,依次遞增,依據(jù)激活函數(shù)的訓(xùn)練精度、時間、準(zhǔn)確度最終選擇的隱含層節(jié)點數(shù)為40。
模型的輸入節(jié)點數(shù)據(jù),是航空發(fā)動機控制系統(tǒng)傳感器的實際數(shù)據(jù)。選擇低壓轉(zhuǎn)子轉(zhuǎn)速(N2)、高壓轉(zhuǎn)子轉(zhuǎn)速(N1)、油門桿角度(TLA)、發(fā)動機排氣溫度(EGT)以及燃油流量(FF)。其中,選擇低壓轉(zhuǎn)子轉(zhuǎn)速(N2)作為模型的輸出量,其余4個參數(shù)則是作為輸入量建立模型。
2.2 故障分類與處理方法
航空發(fā)動機傳感器故障分為硬故障和軟故障。硬故障是指傳感器自身損壞而喪失功能,引起的測量數(shù)據(jù)大幅度變化。軟故障是指由于傳感器自身的邏輯錯誤或者驅(qū)動異常等,使得其測量數(shù)據(jù)出現(xiàn)緩慢變化或不易察覺的誤差等。針對于硬故障和軟故障自身不同的特點,采用時間冗余和空間冗余來判斷出現(xiàn)的故障類型。
時間冗余,依據(jù)傳感器前一個時間段內(nèi)的數(shù)據(jù)來預(yù)測接下來的一個時間序列應(yīng)該出現(xiàn)的正常數(shù)據(jù),并與實際數(shù)據(jù)對比,計算殘差是否在給定的閾值范圍之內(nèi),若超出,則判斷為硬故障。閾值范圍選擇傳感器正常輸出數(shù)值的10 %以內(nèi)。
空間冗余,則是利用多個傳感器數(shù)據(jù)來計算某個傳感器的正常運行數(shù)據(jù)。使用ELM算法建立正常運行的模型,將實際數(shù)據(jù)輸入模型,計算殘差。依次計算出之后若干時間段內(nèi)的殘差數(shù)據(jù),并進行對比,觀察變化范圍和變化趨勢是否在合理范圍之內(nèi),依次來判斷是否出現(xiàn)軟故障。故障處理流程圖如圖1所示。
圖1 故障處理流程圖
2.3 模型訓(xùn)練與仿真訓(xùn)練
程序設(shè)計分為訓(xùn)練學(xué)習(xí)程序和故障診斷程序兩部分。訓(xùn)練程序在上位機PC中完成,訓(xùn)練學(xué)習(xí)程序目的是為了確定測試隱含層節(jié)點數(shù)和隱含層節(jié)點的激活函數(shù)。程序設(shè)計使用VS2005作為開發(fā)工具,C++語言,面向?qū)ο缶幊碳夹g(shù)設(shè)計程序的結(jié)構(gòu)和界面,因此,與直接使用具有良好數(shù)據(jù)處理能力的Matlab之前存在著一定的差距。表1是兩種開發(fā)工具之間訓(xùn)練時間和訓(xùn)練精度之間的對比。
表1 VS2005與Matlab訓(xùn)練結(jié)果對比
從表1對比之中可以看出:雖然在訓(xùn)練時間上VS2005開發(fā)的程序由于算法復(fù)雜度和大數(shù)據(jù)處理速度上比較專業(yè)的Matlab而言有一定的差距,但在訓(xùn)練精度上還是比較接近的,訓(xùn)練結(jié)果的準(zhǔn)確度完全能夠滿足實際的使用需求。
由于傳統(tǒng)的故障處理和訓(xùn)練所采用的都是BP神經(jīng)網(wǎng)絡(luò)算法,分別使用Matlab和C++語言編程來對這兩種算法的訓(xùn)練時間與精度進行對比,判別兩種算法的優(yōu)缺點。圖2是基于Matlab訓(xùn)練精度的對比。
圖2 基于Matlab的算法對比
由圖中可以看出:使用Matlab對比兩種算法的訓(xùn)練結(jié)果,整體上非常接近的,這樣很難判斷究竟哪種算法更加的符合實際需求。因此,表2中列出了兩種算法在實際開發(fā)環(huán)境中的運行結(jié)果對比。
表2 ELM與BP算法對比
由表2可以看出:ELM與BP神經(jīng)網(wǎng)絡(luò)算法之間的訓(xùn)練時間差異不大,由于ELM算法選擇的隱層節(jié)點數(shù)要遠遠多于BP算法(ELM為40,BP為6),而BP算法在計算過程中需要不斷地調(diào)整自身權(quán)值和閾值使得在算法復(fù)雜度上前者略優(yōu)于后者。從訓(xùn)練精度上對比,ELM算法的訓(xùn)練精度明顯高于BP算法。由于編程能力和程序設(shè)計上可能存在的不足,使得上述結(jié)果不一定十分準(zhǔn)確,但是仍然給出了一個很好的參照依據(jù)。
將訓(xùn)練結(jié)果數(shù)據(jù)保存下來,帶入到實際運行平臺中的故障檢測與診斷程序之中,作為最后檢驗的標(biāo)準(zhǔn)。測試數(shù)據(jù)選用7100組數(shù)據(jù),數(shù)據(jù)量大能夠更好地測試程序的準(zhǔn)確性。人為添加故障數(shù)據(jù),對程序進行測試。硬故障數(shù)據(jù)是將原始數(shù)據(jù)中某一部分?jǐn)?shù)據(jù)擴大到其1.6~2.0倍,然后由程序進行檢測;軟故障則是對于部分原始數(shù)據(jù)使其按照一定的比例緩慢增加,依次來測試程序的準(zhǔn)確性。測試數(shù)據(jù)結(jié)果如表3所示。
表3 故障測試數(shù)據(jù)
程序在數(shù)據(jù)加入故障之后,能夠很好地檢測出故障,說明ELM算法能夠?qū)娇瞻l(fā)動機傳感器的故障檢測與診斷進行很好的測試。表4是三個程序檢測過程所需要的時間對比。
表4 測試時間對比
由于實際運行環(huán)境的限制,使得程序時間稍長。當(dāng)出現(xiàn)故障時,程序需要進行連續(xù)的對比才能夠最終確定是否出現(xiàn)故障,使得測試時間進一步的延長。
本文使用ELM算法代替?zhèn)鹘y(tǒng)的BP網(wǎng)絡(luò)算法等進行航空發(fā)動機傳感器故障檢測與診斷,從訓(xùn)練時間與訓(xùn)練精度上對其進行對比,顯示各自的優(yōu)缺點。經(jīng)過對比,ELM算法在計算時間和計算精度上都是要優(yōu)于BP算法。同時,使用ELM故障檢測程序進行最后的測試,能夠準(zhǔn)確地檢測出傳感器的故障。由于實際硬件平臺資源的限制,以及編程能力、算法設(shè)計、程序結(jié)構(gòu)等方面的因素,使得測試程序在時間上仍然存在這一定的不足,需要繼續(xù)研究改進。
[1] 馬 超,張英堂,李志寧,等.基于ELM和證據(jù)理論的發(fā)動機故障診斷[J].車用發(fā)動機,2013(3):88-92.
[2] Kobayashi T,Simon D L.Evaluation of an enhanced bank of Kal-man filters for in flight aircraft engine sensor fault diagnostic-s[R].Washington DC:NASA,2004.
[3] 尹 剛,張英堂,李志寧,等.運用在線貫序極限學(xué)習(xí)機的故障診斷方法[J].震動、測試與診斷,2013,33(2):325-329.
[4] Huang G B,Zhu Q Y,Siew C K.Extreme learning machine:Theory and applications[J].Neurocomputing,2006,70(1-3):489-501.
[5] 陳立軍,孫 凱,候媛媛,等.基于極限學(xué)習(xí)機的汽輪機故障診斷[J].化工自動化及儀表,2013,40(4):435-438.
[6] 薛 薇,郭迎清.航空發(fā)動機控制系統(tǒng)多傳感器軟故障檢測研究[J].計算機測量與控制,2007,15(4):585-587.
[7] 尹 剛,張英堂,李志寧,等.改進在線貫序極限學(xué)習(xí)機在模式識別中的應(yīng)用[J].計算機工程,2012,38(8):164-166.
Research on ELM-based aircraft engine sensor
fault diagnosis method*WANG Lei1, SHEN Long-yun2, SUN Yi-gang3
(1.Basis Experimental Center, Civil Aviation University of China,Tianjin 300300,China; 2.Sinoma Technology & Equipment Group Co Ltd,Tianjin 300400,China; 3.College of Aeronautical Automation,Civil Aviation University of China,Tianjin 300300,China)
In order to realize aircraft engine sensor fault monitoring and diagnosis more better on embedded ARM11 platform, using extreme learning machine(ELM)instead of BP network algorithm,only need to select node numbers and activation function of hidden layer,greatly reduce large numbers of parameters,slow training process and continuously adjust network parameters and easy to fall into local optimal solution of BP algorithm.Through simulation comparison of two algorithms,verify the superiority of ELM algorithm.The ELM algorithm is then converted into aircraft engine sensor fault diagnosis training and learning software and diagnosis software using C++ programming language,the final test show that test precision of the algorithm software is good,and meet requirement of diagnosis.
extreme learning machine(ELM); online sequential extreme learning machine(OS-ELM); aircraft engine;sensor fault diagnosis
10.13873/J.1000—9787(2015)04—0016—03
2014—08—18
國家自然科學(xué)基金委員會和中國民用航空局聯(lián)合研究基金資助重點項目(U1233201);天津市科技支撐計劃重點資助項目(11ZCKFGX04000)
V 233.7
A
1000—9787(2015)04—0016—03
王 雷(1987-),男,河北保定人,碩士,助理實驗師,主要從事航空發(fā)動機傳感器故障診斷、航空電子組件仿真驗證方面的研究。