康 杰,張鵬超
(陜西理工大學 機械工程學院,漢中 723000)
近年來,多機器人協(xié)同技術(shù)[1]已經(jīng)廣泛應用于智能倉儲、自動化工廠生產(chǎn)以及協(xié)助軍事行動[2-3]等,引起了國內(nèi)外眾多學者的研究,成為關(guān)注的熱點。 其中機器人需要進行軌跡規(guī)劃,以避免可能與環(huán)境中的靜態(tài)障礙物和其他機器人發(fā)生碰撞。 利用全局規(guī)劃路徑的方法,例如基于圖搜索[4]和基于隨機采樣的方法[5-6],可以獲得接近全局最優(yōu)的路徑。在移動機器人的局部路徑規(guī)劃中,例如基于人工勢場法(AFH)[7]和動態(tài)窗口法(dynamic window approach,DWA)[8],有靜態(tài)、動態(tài)障礙物以及其他移動機器人的避碰是一個關(guān)鍵的問題,尤其是多機器人系統(tǒng)。 速度障礙法[9]被提出來以一種簡單有效的方法計算移動障礙物之間的避碰動作,而兩個移動機器人的相互回避可能會導致發(fā)生震蕩。 為了提高VO 方法的計算速度, 提出了用拋物線函數(shù)法來近似約束[10],提高了在復雜環(huán)境下的避免碰撞的安全性和效率。
速度障礙法(VO)首先提出是為了躲避動態(tài)障礙物,如圖1 所示,PA為正在執(zhí)行任務(wù)的機器人,PB為機器人PA所遇到的動態(tài)障礙物(或者是其他正在執(zhí)行任務(wù)的機器人),VA,VB分別為機器人PA,PB的速度矢量,rA,rB為機器人的半徑。 以機器人PA為參考平面,把機器人PA的半徑擴大到機器人PB,將機器人PA看作質(zhì)點,將機器人PB靜止,得到機器人PA對于機器人PB的相對速度VA-VB,得到了如式(1)所示的由機器人PA引起的速度障礙即如果機器人PA的速度矢量VA位于所處集合當中,則機器人PA與機器人PB一定會發(fā)生碰撞。
圖1 速度障礙法定義Fig.1 Definition of velocity obstacle method
式中:A,B 是以機器人PA(PB)為圓心,rA(rB)為半徑的集合;B⊕-A 表示以機器人PB為中心的集合B 與集合-A 的閔可夫斯基和,表達式如式(2)所示;λ(PA,VA-VB)表示以機器人PA為頂點,方向為VA-VB的射線,表達式如式(3)所示。
速度障礙法將機器人躲避動態(tài)障礙問題轉(zhuǎn)化為靜態(tài)避碰問題,即求解VA在不屬于由其他動態(tài)障礙物(或其他機器人)引起的速度障礙集合中,機器人一定與障礙物不會發(fā)生碰撞問題,但是該方法在躲避其他機器人時容易出現(xiàn)抖動問題,所以提出了分散式多機器人避障機制,該機制首先給每個機器人建立一個危險區(qū)域,提出了一個風險閾值, 根據(jù)其大小判斷是否有機器人存在于危險區(qū)域,設(shè)置一個碰撞策略,來根據(jù)機器人所處的危險程度來進行避碰先后,最后通過優(yōu)化目標函數(shù)來調(diào)節(jié)速度矢量。
為了減少避免碰撞計算時間,引入了關(guān)鍵障礙物的概念,關(guān)鍵障礙物需要滿足2 個條件。 首先,機器人A 的速度矢量必須是處于有其他機器人引起的速度障礙內(nèi),其次其他機器人必須處于高風險的障礙區(qū)域中,提出了閾值μ,當μ>1 時,其他機器人不處于危險碰撞區(qū)域,當μ≤1,說明存在其他機器人在危險碰撞區(qū)域,μ 的數(shù)學表達式為
只要存在1 個機器人符合這個條件, 機器人A開始為躲避障礙物做出相應躲避,其數(shù)學表達式為
為了防止避碰過于保守,將運動的不確定性的影響與不同的風險程度聯(lián)系起來, 如圖2 所示,可以獲得2 個半徑Rl和Rh, 然后將其他機器人的運動不確定轉(zhuǎn)為幾何位置的不確定性,形成Rl與Rh2個碰撞區(qū)域,分別是對其他機器人Oi引起的半徑估計下限與上限,它是由位置、大小、速度誤差等因素決定的,如下式:
圖2 危險程度Di 的計算Fig.2 Calculation of the risk level Di
式中:ξ 是有其他機器人引起的估計誤差;Rs是安全的距離。
可以根據(jù)最小估計半徑Rl計算最小安全角度α=arsin和最大安全角度β=arsin因此,可以得出風險速度Di,其中i 表示為進入危險區(qū)域的第i 個機器人,其表達如下:
式中:r 代表機器人的速度矢量與進入危險區(qū)域其他機器人的夾角;Di代表進入危險區(qū)域的機器人風險程度,因為環(huán)境中存在多機器人Oi={O1,O2,O3…}時,對風險程度Di進行排序,對風險程度高的障礙物先進行避障處理。
碰撞時間是計算機器人與其他機器人碰撞的最短時間,當機器人與其他機器人的相對速度保持不變時,是碰撞評測的常用的一種標準,碰撞時間也反映了機器人的安全的時間限制,所以考慮到機器人的運動特性, 在擴展了其他機器的安全特性后,考慮到其他機器人的最大運行范圍以及有其他機器人引起的速度障礙VOi,當Vi∈VOi時,碰撞時間t 表示到達其他機器人Oi=(Pi,Ph)的邊緣的最短時間, 可以把最小時間解t 作為Di的碰撞時間,對于相對速度Vi滿足式(9):
假設(shè)每個機器人的初始位置Si與位置目標Gi在任何時候都是已知的,且不知道其他機器人目標位置,機器人在決策過程中的避碰都滿足運動學約束,所以每個機器人之間的動態(tài)碰撞可以規(guī)劃為碰撞速度在決策周期和速度空間中的最小目標函數(shù)。
為了使機器人趨向目標點運動,將目標速度定義為Vref,表達式為
式中:vr∈VOi表示危險程度Di最大的機器人的速度矢量,u 表示對t 時刻對速度矢量的調(diào)整。
為了驗證所設(shè)計算法的有效性,對機器人之間動態(tài)避碰行為進行仿真實驗。
如圖3 所示,為兩個機器人RA,RB相向而行的避讓過程,圖4 是2 個機器人趨向目標過程,圖5是8 個機器人在運動過程中的避讓過程,圖6 是8 個機器人避讓完成后趨向目標過程。
圖3 2 個機器人相向而行的避讓過程Fig.3 Avoidance process of two robots walking towards each other
圖4 2 個機器人向相而行的趨向目標過程Fig.4 Process of approaching the goal of two robots walking towards each other
圖5 8 個機器人移動過程中的避讓過程Fig.5 Avoidance process during the movement of the eight robots
圖6 8 個機器人避讓完成后趨向目標過程Fig.6 Process of approaching the target after the eight robots have completed avoidance
通過仿真實驗可以看出基于改進速度障礙法后所規(guī)劃的路徑能夠安全避開與其他機器人的碰撞危險并順利到達目標點,且路徑較為光滑。
本文提出了一種分散式的多機器人自主導航防撞方案,稱為分散式速度障礙法(DVO)。 所提出的方法是基于速度障礙法的一種變體,通過規(guī)定危險區(qū)域、碰撞檢測區(qū)以及碰撞角來對移動機器人進行安全約束, 可以在復雜環(huán)境下進行動態(tài)避障,所提出的方法繼承了所有顯著的特征,通過約定通訊區(qū)域來減少機器人之間的不必要的通訊,通過設(shè)定檢測碰撞區(qū)和碰撞角可以讓機器人在局限的傳感器能夠檢測出機器人在動態(tài)環(huán)境下的安全系數(shù)從而對速度大小和方向進行調(diào)整,這是通過在以自我為中心的框架中實現(xiàn)算法來實現(xiàn)的,通過隱式地為機器分配避碰方案。 通過仿真實驗表明,該方法能夠降低計算量的同時實時地規(guī)劃出一條無碰撞路徑。