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