同空中航行器一樣,自主水下航行器(AUV) 更適用于對大型載人航行器來說太危險或根本無法嘗試的許多應(yīng)用領(lǐng)域。例如,北極探索、水下建橋與管道檢查,以及水產(chǎn)養(yǎng)殖自動化,這些應(yīng)用通常需要 AUV 行駛一段距離才能到達目標位置。航行器一旦到達目標位置,可能就需要執(zhí)行敏捷操縱(即水下機動航行),以采集圖像、視頻和其他重要數(shù)據(jù)。
受諸多因素的影響,開發(fā)這些 AUV 的控制算法錯綜復(fù)雜。其中,最嚴峻的挑戰(zhàn)是無線電信號在水中會發(fā)生衰減,這使得 AUV 在深海遠程作業(yè)時無法可靠地接收 GPS 或通迅信號。由于缺乏這種通信,AUV的自主作業(yè)能力就顯得愈加重要。
瑞典皇家理工學院的團隊研究了控制策略,通過最大限度地降低能耗,使AUV 完成時間更長、更復(fù)雜的任務(wù)成為了可能。借助 MATLAB 和 Simulink,使用基于模型的設(shè)計,對開發(fā)的控制算法進行了仿真、優(yōu)化與實現(xiàn)。這種方法可以先通過仿真快速開發(fā)和評估算法,然后在機動航行的 AUV SAM(圖 1)上,對這些算法進行現(xiàn)場測試,從而加快研究步伐。
圖 1. SAMAUV(上圖)和三維表示(下圖)。SAM是由瑞典皇家理工學院的海洋機器人中心設(shè)計的。
AUV 設(shè)計中的工程權(quán)衡
采用就地懸停設(shè)計的 AUV,通常搭載多個推進器,這使得 AUV 體積龐大,因而無法輕松完成遠距離航行。另一方面,雖然細長型 AUV 的航程更遠,但受限于形狀,再加之缺乏多個推進器,這些 AUV 在到達目標位置后,更難懸停或使攝像頭和其他傳感器朝向感興趣的目標。
SAM 是小型經(jīng)濟型海洋機器人的縮寫,它是由瑞典皇家理工學院的海洋機器人中心(SMaRC) 基于對航程與操縱性之間的這種權(quán)衡考量而開發(fā)的。SAM長 1.4 米,重約 15 公斤,只需一名操作人員即可輕松駕馭。其造價相對較低,這使得用若干個AUV 進行多航行器作業(yè)成為了可能。為了保持 SAM 小巧輕便,瑞典皇家理工學院為它配備了相對較小的電池組和數(shù)量有限的傳感器。
SAM 的單個推進器內(nèi)配有兩個反向旋轉(zhuǎn)的螺旋槳。它還帶有額外的配平子系統(tǒng),用于改變其浮力和重心位置。因此,盡管SAM 具有敏捷性,但仍動力不足。為此,它需要使用該團隊開發(fā)的高級控制系統(tǒng)來執(zhí)行精準的操縱,并充分利用體載傳感器。另外,在開發(fā)這些控制系統(tǒng)的同時,還需要在其仿真速度與保真度之間進行工程權(quán)衡。雖然計算流體動力學有助于實現(xiàn)高度精確的流體流動仿真,但是,完成僅運行一個控制算法測試所需的計算就需要長達數(shù)天的時間。相比之下,在 Simulink 中創(chuàng)建的航行器運動仿真近乎實時運行,并且可以十分準確地用于對定性行為建模,從而能夠在 AUV 上測試控制方法之前,先在仿真中快速驗證和優(yōu)化這些方法。
AUV 建模
AUV 建模是一項復(fù)雜的任務(wù),因為流體動力學特性隨流動條件而變化。例如,受紊流的影響,在大迎角下產(chǎn)生的力與小迎角下產(chǎn)生的力大相徑庭。為了解釋這種復(fù)雜性,團隊創(chuàng)建了各個AUV 組件的流體動力學模型,然后使用空氣動力學建模中常用的方法(即組件組合法),將這些模型組合在了一起。
對于外部組件(或濕組件),如 AUV 的殼體和噴嘴,團隊使用了現(xiàn)有的最佳數(shù)據(jù),對流體動力學特性進行了建模。這些數(shù)據(jù)以查找表的形式包含在了 Simulink模型中。它們來自于各種數(shù)據(jù)源。例如,對于小迎角,團隊使用了 CFD 仿真中的數(shù)據(jù)。而對于大迎角,則使用了基于 USAF 穩(wěn)定性與操縱性DATCOM 公式的MATLAB 腳本。最后,對于 AUV 的旋翼,使用了 XFOIL 軟件包中的數(shù)據(jù),該軟件包用于執(zhí)行翼型空氣動力學計算。會根據(jù)水的密度和粘度對其進行調(diào)整。
Simulink 模型還包括內(nèi)部組件,如可變浮力系統(tǒng)(VBS)、用于橫向重心(TCG) 配平的旋轉(zhuǎn)配重,以及可以前后移動用于縱向重心(LCG) 配平的質(zhì)點。在 Simscape 中則對這些子系統(tǒng)的質(zhì)點和作動器進行了建模,以便于輕松地將各種組件組合到更大的被控對象模型框架中(圖2)。
圖 2. 仿真框架,包括Simulink 被控對象模型中組件和作動器的子模型。
控制器的建模與仿真
一旦有了準確反映 AUV 的動態(tài)特性和行為的被控對象模型,就可以開始在 Simulink 中使用 Control System Toolbox 進行控制器建模和仿真。
早期的控制系統(tǒng)包含一組比例積分微分(PID) 控制器。通過從加速度計、羅盤、深度計和其他體載傳感器獲取輸入,每個控制器都與單個自由度相關(guān)聯(lián)。最近,該團隊已經(jīng)開始評估模型預(yù)測控制(MPC) 方法,包括線性、線性時變和非線性 MPC 方法,以及線性二次調(diào)節(jié)器(LQR) 設(shè)計。
通過將控制器模型與被控對象模型連接起來,針對特定的水下機動航行運行了閉環(huán)仿真。這些航行活動的復(fù)雜程度各異,簡單到保持特定位置,復(fù)雜到沿水平面和垂直面執(zhí)行緊湊的循環(huán)操縱(圖3)??刂破魇褂昧烁鞣N方法,從簡單的腳本化序列到基于優(yōu)化的方法,如 LQR 和 MPC。
圖 3. 在仿真中執(zhí)行的緊湊循環(huán)操縱。
仿真一直是開發(fā)和實現(xiàn)有效控制策略的利器。例如,在一種情況下,該團隊希望 AUV 執(zhí)行倒立擺操縱,其中涉及到航行器向后俯沖,保持垂直方向,然后向上移動,直到其前端露出水面。如果僅限于使用 AUV 本身進行試驗,則為這種操縱找到一種有效的控制策略將極其困難。所幸的是,通過仿真,能夠快速嘗試各種 MPC 設(shè)計和 PID 控制器組合,并在 MATLAB 中生成詳細的仿真結(jié)果圖(圖4),以了解哪種方法最為有效。
圖 4. 緊湊的循環(huán)操縱過程中的角度圖和速度圖。
代碼的生成和驗證
通過仿真確定了可能有效的控制策略后,該團隊沿兩條路徑之一準備在 AUV 上進行測試。在某些情況下,只需根據(jù) Simulink 控制器模型編寫控制代碼?;蛘?,使用 Simulink Coder 直接從模型生成C 代碼,并使用 ROS Toolbox 將其作為獨立的機器人操作系統(tǒng)(ROS) 節(jié)點部署在 AUV 上。
當在 AUV 上測試控制器時,通常是在貯水池或海中進行現(xiàn)場測試期間,團隊將航行器的性能和行為與仿真結(jié)果進行了比較。大家一致認為,從定性的角度而言,AUV 在現(xiàn)場測試中的行為與仿真行為很相似(圖5)。
圖 5. 現(xiàn)場測試中的AUV 的時間序列圖像(左)和仿真中的對應(yīng)圖像(右)。
當前和將來的研究
在執(zhí)行水下機動航行時,AUV 處于需要精準控制的作業(yè)模式。AUV 的第二種作業(yè)模式適用于在開放水域中遠距離航行。該模式優(yōu)先考慮的是路徑跟隨和最小能耗,而不是精準定向?;谶@兩種作業(yè)模式,該團隊當前正在研究更高級的策略,以便在不同控制器之間進行自適應(yīng)切換。
該團隊小組還將利用建模和仿真來評估可能對 AUV 本身所作的改進。例如,有位同事在 AUV 被控對象模型的前端增設(shè)了一個抓手。盡管還沒有抓手的物理硬件,但該同事借助仿真設(shè)計了一個 LQR 控制器,該控制器可對使用抓手時可能遇到的沖激載荷和其他擾動作出正確的響應(yīng)。該團隊也將探索類似抓手的應(yīng)用。該抓手裝在 AUV 的側(cè)面,使航行器能夠鎖定到一個或多個相同的 AUV,并開始作為一個多智能體系統(tǒng)運行。
-
模型
+關(guān)注
關(guān)注
1文章
3254瀏覽量
48881 -
AUV
+關(guān)注
關(guān)注
0文章
11瀏覽量
10891 -
水下航行器
+關(guān)注
關(guān)注
0文章
15瀏覽量
8649
原文標題:自主水下航行器 (AUV) | 近實時仿真與控制助力實現(xiàn)水下機動航行
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論