■ 劉巖松 龍巖 李景奎 趙浩宇 黃辰/沈陽航空航天大學 中國南方航空股份有限公司沈陽維修基地
輔助動力裝置(APU)是放置于飛機尾部的燃氣渦輪發動機,其基本構造與航空發動機類似,航空發動機故障診斷方法[1-3]對提高APU故障診斷水平具有重要的借鑒意義。目前,對于APU故障診斷研究的方法很少,付華等[4]提出了一種基于小波包和最小二乘法支持向量分類器相結合的民航APU航空傳感器故障診斷系統,可有效提高APU航空傳感器的故障診斷效率。羅云林等[5]提出了一種基于多小波和最小二乘法支持向量分類器融合的APU外部件故障診斷系統,可以達到預期目標并滿足故障診斷要求。郭曉靜等[6]提出了一種基于可測信息源的APU故障智能診斷方法,采用BP神經網絡建立智能故障模型,提高了航空公司維修的自動化水平。但是,僅利用BP神經網絡建立的故障模型存在診斷誤差較大、仿真結果輸出不穩定等問題。
針對上述情況,本文提出了一種基于PSO-BP神經網絡故障診斷方法,在可測信息源的APU數據的基礎上建立了基于PSO-BP神經網絡故障診斷系統,從而快速診斷APU所對應的故障類型,并利用測試數據對該故障診斷系統進行測試,仿真結果表明,基于PSO-BP的故障診斷算法的正確率高于BP神經網絡模型。
粒子群優化算法的核心思想是每個粒子都是解決問題的潛在解決方案,粒子連續搜索指定區域的最佳值,根據更新公式不斷更新速度和位置,適應度函數指導粒子搜索的方向和范圍,單個粒子找到的最優解被稱為個體極值Pbest,整個粒子群找到的最優解稱為全局極值Gbest[7]。粒子速度和位置的更新公式如下:

其中,Vi代表粒子的速度;Xi表示當前粒子的位置;w是加權系數;c1、c2表示群體認知系數,也被稱作學習因子,一般情況下,c1=c2=1.49445;r1、r2一般是介于(0,1)之間的隨機數。
為了解決搜索過程中粒子在局部最優值附近來回搜索的問題,可以增加一個加權因子w,加權因子w從最大值線性減小到最小值,其中iter為當前迭代次數,這樣就解決了粒子搜索陷入局部最優解的問題,而itertotal是總的迭代次數,即:

粒子群算法具備全局搜索尋優解的優點,而BP神經網絡擁有反向傳播的特性,將兩者結合優化BP神經網絡的權值閾值[8-9]。由于PSO算法優化參數過多,導致整體診斷時間過長,從而失去實際工程中的診斷意義,因此本文采用一種分段診斷的方法,將整體的診斷程序分為優化部分和診斷部分兩段。優化部分可以根據現有的樣本數據在后臺進行實時的更新,不影響診斷部分的時效性。基于PSO-BP神經網絡算法故障診斷的流程如圖1所示,具體步驟如下[8-10]。

圖1 PSO-BP算法流程圖
1)初始化BP網絡結構,確定BP神經網絡隱含層的層數,并且確定每層神經元個數,權值閾值更新公式如下。

其中,η是網絡學習的學習速率,η=0.8。Hj為隱藏層的輸出值,ek是輸出層實際輸出與期望輸出誤差總和,a是動量學習率,a=0.9。b為權值,ω為權值。

表1 故障對應關系
2)初始化粒子群和個體粒子的速度v、位置x、粒子種群數N、速度向量的維數D,D等于從輸入層到隱含層的權值個數、輸入層到隱含層的閾值個數、隱含層到輸出層的權值個數和隱含層到輸出層的閾值個數之和。
3)計算粒子的適應度函數,并將神經網絡輸出和實際結果的差作為適應度函數Z[11-12]。

4)對比適應度并確定每個粒子的個體極值和全局最優極值:如果存在Present<Pbest,Pbest=Present,Pbest=xi; 否 則,Pbest不 變; 如 果 存 在 Present<Gbest,Gbest=Present,Gbest=xi;否則,Gbest不會改變。
5)根據式(1)和式(2)更新粒子的速度和位置,更新的位置和速度應在指定的范圍內。位置和速度都有最大邊界和最小邊界值。
6)比較是否達到迭代次數和預設精度。若滿足預設精度,算法收斂并保存最優權值和閾值;否則,返回第二步,算法繼續迭代,直至達到預設迭代次數算法終止。
具有實際工程意義的APU故障診斷性能參數為引氣流量(WB)、峰值溫度(EGTP)、滑油溫度(OT)、排氣溫度(EGT)、引氣壓力(PT)、峰值轉速(NPA)、APU啟動時間(STA)。常見的APU故障類型有滑油冷卻器故障、燃油組件故障、轉軸機械卡阻、整機性能衰減和起動機故障等。
對基于可測信息源的22組APU數據進行歸一化處理,從而縮短運行時間[13],公式如下:

建立故障對應模式,故障模式采用二進制表示,對應關系見表1。
取16組數據作為訓練數據,將6組數據作為測試數據,測試數據見表2,建立三層神經網絡。基于所選擇的特征性能參數確定輸入層神經元的數量。輸入層神經元的數量為7,隱含層神經元個數根據經驗設定為12,輸出層根據所選擇的5種故障類型確定,因此輸出層中的神經元個數為5。其他參數分別為:粒子數N=600、迭代次數iter=60、c1=c2=1.49445、最大位置xmax=1、最小位置xmin=0、最大速度vmax=1、最小速度vmin=-vmax、最大慣性權重Wmax=0.9、最小慣性權重Wmin=0.4、預設誤差為10-5。
利用Matlab軟件對PSO-BP神經網絡算法仿真。首先,PSO算法用于優化BP網絡各層的權值閾值,以獲得最優的權值和閾值,將最優的權值和閾值輸入到BP。由訓練樣本數據得出測試數據的診斷結果。結果表明,隨著迭代次數的增加,個體最優適應度逐漸減小,PSO算法對于BP神經網絡的優化效果顯著,如圖2所示。雖然BP神經網絡的權值、閾值的訓練時間較長,但是本程序分為兩段,其中故障診斷過程僅需3s。

表2 測試數據

圖2 最優個體適應度
采用訓練好的PSO-BP故障診斷仿真系統對測試數據進行診斷,如圖3所示,實際輸出與預測輸出一致,達到了預定的要求。BP神經網絡診斷結果如表3所示,PSO-BP神經網絡診斷結果如表4所示,通過對比第二組和第六組的診斷結果,可以得出PSO-BP故障診斷仿真系統較BP神經網絡更優越的結論。

圖3 訓練數據預測

表3 BP診斷結果

表4 PSO-BP診斷結果
BP神經網絡存在診斷波動甚至錯誤診斷的情況,在第二組對比數據中BP神經網絡將故障2診斷為故障1,在第六組對比數據中BP神經網絡雖然診斷結果正確,但出現了較大的誤差偏離,存在著錯誤診斷的隱患。以上數據對比說明,PSOBP神經網絡能夠顯著提升故障診斷的準確性和穩定性,而BP神經網絡診斷結果變化較大甚至存在診斷錯誤的情況。
利用PSO對BP神經網絡的權值閾值進行優化,其診斷結果較BP神經網絡更加穩定更加精準,彌補了BP神經網絡容易陷入局部極值的問題。通過對APU故障診斷實例仿真說明,基于PSO算法訓練的神經網絡提高了APU故障診斷的穩定性和可靠性,滿足APU故障診斷的需求,在實際工程中有一定的應用價值,為實現全自動智能故障診斷奠定了基礎。