侯 銳,卜旭輝
河南理工大學(xué) 電氣工程與自動化學(xué)院,河南 焦作 454000
由于單個機器人在各方面能力的限制,很難獨自完成某些工作任務(wù),所以近年來多機器人系統(tǒng)協(xié)同工作成為行業(yè)研究的熱點。多移動機器人協(xié)同編隊在無人技術(shù)領(lǐng)域有著重要作用,例如聯(lián)合作業(yè)、群體偵察、協(xié)作運輸?shù)阮I(lǐng)域,使得多移動機器人編隊控制問題成為重要的研究方向。多移動機器人協(xié)同編隊要求各個不同位置的移動機器人在執(zhí)行任務(wù)時能夠自主協(xié)作形成一個期望的編隊隊形,同時保持期望編隊隊形沿著指定的航跡工作。根據(jù)實際工作的需要,多移動機器人的編隊隊形可以是三角形、正方形,也可以是直線型等形狀[1]。
從目前已有的文獻來看,多移動機器人編隊的控制方法主要有:虛擬結(jié)構(gòu)法(Virtual-structure)、基于行為的方法(Behavior-based)、領(lǐng)航-跟隨型方法(Leader-Follower)等[2]。虛擬結(jié)構(gòu)法將整個編隊視為一個單獨的虛擬結(jié)構(gòu),同時控制整個虛擬結(jié)構(gòu)進行期望運動,雖然能夠很容易實現(xiàn)編隊并且描繪出虛擬結(jié)構(gòu)中各個移動機器人的軌跡,但是會導(dǎo)致系統(tǒng)的靈活性和適應(yīng)性不足;基于行為的方法通過多移動機器人的行為描述實現(xiàn)編隊和軌跡跟蹤,但是難以用數(shù)學(xué)方法進行分析,因此很難獲得精確的編隊效果。而領(lǐng)導(dǎo)-跟隨型編隊控制效果準(zhǔn)確穩(wěn)定且分析簡單,非常適用于小型多移動機器人編隊控制。在領(lǐng)航-跟隨型編隊控制方法中,一般選擇一個或多個領(lǐng)航者(Leader),其余均為跟隨者(Follower)。編隊過程中,領(lǐng)航者負責(zé)按照預(yù)先規(guī)劃好的航跡進行工作,而其他跟隨者利用領(lǐng)航者當(dāng)前的信息調(diào)整自己的狀態(tài),通過跟隨者的局部控制就能夠?qū)崿F(xiàn)與領(lǐng)航者保持一定距離和角度。文獻[3]通過控制領(lǐng)航者與跟隨者的相對距離和相對角度實現(xiàn)多移動機器人的編隊。文獻[4]將編隊問題轉(zhuǎn)化為軌跡跟蹤問題,利用軌跡跟蹤的控制方法實現(xiàn)自主形成編隊隊形,同時確保編隊系統(tǒng)的穩(wěn)定性。文獻[5]將Backstepping-based方法應(yīng)用于多移動機器人的編隊,為各個移動機器人設(shè)計了控制律。文獻[6]將滑模變結(jié)構(gòu)控制用于多移動機器人的編隊。文獻[7]采用模糊控制建立模糊集合對移動機器人進行編隊控制。
綜上所述,對于多移動機器人領(lǐng)航-跟隨型編隊控制,大多采用滑??刂啤⒒贐ackstepping-based方法以及基于Lyapunov 的方法來設(shè)計控制器,雖然有大量的研究解決編隊控制中編隊形成和編隊隊形保持問題,但是上述方法均是在時間域上實現(xiàn)的漸進跟蹤控制,控制精度較低,很難實現(xiàn)精確的編隊效果。迭代學(xué)習(xí)控制(Iterative Learning Control,ILC)作為一種具有“學(xué)習(xí)”性質(zhì)的算法,通過對被控系統(tǒng)進行控制嘗試,能夠通過多次學(xué)習(xí),利用過去學(xué)習(xí)獲得的信息,以輸出信號與給定目標(biāo)修正不理想的控制信號,提高系統(tǒng)的跟蹤性能,高精度地跟蹤期望目標(biāo)[8]。迭代學(xué)習(xí)控制[9-13]已經(jīng)成功應(yīng)用于具有較強非線性耦合、難以建模以及高精度跟蹤控制要求的系統(tǒng)上[14-16]。但傳統(tǒng)的迭代學(xué)習(xí)控制在研究中,要求每次迭代的初始位置需要和期望軌跡的初始位置相同[17],即在初始時刻已經(jīng)形成期望編隊,這就限制了迭代學(xué)習(xí)控制在多機器人編隊控制方面的應(yīng)用。
基于此,本文設(shè)計了一種在任意初始位置條件下基于領(lǐng)航-跟隨型的移動機器人迭代學(xué)習(xí)編隊控制算法,運用控制算法自主調(diào)節(jié)跟隨機器人的實時位姿,確保完成從任意初始位置到目標(biāo)位置的多移動機器人編隊運動。相較于以上算法,本文設(shè)計的控制算法能夠?qū)崿F(xiàn):
(1)領(lǐng)航者和跟隨者經(jīng)過多次迭代學(xué)習(xí),能夠在期望航跡上進行工作。
(2)初始時刻在任意位置的跟隨者經(jīng)過多次迭代學(xué)習(xí),能夠和領(lǐng)航者一起形成期望的編隊隊形。不需要考慮編隊初始時刻各個機器人之間的位置關(guān)系是否與期望隊形相同。
考慮一組由多個移動機器人組成的隊列,首先建立每個移動機器人的運動學(xué)模型[18],如圖1所示,[x(t)y(t)θ(t)]為t時刻移動機器人的位姿向量,分別是移動機器人在二維坐標(biāo)系中橫坐標(biāo)、縱坐標(biāo)以及前進方向與橫軸夾角。[v(t),w(t)] 表示移動機器人的角速度和線速度,即控制輸入向量。
圖1 移動機器人運動學(xué)模型
移動機器人的運動學(xué)模型可表示為:
定義:
則運動學(xué)模型(1)可以表示為:
式中:
假設(shè)移動機器人的狀態(tài)都是可測的。
本文采用領(lǐng)航-跟隨型編隊控制,選定一個移動機器人i(i=1)作為整個系統(tǒng)的領(lǐng)航者,而其余機器人全部作為跟隨者j(j=1,2,…),建立領(lǐng)航-跟隨型編隊的運動學(xué)模型,如圖2 所示,給出了多移動機器人三角形編隊示意圖。領(lǐng)航者保持期望航跡航行,跟隨者跟蹤編隊軌跡,并利用領(lǐng)航者的信息調(diào)整自身的位姿狀態(tài)。
利用視距法,計算出跟隨者的期望位置:
圖2 領(lǐng)航-跟隨型編隊示意圖
其中:
跟隨者與編隊期望位置之間的系統(tǒng)誤差表示為:
式中ej(t)=[xe(t)ye(t)θe(t)]T,t∈[0,T]。
本文目的是設(shè)計合適的控制器,實現(xiàn)多移動機器人的編隊問題,即為0或者一個極小值)。
針對上述領(lǐng)航-跟隨型編隊控制中提出的問題,本章提出一種同時包含編隊初始位置的學(xué)習(xí)控制律和編隊形成的學(xué)習(xí)控制律。在學(xué)習(xí)過程中,假定一段時間范圍[0,T]內(nèi),當(dāng)前的迭代進行到k次,則跟隨者j的運動學(xué)模型可由式(2)重新表示為:
式中:
系統(tǒng)誤差可由式(5)重新表示為:
根據(jù)移動機器人的運動學(xué)模型和實際編隊特點,可以給出如下假設(shè):
假設(shè)1矩陣B(ηj(k,t))對于ηj(k,t)滿足全局Lipschitz條件,即存在常數(shù)bA,使得下式成立:
假設(shè)2矩陣B(ηj(k,t))有界,即其中bB為正常數(shù)。
假設(shè)3給定的期望位姿,存在控制輸入滿足,且期望控制輸入滿足為正常數(shù)。
注1由于矩陣函數(shù)B(ηj(k,t))中僅包含函數(shù)cosθj(k,t)、sinθj(k,t),因此,假設(shè)1的Lipschitz條件和假設(shè)2的有界性都是滿足的。假設(shè)3 是多次迭代后系統(tǒng)實現(xiàn)學(xué)習(xí)跟蹤的必須條件。
利用位姿誤差對跟隨者j分別設(shè)計如下速度分量學(xué)習(xí)控制器以及初始位置分量的學(xué)習(xí)控制器:
式中,t∈[0,T],k為迭代次數(shù),L為學(xué)習(xí)增益矩陣??刂破鳎?)能夠?qū)崿F(xiàn)多次迭代學(xué)習(xí)后領(lǐng)航者和跟隨者在期望航跡上進行工作??刂破鳎?)能夠?qū)崿F(xiàn)通過每次迭代調(diào)整跟隨者j的初始位置。
定義定義下列范數(shù):
其中e(i)(t)是e(t)∈Rm中的第i個元素,g(i,j)是G∈Rm×m中的第i,j元素,可給出如下定理。
定理對于滿足假設(shè)1~3的系統(tǒng)式(6),采用式(8)、(9)的控制算法時,當(dāng)學(xué)習(xí)增益矩陣對所有的k、t均滿足:
則系統(tǒng)的輸出收斂于期望輸出,即當(dāng)k→∞時,有η(k,t)→ηd(k,t),t∈[0,T]。
證明由式(6)~(9)得:
由假設(shè)2、假設(shè)3可得:
式(13)兩邊同時乘以 e-λt,并取范數(shù),考慮假設(shè)1 中的Lipschitz條件得:
應(yīng)用Bellman-Gromwall引理可得:
本章中,采用MATLAB 軟件進行仿真,選取3 個移動機器人進行編隊控制的仿真研究,分別作為領(lǐng)航者、跟隨者1、跟隨者2。采用本文設(shè)計的編隊算法(8)、(9)進行編隊,記錄跟隨者在不同初始位置情況下經(jīng)過多次迭代后形成的編隊軌跡,若最終領(lǐng)航者和跟隨者能夠?qū)崿F(xiàn)在預(yù)定航跡上以期望隊形工作,則證明本文設(shè)計的編隊控制算法有效。
即在二維平面內(nèi)領(lǐng)航者期望軌跡的初始位置(20,0)。
設(shè)跟隨者1、跟隨者2 在二維平面內(nèi)的初始位置分別為(15,2),(23,-2),即初始狀態(tài):
采用三角形編隊,設(shè)期望編隊隊形相對位置的期望向量分別為:
初始輸入速度信息分別為:
仿真過程中的采樣時間取0.001 s。仿真中跟隨者1和跟隨者2控制器的學(xué)習(xí)增益矩陣分別為:
仿真結(jié)果如下,圖3(a)~(c)分別給出了領(lǐng)航者與跟隨者的期望編隊效果、迭代20次和迭代150次的編隊效果,其中x、y坐標(biāo)均表示二維平面上的距離??梢钥闯?,隨著迭代次數(shù)的增加,領(lǐng)航者和跟隨者能夠?qū)崿F(xiàn)較為理想的編隊效果。圖4(a)、(b)反映跟隨者1 和跟隨者2的位姿誤差隨迭代次數(shù)的變化情況,可以看出經(jīng)過一定次數(shù)的迭代優(yōu)化,各個跟隨者的位姿跟蹤誤差逐漸收斂到0。
圖3 編隊效果
為了突出本文控制器不需要考慮機器人編隊初始位置的優(yōu)點,圖5 給出了跟隨者1 和跟隨者2 初始位置在二維平面的變化。圖6(a)、(b)分別為跟隨者的初始位置在迭代軸上的變化。以上說明基于領(lǐng)航-跟隨型的迭代學(xué)習(xí)編隊算法,可以精確地實現(xiàn)編隊效果。
圖4 各個跟隨者輸出的最大位姿誤差對迭代次數(shù)的變化
圖5 跟隨者初始位置在二維平面的迭代變化軌跡
圖6 跟隨者初始位置誤差在迭代軸上的變化
在實際應(yīng)用中,很難要求移動機器人在編隊的初始時刻就位于期望位置,而且每次對移動機器人重復(fù)定位操作往往會造成迭代初始位置相對期望位置的偏移。從圖5和圖6可以看出采用本文設(shè)計的控制器能夠很好地規(guī)避這一編隊難點。
為了驗證跟隨者任意初始位置對編隊效果的影響,改變跟隨者1、跟隨者2的初始位置,假設(shè)初始狀態(tài)分別為:
初始輸入不變:
即在二維平面內(nèi)的跟隨者1和跟隨者2的初始位置分別為(24.3,-3.3)和(13,7),與原先的初始位置完全不同,仍然選擇三角形編隊,期望編隊隊形相對位置的期望向量分別為,領(lǐng)航者與跟隨者按照相同的航跡進行編隊,仿真過程中的采樣時間仍取0.001 s,采用與上述仿真相同的控制算法(8)、(9)。
仿真結(jié)果如圖7,圖(a)、(b)分別給出了在新的初始位置條件下編隊的期望軌跡和迭代150次的編隊效果,可以看出,改變跟隨者的初始位置后,依然能夠利用本文設(shè)計的控制算法進行編隊。
圖7 跟隨者不同初始位置時的編隊效果
由以上仿真結(jié)果可以看出,利用本文設(shè)計的基于領(lǐng)航-跟隨型迭代學(xué)習(xí)編隊算法,能夠有效地實現(xiàn)在任意初始位置條件下多移動機器人的編隊運動。
針對多移動機器人編隊運動中,以往的編隊方法都是在時間域上的漸進跟蹤控制,本文采用迭代學(xué)習(xí)控制算法來設(shè)計編隊控制器,同時,為解決傳統(tǒng)的迭代學(xué)習(xí)要求各個移動機器人的初始位置與期望軌跡初始位置相同這一要求,在算法中加入了對初始位置的學(xué)習(xí),設(shè)計了一種在任意初始位置條件下基于領(lǐng)航-跟隨型的移動機器人迭代學(xué)習(xí)編隊控制算法,大大提高了迭代學(xué)習(xí)在編隊控制應(yīng)用中的實用性和普遍性。理論方面基于壓縮映射方法給出了該算法的收斂性證明。并通過仿真驗證了所提算法的有效性。在系統(tǒng)仿真實驗中,發(fā)現(xiàn)編隊迭代次數(shù)過多,但本文主要目的是通過將迭代學(xué)習(xí)控制應(yīng)用在多移動機器人協(xié)同編隊控制中,并驗證算法的有效性,還未考慮迭代學(xué)習(xí)收斂速度的問題,迭代過程時間長短對實際工程的影響很大,這也是后續(xù)需要進一步研究的問題之一。