李婷云,黃建偉,郭家建
(福建船政交通職業(yè)學(xué)院,福州 350007)
傳統(tǒng)的輪機(jī)模擬器仿真形式多為半物理二維實(shí)物仿真,半物理二維實(shí)物仿真是指模擬對(duì)象多以與實(shí)船相一致的控制盤(pán)臺(tái)為主進(jìn)行物理模擬和數(shù)學(xué)仿真,各種機(jī)電設(shè)備和管路等仿真對(duì)象則進(jìn)行計(jì)算機(jī)數(shù)學(xué)模型數(shù)字仿真。這種人機(jī)交互效果不太理想,機(jī)艙畫(huà)面真實(shí)感不足,而且很難進(jìn)行各種實(shí)船的故障模擬和智能評(píng)估。
現(xiàn)在新型的輪機(jī)模擬器多以三維虛擬仿真為主,通過(guò)計(jì)算機(jī)的實(shí)時(shí)計(jì)算場(chǎng)景,把事先建模存儲(chǔ)好的虛擬場(chǎng)景根據(jù)用戶的操作指令進(jìn)行實(shí)時(shí)調(diào)用和渲染顯示。新型的輪機(jī)模擬器三維仿真主要包含兩個(gè)方面,一是能夠反映實(shí)體的三維虛擬模型,二是能夠在虛擬環(huán)境中實(shí)現(xiàn)交互操作,通過(guò)ROUTE節(jié)點(diǎn)把仿真可視化的結(jié)果和獲取的仿真數(shù)據(jù)模型上傳到客戶端,得到反映用戶的操作模型和數(shù)學(xué)模型。這些模型可以驗(yàn)證現(xiàn)有的仿真系統(tǒng)模型數(shù)據(jù)的有效性和真實(shí)性,方便用戶學(xué)員對(duì)實(shí)船進(jìn)行漫游察看熟悉設(shè)備,了解設(shè)備工作原理,并為熟練操作機(jī)電設(shè)備打下基礎(chǔ)。虛擬機(jī)艙替代實(shí)際機(jī)艙,節(jié)約教學(xué)成本,可以開(kāi)展一些實(shí)船上難以開(kāi)展的故障模擬和應(yīng)急訓(xùn)練。
多通道視景仿真系統(tǒng)采用多通道融合技術(shù)、邊緣融合技術(shù)、幾何校正技術(shù)等進(jìn)行計(jì)算機(jī)成像和無(wú)縫拼接,實(shí)現(xiàn)寬視角和反算控制算法進(jìn)行投影圖象的非線性幾何拼接和校正,其亮度融合技術(shù)和算法基于冪函數(shù),場(chǎng)景真實(shí)感增強(qiáng),具有較強(qiáng)的視覺(jué)沖擊力和良好的交互能力。多通道視景仿真系統(tǒng)能夠?yàn)橛脩籼峁└叨瘸两泻椭庇^立體感,越來(lái)越多高品質(zhì)的輪機(jī)模擬器對(duì)視景仿真提出了更高的要求和標(biāo)準(zhǔn)。場(chǎng)景漫游和虛擬交互是視景仿真的重要基礎(chǔ),方便用戶在三維場(chǎng)景中進(jìn)行自由的訪問(wèn)和操作,交互拾取時(shí)能夠提供高效便捷的三維拾取功能,支持用戶更好的交互場(chǎng)景和高效的人機(jī)交互行為,并能利用虛擬儀表、虛擬指示燈、虛擬指示盤(pán)臺(tái)等動(dòng)態(tài)地展示虛擬交互結(jié)果。
多通道視景仿真模擬器系統(tǒng)在沉浸式環(huán)境搭建、真實(shí)感圖形生成和虛擬交互技術(shù)進(jìn)行了大量的研究和改進(jìn)提升。隨著可編程圖形硬件的出現(xiàn),傳統(tǒng)的著色器和渲染技術(shù)被取代,固定渲染被更加逼真的實(shí)時(shí)渲染和特效渲染所取代。自動(dòng)漫游是一種較為高級(jí)的交互模式,取代了固定線路的漫游模式,固定路線的漫游雖然也是采用計(jì)算機(jī)三維建模技術(shù)進(jìn)行場(chǎng)景建模和視景繪制,但只能固定在幾個(gè)。特定的視角之間切換,限制了用戶與三維虛擬場(chǎng)景的交互操作,無(wú)法做到真正意義上的自由漫游。新的自動(dòng)漫游利用路徑優(yōu)化算法和三維拾取有效性判斷算法提高了實(shí)時(shí)交互的高效性和快速性,允許用戶在訓(xùn)練時(shí)自由漫游和操作虛擬設(shè)備,允許用戶通過(guò)視景仿真通道設(shè)置的各個(gè)ROUTE節(jié)點(diǎn)切換到設(shè)備的內(nèi)部結(jié)構(gòu)查看,或者開(kāi)關(guān)閥門(mén)查找故障部位,進(jìn)行常規(guī)的故障處理和應(yīng)急訓(xùn)練。
圖1為設(shè)計(jì)的多通道視景仿真模擬器系統(tǒng)虛擬仿真框架圖,按模塊可分為二維數(shù)學(xué)模型、三維仿真模型、三維場(chǎng)景模型、路徑優(yōu)化算法模型、三維拾取有效性算法模型等。二維數(shù)學(xué)模型是整個(gè)三維仿真系統(tǒng)的數(shù)據(jù)交互和處理基礎(chǔ),三維仿真模型是三維視景場(chǎng)景真實(shí)度和直觀立體感的重要表現(xiàn)形式和模塊化基礎(chǔ),三維場(chǎng)景模型是復(fù)雜的機(jī)艙場(chǎng)景的真實(shí)再現(xiàn)。
圖1 多通道視景仿真模擬器系統(tǒng)虛擬仿真框架圖
機(jī)艙設(shè)備繁多復(fù)雜,管路之間交聯(lián)互通,需要建立重點(diǎn)機(jī)電設(shè)備的幾何模型和數(shù)學(xué)模型,忽略次要設(shè)備的模型構(gòu)建,優(yōu)化建模技術(shù)和渲染措施,以分層和分組對(duì)機(jī)艙設(shè)備場(chǎng)景進(jìn)行數(shù)據(jù)結(jié)構(gòu)重組和編輯,采用環(huán)境映射、凹凸映射等模擬出機(jī)艙機(jī)電設(shè)備的表面材質(zhì)和紋理,以求更大程度復(fù)現(xiàn)機(jī)艙全貌和更接近機(jī)電設(shè)備實(shí)物,相同三維模型自定義重復(fù)調(diào)用和相同材質(zhì)場(chǎng)景模型圖形化處理,即預(yù)先對(duì)模型進(jìn)行渲染處理后得到靜態(tài)的光照和陰影效果圖,然后把這些效果圖和紋理圖存儲(chǔ)到數(shù)據(jù)庫(kù)里,虛擬場(chǎng)景需要調(diào)用的時(shí)候只需到數(shù)據(jù)庫(kù)調(diào)用相對(duì)應(yīng)的紋理圖即可(如圖2),不需要計(jì)算機(jī)重新計(jì)算,減少了實(shí)時(shí)渲染計(jì)算量。解決了圖形引擎的高效性,使視景畫(huà)面感更加流暢,增強(qiáng)了系統(tǒng)的實(shí)時(shí)性。
圖2 不同環(huán)境映射和光照渲染下的主機(jī)模型
多通道視景仿真模擬器系統(tǒng)的軟件開(kāi)發(fā)環(huán)境有Virtual 4.0,VS.NET2010和Matlab,以及三維建模 CREATOR、VEG、VRP等虛擬仿真軟件和自主研發(fā)WEB-VR-TOOL插件等。輪機(jī)系統(tǒng)的數(shù)學(xué)模型采用 Matlab建模并仿真驗(yàn)證后使用VS.NET2010編寫(xiě),三維圖形引擎使用Virtual 4.0和自主研發(fā)WEB-VR-TOOL插件。實(shí)驗(yàn)平臺(tái)配有多通道柱幕、球幕系統(tǒng)、穹幕系統(tǒng)、洞穴式投影系統(tǒng)、SGI Onyx4高性能圖形服務(wù)器、TP9100存儲(chǔ)系統(tǒng)、中控系統(tǒng)、矩陣切換系統(tǒng)、音響功放等硬件設(shè)備,并在此基礎(chǔ)上開(kāi)發(fā)了船舶多通道視景仿真模擬器系統(tǒng)。
在用戶自由漫游的過(guò)程中,為了實(shí)現(xiàn)目標(biāo)點(diǎn)的立體靈活效果,圖形引擎提供了虛擬攝像機(jī),在雙目匯聚的投影方式下時(shí)刻感知目標(biāo)點(diǎn)的三維坐標(biāo)位置和虛擬攝像機(jī) CAMERA的三維坐標(biāo)位置,采用三維拾取算法得到當(dāng)前虛擬系統(tǒng)屏幕中心區(qū)域的三維坐標(biāo),并將三維坐標(biāo)設(shè)為目標(biāo)點(diǎn),當(dāng)兩臺(tái)虛擬攝像機(jī)視向發(fā)生變化,虛擬系統(tǒng)里的模擬人的視向保持同步變化,保持仿真系統(tǒng)界面銜接順暢自然。當(dāng)用戶關(guān)注的虛擬對(duì)象角度和距離發(fā)生變化,攝像機(jī)到目標(biāo)點(diǎn)的距離和角度也會(huì)發(fā)生變化,否則用戶看到的圖像會(huì)失真和不協(xié)調(diào)。特別是對(duì)于重點(diǎn)仿真建模的機(jī)電設(shè)備的多維度多角度環(huán)繞展示,環(huán)繞展示時(shí)周圍的環(huán)境不斷變化容易造成用戶垂直視覺(jué)差較大,而重點(diǎn)展示的目標(biāo)和攝像機(jī)的距離不變,但展示角度在不斷變化,觀眾的視覺(jué)集中在目標(biāo)物體上,虛擬攝像機(jī)要保持對(duì)目標(biāo)物體的立體效果,需要間距呈比例變化,虛擬畫(huà)面呈現(xiàn)出頻繁的變化和渲染效果,增加用戶的雙眼調(diào)節(jié)負(fù)擔(dān),變化過(guò)快容易引起惡心和眩暈感。雙目成像采用兩個(gè)視覺(jué)窗口分別渲染兩臺(tái)虛擬攝像機(jī)的圖像,讓兩臺(tái)虛擬攝像機(jī)的各個(gè)參數(shù)都保持一致,盡量減少最大視差的限制和匯聚角的限制。
多通道投影虛擬系統(tǒng)要想展示一幅完全一致的全景畫(huà)面,不管通道數(shù)多少、投影屏幕為何形狀、投影機(jī)的位置擺放得如何精準(zhǔn),都要采取一定的畫(huà)面融合技術(shù)和算法來(lái)規(guī)避和矯正曲面的修改和構(gòu)造,避免線性失真和梯形失真,使相鄰?fù)ǖ赖奶摂M圖像通過(guò)貝塞爾曲面算法進(jìn)行校正,使相鄰?fù)ǖ赖膱D像光柵無(wú)縫對(duì)接保持圖像光柵對(duì)齊。對(duì)齊校正的核心是使原始畫(huà)面和投影屏幕之間的映射關(guān)系進(jìn)行變換,利用貝塞爾曲面算法在計(jì)算機(jī)中重建虛擬攝像機(jī)采集的原始屏幕圖像矩陣,并計(jì)算投影曲面各特征點(diǎn)的坐標(biāo),根據(jù)原始畫(huà)面的特征點(diǎn)的坐標(biāo)關(guān)系獲得變形校正所需的映射關(guān)系矩陣,該映射關(guān)系對(duì)幀進(jìn)行緩存處理和紋理貼校正,以期達(dá)到畫(huà)面變形校正的效果。
貝塞爾曲面算法實(shí)際上計(jì)算變形曲面網(wǎng)格點(diǎn)的坐標(biāo),通過(guò)一組多邊折線的各個(gè)頂點(diǎn)確定和構(gòu)造出一個(gè)基于三次方貝塞爾曲線的自由曲面:
該式為三次方貝塞爾曲線公式,P1為貝塞爾曲線起點(diǎn)坐標(biāo);P2為貝塞爾曲線終點(diǎn)坐標(biāo);C1為起點(diǎn)對(duì)應(yīng)的控制點(diǎn)坐標(biāo);C2為終點(diǎn)對(duì)應(yīng)的控制點(diǎn)坐標(biāo);U為插值系數(shù);P(u)為生成的貝塞爾曲線上的點(diǎn)的坐標(biāo)。改變U可以得到不同光滑度的貝塞爾曲線。使用 4條貝塞爾曲線可以構(gòu)造出一變形屏幕的邊界。這些邊界點(diǎn)的坐標(biāo)可以通過(guò)網(wǎng)格直接對(duì)幀緩存進(jìn)行幾何校正,網(wǎng)格作為基本圖元,可以在網(wǎng)格的多邊形上進(jìn)行紋理貼圖,也可以將網(wǎng)格的經(jīng)緯線進(jìn)行融合帶光柵對(duì)齊調(diào)整。計(jì)算網(wǎng)格結(jié)點(diǎn)坐標(biāo)的方法如下:
式中M為網(wǎng)格的縱向分段數(shù),N為網(wǎng)格的橫向分段數(shù),i為網(wǎng)格結(jié)點(diǎn)的行號(hào),j為網(wǎng)格結(jié)點(diǎn)的列號(hào),Pij為原始網(wǎng)格結(jié)點(diǎn)的坐標(biāo),為變形后網(wǎng)格結(jié)點(diǎn)的坐標(biāo)。
變形網(wǎng)格結(jié)點(diǎn)坐標(biāo)算法是由原始網(wǎng)格結(jié)點(diǎn)的坐標(biāo)加上兩個(gè)修正項(xiàng)疊加而成,前一個(gè)修正項(xiàng)表示上邊界網(wǎng)格結(jié)點(diǎn)相對(duì)原始節(jié)點(diǎn)位置的橫向偏移,被以線性減少的方式疊加到本列各點(diǎn)的橫坐標(biāo)上,后一個(gè)修正項(xiàng)表示下邊界網(wǎng)格結(jié)點(diǎn)相對(duì)原始位置的橫向偏移,被以線性增加的方式疊加到本列各點(diǎn)的橫坐標(biāo)上。根據(jù)屏幕分辨率得出M、N的值,代入貝塞爾曲面算法式得出校正后的網(wǎng)格節(jié)點(diǎn)和自由曲面。
為了提高虛擬現(xiàn)實(shí)系統(tǒng)中的直觀立體感和真實(shí)感,大型的虛擬船舶機(jī)艙仿真采用多臺(tái)投影機(jī)多通道拼接大幅虛擬場(chǎng)景,各個(gè)通道的畫(huà)面和場(chǎng)景采取視錐體和幀緩存進(jìn)行畫(huà)面分割,分割后的場(chǎng)景必須有重疊部分,保證多通道投影虛擬環(huán)境下各通道的觀察者左右眼位置一致,輸出圖像正確拼接,保證最佳的視覺(jué)差效果,對(duì)重疊區(qū)域的大小即融合帶的寬帶進(jìn)行校正,利用幾何校正和邊緣融合算法對(duì)投影畫(huà)面進(jìn)行無(wú)融合帶處理。融合帶的寬度和畫(huà)面間的亮度直接影響投影屏幕上的拼接效果,利用多通道高分辨率輸出的圖像處理器合成圖像,消除光學(xué)縫隙和屏幕縫隙,利用邊緣融合處理器進(jìn)行圖像校正和統(tǒng)一,融合帶寬度的大小可以幾何校正階段光柵對(duì)齊得到。亮度是由于投影圖像有重疊造成畫(huà)面違和,如果未做畫(huà)面亮度處理,銜接處會(huì)有接縫感,需要對(duì)其進(jìn)行過(guò)渡處理才能減少畫(huà)面的重疊使畫(huà)面一致。邊緣融合技術(shù)有硬件融合、軟件融合、集成式融合。邊緣融合技術(shù)的實(shí)質(zhì)是將多臺(tái)投影機(jī)投射出的三維虛擬畫(huà)面進(jìn)行邊緣重疊,并通過(guò)融合圖像技術(shù)和邊緣融合算法,對(duì)融合帶進(jìn)行幾何矯正、色彩處理, 利用顯卡的幀緩存和實(shí)時(shí)渲染插件進(jìn)行實(shí)時(shí)渲染和處理,達(dá)到改變畫(huà)面顏色和亮度的目的,獲得超高分辨率的無(wú)縫連接高清投影畫(huà)面。邊緣融合算法的核心是利用多次渲染技術(shù)讓圖形卡改變幀緩存融合區(qū)域圖像的亮度像素值,使疊加后圖像的亮度和正常投影圖像無(wú)縫銜接,無(wú)違和感和突兀感。
實(shí)際的投影畫(huà)面效果會(huì)受到各種因素的影響,投影圖像邊緣區(qū)域的亮度衰減、金屬幕的各向反射度不同、投影機(jī)自身色偏等,都將使融合帶凸顯,影響融合效果和違和感。采用融合函數(shù)可以調(diào)節(jié)亮度系數(shù) α,進(jìn)一步調(diào)整融合帶中心位置CENTRAL POSITION的亮度,讓融合帶呈現(xiàn)線性漸變。
三次樣條函數(shù)通過(guò)一個(gè)n階多項(xiàng)式定義出調(diào)整融合帶的光滑的樣條曲線,只要改變樣條曲線的型值點(diǎn),就可任意改變曲線形狀,待定系數(shù)和約束條件可以求解出不同的樣條,因此可以增強(qiáng)融合算法的實(shí)用性和光滑度,調(diào)整融合帶不同區(qū)域的過(guò)渡過(guò)程,從而適應(yīng)各種投影環(huán)境。
附加條件為M0= Mn= 0:
要確定唯一的待定系數(shù),需要附加條件,不同的附加條件求解得到不同的樣條。一般7個(gè)型值點(diǎn)可以繪制出一條樣條曲線,當(dāng)附加條件和待定系數(shù)確定后,通過(guò)控制這些型值點(diǎn)的位置,可以調(diào)處不同的曲線形狀,也可進(jìn)一步改變曲線的形狀,從而調(diào)整出融合帶不同區(qū)域的過(guò)渡過(guò)程,對(duì)過(guò)渡融合帶圖像的 RGB(X, X, X)通道分別進(jìn)行融合調(diào)節(jié)可以達(dá)到最佳處理效果和融合效果。
圖3 輪機(jī)模擬器多通道視景仿真
圖4 輪機(jī)虛擬視景技術(shù)實(shí)驗(yàn)平臺(tái)立體投影柱幕
多通道畫(huà)面同步的核心是同步機(jī)制和仿真數(shù)據(jù)的同步,服務(wù)器在對(duì)每一幀的初始輸入設(shè)備信息處理后,控制各通道的左右眼虛擬攝像機(jī)進(jìn)行控制型值點(diǎn)的變換,比如POSITION位置變換和ROTATION旋轉(zhuǎn)變換,變換和旋轉(zhuǎn)后的攝像機(jī)視點(diǎn)和視向通過(guò)客戶端進(jìn)行數(shù)據(jù)包解析,獲取各個(gè)通道的數(shù)據(jù)并賦給左右眼攝像機(jī)進(jìn)行場(chǎng)景渲染。利用實(shí)時(shí)渲染插件對(duì)虛擬數(shù)據(jù)包進(jìn)行實(shí)時(shí)渲染和繪制,然后把交互結(jié)果通過(guò)線程發(fā)送給服務(wù)器,并等待下一幀攝像機(jī)參數(shù)信息的傳輸和繪制。仿真數(shù)據(jù)的同步是指用戶端與服務(wù)器的數(shù)據(jù)包參數(shù)調(diào)用一致,數(shù)據(jù)結(jié)構(gòu)為交互點(diǎn)名稱加上交互一級(jí)二級(jí)類型、值域等,每個(gè)參與實(shí)時(shí)交互的三維實(shí)體都有一個(gè)大類編號(hào),屬于交互點(diǎn)一級(jí)類型。同時(shí),交互點(diǎn)二級(jí)類型指在同一大類中不同的三維實(shí)體再一次進(jìn)行編碼,與一級(jí)類型共同來(lái)確定三維模型的類型。為方便虛擬場(chǎng)景快速便捷地調(diào)用三維模型,給虛擬場(chǎng)景劃分不同的區(qū)域,標(biāo)出不同的分區(qū)號(hào),區(qū)內(nèi)序列號(hào)是為了在同一個(gè)區(qū)域內(nèi)交互點(diǎn)的序號(hào),也是采用十進(jìn)制編碼,方便快速檢索交互點(diǎn),保持客戶端與服務(wù)器端的數(shù)據(jù)包結(jié)構(gòu)的同步。
三維虛擬仿真系統(tǒng)中最重要的人機(jī)交互界面是視覺(jué)通道,利用算法實(shí)現(xiàn)同步機(jī)制和仿真數(shù)據(jù)的同步,多通道投影立體效果較好,可以實(shí)現(xiàn)更逼真的視覺(jué)效果和立體效果,增強(qiáng)三維虛擬仿真系統(tǒng)的沉浸感和直觀立體感,多通道同步機(jī)制和邊緣融合算法技術(shù)是多通道視景仿真系統(tǒng)的核心交互基礎(chǔ),給用戶更良好的沉浸感和清晰直觀的視景效果,還提高了用戶交互操作下的三維場(chǎng)景無(wú)縫鏈接和動(dòng)態(tài)實(shí)體之間的融合拾取,大大提高了系統(tǒng)畫(huà)面感和交互要求的性價(jià)比??朔藗鹘y(tǒng)模擬器的不足,提升輪機(jī)模擬器的仿真深度和層次,促進(jìn)新型輪機(jī)模擬器仿真的升級(jí)和革新。