林安輝 蔣德松 曾建平
近年來,編隊控制成為控制領域的研究熱點問題,引起了很多學者的關注[1?3],在航空航天、航海、工業等領域均有廣闊的應用前景.在航海領域,編隊控制可應用于艦隊的協同作戰、航行補給、環境監測、石油和天然氣探測等[4].船舶在平面上運動的編隊控制目前已經取得了較多的研究成果[5?17].文獻[5?10]使用Backstepping、神經網絡控制和基于無源性理論等方法研究了全驅動船舶的編隊控制問題.文獻[11]考慮船舶在固定航速下,給出了一種基于龐德里亞金極大值原理的編隊控制算法.
欠驅動船舶在縱向、橫蕩和艏搖三個自由度運動時,未能獲得直接橫向推進力,其控制輸入向量維數小于自由度維數.相比全驅動船舶的編隊控制而言,欠驅動船舶的編隊控制更為困難.文獻[12]將欠驅動水下自主航行器在平面上曲線跟蹤的編隊控制轉化成領航者、跟隨者的n個路徑跟隨以及跟隨船縱向距離的控制,但期望隊形在縱向距離上必須為零,未考慮系統的不確定性和外擾.文獻[13]使用Backstepping方法研究了欠驅動水下自主航行器平面運動的編隊控制.文獻[14]使用Backstepping方法和神經網絡方法研究了橫蕩速度無源有界假設下,欠驅動水面自主航行器的編隊控制.文獻[15]在文獻[14]的基礎上,應用動態面控制技術對虛擬控制輸入的微分進行估計,減少了在線計算量.文獻[16]給出了控制輸入受限情況下,欠驅動水下自主航行器在平面上運動的編隊控制器設計,沒有分析系統的穩定性,僅給出仿真結果.
現有船舶編隊控制較多采用Backstepping方法,較少考慮控制輸入飽和問題.Backstepping方法需要遞推構造Lyapunov函數,其過程較為復雜.在欠驅動的船舶編隊控制中,使用Backstepping等方法時,若在艏搖角速度虛擬控制輸入中引入距離或角度狀態的相乘項或相除項,易導致艏搖角速度過大,造成船舶回轉直徑過小、橫搖角度較大的現象.此外,在系統存在不確定性和外擾的情況下,已有干擾觀測器的研究表明,其能夠較好估計低頻變化的參數不確定性和外擾[18].相比神經網絡控制方法而言,干擾觀測器結構簡單;相比魯棒控制而言,多數的魯棒控制方法對系統不確定參數需符合有界約束條件,但干擾觀測器無需此約束條件.
本文使用Leader-follower方法將船舶分成虛擬領航船和跟隨船,其中跟隨船存在橫蕩運動.將欠驅動船舶的編隊控制器設計分成三步:1)設計跟隨船艏搖角速度虛擬控制器;2)設計跟隨船縱向速度虛擬控制器;3)設計跟隨船動力學控制器.在控制器設計中,引入雙曲正切函數用于克服控制輸入飽和的影響.進一步,考慮跟隨船無法獲知虛擬領航船的加速度、跟隨船動力學模型的不確定性和外擾的影響,以及避免計算控制輸入中的微分,文中將其統一視為干擾,應用干擾觀測器進行估計,并在控制器當中給予補償.本文的一個主要貢獻是,對于具有領航船的欠驅動船舶編隊控制,轉化為三個子系統的控制器設計,從而有效地降低了編隊控制器設計的復雜性.
記{O}、{BL}和{Bi}分別表示慣性坐標系、虛擬領航船的船體坐標系和跟隨船i的船體坐標系(i=1,2···,n),uL、vL和rL分別表示虛擬領航船的縱向速度、橫蕩速度和艏搖角速度,ui、vi和ri分別表示跟隨船i的縱向速度、橫蕩速度和艏搖角速度,ψL和ψi分別表示虛擬領航船的航向和跟隨船i的航向,βi表示跟隨船i的漂角.虛擬領航船和跟隨船i在水面上的運動如圖1所示.

圖1 跟隨船i和虛擬領航船的運動示意圖Fig.1 Motion sketch map of the followeriand the virtual leader
通過坐標旋轉,由圖1可得:

其中,(xL/O,yL/O)、(xi/L,yi/L)和(xi/O,yi/O)分別表示虛擬領航船在{O}坐標系的坐標、跟隨船i在{BL}坐標系的坐標和跟隨船i在{O}坐標系的坐標.
虛擬領航船和跟隨船i在{O}坐標系中縱向、橫蕩和艏搖三個自由度的運動學方程為

對式(1)進行求導,并將式(2)代入,可得跟隨船i與虛擬領航船位置偏差(xi/L,yi/L)和跟隨船i航跡角與虛擬領航船航向偏差θi的方程為

記跟隨船i黏性水動力和力矩為XHi=XHi(ui,vi,ri),YHi=YHi(ui,vi,ri),NHi=NHi(ui,vi,ri);跟隨船i縱向控制力和艏搖控制力矩分別為Xτi和Nτi;跟隨船i船體重心在{Bi}坐標系中的位置為(xgi,0).跟隨船i在水面上三個自由度運動的動力學方程為[19?20]

其中,Xi=miviri+mixgiri2+XHi,Yi=YHi?miuiri,Ni=?mixgiuiri+NHi.
在{BL}坐標系中,設跟隨船i和虛擬領航船期望保持的隊形距離xdi和ydi為已知常數.編隊隊形類似于虛擬的剛性結構.記跟隨船i和虛擬領航船隊形期望值與實際值的誤差xei=xi/L?xdi,yei=yi/L?ydi,跟隨船i縱向速度虛擬控制輸入與實際值的誤差uei=ui?uτi,跟隨船i艏搖角速度虛擬控制輸入與實際值的誤差rei=ri?rτi.
令

其中,0<αi<0.5π,kyei>0.
記跟隨船i航跡角與虛擬領航船航向偏差的期望值與實際值誤差θei=θi?θdi.
令

則誤差xei,yei,θei,uei,rei滿足方程:

引入如下假設:
假設1.虛擬領航船縱向速度,橫蕩速度vL=0,艏搖角速度且
假設2.所有跟隨船均可獲知虛擬領航船位置、航向和速度.
注1.對于船舶編隊中存在實際領航船的情形,可轉化為本文使用虛擬領航船的情形.記實際領航船的縱向速度、橫蕩速度和艏搖角速度分別為,航向和漂角分別為,則令虛擬領航船縱向速度,橫蕩速度vL=0,艏搖角速度,航向ψL=ψ′L+β′L.若實際領航船的速度不可獲知,可采用跟蹤–微分器等方法通過實際領航船的位置來估計其速度.
注2.假設1中跟隨船i的橫蕩速度|vi|<uL,當跟隨船i的橫向出現外擾時,由于船舶橫向的附加質量較大,則其橫蕩速度較小.橫向出現外擾的情形未能滿足橫蕩速度無源性,這樣就降低了文獻[14?15]橫蕩速度無源有界假設的保守性.
若系統(4)是指數穩定的,則limt→∞xi/L=xdi,limt→∞yi/L=ydi,limt→∞θei=0 即每艘跟隨船與虛擬領航船的位置偏差均收斂到期望值,從而實現了隊形穩定的目的.這樣,本文考慮的具有輸入飽和的欠驅動船舶編隊控制問題,就可轉化為系統(4)的鎮定控制問題.
假設虛擬領航船縱向加速度˙uL和艏搖角加速度為已知.
若uei=0,θei=0,則式(4a)表示為

若rei=0,則式(4b)表示為

那么,可將系統(4)的鎮定控制問題轉化為三個子系統(5)、(6)和(4c)的鎮定控制問題.

定理1.若系統(4)滿足假設1和2,且控制器uτi,rτi,Xτi,Nτi滿足以下條件
1)控制器uτi=uτi(xei,yei)使得子系統 (5)在零平衡點處是指數穩定的;
2)控制器rτi=rτi(θei) 使得子系統 (6) 在零平衡點處是指數穩定的;
3)控制器Xτi=Xτi(uei)和Nτi=Nτi(rei)使得子系統(4c)在零平衡點處是指數穩定的;
則系統(4)在零平衡點處是指數穩定的.
證明.對于系統 (4c)~(6),由條件 1)~4),根據Lyapunov逆定理,則存在Lyapunov函數滿足

其中,常數c11i>0,c12i>0,c13i>0,c14i>0,c21i>0,c22i>0,c23i>0,c24i>0,c31i>0,c32i>0,c33i>0,c34i>0.
對于系統(4),取Lyapunov函數為

其中,常數λ1i>0,λ2i>0,λ3i>0.
則


根據Lipschitz連續性條件,則存在常數ε1i>0,ε2i>0,ε3i>0,滿足

由上式可得

綜上所述,根據Lyapunov穩定性理論,系統(4)在零平衡點處是指數穩定的. □
由定理1,船舶編隊控制器設計可分成以下三步:
1)跟隨船艏搖角速度虛擬控制器設計
令跟隨船i艏搖角速度虛擬控制輸入為

其中,kri<0和kθei>0為可調參數.
引理1.若跟隨船i艏搖角速度虛擬控制輸入取式(7),則子系統(6)在零平衡點處是指數穩定的.
證明.取Lyapunov函數為.

若θei有界,則存在常數使得

由于kri<0,則

根據Lyapunov穩定性理論,子系統(6)在零平衡點處是指數穩定的. □
注3.式(7)中并未含有距離或角度狀態量的相乘項或相除項.當狀態量過小時,相除項會導致rτi過大;當狀態量過大時,相乘項會導致rτi過大.
2)跟隨船縱向速度虛擬控制器設計
令跟隨船i縱向速度虛擬控制輸入為

其中,kxei>0和|vi|?(uL?rLydi)<kui<0為可調參數.
引理2.若跟隨船i縱向速度虛擬控制輸入取式(8),則子系統(5)在零平衡點處是指數穩定的.
證明.取Lyapunov函數為
由式(8)可得

若xei和yei有界,則存在常數和使得

由于kui<0和Ui>0,則

3)跟隨船動力學控制器設計
令跟隨船i縱向控制力為

其中,kXi<0和kuei>0為可調參數.
令跟隨船i艏搖控制力矩為


其中,kNi<0和krei>0為可調參數.
引理3.若跟隨船i縱向控制力和艏搖控制力矩分別取式(9)和(10),則子系統(4c)在零平衡點處是指數穩定的.
證明.取Lyapunov函數為.
由式(9)和(10)可得

由于uei和rei有界,則存在常數和使得

由于kXi<0和kNi<0,則

根據Lyapunov穩定性理論,子系統(4c)在零平衡點處是指數穩定的. □
由于跟隨船速度ui、vi和ri有界,則和有界.又根據雙曲正切函數tanh的特性可知,控制輸入Xτi和Nτi有界.可由控制器的飽和值,的邊界值來計算參數kXi和kNi的值.
顯然,若跟隨船i的艏搖角速度虛擬控制輸入、縱向速度虛擬控制輸入、縱向控制力和艏搖控制力矩分別取式(7)~(10)時,系統(4)~(6)滿足局部Lipschitz連續性條件.由定理1和引理1~3,即得以下結果:
定理2.若系統(4)滿足假設1和2,跟隨船i艏搖角速度虛擬控制輸入、縱向速度虛擬控制輸入、縱向控制力和艏搖控制力矩分別取式(7)~(10),則系統(4)在零平衡點處是指數穩定的.
考慮跟隨船i動力學建模導致的不確定性和風、浪、流引起的環境外擾,其在三個自由度的分量分別為.
跟隨船i艏搖角速度虛擬控制輸入式(7)中含有微分,縱向控制力式(9)中含有微分,艏搖控制力矩式(10)中含有微分.而且,微分中含有虛擬領航船的加速度.為了避免微分的計算以及跟隨船i無法獲取虛擬領航船的加速度,在式(4b)中,將視為未知干擾,在式(4c)中,增加擾動和,并將和視為未知干擾.則系統(4)改寫為

取干擾觀測器為

跟隨船i補償后的艏搖角速度虛擬控制輸入、縱向控制力和艏搖控制力矩分別取為


對系統(11)和干擾估計誤差系統(16)構成的閉環系統進行穩定性分析,可得以下結果:
定理3.若系統(11)滿足假設1和2,跟隨船i的艏搖角速度虛擬控制輸入、縱向速度虛擬控制輸入、縱向控制力和艏搖控制力矩分別取式(13)、(8)、(14)和 (15),則存在可調參數ηri>0、ηXi>0和ηNi>0使得系統(11)和干擾估計誤差系統(16)構成的閉環系統是最終一致有界的.
證明.對于干擾估計誤差系統(16),取Lyapunov函數分別為,則

由上式可得,存在時間T1i,當時,有邊界值,滿足.可調參數ηri、ηXi和ηNi越大,干擾估計誤差系統(16)收斂越快,最終邊界值越小.
對于系統(11),取Lyapunov函數為

當t>T1i時,沿用定理1的證明思路,則存在常數使得

由上式可得,在系統狀態的定義域內,存在邊界值b1i、b2i、b3i、b4i、b5i、b6i和b7i,當|xei|>b4i,時,.即存在可調參數ηri、ηXi和ηNi,使得系統(11)和干擾估計誤差系統(16)構成的閉環系統是最終一致有界的.并且,控制器(7)~(10)的增益越高,閉環系統狀態的最終邊界值越小. □
對4艘船長為52.5m的跟隨船組成的編隊進行仿真.跟隨船動力學模型(3b)中的各項參數見文獻[20].
設虛擬領航船位置 (xL/O,yL/O,ψL)初值為(200,200,π/6),縱向速度uL、橫蕩速度vL和艏搖角速度rL分別為5m/s、0和0.01sin(0.01t)+0.008sin(0.015t)rad/s.
跟隨船1~4中,期望隊形參數(xdi,ydi)分別為(?50,50)、(?50,?50)、(50,50)和(50,?50),速度(ui,vi,ri)初值均為(4,0,0),位置和航向 (xi/O,yi/O,ψi) 初值分別為 (0,150,0.05π)、(300,100,0.05π)、(0,350,0.1π)和(400,300,0.1π).
設跟隨船 1~4的縱向控制力和艏搖控制力矩的飽和值分別為1×105N和4×105N·m.艏搖角速度虛擬控制輸入式(7)中的參數(αi,kyei,kri,kθei)均取為 (π/7,0.01,?0.01,10).縱向速度虛擬控制輸入式(8)中的參數(kui,kxei)均取為(?0.6,0.1).縱向控制力式(9)中的參數(kXi,kuei)均取為(?0.13,1).艏搖控制力矩式(10)中的參數(kNi,krei)均取為(?0.0025,200).

圖2 跟隨船與虛擬領航船的隊形誤差Fig.2 Formation errors of the followers and the virtual leader
設跟隨船1~4在縱向、橫向和艏搖方向遭受的外擾均為


圖3 無干擾觀測器時船舶編隊運動軌跡Fig.3 Motion trajectory of the ship formation no using the disturbance observers

圖4 采用干擾觀測器時船舶編隊運動軌跡Fig.4 Motion trajectory of the ship formation using the disturbance observers
若采用干擾觀測器的補償控制,干擾觀測器(12)中的參數(ηri,ηXi,ηNi) 均 取 為(0.02,0.03,0.2).分別對不采用和采用干擾觀測器的控制進行仿真.

圖5 采用干擾觀測器時跟隨船的速度Fig.5 Velocities of the followers using the disturbance observers

圖6 采用干擾觀測器時跟隨船1和2的控制輸入Fig.6 Control inputs of the follower 1 and 2 using the disturbance observers
由圖2~圖4可見,在外擾影響下,采用干擾觀測器時船舶編隊控制效果較好,跟隨船的位置偏差實際值與期望值的誤差能夠收斂到零的較小鄰域內,而無干擾觀測器時,船舶編隊隊形誤差相對較大.因此基于干擾觀測器的補償控制能夠有效抑制外擾.
由圖5~圖7可見,跟隨船的速度曲線比較平滑,速度值和控制輸入較合理.由于船舶的艏搖運動和橫蕩運動之間存在耦合關系,外擾也會引起船舶的橫蕩運動.圖中跟隨船的橫蕩速度不為零,主要由跟隨船橫向的外擾和艏搖運動引起.在圖6~圖7中,Nτ1和Nτ2在控制器作用不久后達到飽和值,這是因為跟隨船1和2的狀態θei初值較大,可通過減小艏搖角速度虛擬控制輸入的增益kri或采用時變增益來避免達到飽和值,但隊形誤差的收斂速度將變慢.而Nτ2和Nτ3在t∈(100,200)中有一段時間達到飽和值,主要由于虛擬領航船的艏搖角速度在該時段處于較大值.

圖7 采用干擾觀測器時跟隨船3和4的控制輸入Fig.7 Control inputs of the follower 3 and 4 using the disturbance observers
本文使用Leader-follower方法,研究了縱向、橫蕩和艏搖三個自由度運動的欠驅動船舶編隊控制問題.將控制器設計分成三步驟,每步驟可單獨設計,簡化了控制器設計.進一步,采用干擾觀測器估計外擾等未知動態和虛擬控制輸入的微分.由于欠驅動船舶未能獲得直接橫向推進力,本文對跟隨船的橫蕩速度并不加以直接控制,而是通過控制跟隨船的縱向速度和航向,使得跟隨船與虛擬領航船保持相應的距離.仿真結果表明,跟隨船在輸入飽和以及外擾存在的情況下船舶編隊隊形誤差小,速度值合理.