田延飛,黃立文,陳姚節,譚天力
(1.武漢理工大學 航運學院,湖北 武漢 430063;2. 內河航運技術湖北省重點實驗室,湖北 武漢 430063)
隨著計算機硬件和計算機圖形學的發展,科學計算可視化已成為一門獨立的新型學科。特別的,近年來發展越來越快的虛擬現實技術將其帶入一個全新的境界[1]。視景仿真是一種基于計算信息的沉浸式交互環境,其核心就是通過計算機軟硬件技術生產逼真的視聽沉浸式效果。作為計算機技術中最為前沿的應用領域之一,視景仿真已廣泛應用于模擬駕駛、場景再現、城市規劃等應用領域[2-3]。
在航海仿真領域,船舶航行環境視景仿真是其關鍵內容之一。隨著仿真技術向可視化方向的發展,使用三維仿真技術模擬船舶航行環境,構建岸景、地形、水文、助航設施以及交通流等環境信息,不僅可以實現航運安全環境的預見、模擬和還原,同時也能夠促進航運安全的改善和提高。三維可視化技術對船舶航行綜合環境的表達相對于傳統的二維電子江圖更加直觀、形象和準確[4]。
但是,目前國內建設(引進或自主研發)的大型船舶操縱模擬器多針對近海、沿海港口,其視景數據庫中一般多為該類航行場景的三維數據,內河船舶航行視景三維模型數據還很少。盡管國內大連海事大學、上海海事大學、武漢理工大學等在專門研發內河船舶操縱模擬器上做出了貢獻,并成功研制出了自主品牌的內河船舶操縱模擬器,其模擬器中船舶航行視景數據庫并不豐富(針對很少部分的內河航段而建設),且仿真效果還需要完善。因此,有必要就內河水域船舶航行環境三維仿真展開研究。一是,其能夠用于豐富現有的船舶駕駛模擬系統,為船舶駕駛模擬器提供更多的練習水域。二是,能夠用于專門的內河船舶駕駛模擬器系統的建設。三是,對內河船舶航行環境進行三維仿真,以直觀地反映出航道內包括本船在內的水面物標、近岸陸域躉船、碼頭、引橋、房屋等物標,其高精度的可視化的效果可以作為船舶駕駛人員熟悉通航環境的輔助手段,也可以應用于第三方(如海事主管部門)的現場監控系統。
在視景三維仿真系統的建設與應用中,對象三維視景模型的構建是視景仿真系統建立的基礎,也是視景仿真系統應用效果的關鍵。目前主流建模軟件種類繁多,功能多樣,比如3D MAX、ImageShop、Maya、SolidWorks、Multigen Creator等建模軟件,它們都在各自應用領域內發揮針對性的效用。選擇合適的船舶航行環境仿真建模軟件,對于仿真系統的構建十分重要。3D MAX和Multigen Creator是虛擬現實建模常用的軟件。鑒于不同軟件平臺的優勢,筆者對船舶航行環境視景組成要素三維建模主要基于3D MAX和Multigen Creator。
目前,用于對象視景三維仿真的軟件平臺有很多種,如Multigen Vega、QUEST 3D、OpenGL、Open
ScenceGraph (OSG)等。筆者選用OSG作為內河船舶航行環境視景三維模型的驅動(引擎)平臺,主要基于如下幾點考慮:
1)OSG是一個面向對象的三維視景仿真開發包,它包含了極其豐富的類庫,操作靈活,性能優越,更為重要的是OSG 是開源的三維引擎底層應用庫,可以支持多平臺、多語言使用。
2)OSG是采用C++語言進行編寫的,封裝OpenGL作為底層平臺的開源庫,不僅具有OpenGVS、Vega prime的模塊化和易操作等優點,而且具有針對不同需求更改底層代碼的靈活性等優點[2-3,5-6]。
3)OSG提供一個專門的應用模塊osgOcean,來模擬海洋場景,包括天空、云、海水、波浪等。在視點跟蹤的范圍內,OSG能夠實時顯示海洋場景(含特效);當視點移動到定義海洋場景的矩形邊界后,系統再加載當前視點跟蹤范圍內的區域進行顯示,從而,系統運行過程中能夠節省大量的內存。
4)利用osgOcean建立的三維海洋場景,可以實時的改變海洋環境的屬性參數,從而改變海情,達到營造逼真的海洋場景地目的。
筆者基于OSG實現的內河船舶航行環境視景三維仿真主要有以下步驟:
1)對象視景三維建模。對水面及近岸陸域物標(實體)、地形地貌視景進行三維建模,保存為可調用的*.flt文件。對象視景三維建模關鍵技術將在3.1中敘述。
2)進行初始化設置。在OSG中初始化配置天空和海洋環境等特殊效果。
3)導入模型文件。通過osgDB::readNodeFile 函數將已保存的*.flt模型文件導入到OSG 圖形程序。
4)場景驅動。編制OSG主程序,調用動態物標運動狀態數據對該類物標視景的三維模型予以驅動。例如,為實現某個船舶運動視景的三維仿真,可通過實船實驗(或自航模實驗)獲取的船舶六自由度的實驗數據,將實驗數據結果加載到船舶模型上用于驅動其視景三維模型[7]。各物標視景三維模型驅動過程中,通過視點追隨(切換)[2],實現視點更新,從而對仿真的整個航行環境的三維視景進行顯示。
基于OSG的內河船舶航行環境視景三維仿真流程如圖1。
圖1 基于OSG的內河船舶航行視景仿真流程Fig. 1 Visual scene simulation process of inland waterway navigationalenvironment based on OSG
參考航海類專業文獻[8-9],船舶航行環境系統由氣象、水文、航道條件、航道設施、港口(碼頭)設施等組成。從仿真的角度,對內行船舶航行環境的三維仿真對象主要是船舶航行環境系統中的視覺可見部分,如氣象因素(天空顏色、云彩、雨、雪、霧等)、水面顏色、地形地貌以及水面和近岸陸域各類物標(實體如船舶、航標、燈船、橋梁、躉船、碼頭、引橋、樹木、房屋等)。
另外,由于OSG 采用節點機制對場景進行組織管理[10],因此根據船舶航行環境的三維仿真對象各自的類別,采用表1所述節點對內河船舶航行環境場景進行組織和管理,即針對對象類別將各個模型分開建立節點進行控制,最后匯總,以一個總節點進行繪制。
表1 基于OSG的內河船舶航行環境場景節點組織Table 1 Node organization of OSG based scene of inland waterwaynavigational environment
3.2.1 基于3D MAX的水面及近岸陸域物標三維建模
除采用編輯軟件系統自帶的部分物標三維模型來獲得研究航段部分水面及近岸陸域物標(如航標、燈船、樹木等)的三維模型外,對研究航段水面及近岸陸域特征物標,采用高清相機拍照、無人機航拍、高清衛星圖片等物標高程數據和紋理特征,在3D MAX平臺實現水面與近岸物標視景的三維建模。
3.2.2 基于Creator的地形地貌三維建模
地形地貌包括河道(含河道中的島礁)地形地貌與近岸地形地貌。對河道地形地貌的建模,由CAD水深測圖、航海圖書資料等獲取河道高程(水深)數據和地貌特征;對近岸地形地貌的建模,主要是基于無人機航拍、高清相機拍照、高清衛星圖片等獲取其高程數據和地貌特征。最后在Creator平臺進行一體化處理實現地形地貌三維建模。
動態調度是根據當前場景模型的投影關系,預先判斷下一步將要“進入”可視域的場景模型,通過輸入/輸出線程將該模型從分頁數據庫中讀入緩存區;另外,將場景中暫時不需要顯示的模型節點從內存中移除,釋放占用的內存空間。從而保證不會因占用的內存空間過大而導致系統崩潰。動態調度實際上是對所有節點狀態進行實時監控的過程,并對各個節點的中心位置與視點位置進行判定,根據判定結果進行節點的加載、刪除等操作[11]。
LOD技術被稱為細節層次技術,可以將物體用簡單形式進行表達,這就使得繪制的圖形非常簡潔。當視點靠近物體時,用詳細的細節表示;當視點遠離物體時,用簡化模型來表示。由于距離原因,簡化后的模型與細節詳細的模型看上去很接近,這樣就可以獲得一個比較好的加速效果。LOD 計算的是視點到物體包圍盒中心的距離,包括兩種中心模式:包圍盒中心模式和自定義模式,在此選用包圍盒中心模式。LOD 的切換也是根據距離來確定的,它有兩種模式:距視點的距離模式和屏幕像素的大小,這里應用了屏幕像素大小模式[12]。
包圍盒、剪裁及LOD技術見示意圖2。
圖2 包圍盒、剪裁及LOD示意Fig. 2 Schematic of bounding box, clipping and LOD
將文中技術應用于上海黃浦江航段船舶航行環境視景的三維建模與仿真,并展示仿真效果。
采用文中2節中所述三維建模軟件平臺,基于3D MAX和Creator構建的內河航行常見部分物標視景的三維模型如圖3~圖6。
圖3 客滾船視景三維模型Fig. 3 3D visual model of a ro-ro passenger ship
圖4 拖輪視景三維模型Fig. 4 3D visual model of a tug
圖5 航標視景三維模型Fig. 5 3D visual model of a navigational aid
圖6 近岸吊機視景三維模型Fig. 6 3D visual model of the offshore cranes
由圖3~圖6可見,對物標視景的三維建模具有很高的精度,顯示效果逼真。
如文中2節中所述,基于OSG實現內河船舶航行環境視景的三維仿真。仿真過程中,本船設置為一集裝箱船(其運動由三自由度的MMG模型進行驅動),視點位于本船駕駛臺。在OSG驅動下實現的黃浦江航段船舶航行環境視景三維仿真效果如圖7~圖9。
圖7 視景三維仿真效果(白天;晴天)Fig. 7 Simulation effect of 3D visual scene (daytime; sunny)
圖8 視景三維仿真效果(白天;陰天)Fig. 8 Simulation effect of 3D visual scene (daytime; cloudy)
圖9 視景三維仿真效果(傍晚;晴天)Fig. 9 Simulation effect of 3D visual scene (nightfall; sunny)
從仿真過程和畫面效果來看,文中內河船舶航行環境視景三維仿真程序運行流暢,畫面精度高、隨視點變換及時準確,視景顯示效果逼真。
概述了航海視景仿真的需求和發展要求,以豐富現有模擬器練習場景、支持內河船舶操縱模擬器建設、提高視景仿真逼真度和掌握航海視景仿真技術為契機和研究目的,選取內河通航環境視景建模與仿真開展相關研究。
研究將內河船舶航行環境中視景部分的組成要素主要劃分兩大模塊,并運用航海視景仿真領域3D MAX、Multigen Creator等主流軟件對其進行三維建模。在VC++環境下,以開源軟件OSG為三維模型管理和驅動平臺,對內河船舶航行環境各組成模塊三維模型進行了數據融合;同時以細致的渲染來提高航行環境三維模型的真實感,實現了內河船舶航行環境視景的三維仿真。示例顯示,所構建的內河船舶航行環境三維模型具有較高的精度,仿真程序運行流暢,效果逼真。視景三維模型、仿真流程和顯示效果能夠滿足航海仿真系統建設的要求,為進一步的基于虛擬設備的人機交互、操縱訓練等的研究提供基礎。
筆者研究符合航海仿真的發展方向和需求:對內河船舶航行環境的三維仿真能夠為航海模擬器提供更多的練習海域;能夠應用于專門針對內河需求的船舶操縱模擬器建設;也能夠為真正掌握航海仿真技術提供知識積累,為后續研究提供支持。
[1]卞鋼,劉寅東.基于3dsmax的船舶三維運動仿真[J].計算機仿真,2005,22(5):216-218+270.
BIAN Gang, LIU Yindong. Simulation of 3D motion of vessel based on 3dsmax[J].ComputerSimulation, 2005(5): 216-218+270.
[2]陳寧,呂慶倫,孫玉科.基于OSG的視點跟隨技術在船舶駕駛仿真系統中的應用[J].船舶工程,2011,33(6):53-57.
CHEN Ning,LV Qinglun, SUN Yuke. The application of viewpoint follow technology in ship driving simulation system based on OSG[J].ShipEngineering, 2011, 33(6): 53-57.
[3]閻曉東.基于OSG的飛行視景仿真平臺開發[J].計算機仿真,2008, 25(5):58-60.
YAN Xiaodong. Development of flight scene simulation platform based on OSG[J].ComputerSimulation, 2008, 25(5): 58-60.
[4]張丹,黃立文,陳蜀喆,等.融合數值流場的內河船舶三維航行虛擬現實系統[J].系統仿真學報,2012, 24(1):180-183.
ZHANG Dan, HUANG Liwen, CHEN Shuzhe, et al. Virtual reality system for inland ship navigation by coupling the numerical simulation model of flow with the three-dimensional simulation platform[J].JournalofSystemSimulation, 2012, 24(1): 180-183.
[5]關克平,江靖楠,王靜波.基于OSG的船橋碰撞檢測技術仿真[J].中國航海,2014,37(2):35-38+42.
GUAN Keping, JIANG Jingnan, WANG Jingbo. Simulation on ship-bridge collision detection technology based on OSG[J].NavigationofChina, 2014, 37(2): 35-38+42.
[6]陳寧,聶壘鑫,劉煒,等.基于OSG的海洋漫游場景開發[J].江蘇科技大學學報(自然科學版),2013, 27(4):386-390.
CHEN Ning, NIE Leixin, LIU Wei, et al. Development of the ocean scene ramble system based on OSG[J].JournalofJiangsuUniversityofScienceandTechnology(NaturalScienceEdition), 2013, 27(4): 386-390.
[7]徐東星,張秀鳳,劉春雷,等.基于OSG的船舶追越運動視景仿真[J].中國水運,2015,15(1):37-40.
XU Dongxing, ZHANG Xiufeng, LIU Chunlei, et al. Ship over-taking visual simulation based on OSG[J].ChinaWaterwayTransport, 2015, 15(1): 37-40.
[8]趙倉龍.滬通鐵路長江大橋水域通航環境綜合風險評價研究[J].水運工程,2014(8):123-128+152.
ZHAO Canglong. On risk assessment of navigation environment of Shanghai-Nantong railway Yangtze River bridge waters[J].Port&WaterwayEngineering, 2014(8): 123-128+152.
[9]劉清,覃盼,李勝,等.內河復雜水域通航環境風險演變指標體系研究[J].中國安全科學學報,2014,24(8):139-144.
LIU Qing, QIN Pan, LI Sheng, et al.Research on inland river complex waters navigation environment risk evolution index system[J].ChinaSafetyScienceJournal, 2014, 24(8): 139-144.
[10]任鴻翔,金一丞,王科倫.場景建模的層次結構[J].中國圖像圖形學報,2003,8(增刊):521-525.
REN Hongxiang, JIN Yicheng, WANG Kelun.Structureofscenemodeling[J].JournalofImageandGraphics, 2003, 8(Sup): 521-525.
[11]陳建,張劍,鄒益勝,等.高速鐵路長大線路可視化建模系統研制[J].計算機仿真,2014,31(10):170-176.
CHEN Jian, ZHANG Jian, ZOU Yisheng, et al. Development of visualization modeling system for the longer lines of high-speed railway[J].ComputerSimulation, 2014, 31(10): 170-176.
[12]李少華,馬金博,張立棟.虛擬場景中片理顆粒的碰撞仿真[J].東北電力大學學報,2014,34(5):54-59.
LI Shaohua, MA Jinbo, ZHANG Lidong. Collision simulation of schistosity particle in virtual scene[J].JournalofNortheastDianliUniversity, 2014, 34(5): 54-59.