本發(fā)明涉及機器人控制領域,尤其涉及一種群體移動物聯網機器人控制方法。
背景技術:
隨著物聯網技術的日益成熟,大規(guī)模的物聯網機器人協(xié)同工作成為可能,而在此之前,機器人的任務分配,有序集群運動等問題也急需解決。參考自然界生物不難發(fā)現,群體行為是普遍存在的一種生物行為模式,蟻群能夠通過集體協(xié)作獵殺體型遠超過自身的昆蟲或者高效的構造巢穴,候鳥在遷徙過程中能夠組成有利于飛行的陣型,海洋中的某些魚類會集群躲避捕食者的威脅,這些生物集群看起來并沒有所謂的“中樞系統(tǒng)”統(tǒng)一發(fā)號指令,卻能有條不紊的共同實現某一目標,著實令人嘆為觀止。很明顯,這種自然形成的系統(tǒng)具備某種自組織性,不會因某個“核心”失效而導致系統(tǒng)整體失效,系統(tǒng)內的個體雖然可能功能單一,卻也因此具有可替換性,在相當大的范圍內增減個體數量不會對系統(tǒng)功能產生影響,健壯性極強。而這些特點正是大規(guī)模物聯網機器人系統(tǒng)所需要的,具有極佳的參考意義。研究者對開生物集群行為模式的研究和模仿已進行了數十年,1987年,Reynolds建立了分散式行為模型并對鳥群進行了仿真,證明簡單個體間通過密集交互可以實現聚合行為,這是人們最早對自然集群的研究和模擬。1993年,Beni等人提出“元胞機器人系統(tǒng)”具備實現智能行為的能力,并正式引入了集群智能概念。此后大量集群控制算法涌現,各類算法已經能夠實現豐富的群體行為控制,然而在實際情況中不可變的,單一的控制算法往往無法滿足需求,相比之下,可以隨時間變化的控制算法更適合描述真實環(huán)境下群體系統(tǒng)的工作模式,也具備更強的環(huán)境適應能力。本發(fā)明針對這一現狀提出了一種時變控制算法,旨在實現豐富的、隨時間變化的物聯網機器人群體控制功能。
技術實現要素:
本方法的核心思想是令物聯網機器人的控制函數中包含時間項,使其成為關于時間的函數,當時間改變時控制函數也隨之變化。此外,考慮到實際的機器人群體中存在成員分工不同及通信延遲,允許各機器人個體在同一時間點受不同函數驅動,以此進一步增加算法靈活性。以下給出算法實現細節(jié):
設集合SV={(Vx1+Vy1),(Vx2+Vy2),…,(Vxn+Vyn)}代表位置移動類控制函數集,Vx1,Vx2,…,Vxn為不同類型的關于位置的函數,用于指定機器人在二維空間中向x軸方向的位移,Vy1,Vy2…,Vyn同上,用于指定y軸方向的位移。設集合SO={O1,O2,…,Om}代表其它類型控制函數集,O1,O2,…,Om為控制機器人實現除位置移動外的某種特定功能(此處“功能”包括但不限于姿態(tài)調整、數據采集、通信及各類與周圍環(huán)境交互的動作等)的控制函數。令S={Ct1E1,Ct2E2,…,CtNEN}代表各種子控制函數的集合,其中1≤N≤m+n,E1,E2,…,EN表示不同類型的子控制函數,各函數均應取自SV或SO,即Ei∈SV∪SO,1≤i≤N,參數1≤i≤N用于引入時間變量t。在任意時刻t,作用在某機器人個體上的控制函數f(t)表示為:
上式表示在任意時刻t,作用于一個可控機器人個體上的子控制函數有且只有一個,t0,t1,…,tN將時間分為N段,當t從t0到tN變化時,集合S中的子控制函數將在每個時間段內依次對機器人個體產生作用,輪流主導機器人行為。合理規(guī)劃集合S中的子控制函數實現豐富的、隨時間變化的控制功能。任何能夠控制機器人實現某種特定功能(如位置移動、姿態(tài)調整、數據采集、通信及各類與周圍環(huán)境交互的動作等)的控制函數均可作為集合S中的子控制函數。此外,除提前規(guī)劃外,集合S中的子控制函數還可實時、動態(tài)地進行增減,以滿足復雜多變的實際工作需求。
附圖說明
圖1為本算法的控制流程圖;
圖2為本算法控制下的機器人群體運動軌跡。
具體實施方式
本方法應用于物聯網機器人控制時基本控制流程如下:
S1.物聯網機器人接收外部指令,規(guī)劃任務及任務時間,即構建或修改控制函數集合S。
S2.根據規(guī)劃準備一項新任務,即設置或變更控制函數,任何控制函數都應取從上一步中構建或修改的控制函數集合S中選取。
S3.執(zhí)行當前任務,即機器人在當前控制函數作用下行動。
S4.檢查是否有修改指令的請求,即是否需要修改或重建控制函數集合S。若為是,則轉至步驟S1,若為否,則繼續(xù)下一步。
S5.判斷當前任務是否已耗盡預定時間,即是否已超出當前控制函數作用的時間范圍。若為是,則進行下一步,若為否,則轉至步驟S3繼續(xù)執(zhí)行當前任務。
S6.判斷當前任務是否為預定的最后一項任務。若為是,則流程結束,若為否,則轉至S2準備下一項任務。
附圖1展示了本算法的控制流程。
以物聯網機器人集群運動控制為例進行詳細說明:當個體間同時存在吸引及排斥的相互作用時,每個個體能夠在特定距離下達到受力平衡,而這可以成為群體構成穩(wěn)定陣型的保障,建立如下控制函數模型:
Vxi,Vyi分別用于指定機器人沿x軸和y軸方向的位移,分別為x軸和y軸方向的單位向量,x,y為該機器人的當前坐標,xj,yj代表該機器人附近其他第j個機器人的坐標,如果該機器人附近有M個其他機器人,則j為1到M之間的整數。k為比例系數,當該機器人互相位于對方的吸引區(qū)內時,引力占主導地位,相應的k應取一負數,當機器人間距在平衡區(qū)內時,兩機器人間無互相作用力,k為0,否則斥力占主導地位,k取一正數。設定不同的引力區(qū),平衡區(qū)及排斥區(qū)范圍即可實現不同的控制效果。
現考慮如下情形:在二維環(huán)境中隨機放置若干物聯網機器人,個體在t0時刻處于靜止狀態(tài),此時控制函數表示為:
Vx1=0
Vy1=0
在時間點t1時各物聯網機器人接收外部指令進行必要的初始化設置,在t2完成操作,本階段控制函數設為O1。
之后各機器人根據指令執(zhí)行聚攏操作,此階段控制函數取為:
的取值表示當受控機器人與周圍第j個機器人的間距dj<10時兩個體相互排斥,dj≥30時兩個體相互吸引,排斥作用強于吸引作用以避免碰撞。聚攏完成后希望各個體有序分散,重新構成相對松散的陣型,設這一行為在時間點t3開始,t4點結束,則此階段控制函數可取為:
綜合考慮以上各階段函數,令SV={(Vx1+Vy1),(Vx2+Vy2),(Vx3+Vy3)}為位置移動類控制函數集,SO={O1}為其他類型控制函數集,則S={Ct1E1,Ct2E2,Ct3E3,Ct4E4},其中E1=(Vx1+Vy1),E2=O1,E3=(Vx2+Vy2),E4=(Vx3+Vy3),在任意時刻t,作用在某機器人個體上的控制函數表示為:
上述控制函數作用于物聯網機器人實現集群陣型控制,附圖2展示了該算法控制下的機器人運動軌跡,矩形標示了起始位置,圓形及三角形分別標示了各控制函數下機器人的相對穩(wěn)定位置。全部流程中作用于機器人的控制函數共變化三次,實現了靜止→初始化設置→構建緊密陣型→構建松散陣型的動態(tài)變化過程,展示了本算法的時變特性。上述集群陣型控制僅為本方法的應用之一,實際上只要構建恰當的控制函數集合S、合理規(guī)劃控制函數作用的時間域并遵循附圖1所示的控制流程即可實現各種實際情況中需要的控制功能。