摘要:簡單介紹了NuBot機器人的兩個主要組成部分:全向視覺和全向運動系統,并給出了運動學分析。基于該機器人平臺,提出了D-A和D-D控制兩種跟蹤算法。通過機器人之間的相對定位和局部通信,實現了多機器人編隊的分布式控制,同時,該算法可對機器人朝向進行獨立控制。針對不同情況下的編隊避障問題,提出了編隊變形和編隊變換兩種方法。仿真和實際機器人實驗表明,D-A控制方法能夠實現平滑的編隊變換;編隊變形方法能夠在盡量保持原始隊形的情況下保證編隊順利避障。
關鍵詞:多機器人;編隊控制;全向視覺;全向運動
中圖分類號: TP24 文獻標識碼: B
Abstract:This paper proposes two leader-following algorithms named D-A and D-D controllers based upon our NuBot ro-bot team whose two main parts(omni.vision and omnidirectional motion system)together with its kinematics model are briefly described.Based on relative positioning and local communication,the proposed algorithms can implement distributed formation control of multiple robots,and can control the orientation of robots separately.Then two methods of formation distortion and form ation switching are proposed for the obstacle avoidance problem of robot form ation.Real robot experiments together with simulation results show that the D-A controller can switch the robot form ation smoothly and the form ation distortion method can avoid obstacles on the basis of changing the original form ation as little as possible.
Keywords:multi-robot;form ation control;omni-vision;omnidirectional robot
1 引言(Introduction)
多機器人編隊控制,指的是多個機器人組成的團隊在向特定目標或者方向運動的過程中,相互之間保持特定的幾何形態(即隊形),同時又要適應環境約束(如避開障礙物)的控制技術。
多機器人編隊控制是多機器人系統研究領域一類常見的協作問題,采用多個機器人組成編隊具有較多優點[sup][1][/sup],例如在軍事偵察、搜尋、排雷等應用中能夠獲取更多的環境信息,在飛行器、衛星編隊飛行等應用中能夠完成更多、更復雜的任務。近年來,隨著網絡技術、通信技術以及信息技術的發展,使得多機器人編隊控制研究有了長足的進展,特別是在軍事和空間探測等領域的實用性研究日益成熟,使得該技術的研究具有一定的戰略意義。
從多機器人系統控制框架的角度來看,多機器人編隊控制主要可以分為:集中控制式[sup][2] [/sup]、分布式[sup][3-6][/sup]和監控式[sup][7][/sup]三種方式.從具體技術實現上來分,主要有Leader-Follower方法、基于行為的控制法[sup][8][/sup]和虛擬結構(virtual structure)法。
文[2]采用虛擬結構的方法實現了多個機器人的精確編隊控制。但是,這種方法需要知道各個機器人的絕對位置,通過集中控制的方式來實現。文[3—6]都是采用分布式的控制方式實現編隊控制,其中文[3]針對一類非完整約束機器人,采用反饋線性化的方法實現了機器人的編隊跟蹤控制;文[4]從隊形向量的角度出發研究了多機器人編隊包圍捕獲“入侵者”的合作問題;文[5]采用跟蹤特定機器人的方法實現編隊,該方法沒有采用全局傳感器,并且保證了較小的通信量,但是由于回避了機器人本身的運動控制問題,因此實驗中機器人運動并不平滑,而且速度非常緩慢。文[6]研究了分布式框架下多機器人編隊的信息流控制,對于編隊圖的變化具有很好的魯棒性。
本文基于國防科大機器人實驗室自主開發的NuBot全向視覺一全向移動機器人平臺,改進了文[3]的兩類跟蹤算法,實現了多個機器人的編隊控制。本文方法的特點是:
1)完全分布式控制;
2)無需全局定位;
3)機器人采用局部通信;
4)機器人朝向可單獨控制;
5)編隊變形或者變換實現避障。
2 全向視覺—全向移動機器人(Omni-vision and omnidirectional robot)
2.1 NuBot機器人
如圖1所示,NuBot機器人采用一套全向視覺系統作為傳感器,來獲取周圍機器人以及障礙物的相對位置信息,并可在特定環境中定位定向。在運動方式方面,該機器人按照一定的角度安裝4個自主研制的NuBot全向輪,組成全向運動機構,使得機器人可以實現平面內的任意方向運動及旋轉運動。
1)全向視覺系統全向視覺系統由全向反射鏡面和攝像機組成,如圖1(a)所示。其中凸鏡面即為全向反射鏡面,起著反射光線的作用,而攝像機則通過鏡頭折射采集全向反射鏡面反射的光線,獲取周圍環境的全景圖像。同時,每個機器人都安裝了一個特定顏色的色標,機器人通過分析所獲取的全景圖像中的色標來辨別各個機器人,并且計算出它們與自己的相對坐標。
2)全向運動機構
按照圖1(b)所示的方式安裝4個NuBot全向輪,相鄰輪子之間互相垂直,組成機器人的全向運動機構。需要注意的是,由于3點就能確定一個平面,因此保證4個輪子在運動過程中同時著地,對機器人的運動性能具有較大的影響。本文將4個全向輪系分成兩組固定在兩塊底板上,兩塊底板通過鉸接的方式連接,有效地解決了機器人的四點著地問題。
2.2 運動學分析
機器人工作空間為一個平面,建立固連在這個平面的絕對坐標系X[sub]w[/sub]- Y[sub]w[/sub],以及固連于車體并且原點與機器人中心重合的局部坐標系X[sub]m[/sub]- Y[sub]m[/sub],如圖2所示。其中,θ為X[sub]m[/sub]與X[sub]w[/sub] 的夾角,[font=宋體]
δ[/font]為輪子與Y[sub]m[/sub] 的夾角。
機器人運動學方程如下:
3 編隊控制算法(Formation-control algorithm)
3.1 跟蹤控制
控制一臺機器人保持一定的距離、角度跟蹤另一個或者幾個機器人是Leader—Follower多機器人編隊控制方法的基礎。本文研究兩種跟蹤算法:距離—角度(D-A)控制和距離—距離(D-D)控制。
(1)距離—角度(D-A)跟蹤控制
如圖3所示,假設機器人R[sub]i[/sub]為Leader,機器人R[sub]j[/sub]為Follower,R[sub]j[/sub]需要以一定的距離和角度

和

跟蹤機器人R[sub]i[/sub]。
圖中,X[sub]mi[/sub]和X[sub]mj[/sub]別為兩個機器人的正方向,

和

, 分別為兩機器人的期望速度方向,

為

的實際速度,

和

分別為R[sub]i[/sub]觀察到的其正方向、期望速度方向和實際速度方向到R[sub]j[/sub]所在方向的夾角,

為R[sub]j[/sub]觀察到其正方向到R[sub]i[/sub]所在方向的夾角。
注1:在編隊變換的過程中,R[sub]i[/sub]速度

的方向可能發生較大改變,如果以

方向作為R[sub]j[/sub]的參考方向,R[sub]j[/sub]及其后續機器人編隊很可能發生較大振蕩,導致編隊控制失敗。因此,本文采用期望速度

作為參考方向,這個速度能夠反映整個編隊的運行方向。
系統狀態方程

設

則式(1)可寫為:
控制律
采用輸入輸出線性化方法,得到:

其中,P是輔助控制輸入:

選擇適當的控制增益k,k >0,相應的閉環線性系統為:

得到R[sub]j[/sub]的控制律為:

注2:從上述過程可以看出,R[sub]j[/sub]的編隊跟蹤控制只涉及到

和

,而與其角速度無關,這說明R[sub]j[/sub]的朝向角度可以單獨控制。算法的這一特點能夠保證機器人在編隊運行、編隊變換的過程中,平臺的朝向可根據需要隨意調整。
實施方法
由于機器人R[sub]i[/sub]與R[sub]j[/sub]能夠互相觀察到對方的相對位置,同時各個機器人知道自身的運動方向及朝向,因此它們可以通過一定的通信規則來獲取跟蹤控制中所需要的輸入參數。
①機器人R[sub]i[/sub]向機器人R[sub]j[/sub],發送下列數據:

②機器人R[sub]j[/sub],計算:

③ 機器人R[sub]j[/sub]采用新的參數


進行D-A控制。
注3:機器人R[sub]j[/sub]對R[sub]i[/sub]跟蹤,只需要R[sub]i[/sub]向其發送速度和角度信息,R[sub]j[/sub]根據這些信息以及自身的觀察數據得到進行D-A跟蹤控制所需的所有數據。可以看出,該方法不需要全局定位,而且只需要在局部進行較少的通信。
(2)距離—距離(D-D)跟蹤控制如圖4所示,假設機器人

以一定的距離

和

跟蹤機器人R[sub]i[/sub]和R[sub]j[/sub] 。

和

分別為3個機器人的正方向,

和

,分別為R[sub]i[/sub]和R[sub]j[/sub]的實際速度,

和

分別為R[sub]i[/sub]和R[sub]j[/sub]到

的距離。
系統狀態方程

則式(3)可寫為:
控制律
采用輸入輸出線性化方法,得到:

其中,p是輔助控制輸入:

選擇適當的控制增益k[sub]1[/sub],k[sub]2[/sub]>0,相應的閉環線性系統為:

得到

的控制律為:

注4:與D-A跟蹤控制方法不同,這里的

和

分別為機器人R[sub]i[/sub]和R[sub]j[/sub]的當前速度方向與機器人

所在方向的夾角。
實施方法
與D-A跟蹤控制方法相比,由于不涉及到與Leader機器人特定方向保持一定角度,因此本方法的實施較為簡單。
R[sub]i[/sub]和R[sub]j[/sub]向

發送數據

,

結合自身觀察所得的

,進行D-D控制。
3.2 編隊描述
機器人編隊隊形通常被分為幾種典型類型:行、列、三角形、菱形等,如圖5所示.機器人編隊的描述是編隊控制的基礎,一般采用圖結構來表示編隊,而采用矩陣來進行描述.圖中的節點表示機器人,節點間的連線表示機器人之間的關系。
定義1(機器人編號):用于區分機器人唯一性的編號,用R[sub]i[/sub]表示。
定義2(隊形編號J:用于標識不同編隊隊形的編號,用F[sub]i[/sub]表示。
定義3(位置編號):用于區分編隊隊形中不同位
置的編號,用P[sub]i[/sub]表示。
機器人R[sub]i[/sub]在確定當前的編隊隊形F[sub]i[/sub]后,根據自身及周圍機器人的情況,得到在當前編隊F[sub]i[/sub]中的位置P[sub]i[/sub],由此確定其Leader及相應的期望距離與角度參數,進行D-A或者D-D跟蹤控制。
3.3 編隊避障
遇到障礙物時,可能需要進行隊形的調整,以保證編隊順利通過。這種調整可以分為兩種情況:編隊變形和編隊變換。
(1)編隊變形避障
當障礙物對于整個編隊影響不大時,只需要將編隊進行某種變形(如向某個方向壓縮),而不需要完全改變編隊隊形,就能夠保證編隊順利通過障礙區域。
定義4(安全距離):能夠保證在編隊運動中機器人與機器人或者機器人與障礙物之間不發生碰撞的最小距離,用D 表示。
編隊變形的原則:
①機器人R[sub]j[/sub]在跟蹤R[sub]i[/sub]時,當R[sub]j[/sub]與障礙物最近點O的距離小于安全距離D 時,R[sub]j[/sub]采用D-D控制算法跟蹤R[sub]i[/sub]以及O,跟蹤參數分別為到R[sub]i[/sub]的期望距離以及D 。
②機器人R[sub]j[/sub]在跟蹤R[sub]i[/sub]時,若某機器人

由于避障引起其到R[sub]j[/sub]的距離小于安全距離D,則R[sub]i[/sub]將采用D—D控制算法跟蹤R[sub]i[/sub]和

,跟蹤參數分別為R[sub]i[/sub]到的期望距離以及D 。
(2)編隊變換避障
當障礙物對于整個編隊影響較大,采用編隊變形的方法無法順利通過該障礙區域時(例如行編隊通過兩側均有障礙物的狹長區域),需要通過改變編隊隊形的方法來實現避障。
若編隊中機器人(通常是編隊領隊)發現需要進行編隊變換才能通過障礙區域,則機器人通過指令或者協商的方式確定是否改變編隊以及改變為何種新的編隊隊形。
由于機器人協商確定編隊的過程并非本文研究的重點,本文采用領隊機器人直接發出指令的方法來實現編隊變換以及新隊形的確定。
4 實驗及結果分析(Experiments and result analysis)
采用仿真和實際機器人編隊實驗結合的方式驗證本文提出的編隊控制方法.本文只給出了部分實驗場景。
4.1 D-A編隊控制
首先3個機器人保持行編隊向前運動,其中R[sub]1[/sub]是整個編隊的Leader,R[sub]2[/sub]按照距離80cm、角度1.5π跟蹤,R[sub]3[/sub]則按照距離80cm,角度1.5π跟蹤R[sub]2[/sub]。一段時間以后,編隊開始改變為列編隊形式,此時R[sub]1[/sub]仍然保持原速度不變,R[sub]2[/sub]改變為按照距離80cm,角度π跟蹤R[sub]1[/sub],R[sub]3[/sub]相應按照距離80cm,角度π跟蹤R[sub]2[/sub]。本實驗中的編隊控制均采用本文提出的D-A控制算法。
圖6所示為本實驗過程中的3個場景,其中(A)為保持行編隊運行,(C)為改變為列編隊運行,(B)為編隊變換過程中的某個時刻.從圖(B)中可以看出,采用本文的D-A控制算法,即使在編隊變換的過程中,R[sub]3[/sub]也能很好地對R[sub]2[/sub]進行跟蹤,3個機器人仍然保持一條直線,整個過程的完成非常平滑。需要注意的是,如果直接采用文[3]的控制方法,如圖6(B)所示,在編隊變換的過程中,R[sub]3[/sub]將會首先運動到R[sub]2[/sub]當前運動方向后面的P點,直到R[sub]2[/sub]完成編隊變換后, R[sub]3[/sub]才改變目標點,實現編隊變換。這樣,不但延長了編隊變換時間,還會造成編隊隊形的振蕩。
4.2 編隊變形避障
本實驗用于驗證多機器人編隊采用編隊變形的方法通過障礙區域.采用6個機器人組成三角形編隊,通過編隊運行方向一側具有障礙物的區域。由于實驗室機器人平臺數目有限,因此采用仿真實驗進行驗證。
圖7所示為仿真過程中的幾個關鍵場景。其中障礙物在左側,6個機器人組成三角形編隊向前移動,機器人之間的箭頭代表編隊中各個機器人的跟蹤控制關系。若機器人只有一個向外的箭頭,則該機器人采用D-A控制算法;若有兩個向外的箭頭,則采用D-D控制算法。
(1)圖7(A)為無障礙物時機器人組成標準的三角形編隊運動,機器人均采用D-A控制。
(2)當R[sub]2[/sub]與障礙物最近距離小于安全距離(50cm)時,其控制算法變為跟蹤R[sub]1[/sub]和該最近障礙點O的D-D控制,期望距離分別為80cm和50cm,如圖7(B)所示.
(3)當R[sub]4[/sub] 到O[sub]2[/sub]的距離小于50cm時,改變為跟蹤R[sub]3[/sub]和點O[sub]2[/sub]的D-D控制,期望距離分別為80cm和50cm。同時,由于風到R 的距離小于50cm,當R[sub]5[/sub]也相應改變為跟蹤當R[sub]4[/sub]和R當R[sub]3[/sub]的D-D控制,期望距離也分別為80mm和50em,如圖7(C)所示。
(4)當機器人到障礙最近距離大于安全距離時,恢復D-A控制,如圖7(D)、(E)、(F)所示。
4.3 編隊變換避障
本實驗驗證多機器人編隊采用隊形變換的方法通過障礙物區域。如圖8所示,實驗采用3臺NuBot機器人組成一個行編隊,通過一個兩側均有障礙物的狹長區域。由于該區域較窄,因此編隊需要自主調整為列編隊,通過該障礙區域后,編隊自行恢復初始行編隊繼續向前運動。

(1)初始時3個機器人組成行編隊運動,R[sub]1[/sub]為R[sub]2[/sub]和R[sub]3[/sub] 的Leader,R[sub]2[/sub]和R[sub]3[/sub]均采用D-A控制,如圖8(A)所示。
(2)當編隊與障礙區域接近時,R[sub]1[/sub]向R[sub]2[/sub]和R[sub]3[/sub]發出編隊變換指令,變為三角形編隊。R[sub]2[/sub]和R[sub]3[/sub]仍然采用D-A控制跟蹤R[sub]1[/sub],如圖8(B)所示。
(3)完成三角形編隊后,編隊再次變換,成為列編隊,此時R[sub]2[/sub]跟蹤R[sub]1[/sub],R[sub]3[/sub] 跟蹤R[sub]2[/sub],仍然采用D-A控制,如圖8(C)、(D)所示。
(4)進入障礙區域后,機器人檢測與障礙物的最近距離,若該距離小于安全距離(50cm),則改變控制算法為跟蹤前面機器人以及該最近障礙點的D-D控制,跟蹤距離分別為80cm和50cm;否則,仍采用D-A控制。如圖8(E)、(F)所示。
(5)通過障礙區域后,依次恢復為三角形和行編隊,此時R[sub]3[/sub] 和R[sub]2[/sub] 也相應恢復為采用D-A控制跟蹤R[sub]1[/sub] ,如圖8(G)、(H)、(I)所示。
5 結論及進一步的工作(Conclusion and future work)
本文簡單介紹了NuBot機器人的兩個主要組成部分:全向視覺和全向運動系統,并給出了該機器人的運動學模型。基于該機器人平臺,提出了D-A和D-D兩種跟蹤控制算法,實現了多個機器人的編隊控制。本文還提出并實現了兩種編隊避障方法:編隊變形和編隊變換。
本文編隊控制方法具有以下特點:(1)完全分布式控制;(2)無需全局定位;(3)機器人采用局部通信方式;(4)機器人朝向可單獨控制;(5)編隊可以有效實現避障。
仿真和實際機器人實驗驗證了本文編隊控制方法的有效性。其中D-A控制方法能夠保證編隊的平滑變換,避免產生較大波動,同時具有較高的效率。編隊變形方法能夠在盡量保持原始隊形的情況下實現順利避障。
對于編隊隊形的協商確定以及更復雜障礙物情況下的編隊避障處理,本文尚未做深入研究,這將是進一步工作需要解決的問題。
參考文獻 (References)
[1] 任德華,盧桂章.對隊形控制的思考[J].控制與決策,2005,20(6):601—606.
[2] Lewis M A,Tan K H.High precision formation contml of mobile robots using virtual structures[J].Autonomous Robots,1997,4(4):387—403.
[3] Das A K,FietTo R,Kumar V,et a1.A vision-based formation control framework[J].IEEE Transactions oil Robotics and Automation,2002,18(5):813—825.
[4] 韓學東,洪炳熔,盂偉.多機器人任意隊形分布式控制研究[J].機器人.2003,25(1):66—72.
[5] Fredslund J,Mataric M J.A general algorithm for robot formations using local sensing and minimal communication[J].)EEE Transac—
tions on Robotics and Automation,2002,18(5):837—845.
[6] Fax J A,Murray R.Information flow aild cooperative control of vehicle formations[J].IEEE Transactions on Automatic Control,2004,
49(9):1465~1476.
[7] 沈捷,費樹岷,劉懷.多移動機器人組成任意隊形的控制研究[J].機器人,2004,26(4):295—300,
[8] Balcb T,Arkin R C.Behavior based formation control for multibot teams[J].IEEE Transactions on Robotics and Automation,
1999,14(6):926—939.
作者簡介:
柳林(1977一),男,博士生.研究領域:多機器人系統,智能機器人及機器人足球.
鄭志強(1965-),男,教授,博士生導師.研究領域:多機器人系統,智能機器人,機器人足球以及精確制導與控制.