前言:想要寫出一篇引人入勝的文章?我們特意為您整理了航天發(fā)射訓練體系的分級建模技術(shù)范文,希望能給你帶來靈感和參考,敬請閱讀。
本文作者:劉黨輝、劉培杰、尹云霞、蘇永芝
航天仿真技術(shù)是隨著系統(tǒng)仿真理論和航天任務的需要而發(fā)展起來的一門新型技術(shù)[1]。“不進行仿真試驗就不允許進靶場”已成為航天工作必須遵循的一條管理規(guī)定[2]。世界上主要的航天大國均已以計算機技術(shù)為基本手段進行空間環(huán)境條件下系統(tǒng)規(guī)劃、方案論證、設(shè)計研究、測控、維護救生以及航天發(fā)射指揮操作訓練等方面的仿真研究。目前,我國各發(fā)射場也配有一些仿真訓練系統(tǒng)[3-5],訓練的重點是掌握復雜的火箭測試發(fā)射理論和技術(shù),但缺乏任務綜合訓練功能。為此,需要開發(fā)一套包括虛擬發(fā)射場景、組織指揮流程、突發(fā)應急事件處置、導調(diào)控制、訓練評估等功能的航天發(fā)射訓練模擬系統(tǒng),用于發(fā)射基地各級測試、發(fā)射、指揮、保障等人員任務前的綜合訓練。本文主要針對航天發(fā)射仿真訓練系統(tǒng)的建模問題,分析了任務級、過程級和實體級的建模要求,給出了具體的建模方法,解決了基于模型驅(qū)動的復雜仿真訓練系統(tǒng)的動態(tài)管理與控制,提高了系統(tǒng)的靈活性和擴展性。
1航天發(fā)射仿真訓練系統(tǒng)的建模要求
根據(jù)仿真訓練系統(tǒng)功能要求,將系統(tǒng)模型劃分為3個層次,即任務級、過程級和實體級模型,如圖1所示。每級模型能解決不同層次的問題,有著不同的建模要求。
1.1任務級建模要求
航天發(fā)射仿真訓練系統(tǒng)是一個復雜的、可靈活配置的系統(tǒng),每次訓練前需要配置如下信息:訓練目標、訓練階段、具體訓練項目、參訓人員、參訓系統(tǒng)、參訓設(shè)施、參訓設(shè)備、訓練環(huán)境、訓練流程、評估指標、故障類型、突發(fā)事件等,并描述各信息之間的相互關(guān)系和制約因素。這些信息的描述屬于任務級,應該按照一定的格式采用自然語言的方式進行描述,這樣便于管理人員的理解、編輯和修改;同時,也便于系統(tǒng)其他軟件模塊讀取相應的信息。任務級建模的表現(xiàn)形式就是1個或多個格式化的任務想定文件。
1.2過程級建模要求
航天發(fā)射的組織指揮工作貫穿于發(fā)射活動的全過程中,并直接決定了發(fā)射活動的進程,因此,針對航天發(fā)射的各級測試、發(fā)射、指揮、保障人員的全系統(tǒng)綜合訓練尤為重要。訓練過程包括:以任務想定為依據(jù),各級組織指揮結(jié)構(gòu)按計劃組織實施發(fā)射任務,包括從火箭、衛(wèi)星、飛船的進場到卸車、各種測試及成功發(fā)射等全過程,提供各系統(tǒng)主要人員的崗位訓練功能;通過導調(diào)控制,控制仿真進程,實現(xiàn)子系統(tǒng)、分系統(tǒng)、以及全系統(tǒng)綜合訓練;通過訓練評估,對參訓者業(yè)務能力、指揮能力、解決問題能力等給出綜合評定。過程級建模要求過程模型能清楚描述各參試機構(gòu)人員、任務、設(shè)備、物資、環(huán)境、事件等之間的關(guān)系,甚至火箭、衛(wèi)星的復雜測試項目和測試流程以及故障排除和突發(fā)事件的處置過程等,能夠清晰描述各單元之間的靜態(tài)關(guān)系以及隨任務進程發(fā)生變化的動態(tài)關(guān)系。
1.3實體級建模要求
航天發(fā)射仿真訓練系統(tǒng)涉及很多實體對象,包括人員、火箭、衛(wèi)星、塔架、設(shè)備、廠房、車輛、供電、倉庫、雷達、電臺、指揮大廳、會議廳等實體以及地形、河流、橋梁、氣象、樹木、火災、爆炸、推進劑泄漏、敵特破壞等自然對象或特殊對象。不同實體對象有不同的幾何形狀、物理特性、運動特性和行為特性。由于在訓練中對不同的實體對象關(guān)注點不一樣,為了降低建模的難度,一般針對訓練內(nèi)容涉及的實體的特定形狀,物理、運動、行為等特征采用適當?shù)慕7椒?,而對僅僅用于輔助顯示的對象采用簡單的幾何建模或直接采用紋理貼圖的方法。實體的物理特征(如質(zhì)量、慣性、硬度等)、運動特征(如位置、速度、碰撞等)、行為特征(如電壓、電流、信號、狀態(tài)、控制等)一般需要采用數(shù)學模型的方式進行描述,以便根據(jù)不同情況或輸入呈現(xiàn)不同的運動和狀態(tài)。根據(jù)不同對象特點,數(shù)學模型可簡可繁,以滿足訓練要求為準。
2多級建模方法
根據(jù)航天發(fā)射訓練系統(tǒng)不同層次的建模要求,通過比較目前流行的一些建模軟件的不同特點和優(yōu)勢,采用XML實現(xiàn)任務級建模,采用UML實現(xiàn)過程級建模,采用Creator、VegaPrime、MATLAB分別實現(xiàn)實體對象的幾何與運動、物理與行為的數(shù)學建模。
2.1基于XML的任務級建模
航天發(fā)射仿真訓練系統(tǒng)的任務級建模就是將訓練任務想定文檔轉(zhuǎn)化為XML格式文檔,便于人和計算機的共同理解。建模的過程大致如下。
2.1.1分析任務想定要素
依據(jù)預先擬定的任務想定文檔,分析任務想定的基本要素和子要素、要素之間的聯(lián)系和約束、要素的不同表現(xiàn)形式、要素的靜態(tài)或動態(tài)特性等。要素分析盡可能全面,但也要精簡,邏輯、類別和層次關(guān)系清晰,能夠涵蓋全部任務想定。對于航天發(fā)射仿真訓練系統(tǒng)來說,任務想定一般包括任務背景、訓練目標、訓練內(nèi)容、組織機構(gòu)、人員配置、裝備物資、場地環(huán)境等要素。對于任務基本信息,應描述任務時間、地點、對象、目的等特性。對于裝備物資,應描述裝備物資類別、屬性、功能、權(quán)限等特性。
2.1.2建立一套專用標記符
為了便于理解XML格式的任務想定,除了采用系統(tǒng)定義的標記符外,需要定義1套專用的標記符。在信息轉(zhuǎn)化和處理的過程中,為了保證任務想定數(shù)據(jù)的規(guī)范性和正確性,需要采用XMLSchema進行定義和規(guī)范。通過XMLSchema,每1個XML文件均可攜帶1個有關(guān)其自身格式的描述,不同開發(fā)者可以使用約定的標準XMLSchema來交換數(shù)據(jù)。不同仿真平臺也可使用某個標準的XMLSchema來驗證從外部接收到的數(shù)據(jù)。
2.1.3生成XML格式的任務想定
依據(jù)任務想定和標記符直接編寫XML格式的文檔仍然較為復雜,為此,采用VC++開發(fā)了相應的信息編輯界面,通過友好的圖像化界面提高錄入效率,然后由底層程序自動生成XML格式的任務想定。MSXML4.0也提供了通過XSDSchema來校驗XML文檔正確性的手段,因此可進一步根據(jù)系統(tǒng)異常提示來修改完善文檔。裝備物資配置編輯界面如圖2所示,不僅可以對裝備物資進行增刪節(jié)點、修改屬性等操作,還能添加擁有調(diào)派權(quán)限的人員和組織關(guān)聯(lián)。擁有權(quán)限的人員可以在訓練系統(tǒng)中對該裝備物資進行調(diào)派,對于擁有權(quán)限的組織,所有該組織的下屬人員都具有調(diào)派該裝備物資的權(quán)限,具體權(quán)限控制在訓練系統(tǒng)中實現(xiàn),任務想定子系統(tǒng)只對其進行配置。XML格式的任務想定如圖3所示。
2.1.4解析XML格式的任務想定
為了和其他模型交換數(shù)據(jù),或者直接提取任務想定中的信息,還需要解析XML文件。微軟提供的組件MSXMLDOM是MicrosoftXML的解析器,提供了豐富的接口,方便在程序中操作XML文檔。DOM可對結(jié)構(gòu)化的XML文檔進行解析,文檔中的指令、元素、實體、屬性等所有內(nèi)容個體都用對象模型表示,整個文檔被看成是一個結(jié)構(gòu)信息樹,而不是簡單的文本流,生成的對象模型就是樹的節(jié)點,對象同時包含了方法和屬性?;贒OM組件對XML想定文件進行解析,需要設(shè)計一個XML類來完成針對XML的各種操作。
2.2基于UML的過程級建模
UML(UnifiedModelingLanguage,統(tǒng)一建模語言)是一種面向?qū)ο蟮?、直觀的、功能強大的、可視化的建模語言[6],已成為建模語言事實上的標準。運用UML語言來建立過程級模型已得到廣泛應用[7-9]。建模過程大致如下。
2.2.1分析過程建模要素
航天發(fā)射訓練系統(tǒng)的運行過程大致如下:根據(jù)訓練要求,生成任務想定模型,存入服務器端任務想定數(shù)據(jù)庫;導演組依據(jù)訓練科目和訓練內(nèi)容,通過導調(diào)文書和實時干預控制仿真訓練過程,相關(guān)信息保存到服務器數(shù)據(jù)庫;各客戶端參訓人員接收導調(diào)文書,按照各自職責執(zhí)行訓練科目或處置突發(fā)事件,并報告情況;評判組根據(jù)參訓人員完成任務情況和評分指標對訓練人員進行考核;服務器對演練過程中產(chǎn)生的所有信息進行記錄,供訓練后分析使用。因此,需要采用多種適當形式的構(gòu)圖實現(xiàn)過程建模。
2.2.2選擇適當建模機制
采用UML實現(xiàn)航天發(fā)射仿真訓練過程建模,包括訓練機構(gòu)、訓練流程、訓練科目、考評、導控等環(huán)節(jié)及相互關(guān)系,需要采用不同的UML構(gòu)圖進行建模。對于系統(tǒng)運行結(jié)構(gòu)模型,采用UML提供的用例圖、類圖(包括包圖)、對象圖、構(gòu)件圖和配置圖等靜態(tài)建模方法;對于系統(tǒng)執(zhí)行時的時序狀態(tài)或交互關(guān)系模型,采用狀態(tài)圖、活動圖、序列圖和合作圖等動態(tài)建模方法。以航天發(fā)射中控制分系統(tǒng)與遙測分系統(tǒng)的匹配測試為例,對匹配測試組織指揮過程進行建模??刂品窒到y(tǒng)與遙測分系統(tǒng)匹配測試的主要內(nèi)容有:箭機數(shù)字量特征碼匹配檢查;耗盡關(guān)機信號匹配檢查;模擬量起始電平、極性及加速度表脈沖數(shù)匹配檢查。與仿真訓練系統(tǒng)測試有關(guān)的參訓人員包括01指揮員、控制系統(tǒng)指揮、遙測系統(tǒng)指揮等。采用UML建立的匹配測試組織指揮過程序列圖如圖4所示。
2.2.3自動生成框架代碼
依據(jù)建立的UML模型,運用StarUML能自動生成程序中大部分重要的框架代碼(可以依據(jù)模型生成Java、C++、C代碼),然后在此基礎(chǔ)上添加一些UML模型中未描述的細節(jié)信息,這樣能有效地減少代碼編寫的工作量。例如,在UML提供的各種圖中,類圖是最基本、最重要也是最常使用的一種圖,它描述了各個類所具有的屬性和方法、各個類之間存在的關(guān)系(泛化、關(guān)聯(lián)、聚合、組合和依賴關(guān)系等)以及其上的約束。SartUML生成的C++類中,一般由成員變量集合、成員函數(shù)聲明集合、可見性與類名等4部分組成。但是,UML類圖對于有些細節(jié)無法說明,需要編程人員手動添加,這包括函數(shù)的具體功能實現(xiàn)以及部分定義。為了實現(xiàn)從一個類中派生出新的類,可通過向泛化類中增添新的信息或?qū)ζ溥M行修改而得到特化類[10],UML類圖中的泛化關(guān)系可以無差錯地映射為代碼中的繼承關(guān)系。
2.3基于VC++嵌入模塊的混合實體級建模
為了營造真實的航天發(fā)射過程和感受,仿真訓練系統(tǒng)提供了豐富的可視化仿真環(huán)境,需要對大量實體進行建模,包括對象的幾何、物理、運動和行為級建模。由于系統(tǒng)主要基于VC++平臺開發(fā),實體級建模軟件最好與VC++具有方便的接口,便于系統(tǒng)功能的集成。通過對比分析,對于實體的幾何和運動模型,采用Creator和VegaPrime軟件來實現(xiàn);對于物理和行為模型,采用MATLAB軟件來實現(xiàn)。
2.3.1實體的幾何與運動特性建模
目前,常用的三維建模軟件很多,如3DMaxStudio、Lightwave3D、MultiGenCreator、Maya、Softimage、Houdinl等。其中,MultiGenCreator針對仿真訓練系統(tǒng)需求,能夠在滿足實時性的前提下生成面向仿真的、逼真性好的實體級模型和大型場景模型,已廣泛用于實時仿真系統(tǒng)之中。為了實現(xiàn)對仿真對象的渲染和運動控制,常用的軟件包括OpenGVS、OpenGLperformer、VegaPrime、Vtree、WorldToolKit、WorldUP、Realimation、3DLinX、Openlnventor等。其中,VegaPrime是目前國內(nèi)最常用的虛擬現(xiàn)實視景驅(qū)動軟件之一,它是一個能滿足大多數(shù)視景仿真要求的開發(fā)系統(tǒng),具有豐富的VC++接口,并且容易實現(xiàn)大量的場景特效。因此,系統(tǒng)開發(fā)采用MultiGenCreator進行三維建模,運用VegaPrime進行實體對象運動控制或雨雪云霧等一些特效的制作,并使用VC++進行仿真程序的管理和集成,從而能夠迅速創(chuàng)建實時交互式三維視景系統(tǒng)。圖5給出了一個火災搶救的仿真場景,圖6給出了一個火箭發(fā)射起飛仿真場景。
2.3.2實體的物理和行為特性建模
MATLAB/Simulink具有簡潔的編程語言、強大的計算功能、直觀的可視化仿真結(jié)果和靈活的接口,非常適合對各種復雜系統(tǒng)進行仿真和開展相關(guān)研究。采用MATLAB/Simulink能夠進行動態(tài)系統(tǒng)建模、仿真和綜合分析,可以處理線性和非線性系統(tǒng),離散、連續(xù)和混合系統(tǒng),以及單任務和多任務系統(tǒng),并在同一系統(tǒng)中支持不同的變化速率。MAT-LAB/Simulink具有FORTRAN、C/C++程序的外部接口。航天發(fā)射仿真訓練系統(tǒng)的不同實體具有不同的物理或行為特征,如火箭的發(fā)射飛行過程的動態(tài)仿真,除了火箭的幾何模型,也需要建立火箭的運動方程模型,甚至包括火箭飛行各階段中主要控制指令與飛行狀態(tài)之間的關(guān)系。采用MATLAB/Simulink對火箭的飛行特性建模,仿真結(jié)果如圖7所示。圖7a中,曲線1、曲線2、曲線3分別表示慣性坐標軸x、y、z方向的速度;圖7b中,曲線1、曲線2、曲線3分別表示慣性坐標軸x、y、z方向的位移。
3結(jié)語
依據(jù)航天發(fā)射仿真訓練系統(tǒng)總體功能要求,分析了系統(tǒng)的模型體系構(gòu)成,從任務級、過程級、實體級3個層次分析了各自的建模要求,并分別采用XML、UML以及Creator、VegaPrime、MATLAB等軟件解決了實際建模問題,實現(xiàn)了基于模型驅(qū)動的動態(tài)仿真,大大提高了仿真訓練系統(tǒng)的靈活性、擴展性、可視性和人機交互性,為教學和訓練提供了一個良好的仿真訓練平臺。為了進一步提高系統(tǒng)的智能化程度,擬進一步引入人工智能推理模型,增強某些環(huán)節(jié)人機交互的智能化程度。