李詠華,張 立,劉嘉睿,黃 崢,胡梓凱,廖世旺
(1.廣州大學 機械與電氣工程學院,廣州 510006;2.廣州市城市建設職業(yè)學校,廣州 510006)
隨著智能制造業(yè)的快速發(fā)展,多機器人的應用需求逐漸提升。相比于單個移動小車,多移動小車系統(tǒng)具有很多顯著的優(yōu)點[1],較大的冗余性提高了容錯性和魯棒性,可變的編隊控制保證了靈活性。目前,多移動小車系統(tǒng)在倉儲物流[2]、工業(yè)制造[3]和應急救災[4]等領域得到了廣泛的應用。
在進行多智能體編隊控制時所應用的方法主要包括領航跟隨法[5-9]、行為法[10]、人工勢場法[11-12]和虛擬結構法[13]4種?;谛袨榈亩嘀悄荏w編隊控制方法具有良好的魯棒性和靈活性,但是難以用數學分析描述系統(tǒng)而無法實現(xiàn)精確的編隊。基于人工勢場的多智能體編隊控制方法原理簡單,適用于可自由運動的智能體編隊控制中,但對于非完整約束的情況難度較大。基于虛擬結構的多智能體編隊控制方法需要編隊隊形保持同一個剛性結構,因此靈活性和適應性較差。基于領航跟隨的多智能體編隊控制方法原理簡單,只需得到領航者期望軌跡和跟隨者相對位置即可,應用最廣泛。
在領航-跟隨型的編隊控制研究中,張方方等[14]使用基于位置信息的速度補償算法對經典的領航-跟隨法進行改進,并與人工勢場法相結合實現(xiàn)三輪差分實體機器人的編隊避障問題。王樂樂等[15]通過建立搜索樹擴展方向與隊形之間的聯(lián)系,調整編隊方向以實現(xiàn)多智能體編隊路徑規(guī)劃。伍錫如等[16]通過設計狀態(tài)觀測器,實現(xiàn)了多智能體系統(tǒng)的環(huán)形編隊控制和目標包圍。易國等[17]考慮了領航小車和跟隨小車之間的信息相互是局部的情況,為每個跟隨小車設計分布式估計算法估計領航小車的狀態(tài),再根據跟蹤誤差實現(xiàn)編隊控制,但并未考慮時延等影響,同時會存在網絡負載波動等影響。吳垠等[18]設計了不依賴移動小車模型的模糊控制方法,實現(xiàn)了多移動小車的編隊控制,但控制律過度依賴領航者模型,外部干擾對系統(tǒng)穩(wěn)定性的影響較大。
現(xiàn)有的編隊控制研究絕大部分針對編隊隊形不變的情況,但在現(xiàn)實情況中跟隨小車與領航小車的相對位置需要根據具體的任務而改變。針對多移動小車的編隊控制和隊形變換控制問題,采用領航-跟隨法。首先,通過坐標變換建立了輪式移動小車的運動學模型、編隊控制的運動學模型,每個跟隨小車的期望位姿由領航小車當前實際位姿和相對位置決定,基于移動小車的跟蹤誤差設計了一種趨近律滑模編隊控制器,最后通過Matlab/Simulink數值仿真驗證該控制器在多移動小車編隊控制中的有效性。
在圖論中,n個智能小車之間的通信拓撲結構可以用有向圖G=(V,E)表示,圖中節(jié)點0代表領航者。在拓撲結構中,將每個移動小車抽象成節(jié)點,則所有節(jié)點的集合記為V={v1,v2,…,vn}。圖1中的箭頭表示智能小車間的通訊方式,其中圓點表示發(fā)送端,箭頭表示接收端,用e=(i,j)表示有向邊,表示智能小車i可以將信息傳遞給智能小車j,反之則不行。用E?N×N表示拓撲結構中所有邊的集合。
圖1 節(jié)點間通訊方式示意圖
圖G的鄰接矩陣為A=[aij]N×N,其中
在本文中,定義每個移動小車只能訪問自身的狀態(tài)信息和領航小車的狀態(tài)信息,使用有向圖G=(V,E)描述領航小車和n-1個跟隨小車之間的通訊拓撲結構。通訊拓撲結構如圖2所示,其中{1}表示領航小車,{2,3,…,n}表示跟隨小車。鄰接矩陣A=[aij]N×N表示領航小車和跟隨小車間通訊關系的權重系數。
圖2 移動小車間通訊拓撲結構示意圖
在由n個輪式移動小車組成的領航-跟隨型編隊系統(tǒng)中,用i={1,2,…,n}表示第i個移動小車,其中第一個為領航小車。假設移動小車的速度較低,可以忽略車輪的橫向滑動和行駛過程中所受的橫向力。建立以地面為參考的全局坐標系XOY和以移動小車為參考的小車坐標系xoy,其中θi為小車移動方向和水平方向的夾角。移動小車的運動學模型如圖3所示。
圖3 移動小車的運動學模型示意圖
移動小車位姿模型如圖4所示,實際位姿坐標為(xi,yi,θi),向前移動時線速度和角速度分別為vi、ωi,小車運動學模型為
圖4 移動小車位姿模型
(1)
在XOY坐標下給定的領航小車期望軌跡位姿坐標為(xr,yr,θr),期望軌跡的線速度和角速度分別為vr和ωr。利用平面坐標變換,領航小車的位姿誤差方程為
(2)
對式(2)進行微分,結合式(1)整理可以得到領航小車位姿誤差微分方程
(3)
為了更好地描述移動小車的編隊控制,建立了如圖5所示的編隊控制運動學模型,其中R1為領航小車,Ri(i={2,3,…,n})為跟隨小車,Rvi為Ri在期望隊形中的映射小車,線速度和角速度分別為vvi和ωvi。在運動過程中,R1和Rvi之間的相對位置用Δi=[Δix,Δiy]∈R2描述。利用平面坐標變換,得到跟隨小車的期望位姿
圖5 移動小車編隊控制運動學模型示意圖
(4)
式中:(x1,y1,θ1)T為領航小車的位姿,(xvi,yvi,θvi)T為跟隨小車Ri(i={2,3,…,n})的期望位姿,則跟隨小車的位姿誤差方程為
(5)
對式(5)進行微分,得
將式(1)代入,可以得到跟隨小車位姿誤差微分方程
(6)
由n個輪式移動小車組成的領航-跟隨型編隊系統(tǒng)中,編隊控制的目的在于調整各個小車的位置使系統(tǒng)以特定的幾何圖形移動,即跟隨小車和領航小車的線速度和角速度保持一致(即vvi=v1,ωvi=ω1),并且相對位置和方向滿足期望的拓撲和物理約束:
(7)
(8)
(9)
為了實現(xiàn)多移動小車的編隊控制和隊形變換控制,提出了基于有限時間趨近律的編隊控制策略,其結構如圖6所示。對于領航小車,首先根據式(1)建立小車的運動學模型,將當前實際位姿與期望位姿根據式(2)分析得到位姿誤差并輸入到編隊控制器中,計算得到控制小車跟蹤期望軌跡的線速度和角速度。對于跟隨小車,同樣需要先建立小車的運動學模型,再根據領航小車當前實際位姿和相對位置Δi=[Δix,Δiy]∈R2計算得到跟隨小車的期望位姿,最后根據式(5)分析得到位姿誤差。
圖6 移動小車編隊控制結構框圖
滑模變結構控制具有響應速度快、物理實現(xiàn)簡單等特點[19-20],能更好地應用于移動小車的非線性控制。
引理[19]:對于任何x∈R且|x|→∞,有φ(x)=xsin(arctanx)≥0,當且僅當x=0時“=”成立。
引入反步法,并根據上述引理設計系統(tǒng)滑模切換函數。
(10)
(11)
根據以上分析設計滑模切換函數
(12)
為使系統(tǒng)由于切換時間、空間滯后等因素導致的無法消除的抖振得以削弱,而不影響滑模面趨近速度,采用有限時間趨近律[21]:
(13)
其中
式中:η>0,0<δ<1,ε>0,fal(s,η,δ)為非連續(xù)線性函數,δ為fal(s,η,δ)在原點附近正負對稱區(qū)間的長度。當|s|<1和|s|≥1時取不同的參數k,可使系統(tǒng)在初始階段趨近速度增大,而在趨近滑模面時降低速度并削弱系統(tǒng)的抖振。
(14)
整理上式可以得到控制律
(15)
為了驗證本文所提出的領航跟隨型編隊控制方法的有效性,分別對由5個移動小車組成的編隊進行編隊隊形控制和隊形變換數值仿真實驗,期望編隊隊形共有3種,如圖7所示。式(13)中有限時間趨近律滑??刂茀翟O置為k1=k2=3,δ1=δ2=0.2,η1=η2=0.5,ε1=ε2=0.01。
圖7 期望編隊隊形示意圖
圖7所示期望編隊隊形中,R1和Rvi之間的相對位置矩陣為
首先采用由4個跟隨小車和1個領航小車組成的多移動小車系統(tǒng)在Matlab/Simulink下進行編隊控制數值仿真。
移動小車的初始條件如表1所示。
表1 移動小車的初始條件
領航-跟隨型編隊控制任務分為3個階段:Ⅰ)0~9.4 s為第一個階段,期望編隊隊形為圖7的(1),領航者的期望軌跡為直線,期望線速度為vr=4.8 m/s,期望角速度為ωr=0 rad/s;Ⅱ)9.4~25.1 s為第二個階段,期望編隊隊形不變,領航者的期望軌跡為半徑為24 m的圓弧,期望線速度為vr=4.8 m/s,期望角速度為ωr=0.2 rad/s;Ⅲ)25.1~34.6 s為第三個階段,期望編隊隊形不變,領航者的期望軌跡為直線,期望線速度為vr=4.8 m/s,期望角速度為ωr=0 rad/s。仿真結果如圖8—11所示。
圖8表示5個移動小車系統(tǒng)在各個運動時刻的隊形,每個小車用不同顏色的圓圈表示,圓圈中的箭頭表示各移動小車的運動方向。多移動小車系統(tǒng)在0、9.4和25.1 s的運動軌跡開始變化,但在移動過程中保持編隊隊形不變,5個小車均可收斂至期望隊形并沿著期望軌跡運動。
圖8 移動小車編隊運動軌跡1
圖9—11分別表示跟隨小車與領航小車航向角、X軸方向和Y軸方向誤差,由于開始時小車處于靜止狀態(tài),并且每個小車位置和航向角與期望值均存在一定誤差,因此收斂至期望隊形用時較長,為2.61 s。
圖9 跟隨小車航向角誤差曲線1
圖10 跟隨小車與領航小車X軸方向距離誤差曲線1
圖11 跟隨小車與領航小車Y軸方向距離誤差曲線1
圖12 干擾下移動小車編隊運動軌跡1
圖13 干擾下跟隨小車航向角誤差曲線1
圖14 干擾下跟隨小車與領航小車X軸方向距離誤差曲線1
圖15 干擾下跟隨小車與領航小車Y軸方向距離誤差曲線1
由圖12—15可知,12.5~13.5 s加入擾動后各跟隨小車的位置和方向都受到了影響,航向角誤差最大值為1.064 rad,與領航小車X軸和Y軸方向距離誤差為1.496 0 m和0.604 3 m。擾動結束后,跟隨小車用時0.84 s便恢復了期望隊形,可見該多移動小車編隊控制方法在編隊控制時具有較好的抗干擾性能。
同樣采用由4個跟隨小車和1個領航小車組成的多移動小車系統(tǒng)在Matlab/Simulink下進行編隊控制和隊形變換控制數值仿真。
移動小車的初始條件如表2所示。
表2 移動小車初始條件
領航-跟隨型編隊任務分為3個階段:
Ⅰ)0~15.7 s為第一階段,期望編隊隊形為圖7的(1),領航者的期望軌跡為半徑24 m的圓?。?/p>
期望線速度為vr=4.8 m/s,角速度為ωr=0.2 rad/s;
Ⅱ)15.7~30 s為第二個階段,期望編隊隊形為圖7的(2),領航者的期望軌跡為半徑32 m的圓?。?/p>
期望線速度和角速度分別為vr=4.8 m/s和ωr=0.15 rad/s;
Ⅲ)30~50 s為第三個階段,期望編隊隊形為圖7的(3),領航者的期望軌跡不變。
仿真結果如圖16—19所示。
圖16為5個移動小車系統(tǒng)在各個運動時刻的隊形,每個小車用不同顏色的圓圈表示,圓圈中的箭頭表示各移動小車的運動方向。在0、15.7和30 s開始隊形變換,5個小車在3個階段均可收斂到期望隊形并沿著期望軌跡運動。
圖16 移動小車編隊運動軌跡2
圖17—19表示跟隨小車與領航小車航向角、X軸方向和Y軸方向誤差,由于開始時小車處于靜止狀態(tài),并且每個小車位置和航向角與期望值偏差較大,第一階段收斂至期望隊形ΔⅠ用時較長,為2.00 s。第二階段編隊隊形調整為ΔⅡ,編隊隊形仍為正方形,只是跟隨小車和領航小車在X軸和Y軸方向的距離增大,因此調整用時較短,為1.79 s。第三階段編隊隊形調整為ΔⅢ,編隊隊形由正方形變換為菱形,由于隊形變化較大,在隊形調整過程中跟隨小車1和4與領航小車航向角誤差偏大,調整時間變長,為1.82 s。
圖17 跟隨小車航向角誤差曲線2
圖18 跟隨小車與領航小車X軸方向距離誤差曲線2
圖19 跟隨小車與領航小車Y軸方向距離誤差曲線2
由圖20—23可知,20~21 s加入擾動后各跟隨小車的位置和方向同樣都受到了影響,航向角誤差最大值為0.325 9 rad,與領航小車X軸和Y軸方向距離誤差分別為1.452 5 m和0.582 9 m。擾動結束后,跟隨小車用時1.59 s便恢復了期望隊形,可見該多移動小車編隊控制方法在隊形變換控制時同樣具有較好的抗干擾性能。
圖20 干擾下移動小車編隊運動軌跡2
由圖8—23的實驗結果可知,本文設計的編隊控制策略能夠有效應用于多移動小車的編隊控制和隊形變化控制中。
圖21 干擾下跟隨小車航向角誤差曲線2
圖22 干擾下跟隨小車與領航小車X軸方向距離誤差曲線2
圖23 干擾下跟隨小車與領航小車Y軸方向距離誤差曲線2
所提出的控制策略能快速實現(xiàn)隊形變化,但變化過程角速度較大,導致航向角誤差偏大,后續(xù)可通過改進算法,增加時間、能耗等指標,提高適應性。