孫葉義,楊文山,周海波
(武漢第二船舶設計研究所,湖北 武漢 430064)
視景仿真是一門年輕的學科[1-2]。隨著計算機技術的進步,人們不再滿足于數(shù)字化仿真帶來的便利,而是希望通過構建三維實景仿真環(huán)境來模擬真實的世界。目前視景仿真技術在車輛模擬駕駛[3-4]、太空環(huán)境仿真[5]、水下機器人回收[6]等方面都得到了廣泛應用。智能水下航行器(AUV)對接回收通過其與固定或者移動的回收裝置實現(xiàn)類似空/天對接的過程,使AUV 完成返航、接近、對接、鎖緊等一系列動作,具備自主、無人等優(yōu)點,具有廣闊的發(fā)展前景。本文基于所設計的智能水下航行器對接方案與半物理仿真平臺,建立三維場景所需的模型,通過在MFC 框架下對Vega 程序進行二次開發(fā),實現(xiàn)仿真場景的驅動,直觀展示對接過程,并借此進一步驗證系統(tǒng)的有效性與可靠性。
對接系統(tǒng)主要包括AUV 載體、母艇與回收裝置,輔助有導引系統(tǒng)。整個回收過程共包括3 個階段,分別為歸航段、調整段以及坐落段。
歸航段:自AUV 返航開始至抵達母艇附近結束,當需要執(zhí)行對接任務時,母艇將返回對接海域,并在預定的圓形航線上做周期性運動,等待AUV 與之建立聯(lián)系。AUV 完成任務后接近對接海域并不斷通過聲學傳感器搜索母艇的位置,AUV 上搭載有USBL 發(fā)射裝置與接收基陣,回收裝置上搭載有聲學信標,僅作應答處理。在歸航段,AUV 在主控系統(tǒng)的控制下沿著規(guī)劃的全局路徑向著母艇位置航行,當AUV 抵達母艇附近時,通過發(fā)射聲學信號給母艇,母艇將逐漸脫離固定航線而做定深直航運動。該階段以聲學導引為主,當攝像機可以捕捉到母艇背部與回收裝置上的光源時,輔助以光學導引以提高精度。
調整段:該階段母艇運動狀態(tài)不變,AUV 逐漸接近回收裝置的正上方位置,并且不斷調整自身位置與姿態(tài),使AUV 保持與母艇縱向速度一致,同時調整姿態(tài)至適合坐落,準備進入坐落階段。此時導引方式以光學導引為主,聲學導引為輔,母艇背部的列光源可以增加攝像機捕捉范圍,提高導引能力。
坐落段:當AUV 調整自身速度、位置姿態(tài)適合坐落時,開始垂直坐落,通過識別布置在回收裝置上的光源不斷調整自身艏向與位置,當AUV 距離回收裝置較近時,導引系統(tǒng)難以發(fā)揮作用,此時關閉垂向推進器依靠慣性“降落”到回收裝置內,然后關閉所有推進器,鎖緊完成回收。
整個整個回收系統(tǒng)的體系結構如圖1 所示。
為了能夠直觀的體驗真實的對接過程圖像,下面首先將構建三維仿真環(huán)境,包括海底地形、AUV 載體、母艇與對接裝置。
首先應該建立起海底地形的虛擬場景,為了模擬真實的海洋環(huán)境,首先通過GeoSwath Plus 軟件,把測深側掃聲吶得到的實際海底地形數(shù)據(jù)進行濾波插值和網(wǎng)格化處理,將得到的原始地形信息轉換為TIFF 文件,然后利用Creator 軟件生成DED 文件,同時通過細節(jié)層次技術設置層次細節(jié)參數(shù),在盡量保證視覺觀感的前提下,增加仿真的實時性。
對于AUV 模型,因為不同部位的幾何形狀不同,所以分為4 部分建模,分別是主艇體、側推、主推、螺旋槳葉片。首先,依照機器人的實際尺度,通過幾何體工具箱對機器人外形進行粗略建模,再通過幾何修改工具將模型進行更細致的設計,提高精度。
圖 2 地形建模Fig. 2Terrain module
圖 3 主艇體Fig. 3The main hull
圖 4 尾部Fig. 4The stern
主艇體可以分為首部、中部以及尾部,側、垂推由槽道管與槳葉組成,主推包括4 臺導管槳,呈一定的內傾角分布,另外尾部配備翼板起穩(wěn)定作用。
最終建立的AUV 模型如圖5 和圖6 所示。
對于母艇搭載回收裝置的模塊,分別設計了母艇與回收裝置。回收裝置采用框架式結構,可以減小航行中的阻力以及對流場的影響,其大小根據(jù)AUV 尺度所設計。
將回收裝置安裝在母艇的背部中間位置。另外,因為回收裝置的尺度相對于母艇很小,如果按照實際比例進行顯示,則回收裝置將變得很不明顯,導致在視景場景中無法對坐落過程進行較好的觀察,所以將母艇尺寸進行了縮小,而回收裝置的尺度不變,突出了回收裝置。
至此,海底地形、水下機器人以及回收端的視景仿真模型已經(jīng)全部建立完畢,通過Vega 軟件將模型導入并渲染成三維場景,并借助Vega 下的圖形化工具Lynx 對三維場景進行觀察和修改,最終場景如圖7所示。
圖 5 AUV 模塊Fig. 5The AUV module
圖 6 回收裝置模塊Fig. 6Recovery unit module
圖 7 回收場景Fig. 7Recycling scenario
在Vega 設計中,Observers 相當于攝像機,Channels 相當于攝像機的鏡頭。首先設置俯視、正視、鳥瞰以及輔助觀察者,然后設置了相應的通道,這樣就可以在窗口中顯示不同的觀察者視角畫面。規(guī)定畫面左下角為零點,各個視角的位置大小設置為相對于零點的比例,當該比例為(0,1,0,1)時表示該視角圖像占滿整個畫面,以左下角的俯視視角為例,其顯示區(qū)域相對于零點的比例為(0,0.3,0,0.5)。至此,已經(jīng)完成環(huán)境渲染和場景設計,下面需要通過仿真模塊與Vega 模塊聯(lián)合驅動整個視景場景的運行。
為了能夠在MFC 框架下對Vega 程序進行二次開發(fā),首先應在VC 中新建單文檔MFC 應用程序,以MFC 為開發(fā)環(huán)境,可以建立AUV 與母艇動態(tài)對接的運動與視景仿真模塊,將Vega 的基礎程序搭載在MFC 應用程序框架之中[7],然后進行Vega 程序開發(fā)。Vega 程序應首先加載ADF 文件加載模型參數(shù)以及系統(tǒng)參數(shù),通過調用庫函數(shù)與核心類庫,通過Vega 中的繪制線程與 線程實現(xiàn)場景的實時更新與交互[8]。
圖 8 Vega 程序開發(fā)Fig. 8Vega program development
Vega 程序的開發(fā)通??梢苑譃? 個階段。第1 階段是Vega 程序的靜態(tài)描述,其主要作用是進行必要的系統(tǒng)配置,以保證Vega 程序的正常運行,包括初始化、定義、系統(tǒng)配置等。調用的函數(shù)主要是runVega(),runVegaApp(),stopVega()等。
第2 階段是Vega 程序的動態(tài)(主)循環(huán),視景仿真的實現(xiàn)就是在Vega 主循環(huán)中完成的。首先通過vg-SynaFrame()函數(shù)使Vega 進程能夠和設定的幀頻率一致,然后通過vgFrame()函數(shù)完成線程的繪制與數(shù)據(jù)的處理。進而渲染出連續(xù)、符合人們視覺感受的動態(tài)場景,再編寫對應的交互控制程序即可完成各種視景仿真操作。
在Vega 的主循環(huán)程序里面,每進行一次主循環(huán),三維場景就能完成一次更新。當Vega 主循環(huán)完成時,求解一次AUV 的動力學方程,結合初始條件的空間位置以及運動狀態(tài),可以解算出當前時刻AUV 的三維坐標和狀態(tài)信息,線程之間通過定義全局變量將狀態(tài)信息傳遞給Vega 線程,線程之間的通信過程如圖9 所示[9]。
可以看出,包含視景效果的仿真模塊以AUV 動力學模型為基礎,與MFC 環(huán)境下改寫的Vega 程序相結合,就能夠實現(xiàn)AUV 坐落式對接的虛擬可視化[10]。
圖 9 線程通信Fig. 9Thread communication
根據(jù)設計的仿真平臺,通過半物理仿真平臺與視景仿真程序的聯(lián)合開發(fā),可以實時顯示AUV 動態(tài)對接的三維圖像,整個對接過程共包括歸航段、調整段以及坐落段,因為歸航段距離較長,所以只截取了歸航末端的圖像。
在視景圖像中,因為海洋模塊中僅有海底地形,所以在左上角的正視視角中,會出現(xiàn)非海底區(qū)域。如圖10 所示,在歸航段,母艇在固定航線上航行,AUV從遠處在導引系統(tǒng)作用下不斷向母艇靠近,當AUV 抵達母艇附近后,歸航段完成,母艇開始轉為做定深直航運動,進入對接模式。為了突出顯示回收裝置與AUV,在建模過程中將母艇的尺度進行了縮小,這并不表示母艇與AUV 之間的實際比例大小。
圖 10 歸航Fig. 10Homing
如圖11 所示,在調整段初期,AUV 的位置姿態(tài)并不能完全滿足坐落條件,可能出現(xiàn)AUV 位置超調或者姿態(tài)偏移等情況,此時AUV 需要不斷調整自身狀態(tài),在保證跟上母艇的前提下,將狀態(tài)調整至適合坐落。由于此時母艇與AUV 同時處于運動狀態(tài),所以AUV可以加減速來改變相對于母艇的位置,以及不斷調整姿態(tài)。當出現(xiàn)進入禁航區(qū)或者出現(xiàn)無法對接等特殊情況時,AUV 可以繞飛遠離母艇并重新嘗試進入調整段,提高了一次對接的成功率,這也是動態(tài)對接的優(yōu)勢之一。
圖 11 調整Fig. 11Adjusting
如圖12 所示,當AUV 調整自身姿態(tài)位置適合坐落后,AUV 開啟垂向推進器,對接過程進入到坐落段,由于AUV 處于動態(tài)坐落狀態(tài),且受到雙體水動力干擾的影響,AUV 在坐落階段會出現(xiàn)輕微的俯仰角變化,但在控制系統(tǒng)的作用下可以保證AUV 的浮態(tài),并且在坐落末端AUV 的位置姿態(tài)滿足對接要求,當AUV 緩慢“降落”至回收裝置內時,對接完成。
圖 12 坐落Fig. 12Fall
如圖13 所示,通過不同的視角觀察,AUV 已經(jīng)完全進入回收裝置內,當AUV 坐落完成后,關閉所有推進器,鎖緊完成對接。
圖 13 完成對接Fig. 13Complete the docking
本文通過設計回收方案、構建三維模型、生成仿真場景等,開發(fā)了AUV 水下對接的三維視景仿真平臺,直觀展示對接過程,得到了以下結論:
1)設計的視景仿真平臺有較好的交互能力,仿真結果具有較高的逼真度。
2)借助Vega 設計平臺,解決了對接場景中三維模型的控制以及多通道顯示問題。
在后續(xù)工作中可以嘗試開展更多不同工況下的AUV對接三維視景仿真平臺設計。