劉 慧,楊書凱,劉 敏,魯成杰,楊俊賢
(山東省科學院海洋儀器儀表研究所,山東 青島 266001)
基于GLScene的潛標姿態(tài)回放系統(tǒng)
劉 慧,楊書凱,劉 敏,魯成杰,楊俊賢
(山東省科學院海洋儀器儀表研究所,山東 青島 266001)
論述了三維可視化場景建立過程中如何應(yīng)用GLScene實現(xiàn)上浮下潛浮標模型的建立、調(diào)入和姿態(tài)回放過程。建立了上浮下潛浮標的模型,顯示了上浮下潛浮標的運動軌跡和在各階段的運動姿態(tài),最后給出了上浮下潛浮標運動過程中的場景效果圖。
GLScene;潛標;姿態(tài)
上浮下潛浮標系統(tǒng)(以下簡稱潛標系統(tǒng))是一種可以搭載多種傳感器進行海洋剖面數(shù)據(jù)調(diào)查的重要技術(shù)裝備。潛標裝備有絞車和水下電機,平時工作在水下,利用自身動力按設(shè)定時間定時下潛和上浮,并在上浮或下潛過程中采集海洋剖面的數(shù)據(jù),如圖1所示。由于潛標系統(tǒng)一般不具備與用戶實時通信功能,因此潛標回收后,對潛標記錄姿態(tài)數(shù)據(jù)的回放非常重要,它是確認潛標是否正常工作和進行故障分析的重要依據(jù)[1]。利用潛標姿態(tài)變化曲線可以對潛標的工作過程進行分析研究,但由于潛標運動過程具有多個自由度[2],會同時進行橫搖、縱搖、旋轉(zhuǎn)和位置變化,所以單獨使用曲線進行姿態(tài)分析還并不夠直觀。因此筆者提出了利用潛標姿態(tài)數(shù)據(jù)通過三維圖形技術(shù)在三維空間重建潛標工作過程的方法,該方法對于分析潛標的工作過程,驗證潛標系統(tǒng)的設(shè)計,研究潛標姿態(tài)變化規(guī)律與波浪、潮汐和海流的關(guān)系都有重要的意義。
圖1 潛標系統(tǒng)結(jié)構(gòu)示意圖
當前三維圖形技術(shù)已經(jīng)非常成熟,并廣泛應(yīng)用在軍事、航海、航天等領(lǐng)域。它以一種更為直觀有效的方式極大地提高了效率并節(jié)省了資源,例如美國著名的毒刺導彈虛擬訓練系統(tǒng)[3]。但是直接進行三維圖形的編程非常復(fù)雜,技術(shù)人員通常通過3D圖形編程接口進行編程。其中最為人熟知的3D圖形編程接口是OpenGL和Direct3D。雖然通過OpenGL和Direct3D等3D圖形編程接口編程已經(jīng)減少了編程人員的大量工作量,但三維圖形編程仍然十分復(fù)雜。GLScene是一套基于OpenGL圖形編程接口的3D圖形引擎,它對OpenGL的API進行了進一步的封裝,提供了豐富的圖形接口資源。GLScene圖形引擎使得三維圖形編程更加簡單,也使編程人員可以將精力更專注于實際應(yīng)用,而不是三維圖形編程本身。文中使用Delphi和GLScene圖形引擎完成潛標姿態(tài)回放系統(tǒng)的軟件設(shè)計,不僅降低了三維圖形編程的復(fù)雜度,也縮短了開發(fā)周期。
GLScene場景主要包括基本場景、攝像機、燈光系統(tǒng)、基本物體、材質(zhì)貼圖和場景觀察器等要素。
首先需要建立基本場景,基本場景是所有其它物體的父容器,構(gòu)建的所有可視物體或特效都將在場景中顯示;然后需要建立潛標系統(tǒng)的三維模型,目前建立三維模型的專業(yè)軟件有 AutoCAD、3DS Max、Creator等,GLScene 自帶的場景編輯器也提供一些基本的幾何形狀用于創(chuàng)建較簡單的模型[4],由于潛標的幾何形狀比較簡單,實際應(yīng)用中采用了GLScene場景編輯器創(chuàng)建潛標的三維模型,潛標的三維模型如圖2所示。其次需要添加攝像機,攝像機是場景和用戶之間的視覺接口,用戶只有通過攝像機才能觀察場景中的內(nèi)容,攝像機的類型可設(shè)為默認的透視攝像機,其他的參數(shù)如景深、焦距、方向和場景縮放等屬性也可根據(jù)要求設(shè)置。再次需要添加燈光并設(shè)置相應(yīng)屬性,燈光的設(shè)置很大程度上決定了場景效果,一個OpenGL場景中最多支持8盞燈光,過多的燈光將使渲染速度降低。最后需要設(shè)置場景觀察器相關(guān)屬性,它的主要屬性是攝像機的選擇。
圖2 潛標的三維模型圖
上述過程只是建立了GLScene的三維場景,實際程序還需要通過編程建立場景中三維潛標模型與姿態(tài)數(shù)據(jù)的關(guān)聯(lián)。三維場景中主要通過以下6個屬性控制潛標模型的6個自由 度 變 化 :Position.X,Position.Y,Position.Z,PitchAngle,TurnAngle,RollAngle,即潛標的位置和潛標的橫搖、縱搖、旋轉(zhuǎn)的角度。
潛標姿態(tài)回放系統(tǒng)是國際合作項目“自升沉式上浮下潛浮標系統(tǒng)”中數(shù)據(jù)回放系統(tǒng)的一個子模塊,主要負責完成對潛標運動姿態(tài)數(shù)據(jù)的回放和分析,為用戶提供一個簡潔友好的人機界面。
潛標姿態(tài)動態(tài)回放系統(tǒng)的主界面如圖3所示。主要包括潛標姿態(tài)三維場景顯示窗口1、深度顯示標尺2、儀表盤窗口3、動態(tài)曲線顯示窗口4、回放速率選擇旋鈕5和回放控制面板6。
圖3 潛標姿態(tài)回放系統(tǒng)主界面
潛標姿態(tài)三維場景顯示窗口可以根據(jù)回放的潛標姿態(tài)數(shù)據(jù)以三維圖形方式同步顯示潛標的姿態(tài)和深度變化。而且用戶可以用鼠標拖動潛標模型旋轉(zhuǎn)到任意角度,可以模擬用戶在各個角度觀察潛標姿態(tài)的變化,如圖4所示。
儀表盤窗口動態(tài)顯示潛標姿態(tài)的橫搖傾角X和縱搖傾角Y和上浮下潛速度V。儀表盤可以以比較直觀的方式顯示潛標姿態(tài)傾角變化和速度變化的幅度,超過正常范圍的傾角值和深度值在儀表盤上以紅色表示,可以給用戶以醒目的提示。
圖4 在不同視角下潛標三維模型圖
曲線顯示窗口可以通過選擇分別顯示潛標姿態(tài)、深度、速度、加速度曲線。曲線相比儀表盤顯示可以更直觀地顯示潛標姿態(tài)在一定時間段內(nèi)的變化趨勢,有儀表盤和直接數(shù)據(jù)顯示無法取代的作用。潛標姿態(tài)和深度曲線可直接由三維電子羅盤和壓力傳感器的數(shù)據(jù)獲得,速度和加速度曲線可以由深度數(shù)據(jù)間接獲得。
由于主界面的顯示區(qū)域有限,用戶通過用鼠標雙擊曲線顯示窗口還可以顯示對應(yīng)參數(shù)的頻譜曲線,信號的頻譜通過對信號進行快速傅立葉變換獲得,如圖5所示為X傾角變化曲線及對其傅立葉變換后的頻譜曲線。信號的頻譜可以幫助使用者觀察信號中隱含的頻率信息。從圖5中曲線可獲知X傾角信號角度變化在±3°范圍內(nèi),存在周期分別為13 s和6 s的兩個較大的頻率分量。上述理論分析結(jié)果結(jié)合潛標三維圖形的動態(tài)顯示,可以使用戶對潛標工作狀態(tài)有更清楚直觀的了解。
圖5 姿態(tài)信號及其頻譜曲線
表1 姿態(tài)數(shù)據(jù)文件記錄
圖6 潛標姿態(tài)回放系統(tǒng)程序流程圖
回放控制窗口主要完成潛標姿態(tài)數(shù)據(jù)回放的控制功能,包括加載數(shù)據(jù)文件、回放、暫停和回放速率選擇等功能,并且可以顯示數(shù)據(jù)回放的進度和時刻。
潛標姿態(tài)動態(tài)回放系統(tǒng)的程序流程圖如圖6所示,潛標姿態(tài)回放系統(tǒng)的操作過程是首先加載回放的數(shù)據(jù)文件,數(shù)據(jù)文件中記錄有潛標運行時每秒鐘的姿態(tài)數(shù)據(jù),主要包括橫搖傾角X、縱搖傾角Y和深度D,文件采用二進制記錄文件格式,具有操作方便,占用空間小等優(yōu)點,文件記錄如表1所示。然后點擊控制面板上的回放按鈕,系統(tǒng)就以設(shè)定速率(默認是實際采集速率)開始回放。首先系統(tǒng)讀取回放當前時刻對應(yīng)的潛標姿態(tài)數(shù)據(jù)和深度數(shù)據(jù),然后把上述數(shù)據(jù)賦值給基本場景中的潛標模型,讓潛標模型旋轉(zhuǎn)相應(yīng)的角度或移動相應(yīng)比例的距離。下1 s來到時,程序移動文件指針去讀取下一時刻的姿態(tài)數(shù)據(jù),并判斷是否已經(jīng)到了文件尾,未到文件尾則繼續(xù)播放。
由于以實際速度回放潛標1 d記錄的姿態(tài)數(shù)據(jù)就需要1 d的時間,所以實際回放時也可以通過控制面板上的回放速率旋鈕選擇較快的回放速率。例如選擇回放速率10,則回放1 d的姿態(tài)數(shù)據(jù)只需要大約2.5 h。用戶也可以直接拖動控制面板上的回放進度條從某一時刻開始回放。系統(tǒng)在回放潛標姿態(tài)的同時在儀表盤窗口和曲線顯示窗口同步顯示對應(yīng)的姿態(tài)數(shù)據(jù),便于用戶進行數(shù)據(jù)分析。
GLScene是一套基于OpenGL圖形編程接口的高效3D圖形引擎,它降低了三維圖形程序開發(fā)的難度,縮短了潛標姿態(tài)動態(tài)回放程序的開發(fā)周期,也給用戶分析潛標的工作狀態(tài)提供了更直觀、有效的工具。由于潛標拖纜的動力學計算比較復(fù)雜[2],目前在回放系統(tǒng)的三維場景中沒有增加潛標拖纜的三維模型,在今后的應(yīng)用中還可以繼續(xù)完善。GLScene是一個功能非常強大的3D圖形引擎,文中的應(yīng)用只是GLScene功能的非常小的一部分,除此之外,GLScene還提供聲音處理接口、操縱桿處理接口和GeForce顯卡處理接口等許多功能接口,充分利用這些功能可以極大地提高工作效率。
[1]侯廣利,張穎,等.一種潛標的水下姿態(tài)變化規(guī)律分析[J].海洋技術(shù),2010,29(3):1-5.
[2]朱剛,杜月中.波浪作用下潛標拖纜動力學分析[J].海洋工程,2007,25(4):15-20.
[3]祝志兵,董奇帥,等.基于GLScene的空空導彈視景仿真技術(shù)研究[J].彈箭與制導學報,2008,28(5):74-82.
[4]李林珊,張春華.基于GLScene的仿真圖像系統(tǒng)[J].兵工自動化,2007,26(3):28-41.
Attitude Replay System of Submersible Buoy Based on GLScene
LIU Hui,YANG Shu-kai,LIU Min,LU Cheng-jie,YANG Jun-xian
(Shandong Academy of Sciences Institute of Oceanographic Instrumentation,Qingdao Shandong 266001,China)
The construction and replay of a submarine buoy model using GLScene were discussed firstly.The motion model of submarine buoy was built and the tracks and attitudes in different status of the submarine buoy were displayed.Finally,the motion effects of submarine buoy were given.
GLScene;submersible buoy;attitude
TP391.41
B
1003-2029(2011)04-0029-03
2011-04-08
國際科技合作項目資助(2007DFR90130)
劉慧,女,助理研究員,研究方向為海洋儀器儀表研究。