東北大學通信與信息系統(tǒng)研究所 沙 毅 王志遠 隋金坪 候淇濱
嵌入式智能沙盤上位機的實現(xiàn)與研究
東北大學通信與信息系統(tǒng)研究所 沙 毅 王志遠 隋金坪 候淇濱
沙盤在當今社會尤其是戰(zhàn)爭方面仍然扮演舉足輕重的角色。虛擬電子沙盤與實物沙盤的結(jié)合更能反應(yīng)出真實的地形地貌,給人以大局與細節(jié)的統(tǒng)籌。本文采用模擬簡單山地地形,深入淺出地詳細闡述智能沙盤系統(tǒng)的幾大主要模塊技術(shù):地形三維數(shù)據(jù)的處理技術(shù),PC機上的可視化技術(shù),嵌入式控制技術(shù),等。
智能沙盤;嵌入式;地形仿真
隨著科學技術(shù)的發(fā)展,我國也在加快軍隊信息化現(xiàn)在化建設(shè)的腳步,作為非常重要的作戰(zhàn)工具——沙盤,沙盤的智能化對部隊信息化建設(shè)起到了非常重要的作用。
目前普通沙盤只能對一塊地形或一個建筑群進行模擬,要想再獲取其他地形地貌的信息,就必須另制沙盤。智能沙盤可以靈活多變,不拘泥于一種地形的限制,從環(huán)保角度考慮,節(jié)約了大量的原材料以及資金,從時間角度考慮,通過傳來的三維數(shù)據(jù),可以快速的模擬出不同地區(qū)的地形地貌,并同時配以三維仿真技術(shù)進行效果輔助。
智能沙盤其原理是利用步進電機陣列(軸桿)托起沙盤平面,通過控制電機,使陣列各個軸桿上升不同高度,以構(gòu)成各種各樣的沙盤地形。通過嵌入式操作系統(tǒng)可以實現(xiàn)一個智能沙盤的重復(fù)利用。通過曲面擬合算法、曲面分割采點等算法對目標地區(qū)相應(yīng)地理三維數(shù)據(jù)、地理信息進行處理、整合,再結(jié)合嵌入式技術(shù),控制步進電機從而模擬出目標地區(qū)地形地貌,并同時在PC機上配以基于VC++ OPENGL的三維仿真效果。其主體結(jié)構(gòu)框圖及實現(xiàn)流程圖如圖1、圖2。
圖1 主體結(jié)構(gòu)框圖
圖2 智能沙盤實現(xiàn)流程圖
3.1.1 數(shù)據(jù)高程模型(DEM)簡介與獲取
DEM是一定范圍內(nèi)規(guī)格網(wǎng)點的平面坐標(x,y)及高程(z)的數(shù)據(jù)集,主要是描述區(qū)域地貌形態(tài)空間分布,由其可派生出等高線.坡度圖等信息。建立DEM的常用方法主要有以下幾種:
(1)直接從地面測量。
(2)根據(jù)航拍測量途徑獲取數(shù)據(jù)。
(3)從現(xiàn)有地形圖上采集。
3.1.2 地形曲面的插值擬合
在地形曲面的插值擬合中,是基于matlab中的griddata函數(shù)完成的。Matlab中的griddata函數(shù)可以將位于同一空間坐標系下的散點插值為規(guī)則格網(wǎng),提供了包括基于Dclaunay三角形的線性插值、三次多項式插值及最近點插值,可以方便地實現(xiàn)結(jié)合鄰近離散點分布特征的光滑曲面擬合。
3.1.3 地形數(shù)據(jù)的采樣
根據(jù)硬件部分所有電機進行矩陣排列,在matlab中對所擬合好的曲面進行曲面分割,此過程是基于matlab中的interp2函數(shù)完成的,使得采樣出的每個高程數(shù)據(jù)都能對應(yīng)相應(yīng)位置的步進電機。將采出的的高程數(shù)據(jù)進行數(shù)據(jù)等價轉(zhuǎn)換,轉(zhuǎn)換為電機旋轉(zhuǎn)的脈沖,通過串口傳輸至嵌入式控制模塊。
圖3
數(shù)據(jù)的插值擬合、采樣部分代碼如下:
3.1.4 matlab的后續(xù)處理
在完成插值擬合,采點的基礎(chǔ)上,借助matlab,可以觀察到插值擬合后的真實圖樣,以及由采樣點形成的仿真圖樣,可以通過兩圖的對比,可以觀察到兩者之間是否存在較大差異,若出現(xiàn)較大差異,則可通過增多或改變采點模式來改善仿真圖樣,以使其更加接近真實圖樣,使其真實展示現(xiàn)實。另外可借助matlab中的contour3(),contour()來顯示地形的三維等高線和二維等高線,使非常直接的清楚的了解地形特征。(圖形為隨意舉例出的,見圖3、圖4)
圖4
3.2.1 OPENGL簡介
PC仿真是基于VC6.0上封裝的OPENGL圖形庫完成的。OpenGL是一個開放的三維圖形軟件包,它獨立于窗口系統(tǒng)和操作系統(tǒng),以它為基礎(chǔ)開發(fā)的應(yīng)用程序可以十分方便地在各種平臺間移植;OpenGL可以與V C++緊密接口,便于實現(xiàn)機械手的有關(guān)計算和圖形算法,可保證算法的正確性和可靠性;OpenGL使用簡便,效率高。它具有七大功能:包括建模、變換、顏色模式設(shè)置、光照和材質(zhì)設(shè)置、紋理映射、位圖顯示和圖像增強、雙緩存動畫等功能,可以逼真的仿真模擬出地形,是實現(xiàn)沙盤PC機上可視化的最佳開發(fā)平臺。
3.2.2 仿真地形的生成
3.2.2.1 場景坐標系
在從場景物體位置轉(zhuǎn)化成設(shè)備坐標系位置,最后物體顯示在屏幕上的過程中存在四種坐標系:建模坐標系(Modeling Coordinate),世界坐標系(World Coordingate),規(guī)范化設(shè)備坐標系(Normalized Device Coordinate)和設(shè)備坐標系(Device Coordinate)。
3.2.2.2 圖形變換
圖5 頂點變換過程
圖6 云的繪制流程圖
三維圖形的顯示是一個復(fù)雜的過程,首先將世界坐標系中的三維物體經(jīng)過一系列三維幾何變換,為了使要顯示的物體位置、大小和方向適當,還必須要經(jīng)過投影,然后在通過定義一個三維視景對物體進行裁剪,只顯示出投影在視景內(nèi)的部分;接著在屏幕窗口內(nèi)定義一個矩形,稱為視口,視景體投影后的圖形就在該視口內(nèi)顯示;最后通過再做一些適當變換,使圖形在屏幕坐標系中顯示出來。
在基本OPengl渲染過程中主要有以下幾種變換:
(1)視圖變換:用于指定觀察者的位置和方向。在一個場景中,我們希望改變觀察者的位置和觀察者角度。用于改變觀察者方位和角度的變換,就是視圖變換。觀察者位于點(0,0,0),且視線朝著-Z方向。也就是說,只有在Z<0的地方繪圖,才有可能被觀察到。
(2)模型視圖變換:移動和變換場景中的模型。此變換用于移動和旋轉(zhuǎn)場景中的物體。使用模型視圖變換完全可以代替視圖變換。模型變換主要包括:模型平移glTranslate{fd}(TYPEx,TYPEy,TYPEz);模型旋轉(zhuǎn)glRotate{fd}(TYPE angle,TYPEx,TYPEy,TYPEz);模型縮放glScale{fd}(TYPEx,TYPEy,TYPEz)。
(3)投影變換:對視見空間進行裁剪和扭曲;投影變換有兩種形式,及平行投影變換和透視投影變換。透視投影變換,對于相同大小的物體,離視點越近投影越大,離視點越遠投影越小,遠到極點時消失成為滅點。平行投影,無論物體距離相機多遠,投影后的物體大小尺寸不變。平行投影直接把物體投影到屏幕上,反映了物體的真實大小,主要用于工程圖紙繪制方面。
(4)視口變換:對最終輸出進行縮放;視口變換就是將視景體內(nèi)投影的物體顯示在二維的視口平面上。運用相機模擬方式,將經(jīng)過幾何變換、投影變換和裁剪變換后的物體顯示于屏幕窗口內(nèi)指定的區(qū)域內(nèi)。
下面簡單介紹頂點變換過程:OpenGL將圖形顯示在屏幕上要經(jīng)過多個變換過程,對應(yīng)三維圖形顯示過程,OpenGL中物體頂點的變換過程如圖5所示。
3.2.2.3 光照系統(tǒng)的設(shè)置
光照系統(tǒng)主要分為光源、模型材質(zhì)、光照模型三個部分。材質(zhì)是指構(gòu)成三維實體的材料在光照模型中對于紅、綠、藍、三原色的反射率,其定義分為環(huán)境、漫射、鏡面反射成分,通過材質(zhì)定義可以大大提高所繪制的三維場景的逼真度。而光照模型主要有環(huán)境光、漫射光、反射光等??杀普婺7抡鎸嵐庠葱Ч?。
3.2.2.4 紋理映射
顏色紋理生成的方法一般是預(yù)先定義紋理模式,然后在物體表面的點與紋理模式的點之間建立對應(yīng)關(guān)系,即物體空間與紋理空間對應(yīng)。當物體表面的可見點確定后,接著用紋理模式的對應(yīng)點參與到光照模型計算中,這樣就可把紋理模式加在物體表面上。紋理映射技術(shù)將在現(xiàn)實世界拍攝的位圖文件映射到物體的表面,使我們感覺到物體的外觀與現(xiàn)實世界中的真實物體一樣,增強了所繪制物體的真實感。該過程采用的是BMP格式的位圖。
3.2.2.5 仿真地形天空的生成
在進行虛擬3D場景構(gòu)建時,一般都需要生成天空場景。在此采用盒子的方法生成天空,這種方法是首先繪制一個多邊形,然后再進行紋理貼圖。當紋理貼圖使用得很好時盒子式的天空也會取得很好的視覺效果。但當紋理使用不當時在一個較大多邊形邊上的紋理易產(chǎn)生拉伸變形。此方法通常在繪制透過窗戶的天空時被采用,而在繪制戶外場景時不適合采用,天空中的云也是采用紋理貼圖技術(shù)來實現(xiàn)的,圖6是云的繪制流程圖。
3.2.2.6 山地起伏的實現(xiàn)
在地理科學描述山地的方法,一般使用山地等高線來描述。等高線圖可以形象地反映山地的情況,在計算機圖形處理技術(shù)上,等高線地圖給我們提供了還原山勢地貌的可行性。該過程中,采用灰度等高線圖,用黑白色的深淺表示山勢的高低。使用InitTerrain(…)建立地域數(shù)組函數(shù),由圖形讀出對應(yīng)點高度,灰度等高線圖的制作可通過matlab完成,可利用matlab中的mat2gray()函數(shù)進行繪制,最終再進過Photo shop的加工修飾就可得到(見圖7)。
3.2.2.7 3DS模型導(dǎo)入
模型信息包括模型的頂點,圖元類型,頂點法線,模型的材質(zhì)等,但由于openGL只提供了最基本的圖元繪制方法,所以在繪制具有大量圖元的復(fù)雜物體時,顯得力不從心。由于。3ds模型文件格式是很常用的格式,所以采用3DSMax建模,可根據(jù)地形需要在3DSMax進行建模,后根據(jù)其所在位置,進行導(dǎo)入。這樣就可使觀察者有未到其地,便觀其物之感。
圖7 灰度等高線圖
智能沙盤新型靈活,并可重復(fù)使用。所采用的技術(shù)手段具有面向性,并不針對某一特定地區(qū),原則上只要我們可以獲取目標地區(qū)三維數(shù)據(jù)信息,即可應(yīng)用智能沙盤進行模擬,方便快捷,而且節(jié)約材料,可重復(fù)利用,有利于環(huán)境保護和可持續(xù)發(fā)展。
[1]費廣正,喬林編著.Visual C++6.0高級編程技術(shù)OPENGL篇[M].北京:中國鐵道出版社,2000,9.
[2][美]Dave Shreiner主編。OPENGL編程指南[M].機械工業(yè)出版社,2010,3.
[3][美]亨塞爾曼編著.精通Matlab7[M].清華大學出版社,2006,5.
[4]柳超,卜淮原.虛擬電子沙盤實現(xiàn)技術(shù)探析[J].重慶工業(yè)高等專科學校校報,2002,3.
[5]陳本富,王貴武等.基于Matlab的數(shù)據(jù)處理方法在GPS高程擬合中的應(yīng)用[J].昆明理工大學學報,2009,10.
沙毅(1959—),男,東北大學通信與信息系統(tǒng)研究所副教授,1982年7月獲得北京航空航天大學無線電通訊專業(yè)學士學位,1988年4月獲西北工業(yè)大學數(shù)字信號處理方向碩士學位,2000年9月晉升為副教授,主要研究方向:軟件無線電理論與應(yīng)用技術(shù)研究,圖像處理與識別技術(shù)研究,嵌入工系統(tǒng)與FPGA、DSP技術(shù)研究,GPS與GSM/GPRS結(jié)合的定位和跟蹤系統(tǒng)研究,無線射頻卡(RFID)應(yīng)用技術(shù)研究。