專利名稱:一種分布式的多機器人同步蜂擁控制方法
技術領域:
本發(fā)明涉及智能機器人技術領域,具體來說涉及一種分布式的多機器人同步蜂擁 控制方法。
背景技術:
多機器人系統(tǒng),作為一種人工系統(tǒng),實際上是對自然界和人類社會中群體系統(tǒng)的 一種模擬。機器人群體協(xié)作與控制研究的基本思想就是將多機器人看作是一個群體或一個 社會,從組織和系統(tǒng)的角度研究多個機器人之間的協(xié)作機制,從而充分發(fā)揮機器人群體系 統(tǒng)的各種內在優(yōu)勢。目前群體系統(tǒng)的研究主要集中在個體組成的網絡拓撲結構已知和個體控制規(guī)則 確定條件下群體行為的一致性研究,即正模型,以蜂擁行為為例,從生物學研究角度來講, 正模型研究的是某種個體交互作用規(guī)則下如何出現(xiàn)大量個體一起運動的蜂擁行為的問題, 而實際工程群體的應用當中存在大量的逆問題,即為了達到工程群體系統(tǒng)設計的目標,需 由最終的目標來逆向設計個體的控制率,例如大規(guī)模的多機器人系統(tǒng)的同步蜂擁控制問 題,為了實現(xiàn)群體的有效控制,由個體組成的網絡拓撲結構的連通性至關重要,僅模仿生物 界如雁群中大雁僅跟蹤其鄰近的其它所有個體的運動規(guī)則是難以滿足這種連通性的要求 的,此時必須改進個體的控制規(guī)則,以保證群體行為最終達到系統(tǒng)設計所要求的各種性能。在多機器人蜂擁控制研究方面,針對小規(guī)模的機器人群體,目前主要有基于領航 者的方法、基于行為的方法、虛擬結構法等等,而很多研究工作也都致力于對這些方法進 行改進以提高系統(tǒng)的穩(wěn)定性。例如Tucker Balch和Ronald C. Arkin提出的基于行為 的方法保持隊形,將隊形控制任務分解為一系列的基本行為,通過行為的綜合實現(xiàn)運動控 制。Jaydev P. Desai采用反饋控制律來控制機器人運動的隊形等;隨著實際應用中群體 規(guī)模的不斷增長,如何有效組織個體間的交互作用機制以確保大規(guī)模機器人群體蜂擁行 為的實現(xiàn)引起了越來越多的關注,J. H. Reif和H. Wang首先提出了超大規(guī)模機器人系統(tǒng)的 ^(Social potential fields -.a distributed behavioral control forautonomous robots, Robotics and Autonomous Systems,1999),所采用的控制方法是一種基于人工 勢場的方法,該方法在應用于實際機器人群體的蜂擁控制時將遇到困難,因為在人工勢場 函數(shù)的理論設計時,可以設計當機器人之間距離接近零時,排斥力勢場作用可達無限大,予 以抵消機器人群體規(guī)模增大時有可能出現(xiàn)的吸引力勢場疊加作用過大而導致碰撞的情況, 而實際應用中難以完成勢場作用無限大時的控制器設計工作;H. G. Tanner (Flocking in fixed and switching networks, IEEE Transaction on AutomaticControl, 2007)石if究了 固定拓撲結構和切換拓撲結構下的群體蜂擁控制算法,其不足之處在于無法解決群體演化 過程中網絡結構的連通性問題;如何根據(jù)局部信息設計合適的控制器使得系統(tǒng)達到同步, 是控制工程師非常感興趣的問題,該控制問題具有兩個顯著特征,一是個體之間存在著局 部信息傳遞,二是個體獨立進行分布式控制,可以看出由個體形成的網絡的拓撲結構起著 非常重要的作用,其連通性是群體實現(xiàn)同步的前提條件,因此為了解決大規(guī)模的多機器人系統(tǒng)的同步蜂擁控制問題,需要著重解決群體網絡拓撲結構的連通性以及機器人規(guī)模增大 時機器人個體之間的避碰問題。
發(fā)明內容
本發(fā)明的目的是提供一種分布式的、能解決機器人群體規(guī)模增大時機器人個體之 間的碰撞問題及群體網絡拓撲結構的連通性的同步蜂擁控制方法。本發(fā)明所述的技術方案是一種分布式的多機器人同步蜂擁控制算法,其特征在 于機器人群體同步的蜂擁控制中,提出“次六度原理”用于確定機器人的關鍵鄰居機器人, 根據(jù)機器人與這些不超過六個的鄰居機器人之間的吸引排斥函數(shù)設計位置控制算子,其中 通過設計吸引排斥系數(shù)可避免吸引力之和大于排斥力時出現(xiàn)機器人與其鄰居機器人之間 的碰撞問題,與此同時,該控制算子可保障機器人群體組成的網絡拓撲結構的連通性,在機 器人群體網絡的拓撲結構連通性得以保證的條件下,基于Vicsek模型的線性化表示設計 的機器人速度方向控制算子可保證機器人群體方向同步的實現(xiàn),具體包括如下步驟(1)首先以當前機器人中心為原點,以其配置的傳感器檢測距離為半徑,形成的圓 形區(qū)域內的其他機器人即為當前機器人的鄰居機器人;(2)將每個機器人設為頂點,當前機器人與其鄰居機器人的連接設為“邊”,構成多 機器人系統(tǒng)的網絡形式,建立多機器人網絡拓撲結構保持連通的條件;(3)在保障網絡結構的連通性的前提下,基于“次六度原理”確定不超過六個關鍵 鄰居機器人,由當前機器人與關鍵鄰居機器人之間的吸引排斥函數(shù)描述,設計機器人位置 控制算子;(4)隨后采用Vicsek模型的線性化表示,設計機器人的速度方向控制算子,在多 機器人網絡拓撲結構保持連通的條件下使得所有移動機器人運動方向趨于一致;(5)最后將機器人的位置控制算子和速度方向控制算子加權集成,形成多機器人 系統(tǒng)的分布式同步蜂擁控制率。本發(fā)明具有以下優(yōu)點(1)本發(fā)明將圖論與機器人群體的控制相結合,形象直觀的表現(xiàn)出機器人位置之 間形成的網絡拓撲以及控制作用關系;(2)本發(fā)明將機器人群體的蜂擁行為映射到每個機器人與其不超過六個的鄰居機 器人之間的吸引排斥作用,可解決現(xiàn)有協(xié)調控制方案對機器人群體規(guī)模的限制,實現(xiàn)純分 布式的可擴展協(xié)調控制。(3)本發(fā)明提出的“次六度原理”可保障群體演化過程中網絡拓撲結構的連通性, 與機器人距離最近的鄰居機器人必定出現(xiàn)在依據(jù)“次六度原理”確定的最終鄰居集合之中, 而設計上又可調整吸引排斥系數(shù),滿足最多不超過五個的吸引力之和不大于由這個最近鄰 居機器人產生的排斥力,因而可有效解決碰撞問題,而這一問題如不借助“次六度原理”予 以消減參與作用的機器人個數(shù),那么在機器人鄰居規(guī)模不斷增大時,是無法通過調節(jié)參數(shù) 來實現(xiàn)避碰的。(4)位置控制算子與速度方向控制算子的加權集成可實現(xiàn)對于機器人位置關系變 化的自適應,在保證群體網絡拓撲結構連通的同時實現(xiàn)機器人群體在速度方向上的同步。(5)群體中相互合作的機器人個體是分布的,更能夠適應當前網絡環(huán)境下的工作
4狀態(tài),且系統(tǒng)中每個機器人個體的能力十分簡單,這樣每個機器人的執(zhí)行時間可以比較短, 可滿足實時操作的需要。
圖1是本發(fā)明群體鄰居圖。圖2是本發(fā)明群體連通圖。圖3是本發(fā)明群體同步示意圖。圖4是本發(fā)明“次六度原理”的操作過程示意圖。圖5機器人群體環(huán)形初始分布示意圖。圖6機器人群體仿真結果示意圖。圖7機器人群體同步蜂擁運動過程示意圖。
具體實施例方式下面結合附圖,對本發(fā)明進行詳細的描述。機器人群體的鄰居圖如圖1所示,取二維空間中由N個機器人個體(如15個)組 成的一個群體,不考慮每個機器人個體的尺寸,將個體假設為一個質點,個體i的位置隨機 產生,且每個個體的感知半徑(即鄰域半徑)為r,若個體i與個體j之間的距離小于或者 等于r,則j與i互為鄰居,它們之間可以相互作用,在互為鄰居的兩者之間連一條邊,以此 構成鄰居圖,需要注意的是每個個體的位置會根據(jù)位置控制算子和速度方向控制算子的作 用隨時間而變化,即每個個體的鄰居也會隨時間而變化。機器人群體的連通圖如圖2所示,一個連通圖是指在鄰居圖當中所有個體之間可 以直接或間接地通過邊連接起來,用數(shù)學語言描述為對于群體內任意個體i,j,總存在相應的個體集合S = {k,l,···,m,n},k,l,···, m,neN,使得 Ixi-XkI ^r, Ixk-X1I ^r,..., |xm-xn| |r, | xn-xJ | 彡 r 皆成立,或者
Xi-Xj I Sr 成立。圖2中每個個體經過鄰居的關系整體連通,某個個體不會因為沒有鄰居而成為孤 立個體,我們假設群體的初始分布圖是連通的,所設計的控制器能夠保障群體隨時間演化 過程中的鄰居圖是連通的。同步現(xiàn)象如圖3所示,是指系統(tǒng)中每個個體的初始速度方向分布雜亂無章,經過 一段時間的演化后,每個個體的最終方向一致(如鳥群朝一個方向飛行),多機器人系統(tǒng)達 到同步是指所有機器人個體的運動方向角度滿足Iim 明)=6 ,/ = 1,2,3……N
L 」 /->00其中N表示系統(tǒng)中所有機器人個體的數(shù)目,而最終的角度θ可能依賴于初始狀 態(tài),如個體的初始角度、個體的初始位置、系統(tǒng)總數(shù)目、速度ν及鄰域半徑r。實現(xiàn)群體同步的前提條件就是需要保證群體鄰居圖自始至終都是連通的,所以在 具體實施的第一步需滿足初始分布的鄰居圖是連通的這一假設條件,這一點在實際應用中 是可以輕易獲得滿足的,比如執(zhí)行探索未知環(huán)境的任務時,多個機器人由同一基地依次或 同時出發(fā),依次出發(fā)時,安排其間隔時間內前一機器人個體的運動距離不超過后一機器人 個體的傳感器感知范圍;同時出發(fā)時,機器人個體之間的最小距離不超過每個機器人個體的傳感器感知范圍即可。下面介紹第二步,即在群體演化過程中可保證鄰居圖連通性的次六度原理的具體 實施過程。假設系統(tǒng)中所有機器人組成集合N,Xi為機器人i的當前位置,r為機器人所配置 的傳感器的檢測距離。(1)如圖4(a)所示,根據(jù)| Xi-Xj I彡r,j e N,尋找機器人i的鄰居集合Ne⑴ ={k,1,m,· · ·,ρ};根據(jù)dmin = min {| | Xi-Xj |},j e Ne⑴,找出其中距離機器人i最近 的鄰居機器人記為k(若有多個選擇時,則任取其中一個記為k);(2)在以機器人i的位置為極心,ik所在的邊為極軸P的極坐標系中,機器人i 的鄰居機器人所處位置的極角分別為{9k,θχ, θω,...,θρ};(3)按極角的遞增方向由鄰居機器人集合中依次選擇其它機器人與機器人i,k構 成三角形,假設極角最小的機器人為P,如圖4(a)所示,將機器人i,k,p兩兩連接構成三角 形,保留其中最短的兩條邊,去除最長的邊(將最長邊的兩節(jié)點之間的直接連通關系由兩 個較短邊的三節(jié)點之間的間接連通取代,從而保障群體演化過程中的連通性);(4)若ip去除,則從機器人i的鄰居集合中去除機器人p,k同理.返回(3)繼續(xù) 加入其它鄰居個體作三點處理;若邊kp去除,留ik,ip,即鄰居集合中保留了 i,k,P,此時 加入個體n,則需與k和P分別進行三點組合處理。同理保留其中較短的兩條邊并連接,同 時更新機器人i鄰居集合中的個體組合??煞治鼋涍^上述規(guī)則處理后,個體i的鄰居集合內個體最多不超過6,即同時保留 ik, ip的條件是Qi最小不小于π/3,該條件即為群體演化過程中簡化鄰居個體數(shù)目且保 持連通性的第一條件。
_^ 2 _^ 2 _ 2 _ ~ 如圖4(b)所示,紜+ Jk要使得邊ik與ip得以保留,需證
?
明邊kp最長。
“邊“被清除,因為其“邊“長度將不是某三點中較短兩條邊中的一條。為了與復雜網絡研究 領域的”六度分割原理“予以區(qū)分,本發(fā)明將上述規(guī)則定義為“次六度原理“,按照次六度原 理處理個體與其鄰居之間的交互關系,可減少個體鄰居集合中個體的數(shù)目,從而簡化個體 的分布式控制率的計算過程,而且依據(jù)該原理設計的個體交互作用不會破壞群體網絡的連
6
證明假設
Jk
<
Ψ
,則還
Ψ
<1
kp
Ψ
+
ik
-2
Ψ
ik
cos θ
要使_ kp > ip,則有下式成立
ik
-2
cos Qi <
Ψ ik
ik
CosOl > 0
丨2
Ψ
<1/2
cos θ j < 1/2
由 QiG (0,π),得 θ i > π/3成立,命題得證
即當個體i的鄰居集合超過6個個體時,依據(jù)上述規(guī)則必有以個體i為一端點的通性,同時減小在群體密集時,由于鄰居個體的疊加作用過大導致碰撞發(fā)生,即疊加吸引力 作用大于個體的排斥力作用的幾率。在按照次六度原理確定個體的鄰居集合之后,具體實施的第三步就是依據(jù)鄰居集 合中的個體信息設計位置控制算子。(1)個體之間的吸引排斥作用力函數(shù)選擇如下形式 g(y) =其中g τ —在y較大時體現(xiàn)為吸引力作用,在y較
小時表現(xiàn)為排斥力作用,具體作用范圍根據(jù)參數(shù)a,b,c調整,采用2-范數(shù).Ι = 7^7。(2)當存在鄰居個體處于個體i的最大感知范圍的臨界區(qū)域時,增加如下規(guī)則1)求出個體與其鄰居集合內其它個體吸引排斥力的合力方向Σ。;
2)建立個體i指向距其最遠的個體方向,如^ (假設處于個體i的最大感知范圍 的臨界區(qū)域上的個體為P,如有多個該類型個體,都需要按照類似規(guī)則處理);3)若_π/2<( Σ θ/―中)< π/2,則無需附加操作,此為群體演化過程中保障連通
性的第二條件,僅針對按照次六度原理確定的鄰居集合內存在鄰居個體處于個體i最大感 知范圍的臨界區(qū)域上的情況,是第一條件的有效補充,否則個體i在當前時刻停止運動,下 一時刻再重新按照次六度原理確定新鄰居集合,并重新計算,判斷并循環(huán)。第四步就是依據(jù)鄰居集合中的個體信息設計速度方向控制算子。速度方向控制算子采用Vicsek模型的線性化形式 其中θ i是個體i的方向角度,n, (t)是個體i按照次六度原理確定的鄰居集合 Ne (i) (t)內元素的個數(shù)。最后將位置控制算子與速度方向控制算子予以加權集成,其中位置控制算子的權 值系數(shù)為Wp、速度方向控制算子的權值系數(shù)Wv= l-wp, wp, wv e {0,1};個體i的運動方程用數(shù)學模型表示如下 其中Xi和Vi分別為個體i的位置和速度,Ui為控制輸入,Xi, Vi, Ui e Rnu>=w^al+wP^l=wv-v,^M + wp· X式中第一項α i是用于實現(xiàn)個體之間的速度匹配,θ i的更新如式(2);第二項β i 用于實現(xiàn)個體間的分離和聚合。下面在MATLAB仿真環(huán)境下進行實例驗證分析,為了較好的體現(xiàn)基于次六度原理 的同步蜂擁控制,機器人群體的初始分布在以(0,0)為圓心,半徑為40的圓周上進行相關
7仿真。具體參數(shù)設置如下所示1)設置群體規(guī)模N = 50,初始分布如圖5所示,在,π ] 角度范圍中,隨機生成個體初始方向角θ ;2)a = 3,b = 100, C= 18, wp = 0.8, wv = 0.2, ν = 1.0, r = 30,其仿真結果如圖6所示,仿真圖7給出了初始方向隨機的群體運動過程 圖。 在本發(fā)明的構思基礎上可以進行的各種替換、變化和修改,這些替換、變化和修改 不應排除在發(fā)明的保護范圍之外。
權利要求
一種分布式的多機器人同步蜂擁控制方法,其特征是包括以下步驟(1)以機器人當前位置為圓心,以其所配置的傳感器檢測距離為半徑,該圓形區(qū)域內的其它機器人即為當前機器人的鄰居機器人;(2)依據(jù)次六度原理從鄰居機器人中確定不超過六個的關鍵鄰居機器人,以當前機器人與這些關鍵鄰居機器人之間的吸引排斥函數(shù)設計當前機器人的位置控制算子;(3)依據(jù)Vicsek模型的線性化表示,設計當前機器人的速度方向控制算子;(4)將位置控制算子和速度方向控制算子進行加權集成,形成當前機器人的同步蜂擁控制率。
2.根據(jù)權利要求1所述的方法,其特征是所述的次六度原理是1)假設系統(tǒng)中所有機器人組成集合N,Xi為機器人i的當前位置,r為機器人所配置的 傳感器的檢測距離(1)根據(jù)IXi-Xj I彡r,j e N,尋找機器人i的鄰居集合Ne⑴={k,1,m,· · ·,ρ}; 根據(jù)dmin = min{ Xi-Xj },j e Ne (i),找出其中距離機器人i最近的鄰居機器人記為k, 若有多個選擇時,則任取其中一個記為k ;(2)在以機器人i的位置為極心,ik所在的邊為極軸P的極坐標系中,機器人i的鄰 居機器人所處位置的極角分別為{ θ k,θ ρ θ m,...,θ p};(3)按極角的遞增方向由鄰居機器人集合中依次選擇其它機器人與機器人i,k構成三 角形,假設極角最小的機器人為P,將機器人i,k,p兩兩連接,保留其中最短的兩條邊,去除 最長的邊(將最長邊的兩節(jié)點之間的直接連通關系由兩個較短邊的三節(jié)點之間的間接連 通取代);(4)若ip去除,則從機器人i的鄰居集合中去除機器人p,k同理.返回(3)繼續(xù)加入 其它鄰居個體作三點處理;若邊kp去除,留ik,ip,即鄰居集合中保留了 i,k,p,此時加入 個體n,則需與k和ρ分別進行三點組合處理。同理保留其中較短的兩條邊并連接,同時更 新機器人i鄰居集合中的個體組合;2)機器人通過上述方法去除冗余的鄰居機器人,可以通過數(shù)學分析和證明,剩下的鄰 居集合中的元素個數(shù)不大于6,這部分不超過六個的鄰居機器人即為關鍵鄰居機器人。
全文摘要
一種分布式的多機器人同步蜂擁控制方法,包括以機器人當前位置為圓心、傳感器檢測距離為半徑,該圓形區(qū)域內的其它機器人為鄰居機器人;從鄰居機器人中確定不超過六個關鍵鄰居機器人,以當前機器人與鄰居機器人之間的吸引排斥函數(shù)設計當前機器人的位置控制算子;依據(jù)Vicsek模型的線性化表示,設計當前機器人的速度方向控制算子;將位置、速度方向控制算子加權集成,形成當前機器人同步蜂擁控制率;本發(fā)明直觀的表現(xiàn)出機器人位置之間的網絡拓撲及控制作用關系;解決機器人群體規(guī)模的限制,實現(xiàn)純分布式的可擴展協(xié)調控制,保障群體演化過程中網絡拓撲結構的連通性,在機器人鄰居規(guī)模不斷增大時,可調節(jié)參數(shù)實現(xiàn)避碰,實現(xiàn)機器人位置關系變化的自適應。
文檔編號G05D1/00GK101901012SQ201010128359
公開日2010年12月1日 申請日期2010年3月19日 優(yōu)先權日2010年3月19日
發(fā)明者江冀海, 裴惠琴, 陳世明 申請人:華東交通大學