李超 陳哲 潘義川
【摘 要】論文通過對船舶運動分析,再基于Unity下的開發(fā)軟件萬維引擎,針對游艇虛擬操縱平臺完成游艇操縱、虛擬儀表和運動模擬以及駕駛交互設計,通過測試完成游艇駕駛虛擬仿真程序的發(fā)布。
【Abstract】Through the analysis of ship motion , and then based on the development software of Very Engine under the Unity, the yacht manipulation, virtual instrument and motion simulation and driving interactive design for the yacht virtual manipulation platform are finished.Through the test completed the launch of the yacht driving virtual simulation program.
【關鍵詞】游艇;虛擬現(xiàn)實;駕駛模擬;運動仿真
【Keywords】 yacht; virtual reality; driving simulation; motion simulation
【中圖分類號】U674.942 【文獻標志碼】A 【文章編號】1673-1069(2018)05-0189-03
1 引言
虛擬仿真技術在早期主要應用于船舶駕駛模擬,近些年由于虛擬技術發(fā)展在游艇的仿真也取得相應進展,如姜文剛通過對高速游艇的運動和姿態(tài)以及舵機、主機,進行了建模和計算機仿真。結合高速游艇船體等實物,搭建了半實物的高速游艇模擬駕駛實時仿真系統(tǒng)[1];半實物仿真系統(tǒng)由于研發(fā)周期和造價高昂在滿足日漸加速發(fā)展的虛擬現(xiàn)實技術需求方面明顯不足。多自由度模型是進行游艇虛擬設計時較為重要的步驟。目前我國建立高速滑行艇前進、升沉、縱搖三自由度運動模型并進行運動預報與仿真[2],正橫規(guī)則波四自由度模型[3]等,隨著近幾年虛擬現(xiàn)實技術的快速發(fā)展,適合快速發(fā)展的桌面式和沉浸式環(huán)境下的游艇駕駛操縱仿真系統(tǒng)能夠解決游艇多自由度運動的問題,在復雜運動表達方面具有快速更改、編程簡易的優(yōu)勢。
2 游艇駕駛系統(tǒng)開發(fā)平臺
Unity與萬維引擎:
Unity是由Unity Technologies開發(fā)的讓用戶根據(jù)自身需求開發(fā)互動內(nèi)容的多平臺的綜合型開發(fā)平臺,是一個全面整合的專業(yè)開發(fā)虛擬系統(tǒng)的引擎[4]。
萬維引擎是一款基于Unity環(huán)境開發(fā)的虛擬現(xiàn)實軟件開發(fā)平臺,其打破了傳統(tǒng)的計算機編程開發(fā)模式,通過使用C#編程語言將抽象的基本操作功能指令轉化為具體的功能指令,將功能指令存儲于表格中,進行虛擬開發(fā)時是通過Excel中編輯功能文本指令,軟件運行通過表格驅動讀取對應文本功能。
3 游艇駕駛系統(tǒng)整體設計
此游艇駕駛仿真系統(tǒng)應具有以下基本功能:模擬游艇的運動姿態(tài);模擬游艇在威海小石島附近的三維場景;模擬主機、舵機運行以及相關儀器儀表;接近真實的原比例駕駛操縱臺,可供用戶借助外部設備進行沉浸式操作;應具有操作流程交互提示。
4 游艇運動數(shù)學模型
4.1 游艇五自由度運動方程
按船舶質心運動定理和相對質心運動的動量矩定理[5]:對于動系,有: = + x M= + x (1)
式中, 是動系o-xyz轉動的角速度; —船的動量; —船相對于質心G運動的動量矩。
忽略縱搖,寫成投影式,建立游艇五自由度的運動方程式: M( +qw-rv)=X M( +ru-pw)=Y I +qrI =L Iz +qpI =N M( +pv-qu)=Z (2)
4.2 游艇橫搖垂蕩運動方程
根據(jù)自由橫搖的固有周期計算公式[6],一般游艇橫搖慣性力矩M( )為:M( )=-(Jxx+ΔJxx) =- φ (3)
游艇橫搖阻尼系數(shù)由試驗取得其靜水橫搖阻尼,再使用經(jīng)驗公式修正游艇的橫搖阻尼力矩為: M( )=-2N =-2μφφ (4)
根據(jù)滑行原理可知[7]。可以得到游艇的橫搖恢復力矩計算式:M(φ)=-{( -Z sinφ)-LHR-[ +Z sinφ]LHR} (5)
對于橫搖波浪主擾動力矩,參照常規(guī)船舶橫搖波浪主擾動力矩的計算方法,得到滑行艇橫搖波浪主擾動力矩MW的一般表達式: MW=ΔhXφα0sinμsinωet (6)
將幾式聯(lián)立得出游艇在規(guī)則波中橫搖運動方程:
φ+2μφφ +[( -Z sinφ)LHR-( +Z sinφ)LHR]=ΔhXφα0sinμsinωet (7)
船舶在水面運動受到的外界力使船舶在縱向運動一般表現(xiàn)為垂蕩和縱搖,而縱搖一般靜水域和正常情況下是非常微弱的,因此只討論垂向運動。
在創(chuàng)建垂蕩運動數(shù)學模型時依舊采用切片理論,在垂向運動上的力分為三種:恢復力、阻尼力、慣性力。
由船體運動而產(chǎn)生在整體上的垂蕩力Fz,將上述各力乘以X(從船長到船尾)所得力矩:
根據(jù)牛頓第二定律,慣性力和外力平衡,船體的垂蕩運動方程為:
聯(lián)立公式(8-9)和垂向力得到以下垂蕩運動方程:
式中:zs為垂蕩時的船體在z軸的位移;Azz為垂蕩時的船體附連質量;Bzz為垂蕩時的船體阻尼力系數(shù);Czz為垂蕩時的船體恢復力系數(shù);Fzc為波浪擾動力的余弦分量;Fzs為波浪擾動力的正弦分量。
4.3 游艇降速橫傾
游艇回轉橫傾參考船舶回轉運動,回轉降速采用慣性環(huán)節(jié)模擬柴油發(fā)動機轉速方法得出游艇操縱桿給定轉速與n實際轉速y傳遞函數(shù)以此為根據(jù)建立游艇理想條件下給定航速v與實際航速yv的傳遞函數(shù)降速模型
5 游艇駕駛模擬
5.1 游艇操控設備
此虛擬系統(tǒng)的游艇操控設備主要通過車鐘、舵輪、側推器等組成。
5.2 游艇駕駛虛擬儀表
本虛擬駕駛分系統(tǒng)基于真實物理模型建立虛擬操控設備應用Unity環(huán)境下的GUI系統(tǒng)進行設計。
主機儀表主要是對虛擬游艇主機的運行狀態(tài)進行模擬,主要包括主機的水溫、油壓、轉速、運行時間和報警五個方面進行模擬。
磁羅經(jīng)主要應用于實時指示船體的方位,通過獲取船體的方位傳遞給磁羅經(jīng)顯示給操作用戶。獲取船體角度并進行計算得出船體的方位變化在此同時將方位變化賦值給建立好的磁羅經(jīng)物理模型。
舵角指示器用于在進行改變航向時,反饋舵葉的轉動角度。由于將舵葉的實際角度與舵角指示的顯示角度誤差忽略不計,通過函數(shù)獲取角度與設置角度值,具體C#語句為:float indicator.transform.rotate.z=rudder.transform.rotate.z。
5.3 游艇運動系統(tǒng)模擬
在虛擬系統(tǒng)中通過外部設備控制虛擬操控物理模型(外部設備主要是鼠標鍵盤和HTC VIVE虛擬設備),實現(xiàn)真實的駕駛流程與虛擬操縱過程模擬。通過以上外部設備的觸發(fā)函數(shù)調(diào)用對應的響應型數(shù)學模型完成對游艇運動數(shù)學模型的模擬與表達。整個運動系統(tǒng)包含直航運動模擬、回轉運動模擬、橫搖垂蕩運動模擬。
6 系統(tǒng)測試
系統(tǒng)硬件主要是臺式計算機主機、鼠標鍵盤與高清顯示器和HTC Vive進入駕駛模式,開啟左右主機儀表、啟動左右主機,進車操舵在無障礙區(qū)域直線航行,分別測試船體航速在3m/s、6m/s、12m/s時的橫搖與垂蕩。以下為直航時相對某時段特定幀率下3m/s時的橫搖與垂蕩實驗仿真數(shù)據(jù)。
最大航速25節(jié)時,滿舵35度右舷回轉操縱時的回轉軌跡仿真曲線。
定?;剞D直徑:D=176m;相對回轉直徑:D/L=176/22=8m;戰(zhàn)術直徑:=180m ,戰(zhàn)術直徑與定?;剞D直徑的比值為/D=1.02;正橫距:=92m
7 總結
研究建立了虛擬環(huán)境下的游艇五自由度運動方程、游艇橫搖與垂蕩、游艇回轉橫傾與減速運動特征,針對操縱設備、虛擬儀表、運動模擬,建立了游艇虛擬操縱平臺,并通過萬維引擎與Unity實現(xiàn)整個駕駛模擬操縱系統(tǒng)的開發(fā)。
【參考文獻】
【1】姜文剛,尚婕,鄧志良,等.高速游艇駕駛仿真系統(tǒng)研究與設計[J].江蘇科技大學學報,2005(6):12-15
【2】葛珅瑋,王志東,凌宏杰,等.高速滑行艇三自由度運動預報與仿真[J]系統(tǒng)仿真學報,2013(6):1369-1375
【3】李笑晨.正橫規(guī)則波中游艇操縱運動仿真[J].大連海事大學學報,2017(8):1-6
【4】黃裕興.基于Unity3D引擎的Android手機益智類游戲開發(fā)[J].科教導刊一電子版(中旬),2014(1):138.
【5】范尚雍.船舶操縱性[M].北京:國防工業(yè)出版社,1988
【6】李積德.船舶耐波性[M].哈爾濱:哈爾濱船舶工程學院出版社,1992.
【7】王義,楊松林.滑行艇和翼滑艇在正橫規(guī)則波中的線性橫搖仿真研究[J]船海工程,2007,36( 2) : 13-16.