李超,陳哲,潘義川
(山東交通學(xué)院,濟(jì)南 250300)
虛擬仿真技術(shù)在早期主要應(yīng)用于船舶駕駛模擬,近些年由于虛擬技術(shù)發(fā)展在游艇的仿真也取得相應(yīng)進(jìn)展,如姜文剛通過對高速游艇的運動和姿態(tài)以及舵機、主機,進(jìn)行了建模和計算機仿真。結(jié)合高速游艇船體等實物,搭建了半實物的高速游艇模擬駕駛實時仿真系統(tǒng)[1];半實物仿真系統(tǒng)由于研發(fā)周期和造價高昂在滿足日漸加速發(fā)展的虛擬現(xiàn)實技術(shù)需求方面明顯不足。多自由度模型是進(jìn)行游艇虛擬設(shè)計時較為重要的步驟。目前我國建立高速滑行艇前進(jìn)、升沉、縱搖三自由度運動模型并進(jìn)行運動預(yù)報與仿真[2],正橫規(guī)則波四自由度模型[3]等,隨著近幾年虛擬現(xiàn)實技術(shù)的快速發(fā)展,適合快速發(fā)展的桌面式和沉浸式環(huán)境下的游艇駕駛操縱仿真系統(tǒng)能夠解決游艇多自由度運動的問題,在復(fù)雜運動表達(dá)方面具有快速更改、編程簡易的優(yōu)勢。
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#編程語言將抽象的基本操作功能指令轉(zhuǎn)化為具體的功能指令,將功能指令存儲于表格中,進(jìn)行虛擬開發(fā)時是通過Excel中編輯功能文本指令,軟件運行通過表格驅(qū)動讀取對應(yīng)文本功能。
此游艇駕駛仿真系統(tǒng)應(yīng)具有以下基本功能:模擬游艇的運動姿態(tài);模擬游艇在威海小石島附近的三維場景;模擬主機、舵機運行以及相關(guān)儀器儀表;接近真實的原比例駕駛操縱臺,可供用戶借助外部設(shè)備進(jìn)行沉浸式操作;應(yīng)具有操作流程交互提示。
按船舶質(zhì)心運動定理和相對質(zhì)心運動的動量矩定理[5]:對于動系,有:
忽略縱搖,寫成投影式,建立游艇五自由度的運動方程式:
根據(jù)自由橫搖的固有周期計算公式[6],一般游艇橫搖慣性力矩 M()為:
游艇橫搖阻尼系數(shù)由試驗取得其靜水橫搖阻尼,再使用經(jīng)驗公式修正游艇的橫搖阻尼力矩為:
根據(jù)滑行原理可知[7]。可以得到游艇的橫搖恢復(fù)力矩計算
對于橫搖波浪主擾動力矩,參照常規(guī)船舶橫搖波浪主擾動力矩的計算方法,得到滑行艇橫搖波浪主擾動力矩MW的一般表達(dá)式
將幾式聯(lián)立得出游艇在規(guī)則波中橫搖運動方程:
船舶在水面運動受到的外界力使船舶在縱向運動一般表現(xiàn)為垂蕩和縱搖,而縱搖一般靜水域和正常情況下是非常微弱的,因此只討論垂向運動。
在創(chuàng)建垂蕩運動數(shù)學(xué)模型時依舊采用切片理論,在垂向運動上的力分為三種:恢復(fù)力、阻尼力、慣性力。
由船體運動而產(chǎn)生在整體上的垂蕩力Fz,將上述各力乘以X(從船長到船尾)所得力矩:
根據(jù)牛頓第二定律,慣性力和外力平衡,船體的垂蕩運動方程為:
聯(lián)立公式(8-9)和垂向力得到以下垂蕩運動方程:
式中:zs為垂蕩時的船體在z軸的位移;Azz為垂蕩時的船體附連質(zhì)量;Bzz為垂蕩時的船體阻尼力系數(shù);Czz為垂蕩時的船體恢復(fù)力系數(shù);Fzc為波浪擾動力的余弦分量;Fzs為波浪擾動力的正弦分量。
游艇回轉(zhuǎn)橫傾參考船舶回轉(zhuǎn)運動,回轉(zhuǎn)降速采用慣性環(huán)節(jié)模擬柴油發(fā)動機轉(zhuǎn)速方法得出游艇操縱桿給定轉(zhuǎn)速與n實際轉(zhuǎn)速y傳遞函數(shù)以此為根據(jù)建立游艇理想條件下給定航速v與實際航速yv的傳遞函數(shù)降速模型
此虛擬系統(tǒng)的游艇操控設(shè)備主要通過車鐘、舵輪、側(cè)推器等組成。
圖1 虛擬操控駕駛臺
本虛擬駕駛分系統(tǒng)基于真實物理模型建立虛擬操控設(shè)備應(yīng)用Unity環(huán)境下的GUI系統(tǒng)進(jìn)行設(shè)計。
主機儀表主要是對虛擬游艇主機的運行狀態(tài)進(jìn)行模擬,主要包括主機的水溫、油壓、轉(zhuǎn)速、運行時間和報警五個方面進(jìn)行模擬。
磁羅經(jīng)主要應(yīng)用于實時指示船體的方位,通過獲取船體的方位傳遞給磁羅經(jīng)顯示給操作用戶。獲取船體角度并進(jìn)行計算得出船體的方位變化在此同時將方位變化賦值給建立好的磁羅經(jīng)物理模型。
舵角指示器用于在進(jìn)行改變航向時,反饋舵葉的轉(zhuǎn)動角度。由于將舵葉的實際角度與舵角指示的顯示角度誤差忽略不計,通過函數(shù)獲取角度與設(shè)置角度值,具體C#語句為:float indicator.transform.rotate.z=rudder.transform.rotate.z。
在虛擬系統(tǒng)中通過外部設(shè)備控制虛擬操控物理模型(外部設(shè)備主要是鼠標(biāo)鍵盤和HTC VIVE虛擬設(shè)備),實現(xiàn)真實的駕駛流程與虛擬操縱過程模擬。通過以上外部設(shè)備的觸發(fā)函數(shù)調(diào)用對應(yīng)的響應(yīng)型數(shù)學(xué)模型完成對游艇運動數(shù)學(xué)模型的模擬與表達(dá)。整個運動系統(tǒng)包含直航運動模擬、回轉(zhuǎn)運動模擬、橫搖垂蕩運動模擬。
系統(tǒng)硬件主要是臺式計算機主機、鼠標(biāo)鍵盤與高清顯示器和HTC Vive進(jìn)入駕駛模式,開啟左右主機儀表、啟動左右主機,進(jìn)車操舵在無障礙區(qū)域直線航行,分別測試船體航速在3m/s、6m/s、12m/s時的橫搖與垂蕩。以下為直航時相對某時段特定幀率下3m/s時的橫搖與垂蕩實驗仿真數(shù)據(jù)。
圖2 3m/s時的橫搖仿真曲線
圖3 3m/s時的垂蕩仿真曲線
最大航速25節(jié)時,滿舵35度右舷回轉(zhuǎn)操縱時的回轉(zhuǎn)軌跡仿真曲線。
定?;剞D(zhuǎn)直徑:D=176m;相對回轉(zhuǎn)直徑:D/L=176/22=8m;戰(zhàn)術(shù)直徑:=180m,戰(zhàn)術(shù)直徑與定?;剞D(zhuǎn)直徑的比值為/D=1.02;正橫距:=92m
圖4 回轉(zhuǎn)軌跡
研究建立了虛擬環(huán)境下的游艇五自由度運動方程、游艇橫搖與垂蕩、游艇回轉(zhuǎn)橫傾與減速運動特征,針對操縱設(shè)備、虛擬儀表、運動模擬,建立了游艇虛擬操縱平臺,并通過萬維引擎與Unity實現(xiàn)整個駕駛模擬操縱系統(tǒng)的開發(fā)。