于 特,王 磊,b
(上海交通大學 a.海洋工程國家重點實驗室;b.高新船舶與深海開發裝備協同創新中心,上海 200240)
無人船的發展歷史長達百年,從1898年由尼古拉·特斯拉發明的無線電遙控船開始,無人船的自主化程度隨著自動控制和計算機技術的發展而不斷提高.近年來,人工智能技術的飛速發展使得包括無人船在內的各類無人載器具備了自主執行任務和協同作業的能力.2014年8月,美國海軍在弗吉尼亞州詹姆斯河開展了無人艇“蜂群”協同作戰演示[1].該無人艇集群包括5艘自主無人艇和8艘遙控無人艇,通過搭載的不同傳感器,可以完成護航和敵船攔截任務,實現集群作戰模式,包圍和攔截“可疑艦船”.2018年,云洲智能公司在南海萬山群島海域開展了一次由56艘無人艇組成的海上編隊航行[2],該集群可以通過切換隊形形成航母圖案或漢字.同年,該公司利用81艘“瞭望者”號無人艇實現了更大規模的集群編隊演示[3].
在海上對接技術領域,美國海軍早已啟動了利用動力定位系統控制兩船之間相對位置的理論和模型試驗研究.在荷蘭水池MARIN的模型試驗中,利用動力定位系統的運輸船和遠征轉運船塢(ESD)成功實現在多個波浪角度下的相對位置和艏向角的控制.在民用領域,與對接技術相關的大型海洋裝備的旁靠和組塊安裝作業,已成為海洋工程中的研究和應用熱點.Queiroz等[4-5]利用一致性協同比例積分微分(PID)控制算法,實現了兩艘動力定位拖輪的協同控制,在試驗中減少了相對距離和艏向的誤差.此外,其利用數值仿真方法,驗證了基于一致性算法的協同控制可以更好地使兩艘拖輪保持相對位置.Cong等[6]利用PID控制算法控制半潛式生活平臺跟隨浮式生產儲油輪(FPSO),數值仿真結果表明該作業方式有效.
大型海洋平臺往往利用系泊的方法固定在某一區域作業,而小型無人船受其載重影響無法實現強度更大的功能.為了滿足未來海上作業需求,提出一種自重構的海上自主變形平臺:利用無人船之間的協同控制,包括任務規劃、路徑規劃、軌跡跟蹤和旁靠對接,實現無人船之間的自主靠泊對接,從而形成該平臺.
在大地坐標系中,2個子模塊P和Q的旁靠系統如圖1所示.模塊P依靠自身控制系統定位在原地,模塊Q依靠自身控制系統運動到虛線位置.考慮某個子模塊的3自由度運動(縱蕩、橫蕩和艏搖),其運動學和動力學可以用數學模型[7]描述為

圖1 大地坐標系與船體坐標系Fig.1 Earth-fixed and body-fixed reference frames

(1)
(2)

(3)
式中:t為時間.即子模塊在大地坐標系中的位置向量向預定的位置向量(ηd)收斂.
子模塊為過驅動控制,即控制輸入的維度大于被控目標的維度.所設計的子模塊包括8個固定的推進器,可以實現3個自由度的運動控制.控制算法選擇動力定位系統的經典控制算法,即PID控制算法.在水平面3個自由度的PID控制算法為
(4)
式中:Kp、Kd和Ki分別為比例、微分和積分系數;x和Δx分別為在船體坐標系中子模塊3個自由度的位置和相對于預定目標位置的位置偏差;τ為時間微元.利用該方法得到的τinput無法直接作用于子模塊上,還需要對其進行推力分配,以得到每個推進器的推力.
圖1中的雙模塊旁靠情況需要2個子模塊協同控制.構建雙子模塊的動力學模型:
(5)
式中:模塊P定位在原地,為領航者;模塊Q為跟隨者,負責與模塊P旁靠,這利用了無人船編隊控制中領航-跟隨的思想.但該方法使得子模塊與子模塊之間的“地位”不對等.本設計的核心思想之一為去中心化,使得每個子模塊的任務一致,因此提出如圖2所示的協同控制策略.在模塊P和Q之間選取1個中間動態參考點(M),通過設計點M可以進一步設計2個子模塊各自的理想定位點P′和Q′.點M、P′和Q′可分別表達為

圖2 動態參考點MFig.2 Dynamic reference point M
(6)
(7)
(8)
式中:B為單個子模塊的型寬.利用上述方法選取定位點,可以實現去中心化的設計.模塊P和Q執行同樣的目標任務,利用PID控制算法,實現雙模塊旁靠.
本設計中的子模塊為8個推進器,其布置如圖3所示.

圖3 推進器布置Fig.3 Thruster arrangement
對τinput進行推力分配,得到8個推進器的轉速,并使其作用于子模塊上.τinput由8個推進器作用產生的合力組成,表示為
τinput=B(α)T
(9)
式中:T∈R8為推進器的推力;α∈R8為推進器的角度,本設計采用固定式推進器,則
該矩陣所描述的推進器順序為船體坐標系下X軸正向順時針的遍歷.B(α)為3×8矩陣,其第i列為
(10)
式中:αi為第i個推進器的角度;lix和liy為第i個推進器在船體坐標系中的位置.將α代入B(α)即可得到全部推進器作用矩陣,不再贅述.推力分配問題可以通過求解以下最優化問題解決.
(11)
s.t.s+B(α)T=τinput
(12)
0≤Ti≤Ti_max
(13)
0≤Ti-T0≤(ΔT)max
(14)

設計如圖4所示的駁船型船體子模塊,船長為 80 cm,船寬為 40 cm.其由3部分組成,從上至下依次為甲板、主船體和推進器.其中,甲板內包含對接機構;主船體內搭載岸機通信模塊、控制模塊、定位模塊和供電設備等;推進器布置與圖3所示一致.

圖4 子模塊硬件布置Fig.4 Hardware arrangement of a single module
圖5為對接機構的構型.每個子模塊上均分布著公頭和母頭,母頭為引導裝置,公頭通過控制器進行伸縮以實現模塊之間的對接與分離.在對接時,公頭從甲板內伸出,利用協同控制算法控制子模塊運動,進而帶動公頭向母頭靠攏;利用引導裝置和子模塊的自身運動,使得公頭完全進入母頭,采用電磁方式將公頭末端與母頭固連,實現對接,如圖6所示.

圖5 對接示意圖Fig.5 Sample of docking method

圖6 對接完成Fig.6 Docking completed
全局的任務規劃在岸上上位機中實現,上位機通過無線通信技術(Wi-Fi)和底層通信模塊進行數據傳輸.底層控制器通過結算上位任務,得到所需執行的具體任務,具體控制(子模塊對接)邏輯如下:
步驟1輸入最終對接的定位點.
步驟2上位機對已有子模塊進行路勁規劃,給出每個循跡點和終點坐標,通過局域網發布.
步驟3子模塊接收步驟2中的坐標點,進行軌跡跟蹤.
步驟4當檢測到2個子模塊之間的相對距離不大于其設計參數時,進行對接.
步驟52個子模塊通過1.2節中的控制策略進行旁靠對接.
步驟6當檢測到2個子模塊之間的縱蕩方向誤差不大于其設計參數時,伸出公頭.
步驟7雙模塊對接完成.
步驟8剩余2個子模塊重復步驟3~7.
步驟9將已經對接完成的2個雙模塊視為2個新子模塊,重復步驟3~7.
步驟104個子模塊對接完成.
在進行試驗之前,利用數值仿真對上述策略進行驗證.在ROS(機器人操作系統)中建立4個子模塊的運動學和動力學模型,對4個子模塊首尾對接形成的浮橋進行仿真.為真實還原外界環境力的影響,選擇外界干擾為
(15)
仿真結果如圖7和8所示.4個子模塊的初始位置距離較近,在仿真中忽略模塊之間的碰撞,模塊首先運動到各自定位點,然后控制艏向一致以實現對接.圖9為圖7最左側模塊艏搖角的時歷曲線.模塊的橫向誤差和艏搖角存在一定超調,在實際應用中可能導致模塊之間的碰撞,因此需要對控制邏輯進行優化.

圖7 子模塊軌跡Fig.7 Trajectories of four modules

圖9 子模塊跟蹤誤差Fig.9 Tracking error of module
搭建軟硬件設備,在水池條件下試驗對接流程,測試4個子模塊拼接為一個2×2浮體的過程,如圖10所示.4個子模塊(紅)由初始位置出發,進行兩兩對接(藍),然后再次對接形成1個平臺(綠).試驗中,每個子模塊按照路徑規劃循跡至需要對接的子模塊附近,然后進行位置保持,待兩者艏向相同,縱向位置一致時,即開始進行向內側的旁靠運動,借助對接機構實現對接任務.四船對接采取相同方法,只是控制參數有所不同.每組雙船的旁靠對接大概需要120 s,隨后大概需要60 s拼接為一個2×2的整體,試驗中4個子模塊的拼接過程如圖11所示.在試驗中發現:小模型的慣性較小不易控制,8槳的推進器也不利于實現預定推力.因此,在后續工作中可以制作縮尺比更小的模型,并安裝4個全回轉推進器,從而更好地實現目標對接.

圖10 子模塊自主對接Fig.10 Autonomous docking of four modules

圖11 試驗模塊拼接過程Fig.11 Procedure of combination of text modules
本設計提出一種自重構平臺的設想,并進行初步的試驗驗證,為進一步研究做鋪墊.首先從理論層面分析,明確方法和技術,然后將問題轉化為2個子模塊如何利用各自的動力定位能力實現旁靠對接,并對控制方法和推力分配進行設計,仿真結果表明了控制邏輯和算法的有效性.為了驗證自重構平臺的可行性,依托實驗室條件進行模型試驗,結果表明:4個子模塊能夠利用通信系統與岸機交互信息,執行控制指令,并逐步實現兩兩對接,最終拼接為一個整體平臺.未來將繼續開展更貼近實際的試驗驗證,制作縮尺比較小的模型,并對推進裝置進行優化,考慮使用全回轉推進器;在對接過程中適當引入風浪流外載荷干擾,進而驗證算法的魯棒性.