倪天濤 胡以懷
摘要:首先簡要介紹了船舶電站的基本結(jié)構(gòu)和主要的開發(fā)工具,然后根據(jù)軟件的功能要求,設(shè)計了一種軟件總體的開發(fā)流程。軟件開發(fā)的過程中主要存在兩方面的問題,一方面如何使軟件盡可能的小,保證能夠流暢的運行,另一方面軟件多種功能邏輯的實現(xiàn),針對這些問題該文詳細介紹了三維模型文件、Quest3D文件優(yōu)化方法和故障設(shè)置邏輯、數(shù)據(jù)顯示邏輯的實現(xiàn)方法。最后以并車屏為例,展示了發(fā)布后的效果。
關(guān)鍵詞:Quest3D;船舶電站;維修;虛擬現(xiàn)實;優(yōu)化
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1009-3044(2015)20-0075-03
Virtual Maintenance Software Development of Ship Power Station Based on Quest3D
NI Tian-tao, HU Yi-huai
(Merchant Marine College, Shanghai Maritime University, Shanghai 201306, China)
Abstract: This paper introduces the basic structure of the ship station and the main development tools.Depending on the software functional requirements, overall development process of the software is designed.There are two issues in the software development process,on the one hand how to make the software as small as possible to ensure the software can run smoothly, on the other hand how to program to achieve a variety of functions. The solutions are carefully analyzed. It shows the effect of post-release at last.
Key words: Quest3D; power plant; repair; virtual reality; optimization
船舶電站是現(xiàn)代船舶電力系統(tǒng)的重要組成部分,被譽為現(xiàn)代船舶的心臟。船舶電站供電的可靠性和供電品質(zhì)將直接影響船舶的安全運營和經(jīng)濟效益。為了實現(xiàn)船舶電站的可靠控制和安全運行管理,必須加強對相關(guān)人員的培訓(xùn)。傳統(tǒng)的模擬器造價高、不能設(shè)置硬件故障。而現(xiàn)有的船舶電站虛擬維修軟件采用虛擬現(xiàn)實技術(shù),可以突破空間和地域的限制,具有高度靈性,可重復(fù)利用,經(jīng)濟實惠等的優(yōu)點。
船舶電站不僅是船舶最重要的子系統(tǒng),同時也是船舶電力系統(tǒng)的核心。船舶電力系統(tǒng)主要由發(fā)電裝置、輸配電裝置、負載裝置等三部分組成[1],如圖1所示
圖1 船舶電站的結(jié)構(gòu)
1 軟件的開發(fā)工具
軟件的開發(fā)主要分為兩大部分:三維模型的建立和虛擬場景的構(gòu)建。
1.1 三維模型的建立
三維模型的建立主要使用3Ds Max,它是由Autodesk公司推出的一款基于Windows95 /98、WinNT2000以上的操作系統(tǒng)的強大的三維制作軟件,具有二維建模、幾何體建模、擠壓建模等多種建模技術(shù),并且設(shè)置了材質(zhì)、燈光和動畫效果,還提供了完全開放的開發(fā)環(huán)境[2]。借助于panda Direct X Exporter x86中間插件將三維模型導(dǎo)出為.X文件,為虛擬場景的構(gòu)件提供良好的三維素材。
1.2 虛擬場景的構(gòu)建
虛擬場景的構(gòu)建主要依靠Quest 3D。它是一款可在編輯環(huán)境中與對象實時互動的三維虛擬開發(fā)平臺,提供了豐富的邏輯功能模塊—信道(Channel)。通過Channel選取和連接,就可以快速編輯出所需的仿真應(yīng)用程序。將Quest 3D用于船舶電站虛擬教學(xué)軟件的開發(fā),可簡化開發(fā)過程,具有開發(fā)周期短、過程簡單等優(yōu)勢.
Quest3D程序運行:在Quest3D整個程序中,必須有1個Channel 作為程序的起始點,稱之為Start Channel。通??梢赃x取Start3D Scene 或 Channel Caller作為起始Channel。當(dāng)起始Channel被設(shè)定為啟動時,在Channel上方將會出現(xiàn) 1個大的箭頭。在起始Channel下方連接有一個Render(用來渲染平臺中的場景),在它下面連有物體、燈光、攝像機,即場景中包含的最基本的模塊。在Quest3D程序從左到右執(zhí)行整個物件過程中,當(dāng)父物件下方有子物件時,先執(zhí)行子物件再執(zhí)行位于右邊的父物件,當(dāng)所有的子物件被執(zhí)行完成后,再從頭開始執(zhí)行,成為一個完整的框架(Frame)[3]。(如圖2所示)
圖2 Channel 執(zhí)行流程圖
漫游實現(xiàn):漫游應(yīng)用的主要是Quest3D中的行走相機,行走相機模塊的功能是借助鼠標與鍵盤操作人員跟隨相機鏡頭在場景中漫游。行走相機模塊在Quest3D中作為已編譯好的模塊,可以對相機的草書進行修改,比如相機盒子的大小、焦距、行走速度和初始位置等[4]。剪切平面是一個相機的虛擬邊界,在這個邊界之內(nèi)出現(xiàn)的物體會被渲染,邊界之外的物體不會被計算[5]。這樣可以減少計算機的負擔(dān),通過添加一個Field of View Matrix 模塊到Camera上,可以手動定義剪切面。該模板允許改變事業(yè)的角度,標準值從50度到90度。當(dāng)剪切面確定了需要渲染的場景,內(nèi)容數(shù)量就會減少,程序的效率因此也得到了很大的提高。
2 軟件的總體設(shè)計
2.1軟件的功能分析
基于 ST CW78/ 95公約及我國主管機關(guān)規(guī)定的船舶機電設(shè)備的模擬操作培訓(xùn)要求, 和新一代船舶電站的功能要求,該系統(tǒng)具備以下功能要求,
1)船舶電站漫游功能??梢允共僮魅藛T打開相關(guān)的配電屏,查看內(nèi)部結(jié)構(gòu)。配合其他虛擬現(xiàn)實設(shè)備3D眼鏡等,從而使操作人員更加系統(tǒng)、直觀地了解船舶電站的工作原理、電氣元件的使用種類以及相關(guān)操作。
2)船舶電站操作和維修功能。依據(jù)海事局《海船船員適任考試與評估大綱》規(guī)定的實操要求和船舶電站的常見故障,進行并車、解列等基本操作和保險絲、繼電器與電壓表等多種電氣元件的故障設(shè)置。與VB通訊,可以進行船舶電站的一些綜合訓(xùn)練,并將操作人員的練習(xí)和評估成績進行保存。
3)船舶電站測量功能。船舶電站涉及大量的電學(xué)儀表,反映電站的運行情況主要參數(shù)需要通過這些電壓表、電流表、頻率表等電學(xué)儀表實時地顯示出來。操作人員還可以調(diào)用萬用表,對內(nèi)部零部件保險絲、繼電器、變壓器等電壓、電流和電阻進行測量,根據(jù)測量到的數(shù)據(jù),判斷電站的故障情況。與傳統(tǒng)的電站相比,訓(xùn)練的真實感大大增強。
2.2 軟件的總體的設(shè)計流程
1)準備階段:根據(jù)海事規(guī)范和相關(guān)培訓(xùn)要求,確定船舶電站的故障類型和基本操作,制定整體產(chǎn)品方案。同時,對實體船上的電站外部結(jié)構(gòu),內(nèi)部零部件進行素材采集,確定各個類型故障的具體顯示效果。
2)三維建模階段:根據(jù)收集到的素材,在3ds Max中進行場景建模和結(jié)構(gòu)建模。在滿足真實感的基礎(chǔ)上,對模型進行優(yōu)化,減小模型的數(shù)據(jù)量,提高軟件整體的運行效率。
3)Channel 開發(fā)階段:借助于panda Direct X Exporter x86中間插件將三維模型導(dǎo)出為.X文件。然后將.X文件導(dǎo)入Quest 3D虛擬仿真平臺。通過Quest 3D中的Channel編輯器安排和鏈接相關(guān)的Channel流程圖,實現(xiàn)故障設(shè)置、動作檢測、數(shù)據(jù)形式等多種形式的邏輯運算,從而實現(xiàn)系統(tǒng)的各種功能。
4)發(fā)布階段:將程序發(fā)布成EXE文件,供后期的開發(fā)。
圖3 軟件的開發(fā)流程
3 系統(tǒng)的關(guān)鍵問題及其解決方案
軟件開發(fā)的過程中主要存在兩方面的問題,一方面如何使軟件盡可能的小,保證能夠流暢的運行,另一方面軟件多種功能邏輯的實現(xiàn)。
3.1 三維模型文件和Quest3D文件的優(yōu)化
船舶電站結(jié)構(gòu)復(fù)雜,零部件眾多。減小模型質(zhì)量會影響場景的逼真度和效果,同時如果采用過多的細節(jié)會降低繪圖效率和影響后期軟件的運行速度,所以要在模型的復(fù)雜性和細節(jié)度間尋求平衡[6]。為了獲得數(shù)據(jù)量小、效果逼真的模型需要從以下幾個方面出發(fā):
1)多采用標準幾何體建模:標準幾何體的節(jié)點比較規(guī)則,模型文件的運算量小,可顯著降低數(shù)據(jù)量。
2)運用多種建模方法,包括放樣、布爾運算和多邊形建模等方法使模型盡量成為單面空殼狀態(tài),減少模型所占用的空間。
3)對于需要檢修的重要零部件進行精細化建模,提高逼真度。外觀零部件采用紋理技術(shù),即在天花板,地板等模型“貼”上對應(yīng)的紋理貼圖。 用這些紋理貼圖替代場景模型的可建模實現(xiàn)或不可建模實現(xiàn)的細節(jié),不僅減小模型的數(shù)據(jù)量,而且還可以充分體現(xiàn)出素材本身的鮮明色彩和紋理特征。
圖4 繼電器建模效果圖
完整的船舶電站包含許多細小的部件,把眾多的部件放置在一個場景中,代碼量相當(dāng)多,會影響軟件的運行速度。創(chuàng)建場景時,要考慮場景文件的優(yōu)化。優(yōu)化方法主要有兩個方面:
1)對象的重復(fù)利用:針對場景中完全一樣的模型,如電壓表、電流表和頻率表等,在首次導(dǎo)入時定義物體名稱,在下次使用時直接復(fù)制該對象,可以減少重復(fù)的工作量。在提高效率的過程中有一點需要注意,當(dāng)復(fù)制的文件過大時,由于內(nèi)存的限制,容易出現(xiàn)系統(tǒng)崩潰等現(xiàn)象。
2)整體導(dǎo)入導(dǎo)出:船舶電站中的許多對象作為環(huán)境場景,不需要進行移動或轉(zhuǎn)動操作,可以將這些部件作為整體導(dǎo)入。螺釘、小燈等需要進行交互式操作,但數(shù)量眾多的零件整體導(dǎo)入后,再對其進行拆分,也可以大大提高導(dǎo)入的效率。
3.2 交互式控制
為了實現(xiàn)故障檢修功能,軟件的主要交互式控制包含以下幾個基本部分:
1)部件故障設(shè)置。允許培訓(xùn)人員對各部件的工作狀態(tài)進行靈活設(shè)置,從而對學(xué)員進行綜合培訓(xùn)。具體的方法如下:模型通常以整體的形式導(dǎo)入,首先將故障部分找出,加入3D object和motion變?yōu)楠毩⒌奈募鳛閭溆谩H缓笳页霆毩⑽募膶傩裕╩aterial)部分,調(diào)用 Channel Caller 和Trigger Channel,再賦予物體相應(yīng)的邏輯( Value) 來改變物體的屬性(如圖5所示)。描述“變壓器燒毀,空氣開關(guān)短路”等邏輯控制流程。
圖5 部件故障設(shè)置邏輯圖
2)數(shù)據(jù)顯示設(shè)置。電氣培訓(xùn)過程中,要求學(xué)員能夠自由的對表盤進行操作并熟練使用萬用表等測量儀器,操作的結(jié)果實時地顯示出來。而Quest3D只能對具體的三維對象進行編輯。 具體的方法如下:將Value、text和3D Text Object Data三個基本的 Channel順次聯(lián)接起來,使二維數(shù)字轉(zhuǎn)換為三維對象,然后再調(diào)用motion賦予它具體的位置來實現(xiàn)數(shù)據(jù)顯示(如圖6所示。其中Value用來存儲顯示的數(shù)據(jù),Text用來將數(shù)據(jù)轉(zhuǎn)換為文本格式。
圖6 數(shù)據(jù)顯示的設(shè)置邏輯圖
4 案例演示
以并車屏為例,發(fā)布后的效果如圖7所示。
圖7 并車屏示意圖
5 結(jié)束語
新一代的船舶電站,不僅能夠?qū)崿F(xiàn)傳統(tǒng)模擬器并車、解列等基本功能,還能展示內(nèi)部結(jié)構(gòu)和進行維修操作,讓學(xué)員對船舶電站運行和維護過程有更加深入的認識。在能耗和培訓(xùn)效率方面也是傳統(tǒng)模擬器無法比擬的。隨著虛擬現(xiàn)實技術(shù)在船舶行業(yè)應(yīng)用的增多,仿真對象的不斷完善,現(xiàn)有的物理硬件將逐漸被軟件所取代,將步入一個嶄新的時代[7]。
參考文獻:
[1] 薄洪光. 船舶電站仿真軟件系統(tǒng)[D]. 大連: 大連海事大學(xué), 2004.
[2] 何曉田. 基于3D MAX實現(xiàn)虛擬校園場景建模[J]. 電腦知識與技術(shù), 2011, 7(22): 5365-5366.
[3] 楊艷紅, 鐘相強, 陳洋, 崔成. 基于Quest3D 的工業(yè)產(chǎn)品虛擬裝配研究[J]. 機械設(shè)計, 2013, 3(9): 97-100.
[4] 李志球, 胡以懷. 以Quest3D為虛擬引擎的船舶機艙漫游系統(tǒng)的制作方法[J]. 電腦知識與技術(shù), 2013, 9(34): 7884-7887.
[5] 路朝龍. Quest3D從入門到精通[M]. 北京: 中國鐵道出版社, 2012: 30-33.
[6] 王巖, 陳邑. 3D MAX材質(zhì)材質(zhì)與貼圖技術(shù)精湛[M]. 北京: 機械工業(yè)出版社, 2007.
[7] 曾青山. 輪機模擬器的現(xiàn)狀和發(fā)展趨勢[J]. 集美大學(xué)學(xué)報: 自然科學(xué)版, 2003, 8(1): 77-80.