田延飛,黃立文,陳姚節(jié),譚天力
(1.武漢理工大學(xué) 航運(yùn)學(xué)院,湖北 武漢 430063;2. 內(nèi)河航運(yùn)技術(shù)湖北省重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430063)
隨著計(jì)算機(jī)硬件和計(jì)算機(jī)圖形學(xué)的發(fā)展,科學(xué)計(jì)算可視化已成為一門獨(dú)立的新型學(xué)科。特別的,近年來發(fā)展越來越快的虛擬現(xiàn)實(shí)技術(shù)將其帶入一個(gè)全新的境界[1]。視景仿真是一種基于計(jì)算信息的沉浸式交互環(huán)境,其核心就是通過計(jì)算機(jī)軟硬件技術(shù)生產(chǎn)逼真的視聽沉浸式效果。作為計(jì)算機(jī)技術(shù)中最為前沿的應(yīng)用領(lǐng)域之一,視景仿真已廣泛應(yīng)用于模擬駕駛、場(chǎng)景再現(xiàn)、城市規(guī)劃等應(yīng)用領(lǐng)域[2-3]。
在航海仿真領(lǐng)域,船舶航行環(huán)境視景仿真是其關(guān)鍵內(nèi)容之一。隨著仿真技術(shù)向可視化方向的發(fā)展,使用三維仿真技術(shù)模擬船舶航行環(huán)境,構(gòu)建岸景、地形、水文、助航設(shè)施以及交通流等環(huán)境信息,不僅可以實(shí)現(xiàn)航運(yùn)安全環(huán)境的預(yù)見、模擬和還原,同時(shí)也能夠促進(jìn)航運(yùn)安全的改善和提高。三維可視化技術(shù)對(duì)船舶航行綜合環(huán)境的表達(dá)相對(duì)于傳統(tǒng)的二維電子江圖更加直觀、形象和準(zhǔn)確[4]。
但是,目前國(guó)內(nèi)建設(shè)(引進(jìn)或自主研發(fā))的大型船舶操縱模擬器多針對(duì)近海、沿海港口,其視景數(shù)據(jù)庫中一般多為該類航行場(chǎng)景的三維數(shù)據(jù),內(nèi)河船舶航行視景三維模型數(shù)據(jù)還很少。盡管國(guó)內(nèi)大連海事大學(xué)、上海海事大學(xué)、武漢理工大學(xué)等在專門研發(fā)內(nèi)河船舶操縱模擬器上做出了貢獻(xiàn),并成功研制出了自主品牌的內(nèi)河船舶操縱模擬器,其模擬器中船舶航行視景數(shù)據(jù)庫并不豐富(針對(duì)很少部分的內(nèi)河航段而建設(shè)),且仿真效果還需要完善。因此,有必要就內(nèi)河水域船舶航行環(huán)境三維仿真展開研究。一是,其能夠用于豐富現(xiàn)有的船舶駕駛模擬系統(tǒng),為船舶駕駛模擬器提供更多的練習(xí)水域。二是,能夠用于專門的內(nèi)河船舶駕駛模擬器系統(tǒng)的建設(shè)。三是,對(duì)內(nèi)河船舶航行環(huán)境進(jìn)行三維仿真,以直觀地反映出航道內(nèi)包括本船在內(nèi)的水面物標(biāo)、近岸陸域躉船、碼頭、引橋、房屋等物標(biāo),其高精度的可視化的效果可以作為船舶駕駛?cè)藛T熟悉通航環(huán)境的輔助手段,也可以應(yīng)用于第三方(如海事主管部門)的現(xiàn)場(chǎng)監(jiān)控系統(tǒng)。
在視景三維仿真系統(tǒng)的建設(shè)與應(yīng)用中,對(duì)象三維視景模型的構(gòu)建是視景仿真系統(tǒng)建立的基礎(chǔ),也是視景仿真系統(tǒng)應(yīng)用效果的關(guān)鍵。目前主流建模軟件種類繁多,功能多樣,比如3D MAX、ImageShop、Maya、SolidWorks、Multigen Creator等建模軟件,它們都在各自應(yīng)用領(lǐng)域內(nèi)發(fā)揮針對(duì)性的效用。選擇合適的船舶航行環(huán)境仿真建模軟件,對(duì)于仿真系統(tǒng)的構(gòu)建十分重要。3D MAX和Multigen Creator是虛擬現(xiàn)實(shí)建模常用的軟件。鑒于不同軟件平臺(tái)的優(yōu)勢(shì),筆者對(duì)船舶航行環(huán)境視景組成要素三維建模主要基于3D MAX和Multigen Creator。
目前,用于對(duì)象視景三維仿真的軟件平臺(tái)有很多種,如Multigen Vega、QUEST 3D、OpenGL、Open
ScenceGraph (OSG)等。筆者選用OSG作為內(nèi)河船舶航行環(huán)境視景三維模型的驅(qū)動(dòng)(引擎)平臺(tái),主要基于如下幾點(diǎn)考慮:
1)OSG是一個(gè)面向?qū)ο蟮娜S視景仿真開發(fā)包,它包含了極其豐富的類庫,操作靈活,性能優(yōu)越,更為重要的是OSG 是開源的三維引擎底層應(yīng)用庫,可以支持多平臺(tái)、多語言使用。
2)OSG是采用C++語言進(jìn)行編寫的,封裝OpenGL作為底層平臺(tái)的開源庫,不僅具有OpenGVS、Vega prime的模塊化和易操作等優(yōu)點(diǎn),而且具有針對(duì)不同需求更改底層代碼的靈活性等優(yōu)點(diǎn)[2-3,5-6]。
3)OSG提供一個(gè)專門的應(yīng)用模塊osgOcean,來模擬海洋場(chǎng)景,包括天空、云、海水、波浪等。在視點(diǎn)跟蹤的范圍內(nèi),OSG能夠?qū)崟r(shí)顯示海洋場(chǎng)景(含特效);當(dāng)視點(diǎn)移動(dòng)到定義海洋場(chǎng)景的矩形邊界后,系統(tǒng)再加載當(dāng)前視點(diǎn)跟蹤范圍內(nèi)的區(qū)域進(jìn)行顯示,從而,系統(tǒng)運(yùn)行過程中能夠節(jié)省大量的內(nèi)存。
4)利用osgOcean建立的三維海洋場(chǎng)景,可以實(shí)時(shí)的改變海洋環(huán)境的屬性參數(shù),從而改變海情,達(dá)到營(yíng)造逼真的海洋場(chǎng)景地目的。
筆者基于OSG實(shí)現(xiàn)的內(nèi)河船舶航行環(huán)境視景三維仿真主要有以下步驟:
1)對(duì)象視景三維建模。對(duì)水面及近岸陸域物標(biāo)(實(shí)體)、地形地貌視景進(jìn)行三維建模,保存為可調(diào)用的*.flt文件。對(duì)象視景三維建模關(guān)鍵技術(shù)將在3.1中敘述。
2)進(jìn)行初始化設(shè)置。在OSG中初始化配置天空和海洋環(huán)境等特殊效果。
3)導(dǎo)入模型文件。通過osgDB::readNodeFile 函數(shù)將已保存的*.flt模型文件導(dǎo)入到OSG 圖形程序。
4)場(chǎng)景驅(qū)動(dòng)。編制OSG主程序,調(diào)用動(dòng)態(tài)物標(biāo)運(yùn)動(dòng)狀態(tài)數(shù)據(jù)對(duì)該類物標(biāo)視景的三維模型予以驅(qū)動(dòng)。例如,為實(shí)現(xiàn)某個(gè)船舶運(yùn)動(dòng)視景的三維仿真,可通過實(shí)船實(shí)驗(yàn)(或自航模實(shí)驗(yàn))獲取的船舶六自由度的實(shí)驗(yàn)數(shù)據(jù),將實(shí)驗(yàn)數(shù)據(jù)結(jié)果加載到船舶模型上用于驅(qū)動(dòng)其視景三維模型[7]。各物標(biāo)視景三維模型驅(qū)動(dòng)過程中,通過視點(diǎn)追隨(切換)[2],實(shí)現(xiàn)視點(diǎn)更新,從而對(duì)仿真的整個(gè)航行環(huán)境的三維視景進(jìn)行顯示。
基于OSG的內(nèi)河船舶航行環(huán)境視景三維仿真流程如圖1。
圖1 基于OSG的內(nèi)河船舶航行視景仿真流程Fig. 1 Visual scene simulation process of inland waterway navigationalenvironment based on OSG
參考航海類專業(yè)文獻(xiàn)[8-9],船舶航行環(huán)境系統(tǒng)由氣象、水文、航道條件、航道設(shè)施、港口(碼頭)設(shè)施等組成。從仿真的角度,對(duì)內(nèi)行船舶航行環(huán)境的三維仿真對(duì)象主要是船舶航行環(huán)境系統(tǒng)中的視覺可見部分,如氣象因素(天空顏色、云彩、雨、雪、霧等)、水面顏色、地形地貌以及水面和近岸陸域各類物標(biāo)(實(shí)體如船舶、航標(biāo)、燈船、橋梁、躉船、碼頭、引橋、樹木、房屋等)。
另外,由于OSG 采用節(jié)點(diǎn)機(jī)制對(duì)場(chǎng)景進(jìn)行組織管理[10],因此根據(jù)船舶航行環(huán)境的三維仿真對(duì)象各自的類別,采用表1所述節(jié)點(diǎn)對(duì)內(nèi)河船舶航行環(huán)境場(chǎng)景進(jìn)行組織和管理,即針對(duì)對(duì)象類別將各個(gè)模型分開建立節(jié)點(diǎn)進(jìn)行控制,最后匯總,以一個(gè)總節(jié)點(diǎn)進(jìn)行繪制。
表1 基于OSG的內(nèi)河船舶航行環(huán)境場(chǎng)景節(jié)點(diǎn)組織Table 1 Node organization of OSG based scene of inland waterwaynavigational environment
3.2.1 基于3D MAX的水面及近岸陸域物標(biāo)三維建模
除采用編輯軟件系統(tǒng)自帶的部分物標(biāo)三維模型來獲得研究航段部分水面及近岸陸域物標(biāo)(如航標(biāo)、燈船、樹木等)的三維模型外,對(duì)研究航段水面及近岸陸域特征物標(biāo),采用高清相機(jī)拍照、無人機(jī)航拍、高清衛(wèi)星圖片等物標(biāo)高程數(shù)據(jù)和紋理特征,在3D MAX平臺(tái)實(shí)現(xiàn)水面與近岸物標(biāo)視景的三維建模。
3.2.2 基于Creator的地形地貌三維建模
地形地貌包括河道(含河道中的島礁)地形地貌與近岸地形地貌。對(duì)河道地形地貌的建模,由CAD水深測(cè)圖、航海圖書資料等獲取河道高程(水深)數(shù)據(jù)和地貌特征;對(duì)近岸地形地貌的建模,主要是基于無人機(jī)航拍、高清相機(jī)拍照、高清衛(wèi)星圖片等獲取其高程數(shù)據(jù)和地貌特征。最后在Creator平臺(tái)進(jìn)行一體化處理實(shí)現(xiàn)地形地貌三維建模。
動(dòng)態(tài)調(diào)度是根據(jù)當(dāng)前場(chǎng)景模型的投影關(guān)系,預(yù)先判斷下一步將要“進(jìn)入”可視域的場(chǎng)景模型,通過輸入/輸出線程將該模型從分頁數(shù)據(jù)庫中讀入緩存區(qū);另外,將場(chǎng)景中暫時(shí)不需要顯示的模型節(jié)點(diǎn)從內(nèi)存中移除,釋放占用的內(nèi)存空間。從而保證不會(huì)因占用的內(nèi)存空間過大而導(dǎo)致系統(tǒng)崩潰。動(dòng)態(tài)調(diào)度實(shí)際上是對(duì)所有節(jié)點(diǎn)狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控的過程,并對(duì)各個(gè)節(jié)點(diǎn)的中心位置與視點(diǎn)位置進(jìn)行判定,根據(jù)判定結(jié)果進(jìn)行節(jié)點(diǎn)的加載、刪除等操作[11]。
LOD技術(shù)被稱為細(xì)節(jié)層次技術(shù),可以將物體用簡(jiǎn)單形式進(jìn)行表達(dá),這就使得繪制的圖形非常簡(jiǎn)潔。當(dāng)視點(diǎn)靠近物體時(shí),用詳細(xì)的細(xì)節(jié)表示;當(dāng)視點(diǎn)遠(yuǎn)離物體時(shí),用簡(jiǎn)化模型來表示。由于距離原因,簡(jiǎn)化后的模型與細(xì)節(jié)詳細(xì)的模型看上去很接近,這樣就可以獲得一個(gè)比較好的加速效果。LOD 計(jì)算的是視點(diǎn)到物體包圍盒中心的距離,包括兩種中心模式:包圍盒中心模式和自定義模式,在此選用包圍盒中心模式。LOD 的切換也是根據(jù)距離來確定的,它有兩種模式:距視點(diǎn)的距離模式和屏幕像素的大小,這里應(yīng)用了屏幕像素大小模式[12]。
包圍盒、剪裁及LOD技術(shù)見示意圖2。
圖2 包圍盒、剪裁及LOD示意Fig. 2 Schematic of bounding box, clipping and LOD
將文中技術(shù)應(yīng)用于上海黃浦江航段船舶航行環(huán)境視景的三維建模與仿真,并展示仿真效果。
采用文中2節(jié)中所述三維建模軟件平臺(tái),基于3D MAX和Creator構(gòu)建的內(nèi)河航行常見部分物標(biāo)視景的三維模型如圖3~圖6。
圖3 客滾船視景三維模型Fig. 3 3D visual model of a ro-ro passenger ship
圖4 拖輪視景三維模型Fig. 4 3D visual model of a tug
圖5 航標(biāo)視景三維模型Fig. 5 3D visual model of a navigational aid
圖6 近岸吊機(jī)視景三維模型Fig. 6 3D visual model of the offshore cranes
由圖3~圖6可見,對(duì)物標(biāo)視景的三維建模具有很高的精度,顯示效果逼真。
如文中2節(jié)中所述,基于OSG實(shí)現(xiàn)內(nèi)河船舶航行環(huán)境視景的三維仿真。仿真過程中,本船設(shè)置為一集裝箱船(其運(yùn)動(dòng)由三自由度的MMG模型進(jìn)行驅(qū)動(dòng)),視點(diǎn)位于本船駕駛臺(tái)。在OSG驅(qū)動(dòng)下實(shí)現(xiàn)的黃浦江航段船舶航行環(huán)境視景三維仿真效果如圖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)
從仿真過程和畫面效果來看,文中內(nèi)河船舶航行環(huán)境視景三維仿真程序運(yùn)行流暢,畫面精度高、隨視點(diǎn)變換及時(shí)準(zhǔn)確,視景顯示效果逼真。
概述了航海視景仿真的需求和發(fā)展要求,以豐富現(xiàn)有模擬器練習(xí)場(chǎng)景、支持內(nèi)河船舶操縱模擬器建設(shè)、提高視景仿真逼真度和掌握航海視景仿真技術(shù)為契機(jī)和研究目的,選取內(nèi)河通航環(huán)境視景建模與仿真開展相關(guān)研究。
研究將內(nèi)河船舶航行環(huán)境中視景部分的組成要素主要?jiǎng)澐謨纱竽K,并運(yùn)用航海視景仿真領(lǐng)域3D MAX、Multigen Creator等主流軟件對(duì)其進(jìn)行三維建模。在VC++環(huán)境下,以開源軟件OSG為三維模型管理和驅(qū)動(dòng)平臺(tái),對(duì)內(nèi)河船舶航行環(huán)境各組成模塊三維模型進(jìn)行了數(shù)據(jù)融合;同時(shí)以細(xì)致的渲染來提高航行環(huán)境三維模型的真實(shí)感,實(shí)現(xiàn)了內(nèi)河船舶航行環(huán)境視景的三維仿真。示例顯示,所構(gòu)建的內(nèi)河船舶航行環(huán)境三維模型具有較高的精度,仿真程序運(yùn)行流暢,效果逼真。視景三維模型、仿真流程和顯示效果能夠滿足航海仿真系統(tǒng)建設(shè)的要求,為進(jìn)一步的基于虛擬設(shè)備的人機(jī)交互、操縱訓(xùn)練等的研究提供基礎(chǔ)。
筆者研究符合航海仿真的發(fā)展方向和需求:對(duì)內(nèi)河船舶航行環(huán)境的三維仿真能夠?yàn)楹胶DM器提供更多的練習(xí)海域;能夠應(yīng)用于專門針對(duì)內(nèi)河需求的船舶操縱模擬器建設(shè);也能夠?yàn)檎嬲莆蘸胶7抡婕夹g(shù)提供知識(shí)積累,為后續(xù)研究提供支持。
[1]卞鋼,劉寅東.基于3dsmax的船舶三維運(yùn)動(dòng)仿真[J].計(jì)算機(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的視點(diǎn)跟隨技術(shù)在船舶駕駛仿真系統(tǒng)中的應(yīng)用[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的飛行視景仿真平臺(tái)開發(fā)[J].計(jì)算機(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]張丹,黃立文,陳蜀喆,等.融合數(shù)值流場(chǎng)的內(nèi)河船舶三維航行虛擬現(xiàn)實(shí)系統(tǒng)[J].系統(tǒng)仿真學(xué)報(bào),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]關(guān)克平,江靖楠,王靜波.基于OSG的船橋碰撞檢測(cè)技術(shù)仿真[J].中國(guó)航海,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的海洋漫游場(chǎng)景開發(fā)[J].江蘇科技大學(xué)學(xué)報(bào)(自然科學(xué)版),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的船舶追越運(yùn)動(dòng)視景仿真[J].中國(guó)水運(yùn),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]趙倉龍.滬通鐵路長(zhǎng)江大橋水域通航環(huán)境綜合風(fēng)險(xiǎn)評(píng)價(jià)研究[J].水運(yùn)工程,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]劉清,覃盼,李勝,等.內(nèi)河復(fù)雜水域通航環(huán)境風(fēng)險(xiǎn)演變指標(biāo)體系研究[J].中國(guó)安全科學(xué)學(xué)報(bào),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]任鴻翔,金一丞,王科倫.場(chǎng)景建模的層次結(jié)構(gòu)[J].中國(guó)圖像圖形學(xué)報(bào),2003,8(增刊):521-525.
REN Hongxiang, JIN Yicheng, WANG Kelun.Structureofscenemodeling[J].JournalofImageandGraphics, 2003, 8(Sup): 521-525.
[11]陳建,張劍,鄒益勝,等.高速鐵路長(zhǎng)大線路可視化建模系統(tǒng)研制[J].計(jì)算機(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]李少華,馬金博,張立棟.虛擬場(chǎng)景中片理顆粒的碰撞仿真[J].東北電力大學(xué)學(xué)報(bào),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.