于 特,王 磊,b
(上海交通大學(xué) a.海洋工程國家重點(diǎn)實(shí)驗(yàn)室;b.高新船舶與深海開發(fā)裝備協(xié)同創(chuàng)新中心,上海 200240)
無人船的發(fā)展歷史長達(dá)百年,從1898年由尼古拉·特斯拉發(fā)明的無線電遙控船開始,無人船的自主化程度隨著自動控制和計(jì)算機(jī)技術(shù)的發(fā)展而不斷提高.近年來,人工智能技術(shù)的飛速發(fā)展使得包括無人船在內(nèi)的各類無人載器具備了自主執(zhí)行任務(wù)和協(xié)同作業(yè)的能力.2014年8月,美國海軍在弗吉尼亞州詹姆斯河開展了無人艇“蜂群”協(xié)同作戰(zhàn)演示[1].該無人艇集群包括5艘自主無人艇和8艘遙控?zé)o人艇,通過搭載的不同傳感器,可以完成護(hù)航和敵船攔截任務(wù),實(shí)現(xiàn)集群作戰(zhàn)模式,包圍和攔截“可疑艦船”.2018年,云洲智能公司在南海萬山群島海域開展了一次由56艘無人艇組成的海上編隊(duì)航行[2],該集群可以通過切換隊(duì)形形成航母圖案或漢字.同年,該公司利用81艘“瞭望者”號無人艇實(shí)現(xiàn)了更大規(guī)模的集群編隊(duì)演示[3].
在海上對接技術(shù)領(lǐng)域,美國海軍早已啟動了利用動力定位系統(tǒng)控制兩船之間相對位置的理論和模型試驗(yàn)研究.在荷蘭水池MARIN的模型試驗(yàn)中,利用動力定位系統(tǒng)的運(yùn)輸船和遠(yuǎn)征轉(zhuǎn)運(yùn)船塢(ESD)成功實(shí)現(xiàn)在多個波浪角度下的相對位置和艏向角的控制.在民用領(lǐng)域,與對接技術(shù)相關(guān)的大型海洋裝備的旁靠和組塊安裝作業(yè),已成為海洋工程中的研究和應(yīng)用熱點(diǎn).Queiroz等[4-5]利用一致性協(xié)同比例積分微分(PID)控制算法,實(shí)現(xiàn)了兩艘動力定位拖輪的協(xié)同控制,在試驗(yàn)中減少了相對距離和艏向的誤差.此外,其利用數(shù)值仿真方法,驗(yàn)證了基于一致性算法的協(xié)同控制可以更好地使兩艘拖輪保持相對位置.Cong等[6]利用PID控制算法控制半潛式生活平臺跟隨浮式生產(chǎn)儲油輪(FPSO),數(shù)值仿真結(jié)果表明該作業(yè)方式有效.
大型海洋平臺往往利用系泊的方法固定在某一區(qū)域作業(yè),而小型無人船受其載重影響無法實(shí)現(xiàn)強(qiáng)度更大的功能.為了滿足未來海上作業(yè)需求,提出一種自重構(gòu)的海上自主變形平臺:利用無人船之間的協(xié)同控制,包括任務(wù)規(guī)劃、路徑規(guī)劃、軌跡跟蹤和旁靠對接,實(shí)現(xiàn)無人船之間的自主靠泊對接,從而形成該平臺.
在大地坐標(biāo)系中,2個子模塊P和Q的旁靠系統(tǒng)如圖1所示.模塊P依靠自身控制系統(tǒng)定位在原地,模塊Q依靠自身控制系統(tǒng)運(yùn)動到虛線位置.考慮某個子模塊的3自由度運(yùn)動(縱蕩、橫蕩和艏搖),其運(yùn)動學(xué)和動力學(xué)可以用數(shù)學(xué)模型[7]描述為
圖1 大地坐標(biāo)系與船體坐標(biāo)系Fig.1 Earth-fixed and body-fixed reference frames
(1)
(2)
(3)
式中:t為時間.即子模塊在大地坐標(biāo)系中的位置向量向預(yù)定的位置向量(ηd)收斂.
子模塊為過驅(qū)動控制,即控制輸入的維度大于被控目標(biāo)的維度.所設(shè)計(jì)的子模塊包括8個固定的推進(jìn)器,可以實(shí)現(xiàn)3個自由度的運(yùn)動控制.控制算法選擇動力定位系統(tǒng)的經(jīng)典控制算法,即PID控制算法.在水平面3個自由度的PID控制算法為
(4)
式中:Kp、Kd和Ki分別為比例、微分和積分系數(shù);x和Δx分別為在船體坐標(biāo)系中子模塊3個自由度的位置和相對于預(yù)定目標(biāo)位置的位置偏差;τ為時間微元.利用該方法得到的τinput無法直接作用于子模塊上,還需要對其進(jìn)行推力分配,以得到每個推進(jìn)器的推力.
圖1中的雙模塊旁靠情況需要2個子模塊協(xié)同控制.構(gòu)建雙子模塊的動力學(xué)模型:
(5)
式中:模塊P定位在原地,為領(lǐng)航者;模塊Q為跟隨者,負(fù)責(zé)與模塊P旁靠,這利用了無人船編隊(duì)控制中領(lǐng)航-跟隨的思想.但該方法使得子模塊與子模塊之間的“地位”不對等.本設(shè)計(jì)的核心思想之一為去中心化,使得每個子模塊的任務(wù)一致,因此提出如圖2所示的協(xié)同控制策略.在模塊P和Q之間選取1個中間動態(tài)參考點(diǎn)(M),通過設(shè)計(jì)點(diǎn)M可以進(jìn)一步設(shè)計(jì)2個子模塊各自的理想定位點(diǎn)P′和Q′.點(diǎn)M、P′和Q′可分別表達(dá)為
圖2 動態(tài)參考點(diǎn)MFig.2 Dynamic reference point M
(6)
(7)
(8)
式中:B為單個子模塊的型寬.利用上述方法選取定位點(diǎn),可以實(shí)現(xiàn)去中心化的設(shè)計(jì).模塊P和Q執(zhí)行同樣的目標(biāo)任務(wù),利用PID控制算法,實(shí)現(xiàn)雙模塊旁靠.
本設(shè)計(jì)中的子模塊為8個推進(jìn)器,其布置如圖3所示.
圖3 推進(jìn)器布置Fig.3 Thruster arrangement
對τinput進(jìn)行推力分配,得到8個推進(jìn)器的轉(zhuǎn)速,并使其作用于子模塊上.τinput由8個推進(jìn)器作用產(chǎn)生的合力組成,表示為
τinput=B(α)T
(9)
式中:T∈R8為推進(jìn)器的推力;α∈R8為推進(jìn)器的角度,本設(shè)計(jì)采用固定式推進(jìn)器,則
該矩陣所描述的推進(jìn)器順序?yàn)榇w坐標(biāo)系下X軸正向順時針的遍歷.B(α)為3×8矩陣,其第i列為
(10)
式中:αi為第i個推進(jìn)器的角度;lix和liy為第i個推進(jìn)器在船體坐標(biāo)系中的位置.將α代入B(α)即可得到全部推進(jìn)器作用矩陣,不再贅述.推力分配問題可以通過求解以下最優(yōu)化問題解決.
(11)
s.t.s+B(α)T=τinput
(12)
0≤Ti≤Ti_max
(13)
0≤Ti-T0≤(ΔT)max
(14)
設(shè)計(jì)如圖4所示的駁船型船體子模塊,船長為 80 cm,船寬為 40 cm.其由3部分組成,從上至下依次為甲板、主船體和推進(jìn)器.其中,甲板內(nèi)包含對接機(jī)構(gòu);主船體內(nèi)搭載岸機(jī)通信模塊、控制模塊、定位模塊和供電設(shè)備等;推進(jìn)器布置與圖3所示一致.
圖4 子模塊硬件布置Fig.4 Hardware arrangement of a single module
圖5為對接機(jī)構(gòu)的構(gòu)型.每個子模塊上均分布著公頭和母頭,母頭為引導(dǎo)裝置,公頭通過控制器進(jìn)行伸縮以實(shí)現(xiàn)模塊之間的對接與分離.在對接時,公頭從甲板內(nèi)伸出,利用協(xié)同控制算法控制子模塊運(yùn)動,進(jìn)而帶動公頭向母頭靠攏;利用引導(dǎo)裝置和子模塊的自身運(yùn)動,使得公頭完全進(jìn)入母頭,采用電磁方式將公頭末端與母頭固連,實(shí)現(xiàn)對接,如圖6所示.
圖5 對接示意圖Fig.5 Sample of docking method
圖6 對接完成Fig.6 Docking completed
全局的任務(wù)規(guī)劃在岸上上位機(jī)中實(shí)現(xiàn),上位機(jī)通過無線通信技術(shù)(Wi-Fi)和底層通信模塊進(jìn)行數(shù)據(jù)傳輸.底層控制器通過結(jié)算上位任務(wù),得到所需執(zhí)行的具體任務(wù),具體控制(子模塊對接)邏輯如下:
步驟1輸入最終對接的定位點(diǎn).
步驟2上位機(jī)對已有子模塊進(jìn)行路勁規(guī)劃,給出每個循跡點(diǎn)和終點(diǎn)坐標(biāo),通過局域網(wǎng)發(fā)布.
步驟3子模塊接收步驟2中的坐標(biāo)點(diǎn),進(jìn)行軌跡跟蹤.
步驟4當(dāng)檢測到2個子模塊之間的相對距離不大于其設(shè)計(jì)參數(shù)時,進(jìn)行對接.
步驟52個子模塊通過1.2節(jié)中的控制策略進(jìn)行旁靠對接.
步驟6當(dāng)檢測到2個子模塊之間的縱蕩方向誤差不大于其設(shè)計(jì)參數(shù)時,伸出公頭.
步驟7雙模塊對接完成.
步驟8剩余2個子模塊重復(fù)步驟3~7.
步驟9將已經(jīng)對接完成的2個雙模塊視為2個新子模塊,重復(fù)步驟3~7.
步驟104個子模塊對接完成.
在進(jìn)行試驗(yàn)之前,利用數(shù)值仿真對上述策略進(jìn)行驗(yàn)證.在ROS(機(jī)器人操作系統(tǒng))中建立4個子模塊的運(yùn)動學(xué)和動力學(xué)模型,對4個子模塊首尾對接形成的浮橋進(jìn)行仿真.為真實(shí)還原外界環(huán)境力的影響,選擇外界干擾為
(15)
仿真結(jié)果如圖7和8所示.4個子模塊的初始位置距離較近,在仿真中忽略模塊之間的碰撞,模塊首先運(yùn)動到各自定位點(diǎn),然后控制艏向一致以實(shí)現(xiàn)對接.圖9為圖7最左側(cè)模塊艏搖角的時歷曲線.模塊的橫向誤差和艏搖角存在一定超調(diào),在實(shí)際應(yīng)用中可能導(dǎo)致模塊之間的碰撞,因此需要對控制邏輯進(jìn)行優(yōu)化.
圖7 子模塊軌跡Fig.7 Trajectories of four modules
圖9 子模塊跟蹤誤差Fig.9 Tracking error of module
搭建軟硬件設(shè)備,在水池條件下試驗(yàn)對接流程,測試4個子模塊拼接為一個2×2浮體的過程,如圖10所示.4個子模塊(紅)由初始位置出發(fā),進(jìn)行兩兩對接(藍(lán)),然后再次對接形成1個平臺(綠).試驗(yàn)中,每個子模塊按照路徑規(guī)劃循跡至需要對接的子模塊附近,然后進(jìn)行位置保持,待兩者艏向相同,縱向位置一致時,即開始進(jìn)行向內(nèi)側(cè)的旁靠運(yùn)動,借助對接機(jī)構(gòu)實(shí)現(xiàn)對接任務(wù).四船對接采取相同方法,只是控制參數(shù)有所不同.每組雙船的旁靠對接大概需要120 s,隨后大概需要60 s拼接為一個2×2的整體,試驗(yàn)中4個子模塊的拼接過程如圖11所示.在試驗(yàn)中發(fā)現(xiàn):小模型的慣性較小不易控制,8槳的推進(jìn)器也不利于實(shí)現(xiàn)預(yù)定推力.因此,在后續(xù)工作中可以制作縮尺比更小的模型,并安裝4個全回轉(zhuǎn)推進(jìn)器,從而更好地實(shí)現(xiàn)目標(biāo)對接.
圖10 子模塊自主對接Fig.10 Autonomous docking of four modules
圖11 試驗(yàn)?zāi)K拼接過程Fig.11 Procedure of combination of text modules
本設(shè)計(jì)提出一種自重構(gòu)平臺的設(shè)想,并進(jìn)行初步的試驗(yàn)驗(yàn)證,為進(jìn)一步研究做鋪墊.首先從理論層面分析,明確方法和技術(shù),然后將問題轉(zhuǎn)化為2個子模塊如何利用各自的動力定位能力實(shí)現(xiàn)旁靠對接,并對控制方法和推力分配進(jìn)行設(shè)計(jì),仿真結(jié)果表明了控制邏輯和算法的有效性.為了驗(yàn)證自重構(gòu)平臺的可行性,依托實(shí)驗(yàn)室條件進(jìn)行模型試驗(yàn),結(jié)果表明:4個子模塊能夠利用通信系統(tǒng)與岸機(jī)交互信息,執(zhí)行控制指令,并逐步實(shí)現(xiàn)兩兩對接,最終拼接為一個整體平臺.未來將繼續(xù)開展更貼近實(shí)際的試驗(yàn)驗(yàn)證,制作縮尺比較小的模型,并對推進(jìn)裝置進(jìn)行優(yōu)化,考慮使用全回轉(zhuǎn)推進(jìn)器;在對接過程中適當(dāng)引入風(fēng)浪流外載荷干擾,進(jìn)而驗(yàn)證算法的魯棒性.