譚銀朝 姜嘉欣 韓康 候巖巖
摘 要:隨著船舶智能化趨勢的不可逆轉(zhuǎn),對船舶電站智能化水平的要求越來越高,船舶電站的設(shè)計、管理的難度也都將增加。本文研究設(shè)計了船舶電站虛擬現(xiàn)實仿真系統(tǒng),通過對同步發(fā)電機、勵磁控制系統(tǒng)、轉(zhuǎn)速控制系統(tǒng)、負載及船舶電站操作邏輯控制等建立數(shù)學(xué)模型,實現(xiàn)MATLAB/Simulink二維仿真,運用3d Max軟件通過對發(fā)電機組、船舶配電板、各種儀器儀表、開關(guān)按鈕、內(nèi)部脫扣裝置等三維建模并導(dǎo)入Unreal Engine 4(Ue4),生成虛擬現(xiàn)實效果。通過設(shè)計MATLAB和Ue4通信,實現(xiàn)二維與三維同步聯(lián)合仿真。系統(tǒng)可單獨作為船舶電力系統(tǒng)設(shè)計驗證平臺,亦可單獨作為教育培訓(xùn)系統(tǒng)。可縮短船舶電站設(shè)計周期,節(jié)省人力物力,也可提高船舶電站管理培訓(xùn)效率。
關(guān)鍵詞:船舶電站;Simulink;Ue4;虛擬現(xiàn)實;聯(lián)合仿真
為了保證船舶電力系統(tǒng)裝船以后的可靠性,設(shè)計好的船舶電力系統(tǒng)方案在正式進行生產(chǎn)制造之前,需要進行包括系統(tǒng)的靜態(tài)、動態(tài)特性等的一系列的論證與評估,還需要根據(jù)評估結(jié)果對系統(tǒng)的參數(shù)進行整定、優(yōu)化,模擬可能出現(xiàn)的故障,并一步步調(diào)試、完善[1]。運用傳統(tǒng)的物理系統(tǒng)去完成這些工作將會勞民傷財,周期較長,危險性高。隨著自動控制等技術(shù)的發(fā)展,仿真技術(shù)可很好地完成上述工作。但普通的二維仿真給出的一些曲線雖然能表示船舶電站系統(tǒng)的工作狀態(tài),但缺少了直觀性,不易讀,而設(shè)計人員對某一數(shù)據(jù)的誤讀也有可能為設(shè)計帶來不必要的成本投入。本項目研發(fā)的船舶電站虛擬現(xiàn)實仿真系統(tǒng)便可以作為船舶電站設(shè)計的驗證平臺,把二維仿真的結(jié)果轉(zhuǎn)化為直觀的虛擬現(xiàn)實動作,可實現(xiàn)對所設(shè)計的船舶電站的運行分析、各種故障驗證等,提出反事故措施等,而更好地對總體設(shè)計進行試驗、評價、改進和參數(shù)的優(yōu)化,很好地解決船舶電站設(shè)計及生產(chǎn)中的各種不便。
另外,國際海事組織規(guī)定輪機員必須經(jīng)過仿真模擬器的培訓(xùn)[2]。對于目前比較普遍使用的船舶電站模擬仿真系統(tǒng),大都作為一個模塊嵌入輪機模擬器。傳統(tǒng)的各種船舶電站培訓(xùn)設(shè)備與實船上的電站系統(tǒng)往往有很大差別,且在耗資、培訓(xùn)環(huán)境、維護、危險性等諸多方面有較多不適,也不便為提升培訓(xùn)效果,人為制造電站事故來讓學(xué)員實操訓(xùn)練。再者,物理的電站培訓(xùn)設(shè)備在技術(shù)更迭的信息化時代很容易與實際的船舶電站系統(tǒng)脫節(jié),培訓(xùn)系統(tǒng)的更新重建也將帶來巨大的人財物力投入的浪費。市面上普通的二維界面模擬器丟失了物理器件的部分動作特征,缺少一定的直觀性,培訓(xùn)效果不好。本項目研發(fā)的船舶電站虛擬現(xiàn)實仿真系統(tǒng)又可以作為船員培訓(xùn)平臺,為高校船舶電子電氣專業(yè)人才培養(yǎng)及社會船員培訓(xùn)提供良好的仿真訓(xùn)練環(huán)境,大大提升船員培訓(xùn)效果。同時,隨技術(shù)的發(fā)展實時更新,系統(tǒng)可以隨時更新調(diào)整可帶來巨大的經(jīng)濟效益。
1 船舶電站虛擬現(xiàn)實仿真系統(tǒng)概述
圖1為本系統(tǒng)的整體結(jié)構(gòu)圖。其中,船舶電力系統(tǒng)二維仿真系統(tǒng)包括發(fā)電機控制系統(tǒng)驗證仿真、發(fā)電機空載啟動系統(tǒng)、發(fā)電機單機加減靜態(tài)負載仿真、單機加減異步電動機仿真和典型工況故障仿真,發(fā)電機控制系統(tǒng)驗證仿真包括柴油機調(diào)速模型仿真和發(fā)電機勵磁系統(tǒng)仿真,典型工況故障仿真包括單項接地短路仿真、兩相接地短路仿真和三相短路仿真。
二維實時仿真平臺可供開發(fā)人員設(shè)置不同參數(shù),可以輸出各類參數(shù)的波形及數(shù)據(jù)統(tǒng)計信息,供設(shè)計者進行參考并對設(shè)計進行參數(shù)優(yōu)化及完善。同時二維實時仿真平臺與圖形工作站上三維仿真系統(tǒng)進行通信交互,圖形工作站連接VR頭盔顯示器及操縱手柄,實現(xiàn)二、三維系統(tǒng)同步仿真。為系統(tǒng)開發(fā)驗證及教育培訓(xùn)均帶來極大的便利。
2 二維仿真系統(tǒng)開發(fā)
為船舶電力系統(tǒng)建立數(shù)學(xué)模型,包括同步發(fā)電機、勵磁控制系統(tǒng)、轉(zhuǎn)速控制系統(tǒng)、負載及船舶電站操作邏輯控制建立數(shù)學(xué)模型,此數(shù)學(xué)模型按照動態(tài)數(shù)學(xué)模型、邏輯和控制模型進行構(gòu)建。其中用來模擬柴油機及其調(diào)速模型、發(fā)電機及其勵磁系統(tǒng)模型、附屬設(shè)備和系統(tǒng)動態(tài)狀態(tài)的數(shù)學(xué)模型叫做動態(tài)數(shù)學(xué)模型。用來模擬船舶電站報警、操作和控制的數(shù)學(xué)模型叫做邏輯和控制數(shù)學(xué)模型。用Simulink建立船舶電力系統(tǒng)整體仿真模型,總體模型如圖 2所示[3]。
(1)柴油機發(fā)電機組模型。柴油機及其調(diào)速系統(tǒng)模型。調(diào)速器主要由測速器、伺服馬達等部件組成。測速器用來測得柴油機的實際轉(zhuǎn)速,與整定的轉(zhuǎn)速進行比較,偏差作為控制信號控制執(zhí)行機構(gòu)進行轉(zhuǎn)速調(diào)節(jié),控制器和柴油發(fā)電機組形成閉環(huán)反饋控制,最后使得柴油機轉(zhuǎn)速穩(wěn)定在給定值。
(2)發(fā)電機模型。此處所述發(fā)電機模型為交流發(fā)電機模型,交流發(fā)電機又分為同步發(fā)電機和異步發(fā)電機,此處建立同步發(fā)電機的數(shù)學(xué)模型,發(fā)電機的建模主要根據(jù)運行過程中的電磁變化和機電轉(zhuǎn)變的原理來進行。主要包括定子勵磁電動勢、電機空載電動勢、超瞬變電動勢等,然后建立簡化后的定子電壓方程、轉(zhuǎn)子繞組電壓方程、轉(zhuǎn)子運動方程等,在simulink中建立其模型[3]。
(3)發(fā)電機勵磁系統(tǒng)模型。船舶上負荷發(fā)生變化時,通常會造成同步發(fā)電機輸出端電壓的波動,對電網(wǎng)造成不好的影響。這就需要勵磁系統(tǒng)通過控制勵磁電流,以維持同步發(fā)電機端電壓的穩(wěn)定。模型包括相復(fù)勵裝置的數(shù)學(xué)模型、電壓差的數(shù)學(xué)模型、補償器的數(shù)學(xué)模型、放大器的數(shù)學(xué)模型、比例飽和環(huán)節(jié)的數(shù)學(xué)模型、交流勵磁機的數(shù)學(xué)模型、反饋環(huán)節(jié)的數(shù)學(xué)模型[4]。
(4)變壓器和負載模型。包括變壓器數(shù)學(xué)模型、負載數(shù)學(xué)模型,其中負載數(shù)學(xué)模型分為動態(tài)負載和靜態(tài)負載。
(5)并車控制模型。按照準同步并車的方式進行仿真,這種方法沖擊電流小,運用廣泛,需要運行發(fā)電機的頻率相等、電壓幅值相等、相位角相等、相序相同,實際工程應(yīng)用中除了相序相同必須滿足,其余條件可容許有少許偏差[5]。
3 三維仿真系統(tǒng)開發(fā)
根據(jù)所采集設(shè)備的外觀參數(shù),用3D Studio Max(簡稱3d Max)建立船舶電站及附屬設(shè)備和內(nèi)部傳動系統(tǒng)等3D模型,包括發(fā)電機組、船舶配電板、各種儀器儀表、開關(guān)按鈕、內(nèi)部脫扣裝置等,對這些模型做UV展開和零件的拼裝等操作,用Adobe Illustrator和PhotoShop軟件進行二維貼圖的繪制和處理。需要將場景模型導(dǎo)出為FBX格式文件,導(dǎo)入Ue4中,并進行碰撞設(shè)置,以第一人稱操作者進行整個交互設(shè)計和邏輯編程。在虛幻引擎中用藍圖系統(tǒng)和管卡系統(tǒng)構(gòu)建船舶電站各部件和整體的動作,根據(jù)邏輯流程圖生成虛擬現(xiàn)實效果,用VR頭盔顯示器和手柄(如圖3)調(diào)試,達到理想的效果,生成一套可供工程應(yīng)用及教學(xué)培訓(xùn)的虛擬現(xiàn)實仿真系統(tǒng),如圖4所示。
4 二、三維仿真通信設(shè)計
MATLAB和Ue4無法直接通信,本項目采用C++動態(tài)DLL通信,UE4在C++編譯開始前,使用工具UnrealHeaderTool對C++代碼進行預(yù)處理,并自動生成相關(guān)序列化代碼;然后再調(diào)用真正的C++編譯器,將自動生成的代碼與原始代碼一并進行編譯,生成最終的可執(zhí)行文件,這樣實現(xiàn)了UE4和C++的混合編程。然后C++可以調(diào)用MATLAB中的算法,采用的方法為C++調(diào)用m文件生成的DLL文件,MATLAB的C++ Complier可以把m文件轉(zhuǎn)換為C++的源代碼,還能夠產(chǎn)生獨立可執(zhí)行的DLL程序,從而可以在C++程序中,通過調(diào)用DLL實現(xiàn)對MATLAB代碼的調(diào)用。這樣,就可以實現(xiàn)在UE4系統(tǒng)中用戶操作作為輸入,通過C++進行數(shù)據(jù)通訊,在MATLAB中完成對用戶輸入的處理和計算,實時地把計算結(jié)果反饋給UE4的可視化部分,用反饋的數(shù)據(jù)來驅(qū)動可視化中所有船舶電站三維模型的運動,完成交互。
5 結(jié)語
本項目提出了MATLAB與Ue4的C++動態(tài)DLL通信方法,實現(xiàn)了MATLAB和Ue4的聯(lián)合仿真,即實現(xiàn)普通二維仿真和三維視景仿真的結(jié)合,開發(fā)出了與二維仿真同步的最接近實際系統(tǒng)的虛擬現(xiàn)實仿真系統(tǒng),使兩者優(yōu)勢互補。為不同研究對象的相關(guān)技術(shù)的運用提供借鑒,并為以后對接整個船舶制造過程中的輪機、船體三維仿真做基礎(chǔ)。
參考文獻:
[1]吳賽賽. 船舶電站系統(tǒng)建模仿真[D]. 哈爾濱工程大學(xué), 2013.
[2]臧大偉. 船舶轉(zhuǎn)葉式舵機系統(tǒng)仿真與虛擬現(xiàn)實的實現(xiàn)[D]. 大連海事大學(xué), 2008.
[3]賈君瑞. 船舶電站系統(tǒng)建模與仿真[J]. 艦船科學(xué)技術(shù), 2012(11):55-58.
[4]王巖. 船舶電力系統(tǒng)建模及其仿真應(yīng)用[D]. 大連海事大學(xué), 2018.
[5]侯林其. 船舶電力系統(tǒng)建模與仿真研究[D]. 大連海事大學(xué), 2016.
基金項目:2019年山東省船舶控制工程與智能系統(tǒng)工程技術(shù)研究中心科研開放基金項目:船舶電站虛擬現(xiàn)實仿真系統(tǒng)開發(fā)研究(項目編號:SSCC20190001)。