李建偉
應用研究
基于Unity3D的船舶電力推進系統虛擬仿真設計
李建偉1, 2
(1. 青島港灣職業技術學院,青島 266404;2. 船舶動力工程技術交通運輸行業重點實驗室(武漢理工大學),武漢 430063)
以某電力推進科考船為母型,在分析電力推進結構和原理的基礎上,提出基于Unity3D的虛擬仿真設計,并介紹系統設計過程中的關鍵技術。仿真結果表明:該設計能實現船舶電力推進系統虛擬場景的漫游控制、部件檢查、人機交互等功能,其生成的可執行程序有助于電力推進系統的操作和培訓。
船舶電力推進 虛擬仿真 Unity3D
船舶電力推進系統以其機動性好、布局靈活等諸多優點,被廣泛應用于大型集裝箱船、超大型散貨船、LNG船、客運滾裝船、破冰船、挖泥船等領域。羅成漢利用Profibus現場總線技術設計船舶電力推進模擬平臺,對船舶電力推進系統的推進電機的啟動、制動和緊急反轉進行仿真,分析了三種工況下推進電機對電網的沖擊[1];秦俊峰等在空間矢量調制直接轉矩控制算法的基礎上利用MATLAB/Simulink建立船舶電力永磁同步推進電機的仿真模型,分析了電力推進船舶的額定負載起動、轉速轉矩突變及低速運行性能[2];宋春楠采用PI模糊控制對船舶電力推進系統中螺旋槳負載進行模擬研究,分析了螺旋槳的三種典型轉矩特性,并結合最小二乘法對螺旋槳特性曲線進行曲線擬合[3]。
隨著虛擬現實技術的發展,船舶電力推進系統的虛擬仿真研究逐漸展開,但尚未成熟。王成睿利用 Java3D 虛擬現實軟件平臺,搭建了吊艙式電力推進器的虛擬場景,實現了推進器的虛擬漫游和操控[4];欒成利用Visual C++6.0 及Open GL對船舶綜合電力推進系統進行三維建模,實現了船舶電力推進系統各部件的模型展示和初步交互[5]。鑒于此,本文利用Unity3D虛擬現實編輯平臺,對船舶電力推進系統進行虛擬仿真設計。
基于Unity3D的船舶電力推進系統虛擬仿真設計旨在借助Unity3D虛擬現實編輯平臺塑造一種可在液晶屏上演示和操作的虛擬人機交互系統,其演示和操作內容涵蓋了船舶電力推進系統的相關理論知識和實踐技能,系統設計流程如圖1。

圖1 虛擬仿真構建思路
系統設計首先整理和分析船舶電力推進系統的各組成部分、動作原理和操作流程,并結合實船調研資料分析出系統設計所需的數學模型,忽略一些次要影響因素,對模型進行必要的簡化,為后期的建模提供便利。
根據數學模型的簡化結果,采用3dsMax創建船舶電力推進系統的三維模型,并對模型進行必要的紋理、渲染、烘焙及動畫設置處理[6],將三維模型保存成.FBX后綴文件,以方便Unity3D虛擬現實編輯平臺的識別和導入。
利用Unity3D編輯平臺對導入的三維模型進行編輯、調整和精細化處理,同時利用第一人稱攝像機和Shader渲染出船舶電力推進系統的虛擬場景[7],借助Java腳本和C#腳本實現船舶電力推進系統的設計功能,最后發布成船舶電力推進系統虛擬仿真平臺。
基于Unity3D的船舶電力推進系統虛擬仿真以某先進的輪渡船為參考模型進行建模,其母型船參數為船長182.6米、船寬26.8米、型深13.35米、設計吃水7.6米、排水量16729噸,載重7828噸,所建數學模型涵蓋了電氣、機械及熱力方面的相關理論知識。
船舶電力系統的數學模型包括柴油同步發電機數學模型、真空斷路器數學模型、推進變壓器數學模型、艏側推電機數學模型、傳輸線路數學模型、靜態負荷數學模型、動態負荷數學模型及吊艙式永磁同步推進電機數學模型,論文以吊艙式永磁同步推進電機數學模型為例進行闡述。
永磁同步推進電機電壓等級690 V,額定轉速200 r/min,額定功率560 kW,額定電流583 A。在建模時,采用坐標系下的派克-戈列夫模型,并忽略磁場的高次諧波分量、電樞反應、勵磁繞組和阻尼繞組的漏感,確保穩態和瞬態性能[8-9]。
永磁同步推進電機的電壓方程為:
u=dΨ/d- ωΨ+ Ri
u=dΨ/d- ωΨ+ Ri
2q/d+ R2q2q0
2d/d+ R2d2d0
磁鏈方程為:
Ψ=Li+ Li2d+ Li
Ψ= Li+ Li2q
2d2di+ Li+ Li
2q2q2q+ Li
電磁轉矩方程:
(Ψi-Ψi)
機械運動方程為:
d=T-T-RΩ
為分析和模型控制需要,進行如下假設:
①假設磁路飽和、磁滯和渦流對參數無影響;
②假設導體的集膚效應可以忽略;
③假設溫度和頻率對永磁體性能無影響;
④假設轉子結構對直軸和交軸完全對稱;
⑤假設轉子阻尼繞組課等效為直軸和交軸兩個獨立繞組[10]。
根據上述假設,模型簡化為:
u=dΨ/d- ωΨ+ Ri
u=dΨ/d- ωΨ+ Ri
Ψ=Li+ Li
Ψ= Li
(Ψi-Ψi)=[Lii+(L-L)ii]
以上所述式子中,表示電壓;表示電流;表示磁鏈;為定子直軸分量;為定子交軸分量;2為轉子直軸分量;2為轉子交軸分量;為電感。
基于Unity3D的船舶電力推進系統虛擬仿真的三維建模,是在各機械數學模型和電氣數學模型的基礎上,忽略次要影響因素所創建的簡化模型,進而為系統的三維建模提供數據支撐[6]。
為保證所構建虛擬場景的逼真度,選擇合適的建模方法稱為關鍵。根據本系統的實際建模需要,采用了3ds Max建模軟件提供線框建模、多邊形建模和NURBS建模等建模方法。
對于配電系統的電壓表、電流表等的表盤可采用線框建模,以方便精準把握表盤尺寸的大小,凹凸程度以及指針的坐標,使模型精確細化,并能有效減少冗余的三角面,方便后期的場景運行;對于形狀規則的配電板、轉換開關、地氣燈和操作按鈕等則采用多邊形建模,利用3ds Max提供的“編輯多邊形”修改器能方便快捷的創建三維模型;對于真空斷路器、艏側推器和吊艙式電力推進器則采用非均勻有理數B-樣條線的NURBS建模方法,圖2為船舶電力推進系統配電裝置,圖3為吊艙式電力推進器。

圖2 船舶電力推進系統配電裝置
為了保證所設計的虛擬系統運行的流暢性和逼真度,同時兼顧運行時少占用內存,必須對三維模型進行必要的優化。模型優化的目的是有效減少三角面的數量,常采用MultiRes優化法[11]。其方法如下:首先將待優化模型轉化為可編輯多邊形,然后利用MultiRes命令進行優化,在優化過程中要合理把握模型大小和模型準確性之間的最優解,并設置分辨率中的點百分比,可有效減少模型的頂點數和三角面數,達到優化的效果。

圖3 吊艙式電力推進器
船舶電力推進系統虛擬仿真設計的漫游功能可對各部件進行動態展示,宛如在實際場景中漫步,方便對各部件的細節進行檢查并對關鍵部位進行微調,漫游功能的實現主要采用“第一人稱相機”配合腳本來實現,最終的人機交互可通過鼠標和鍵盤來控制,也才采用預制的漫游路徑來展示。
在漫游控制過程中,為了達到沉浸式的漫游效果,增強參與感,同時避免“第一人稱相機”與各部件及周圍環境的干涉情況出現,必須進行碰撞檢測的設置。論文采用“基于固定時間片長度的碰撞檢測算法”,即將虛擬場景中的物體運動過程按時間劃分為很多等長的時間片,在每一個時間片結束時對物體進行碰撞檢測。其關鍵在于選擇合適的時間片長度,既可避免出現漏報現象,又能有效降低計算機內存占用[6]。
采用該算法中邏輯的空間包圍盒將虛擬物體包裹起來,并將該包圍盒視作剛體,這樣在漫游時就能快速實現碰撞檢測,有效避免物體間的重疊現象。
真空斷路器是船舶電力推進系統的重要部件,為提高真空斷路器的可靠性,操作人員根據實際狀況定期對真空斷路器進行檢修,主要包括檢測真空滅弧室的真空度、調整真空斷路器的超行程、整定真空斷路器同期性、調整真空斷路器的分合閘速度和檢修操作機構[12](運動部件的磨損、緊固件是否松動、清除絕緣表面灰塵和加注潤滑脂)。
在實船上,通常將真空斷路器裝入高壓開關柜中,并安裝起隔離電路作用的隔離開關、起安全保障作用的接地開關和起過電壓保護作用的RC吸收器等[13]。為了確保操作者的安全,RC吸收器必須充分放電,檢修操作必須嚴格按照既定的操作規程進行,其流程如下:
船舶電力推進系統所涉及的交互功能主要由腳本來實現,Unity3D提供了Boo腳本語言、Java腳本語言和C#腳本語言[14],其中Boo腳本語言在Unity3D編程中很少使用,Java腳本語言屬于弱類型,后期的維護和調試比較繁瑣,可用于實現簡單的交互,諸如“轉換開關”的選擇切換、“指示燈”的顏色改變、“操作部件”的平移、“高壓開關柜”的打開及關閉等。

圖4 真空斷路器檢修流程圖
C#腳本語言使用比較廣泛,可用于實現復雜的邏輯關系,同時用戶可根據習慣編寫自定義腳本,并能輕易建立腳本之間的連接和調用,整合各類Event事件,實現復雜邏輯的實時仿真。
為了更好展示船舶電力推進系統的虛擬仿真程序,需要對所編輯的虛擬場景進行打包和發布。在打包時,需要設置Rendering參數、Identification參數、Configuration參數及Optimization參數,并配合Build按鈕進行打包[16]。
Unity3D平臺可將編輯好的虛擬仿真場景發布成macOS或Windows系統程序。對于macOS系統,發布成app bundle,囊括了所有的資源,且可以直接執行;對于Windows系統則發布成.exe后綴名的可執行文件,同時生成XXX_Data文件,方便瀏覽和查閱。
基于Unity3D虛擬仿真平臺設計并開發了船舶電力推進系統,模擬了船舶電力推進系統的發電操作、并車操作、配電操作、真空斷路器的檢修、艏側推器的啟動及吊艙式電力推進器的工作過程,并增加了First Person Conttroller,提升了用戶的體驗效果,實現了系統的人機交互。
該仿真系統具良好的交互功能和逼真的沉浸感,操作者可以在虛擬環境中體驗船舶電力推進系統的各種操作,滿足船舶電力推進系統操作人員培訓的基本要求,具有對于理順船舶電力系統的操作流程和人員培訓具有較高的參考價值。
[1] 羅成漢. 船舶電力推進模擬平臺的研究[D]. 武漢: 武漢理工大學, 2013: 1-8.
[2] 秦俊峰, 白洪芬, 顏澤鋅, 齊運永. 船舶電力永磁同步推進電機空間電壓矢量DTC[J]. 中國航海, 2017(12): 25-29.
[3] 宋春楠. 船舶電力推進系統中螺旋槳負載模擬的研究[D]. 哈爾濱: 哈爾濱工程大學, 2011: 1-7.
[4] 王成睿. Web3D虛擬現實平臺及吊艙推進器虛擬操控的研發[D]. 廈門: 集美大學, 2014: 5-13.
[5] 欒成. 船舶綜合電力推進系統三維建模與初步實現[D]. 哈爾濱: 哈爾濱工程大學, 2012: 23-31.
[6] 李建偉. 船舶輔鍋爐操控系統的三維實體建模與虛擬仿真[D]. 廈門: 集美大學, 2009: 27-31.
[7] Charles Bemardoff. NGUI for Unity3d[M].BIRI VirnGAM-MUMBI: Packt Publish. 2014.
[8] 喬鳴忠, 于飛, 張曉鋒.船舶電力推進技術[M]. 北京:機械工業出版社, 2019: 55-63.
[9] 湯天浩, 韓朝珍. 船舶電力推進系統[M]. 北京: 機械工業出版社, 2015: 103-112.
[10] 武起立. 煙大鐵路輪渡變頻電力推進系統的研究[D]. 大連: 大連海事大學, 2008: 40-47.
[11] 欒飛. 基于Unity3D的液壓傳動虛擬仿真教學系統開發[D]. 濟南: 山東建筑大學, 2015: 26-29.
[12] 李凱. 基于PLC的船舶中壓電站模擬器研發[D]. 廈門: 集美大學, 2014: 36-41.
[13] 宋洋濤. 船舶電力推進自動控制系統設計與研究[D]. 大連: 大連海事大學出版社, 2014: 2-7.
[14] 加藤政樹, 羅水東. Unity游戲設計與實現[M]. 北京: 人民郵電出版社, 2019: 71-75.
[15] 萬隆君. 基于VR技術的船舶管路裝配虛擬仿真系統設計[J]. 中國造船, 2017(3): 186-191.
[16] 馬遙, 陳虹松, 林凡超. Unity3D完全自學教程[M]. 北京: 電子工業出版社, 2019: 313-322.
Virtual Simulation Design of Marine Electric Propulsion System Based on Unity3D
Li Jianwei1, 2
(1. Department of Marine Engineering, Qingdao Harbor Vocational And Technical College, Qingdao 266404, Fujian, China;2. the Key Laboratory of MarinePower Engineering &Technology(Wuhan University of Technology), Ministry of Transport, Wuhan 430063, China)
U665.1
A
1003-4862(2021)02-0007-04
2020-09-10
船舶動力工程技術交通運輸行業重點實驗室(武漢理工大學)開放課題基金資助項目(No.KLMPET2018-07);山東省高等學校科技計劃項目(J18KB034)
李建偉(1981-),男,副教授。研究方向:虛擬仿真。E-mail: joyleejianwei@163.com