矯恒安 梁 輝 陳 龍 鄧 芳
(青島科技大學(xué)機(jī)電工程學(xué)院 青島 266061)
隨著人們對(duì)健康生活要求的日益提高,多樣化的體育運(yùn)動(dòng)和科學(xué)技術(shù)應(yīng)用到生活當(dāng)中。帆船運(yùn)動(dòng)和虛擬現(xiàn)實(shí)技在我國社會(huì)得到普及和滲透[1],在虛擬現(xiàn)實(shí)技術(shù)中,仿真水平的保真度越高,系統(tǒng)越具有沉浸感,個(gè)人就越有可能感到出現(xiàn)在虛擬環(huán)境中[2]。
在帆船仿真領(lǐng)域,Gale T J 開發(fā)了一個(gè)帆船模擬器可以在實(shí)驗(yàn)室中實(shí)現(xiàn)模擬航行任務(wù)[3],該模擬器的仿真系統(tǒng)是用C++編寫的模擬程序,利用圖形學(xué)軟件投影到屏幕上。Mulder F A 等實(shí)驗(yàn)了運(yùn)動(dòng)模擬對(duì)虛擬帆船訓(xùn)練沉浸感的效果影響[4],其仿真系統(tǒng)對(duì)波浪行為進(jìn)行了粗略的實(shí)現(xiàn),沒有顯示出真實(shí)的波浪和海風(fēng)效果,缺乏物理效果渲染。Ouadahi N 等研究了一種與虛擬現(xiàn)實(shí)技術(shù)結(jié)合的模擬訓(xùn)練設(shè)備[5],能夠鍛煉出特定的肌肉群,該模擬器仿真系統(tǒng)是由一個(gè)沖浪視頻游戲組成,但該模擬器的設(shè)置不是實(shí)時(shí)控制的,這意味著操作員可能會(huì)經(jīng)歷滯后的效果;Verlinden J C 等開發(fā)一種先進(jìn)帆船模擬器[6],并在其實(shí)驗(yàn)中得出結(jié)論,對(duì)于專業(yè)帆船運(yùn)動(dòng)員來說,接近真實(shí)的物理環(huán)境非常重要。在Unity3D 視景仿真領(lǐng)域,程宇等通過Unity3D 實(shí)現(xiàn)水下機(jī)器人作業(yè)的實(shí)時(shí)視景仿真[7];還有一些在交通、運(yùn)輸和體育等方面的應(yīng)用[8~10]。在帆船運(yùn)動(dòng)方面,有一些帆船訓(xùn)練和體育競(jìng)技類的游戲,Sail Simulator10、VR Inshore 等,可以滿足一些運(yùn)動(dòng)員和航海迷的基本的室內(nèi)訓(xùn)練方法和海上航行樂趣。帆船運(yùn)動(dòng)仿真的真實(shí)性可以有效提高帆船運(yùn)動(dòng)的訓(xùn)練效果和獲得沉浸式體驗(yàn)。本文設(shè)計(jì)了一種新型的帆船訓(xùn)練仿真系統(tǒng),以O(shè)P級(jí)帆船對(duì)象為例,并基于CFD計(jì)算機(jī)流體仿真和Unity3D技術(shù)實(shí)現(xiàn)了一種渲染效果更佳、物理效果更加真實(shí)和沉浸感更強(qiáng)的帆船運(yùn)動(dòng)仿真系統(tǒng),經(jīng)實(shí)驗(yàn)測(cè)試該仿真系統(tǒng)的有效性和較強(qiáng)的潛力性。
2.1.1 物理帆船
本文所選的帆船對(duì)象是OP 級(jí)帆船(Optimist),使用這種帆船的原因?yàn)樗谴蟛糠址\(yùn)動(dòng)員和愛好者的起步訓(xùn)練的選擇船只。其基本尺寸見表1。

表1 OP級(jí)帆船的基本尺寸參數(shù)
2.1.2 構(gòu)建帆船模型
逼真的模型渲染效果會(huì)使操作者的獲得沉浸式的體驗(yàn)。本文使用建模軟件UG12.0 對(duì)帆船模型按表1 尺寸設(shè)計(jì),導(dǎo)入3DMax軟件進(jìn)行坐標(biāo)重置和材質(zhì)渲染,最后輸出到Unity3D 中。模型的建立和材質(zhì)渲染如圖1和圖2所示。

圖1 帆船模型

圖2 帆船模型渲染效果圖
本文使用Unity3D自帶的地形編輯器搭建海底地形,設(shè)置起伏程度、平滑高度和添加地形紋理,實(shí)現(xiàn)海底樣貌和海底砂巖材質(zhì)效果;海洋效果通過掛載海洋腳本的海洋預(yù)制件,實(shí)現(xiàn)逼真的動(dòng)態(tài)海洋場(chǎng)景。海底地形和海洋效果如圖3和圖4所示。

圖3 海底地形圖

圖4 海洋效果圖
帆船前進(jìn)主要由風(fēng)對(duì)帆翼的作用力[11],帆船前進(jìn)時(shí)受到的風(fēng)包括真風(fēng)、視風(fēng)和阻力風(fēng)。真風(fēng)是地面靜止物體受到的風(fēng),用Vt表示;帆船運(yùn)動(dòng)員感知風(fēng)稱作視風(fēng),用Va表示;阻力風(fēng)與航向相反;帆船航行速度用Vs表示;帆船逆風(fēng)前進(jìn),帆翼受力如圖5所示。真風(fēng)Vt與帆船航向Vs夾角記為α,視風(fēng)Va與帆船航向Vs的夾角記為β;轉(zhuǎn)帆角φ是帆翼弦線與船體縱軸線的夾角,風(fēng)攻角αw是視風(fēng)Va與帆翼弦線的夾角,漂角γ是帆船航向Vs與船體縱軸線夾角。由圖5知:

圖5 帆翼受力圖
帆翼受到的空氣作用力F,可根據(jù)伯努利原理,將該力可分解為沿視風(fēng)方向的風(fēng)阻力D和垂直與視風(fēng)方向的風(fēng)升力L,也可分解為沿航向的推力T和垂直于航向的橫向力N;由幾何關(guān)系知:
風(fēng)作用于帆翼使帆船前進(jìn),風(fēng)向改變,作用于帆翼的風(fēng)阻力和風(fēng)升力也同時(shí)發(fā)生改變,帆翼的空氣動(dòng)力性能一般是由無量綱系數(shù)呈現(xiàn)出來的[12]。帆翼的風(fēng)阻力和風(fēng)升力與無因次量升力系數(shù)CL和阻力系數(shù)CD的關(guān)系定義為
ρa(bǔ)為空氣密度,VA為風(fēng)速,A為帆翼面積。
使用數(shù)值模擬軟件Fluent 對(duì)帆翼的空氣動(dòng)力性能進(jìn)行數(shù)值分析[13~15],以求得不同攻角下的升力和阻力系數(shù);由于桅桿、橫桿等所受的空氣動(dòng)力遠(yuǎn)小于帆翼的空氣動(dòng)力,在此忽略桅桿等組件的空氣動(dòng)力。所選OP 級(jí)帆船的帆翼展弦比1.85,拱度比14%。數(shù)值模擬使用的湍流模型為Standard k-ε模型,壓力速度耦合算法采用Coupled算法,邊界條件見表2。

表2 邊界條件
通過改變帆翼模型的轉(zhuǎn)角來獲得不同的攻角下的升力和阻力系數(shù),圖6和圖7為30°攻角下的升力、阻力系數(shù)收斂圖;攻角αw∈[0°-180°],帆翼升力、阻力系數(shù)的值隨著攻角的變化見表3,負(fù)值表示與實(shí)際方向相反。

圖6 升力系數(shù)收斂圖

圖7 阻力系數(shù)收斂圖

表3 不同攻角下的升力、阻力系數(shù)
以阻力系數(shù)為橫坐標(biāo),升力系數(shù)為縱坐標(biāo),相對(duì)風(fēng)水平向右,OP 帆船的航向通過坐標(biāo)原點(diǎn)。將表2 里的離散點(diǎn)通過繪圖工具得到升力系數(shù)和阻力系數(shù)曲線圖(CL-CD極圖),如圖8所示。沿著該航向做垂線,與CL-CD曲線相切,由此切點(diǎn)可以得到帆船航行時(shí)帆翼的推力系數(shù)CT和橫向力系數(shù)CN。

圖8 CL-CD極圖
根據(jù)圖10 可知,OP 帆船航行時(shí),在一定的航向角下,合理的帆翼調(diào)整可以得到最大推力,即最大航行速度。過極圖的O點(diǎn)作該極圖的切線,再過O 點(diǎn)作該切線的垂線,可得到一個(gè)夾角ε,當(dāng)帆船的前進(jìn)方向的夾角小于該夾角時(shí)(θ<ε)時(shí),帆船不會(huì)前進(jìn),該區(qū)域也被稱作死角區(qū)域。
OP 帆船航行所受水阻力作用域?yàn)榇w、穩(wěn)向板和船舵,船體所受的總阻力包括空氣阻力和水阻力。相對(duì)來說,船體受到的空氣阻力遠(yuǎn)小于帆翼受到的空氣阻力或船體受到的水阻力,在此忽略空氣對(duì)船體的作用力。當(dāng)船正浮于水面,并沿船體縱軸線航行,船體受到的阻力RT為興波阻力RW、渦流阻力Re與摩擦阻力Rf之和。
但OP帆船航行時(shí)的大部分的情況都存在一定角度的漂角[16]。所以還有橫漂力和誘導(dǎo)阻力作用于船只上,記為RI,升力方向與航行方向相互垂直,誘導(dǎo)阻力與航行方向相反。故船體受到的總阻力R 為橫漂力與誘導(dǎo)阻力之和,受力圖如圖5所示。R與水體動(dòng)力的關(guān)系即:
式中:ρw為水流密度,vw為水流速度,A 為船體特征面積,C為水體的無量綱系數(shù)。
帆船前進(jìn)時(shí),穩(wěn)向板在水流中的受力類似于帆翼在氣流中的受力。船舵受力原理類似于穩(wěn)向板,所以還要考慮船舵扭矩Mr對(duì)于帆船航行的影響。如圖9所示。Fkl和Fkd與Mr表達(dá)式如下:

圖9 穩(wěn)向板和船舵水下受力圖
φw為水流攻角,L為船舵中心到船體中心距離。
Unity3D仿真環(huán)境自帶的物理引擎可以滿足基本的重力效果等,但這遠(yuǎn)不夠?qū)崿F(xiàn)帆船運(yùn)動(dòng)訓(xùn)練的仿真模擬。因此,該系統(tǒng)內(nèi)的OP 帆船根據(jù)虛擬海洋環(huán)境中UI 界面設(shè)定的風(fēng)流、水流等因素,并結(jié)合當(dāng)前帆船狀態(tài)的帆翼的攻角角度等參數(shù),得到流體的升力系數(shù)和阻力系數(shù);根據(jù)上述OP 帆船動(dòng)力學(xué)數(shù)學(xué)模型,實(shí)現(xiàn)帆船運(yùn)動(dòng)的物理效果,進(jìn)行航行模擬。
OP 帆船的航行受環(huán)境因素、操控方式等多種變量的影響,將虛擬帆船上的各部分組件按照其真實(shí)環(huán)境所受的空氣動(dòng)力和水體動(dòng)力進(jìn)行分析,使用MVC 設(shè)計(jì)模式,實(shí)現(xiàn)分層和關(guān)聯(lián)不同組件間的變化,設(shè)計(jì)模式整體架構(gòu)如圖10所示。

圖10 MVC設(shè)計(jì)模式
Model 模塊用于OP 帆船各部分組件的物理效果的實(shí)現(xiàn),不同組件根據(jù)輸入的流體系數(shù)和攻角等參數(shù)單獨(dú)實(shí)現(xiàn)不同的物理效果。
View 模塊是用于顯示仿真環(huán)境和UI 界面,該界面由Canvas 畫布構(gòu)成,包含多種OP 帆船的控制按鈕等,用于多種天氣效果的切換,并提供多種不同的海上環(huán)境和多樣式的體驗(yàn)。圖11所示分別為黃昏、晴天、大風(fēng)天氣環(huán)境。

圖11 不同天氣下的海洋環(huán)境
Control 模塊是用于用戶與仿真系統(tǒng)交互的模塊。實(shí)現(xiàn)對(duì)OP帆船的運(yùn)動(dòng)控制。
按照MVC 設(shè)計(jì)模式,并對(duì)OP 帆船進(jìn)行空氣動(dòng)力學(xué)和水體力學(xué)的分析,實(shí)現(xiàn)了渲染效果更好、物理效果更加接近現(xiàn)實(shí)的帆船仿真系統(tǒng),船體整體運(yùn)行狀態(tài)如圖12所示。左上角可以看到系統(tǒng)運(yùn)行時(shí)的幀數(shù),用來體現(xiàn)該系統(tǒng)運(yùn)行時(shí)的流暢性;左下角實(shí)時(shí)的顯示帆船整體的航行狀態(tài),為操作員的下一步操作提供判斷;右下角為小地圖顯示;右上方顯示風(fēng)向和風(fēng)速大小。該系統(tǒng)可以根據(jù)右上方UI 控件實(shí)時(shí)的對(duì)海浪和海風(fēng)的進(jìn)行調(diào)整,體驗(yàn)不同海況下的航行模擬。

圖12 航行示意圖
通過對(duì)一款虛擬航行游戲VR Inshore 進(jìn)行測(cè)試,并對(duì)該仿真系統(tǒng)與航行游戲做了比較,如圖14、15所示。可以看出本文提出的模擬器可以在第一人稱視角下進(jìn)行航行模擬,并將真實(shí)環(huán)境下的流體參數(shù)考慮在內(nèi),體驗(yàn)效果更加真實(shí),海洋環(huán)境和帆船模型渲染效果更好,并且帆船控制腳本中還有對(duì)帆船的位置、船速以及航線等參數(shù)的記錄,這些參數(shù)可用來對(duì)操作者的表現(xiàn)和決策能力進(jìn)行測(cè)試。航行軌跡如圖13所示。

圖14 航行仿真系統(tǒng)

圖15 虛擬航行游戲
基于動(dòng)力學(xué)和Unity3D引擎開發(fā)的帆船訓(xùn)練仿真系統(tǒng),使得帆船運(yùn)動(dòng)模擬更加真實(shí),沉浸感更強(qiáng)。在模擬帆船運(yùn)動(dòng)中,由于不定常空氣動(dòng)力和水動(dòng)力,基礎(chǔ)模擬的復(fù)雜性可能非常繁瑣,在此通過數(shù)值分析軟件Fluent進(jìn)行空氣動(dòng)力學(xué)分析,使得虛擬環(huán)境中帆船運(yùn)動(dòng)模擬的置信度更高,并以第一人稱視角下進(jìn)行航行模擬,使得操作員能夠獲得貼近真實(shí)環(huán)境的體驗(yàn)感,仿真過程中,可實(shí)時(shí)的對(duì)環(huán)境參數(shù)進(jìn)行調(diào)整,可得到多種仿真體驗(yàn)。通過與一款虛擬航行游戲進(jìn)行對(duì)比實(shí)驗(yàn),該仿真系統(tǒng)體驗(yàn)效果更真實(shí),沉浸感更強(qiáng),更有利于帆船運(yùn)動(dòng)的訓(xùn)練和體驗(yàn)。以后,該系統(tǒng)記錄的航速、航線等參數(shù),可用來對(duì)操作者進(jìn)行身體和技能上的評(píng)估測(cè)試等。