徐 瑋 董 錦 李 濤 孔祥輝
(西安電子工程研究所 西安 710100)
隨著設(shè)計(jì)自動(dòng)化和計(jì)算機(jī)仿真技術(shù)的進(jìn)步,人們對設(shè)計(jì)工具和仿真軟件的要求也越來越高,雖然傳統(tǒng)設(shè)計(jì)工具如AutoCAD、PRO/E、3ds MAX 對設(shè)計(jì)與加工支持很好,但對視景生成、動(dòng)態(tài)交互等方面卻力不從心[1]。MATLAB 在6.1 版本后增加了對于VRML 的3D 模擬和可視化的支持[2],具備良好的編輯、顯示、編程接口,能夠與VRML 語言格式的虛擬現(xiàn)實(shí)模型進(jìn)行無縫交互。本文詳細(xì)介紹了用MATLAB/VRML 語言對模型進(jìn)行操作的方式方法,并探索了該工具箱在雷達(dá)研發(fā)的多個(gè)環(huán)節(jié)中的應(yīng)用,并分別給出了應(yīng)用實(shí)例。本文就如何使用MATLAB/VRML 的新特性,并在雷達(dá)研發(fā)哪些環(huán)節(jié)可以使用該工具進(jìn)行了分析,希望可以為雷達(dá)系統(tǒng)中論證、展示、仿真等環(huán)節(jié)面臨的一些現(xiàn)實(shí)問題找到更為合理的解決途徑。
虛擬現(xiàn)實(shí)工具箱面向的是基于VRML 語言格式的模型,這里涉及一種建模語言VRML(Virtual Reality Modeling Language)。VRML 采用的是一種符合ISO 標(biāo)準(zhǔn)的開放的、文本標(biāo)記形式的文件格式[3],這種格式可以用于創(chuàng)建任意形式的虛擬現(xiàn)實(shí)的模型或其場景,創(chuàng)建的模型可以在特定的以太網(wǎng)瀏覽器或其它查看器中展現(xiàn)其三維形態(tài)或其在三維場景中的效果。
采用虛擬現(xiàn)實(shí)工具箱可以使Matlab 與VRML語言格式的虛擬現(xiàn)實(shí)模型進(jìn)行無縫連接,并使用MATLAB 語言對模型進(jìn)行操作,以三維動(dòng)畫可視化的方式展示出來。采用虛擬現(xiàn)實(shí)工具箱可以完成許多常用操作。
(1)模型操作:可以創(chuàng)建、編輯、保存基于VRML 的三維虛擬現(xiàn)實(shí)模型,也可以讀取已創(chuàng)建存在的模型。
(2)動(dòng)畫查看:可以采用MATLAB 語言對三維場景中的對象的諸多屬性諸如位置、航向角、橫滾角、縱搖角進(jìn)行實(shí)時(shí)修改和查看,從而可以使對象在場景中的平動(dòng)或轉(zhuǎn)動(dòng)以三維動(dòng)畫的方式呈現(xiàn)。
MATLAB 語言采用面向?qū)ο蟮脑L問函數(shù)實(shí)現(xiàn)了對虛擬現(xiàn)實(shí)模型的訪問和查看。其中訪問虛擬現(xiàn)實(shí)模型使用到兩個(gè)對象:vrworld、vrnode;而查看虛擬現(xiàn)實(shí)模型常使用到一個(gè)對象vrfigure。各個(gè)對象提供了規(guī)定范圍的操作方法函數(shù),實(shí)現(xiàn)了相應(yīng)的操作。
(1)vrworld 的常用方法函數(shù)
要連接虛擬現(xiàn)實(shí)模型文件,可使用vrworld、open、view、get 等方法函數(shù)。其中vrworld 用于創(chuàng)建一個(gè)與虛擬現(xiàn)實(shí)模型文件關(guān)聯(lián)的對象;open 用于打開虛擬現(xiàn)實(shí)模型文件,以便進(jìn)行文件中各個(gè)模型節(jié)點(diǎn)的訪問;view 用于觀看虛擬現(xiàn)實(shí)模型文件;get 可以用于獲取文件中的各個(gè)已命名節(jié)點(diǎn)。例如:
(2)vrnode 的常用方法
訪問虛擬現(xiàn)實(shí)模型文件中的節(jié)點(diǎn),需要使用到vrnode、getfield、setfield 等方法函數(shù)。其中vrnode 用于創(chuàng)建一個(gè)指定類型的節(jié)點(diǎn),同時(shí)給該節(jié)點(diǎn)賦給一個(gè)名稱,或者用于在指定節(jié)點(diǎn)上創(chuàng)建一個(gè)新的節(jié)點(diǎn);getfield 用于獲取指定節(jié)點(diǎn)指定屬性的內(nèi)容;setfield用于對指定節(jié)點(diǎn)的指定屬性進(jìn)行賦值。例如,要在場景中增加一個(gè)球幾何體,并將其半徑強(qiáng)制設(shè)置為0.1,可采用如下程序:
裝備方案需求論證時(shí)能夠產(chǎn)生具體的頂層指標(biāo)需求,但其可實(shí)現(xiàn)性往往受到現(xiàn)實(shí)條件的制約,尤其具體到某一問題的機(jī)理時(shí),由于需求方與供應(yīng)方的專業(yè)方向的不同,在缺乏描述工具支撐的時(shí)候,會(huì)對問題的理解產(chǎn)生謬誤。這種問題往往會(huì)從早期的功能及指標(biāo)制定蔓延至整個(gè)研制過程,從而造成不必要的損失。這樣情形也普遍存在于總體單位對分系統(tǒng)單位的任務(wù)描述中,因此有必要給該階段提供工具支持,以提高問題描述的準(zhǔn)確性、直觀性。VRML具有易學(xué)易用的特點(diǎn),特別是其中提供了可視化編輯工具V-Realm Builder,使得不熟悉VRML 的人也容易參與到問題描述中來,大大提高了裝備方案需求論證的運(yùn)作效率和準(zhǔn)確程度。
以圖1 為例,在進(jìn)行某近場成像原理樣機(jī)的論證時(shí),與會(huì)人員對近場成像雷達(dá)工作過程與波束角對場景覆蓋的理解上不甚清晰,用傳統(tǒng)方式描述這樣的一個(gè)三維工作過程存在難度,解決的方法是:對該場景進(jìn)行快速準(zhǔn)確的建模,并在微縮模型的周邊放置參考點(diǎn),用參考點(diǎn)結(jié)合信號(hào)處理過程將問題表達(dá)清楚,同時(shí)用三維瀏覽器將整個(gè)過程結(jié)合MATLAB 編程將過程中的每步的運(yùn)動(dòng)軌跡和信號(hào)都表達(dá)出來。
本文提出的方法并不依賴傳統(tǒng)的CAD 設(shè)計(jì),其特色是為裝備方案論證提供了一種具有強(qiáng)烈現(xiàn)實(shí)感的工具支撐,大大提高了問題表達(dá)的準(zhǔn)確性、人員的討論參與深度。
采用MATLAB 的虛擬現(xiàn)實(shí)工具箱函數(shù),可以訪問VRML 格式的三維模型數(shù)據(jù),從而實(shí)現(xiàn)了MATLAB 對三維數(shù)據(jù)的讀取。當(dāng)前,絕大部分CAD 軟件中建立的模型都可以導(dǎo)出為VRML 格式,這些均為基于MATLAB/VRML 三維模型的科學(xué)計(jì)算研究提供了更加便利的數(shù)據(jù)輸入輸出的渠道,消除了不同工具間的交互障礙。
圖1 采用V-Realm Builder 進(jìn)行可視化編輯
目標(biāo)電磁波散射特性研究在雷達(dá)領(lǐng)域各方面有著廣泛、持久的應(yīng)用,如基于回波數(shù)據(jù)的目標(biāo)識(shí)別、雷達(dá)導(dǎo)引頭的建模仿真、半實(shí)物仿真等。目標(biāo)電磁波散射特性研究大多是基于電磁波在介質(zhì)表面的散射模型進(jìn)行研究,更加深入的研究也考慮電磁波從目標(biāo)到場景的二次反射,因而會(huì)使用到模型的三維幾何數(shù)據(jù)(特別是表面幾何數(shù)據(jù))及場景的表面數(shù)據(jù)[4]。VRML 具備對模型和場景的表述能力,因而可以為目標(biāo)電磁波散射特性研究提供三維幾何數(shù)據(jù)的工具支撐。如圖2所示,MATLAB 可以從VRML模型中獲取的三維數(shù)據(jù),并用plot3 函數(shù)繪制的幾何表面效果。
圖2 采用MATLAB 虛擬現(xiàn)實(shí)工具箱函數(shù)讀取的三維幾何數(shù)據(jù)
模型數(shù)據(jù)可從一些軟件庫中獲取,還有一些互聯(lián)網(wǎng)上公開的數(shù)據(jù)可用,但是這些模型采用的方法往往是以大塊的規(guī)則幾何表面對外形進(jìn)行描繪,這樣直接得到的是關(guān)鍵點(diǎn)數(shù)據(jù),因而表現(xiàn)得不夠精細(xì)。要獲得所有需要的幾何數(shù)據(jù),往往需要對關(guān)鍵點(diǎn)數(shù)據(jù)進(jìn)行插值方可得到。如果數(shù)據(jù)是從設(shè)計(jì)單位自身而來,就不存在這樣的問題,得到的幾個(gè)散射點(diǎn)分布也更加精準(zhǔn)。
MATLAB 集成的V-Realm Builder 工具中有涵蓋幾乎所有領(lǐng)域的典型模型,特別是包括了世界軍事上著名的武器模型,包括地面、海面、空中乃至太空的型號(hào)產(chǎn)品,這些模型的尺寸與外形與實(shí)際貼合程度非常高,如圖3所示的就是從模型庫中調(diào)出的F-117、米格25 型飛機(jī)模型。
圖3 V-Realm Builder 目標(biāo)庫中的典型軍事目標(biāo)三維模型
VRML 作為一種由國際標(biāo)準(zhǔn)化組織定義的在網(wǎng)絡(luò)上表達(dá)三維數(shù)據(jù)的文件格式,它定義了當(dāng)今應(yīng)用中的絕大多數(shù)3D 常見概念,諸如坐標(biāo)的移動(dòng)、旋轉(zhuǎn)、視點(diǎn)、光照、材質(zhì)屬性、紋理映像、動(dòng)畫、霧以及嵌套結(jié)構(gòu)等。MATLAB 的工具箱提供的面向?qū)ο缶幊毯瘮?shù)可以實(shí)現(xiàn)對這些模型的靈活簡便的操作,同時(shí)可以發(fā)揮MATLAB 語言作為科學(xué)計(jì)算工具強(qiáng)大的建模、仿真、繪圖功能。
利用MATLAB/VRML 可以快速地定義一個(gè)場景,并使用MATLAB 對于其中的幾何體的位置、姿態(tài)等進(jìn)行隨時(shí)間維、或事件形式的觸發(fā),從而實(shí)現(xiàn)在虛擬戰(zhàn)場場景下各個(gè)武器裝備的虛擬戰(zhàn)斗過程的展示。地形表達(dá)可以使用實(shí)際地理測繪部門專業(yè)提供或互聯(lián)網(wǎng)上公開的DEM 高程數(shù)據(jù),對地勢環(huán)境利用VRML 的網(wǎng)格模型進(jìn)行逼真地展示,從而形成了一個(gè)高效的電子沙盤地圖[5]。
圖4 展示的是一架波音747 飛機(jī)從圣弗朗西斯克地形上方飛過的場景。其中的飛機(jī)就是從V-Realm Builder 的空中目標(biāo)庫獲取的幾何外形數(shù)據(jù)生成,地勢效果是通過實(shí)際的粗糙的地理DEM 數(shù)據(jù)初始化的網(wǎng)格,并進(jìn)行了紋理貼圖而形成的。在這個(gè)例子中,可使用MATLAB 語言對飛機(jī)的移動(dòng)、旋轉(zhuǎn)屬性進(jìn)行設(shè)置,從而方便地產(chǎn)生飛機(jī)在場景中飛行的動(dòng)畫效果。
圖4 電子沙盤建模實(shí)例
在雷達(dá)驗(yàn)證試驗(yàn)時(shí)雷達(dá)自身及其配試目標(biāo)都裝配有慣導(dǎo),可以將這些慣導(dǎo)數(shù)據(jù)進(jìn)行匯總結(jié)合測繪部門的地理DEM 數(shù)據(jù),將整個(gè)試驗(yàn)“實(shí)戰(zhàn)”過程記錄并展示出來,其意義就不僅僅限于演示用途了,還可以開展不同地勢對雷達(dá)偵察影響的分析,便于開展復(fù)雜環(huán)境下雷達(dá)功能及測量性能的評估[6]。
MATLAB 提供的虛擬現(xiàn)實(shí)工具箱降低了普通雷達(dá)科研工作者進(jìn)行三維建模的難度,基于工具箱函數(shù)提供的編程接口能夠?qū)崿F(xiàn)對VRML 模型的無縫操作。采用MATLAB/VRML 進(jìn)行建模和仿真,具有編程接口簡單、可視化程度高的特點(diǎn),因而可顯著提高雷達(dá)研發(fā)某些環(huán)節(jié)的工作效率。
[1]楊明亞,楊穎潔.從PRO/E、3ds MAX、Auto-CAD 到VRML 的建模比較[J].工業(yè)控制計(jì)算機(jī),2010,23(11):75-78.
[2]張家祥,羅雪山,方凌江,毛全勝.用MATLAB的虛擬現(xiàn)實(shí)工具箱進(jìn)行飛機(jī)起飛模擬[J].計(jì)算機(jī)仿真,2003,20(4):66-68.
[3]孫濟(jì)洲,王義豹,余亞濱.VRML 虛擬現(xiàn)實(shí)建模語言[M].天津:天津大學(xué)出版社,1998.
[4]徐豐.全極化合成孔徑雷達(dá)的正向與逆向遙感理論[D].上海:復(fù)旦大學(xué),2007.
[5]彭儀普,李延山.基于VRML 的三維地形場景生成[J].計(jì)算機(jī)工程,2003,29(10):38-40.
[6]吉兵,單甘霖,陳海.基于VRML 和目標(biāo)航跡的視景仿真方法[J].系統(tǒng)仿真學(xué)報(bào),2011,23(9):1900-1904.