■ 劉巖松 龍巖 李景奎 趙浩宇 黃辰/沈陽(yáng)航空航天大學(xué) 中國(guó)南方航空股份有限公司沈陽(yáng)維修基地
輔助動(dòng)力裝置(APU)是放置于飛機(jī)尾部的燃?xì)鉁u輪發(fā)動(dòng)機(jī),其基本構(gòu)造與航空發(fā)動(dòng)機(jī)類似,航空發(fā)動(dòng)機(jī)故障診斷方法[1-3]對(duì)提高APU故障診斷水平具有重要的借鑒意義。目前,對(duì)于APU故障診斷研究的方法很少,付華等[4]提出了一種基于小波包和最小二乘法支持向量分類器相結(jié)合的民航APU航空傳感器故障診斷系統(tǒng),可有效提高APU航空傳感器的故障診斷效率。羅云林等[5]提出了一種基于多小波和最小二乘法支持向量分類器融合的APU外部件故障診斷系統(tǒng),可以達(dá)到預(yù)期目標(biāo)并滿足故障診斷要求。郭曉靜等[6]提出了一種基于可測(cè)信息源的APU故障智能診斷方法,采用BP神經(jīng)網(wǎng)絡(luò)建立智能故障模型,提高了航空公司維修的自動(dòng)化水平。但是,僅利用BP神經(jīng)網(wǎng)絡(luò)建立的故障模型存在診斷誤差較大、仿真結(jié)果輸出不穩(wěn)定等問(wèn)題。
針對(duì)上述情況,本文提出了一種基于PSO-BP神經(jīng)網(wǎng)絡(luò)故障診斷方法,在可測(cè)信息源的APU數(shù)據(jù)的基礎(chǔ)上建立了基于PSO-BP神經(jīng)網(wǎng)絡(luò)故障診斷系統(tǒng),從而快速診斷APU所對(duì)應(yīng)的故障類型,并利用測(cè)試數(shù)據(jù)對(duì)該故障診斷系統(tǒng)進(jìn)行測(cè)試,仿真結(jié)果表明,基于PSO-BP的故障診斷算法的正確率高于BP神經(jīng)網(wǎng)絡(luò)模型。
粒子群優(yōu)化算法的核心思想是每個(gè)粒子都是解決問(wèn)題的潛在解決方案,粒子連續(xù)搜索指定區(qū)域的最佳值,根據(jù)更新公式不斷更新速度和位置,適應(yīng)度函數(shù)指導(dǎo)粒子搜索的方向和范圍,單個(gè)粒子找到的最優(yōu)解被稱為個(gè)體極值Pbest,整個(gè)粒子群找到的最優(yōu)解稱為全局極值Gbest[7]。粒子速度和位置的更新公式如下:
其中,Vi代表粒子的速度;Xi表示當(dāng)前粒子的位置;w是加權(quán)系數(shù);c1、c2表示群體認(rèn)知系數(shù),也被稱作學(xué)習(xí)因子,一般情況下,c1=c2=1.49445;r1、r2一般是介于(0,1)之間的隨機(jī)數(shù)。
為了解決搜索過(guò)程中粒子在局部最優(yōu)值附近來(lái)回搜索的問(wèn)題,可以增加一個(gè)加權(quán)因子w,加權(quán)因子w從最大值線性減小到最小值,其中iter為當(dāng)前迭代次數(shù),這樣就解決了粒子搜索陷入局部最優(yōu)解的問(wèn)題,而itertotal是總的迭代次數(shù),即:
粒子群算法具備全局搜索尋優(yōu)解的優(yōu)點(diǎn),而BP神經(jīng)網(wǎng)絡(luò)擁有反向傳播的特性,將兩者結(jié)合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值[8-9]。由于PSO算法優(yōu)化參數(shù)過(guò)多,導(dǎo)致整體診斷時(shí)間過(guò)長(zhǎng),從而失去實(shí)際工程中的診斷意義,因此本文采用一種分段診斷的方法,將整體的診斷程序分為優(yōu)化部分和診斷部分兩段。優(yōu)化部分可以根據(jù)現(xiàn)有的樣本數(shù)據(jù)在后臺(tái)進(jìn)行實(shí)時(shí)的更新,不影響診斷部分的時(shí)效性?;赑SO-BP神經(jīng)網(wǎng)絡(luò)算法故障診斷的流程如圖1所示,具體步驟如下[8-10]。
圖1 PSO-BP算法流程圖
1)初始化BP網(wǎng)絡(luò)結(jié)構(gòu),確定BP神經(jīng)網(wǎng)絡(luò)隱含層的層數(shù),并且確定每層神經(jīng)元個(gè)數(shù),權(quán)值閾值更新公式如下。
其中,η是網(wǎng)絡(luò)學(xué)習(xí)的學(xué)習(xí)速率,η=0.8。Hj為隱藏層的輸出值,ek是輸出層實(shí)際輸出與期望輸出誤差總和,a是動(dòng)量學(xué)習(xí)率,a=0.9。b為權(quán)值,ω為權(quán)值。
表1 故障對(duì)應(yīng)關(guān)系
2)初始化粒子群和個(gè)體粒子的速度v、位置x、粒子種群數(shù)N、速度向量的維數(shù)D,D等于從輸入層到隱含層的權(quán)值個(gè)數(shù)、輸入層到隱含層的閾值個(gè)數(shù)、隱含層到輸出層的權(quán)值個(gè)數(shù)和隱含層到輸出層的閾值個(gè)數(shù)之和。
3)計(jì)算粒子的適應(yīng)度函數(shù),并將神經(jīng)網(wǎng)絡(luò)輸出和實(shí)際結(jié)果的差作為適應(yīng)度函數(shù)Z[11-12]。
4)對(duì)比適應(yīng)度并確定每個(gè)粒子的個(gè)體極值和全局最優(yōu)極值:如果存在Present<Pbest,Pbest=Present,Pbest=xi; 否 則,Pbest不 變; 如 果 存 在 Present<Gbest,Gbest=Present,Gbest=xi;否則,Gbest不會(huì)改變。
5)根據(jù)式(1)和式(2)更新粒子的速度和位置,更新的位置和速度應(yīng)在指定的范圍內(nèi)。位置和速度都有最大邊界和最小邊界值。
6)比較是否達(dá)到迭代次數(shù)和預(yù)設(shè)精度。若滿足預(yù)設(shè)精度,算法收斂并保存最優(yōu)權(quán)值和閾值;否則,返回第二步,算法繼續(xù)迭代,直至達(dá)到預(yù)設(shè)迭代次數(shù)算法終止。
具有實(shí)際工程意義的APU故障診斷性能參數(shù)為引氣流量(WB)、峰值溫度(EGTP)、滑油溫度(OT)、排氣溫度(EGT)、引氣壓力(PT)、峰值轉(zhuǎn)速(NPA)、APU啟動(dòng)時(shí)間(STA)。常見的APU故障類型有滑油冷卻器故障、燃油組件故障、轉(zhuǎn)軸機(jī)械卡阻、整機(jī)性能衰減和起動(dòng)機(jī)故障等。
對(duì)基于可測(cè)信息源的22組APU數(shù)據(jù)進(jìn)行歸一化處理,從而縮短運(yùn)行時(shí)間[13],公式如下:
建立故障對(duì)應(yīng)模式,故障模式采用二進(jìn)制表示,對(duì)應(yīng)關(guān)系見表1。
取16組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),將6組數(shù)據(jù)作為測(cè)試數(shù)據(jù),測(cè)試數(shù)據(jù)見表2,建立三層神經(jīng)網(wǎng)絡(luò)。基于所選擇的特征性能參數(shù)確定輸入層神經(jīng)元的數(shù)量。輸入層神經(jīng)元的數(shù)量為7,隱含層神經(jīng)元個(gè)數(shù)根據(jù)經(jīng)驗(yàn)設(shè)定為12,輸出層根據(jù)所選擇的5種故障類型確定,因此輸出層中的神經(jīng)元個(gè)數(shù)為5。其他參數(shù)分別為:粒子數(shù)N=600、迭代次數(shù)iter=60、c1=c2=1.49445、最大位置xmax=1、最小位置xmin=0、最大速度vmax=1、最小速度vmin=-vmax、最大慣性權(quán)重Wmax=0.9、最小慣性權(quán)重Wmin=0.4、預(yù)設(shè)誤差為10-5。
利用Matlab軟件對(duì)PSO-BP神經(jīng)網(wǎng)絡(luò)算法仿真。首先,PSO算法用于優(yōu)化BP網(wǎng)絡(luò)各層的權(quán)值閾值,以獲得最優(yōu)的權(quán)值和閾值,將最優(yōu)的權(quán)值和閾值輸入到BP。由訓(xùn)練樣本數(shù)據(jù)得出測(cè)試數(shù)據(jù)的診斷結(jié)果。結(jié)果表明,隨著迭代次數(shù)的增加,個(gè)體最優(yōu)適應(yīng)度逐漸減小,PSO算法對(duì)于BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化效果顯著,如圖2所示。雖然BP神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值的訓(xùn)練時(shí)間較長(zhǎng),但是本程序分為兩段,其中故障診斷過(guò)程僅需3s。
表2 測(cè)試數(shù)據(jù)
圖2 最優(yōu)個(gè)體適應(yīng)度
采用訓(xùn)練好的PSO-BP故障診斷仿真系統(tǒng)對(duì)測(cè)試數(shù)據(jù)進(jìn)行診斷,如圖3所示,實(shí)際輸出與預(yù)測(cè)輸出一致,達(dá)到了預(yù)定的要求。BP神經(jīng)網(wǎng)絡(luò)診斷結(jié)果如表3所示,PSO-BP神經(jīng)網(wǎng)絡(luò)診斷結(jié)果如表4所示,通過(guò)對(duì)比第二組和第六組的診斷結(jié)果,可以得出PSO-BP故障診斷仿真系統(tǒng)較BP神經(jīng)網(wǎng)絡(luò)更優(yōu)越的結(jié)論。
圖3 訓(xùn)練數(shù)據(jù)預(yù)測(cè)
表3 BP診斷結(jié)果
表4 PSO-BP診斷結(jié)果
BP神經(jīng)網(wǎng)絡(luò)存在診斷波動(dòng)甚至錯(cuò)誤診斷的情況,在第二組對(duì)比數(shù)據(jù)中BP神經(jīng)網(wǎng)絡(luò)將故障2診斷為故障1,在第六組對(duì)比數(shù)據(jù)中BP神經(jīng)網(wǎng)絡(luò)雖然診斷結(jié)果正確,但出現(xiàn)了較大的誤差偏離,存在著錯(cuò)誤診斷的隱患。以上數(shù)據(jù)對(duì)比說(shuō)明,PSOBP神經(jīng)網(wǎng)絡(luò)能夠顯著提升故障診斷的準(zhǔn)確性和穩(wěn)定性,而BP神經(jīng)網(wǎng)絡(luò)診斷結(jié)果變化較大甚至存在診斷錯(cuò)誤的情況。
利用PSO對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值進(jìn)行優(yōu)化,其診斷結(jié)果較BP神經(jīng)網(wǎng)絡(luò)更加穩(wěn)定更加精準(zhǔn),彌補(bǔ)了BP神經(jīng)網(wǎng)絡(luò)容易陷入局部極值的問(wèn)題。通過(guò)對(duì)APU故障診斷實(shí)例仿真說(shuō)明,基于PSO算法訓(xùn)練的神經(jīng)網(wǎng)絡(luò)提高了APU故障診斷的穩(wěn)定性和可靠性,滿足APU故障診斷的需求,在實(shí)際工程中有一定的應(yīng)用價(jià)值,為實(shí)現(xiàn)全自動(dòng)智能故障診斷奠定了基礎(chǔ)。