車暢暢,王華偉,倪曉梅,藺瑞管
(南京航空航天大學民航學院,南京 211106)
航空發動機故障診斷是確保飛機安全可靠運行的必要手段。在目前的研究中,能夠采集到發動機大量正常運行狀態下的狀態參數。但是由于得到的故障案例相對較少,很難提取出通用特征用于表征故障規律。采用航空發動機數值仿真技術能夠通過自定義設計參數和環境參數模擬部件故障,得到在故障下的飛行運行狀態參數,并將其作為樣本用于故障診斷,輔助發動機設計,提高自主研發效率和水平。20 世紀80 年代末以來,西方航空國家相繼制定并實施了多項航空發動機仿真技術專項研究計劃,并開發了多個航空發動機數值仿真系統。
美國NASA Glenn 研究中心基于MATLAB/Simu?link 和面向對象技術,開發了基于推進系統數字仿真計劃的平臺,并且相繼建立了支撐發動機控制系統的軍、民用通用推進系統仿真模型;俄羅斯中央航空發動機研究院研發了燃氣輪機計算仿真系統,實現了航空發動機在不同工況下的真實工作過程以及在故障狀況下的主要參數的高精度模擬;歐洲通過開發統一的面向對象的推進系統性能仿真軟件(Propulsion Object-oriented Simulation Software,PROOSIS),針對各類航空發動機系統進行建模,功能涵蓋發動機全生命周期;北京航空航天大學數值仿真研究中心開發了航空發動機數值仿真系統(Chinese Aeroengine Nu?merical Simulation Software,CANSS),初步實現了發動機軟件模塊的開發和集成,并部分完成了航空發動機整機及部件的模型計算和分析。在得到航空發動機仿真數據的基礎上,可通過模型訓練提取出數據通用特征,用于故障模式識別和故障分類。隨著人工智能技術的不斷發展,目前常用的數據特征提取技術包括傳統機器學習方法和深度學習方法。傳統機器學習方法包括支持向量機、濾波器、隱馬爾可夫方法等,通過淺層網絡模型來挖掘輸入的狀態參數和對應故障類型之間的線性映射關系,模型簡單,訓練速度較快。然而隨著數據集和故障種類的增加,為了準確區分不同故障種類的數據,要求模型具有較強的非線性特征提取能力。作為機器學習方法的重要分支,深度學習模型通過多層的神經網絡模型能夠提取出大數據中的非線性復雜特征,被廣泛應用于語音識別、圖像識別、文本分類等方面,在故障診斷領域也有初步應用。Che 等使用深度信念網絡模型和長短時神經網絡模型進行飛機的故障診斷、剩余壽命預測和綜合健康管理;Zhu 等建立了一種用于滾動軸承智能故障診斷的疊層剪枝稀疏去噪自編碼模型;Xue 等提出一種基于深卷積神經網絡和支持向量機的故障診斷方法,用于旋轉機械多故障診斷。
本文提出基于航空燃氣渦輪發動機性能仿真軟件(Gas turbine Simulation Program,GSP)仿真和堆棧降噪自編碼器(Stacked Denoising Autoencoder,SDAE)的航空發動機故障診斷方法,對模擬不同的部件故障進行故障診斷,并與不同模型的正確率對比驗證了模型的有效性。
GSP 是歐洲國家航天實驗室開發的面向對象燃氣渦輪發動機的性能數值仿真軟件。燃氣輪機仿真程序GSP基于組件的建模環境,靈活的面向對象體系結構,允許用戶通過拖放界面在模型窗口中將發動機部件模型特定排列來對任何燃氣輪機配置進行穩態和瞬態模擬。GSP 是一種性能預測工具,特別適用于飛行環境、安裝損失、某些發動機故障(包括控制系統故障)和部件劣化影響分析等參數敏感性分析。分析的輸入基于模型配置,例如:可以指定燃料流量來計算產生的功率,或者當燃料流量設置為狀態變量時,可以指定功率來計算相應的燃料流量。通過運行模擬,組件屬性窗口中的輸出數據集將顯示在1 個表中,該表可由內置圖形工具可視化。可用數據包括氣體條件(溫度、壓力、質量流量、面積、速度等)和氣體成分。仿真結果可以導出到制表符分隔的文件中,然后用于自定義分析。
降噪自編碼是一種無監督的數據維數壓縮和數據特征表達方法,由編碼器和解碼器組成,通過樣本重構和誤差優化提取出含噪聲的樣本隱藏特征,用于進一步的故障診斷。降噪自編碼器的處理流程如圖1所示。

圖1 降噪自編碼器處理流程
(?|)代表將原始樣本轉化為含噪聲樣本?的過程,添加高斯白噪聲后的樣本可以表示為

式中:用于控制噪聲的大??;(0,1)為標準正態分布。
定義編碼器和解碼器為

式中:為權重;為偏置;和為激活函數。
自編碼器的目標是通過反向傳播算法和隨機梯度下降方法找到1 組參數={,,,},使得重構后的樣本與原始樣本之間有最低的重構誤差。損失函數定義為

式中:為和的組合;為正則化系數,用于控制權重的大小從而防止過擬合。
SDAE 就是在降噪自編碼器的基礎上,通過隱層堆疊實現樣本降維,并通過激活函數輸出分類結果。包含2個隱層的堆棧自編碼器模型如圖2所示。

圖2 堆棧降噪自編碼器
首先,將樣本輸入到層,通過降噪自編碼器編碼得到隱層特征,并通過解碼得到重構樣本,計算重構誤差并優化模型參數后,得到訓練好的降噪自編碼器;其次,將隱層作為輸入層,構建第2 個降噪自編碼器,通過編碼、解碼、參數優化等操作得到訓練好的隱層;再次,在完成預訓練后還可以通過反向傳播算法和隨機梯度下降法來反向微調所有隱層的參數;最后,通過Sotfmax 激活函數連接隱層和輸出層,并輸出分類結果。
在GSP 仿真和SDAE 模型的基礎上構建了航空發動機故障診斷模型,其故障診斷流程如圖3 所示。根據型號特點使用GSP構建發動機模型;通過故障注入方法改變部件設計參數從而人為設定發動機的故障狀態,仿真得到對應多種飛行狀態下的長時間序列的狀態參數;將采集到的狀態參數數據和對應的故障類型組成故障樣本,按照一定的比例分為訓練集和測試集;將訓練集帶入到SDAE 模型中進行預訓練和反向微調,并優化模型參數;將測試集帶入到訓練好的故障診斷模型中,得到最終的故障診斷結果。

圖3 航空發動機故障診斷流程
為了驗證所提出方法的有效性,基于GSP仿真軟件構建了渦輪發動機模型,如圖4 所示。該模型包括進氣道、壓氣機、燃燒室、渦輪、尾噴管5 大部件。通過設定部件的屬性來獲取航空發動機運行時的狀態參數,從而用于進一步的狀態監測和故障診斷。其中部件的屬性參數見表1。

圖4 渦輪發動機模型

表1 部件屬性參數
通過進氣道和壓氣機的故障注入得到不同故障下的發動機狀態參數,通過調整屬性參數得到4 種故障類型,見表2。

表2 4種故障類型的定義
通過將燃燒室的燃油流量從0.5 kg/s 減小到0.1 kg/s,模擬發動機的減速過程,從而得到故障對應的運行狀態參數。選取故障F1 的50 個監測時間序列對應的10 個狀態參數并進行歸一化處理,各狀態參數如圖5 所示。從圖中可見,各狀態參數的變化規律各不相同。

圖5 歸一化處理后的狀態參數
由于原始長時間序列狀態參數與故障類型之間具有弱映射關系,直接將樣本帶入到模型中很難訓練出合適的模型用于故障診斷,本文從每組狀態參數的長時間序列樣本中提取出曲線特征,并將特征疊加到一起構成故障樣本。本文選用的13 個時域和頻域特征包括:最大值、最小值、平均值、峰值、絕對平均值、方差、標準差、峭度、偏度、均方根、波形因子、峰值因子和脈沖因子。4 種故障類型的13 種特征如圖6 所示。從圖中可見,不同故障之間的時頻域特征區別很小,很難直接提取出故障規律用于故障診斷。本文將時頻域特征組成故障樣本,將故障類型作為樣本標簽,用于進一步深度學習模型訓練。

圖6 4種故障類型的曲線特征
將采集得到的時頻域特征作為基礎,通過添加隨機噪聲擴充為包含4000 個故障樣本的數據集,并按照4∶1的比例分為訓練集和測試集。構建包括2個隱層的SDAE模型,其參數設置見3。

表3 不同故障類型參數設置
將訓練集帶入到構建好的SDAE 模型中進行預訓練,得到在編碼和解碼后重構樣本與原始樣本之間的重構誤差,用于衡量自編碼器訓練效果。在預訓練過程中2個隱層所組成的自編碼器1、2的重構誤差變化如圖7、8 所示。從圖中可見,經過50 個Epoch 的訓練,重構誤差逐漸減小到較小值。

圖7 自編碼器1的重構誤差
在完成預訓練后,計算預測結果與實際故障類型之間的交叉熵損失,并將其作為損失函數用于通過反向傳播算法和隨機梯度下降方法反向微調模型的參數。反向微調誤差隨著Epoch的變化如圖9所示。從圖中可見,誤差很快減小到較小值0.0048并保持穩定。

圖9 反向微調誤差

圖8 自編碼器2的重構誤差
為了驗證本文提出方法的故障分類效果,構建了深度信念網絡(Deep Belief Network,DBN)、人工神經網絡(Artificial Neural Network,ANN)和支持向量機(Support Vector Machine,SVM)模型用于對比試驗。對比模型與SDAE 模型有相同的訓練集和測試集。其中針對多層神經網絡模型DBN 和ANN,其模型結構與SDAE 的相同,傳統的SVM 模型也與SDAE 模型有相同的輸入和輸出層節點。模型的參數設置和診斷正確率見表4。從表中可見,SDAE 的故障診斷正確率為99.5%。在相似的網絡結構下,與DBN和ANN模型相比,故障分類正確率分別提高了0.8%和6.9%;與經典機器學習方法SVM相比提高了10.1%。

表4 對比模型的參數設置與故障診斷正確率
(1)利用GSP仿真可以得到多種故障模式下的樣本,為故障診斷提供數據基礎;
(2)基于SDAE 的故障診斷模型能夠將降噪和降維功能集成到1個模型中,提高了模型的訓練效率;
(3)與其他模型相比,本文提出的SDAE 模型有較強的特征提取能力,能夠得到99.5%的故障診斷正確率,與深度信念網絡(DBN)、人工神經網絡(ANN)以及經典機器學習方法支持向量機(SVM)相比,分別提高了0.8%、6.9%和10.1%。
本文利用GSP仿真得到故障數據集,并考慮到實際運行環境中的噪聲干擾,使用SDAE 模型用于故障診斷,得到了較為準確的故障診斷結果。接下來需要從多故障類型、長時間序列、耦合故障模式等多方面綜合考慮,構建更加精準的、魯棒的、泛化的故障診斷模型。