呂成興,王子晨,于海生,陳 健,楊智博
(1.青島理工大學(xué)信息與控制工程學(xué)院,山東青島 266520;2.青島大學(xué)自動(dòng)化學(xué)院,山東青島 266071)
機(jī)器人技術(shù)是新工科的前沿交叉學(xué)科,融合了自動(dòng)化、機(jī)械、計(jì)算機(jī)和通信等學(xué)科,是我國新工科專業(yè)建設(shè)的重點(diǎn)發(fā)展學(xué)科。同時(shí),為滿足機(jī)器人產(chǎn)業(yè)發(fā)展的需求,國內(nèi)高校相繼設(shè)立了機(jī)器人工程專業(yè)。該專業(yè)的主要培養(yǎng)目標(biāo)是培養(yǎng)適應(yīng)機(jī)器人產(chǎn)業(yè)發(fā)展的創(chuàng)新型人才,要求學(xué)生具備卓越的綜合設(shè)計(jì)能力和實(shí)踐能力[1-3]。為滿足機(jī)器人工程專業(yè)高素質(zhì)人才的培養(yǎng)需求,需要設(shè)計(jì)更加新穎的實(shí)驗(yàn)教學(xué)方案[4]。
移動(dòng)機(jī)器人作為機(jī)器人工程專業(yè)的授課重點(diǎn),在教學(xué)中以理論講授為主,學(xué)生缺乏實(shí)踐操作[5-7]。有些高校受限于專業(yè)建設(shè)經(jīng)費(fèi),實(shí)驗(yàn)平臺(tái)也很難及時(shí)更新。近年來,水下自主航行器和無人船作為典型的移動(dòng)機(jī)器人平臺(tái)得到了廣泛應(yīng)用,如港口導(dǎo)航、海洋環(huán)境監(jiān)測、海洋測繪和海洋科學(xué)研究等應(yīng)用領(lǐng)域。為適應(yīng)國家加快建設(shè)海洋強(qiáng)國的戰(zhàn)略,培養(yǎng)熟悉海洋機(jī)器人的專業(yè)人才成為迫切需要。在海洋機(jī)器人教學(xué)和研究中,控制算法的控制效果需要在惡劣的海洋環(huán)境中測試。但無人船實(shí)驗(yàn)平臺(tái)造價(jià)較高,操作復(fù)雜并有一定的危險(xiǎn)性,導(dǎo)致實(shí)驗(yàn)資源匱乏。綜上所述,無人船實(shí)驗(yàn)平臺(tái)研發(fā)周期長、風(fēng)險(xiǎn)高,且受實(shí)際海洋環(huán)境約束,高級(jí)控制算法難以開展測試。因此,無人船物理仿真平臺(tái)的研究受到了廣泛關(guān)注。
物理仿真平臺(tái)在機(jī)器人工程專業(yè)的研究及教學(xué)中發(fā)揮至關(guān)重要的作用,它是快速有效進(jìn)行機(jī)器人本體和控制算法開發(fā)的重要工具。無人船物理仿真平臺(tái)的主要挑戰(zhàn)之一就是需要模擬復(fù)雜的海洋環(huán)境干擾,比如波浪、風(fēng)和海流。為了進(jìn)行無人船導(dǎo)航、制導(dǎo)以及控制算法的測試,需要一個(gè)標(biāo)準(zhǔn)的物理仿真平臺(tái)。目前,Gazebo[8],RobotX Simulator[9],“FreeFloating”插件[10],V-REP,UWSim[11],USVSim[12]等物理仿真平臺(tái)具備一部分無人船仿真的能力(見表1)。大多的無人船仿真平臺(tái)仍然不能全面模擬復(fù)雜的海洋環(huán)境。利用USVSim平臺(tái)能夠全面仿真風(fēng)浪流等復(fù)雜擾動(dòng),改進(jìn)軟件平臺(tái),構(gòu)建了擾動(dòng)、機(jī)器人操作系統(tǒng)(Robot Operating System,ROS)節(jié)點(diǎn),實(shí)現(xiàn)無人船的實(shí)時(shí)物理仿真。

表1 6 種無人船物理仿真平臺(tái)性能比較
本文旨在提升機(jī)器人工程專業(yè)學(xué)生實(shí)踐能力,尤其解決高校相關(guān)實(shí)驗(yàn)教學(xué)環(huán)節(jié)相對(duì)薄弱的問題。開發(fā)設(shè)計(jì)基于USVSim 軟件的無人船物理仿真平臺(tái),并搭建相關(guān)實(shí)驗(yàn)場景。該仿真平臺(tái)能模擬復(fù)雜海洋環(huán)境,提供無人船建模、參數(shù)辨識(shí)、運(yùn)動(dòng)控制、路徑規(guī)劃等多種實(shí)驗(yàn)任務(wù)。學(xué)生可利用該仿真平臺(tái)進(jìn)行自主設(shè)計(jì)試驗(yàn)方案,深入研究高級(jí)控制算法,提升解決移動(dòng)機(jī)器人領(lǐng)域復(fù)雜工程能力。彌補(bǔ)實(shí)驗(yàn)教學(xué)的不足,為學(xué)生提供更為豐富的實(shí)踐體驗(yàn),培養(yǎng)其應(yīng)對(duì)現(xiàn)實(shí)工程挑戰(zhàn)的能力。
在實(shí)際場景中,無人船在六自由度進(jìn)行運(yùn)動(dòng),即沿縱向、橫向和垂直方向的運(yùn)動(dòng)以及圍繞3 個(gè)軸線,進(jìn)行滾動(dòng)、俯仰和偏航運(yùn)動(dòng)。為分析方便,忽略垂直、滾動(dòng)和俯仰運(yùn)動(dòng),系統(tǒng)模型簡化成三自由度模型。運(yùn)動(dòng)速度向量可分別在大地坐標(biāo)系{e}和船體坐標(biāo)系{b}下描述,如圖1 所示。

圖1 無人船運(yùn)動(dòng)坐標(biāo)系描述
三自由度無人船的數(shù)學(xué)模型[13-14]:
式中:m為船體質(zhì)量;d為推進(jìn)器間距;(x,y,ψ)、(u,v,r)分別為無人船在縱向、橫向和偏航方向的位置和速度;Iz為船體在z軸的轉(zhuǎn)動(dòng)慣量;Xu、Yv、Nr、Xu˙、Yv˙、Nr˙為相應(yīng)的水動(dòng)力系數(shù)。將式(1)、(2)整理為相應(yīng)的矩陣形式:
式中:τ為推進(jìn)力;τd為外部環(huán)境擾動(dòng);J(η)為旋轉(zhuǎn)矩陣;M為附加質(zhì)量參數(shù)的慣性矩陣;C 為科式力和向心力矩陣;D為水動(dòng)力阻力矩陣。
無人船后部安裝2 個(gè)螺旋槳推進(jìn)器,其動(dòng)力分配
風(fēng)擾動(dòng)是無人船主要的外部環(huán)境干擾之一。風(fēng)擾動(dòng)對(duì)無人船的運(yùn)動(dòng)既有可能是阻礙性也有可能是幫助性,取決于風(fēng)向。為研究風(fēng)擾動(dòng)對(duì)無人船運(yùn)動(dòng)的影響和仿真,使用由Fossen 建立的風(fēng)的縱向和橫向模型,分別作用于無人船水線以上部分的正面和橫向區(qū)域。設(shè)Vew=[Vwx,Vwy]T為大地坐標(biāo)系{e}描述下的風(fēng)速矢量,Vbw=[Vw,γw]T為船體坐標(biāo)系{b}描述的風(fēng)速矢量。由風(fēng)擾動(dòng)導(dǎo)致的作用于無人船中心的風(fēng)擾動(dòng)推進(jìn)力為
式中:γw=ψ -βw為船體坐標(biāo)系{b}描述下風(fēng)相對(duì)于無人船的攻角;βw為在大地坐標(biāo)系{e}描述下的風(fēng)向角;AFw、ALw分別為正面和側(cè)面的投影面積;q為風(fēng)引起的動(dòng)態(tài)壓力,
式中,ρa(bǔ)為空氣密度。通過式(6)、(7),得到無人船在船體坐標(biāo)系{b}下的風(fēng)的擾動(dòng)公式為
海流擾動(dòng)是海洋環(huán)境中常見的一種擾動(dòng)。它既有可能對(duì)無人船的運(yùn)動(dòng)產(chǎn)生有益的影響,也可能產(chǎn)生阻礙的影響。通過分析無人船的速度矢量和流速矢量的關(guān)系來建立相關(guān)的模型:
海浪的成因復(fù)雜,如由海風(fēng)引起的海面波動(dòng)形成風(fēng)浪。海浪的運(yùn)動(dòng)是復(fù)雜、無規(guī)則過程,且包含能量信息。對(duì)于無人船的運(yùn)動(dòng)控制,主要是由二階波浪力產(chǎn)生的干擾
式中:L為無人船長度;α 為海浪振幅;χ 為海浪波相角;λ為海浪波長;CXw、CYw和CNw分別為海浪系數(shù)。
物理仿真平臺(tái)在無人船的原型快速開發(fā)上發(fā)揮著至關(guān)重要的作用。由于仿真器性能的不同,在開發(fā)特定的任務(wù)或者場景之前,應(yīng)該選擇合適的物理仿真平臺(tái)。USVSim 平臺(tái)使用機(jī)器人操作系統(tǒng)(Robot Operationg System,ROS),Gazebo 物理仿真引擎和UWSim物理仿真引擎來構(gòu)建,其系統(tǒng)架構(gòu)如圖2所示。

圖2 仿真平臺(tái)系統(tǒng)架構(gòu)
對(duì)USVSim 的擾動(dòng)處理部分進(jìn)行改進(jìn),將風(fēng)擾動(dòng)和海流擾動(dòng)整合到同一個(gè)ROS節(jié)點(diǎn)(disturb節(jié)點(diǎn)),使用式(8)、(10)進(jìn)行計(jì)算,便于后期處理及可視化顯示。風(fēng)擾和海流擾動(dòng)通過ROS 服務(wù)消息傳送到FOIL插件和改進(jìn)的Free Floating 插件。通過這種方式,將海洋環(huán)境擾動(dòng)加載到物理仿真器。Gazebo 作為主要物理仿真模擬引擎,UWSim作為可視化引擎。軟件的ROS節(jié)點(diǎn)信息如圖3 所示。

圖3 無人船ROS節(jié)點(diǎn)信息
由于Gazebo 不能仿真海浪的信息,使用UWSim通過快速傅里葉變換來仿真海浪的信息。UWSim 仿真器并不能將無人船在Z軸平面上的信息變換共享給其他仿真器,通過USVSim 平臺(tái)將波浪信息從UWSim讀取出來,并通過Free Floating 插件改變無人船的姿態(tài),對(duì)信息所有的Gazebo 插件發(fā)布。開發(fā)了繪圖節(jié)點(diǎn)用來繪制物理仿真數(shù)據(jù),具有讀取存儲(chǔ)的bag文件功能。無人船在仿真器中的場景如圖4 所示。

圖4 無人船在仿真器中的實(shí)驗(yàn)場景
使用無人船物理仿真平臺(tái)進(jìn)行場景仿真。無人船動(dòng)力分配為差速驅(qū)動(dòng)形式,物理參數(shù)見表2。

表2 無人船參數(shù)表
通過船物理參數(shù),可計(jì)算出附加質(zhì)量參數(shù),使用物理仿真平臺(tái)獲取動(dòng)態(tài)系數(shù)。無人船的附加質(zhì)量參數(shù)[15]:
使用物理仿真平臺(tái)來辨識(shí)無人船水動(dòng)力參數(shù)dii,設(shè)計(jì)場景1 為最大推力的直線運(yùn)動(dòng)辨識(shí)參數(shù)d11,設(shè)計(jì)場景2 讓無人船做圓周運(yùn)動(dòng)可以辨識(shí)參數(shù)d22,設(shè)計(jì)場景3 讓無人船繞Z軸旋轉(zhuǎn)可以辨識(shí)參數(shù)d33,設(shè)計(jì)場景4 驗(yàn)證海洋環(huán)境擾動(dòng)對(duì)無人船運(yùn)動(dòng)的影響。
為辨識(shí)水動(dòng)力參數(shù)d11,設(shè)計(jì)無人船直線運(yùn)動(dòng)仿真場景,實(shí)驗(yàn)結(jié)果如圖5 所示。在此場景仿真中,忽略所有的干擾,對(duì)無人船施加最大的推力(FTh1=FTh2=11.5N)。當(dāng)無人船縱向速度達(dá)到最大時(shí),u˙=v=r=0,umax=1.35 m/s。由式(2)、(3)可知,

圖5 無人船直線運(yùn)動(dòng)仿真曲線
為辨識(shí)水動(dòng)力參數(shù)d22,設(shè)計(jì)無人船繞圓周運(yùn)動(dòng)仿真場景,實(shí)驗(yàn)結(jié)果如圖6 所示。在此場景仿真中,忽略所有的干擾,無人船推力分配為FTh1=11.5 N,F(xiàn)Th2=0 N。

圖6 無人船圓周運(yùn)動(dòng)仿真結(jié)果
由仿真結(jié)果可見,系統(tǒng)達(dá)到穩(wěn)態(tài)時(shí),橫向加速度變?yōu)榱悖瑱M向最大速度vmax=0.22 m/s,可通過式(2)、(3)計(jì)算:
為了辨識(shí)水動(dòng)力參數(shù)d33,設(shè)計(jì)無人船繞Z軸運(yùn)動(dòng)仿真場景,實(shí)驗(yàn)結(jié)果如圖7 所示。無人船的推力分配為:FTh1=11.5 N,F(xiàn)Th2=-11.5 N。由仿真結(jié)果可見,在達(dá)到穩(wěn)態(tài)時(shí)ψmax=0.366 m/s,r˙=u=v=0。可以通過式(2)、(3)計(jì)算:

圖7 無人船繞Z軸運(yùn)動(dòng)仿真結(jié)果
為驗(yàn)證外部擾動(dòng)對(duì)無人船的影響,設(shè)計(jì)無人船海洋環(huán)境擾動(dòng)。開始啟動(dòng)時(shí),對(duì)無人船施加最大的推力(FTh1=FTh2=11.5 N)。在t=5 s時(shí),加入風(fēng)擾動(dòng)(0.4 m/s,30°)和海流擾動(dòng)(0.4 m/s,45°)。由圖8 可見,無人船在0~5 s時(shí),沿直線運(yùn)動(dòng),在5 s 后,由于受到風(fēng)和海流擾動(dòng),運(yùn)動(dòng)軌跡變?yōu)榍€。所設(shè)計(jì)的物理仿真教學(xué)平臺(tái)可以真實(shí)的反映無人船受到海洋環(huán)境干擾的運(yùn)動(dòng)情況。

圖8 無人船受到擾動(dòng)時(shí)仿真結(jié)果
無人船物理仿真平臺(tái)已在校機(jī)器人工程和自動(dòng)化兩個(gè)專業(yè)核心課程“機(jī)器人基礎(chǔ)原理”和“機(jī)器人三維建模與仿真”仿真教學(xué)使用。本文所設(shè)計(jì)的無人船物理仿真平臺(tái),利用開源ROS 和物理仿真引擎,構(gòu)建復(fù)雜海洋環(huán)境下的無人船物理仿真場景,實(shí)現(xiàn)無人船模型搭建、海洋環(huán)境擾動(dòng)模擬、模型動(dòng)力學(xué)參數(shù)辨識(shí)和控制算法驗(yàn)證等功能。該平臺(tái)可擴(kuò)展實(shí)現(xiàn)激光雷達(dá)導(dǎo)航、虛擬現(xiàn)實(shí)場景生成等功能。該物理仿真平臺(tái)能滿足機(jī)器人專業(yè)研究探索型實(shí)驗(yàn)對(duì)實(shí)驗(yàn)平臺(tái)的需求,解決機(jī)器人教學(xué)中存在的硬件約束、場景單一等問題,并且該仿真平臺(tái)具有較好的成果轉(zhuǎn)化推廣價(jià)值。