張明楠,宮秀良,程 博,胡小梅*
(1.上海大學 機電工程與自動化學院 上海市智能制造及機器人重點實驗室,上海 200444;2.西北工業大學 網絡空間安全學院,陜西 西安 710072; 3.中國航天科工集團第六研究院六〇一所,內蒙古 呼和浩特 010076; 4.西北工業大學 計算機學院,陜西 西安 710072)
近年來,我國的航空航天事業和國防科技事業不斷發展,火箭發動機作為各種火箭和導彈的推進裝置,更是受到國家和行業的重點關注[1-2]。固體火箭發動機長期以來憑借著推力大、可靠性高、結構簡單、可貯存時間長以及維護和部署方便等優勢成為主要的發動機類型,普遍應用于戰略或戰術導彈、火箭彈及航天運載火箭上[3]。地面點火試驗是檢驗固體火箭發動機是否能夠滿足飛行要求的最直接有效的手段,一種型號的火箭發動機要進行數次的地面點火試驗來完成性能、安全、穩定、精度等方面的驗證[4-6]。由于固體火箭發動機具有造價高和運輸儲存要求高等特點,因此在地面點火試驗之前進行正確的性能預測對于實際試驗情況布置與處理、預測模型校正、固體火箭發動機研發設計、減少研發投用周期都有著至關重要的作用。
早期的固體火箭發動機主要是利用發動機在設計過程中的設計因素對性能參數中的比沖進行預測,主要是使用經驗法和綜合分析法,并且在使用綜合分析法的過程中依然需要經驗法的輔助[7]。隨著人工神經網絡的快速發展和普遍應用,近年來有人使用各種神經網絡以及相關的改進算法在火箭發動機預測方面進行了大量研究。許亮等[8]提出了一種改進粒子群優化的小波神經網絡對火箭發動機的故障進行預測。Yu等[9]提出了基于自適應遺傳算法優化的BP(Back Propagation,反向傳播)神經網絡來對傳感器數據進行實時預測,并基于收集的實際數據使用閾值判斷機制來對火箭發動機的故障情況進行判別。Zavoli等[10]使用深度前饋神經網絡對混合動力火箭發動機的性能進行預測,并使用訓練集驗證了模型的準確性和泛化能力。Zhou等[11]使用多種機器學習方法對固體推進劑破碎效率進行預測,結果表明機器學習技術是預測水射流影響固體推進劑破碎效率的有效工具。Sengupta等[12]使用自回歸貝葉斯模型來預測壓力幅值的變化,從而預測發動機的熱聲不穩定性。但由于預測模型結構較為簡單,優化算法不成熟等因素,使得模型存在預測精度低和泛化效果差等缺點,這也造成了無法充分利用相近型號試驗數據的問題。隨著科技的不斷發展,在地面試驗過程中越來越重視對飛行環境的模擬再現,然而現有模型的影響因素通常只考慮設計因素,并沒有考慮環境影響。為了解決上述問題,提高預測模型的精度和泛化能力,本文提出了LSTM-ECGRU(Long Short-Term Memory-Error Correction Gate Recurrent Unit,長短期記憶-誤差修正門控單元)模型對固體火箭發動機性能參數進行預測和誤差修正,并使用經過處理的數據進行試驗對比分析,驗證了此模型的預測效果和可靠性。
基于模擬高空試驗裝置的發展和應用,綜合考慮性能影響的全面性和地面試驗的預測準確性,本文引入環境影響因素,使其與設計因素同時作為模型的輸入參數。固體火箭發動機地面試驗數據具有歷史數據量較少、輸入參數較多、各參數間的復雜度較高和數據不平穩等特征,并且相似型號發動機的數據參數關聯較為密切,可以生成數據序列。而LSTM神經網絡在序列預測方面具有良好的應用效果,因此選擇使用LSTM神經網絡作為基礎模型進行性能預測[13-15]。同時,采用基于誤差修正分析和趨勢判斷的ECGRU神經網絡模型對LSTM模型的預測結果進行誤差修正。
為了能夠全面考慮數據影響和擴大影響參數范圍,綜合考慮固定性(設計)因素和非固定性(環境)因素對固體火箭發動機性能參數的影響,提出將設計參數(如裝藥質量、燃速、特征速度和喉部燃燒速度)與環境參數(如溫度和壓強)統一作為神經網絡的輸入參數進行性能預測。在神經網絡訓練和預測之前需要對輸入數據進行歸一化處理以消除各個輸入參數之間因量綱問題造成的影響,故設計因素和環境因素中的參數量都會被歸一化為統一范圍的數據后再進行神經網絡模型訓練和預測。但是,無論是在輸入參數中引入環境因素還是在后續的歸一化處理中消除量綱影響,環境因素都在一定程度上增加了數據復雜度和預測不確定性,性能預測結果也會受到相應的影響。
為了提高模型的預測精度、降低預測誤差,本文提出一種基于誤差修正分析的ECGRU神經網絡模型,基于LSTM模型輸入參數及預測結果的分析,設計并確定誤差影響因素,建立二次預測模型來對預測結果進行誤差修正。由于LSTM預測模型的輸出結果為推力和比沖這2個參數,并且ECGRU模型的輸入數據是基于這2個參數分別進行計算得到的,無法使用一個ECGRU模型同時對推力和比沖預測結果進行誤差修正,因此需要對這2個性能參數分別建立誤差修正模型。
ECGRU模型的輸出分別為推力誤差和比沖誤差,由于此模型建立的主要目的是消除環境因素引起的誤差,并且考慮到基礎模型采用的LSTM具有序列預測特性,因此二次神經網絡模型的輸入主要有3個變量:溫度差、壓強差以及推力波動或者比沖波動。
假設已經使用訓練數據對LSTM神經網絡預測模型進行了訓練和預測,則ECGRU神經網絡模型訓練數據求解示意圖如圖1所示。

圖1 ECGRU神經網絡模型訓練數據求解示意圖
ECGRU神經網絡模型輸入、輸出參數的訓練數據的計算過程如下。
① 輸入參數。首先,使用LSTM神經網絡訓練數據中當前序列時刻的溫度量減去前一時刻的對應溫度量(壓強同理),得到序列溫度差和序列壓強差,如圖1中左側中間部分所示。k序列時刻溫度差TD,k和壓強差PD,k的計算公式為
TD,k=Tk-Tk-1
(1)
PD,k=Pk-Pk-1
(2)
式中:Tk為k時刻LSTM模型訓練數據的溫度值;Pk為k時刻LSTM模型訓練數據的壓強值。
其次,使用k時刻的推力預測值減去前一時刻的推力真實值得到序列推力誤差,序列比沖誤差同理,如圖1中左側下方部分所示。k時刻序列推力誤差STE,k和序列比沖誤差SSIE,k的計算公式為
STE,k=TP,k-TT,k-1
(3)
SSIE,k=SIP,k-SIT,k-1
(4)
式中:TP,k為k時刻LSTM訓練數據的預測推力;TT,k-1為k-1時刻LSTM訓練數據的真實推力;SIP,k為k時刻LSTM訓練數據的預測比沖;SIT,k-1為k-1時刻LSTM訓練數據的真實比沖。
② 輸出參數。誤差修正預測模型的輸出參數為推力誤差值或者比沖誤差值,只需要使用LSTM預測模型的當前時刻預測值減去對應真實值便可以得到(此處的預測值是使用訓練數據預測得到的,并且在網絡中加入了Dropout層,防止在此過程中產生過擬合現象),如圖1中右側所示。k時刻推力誤差TE,k和比沖誤差SIE,k的計算公式為
TE,k=TP,k-TT,k
(5)
SIE,k=SIP,k-SIT,k
(6)
LSTM-ECGRU神經網絡主要包括2次神經網絡模型的建立。第1次建立的LSTM 模型是基礎的推力和比沖預測模型,主要是根據地面試驗數據劃分成的訓練數據和測試數據進行模型的訓練和性能參數的初步預測。在此過程中使用1個LSTM模型同時預測推力和比沖,即模型輸出參數的數量為2個。第2次建立的ECGRU模型是對推力誤差和比沖誤差的預測,由于在誤差預測過程中,使用的輸入參數不相同,因此需要建立2個ECGRU模型來分別預測推力誤差和比沖誤差。根據第1次LSTM模型中的訓練數據、測試數據和預測結果,經過計算得到ECGRU模型輸入參數數據和輸出參數數據,并且把這2份數據劃分成訓練數據和預測數據,從而進行ECGRU模型的訓練和推力誤差及比沖誤差的預測。最后,根據推力和比沖的不同計算方法用ECGRU模型的預測結果對LSTM模型的預測結果進行校正,從而提高整體的預測精度。
根據固體火箭發動機地面試驗數據集劃分30組訓練數據和30組測試數據,每組包括6個輸入(裝藥質量、燃速、特征速度、喉部燃燒速度、溫度和壓強)和2個輸出(推力和比沖)。LSTM-ECGRU神經網絡模型的處理流程如圖2所示。

圖2 LSTM-ECGRU神經網絡的處理流程圖
計算流程步驟如下。
(1) 劃分出30組訓練數據A和30組測試數據B。
(2) 搭建LSTM神經網絡模型,確定模型初始化參數,并根據A進行訓練得到LSTM模型1。
(3) 使用LSTM模型1基于A的輸入數據對輸出性能參數進行預測,得到50組性能預測值PA。
(4) 根據A和PA按1.1節得到推力誤差修正模型的訓練數據C和比沖誤差修正模型的訓練數據D。
(5) 搭建ECGRU推力誤差預測模型和ECGRU比沖誤差預測模型,確定相應的模型初始化參數,并根據訓練數據C、D進行相應的模型訓練,得到ECGRU推力誤差模型2和ECGRU比沖誤差模型3。
(6) 使用LSTM模型1對測試數據B進行性能預測,得到初步預測值:推力P1和比沖P2,并按照1.1節的方法求出ECGRU推力誤差模型2和ECGRU比沖誤差模型3分別對應的測試數據E、F。
(7) 使用ECGRU推力誤差模型2和ECGRU比沖誤差模型3對測試數據E、F進行誤差預測,得到推力誤差預測值PE1和比沖誤差預測值PE2。
(8) 基于LSTM模型和ECGRU模型得到預測值和預測誤差值后,根據這2個值求出最終的預測值。
① 對于推力參數,最終推力預測值PT為LSTM模型預測值(初始狀態的推力預測值P1)減去ECGRU模型預測值(推力誤差預測值PE1),即
PT=P1-PE1
(7)
② 對于比沖參數,經過多次測試后,發現式(7)無法對初始狀態的比沖預測值起到修正效果。因此提出了趨勢判斷法:結合數據特征和序列特征發現,當初始狀態預測比沖P2大于(小于)前一時刻實際比沖PT-1,A2時,如預測比沖誤差大于0,為了防止修正后數據過于發散導致誤修正,使用初始狀態預測比沖P2減預測比沖誤差PE2,反之同理。趨勢判斷法用于最終比沖預測值PSI的計算,計算公式為
(8)
在經過異常數據處理之后,最終能夠進行試驗的數據有120組(包括方法擴充后的數據,每組包括6個輸入參數和2個輸出參數)。為了能夠測試預測模型對不同數據的穩定性,使用了不同的數據進行了多次試驗,每次試驗訓練集和預測集的數量劃分為30組訓練樣本和30組預測樣本。每組對30個預測樣本進行預測后,根據相應的計算公式求出模型評價指標。本文使用了4種量化指標進行對比:平均絕對誤差(Mean Absolute Error,MAE)、平均絕對百分比誤差(Mean Absolute Percentage Error,MAPE)、均方根誤差(Root Mean Square Error,RMSE)和R2(R Squared)[16-17]。相關的計算公式為
(9)
(10)
(11)
(12)

同時使用BP神經網絡、廣義回歸神經網絡(General Regression Neural Network,GRNN)、LSTM神經網絡與LSTM-ECGRU模型進行對比,綜合9組數據預測評價結果的均值,得到的不同神經網絡模型在推力和比沖預測方面的平均結果對比如表1所示。

表1 不同神經網絡模型在推力和比沖預測方面的結果對比表
從表1中可以看出,BP神經網絡和GRNN在推力和比沖方面的整體預測結果都不如LSTM神經網絡和LSTM-ECGRU神經網絡,具有較大的差距。雖然LSTM神經網絡的整體預測效果已經較好,但LSTM-ECGRU神經網絡在推力和比沖方面的預測效果都有進一步的改善,整體預測精度有所提高。
本文結合LSTM模型和基于誤差修正分析及趨勢判斷的ECGRU神經網絡模型,提出了LSTM-ECGRU模型,同時將環境變量引入輸入參數,使研究人員能夠更全面地掌握各種因素對性能的影響變化。試驗結果表明:相比于BP、GRNN、LSTM這3種預測模型,LSTM-ECGRU模型效果更好、泛化能力更強、預測精度更高,充分驗證了LSTM-ECGRU模型的穩定性和實際應用價值。
雖然LSTM-ECGRU模型已經表現出了較好的預測效果,但是針對后續新試驗數據的補充以及新數據對模型性能預測的影響,LSTM-ECGRU模型還存在無法自動做出適應性結構調整的問題,這是未來進一步完善模型的目標和方向。