石業(yè)輝,程玉強,高玉閃,鄧凌志
(1.國防科技大學(xué) 空天科學(xué)學(xué)院,湖南 長沙 410073;2.西安航天動力研究所,陜西 西安 710100)
隨著我國航天事業(yè)的不斷發(fā)展,航天器的安全問題就顯得尤為重要,航天器潛在的安全隱患是實際應(yīng)用面臨的最大挑戰(zhàn)。發(fā)動機是液體火箭飛行動力的核心,其不僅結(jié)構(gòu)非常復(fù)雜,而且工作條件極其惡劣,包括高溫、高壓、高頻振蕩等[1]。在這種情況下,任何微小的異常都可能迅速發(fā)展成具有極大破壞性的故障[2],導(dǎo)致發(fā)射失敗,并造成巨大的損失。對于大多數(shù)液體火箭發(fā)動機來說,由于成本、性能的限制以及特殊失效試驗[3]的危險性,可用于故障模式和故障響應(yīng)分析的試驗數(shù)據(jù)很少。因此,考慮到液體火箭發(fā)動機故障診斷系統(tǒng)開發(fā)周期長,且測試數(shù)據(jù)和故障樣本不足,導(dǎo)致無法覆蓋所有故障模式[4],迫切需要設(shè)計更加高效的實時仿真測試方法。
對于所有的仿真測試方法,主要的挑戰(zhàn)是確保仿真可信度[5],即讓人相信仿真結(jié)果與現(xiàn)實實驗一樣真實。仿真可信度(與真實系統(tǒng)相比)主要由2 方面決定:平臺可信度和模型可信度[6]。平臺的可信性可以進一步分為硬件可靠性和軟件可靠性。標準的仿真設(shè)備可以保證硬件的可靠性[7],然而軟件可信度和模型可信度仍然是仿真測試方法的挑戰(zhàn)?;谀P偷脑O(shè)計(Model-Based Design,MBD)[8]方法采用模塊化可視化編程技術(shù)[9]和代碼自動生成技術(shù)對復(fù)雜的建模、開發(fā)和測試程序進行標準化[10],是解決軟件可信度和模型可信度問題的有效手段。該方法消除了人工編程疏忽和開發(fā)過程不規(guī)范等干擾因素,保證了軟件的可信度。
動態(tài)系統(tǒng)仿真[11]是在虛擬環(huán)境[12]中實現(xiàn)動力學(xué)系統(tǒng)整機、部件或系統(tǒng)的高精度、高保真度的多學(xué)科耦合數(shù)值仿真。實時仿真平臺將這些數(shù)值仿真與物理模型結(jié)合起來進行聯(lián)合仿真[13]。近年來,提出了許多測試方法來全面測試液體火箭發(fā)動機的安全性。單勇[14]對于半實物仿真平臺關(guān)鍵技術(shù)進行了研究,為后續(xù)研制實時性好、可滿足未來各種大型復(fù)雜系統(tǒng)要求的新一代實時仿真平臺打下基礎(chǔ)。趙萬里等[15]采用快速成型方法構(gòu)建了火箭發(fā)動機故障診斷實時仿真平臺。薛薇等[16]搭建了液體火箭發(fā)動機實時半實物仿真平臺,驗證了改進的ARMA 算法。高精度建模和系統(tǒng)識別方法[17]正成為航天領(lǐng)域的趨勢,不僅提高了整個模型的開發(fā)效率和準確性,而且使得仿真結(jié)果的驗證過程非常直觀,大幅縮短了整個開發(fā)周期[18]。
本文以某大型液氧煤油發(fā)動機為研究對象,為獲得足量故障樣本數(shù)據(jù),搭建了數(shù)字化仿真平臺,主要研究內(nèi)容包括:①模塊化建模方法。由于液體火箭發(fā)動機結(jié)構(gòu)復(fù)雜,其工作過程又包括了復(fù)雜的燃氣流動、軸承等的高速旋轉(zhuǎn)、燃燒過程等。因此,直接建立發(fā)動機動力學(xué)仿真模型難度較大。基于此,采用模塊化建模思想,將發(fā)動機的總體結(jié)構(gòu)看作是由不同模塊聯(lián)結(jié)起來的復(fù)雜系統(tǒng)。② 實時數(shù)字化仿真平臺。搭建了實時仿真平臺,并詳細說明了該平臺結(jié)構(gòu)組成以及開發(fā)流程。③實時仿真平臺測試。對于該實時仿真平臺的操作系統(tǒng)進行實時性以及數(shù)值方法的實時性影響進行測試,并對模型進行實時故障仿真測試。
針對某大型液氧煤油發(fā)動機搭建了發(fā)動機仿真模型。該型號發(fā)動機主要由高壓推力室、高揚程大功率主渦輪泵、高壓大流量富氧燃氣發(fā)生器、預(yù)壓渦輪泵、閥門、調(diào)節(jié)器和總裝組件等構(gòu)成,發(fā)動機的系統(tǒng)組成結(jié)構(gòu)如圖1 所示。
圖1 發(fā)動機系統(tǒng)組成結(jié)構(gòu)Fig.1 Component structure of the engine system
通常,構(gòu)成液體火箭發(fā)動機的同類組件結(jié)構(gòu)與功能較為相似,因此其數(shù)學(xué)描述在形式上具有一致性[19],從而使得不同型號的發(fā)動機具有許多共同的故障模式,可為后續(xù)其他發(fā)動機的仿真驗證提供參考。常見發(fā)動機故障包括燃燒室燃氣泄漏、氧化劑泵前管路堵塞、氧化劑泵前管路泄漏、燃燒室燒蝕、發(fā)生器燃氣泄漏、主渦輪轉(zhuǎn)子損壞、渦輪葉片燒蝕、主渦輪軸承被卡住、主渦輪葉片斷裂和氧渦輪輪緣脫落等。因此按照模塊化建模思想,搭建主渦輪、燃氣發(fā)生器、燃氣導(dǎo)管、燃燒室、液渦輪(燃料預(yù)壓渦輪)、燃料預(yù)壓泵、燃料一級泵、燃料二級泵、氧化劑預(yù)壓泵、氧化劑預(yù)壓渦輪、氧化劑泵和流量調(diào)節(jié)器等可以完成獨立物理功能且具有數(shù)學(xué)獨立性的模塊組件,不僅有利于共享故障模式和安全設(shè)計經(jīng)驗,而且具有結(jié)構(gòu)清晰、計算效率高和可擴展性強等特點。若將發(fā)動機的每一個部件均視為具有一定輸入輸出關(guān)系的基本部件模塊[20],其一般數(shù)學(xué)模型可表示為
式中:X=(x1,x2,x3,…)T為部件模塊的狀態(tài)變量;U=(u1,u2,u3,…)T為輸入變量;Y=(y1,y2,y3,…)T為輸出變量;D為部件間數(shù)學(xué)模型參數(shù);F為故障因子,表征組件的故障狀態(tài);H(·)與G(·)為部件模型的函數(shù)關(guān)系,相應(yīng)的模塊元件如圖2 所示。
基于以上方法,分別建立了液渦輪模型、燃氣渦輪模型、泵模型和熱力組件模型等發(fā)動機各部件數(shù)學(xué)模型。建好的模型組件如圖3 所示。
圖3 模型組件圖Fig.3 Diagram of the model components
基于Matlab/Simulink 軟件,將建好的模型組件按照動力學(xué)系統(tǒng)的聯(lián)結(jié)關(guān)系,采用適當?shù)姆绞桨迅鱾€組件連接在一起,完成發(fā)動機動力學(xué)仿真模型構(gòu)建。由于在建模過程中,對模型進行了一定的簡化,為驗證該模型精度,給出了發(fā)動機主渦輪轉(zhuǎn)速、燃燒室壓力在額定工況下的仿真數(shù)據(jù)與試車數(shù)據(jù)的比較結(jié)果,如圖4 所示。結(jié)果顯示:發(fā)動機的仿真結(jié)果與試車結(jié)果吻合較好,但各項參數(shù)值都略大于試車結(jié)果。其中,發(fā)動機主渦輪轉(zhuǎn)速吻合最好,燃燒室壓力相比試車結(jié)果大約高2.6%。結(jié)果表明,該仿真模型精度較高,可滿足需求。
圖4 模型的仿真結(jié)果與試車結(jié)果對比Fig.4 Comparison of the simulation and test results for the model
根據(jù)液體火箭發(fā)動機模型特點,搭建的實驗平臺主要由4 部分組成:實時仿真設(shè)備、各種接口設(shè)備、測試開發(fā)主機、仿真系統(tǒng)網(wǎng)絡(luò)。
實時仿真設(shè)備,運行實時操作系統(tǒng),以保證仿真系統(tǒng)與實際系統(tǒng)的運行速度一致,其主要功能是對動力學(xué)模型進行解算,在沒有實物的情況下實時模擬液體火箭發(fā)動機的工作全過程并輸出監(jiān)測參數(shù)。接口設(shè)備主要有模擬量接口和數(shù)字量接口等,其作用為實現(xiàn)軟硬件間的實時通訊。測試開發(fā)主機,是對整個仿真過程進行管理和調(diào)度,實現(xiàn)仿真的啟??刂啤⒐收献⑷?、數(shù)據(jù)可視化以及變量參數(shù)配置等功能,方便研究人員實時監(jiān)視模型的狀態(tài)參數(shù)變化,為后續(xù)數(shù)據(jù)存儲、數(shù)據(jù)回放和數(shù)據(jù)后處理打下基礎(chǔ)。仿真系統(tǒng)網(wǎng)絡(luò)主要包括交換式千兆以太網(wǎng)與反射內(nèi)存卡2 部分。其中,交換式千兆以太網(wǎng)的作用主要包括:試驗前將預(yù)先生成的各種數(shù)據(jù)文件發(fā)送給仿真計算機,試驗過程中進行一些準實時操作,試驗后對生成的數(shù)據(jù)進行收集與處理。反射內(nèi)存卡主要用于仿真過程中實時數(shù)據(jù)的傳輸。
實時仿真設(shè)備以links-RT 為實時仿真平臺,搭建發(fā)動機實時仿真環(huán)境,發(fā)動機仿真計算機采用上位機和下位機結(jié)構(gòu)。上位機是以RT-sim 為主控軟件的開發(fā)主機,通過以太網(wǎng)監(jiān)控實時仿真機的狀態(tài),支持在線修改參數(shù)和存儲實時數(shù)據(jù)。下位機作實時仿真計算機,用于模擬發(fā)動機的不同工作狀態(tài)。與此同時,由于實時仿真要求仿真系統(tǒng)中各節(jié)點時間一致,因此上位機還負責匹配發(fā)動機實時仿真接口和數(shù)據(jù)采集卡的硬件通信通道。最后,實時發(fā)動機模型的輸出通過軟硬件通信接口輸出數(shù)據(jù)和控制指令傳輸?shù)侥M輸出系統(tǒng)。上位機和下位機之間通過TCP/IP 通訊連接。系統(tǒng)實時仿真硬件平臺如圖5 所示。發(fā)動機仿真計算機結(jié)構(gòu)如圖6所示。
圖5 硬件平臺示意圖Fig.5 Hardware platform diagram
圖6 仿真計算機結(jié)構(gòu)圖Fig.6 Diagram of the simulation computer structure
構(gòu)建的實時仿真平臺以Links-RT 為核心,利用Matlab/Simulink 軟件進行建模,結(jié)合VxWorks 操作系統(tǒng)實現(xiàn)閉環(huán)仿真迭代過程,其主要工作流程為:①基于模塊化建模與仿真思想,利用Matlab/Simuink 軟件建立液體火箭發(fā)動機燃燒室、液渦輪模型、燃氣渦輪模型、泵模型和熱力組件模型等不同狀態(tài)下的模型組件;② 根據(jù)發(fā)動機各組件之間的關(guān)聯(lián)關(guān)系進行連接,并進行離線仿真,保證模型的可行性以及準確度;③根據(jù)通用實時仿真平臺Links-RT 硬件驅(qū)動模塊的要求拆分和添加通道初始化模塊和下位機同步模塊等I/O 硬件接口,滿足數(shù)字化仿真平臺的軟硬件實時通信要求;④ 將修改后的動態(tài)模型通過Microsoft Visual C++2015 編譯器[21]轉(zhuǎn)換成實時仿真機可識別的C/C++文件,并通過實時以太網(wǎng)下載到實時仿真計算機中;⑤ 通過主控軟件RT-sim 設(shè)置實時仿真計算機的屬性參數(shù)并部署對應(yīng)目標機,分別選擇需要監(jiān)視、記錄及編輯的變量參數(shù)并保存,為后續(xù)實時仿真做準備;⑥ 運行仿真系統(tǒng),通過監(jiān)視面板實現(xiàn)對變量參數(shù)的在線監(jiān)視與修改,以獲取不同工況下的仿真數(shù)據(jù);⑦ 對生成的實時仿真數(shù)據(jù)進行歸一化處理,完成實時存儲數(shù)據(jù)上傳、格式轉(zhuǎn)換和數(shù)據(jù)回放等功能。
實時操作系統(tǒng)是保證在一定時間限制內(nèi)完成特定功能的操作系統(tǒng)[22]。是指當外界有事件或數(shù)據(jù)產(chǎn)生時,能夠快速接收并對其進行處理,處理之后產(chǎn)生的結(jié)果又能在限定的時間內(nèi)對處理系統(tǒng)做出快速響應(yīng)或控制生產(chǎn)過程,并控制所有實時任務(wù)協(xié)調(diào)一致運行的操作系統(tǒng)[23]。
為了更好地衡量操作系統(tǒng)任務(wù)切換精度,需借助函數(shù)接口編寫一段C 語言程序以利用系統(tǒng)定時器寄存器值計算時間間隔,從而實現(xiàn)對操作系統(tǒng)的時鐘時長統(tǒng)計[24]。在時鐘時長統(tǒng)計過程中,sysRateGet=60 是指當前系統(tǒng)時鐘節(jié)拍(Ticks)設(shè)定值為60;taskDelay(30):delaytime=500 000 是指延時30 個系統(tǒng)時鐘節(jié)拍所用耗時為500 000 μs。結(jié)果表明,該操作系統(tǒng)具有良好的實時性,滿足實時性需求。
該實時仿真平臺,是基于反射內(nèi)存卡實現(xiàn)數(shù)據(jù)的實時通信,數(shù)據(jù)文件的實時可靠傳輸是整個仿真系統(tǒng)的關(guān)鍵,決定著仿真效果的準確程度。反射內(nèi)存卡通過內(nèi)存映射的方式實現(xiàn)數(shù)據(jù)的高速傳輸[25],根據(jù)仿真過程中對數(shù)據(jù)傳輸?shù)男枨?,對反射?nèi)存卡的數(shù)據(jù)傳輸可靠性進行了相關(guān)測試。
實時網(wǎng)絡(luò)在傳輸數(shù)據(jù)的時候,需要盡可能保證數(shù)據(jù)的可靠性,通常情況下可通過比對初始數(shù)據(jù)和所接收到的數(shù)據(jù),來判斷鏈路中數(shù)據(jù)傳輸?shù)目煽啃裕?6]??煽啃詼y試步驟如下:
1)上位機讀取數(shù)據(jù)文件;
2)開始測試,上位機向下位機發(fā)送讀取的數(shù)據(jù)文件;
3)下位機接收并讀出數(shù)據(jù),與原始數(shù)據(jù)進行對比,記下錯誤數(shù)據(jù)數(shù)量,然后將接收到的數(shù)據(jù)反饋給上位機;
4)上位機讀出反饋回來的數(shù)據(jù),與原數(shù)據(jù)進行對比,同樣記下錯誤數(shù)據(jù)的數(shù)量;
5)通過一一比對每個讀出的數(shù)據(jù)與原數(shù)據(jù)的差別,就可以計算出本次傳輸數(shù)據(jù)的錯誤率,即數(shù)據(jù)誤碼率,從而得出該鏈路的數(shù)據(jù)傳輸是否可靠。
經(jīng)過上百次的重復(fù)測試,并對數(shù)據(jù)進行一一對比后發(fā)現(xiàn)錯誤數(shù)據(jù)即數(shù)據(jù)傳輸?shù)恼`碼率為零,驗證了該實時網(wǎng)絡(luò)具有極高的可靠性。
該平臺要求為實時仿真,能在一個采樣周期內(nèi)完成全部的計算任務(wù),這就需要一種可以快速計算數(shù)值的方法。測試是在2.8 GHz 雙核CPU 計算機上進行的,基于相同仿真環(huán)境和同一模型,分別采用牛頓迭代法及外推法、Runge-Kutta 法和Bocki-Shampine 法等3 種不同數(shù)值計算方法,對仿真結(jié)果的準確程度以及實時性的影響進行了測試與分析,并對測試數(shù)據(jù)進行歸一化處理,其結(jié)果如圖7 所示,解算時長見表1。結(jié)果表明:牛頓迭代法及外推法的結(jié)果與離線仿真基本一致,誤差較小,并且其實時性滿足仿真需求;Runge-Kutta 法雖然解算時間較短,實時性較好,但其仿真結(jié)果易發(fā)散,誤差較大;Bocki-Shampine 法在實時性方面具有巨大優(yōu)勢,但不能完全正確解算模型輸出。故綜合來看,本文所用方法——牛頓迭代法及外推法所測的數(shù)據(jù)更加真實,滿足該仿真實時性以及準確性要求。
圖7 數(shù)值方法準確性對比Fig.7 Accuracy comparison of the numerical methods
表1 解算時間Tab.1 Resolving time
為驗證該平臺的準確性,給出了變工況條件下,燃燒室壓力與主渦輪轉(zhuǎn)速仿真結(jié)果與試車結(jié)果的比較情況,如圖8 所示。
圖8 數(shù)字化仿真平臺仿真結(jié)果與試車結(jié)果對比Fig.8 Comparison of the simulation and test results for the digital
根據(jù)試車結(jié)果,對仿真模型設(shè)置了相應(yīng)的工況轉(zhuǎn)換時間與幅度。即:由啟動過程轉(zhuǎn)為額定工況,在20 s 的時候轉(zhuǎn)為高工況額定混合比,40 s 的時候轉(zhuǎn)為高工況高混合比,80 s 的時候又轉(zhuǎn)為高工況額定混合比,最終在90 s 時轉(zhuǎn)為額定工況直至正常關(guān)機。結(jié)果表明,該平臺精度較高,可滿足實際需求。
對于液體火箭發(fā)動機多種典型故障進行實時仿真并在所實現(xiàn)的實時仿真系統(tǒng)中設(shè)置相應(yīng)的轉(zhuǎn)換工況時間和幅度,得到相應(yīng)的變工況過程實時仿真結(jié)果,同時實時采集24 個相關(guān)參數(shù)。其中,采集參數(shù)包括壓力、溫度、流量和轉(zhuǎn)速等多種類型,具體參數(shù)及其含義見表2。最后采用Minmax 方法,對采集的不同工況下的各個參數(shù)進行歸一化處理。發(fā)動機正常工況、燃燒室燃氣泄漏故障以及故障注入發(fā)生器燃氣泄漏故障時,所監(jiān)測參數(shù)的變化情況如圖9~11 所示。
表2 參數(shù)符號表Tab.2 Parameter symbol table
4.2.1 正常工況實時仿真結(jié)果分析
在發(fā)動機工作過程中,設(shè)定3 個不同轉(zhuǎn)換工況調(diào)節(jié)點:額定工況工作點、低工況工作點和高工況工作點。發(fā)動機工作40 s 時,實現(xiàn)額定工況向高工況的轉(zhuǎn)變;發(fā)動機工作60 s 時,實現(xiàn)高工況向低工況的轉(zhuǎn)變;發(fā)動機工作80 s 時,實現(xiàn)低工況向額定工況的轉(zhuǎn)變。參數(shù)變化情況如圖9 所示。
圖9 正常工況下實時仿真結(jié)果Fig.9 Real-time simulation results under normal working conditionsr
4.2.2 燃燒室燃氣泄漏故障實時仿真結(jié)果分析
發(fā)動機發(fā)生燃燒室燃氣泄漏故障時,各監(jiān)測參數(shù)相對于其正常值的變化情況如圖10 所示。
圖10 燃燒室燃氣泄漏故障仿真結(jié)果Fig.10 Simulation results of the gas leakage fault of the combustion chambe
其中,燃料一級泵出口壓力增大,燃料一級泵入口壓力減小,燃料預(yù)壓泵流量大幅度增大,燃料預(yù)壓泵入口壓力有所增大,燃燒室入口燃料流量大幅度增大,燃氣發(fā)生器入口氧化劑流量增大,燃氣發(fā)生器壓力增大,氧化劑泵流量增大,氧化劑預(yù)壓泵流量增大,氧化劑預(yù)壓泵入口壓力和出口壓力均減小,氧化劑泵入口壓力減小,主渦輪轉(zhuǎn)速增大,液渦輪轉(zhuǎn)速與氧化劑預(yù)壓泵渦輪轉(zhuǎn)速均減小,主渦輪扭矩大幅度增大,燃燒室溫度降低。
4.2.3 燃氣發(fā)生器燃氣泄漏故障實時仿真結(jié)果分析
當仿真運行到13.6 s 時,通過在線故障注入手段,實現(xiàn)了燃氣發(fā)生器燃氣泄漏故障仿真。圖11 為發(fā)生該故障時,各個參數(shù)相對于正常工況下的變化情況。故障注入之前,各監(jiān)測參數(shù)均未發(fā)生波動。在故障注入的瞬間,參數(shù)大多發(fā)生了激烈變化,燃料二級泵入口壓力突然減小,燃料預(yù)壓泵入口壓力和出口壓力均突然減小,燃燒室壓力與溫度均突然減小,氧化劑泵入口壓力突然減小,氧化劑泵出口壓力突然增大,氧化劑泵預(yù)壓泵入口壓力突然減小,氧預(yù)壓渦輪轉(zhuǎn)速突然減小,主渦輪轉(zhuǎn)速突然增大。
圖11 燃氣發(fā)生器燃氣泄漏故障注入特性分析Fig.11 Analysis of the gas leakage fault injection characteristics of the gas generator
通過實時仿真不同工況下的發(fā)動機狀態(tài),驗證了該平臺可以提供高保真可信的仿真結(jié)果,有助于提高發(fā)動機維護效率,為后續(xù)診斷算法的優(yōu)化、控制策略的設(shè)計與選擇打下了堅實的基礎(chǔ),體現(xiàn)了該平臺具有強大的優(yōu)勢。
本文構(gòu)建了一個統(tǒng)一的火箭發(fā)動機仿真與測試平臺,旨在提高液體火箭發(fā)動機故障維護效率和安全水平。通過對比分析不同型號的液體火箭發(fā)動機的特征,提出了一個模塊化建模方法。本文開發(fā)了實時仿真測試平臺,為保證仿真的可信度,采用基于模型的設(shè)計方法,實現(xiàn)仿真開發(fā)過程的自動化和標準化,并由自動代碼生成工具替代人工手動編譯方法。本文通過標準化硬件設(shè)備,在仿真過程中保證了模型的運行環(huán)境,同時保證了平臺仿真可信度,對于發(fā)動機的不同故障模式進行仿真,展示了該平臺良好的實時性優(yōu)勢。
由于該測試平臺可以提供高保真和可信度的仿真結(jié)果,因此在將來把該平臺用于診斷算法和控制策略的改進,有助于提高智能診斷算法的訓(xùn)練效率和提升控制器的控制能力。