陳占國 薛 薇 許 亮
1.天津理工大學 電氣工程與自動化學院天津市復雜系統控制理論與應用重點實驗室,天津 300384 2.中國航天科技創新研究院,北京 100083
在上世紀,紅線閾值系統是火箭發動機的主要保護系統,如果測量值超過了幾個參數中的任何一個預先確定的運行限制,就會發出引擎關閉信號,從而關閉發動機引擎。對于航天飛機主發動機(SSME),在主級期間會監控7個關鍵的發動機參數,這些參數的限值被設定在影響發動機安全運行的水平。然而,僅依靠這一系統,就會導致發動機過早熄火,原因是正常的漂移可能引起紅線參數的變化。因此為了進一步加強安全監測,并實現更早的故障檢測,90年代NASA提出了火箭發動機健康管理系統(HMSRE)的框架。HMSRE能夠解決現有系統無法充分檢測到故障模式的問題,使發動機受到最小的損傷,得到最大的收益。
2002年,國防科技大學的趙永學等[1]提出了基于羽流發射光譜的故障檢測技術。這項技術有非接觸和高靈敏度等特點,適合作為發動機的健康監控及故障診斷技術。2003年,哈爾濱工業大學龍兵等[2]研究了航天器集成健康管理的基本概念,提出了航天器健康管理系統的開發方案。
近年來,利用神經網絡、聚類分析、模糊數學、專家系統、云計算方法等技術進行故障檢測與診斷的研究取得了優異的成績[3]。2009年李睿等[4]結合虛擬儀器語言和快速原型化技術的優點,構建了航空發動機故障診斷算法仿真平臺,有效解決了故障算法硬件在回路仿真過程中存在的一些問題。2010年黃強等[5]研究了基于云-神經網絡的液體火箭發動機故障檢測方法,但是基于神經網絡的故障檢測方法需要大量數據進行訓練,而實際樣本數據往往十分有限。2011年竇唯等[6]針對渦輪泵故障診斷方法只能在有樣本數據并且樣本數據充足的情況下才能進行準確診斷的缺點,提出一種適用于渦輪泵在線監測及診斷的方法,可用于故障樣本少的航空航天設備的故障檢測。2011年尹俊等[7]對卡爾曼濾波故障診斷方法和神經網絡故障診斷方法進行融合從而提高了故障診斷的準確率和可靠性。2016年吳建軍等[8]提出了利用動態云反向傳播神經網絡進行液體火箭發動機故障診斷的方法,優點是可正確檢測和分類故障,對噪聲具有較高的魯棒性,同時運行時間短,滿足液體火箭發動機故障診斷的實時性要求。2020年Park等[9]將深度學習用于液體火箭發動機故障檢測與診斷中,該方法有較好的分類性能和較強的適用性。2020年董周杰等[10]提出了一種基于數據驅動的綜合模糊聚類算法用于液體火箭發動機故障診斷,能夠準確及時地檢測出故障并隔離故障。2021年王珺等[11]提出了一種卷積自編碼器的液體火箭發動機健康狀態智能檢測方法,該方法能夠監測整機及各部件的健康狀態和退化趨勢,但是準確率稍低。2022年趙萬里等[12]提出了一種基于時間序列分析的故障診斷方法,該方法可對故障的傳感器進行有效判斷,同時運行時間短,具有良好的工程應用價值。2022年楊懿等[13]利用Hilbert-Huang變換進行液體火箭發動機渦輪泵的故障分析,該方法可分析火箭發動機和其他組合件的試驗數據并對故障定位。
上述方法都比傳統的紅線閾值監測進步了很多,體現了不同程度的智能、魯棒和準確等性能,是現代智能方法在火箭動力系統故障檢測中的成功應用。但是現今的智能算法大多都存在需要充足故障訓練樣本、預測時間長、分類準確率有待繼續提高等問題。針對以上問題,本文提出了一種實時性好、準確略高、需求樣本少的具有工程應用價值的故障診斷方法。
由于智能優化算法原理和機理的不同,其結果在不同的應用中會有差距。在實踐中,選擇與支持向量機相結合的優化算法值得考慮。PSO算法是Kennedy等[14]觀察追蹤鳥群捕食情況提出的全局搜索算法,PSO-SVM模型即采用粒子群算法對支持向量機的懲罰因子和核函數參數進行優化的模型。相較于PSO-SVM模型容易陷入局部最優的缺點,松鼠搜索算法優化(SSA)是一種新的優化算法,算法中加入了季節性監測條件,用松鼠搜索算法優化與支持向量機結合,有助于避免尋優計算陷入局部極值,同時使模型具有收斂速度快、精度高的優點。SSA算法簡單且有效,實驗仿真結果表明,SSA的性能優于目前流行的優化算法。本文將SSA算法與SVM相結合。用松鼠搜索算法優化支持向量機的參數,提高支持向量機的分類精度。
2020年國防科技大學的吳建軍等總結了液體火箭發動機故障診斷方法[15]。根據所使用信息類型的不同,將其分為3類:基于模型驅動的方法、基于數據驅動的方法和基于人工智能的方法。
1.1.1 基于模型驅動的方法
基于模型驅動的故障檢測與診斷方法,主要包括基于解析模型的方法和基于定性模型的方法。
基于解析模型的方法,其基本原理是以解析方程將系統的輸入、狀態和輸出的內在規律表示出來,從而建立的數學模型。
基于定性模型的方法,其基本原理是根據系統組成元件之間的連接建立診斷系統的結構、行為或功能上的定性模型。
1.1.2 基于數據驅動的方法
基于數據驅動的方法主要是根據系統的輸出與故障之間的聯系,分析處理發動機的測量輸出信號,以此判斷故障是否存在及故障發生的位置。基于數據驅動的方法主要包括統計分析、主成分分析、獨立分量分析、小波分析和羽流光譜分析、最小領域方法、支持向量機和聚類方法等。
1.1.3 基于人工智能的方法
基于人工智能的方法主要包括專家系統、人工神經網絡和模糊理論等方法。
綜上,相較于基于模型驅動方法建立復雜精確的數學模型困難重重或計算成本巨大難以實現,基于數據驅動的方法和基于人工智能的方法將研究對象作為黑箱處理,計算簡單,容易實現。
考慮到新一代大推力液體火箭發動機具有關鍵部件多且大多處于高溫、高壓、強振動的極致環境中,建立合理精確的數學模型是個困難的問題。因此本文選擇智能優化算法與基于數據驅動的方法中的支持向量機作為液體火箭發動機故障診斷的分析方法。
松鼠搜索算法是一種新的自然啟發優化范算法,由M.Jain、V.singh、A.Rani于2018年提出[16]。
在松鼠的搜索過程中,有以下4個必要假設:假設1,落葉林中有n只松鼠和相同數量的樹,松鼠均勻分布在每棵樹上。假設2,每只松鼠都有一種動態的覓食行為,它們各自尋找食物,并優化利用現有的食物資源。假設3,森林里只有3種樹,山核桃有最好的食物來源(山核桃堅果),橡子樹有一般的食物來源(橡子堅果)。假設4,認為森林只存在4顆擁有食物資源的樹,其中包括3顆橡樹(即算法尋求的次優解)和1顆山核桃樹(即算法尋求的最優解),普通樹沒有食物資源。其中dg是松鼠在樹間跳躍的滑行距離,R1、R2、R2是[0,1]范圍內的隨機數。FSht、FSat、FSnt分別是松鼠到達山核桃樹、橡樹和普通樹的位置。t是迭代次數。Gc是數學模型中的滑動常數,經過嚴格分析,其值設為1.9。Pdp表示捕獵者存在概率,如果R的值大于捕獵者存在概率,松鼠是安全的。如果小于,則有被捕食的風險,松鼠進行隨機行走[17]。
1)當松鼠由橡樹向山核桃樹移動時位置更新如下:
(1)
2)當松鼠由普通樹向橡樹移動時位置更新如下:
(2)
3)當松鼠由普通樹向山核桃樹移動時位置更新:
(3)
不同季節的氣溫會影響松鼠覓食的活躍程度。該算法中提出了季節性監測條件,有助于算法跳出局部最優。
4)計算季節變量Sc
(4)
(5)
其中:t為當前迭代次數,tm是最大迭代次數。Smin為影響算法的勘探和開發能力。

(6)
萊維分布(Levy distribution)有助于更高效的空間探索。
(7)
其中:ra和rb是[0,1]區間上的符合正態分布的隨機數。β是小于2的正常數,σ計算公式如下:
(8)
7)松鼠在山核桃樹的位置即最終的最優解。SSA算法流程圖如圖1所示:

圖1 SSA算法流程圖
SVM 最早在1963年提出,現在用的SVM是1993年提出,并在1995年發表的版本。支持向量機是比較成熟的分類算法之一。它在分類問題中具有良好的性能。與KNN和多層感知器等其它傳統分類算法相比,SVM的計算復雜度更低。近年來,隨著大數據時代的到來,深度學習已成為研究熱點。SVM在機器學習中,被認為是深度學習問世前性能最優的算法。與深度學習相比,SVM仍具有一定的競爭力。支持向量機最大的特點是它不是黑箱方法,具有堅定的數學理論基礎,而且SVM還有參數較少,易于調整的優點[19]。
標準支持向量機使用線性回歸來擬合訓練數據,假設訓練集是:
S={(xi,yi)|i=1,2…,n},xi是輸入,yi是輸出,n是樣本數?;貧w函數為:
f(x)=ωTx+b
(9)
其中:ω是權向量,b是偏差。ω和b是通過求解最優問題得到的:
(10)
上述公式需滿足以下條件:
(11)


表1 常用核函數表
核函數首先可以通過先驗知識選取。如圖像分類,一般采用高斯徑向基核函數。其次,可以在嘗試不同類型的核函數之后,再按照結果準確度判斷。本文將根據先驗知識,選擇RBF作為核函數。
利用拉格朗日方程組可以把優化問題轉換為二次規劃問題,轉換式(12)和(13):

(12)
s.t.
(13)
得到基于核函數的SVM回歸方程為:
(14)
懲罰因子(c)和核函數參數(g)是支持向量機的2個重要參數,這2個參數的選擇對分類結果有很大影響。
SVM結構如圖2所示:

圖2 支持向量機結構圖
采用SSA算法優化支持向量機,SSA-SVM模型建立過程如圖3所示,具體執行流程如下:

圖3 SSA-SVM診斷流程
(1)導入數據,對數據進行預處理,將數據分為測試集和數據集兩組;
(2)將支持向量機中核函數參數和懲罰因子作為松鼠搜索算法的位置向量,設置松鼠搜索算法參數,初始化松鼠種群與位置參數;
(3)確定支持向量機模型,并設置參數;
(4)計算松鼠個體適應度,并對種群進行分類;
(5)根據式(1)、(2)、(3)和(4)更新松鼠個體位置;
(6)更新松鼠適應度與最大迭代次數,判斷是否達到終止條件。如果達到,則執行下一步,否則返回第3步;
(7)輸出最佳參數,建立預測模型;
(8)執行預測模型,得到最佳分類結果。
本次實驗輸入數據來自于表2的部分監測參數,利用某型號液體火箭動力系統846組數據進行仿真實驗,采用MATLAB R2016a作為仿真軟件。846組數據分別為6種故障類型,每種類型的數據集數量相同。分別取各類型的113組數據作為訓練集,28組數據作為測試集。輸出1,2,3,4,5,6分別代表以下故障類型:渦輪泵端面密封泄露、熱燃氣集合器傳遞管破裂、波紋管失效、冷卻夾套堵塞、渦輪葉片損壞、液管路受損泄露。

表2 動力系統參數檢測表
算法參數設置如下:松鼠種群數為10,最大迭代次數為100,滑動常數Gc=1.9,捕食者存在概率Pdp=0.1。在給定參數條件下,運行得到最優核函數參數與懲罰因子,結果分別為:g=0.6469,c=3.8295。
對SVM、經過粒子群算法優化的SVM(PSO-SVM)、經過松鼠搜索算法優化的SVM(SSA-SVM)進行仿真結果對比。
SSA-SVM的誤差分布圖如圖4所示:

圖4 SSA-SVM模型誤差分布
由圖4可知,利用SSA-SVM模型對測試集進行分類,分類錯誤個數為4個。為增加SSA-SVM模型可信度,本文將SSA-SVM模型與SVM模型和PSO-SVM模型的結果進行了對比。對比模型PSO-SVM誤差分布如圖5所示:

圖5 PSO-SVM模型誤差分布圖
由圖5可知,PSO-SVM模型預測誤差增加為6個,分類效果低于SSA-SVM模型。SVM的誤差分布如圖6所示。

圖6 SVM模型誤差分布圖
由圖6可明顯看出,單純的SVM模型分類錯誤率遠遠大于PSO-SVM與SSA-SVM模型。
綜上所述,由圖4~6可知,在168個測試集中SVM模型分類錯誤個數為11個。PSO-SVM模型的分類錯誤個數為6個,而基于SSA-SVM模型的液體火箭動力系統的故障診斷錯誤個數為4個。張偉星[20]等使用BP神經網絡進行故障檢測的誤差率為0.025。4種模型誤差對比如表3所示,SSA-SVM模型的測試集的分類錯誤率降低到0.0238。說明本模型在液體火箭動力系統故障診斷中有較高的準確率,可以應用在液體火箭動力系統的故障診斷中。

表3 四種模型分類準確率對比
給出了一種松鼠搜索算法(SSA)優化支持向量機(SVM)的故障診斷方法,將支持向量機的兩個重要參數懲罰因子和核函數作為松鼠搜索算法中的位置矢量,由輸出的最佳參數構成SSA-SVM預測模型,然后使用該模型對液體火箭動力系統故障進行診斷,得出以下結論:
1)利用智能優化算法的尋優思想,可以有效優化SVM的核函數參數和懲罰因子,構建出最優的SSA-SVM模型,提高模型的分類準確度。
2)與SVM模型、PSO-SVM模型相比,SSA-SVM模型最終分類準確度最高,能更準確地識別液體火箭動力系統故障。