《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 空面導(dǎo)彈飛行視景仿真系統(tǒng)研究
空面導(dǎo)彈飛行視景仿真系統(tǒng)研究
陶 鵬1,劉懷勛2,高宏峰3
1.河南科技大學(xué) 電子信息工程學(xué)院,河南 洛陽 471000;2.洛陽光電技術(shù)中心,河南 洛陽 47
摘要: 采用Creator 和Vega 平臺以及Simulink仿真開發(fā)工具對空面導(dǎo)彈的飛行視景仿真技術(shù)進(jìn)行了研究。提出了一種空面導(dǎo)彈飛行視景仿真系統(tǒng)的體系構(gòu)架,利用獲取的DED真實(shí)地形數(shù)據(jù),通過Creator建立大地形三維模型;借助VC/MFC開發(fā)平臺,實(shí)現(xiàn)了Simulink數(shù)字仿真系統(tǒng)與視景仿真的通信;在Vega中實(shí)現(xiàn)視景仿真系統(tǒng)的軟件開發(fā)調(diào)試。仿真結(jié)果表明,該系統(tǒng)能夠?yàn)榭彰嫖淦飨到y(tǒng)研制階段的參數(shù)優(yōu)化和效能評估提供有效的驗(yàn)證平臺。
關(guān)鍵詞: VEGA 視景仿真 Simulink
Abstract:
Key words :

摘 要:采用Creator 和Vega 平臺以及Simulink仿真開發(fā)工具對空面導(dǎo)彈的飛行視景仿真技術(shù)進(jìn)行了研究。提出了一種空面導(dǎo)彈飛行視景仿真系統(tǒng)的體系構(gòu)架,利用獲取的DED真實(shí)地形數(shù)據(jù),通過Creator建立大地形三維模型;借助VC/MFC開發(fā)平臺,實(shí)現(xiàn)了Simulink數(shù)字仿真系統(tǒng)與視景仿真的通信;在Vega中實(shí)現(xiàn)視景仿真系統(tǒng)的軟件開發(fā)調(diào)試。仿真結(jié)果表明,該系統(tǒng)能夠?yàn)榭彰嫖淦飨到y(tǒng)研制階段的參數(shù)優(yōu)化和效能評估提供有效的驗(yàn)證平臺。
關(guān)鍵詞:Vega;視景仿真;Simulink

  視景仿真是虛擬現(xiàn)實(shí)技術(shù)的一種表現(xiàn)形式,可以使用戶產(chǎn)生身臨其境的感覺,使仿真環(huán)境與用戶之間有一種真實(shí)的交流。根據(jù)仿真的目的不同,可以用三維模型再現(xiàn)真實(shí)的環(huán)境,然后采用計算機(jī)圖形處理技術(shù),達(dá)到非常逼真的效果。利用視景仿真技術(shù),在計算機(jī)上就可以進(jìn)行反復(fù)多次的模擬實(shí)驗(yàn),從而取代耗資巨大的物理和實(shí)物實(shí)驗(yàn),甚至可以進(jìn)行由于各種原因和條件限制而無法實(shí)現(xiàn)的實(shí)驗(yàn),具有投資少、效益高、可重復(fù)、無風(fēng)險、周期短等突出優(yōu)點(diǎn),因此視景仿真在軍事、工業(yè)等領(lǐng)域得到迅速推廣[1]。
  近年來,航空制導(dǎo)武器飛行視景仿真系統(tǒng)在系統(tǒng)研發(fā)、模擬訓(xùn)練、作戰(zhàn)研究、方案設(shè)計等領(lǐng)域成為研究熱點(diǎn)。武器飛行視景仿真系統(tǒng)克服了實(shí)彈發(fā)射在飛行試驗(yàn)中受到的發(fā)射場地、氣候條件以及經(jīng)費(fèi)問題等諸多同素制約的難題。在節(jié)省研制費(fèi)用和縮短研制時間的同時,為導(dǎo)彈提供驗(yàn)證和分析手段,為具有末端成像制導(dǎo)的精確制導(dǎo)導(dǎo)彈的制導(dǎo)系統(tǒng)仿真及毀傷效果評估提供驗(yàn)證平臺[2]。
  本文采用視景仿真軟件Vega、數(shù)字仿真軟件Simulink,結(jié)合VC++/MFC,建立空面武器飛行視景仿真模型,并通過二次開發(fā)獲得武器視景仿真所需要的設(shè)計方案。
1 視景仿真系統(tǒng)開發(fā)環(huán)境
  為了達(dá)到精確和逼真的效果,在仿真系統(tǒng)中,需要建立導(dǎo)彈或制導(dǎo)炸彈的數(shù)字仿真模型,以及復(fù)雜的三維場景模型。在系統(tǒng)中實(shí)現(xiàn)數(shù)字仿真模型與圖形仿真的通信,同時,在圖形仿真過程中,對這種復(fù)雜的三維場景模型進(jìn)行實(shí)時渲染。Paradigm公司提供的建模工具M(jìn)ultigen Creator 和開發(fā)工具Vega無疑是在虛擬現(xiàn)實(shí)領(lǐng)域領(lǐng)先的建模和仿真軟件平臺,也成為圖形仿真的首選;而Matlab中的Simulink仿真模塊是實(shí)現(xiàn)數(shù)字仿真的最佳選擇。
1.1 Vega
  Vega是一個用于建立實(shí)時仿真和虛擬現(xiàn)實(shí)應(yīng)用程序開發(fā)的高性能軟件環(huán)境和工具庫。Vega包括友好的圖形環(huán)境界面Lynx、完整的C語言應(yīng)用程序接口API、豐富的相關(guān)實(shí)用庫函數(shù)和一批可選的功能模塊。由于Vega大幅度地減少了源代碼的編程,使軟件的維護(hù)和實(shí)時性能的進(jìn)一步優(yōu)化變得更加容易,從而大大提高了工作效率[3]。
1.2 Creator
  Multigen Creator是一套高逼真度、最佳優(yōu)化的實(shí)時三維建模工具, 它能夠滿足視景仿真、交互式仿真以及其他應(yīng)用領(lǐng)域的要求。它是惟一將多變性建模、矢量建模和地形生成集成在一個軟件包中的手動建模工具,能進(jìn)行矢量編輯和建模、地形表面生成等。其強(qiáng)大的建模功能可為眾多不同類型的圖像發(fā)生器提供建模系統(tǒng)及工具,它的諸如層次細(xì)節(jié)(LOD)、多邊形篩選、邏輯篩選、繪圖優(yōu)先級以及分離面等高級實(shí)時功能,使得OpenFlight (. fit)格式在實(shí)時三維領(lǐng)域中成為最流行的圖像生成格式,并成為視景仿真領(lǐng)域的行業(yè)標(biāo)準(zhǔn)[4]。
1.3 Simulink
  Matlab是一種功能強(qiáng)、效率高、便于進(jìn)行科學(xué)和工程計算的交互式軟件包。Matlab提供了強(qiáng)大的Simulink系統(tǒng)仿真軟件。Simulink提供航空航天飛行器推進(jìn)系統(tǒng)、控制系統(tǒng)、動力學(xué)模塊及六自由度和三自由度模型庫,可以進(jìn)行固定質(zhì)量或者變質(zhì)量體系的建模與仿真;提供重力場、磁場、大氣和風(fēng)的標(biāo)準(zhǔn)環(huán)境模型。可以利用各種轉(zhuǎn)換模塊,方便實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換,能夠完成各物理量的單位制轉(zhuǎn)換,也可以方便地構(gòu)造出導(dǎo)彈飛行所需的數(shù)字模型。
2 視景仿真系統(tǒng)體系構(gòu)架
  空面導(dǎo)彈飛行視景仿真系統(tǒng)體系構(gòu)架如圖1所示。導(dǎo)彈彈道計算模塊根據(jù)導(dǎo)彈外形參數(shù)、飛行環(huán)境等數(shù)據(jù)計算出導(dǎo)彈的飛行狀態(tài)數(shù)據(jù),并通過網(wǎng)絡(luò)通信接口將導(dǎo)彈狀態(tài)數(shù)據(jù)提供給Vega視景仿真程序,最終起到控制導(dǎo)彈飛行彈道以及姿態(tài)的作用。導(dǎo)彈飛行數(shù)據(jù)庫模塊起到存儲飛行彈道以及姿態(tài)的作用,也可以利用存儲的數(shù)據(jù)進(jìn)行仿真結(jié)果的再現(xiàn)、對比和校驗(yàn)。網(wǎng)絡(luò)通信模塊主要負(fù)責(zé)導(dǎo)彈彈道計算模塊與視景仿真程序模塊的網(wǎng)絡(luò)通信與同步。Vega視景仿真程序模塊利用Creator生成的三維模型,并加載ADF應(yīng)用文件程序,通過接收仿真數(shù)據(jù),對導(dǎo)彈的視景仿真輸出進(jìn)行控制、調(diào)整。

  在導(dǎo)彈飛行視景仿真中,Vega視景仿真程序模塊實(shí)時提取導(dǎo)彈狀態(tài)數(shù)據(jù)庫中的當(dāng)前飛行狀態(tài),并產(chǎn)生相應(yīng)的控制事件流程,然后根據(jù)事件流程,通過運(yùn)行仿真引擎,觸發(fā)相應(yīng)的場景特效,達(dá)到實(shí)時表現(xiàn)飛行三維視景狀態(tài)的目的。
3 空面導(dǎo)彈飛行視景仿真環(huán)境開發(fā)關(guān)鍵技術(shù)
3.1真實(shí)三維地形的建立
  三維地形建模是指將一定范圍內(nèi)的真實(shí)地形高程數(shù)據(jù)(例如DED數(shù)據(jù))、地貌特征數(shù)據(jù),結(jié)合包含真實(shí)地形表面細(xì)節(jié)的紋理,根據(jù)適當(dāng)?shù)牡匦无D(zhuǎn)換算法生成具有一定序列、能夠近似表示為部分地球表面狀況的多邊形集合。地形建模的整體流程如圖2所示。

  航天飛機(jī)雷達(dá)地形測繪使命SRTM(Shuttle Radar Topography Mission)數(shù)據(jù)主要由美國太空總署(NASA)和國防部國家測繪局(NIMA)聯(lián)合測量。2002年2月1日上午11時4分,美國“奮進(jìn)”號航天飛機(jī)在佛羅里達(dá)州卡那維拉爾角的航天發(fā)射中心發(fā)射升空,“奮進(jìn)”號上搭載的SRTM系統(tǒng)對超過1.19億平方公里、覆蓋面積達(dá)到80%的地表進(jìn)行了數(shù)據(jù)采集。通過SRTM數(shù)據(jù)轉(zhuǎn)化為DED數(shù)據(jù),如圖3所示,然后利用Creator的地形算法使其轉(zhuǎn)化為與真實(shí)地形類似的三維地形模型。

  Creator的地形算法主要有Polymesh、Delaunay、CAT、TCT等,考慮到所生成的導(dǎo)彈飛行地形需要較高的實(shí)時性和精確性的特點(diǎn),多邊形數(shù)量不應(yīng)受限,且必須設(shè)置LOD,所以選用Polymesh算法較為合適,如圖4所示。

3.2 Simulink的外部通信
  Simulink的Aerospace Blockset仿真模塊提供了大量的在Simulink環(huán)境中使用的航空航天模塊。Aerospace Blockset將航空航天領(lǐng)域通用的標(biāo)準(zhǔn)模塊在Simulink環(huán)境下進(jìn)行了集成,能夠方便地組合導(dǎo)彈的系統(tǒng)結(jié)構(gòu),并在此基礎(chǔ)之上進(jìn)行完整的開發(fā)及測試工作,完成導(dǎo)彈系統(tǒng)的概念設(shè)計。同樣可以使用Simulink建立導(dǎo)彈彈道的計算模塊,向視景仿真系統(tǒng)提供仿真數(shù)據(jù)。
  ActiveX是Widnows對象集成的一個標(biāo)準(zhǔn)協(xié)議,它是組件對象模型(com)的一個子集,其目的是通過一個通用機(jī)構(gòu),實(shí)現(xiàn)軟件之間相互提供服務(wù)的目的。Matlab提供了引擎組件(ActiveX),可以由它來完成控制Matlab的任務(wù),也可以控制Simulink仿真模塊的運(yùn)行,并且可以獲取其中的仿真結(jié)果。因此可以通過導(dǎo)彈彈道計算模塊程序?qū)atlab引擎操縱來實(shí)現(xiàn)對Simulink的控制,從而完成彈道計算數(shù)據(jù)的處理,并可以提取相關(guān)的計算數(shù)據(jù),通過網(wǎng)絡(luò)通信模塊傳輸?shù)絍ega視景仿真程序模塊。Simulink外部通信關(guān)鍵代碼如下:
  Engine *ep;          //定義Matlab引擎指針
  if (!(ep=engOpen(NULL)))   
              //測試是否啟動Matlab引擎成功
  {
  cout <<"Can't start Matlab engine!" <<endl;
  exit(1);
  }
  eng EvalString(ep," open('E:\matlab\\missile_fly.mdl')"); 
                                             //打開導(dǎo)彈彈道仿真模型
  eng EvalString(ep,"sim('missile_fly')");          //開始仿真
    …
  xyz = engGetVariable(ep,"xyz");
  memcpy(arrxyz,mxGetPr(xyz),N*sizeof(double));
  …                //從Matlab工作空間獲取仿真結(jié)果,并
     通過網(wǎng)絡(luò)傳輸?shù)絍ega視景仿真程序模塊
  engClose(ep);                            //銷毀引擎,釋放內(nèi)存
  通過這種方式,可以將Simulink的仿真結(jié)果經(jīng)網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)絍ega仿真程序模塊,實(shí)現(xiàn)對彈道的控制。
3.3 Vega編程接口的應(yīng)用
  Vega 是美國MultiGen-Paradigm 公司開發(fā)的用于虛擬現(xiàn)實(shí)、視景仿真等領(lǐng)域的世界領(lǐng)先的應(yīng)用軟件工具。Vega提供完整的C語言編程接口,利用該編程接口可以方便、快捷地在VC/MFC中完成開發(fā)?;赩ega 圖形驅(qū)動的導(dǎo)彈視景仿真系統(tǒng)開發(fā)步驟如圖5所示。

  (1)由于MFC采用圖形界面,因此必須建立獨(dú)立的線程顯示Vega三維視景,以免MFC應(yīng)用程序和Vega在同一線程,造成程序鎖死。下面是一個MFC建立線程的簡單代碼:
  m_pVegaThread=AfxBeginThread(runVegaProc,this,TH
   READ_PRIORITY_NORMAL,0,0,NULL)
  (2)在獨(dú)立線程建立后,在線程中初始化Vega 系統(tǒng)并創(chuàng)建共享內(nèi)存,調(diào)用Vega 的API 函數(shù)vgInitWinSys();
  (3)利用ADF 文件(Vega 模型文件) 進(jìn)行資源初始化,讀取ADF 文件中的數(shù)據(jù),裝載數(shù)據(jù)庫,調(diào)用Vega 的API 函數(shù)vgDefineSys (" missile_fly.adf " ) ;
  (4)調(diào)用配置系統(tǒng)和模塊的函數(shù)vgConfigSys ( ) ,完成資源配置;
  (5)調(diào)用幀循環(huán)函數(shù),對三維視景進(jìn)行繪制。在循環(huán)中,接收導(dǎo)彈彈道計算模塊所計算的數(shù)據(jù),對數(shù)據(jù)進(jìn)行處理,并根據(jù)數(shù)據(jù)對導(dǎo)彈的姿態(tài)進(jìn)行控制;
  (6) 調(diào)用函數(shù)VgExit(0) ,終止當(dāng)前Vega程序。
4 可視化仿真結(jié)果顯示
  視景仿真系統(tǒng)能將導(dǎo)彈尋找和命中目標(biāo)的飛行過程以及爆炸場景以三維的影像直觀地顯示出來。通過顯示的結(jié)果能夠直觀地判斷導(dǎo)彈最終能否擊中目標(biāo),由此可以衡量和檢驗(yàn)導(dǎo)彈導(dǎo)引性能的優(yōu)劣。圖6是導(dǎo)彈飛行的場景,主通道顯示導(dǎo)彈飛行,左側(cè)上方通道顯示目標(biāo)物,左側(cè)下方通道顯示導(dǎo)彈跟隨視角。

  本文利用Creator 和Vega 平臺以及Simulink實(shí)現(xiàn)了導(dǎo)彈的飛行視景仿真,為空面導(dǎo)彈系統(tǒng)研制階段的參數(shù)優(yōu)化和效能評估提供了一種可視化驗(yàn)證平臺,對類似武器系統(tǒng)的視景仿真具有一定的參考價值。
參考文獻(xiàn)
[1] 鄭向平.基于Creator 和Vega 的某防護(hù)系統(tǒng)可視化仿真研究 [J]. 系統(tǒng)仿真學(xué)報,2008,20:4082-4088.
[2] 胡令.導(dǎo)彈武器發(fā)射環(huán)境視景仿真研究[J].信息化縱橫,2009(05):66-68,75.
[3] 王乘.Vega實(shí)時三維視景仿真技術(shù)[M]. 武漢:華中科技大學(xué)出版社,2004.
[4] 洪蕾.導(dǎo)彈飛行仿真可視化系統(tǒng)研究與實(shí)現(xiàn)[J].彈箭與制導(dǎo)學(xué)報,2007,27:91-94.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。