徐 瑋 董 錦 李 濤 孔祥輝
(西安電子工程研究所 西安 710100)
隨著設計自動化和計算機仿真技術的進步,人們對設計工具和仿真軟件的要求也越來越高,雖然傳統設計工具如AutoCAD、PRO/E、3ds MAX 對設計與加工支持很好,但對視景生成、動態交互等方面卻力不從心[1]。MATLAB 在6.1 版本后增加了對于VRML 的3D 模擬和可視化的支持[2],具備良好的編輯、顯示、編程接口,能夠與VRML 語言格式的虛擬現實模型進行無縫交互。本文詳細介紹了用MATLAB/VRML 語言對模型進行操作的方式方法,并探索了該工具箱在雷達研發的多個環節中的應用,并分別給出了應用實例。本文就如何使用MATLAB/VRML 的新特性,并在雷達研發哪些環節可以使用該工具進行了分析,希望可以為雷達系統中論證、展示、仿真等環節面臨的一些現實問題找到更為合理的解決途徑。
虛擬現實工具箱面向的是基于VRML 語言格式的模型,這里涉及一種建模語言VRML(Virtual Reality Modeling Language)。VRML 采用的是一種符合ISO 標準的開放的、文本標記形式的文件格式[3],這種格式可以用于創建任意形式的虛擬現實的模型或其場景,創建的模型可以在特定的以太網瀏覽器或其它查看器中展現其三維形態或其在三維場景中的效果。
采用虛擬現實工具箱可以使Matlab 與VRML語言格式的虛擬現實模型進行無縫連接,并使用MATLAB 語言對模型進行操作,以三維動畫可視化的方式展示出來。采用虛擬現實工具箱可以完成許多常用操作。
(1)模型操作:可以創建、編輯、保存基于VRML 的三維虛擬現實模型,也可以讀取已創建存在的模型。
(2)動畫查看:可以采用MATLAB 語言對三維場景中的對象的諸多屬性諸如位置、航向角、橫滾角、縱搖角進行實時修改和查看,從而可以使對象在場景中的平動或轉動以三維動畫的方式呈現。
MATLAB 語言采用面向對象的訪問函數實現了對虛擬現實模型的訪問和查看。其中訪問虛擬現實模型使用到兩個對象:vrworld、vrnode;而查看虛擬現實模型常使用到一個對象vrfigure。各個對象提供了規定范圍的操作方法函數,實現了相應的操作。
(1)vrworld 的常用方法函數
要連接虛擬現實模型文件,可使用vrworld、open、view、get 等方法函數。其中vrworld 用于創建一個與虛擬現實模型文件關聯的對象;open 用于打開虛擬現實模型文件,以便進行文件中各個模型節點的訪問;view 用于觀看虛擬現實模型文件;get 可以用于獲取文件中的各個已命名節點。例如:

(2)vrnode 的常用方法
訪問虛擬現實模型文件中的節點,需要使用到vrnode、getfield、setfield 等方法函數。其中vrnode 用于創建一個指定類型的節點,同時給該節點賦給一個名稱,或者用于在指定節點上創建一個新的節點;getfield 用于獲取指定節點指定屬性的內容;setfield用于對指定節點的指定屬性進行賦值。例如,要在場景中增加一個球幾何體,并將其半徑強制設置為0.1,可采用如下程序:


裝備方案需求論證時能夠產生具體的頂層指標需求,但其可實現性往往受到現實條件的制約,尤其具體到某一問題的機理時,由于需求方與供應方的專業方向的不同,在缺乏描述工具支撐的時候,會對問題的理解產生謬誤。這種問題往往會從早期的功能及指標制定蔓延至整個研制過程,從而造成不必要的損失。這樣情形也普遍存在于總體單位對分系統單位的任務描述中,因此有必要給該階段提供工具支持,以提高問題描述的準確性、直觀性。VRML具有易學易用的特點,特別是其中提供了可視化編輯工具V-Realm Builder,使得不熟悉VRML 的人也容易參與到問題描述中來,大大提高了裝備方案需求論證的運作效率和準確程度。
以圖1 為例,在進行某近場成像原理樣機的論證時,與會人員對近場成像雷達工作過程與波束角對場景覆蓋的理解上不甚清晰,用傳統方式描述這樣的一個三維工作過程存在難度,解決的方法是:對該場景進行快速準確的建模,并在微縮模型的周邊放置參考點,用參考點結合信號處理過程將問題表達清楚,同時用三維瀏覽器將整個過程結合MATLAB 編程將過程中的每步的運動軌跡和信號都表達出來。
本文提出的方法并不依賴傳統的CAD 設計,其特色是為裝備方案論證提供了一種具有強烈現實感的工具支撐,大大提高了問題表達的準確性、人員的討論參與深度。
采用MATLAB 的虛擬現實工具箱函數,可以訪問VRML 格式的三維模型數據,從而實現了MATLAB 對三維數據的讀取。當前,絕大部分CAD 軟件中建立的模型都可以導出為VRML 格式,這些均為基于MATLAB/VRML 三維模型的科學計算研究提供了更加便利的數據輸入輸出的渠道,消除了不同工具間的交互障礙。

圖1 采用V-Realm Builder 進行可視化編輯
目標電磁波散射特性研究在雷達領域各方面有著廣泛、持久的應用,如基于回波數據的目標識別、雷達導引頭的建模仿真、半實物仿真等。目標電磁波散射特性研究大多是基于電磁波在介質表面的散射模型進行研究,更加深入的研究也考慮電磁波從目標到場景的二次反射,因而會使用到模型的三維幾何數據(特別是表面幾何數據)及場景的表面數據[4]。VRML 具備對模型和場景的表述能力,因而可以為目標電磁波散射特性研究提供三維幾何數據的工具支撐。如圖2所示,MATLAB 可以從VRML模型中獲取的三維數據,并用plot3 函數繪制的幾何表面效果。

圖2 采用MATLAB 虛擬現實工具箱函數讀取的三維幾何數據
模型數據可從一些軟件庫中獲取,還有一些互聯網上公開的數據可用,但是這些模型采用的方法往往是以大塊的規則幾何表面對外形進行描繪,這樣直接得到的是關鍵點數據,因而表現得不夠精細。要獲得所有需要的幾何數據,往往需要對關鍵點數據進行插值方可得到。如果數據是從設計單位自身而來,就不存在這樣的問題,得到的幾個散射點分布也更加精準。
MATLAB 集成的V-Realm Builder 工具中有涵蓋幾乎所有領域的典型模型,特別是包括了世界軍事上著名的武器模型,包括地面、海面、空中乃至太空的型號產品,這些模型的尺寸與外形與實際貼合程度非常高,如圖3所示的就是從模型庫中調出的F-117、米格25 型飛機模型。

圖3 V-Realm Builder 目標庫中的典型軍事目標三維模型
VRML 作為一種由國際標準化組織定義的在網絡上表達三維數據的文件格式,它定義了當今應用中的絕大多數3D 常見概念,諸如坐標的移動、旋轉、視點、光照、材質屬性、紋理映像、動畫、霧以及嵌套結構等。MATLAB 的工具箱提供的面向對象編程函數可以實現對這些模型的靈活簡便的操作,同時可以發揮MATLAB 語言作為科學計算工具強大的建模、仿真、繪圖功能。
利用MATLAB/VRML 可以快速地定義一個場景,并使用MATLAB 對于其中的幾何體的位置、姿態等進行隨時間維、或事件形式的觸發,從而實現在虛擬戰場場景下各個武器裝備的虛擬戰斗過程的展示。地形表達可以使用實際地理測繪部門專業提供或互聯網上公開的DEM 高程數據,對地勢環境利用VRML 的網格模型進行逼真地展示,從而形成了一個高效的電子沙盤地圖[5]。
圖4 展示的是一架波音747 飛機從圣弗朗西斯克地形上方飛過的場景。其中的飛機就是從V-Realm Builder 的空中目標庫獲取的幾何外形數據生成,地勢效果是通過實際的粗糙的地理DEM 數據初始化的網格,并進行了紋理貼圖而形成的。在這個例子中,可使用MATLAB 語言對飛機的移動、旋轉屬性進行設置,從而方便地產生飛機在場景中飛行的動畫效果。

圖4 電子沙盤建模實例
在雷達驗證試驗時雷達自身及其配試目標都裝配有慣導,可以將這些慣導數據進行匯總結合測繪部門的地理DEM 數據,將整個試驗“實戰”過程記錄并展示出來,其意義就不僅僅限于演示用途了,還可以開展不同地勢對雷達偵察影響的分析,便于開展復雜環境下雷達功能及測量性能的評估[6]。
MATLAB 提供的虛擬現實工具箱降低了普通雷達科研工作者進行三維建模的難度,基于工具箱函數提供的編程接口能夠實現對VRML 模型的無縫操作。采用MATLAB/VRML 進行建模和仿真,具有編程接口簡單、可視化程度高的特點,因而可顯著提高雷達研發某些環節的工作效率。
[1]楊明亞,楊穎潔.從PRO/E、3ds MAX、Auto-CAD 到VRML 的建模比較[J].工業控制計算機,2010,23(11):75-78.
[2]張家祥,羅雪山,方凌江,毛全勝.用MATLAB的虛擬現實工具箱進行飛機起飛模擬[J].計算機仿真,2003,20(4):66-68.
[3]孫濟洲,王義豹,余亞濱.VRML 虛擬現實建模語言[M].天津:天津大學出版社,1998.
[4]徐豐.全極化合成孔徑雷達的正向與逆向遙感理論[D].上海:復旦大學,2007.
[5]彭儀普,李延山.基于VRML 的三維地形場景生成[J].計算機工程,2003,29(10):38-40.
[6]吉兵,單甘霖,陳海.基于VRML 和目標航跡的視景仿真方法[J].系統仿真學報,2011,23(9):1900-1904.