陳 浩, 盧 翔, 張國柱, 桑小沖, 劉 赟, 王獻忠
(1. 上海航天控制技術研究所, 上海 201109; 2. 上海市空間智能控制技術重點實驗室, 上海 201109)
?
星載軟件在環的GNC快速原型仿真系統設計
陳浩1,2, 盧翔1,2, 張國柱1,2, 桑小沖1,2, 劉赟1,2, 王獻忠1,2
(1. 上海航天控制技術研究所, 上海 201109; 2. 上海市空間智能控制技術重點實驗室, 上海 201109)
摘要:為了實現復雜航天器導航、制導與控制(guidance navigation and control,GNC)系統的快速設計與仿真驗證,加快GNC系統從算法設計到產品實現的過程,解決數字仿真與實物仿真一致性的問題,提出了一種基于星載軟件在環的GNC快速原型仿真系統。通過虛擬GNC計算機處理器內核和硬件接口的方式實現星載GNC計算機原型,解決了快速原型仿真系統GNC軟件代碼與實物星載計算機軟件代碼的一致性;利用Simulink/Matlab進行航天器動力學/運動學建模和GNC系統測量部件及執行部件的數字化建模,基于實時擴展(real time extension, RTX)系統和功能硬件板卡實現數字化模型與實物的轉化,解決數字仿真與實物仿真GNC系統內部接口特性、時序和邏輯一致性的問題。應用實例表明,基于星載軟件在環的GNC快速原型仿真系統仿真數據與GNC半物理仿真系統仿真數據高度一致,證實了仿真系統設計的有效性;同時基于該仿真系統可以實現GNC系統軟件、算法和單機產品的并行開發,縮短系統研制周期。
關鍵詞:制導與控制系統; 快速原型仿真; 星載軟件在環; 實時擴展實時系統
0引言
隨著空間技術的不斷進步和空間探索任務的不斷增加,對航天器數量的需求也急劇增加,作為航天器“大腦”的導航、制導與控制(guidance navigation and control,GNC)系統,其技術難度也越來越大。各航天大國之間空間領域競爭的日趨激烈要求縮短航天器研制周期,但GNC系統其技術復雜性與快速開發之間的矛盾日益突顯,成為制約航天器快速研制的“瓶頸”[1-2]。目前航天器GNC系統的研制流程大部分是按照串行的方式進行,尤其體現在系統算法、星載軟件的開發,星載計算機等GNC系統單機產品的研制,以及GNC系統級的仿真驗證上。GNC系統的算法和策略需要星載軟件實現;而星載軟件代碼的開發測試必須等星載計算機產品研制出來才能進行;GNC系統算法及控制律的仿真驗證,系統內部接口特性、時序和邏輯的仿真驗證都需要等單機產品研制出來才能實施,層層嵌套,環環相扣,導致GNC系統開發效率低,研制周期長,并且缺乏快速、靈活、有效的仿真驗證手段,已很難滿足航天器GNC系統高可靠、低風險、短周期的研制要求。
快速控制原型允許在設計的初期將硬件接入系統實時仿真,并能夠快速迭代設計和代碼自動生成下載,具有短時間、低成本、并行設計的優點,廣泛應用于汽車、導彈、飛機等控制器產品開發、閉環仿真和系統測試等領域[3-10],但在航天器GNC系統設計和仿真測試中卻鮮有應用,尤其是目前基于Simulink/Matlab開發的系統算法代碼[11-12]與最終星載軟件實現的目標代碼相差甚遠,很難移植到真實的星載計算機上。
本文提出的基于星載軟件在環的GNC快速原型仿真系統為實現GNC系統快速設計、仿真和測試提供了一個有效的手段,其核心之一是通過虛擬GNC計算機處理器內核和硬件接口的方式實現虛擬星載GNC計算機原型樣機,解決星載軟件目標代碼與GNC系統算法并行開發的矛盾,并可使基于虛擬目標機開發出的目標代碼與GNC系統上天代碼完全一致;核心之二是基于實時擴展(real time extension, RTX)實時操作系統和功能硬件板卡,將Simulink/Matlab建立的航天器動力學、運動學,以及GNC系統測量部件及執行部件的數字化模型變成物理模型,解決快速原型仿真與實物仿真一致性的問題,使得仿真狀態在接口特性、時序和邏輯等方面與實物仿真完全等效。
1GNC快速原型仿真系統設計
基于星載軟件在環的GNC快速原型仿真系統是一個集遙測、遙控、注數、GNC星載軟件、GNC計算機原型樣機、GNC測量部件和執行部件原型樣機于一體的閉環仿真系統。它主要包括以下幾個功能模塊:GNC星載計算機原型機及軟件仿真模塊,航天器空間動力學與運動學仿真模塊,GNC系統測量部件和執行部件物理原型仿真模塊,分布式協同仿真管理與控制模塊等,如圖1所示。

圖1 GNC快速原型仿真系統構成
其中:GNC星載計算機原型樣機及軟件模塊通過提供虛擬的星載計算機環境,設計師將GNC系統算法開發成可以直接上天的星載軟件,并將該軟件接入GNC系統閉環仿真;航天器動力學與運動學仿真模塊主要通過Simulink進行航天器姿態、軌道和空間環境的建模和計算,并提供給GNC測量部件相應的狀態驅動,同時接收執行部件的狀態變化并作用于航天器的姿態和軌道,使之產生相應的變化;GNC測量部件根據動力學和運動學仿真模塊提供的數據驅動敏感航天器的狀態變化,并將測量信息提供給星載計算機原型樣機,星載軟件解算出相應的控制指令并傳送給執行部件,控制航天器的姿態和軌道變化。分布式協同仿真管理與控制模塊對GNC系統進行全系統的仿真狀態進行控制和管理,同時對仿真數據和狀態進行監視、判讀。
1.1GNC星載計算機原型樣機及軟件仿真模塊設計
GNC星載計算機原型樣機及軟件模塊是在Windows系統下基于目前主流處理器(包括1750、TSC695、AT697等)構建星載計算機原型樣機,實現對處理器(central processing unit,CPU)內核、寄存器、定時器及片上設備和接口、CPU指令集、隨機存取存儲器(random-access memory,RAM)、只讀存儲器(read-only memory,ROM)、總線及星載計算機外圍接口的仿真,并在此原型樣機平臺下開發出可移植性強的星載軟件代碼,以滿足GNC算法快速工程實現的要求。GNC星載計算機原型樣機架構如圖2所示。

圖2 星載GNC計算機原型樣機架構
其中精簡指令集(reduced instruction set computer,RISC)仿真主要是模擬處理器的執行,從原型樣機主機仿真內存中讀取指令,并根據指令集規范按字段分析指令,按照分析的結果,模擬執行相應的行為(如做加法,減法、乘法等操作,并將結果回寫到相應虛擬仿真寄存器中)。
CPU內核及片上設備的仿真:在原型樣機主機內存中,建立與CPU處理器周邊組成結構相對應的數據結構,用于仿真處理器片內的通用定時器、看門狗定時器、通用異步串行口(universal asynchronous receiver/transmitter,UART)、寄存器、控制器、異常和中斷處理等。原型樣機根據用戶程序代碼依次執行,當用戶程序代碼對片內外設讀寫時,按照讀寫地址修改或讀取相應寄存器的內容,并實時按字段分析讀寫的內容,模擬實際處理器操作該字段后產生的結果執行相應的行為(例如寄存器設置,設定定時器時間間隔等)。通過在原型樣機內存中開辟一塊或多塊內存,用于模擬星載計算機原型樣機的RAM或ROM空間。當用戶程序進行ROM,RAM內存讀寫時,按照讀寫的地址,訪問相應的模擬RAM或ROM內存空間。
外部接口的仿真:利用標準化的功能板卡,采用插件方式建立原型樣機的外部功能接口模塊,如總線通訊模塊,輸入/輸出接口(input/output,I/O)、模/數轉換(analog to digital,A/D)、數/模轉換(digital to analog,D/A)功能模塊等。
片上設備、板上設備和外圍設備均采用模塊化設計,通過積木式組合和擴展,可以完成針對不同任務和功能需求的星載GNC計算機原型樣機的構建。通過建立與實際星載計算機相同的原型樣機系統,在原型樣機上開發的星載軟件代碼在不需要做任何修改的情況下可以直接在真實的星載計算機硬件平臺中直接運行,并且可以得到與在原型樣機系統下相同的執行結果。因此,在原型樣機上開發的星載軟件代碼可以直接作為航天器上天的源代碼,這有效解決了星載軟件開發測試和星載計算機研制不能并行進行的矛盾,在星載計算機硬件不到位的情況下為星載軟件接入GNC系統閉環仿真創造了條件,確保了GNC系統仿真的真實有效性,也極大縮短了GNC系統的研制周期。
1.2航天器動力學與運動學仿真模塊設計
以Simulink/Matlab作為航天器姿軌動力學和運動學的建模工具,利用Simulink/RTW(real-time workshop,RTW)工具的代碼自動生成功能將航天器模型轉化為可移植的C代碼,通過RTX環境編譯成實時子系統(real-time subsystem,RTSS)運行程序,RTSS程序運行在Windows下的RTX實時擴展子系統,并通過共享內存與模型參數設置、仿真狀態控制等非實時的Wind32程序進行信息交互,如圖3所示。

圖3 航天器動力學和運動學仿真模塊
由于RTX采用搶占式實時任務管理和調度,在RTX下運行的實時任務比普通的Windows中斷處理程序具有更高優先級,并提供比Windows更精確和更高分辨率的時鐘和計時器,故保證了RTX的實時性;同時,RTX通過特殊的共享內存方式支持實時進程和非實時進程間數據交互和同步,同一機器上運行的其他Windows應用也不會受到影響[13]。
1.3測量部件和執行部件仿真模塊設計
基于功能板驅動程序和RTX提供的頭文件及庫函數,利用Visual C++創建RTX環境下的功能板卡的驅動程序,并封裝成實時動態鏈接庫;再編寫Matlab的S函數調用庫函數完成功能板卡RTX環境下驅動程序的Simulink模塊封裝。通過RTW工具將Simulink創建的姿態測量部件、導航部件和執行部件的數字化模型,以及功能板卡驅動程序的Simulink模塊封裝生成RTX環境下可執行的RTSS程序,結合特定接口特性的功能板卡,即可實現GNC系統相關姿態測量部件、導航測量部件和執行部件的數字化原型樣機。測量部件和執行部件原型樣機結構如圖4所示。

圖4 測量部件和執行部件原型樣機結構圖
1.4分布式協同仿真管理與控制模塊設計
整個仿真系統通過實時反射內存網絡建立GNC快速原型仿真系統各功能模塊的數據交互,分布式協同仿真管理與控制模塊負責對整個仿真系統進行流程和狀態管理,采集航天器動力學的數據和GNC星載計算機的遙測數據,以及GNC系統運行狀態,通過反射內存網模擬進行遙控和注數,控制GNC星載軟件的運行狀態。
2應用實例
本文針對某型號飛行器在軌任務需求,基于TSC695F
處理器內核構建了星載GNC計算機原型樣機,采用simulink建模和Moxa公司的CP118U多串口卡建立了紅外地平儀、星敏感器、數字式太陽敏感器、光纖慣組(含陀螺和加速度計)、全球定位系統(global position system,GPS)接收機和飛輪等數字化虛擬樣機原型;采用simulink建模和凌華的7434數字I/O卡建立了推力器等效模型;采用simulink建模和NI的6232板卡構建了三軸磁強計、模擬太陽角計虛擬樣機原型;采用simulink建模和NI的6052E板卡構建了磁力矩器虛擬樣機原型,設計了一套GNC系統,如圖5所示。并結合航天器初始入軌對地姿態捕獲,消除太陽帆板展開擾動、載荷分離擾動、飛輪起旋擾動、以及航天器上火工品解鎖擾動等,實現長期三軸穩定對地定向的在軌任務流程進行了仿真。對航天器姿態控制采用帶前饋的比例微分(proportion and differentiation, PD)噴氣控制,其控制律描述如式(1)所示。
(1)
式中,Ton為噴氣時間(推力器開啟時間);K1為比例系數;K2為微分系數;SW為參與控制的姿態角;ω為角速率;dω為角速率前饋;Tmin為設定的最小噴氣時間。
其中前饋角速率的計算公式如式(2)所示。
(2)
式中,dωk為當前控制周期(k時刻)的角速率前饋;τ為權重系數;(Ton)k-1為上一周期(k-1時刻)的噴氣時間;dωk-1為上一周期(k-1時刻)的角速率前饋。

圖5 GNC系統原型
利用本文設計的仿真系統進行閉環仿真,同時將GNC系統全部實物單機產品接入GNC半物理仿真系統進行閉環仿真,仿真數據對比如圖6和圖7所示,可以看出,基于星載軟件在環的GNC快速原型仿真系統的仿真數據和GNC半物理仿真系統的仿真數據具有高度的一致性。這充分證明了仿真系統設計的有效性。

圖6 三軸姿態變化曲線對比

圖7 三軸角速率變化曲線對比
3結論
本文基于快速原型仿真技術,利用Simulink/Matlab對航天器動力學和運動學建模,構建了星載GNC計算機原型樣機、測量部件和執行部件的原型樣機,利用RTX實時系統和反射內存網絡搭建了一套基于星載軟件在環的GNC快速原型仿真系統,并將基于GNC原型樣機開發的星載軟件接入GNC系統閉環仿真,應用實例仿真結果證實了GNC快速原型仿真系統設計的有效性,為解決復雜GNC快速設計、仿真和測試提供了有效途徑,縮短了GNC系統的研制周期。
參考文獻:
[1] Yang X, Sun Z W, Zhu C Y, et al. Design of real-time simulation system for satellite control based on dSPACE system[J].SystemsEngineeringandElectronic, 2005, 27(2):335-339. (楊旭,孫兆偉,朱承元,等. 基于dSPACE的衛星控制實時仿真系統設計[J].系統工程與電子技術, 2005, 27(2):335-339.)
[2] Yang X Z, An J W, Cui W G. The application on rapid control prototyping simulation[J].AerospaceControl, 2009,27(2):72-75. (楊向忠,安錦文,崔文革. 快速控制原型仿真技術應用[J].航天控制, 2009, 27(2):72-75.)
[3] Andrews B A, Goeddel W C. Using rapid prototypes for early requirements validation[C]∥Proc.ofthe13thIEEE/AIAADigitalAvionicsSystemsConference,1994: 70-75.
[4] Yin H Z, Tang S, Huang Y, et al. Rapid prototype design on integrated navigation system[J].ComputerAidedEngineering, 2008, 17(3):45-48. (殷紅珍,唐碩,黃勇,等. 組合導航系統快速原型設計[J].計算機輔助工程,2008,17(3):45-48.)
[5] Ran H J, Mavris D N, Kirby M. Rapid prototyping method for modeling a circulation-control wing at low speeds[J].JournalofAircraft, 2012,49(5):1480-1484.
[6] Josselyn S, Ross I M. Sensitivity analysis for rapid prototyping of entry vehicles[J].JournalofSpacecraftandRockets, 2006, 43(3):836-841.
[7] Oleg A Y. Direct method for rapid prototyping of near-optimal aircraft trajectories[J].JournalofGuidanceControlandDynamics, 2000, 23(5):865-875.
[8] Wu J M, Jing Z L, Xiao G. Spiral development for avionics based on prototyping[J].SystemsEngineeringandElectronics, 2007, 29(3): 488-491.(吳建民,敬忠良,肖剛. 基于原型仿真的航空電子系統螺旋式開發方法[J].系統工程與電子技術,2007, 29(3):488-491)
[9] Springer A. Evaluating aerodynamic characteristics of wind-tunnel models produced by rapid prototyping methods[J].JournalofSpacecraftandRockets, 1998, 35(6):755-759.
[10] Lim B A. Design and rapid prototyping of flight control and navigation system for an unmanned aerial vehicle[D].Naval Postgraduate School Monterey CA, 2002.
[11] Ma H M, Zhang H J. Rapid prototyping technologies for missile guidance and control system[J].ElectronicsOptic&Control,2012,19(5):78-81.(馬慧敏,章惠君.導彈制導控制系統快速原型設計技術[J].電光與控制,2012,19(5):78-81.)
[12] Su K F, Su Y Z, Lv Q, et al. The fast prototype simulation system based on Matlab[J].JournalofSystemSimulation, 2004,16(12): 2741-2746. (蘇奎峰,蘇永芝,呂強,耿慶峰. 基于Matlab的快速原型仿真系統[J].系統仿真學報,2004,16(12):2741-2746.)
[13] Xu Z, Tang S. Design of RCP (rapid control prototyping) system that possesses two features[J].JournalofNorthwesternPolytechnicalUniversity,2010,28(2):176-181.(許志,唐碩.基于RTX實時環境的快速原型系統設計[J].西北工業大學學報,2010,28(2):176-181.)
陳浩(1980-),男,高級工程師,博士,主要研究方向為飛行器導航、制導與控制技術、星載計算機、仿真測試技術。
E-mail:ch_hao1980@163.com
盧翔(1983-),男,工程師,碩士,主要研究方向為飛行器動力學仿真。
E-mail:lx304shbei@163.com
張國柱(1985-),男,工程師,碩士,主要研究方向為嵌入式軟件設計。
E-mail:zhangguozhu868@163.com
桑小沖(1985-),男,工程師,碩士,主要研究方向為仿真測試技術。
E-mail:sxc20041055@126.com
劉赟(1985-),男,工程師,博士,主要研究方向為飛行器導航、制導與控制技術。
E-mail:gr_liuyun@163.com
王獻忠(1971-),男,研究員,博士,主要研究方向為飛行器導航、制導與控制技術。
E-mail:wangxianzhong888@yahoo.com.cn
Design of GNC rapid prototyping simulation system of on-board software in the loop
CHEN Hao1,2, LU Xiang1,2, ZHANG Guo-zhu1,2, SANG Xiao-chong1,2,LIU Yun1,2, WANG Xian-zhong1,2
(1.ShanghaiInstituteofSpaceflightControlTechnology,Shanghai201109,China; 2.ShanghaiKeyLaboratoryofAerospaceIntelligentControlTechnology,Shanghai201109,China)
Abstract:In order to realize the fast design and verification of the complex spacecraft guidance navigation and control (GNC) system, speed up the translation process of the GNC system from the algorithm design to the product realization, solve the problem of the digital simulation results inconsisted with the physical simulation. The on-board computer prototype is realized by using the virtual processor core and the hardware interface, which solves the problem of the GNC on-board software code development without the physical computer. Simulink/Matlab is used to simulate the dynamic and kinematic modeling of the spacecraft and the digital model of GNC measuring and executing components. Based on the real time extension (RTX) system and function hardware boards, the conversion from the digital model to the physical product is realized. The application examples show that the simulation data of the GNC simulation system based on the on-board system in the loop are highly consistent with the data of GNC physical simulation based on hardware in the loop, which confirms the validity of this simulation system design. At the same time, based on the simulation system, the GNC system software, the algorithm and the parallel development of products can be realized. The simulation system has the advantages of shorter cycle and lower cost by contrast with conventional GNC development.
Keywords:guidance navigation and control (GNC) system; rapid prototyping simulation; on-board software; real-time extension system (RTX)
收稿日期:2015-09-30;修回日期:2015-12-18;網絡優先出版日期:2016-03-03。
基金項目:國家高技術研究發展計劃(863計劃)(2011AA7100009)資助課題
中圖分類號:TP 391.9
文獻標志碼:A
DOI:10.3969/j.issn.1001-506X.2016.06.35
作者簡介:
網絡優先出版地址:http://www.cnki.net/kcms/detail/11.2422.TN.20160303.1709.004.html