• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Unity3D的虛擬船舶電站模擬器研究

      2014-06-27 05:45:37洪茜
      船電技術(shù) 2014年3期
      關(guān)鍵詞:模擬器數(shù)學(xué)模型電站

      洪茜

      (渤海船舶職業(yè)學(xué)院,遼寧葫蘆島 125005)

      基于Unity3D的虛擬船舶電站模擬器研究

      洪茜

      (渤海船舶職業(yè)學(xué)院,遼寧葫蘆島 125005)

      本文在介紹虛擬現(xiàn)實技術(shù)的基礎(chǔ)上,闡述了應(yīng)用最新專業(yè)引擎Unity3D軟件為開發(fā)工具,實現(xiàn)虛擬船舶電站模擬器的關(guān)鍵技術(shù)、系統(tǒng)結(jié)構(gòu)、技術(shù)路線和實施方案。該模擬器具有數(shù)據(jù)精準(zhǔn)、表現(xiàn)力強、基于網(wǎng)絡(luò)、交互性好的特點。該軟件的開發(fā)不僅可為教學(xué)提供實驗平臺,而且能夠方便的移植到其它實際應(yīng)用系統(tǒng)中,具有良好的實用價值。

      船舶電站 Unity3D 模擬器 虛擬現(xiàn)實

      0 引言

      依據(jù)我國海事主管部門及世界海事組織的相關(guān)要求,輪機等部門人員要獲得相應(yīng)等級的適任證書必須要參加船舶輪機模擬器的操作訓(xùn)練與考核評估[1],作為船舶輪機模擬器的重要組成部分——船舶電站模擬器的訓(xùn)練與評估是輪機等部門人員提高個人綜合素質(zhì)的需要,也是適應(yīng)現(xiàn)代化船舶日益自動化、信息化、智能化發(fā)展的需求。目前船舶電站模擬器主要有兩種類型:一類是軟硬件結(jié)合的半實物船舶電站模擬器,它用硬件全部或部分模擬實船上的電站設(shè)備及其操作與顯示功能,操作真實性強,但價格昂貴,不便于攜帶。另一類是純軟件的船舶電站模擬器即虛擬船舶電站模擬器,它是通過數(shù)學(xué)建模、軟件開發(fā)等計算機技術(shù),在計算機上實現(xiàn)的可視化模擬訓(xùn)練平臺。它可以將船舶電站設(shè)備全部虛擬到獨立的PC機上運行,訓(xùn)練時只需用鍵盤和鼠標(biāo)在控制屏上實施操作,其價格便宜,無需維護(hù)。近年來隨著計算機虛擬現(xiàn)實技術(shù)的飛速發(fā)展,虛擬船舶電站模擬器越來越真實,且升級方便,逐漸受到用戶的青睞,具有極大的發(fā)展前景。

      1 相關(guān)技術(shù)概述

      1.1 Unity3D簡介

      Unity3D是一款專業(yè)游戲開發(fā)引擎,能夠提供方便、簡潔的跨平臺游戲開發(fā),擁有高度優(yōu)化的DirectX和OpenGL圖形渲染管道。Unity3D采用層級式的可視化開發(fā)環(huán)境,一個完整的Unity3D程式由若干場景(Scene)組合而成,每個場景中又包含許多模型(GameObject),這些模型可以在Unity3D中創(chuàng)建、編輯或由其它軟件創(chuàng)建后導(dǎo)入。所有的模型都可以通過腳本控制它們的行為。最終在場景中所看到的內(nèi)容是由攝像機(Camera)來展示并控制的。Unity3D具有非常強大的物理引擎,能模擬現(xiàn)實世界中的物理現(xiàn)象。因此,Unity3D功能強大、易于使用、跨平臺,非常適合于創(chuàng)建虛擬現(xiàn)實環(huán)境。

      1.2 基于Unity3D的虛擬現(xiàn)實系統(tǒng)結(jié)構(gòu)

      基于Unity3D的虛擬現(xiàn)實系統(tǒng)分為模型開發(fā)環(huán)境、虛擬現(xiàn)實環(huán)境和用戶系統(tǒng)環(huán)境三個部分,其中模型開發(fā)環(huán)境通過諸如3DSMAX 等三維軟件來進(jìn)行建模和材質(zhì)貼圖,開發(fā)完成后發(fā)布為.FBX格式文件。然后將.FBX文件導(dǎo)入Unity3D軟件進(jìn)行系統(tǒng)合成和交互開發(fā),最終形成基于Unity3D引擎的虛擬現(xiàn)實環(huán)境,其中包括場景數(shù)據(jù)庫、Unity3D渲染引擎和碰撞檢測等交互處理程序,然后發(fā)布到服務(wù)器。當(dāng)收到基于用戶系統(tǒng)環(huán)境的請求后,將需要的文件發(fā)送至用戶計算機實現(xiàn)場景的渲染輸出、相機的跟蹤以及碰撞檢測等交互操作。整個系統(tǒng)結(jié)構(gòu)如圖1所示。

      1.3 基于Unity3D的虛擬現(xiàn)實系統(tǒng)的關(guān)鍵技術(shù)

      1) 實時顯示,在Unity3D引擎中,不需要像3DSMAX等軟件必須渲染才能產(chǎn)生畫面,因為其內(nèi)置了渲染引擎,可以生成具有LOD層次細(xì)節(jié)的畫面,并進(jìn)行顯示效果優(yōu)化,即Unity3D是一個所見即所得的開發(fā)環(huán)境。

      2) 場景漫游,Unity3D中內(nèi)置了第一人稱角色控制器,只要將控制器預(yù)置體拖放至場景中就可以模擬第一人稱在場景中進(jìn)行漫游;還可以通過檢測輸入控制攝像機的方式驅(qū)動場景,從而實現(xiàn)任意視角的場景漫游。

      3) 碰撞檢測,在場景驅(qū)動中必須設(shè)置物體物理屬性來避免“穿墻而過”,因此,每個物體都必須添加能夠執(zhí)行碰撞檢測的組件Component-Physics-Mesh Collider,從而使所有物體在不影響性能的前提下都具有碰撞檢測功能。

      2 虛擬船舶電站模擬器系統(tǒng)設(shè)計

      2.1 虛擬船舶電站模擬器系統(tǒng)結(jié)構(gòu)

      虛擬船舶電站模擬器系統(tǒng)主要包括3D模型模塊、數(shù)學(xué)模型模塊以及教學(xué)功能模塊三部分[2]。其中3D模型用來構(gòu)建虛擬環(huán)境;數(shù)學(xué)模型用來實現(xiàn)系統(tǒng)與用戶的交互以及模型間的交互;教學(xué)功能模塊用來實現(xiàn)人機交互界面,船舶電站模擬器系統(tǒng)結(jié)構(gòu)如圖2所示。

      2.2 3D模型模塊

      該模塊以某集裝箱船的船舶電站為原型構(gòu)建了柴油發(fā)電機組、電站控制管理室、船舶電站配電屏以及相關(guān)負(fù)載的三維可視化虛擬場景,即將船舶電站設(shè)備場景都虛擬到服務(wù)器上[3]。

      當(dāng)訓(xùn)練時,訓(xùn)練人員的PC機將虛擬設(shè)備場景下載到本地機上,經(jīng)過瀏覽器插件實時渲染就可以得到船舶電站設(shè)備的虛擬場景,然后通過鍵盤和鼠標(biāo)進(jìn)行操作。利用這些虛擬設(shè)備場景可以實現(xiàn)的仿真訓(xùn)練主要有:

      1)發(fā)電機組的起動、手動合閘供電與供電方式的轉(zhuǎn)換;

      2)發(fā)電機的手動并車與解列操作;

      3)發(fā)電機突加、突卸負(fù)載的測試;

      4)發(fā)電機的調(diào)壓、調(diào)頻特性與負(fù)荷分配特性測試;

      5)發(fā)電機的保護(hù)功能;

      6)應(yīng)急發(fā)電機手動和自動控制功能;

      7)逼真地模擬各種電氣故障工況等。

      2.3 數(shù)學(xué)模型模塊

      船舶電站模擬器必須按照發(fā)電裝置和配電裝置的工作過程建立數(shù)學(xué)模型,用數(shù)學(xué)形式來表示其設(shè)備的控制、特性和狀態(tài)參數(shù)之間的關(guān)系,經(jīng)過適當(dāng)簡化和假設(shè)后,通過計算機的運算實現(xiàn)三維場景控制。因而,數(shù)學(xué)模型模塊主要包括兩類模型:一類是動態(tài)數(shù)學(xué)模型,用來模擬發(fā)電機以及附屬設(shè)備和系統(tǒng)的動態(tài)特性;另一類是邏輯和控制的數(shù)學(xué)模型,用來模擬船舶電站的控制操作、報警和保護(hù)等。其中發(fā)電機動態(tài)數(shù)學(xué)模型比較復(fù)雜,由兩部分組成:一是轉(zhuǎn)子運動方程,主要反映發(fā)電機輸入機械功率和輸出電功率不平衡時引起的發(fā)電機轉(zhuǎn)速與轉(zhuǎn)子角度的變化。一是電磁回路方程,主要描述發(fā)電機定子、轉(zhuǎn)子繞組的電壓方程。

      2.4 教學(xué)功能模塊

      教學(xué)功能模塊針對仿真訓(xùn)練和教學(xué)的需要對界面進(jìn)行簡化設(shè)計。整個界面包括機艙漫游、操作訓(xùn)練、參數(shù)設(shè)置,考核評分、系統(tǒng)監(jiān)控和故障設(shè)置等功能。通過這些功能可以真實地模擬船舶電站正常和非正常運行工況以及常見故障,能夠進(jìn)行相關(guān)內(nèi)容的仿真訓(xùn)練。其中,操作訓(xùn)練仿真界面由計算機仿真場景來模擬四臺發(fā)電機的運行和負(fù)載操作,主要包括:發(fā)電機機旁控制箱四個、主配電板一塊、應(yīng)急配電板一塊。主配電板包括四個發(fā)電機控制屏、一個并車屏、兩個380V負(fù)載屏和兩個220V負(fù)載屏。應(yīng)急配電板包括一個應(yīng)急發(fā)電機控制屏和一個應(yīng)急負(fù)載屏。

      用戶可以隨時登錄服務(wù)器,以個人計算機瀏覽器為觀察窗口,通過鼠標(biāo)和鍵盤控制自己的視角和視點,對虛擬場景進(jìn)行動態(tài)漫游和實時仿真訓(xùn)練。另外,通過聲音、視頻、文字等輔助性的手段,可以形象地講授船舶電站系統(tǒng)的各個部件、功能及各評估項目的操作過程等。而且虛擬場景與數(shù)據(jù)庫相連,可以保存訓(xùn)練人員的所有操作記錄,可供教師對操作情況進(jìn)行檢查及評判

      3 虛擬船舶電站模擬器平臺的實現(xiàn)

      虛擬船舶電站模擬器平臺實現(xiàn)的主要步驟為:

      1)使用3DSMAX創(chuàng)建船舶電站相關(guān)設(shè)備場景的三維數(shù)字化模型,并導(dǎo)入至Unity3D內(nèi)進(jìn)行編輯;

      2)通過Unity3D的JavaScript腳本程序接口實現(xiàn)數(shù)學(xué)模型對虛擬場景的控制,從而驅(qū)動三維虛擬設(shè)備動作;

      3)設(shè)計構(gòu)建人機交互界面;

      4)將整個虛擬場景上傳至服務(wù)器。當(dāng)用戶使用時,整個模擬器的虛擬場景就通過網(wǎng)絡(luò)下載到用戶計算機,經(jīng)過瀏覽器的實時渲染,將具有交互性的三維虛擬設(shè)備和場景展示給用戶。

      3.1 設(shè)備場景模型的創(chuàng)建

      Unity3D對目前主流的三維模型文件格式都具有良好的支持,本系統(tǒng)使用3DSMAX軟件進(jìn)行設(shè)備和場景的建模,并用PhotoShop進(jìn)行材質(zhì)紋理的處理[4]。當(dāng)模型創(chuàng)建后,利用3DSMAX的導(dǎo)出功能將所有模型導(dǎo)出為.FBX格式,在導(dǎo)出時勾選嵌入的媒體項,這樣所有的貼圖就會一起導(dǎo)出。然后,將.FBX文件放置在Unity3D工程文件的Assets目錄中,這樣在Unity3D的Project視圖中就能夠找到包括模型與材質(zhì)在內(nèi)的所有的資源文件。

      在布置所有的設(shè)備和場景之前,需要為模型創(chuàng)建Prefabs(預(yù)置體),它是一個對象及其組件的集合,可以在場景中被多次重復(fù)使用,即多個相同的對象可以使用一個預(yù)置實例化。例如創(chuàng)建一個發(fā)電機控制屏的預(yù)置就可以實例化多個發(fā)電機控制屏,這樣可以減小虛擬場景的文件大小,從而提高虛擬場景下載到用戶計算機的速度,提高整個模擬器的性能。集控室主配電板虛擬場景效果如圖3所示。

      3.2 實現(xiàn)對虛擬場景的控制

      系統(tǒng)使用JavaScript語言編寫腳本,當(dāng)所有設(shè)備的數(shù)學(xué)模型分別用JavaScript語言實現(xiàn)后,保存為單獨的.JS文件,然后將這些腳本文件附加到相應(yīng)的模擬設(shè)備對象上,就可以實現(xiàn)對虛擬設(shè)備與場景的控制[5]。此外,系統(tǒng)提供了可以自由切換的自由行走和飛行兩種漫游方式實現(xiàn)機艙漫游控制,讓訓(xùn)練人員能夠?qū)φ麄€機艙有更好的觀察和了解,其中飛行模式的部分JS代碼如下所示:

      3.3 人機交互界面的實現(xiàn)

      系統(tǒng)的圖形用戶操作界面由一個主界面和多個子界面組成,主界面中設(shè)置多個按鈕引導(dǎo)用戶進(jìn)入機艙漫游、操作訓(xùn)練、參數(shù)設(shè)置等相關(guān)內(nèi)容,除了機艙漫游需要由鍵盤和鼠標(biāo)共同實現(xiàn)操作外,其它的圖形用戶界面均通過鼠標(biāo)進(jìn)行操作。Unity3D的圖形用戶界面由腳本實現(xiàn),這些腳本必須寫在OnGUI方法里,本系統(tǒng)OnGUI方法部分代碼如下所示:

      4 結(jié)束語

      本文將Unity3D的虛擬現(xiàn)實技術(shù)引入到虛擬船舶電站模擬器的研究與開發(fā)中,進(jìn)一步提高了船舶電站模擬器虛擬環(huán)境仿真效果的真實性,使得訓(xùn)練人員能夠在單獨的PC機上通過Internet進(jìn)行更加真實的船舶電站模擬訓(xùn)練和學(xué)習(xí),具有非常高的性價比。此外,本文研究討論的關(guān)鍵技術(shù)可以應(yīng)用于其它包括安全、醫(yī)學(xué)、電子、科技等相關(guān)的虛擬現(xiàn)實與仿真等領(lǐng)域。

      [1] 中華人民共和國海事局. 中華人民共和國海船船員適任考試人綱[M]. 大連海事人學(xué)出版社, 2006.

      [2] 施偉鋒. 船舶電站仿真系統(tǒng)軟件人機界面的開發(fā)[J].機電設(shè)備, 2001, (1) :21-28.

      [3] 周立民. 船舶電站模擬器系統(tǒng)的研究和實現(xiàn)[D]. 大連海事大學(xué)碩士學(xué)位論文, 2005.

      [4] 陽化冰,劉忠麗,劉忠軒等. 虛擬現(xiàn)實構(gòu)造語言[M].天津航空航天大學(xué)出版社.

      [5] 王益斌. 基于Web3D虛擬船舶輪機模擬器實現(xiàn)方式的思考[J]. 中國水運, 2008, (7) :126-128.

      Research on Virtual Simulator of Marine Power Station Based on Unity3D

      Hong Qian
      (Bohai Shipbuilding Vocational College, Huludao 125005, Liaoning,China )

      By introducing virtual reality technology, this paper shows key technology, systematic structure,technical line and implementation scheme of virtual marine power station simulator using the latest professional engine Unity3D software .The simulator has many advantages, such as data precision, deeply impressive, web based and highly interactive. This software design can not only provide experiment platform for teaching, but also conveniently move to other kinds of practical application systems. It has a high application value.

      marine power station; unity3D; simulator; virtual reality

      TM621

      A

      1003-4862(2014)03-0053-04

      2013-08-13

      洪茜(1981- ), 女, 講師。研究方向:船舶電氣自動化。

      猜你喜歡
      模擬器數(shù)學(xué)模型電站
      AHP法短跑數(shù)學(xué)模型分析
      活用數(shù)學(xué)模型,理解排列組合
      三峽電站再創(chuàng)新高
      了不起的安檢模擬器
      盲盒模擬器
      劃船模擬器
      低影響開發(fā)(LID)在光伏電站中的應(yīng)用
      對一個數(shù)學(xué)模型的思考
      動態(tài)飛行模擬器及其發(fā)展概述
      古塔形變的數(shù)學(xué)模型
      河南科技(2014年5期)2014-02-27 14:08:47
      晴隆县| 论坛| 北安市| 襄樊市| 福建省| 舟山市| 图片| 饶河县| 伊金霍洛旗| 弥渡县| 松溪县| 祁门县| 贵溪市| 铁岭县| 沙雅县| 馆陶县| 城市| 吴江市| 绵阳市| 金山区| 城步| 会同县| 关岭| 南靖县| 广汉市| 富裕县| 改则县| 鞍山市| 磐安县| 普兰县| 龙井市| 盐源县| 禹城市| 黄冈市| 沙河市| 莱州市| 平远县| 中江县| 西和县| 昌都县| 丹棱县|