康 杰,張鵬超
(陜西理工大學 機械工程學院,漢中 723000)
近年來,多機器人協同技術[1]已經廣泛應用于智能倉儲、自動化工廠生產以及協助軍事行動[2-3]等,引起了國內外眾多學者的研究,成為關注的熱點。 其中機器人需要進行軌跡規劃,以避免可能與環境中的靜態障礙物和其他機器人發生碰撞。 利用全局規劃路徑的方法,例如基于圖搜索[4]和基于隨機采樣的方法[5-6],可以獲得接近全局最優的路徑。在移動機器人的局部路徑規劃中,例如基于人工勢場法(AFH)[7]和動態窗口法(dynamic window approach,DWA)[8],有靜態、動態障礙物以及其他移動機器人的避碰是一個關鍵的問題,尤其是多機器人系統。 速度障礙法[9]被提出來以一種簡單有效的方法計算移動障礙物之間的避碰動作,而兩個移動機器人的相互回避可能會導致發生震蕩。 為了提高VO 方法的計算速度, 提出了用拋物線函數法來近似約束[10],提高了在復雜環境下的避免碰撞的安全性和效率。
速度障礙法(VO)首先提出是為了躲避動態障礙物,如圖1 所示,PA為正在執行任務的機器人,PB為機器人PA所遇到的動態障礙物(或者是其他正在執行任務的機器人),VA,VB分別為機器人PA,PB的速度矢量,rA,rB為機器人的半徑。 以機器人PA為參考平面,把機器人PA的半徑擴大到機器人PB,將機器人PA看作質點,將機器人PB靜止,得到機器人PA對于機器人PB的相對速度VA-VB,得到了如式(1)所示的由機器人PA引起的速度障礙即如果機器人PA的速度矢量VA位于所處集合當中,則機器人PA與機器人PB一定會發生碰撞。

圖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)所示。

速度障礙法將機器人躲避動態障礙問題轉化為靜態避碰問題,即求解VA在不屬于由其他動態障礙物(或其他機器人)引起的速度障礙集合中,機器人一定與障礙物不會發生碰撞問題,但是該方法在躲避其他機器人時容易出現抖動問題,所以提出了分散式多機器人避障機制,該機制首先給每個機器人建立一個危險區域,提出了一個風險閾值, 根據其大小判斷是否有機器人存在于危險區域,設置一個碰撞策略,來根據機器人所處的危險程度來進行避碰先后,最后通過優化目標函數來調節速度矢量。
為了減少避免碰撞計算時間,引入了關鍵障礙物的概念,關鍵障礙物需要滿足2 個條件。 首先,機器人A 的速度矢量必須是處于有其他機器人引起的速度障礙內,其次其他機器人必須處于高風險的障礙區域中,提出了閾值μ,當μ>1 時,其他機器人不處于危險碰撞區域,當μ≤1,說明存在其他機器人在危險碰撞區域,μ 的數學表達式為

只要存在1 個機器人符合這個條件, 機器人A開始為躲避障礙物做出相應躲避,其數學表達式為

為了防止避碰過于保守,將運動的不確定性的影響與不同的風險程度聯系起來, 如圖2 所示,可以獲得2 個半徑Rl和Rh, 然后將其他機器人的運動不確定轉為幾何位置的不確定性,形成Rl與Rh2個碰撞區域,分別是對其他機器人Oi引起的半徑估計下限與上限,它是由位置、大小、速度誤差等因素決定的,如下式:

圖2 危險程度Di 的計算Fig.2 Calculation of the risk level Di

式中:ξ 是有其他機器人引起的估計誤差;Rs是安全的距離。
可以根據最小估計半徑Rl計算最小安全角度α=arsin和最大安全角度β=arsin因此,可以得出風險速度Di,其中i 表示為進入危險區域的第i 個機器人,其表達如下:

式中:r 代表機器人的速度矢量與進入危險區域其他機器人的夾角;Di代表進入危險區域的機器人風險程度,因為環境中存在多機器人Oi={O1,O2,O3…}時,對風險程度Di進行排序,對風險程度高的障礙物先進行避障處理。
碰撞時間是計算機器人與其他機器人碰撞的最短時間,當機器人與其他機器人的相對速度保持不變時,是碰撞評測的常用的一種標準,碰撞時間也反映了機器人的安全的時間限制,所以考慮到機器人的運動特性, 在擴展了其他機器的安全特性后,考慮到其他機器人的最大運行范圍以及有其他機器人引起的速度障礙VOi,當Vi∈VOi時,碰撞時間t 表示到達其他機器人Oi=(Pi,Ph)的邊緣的最短時間, 可以把最小時間解t 作為Di的碰撞時間,對于相對速度Vi滿足式(9):

假設每個機器人的初始位置Si與位置目標Gi在任何時候都是已知的,且不知道其他機器人目標位置,機器人在決策過程中的避碰都滿足運動學約束,所以每個機器人之間的動態碰撞可以規劃為碰撞速度在決策周期和速度空間中的最小目標函數。

為了使機器人趨向目標點運動,將目標速度定義為Vref,表達式為


式中:vr∈VOi表示危險程度Di最大的機器人的速度矢量,u 表示對t 時刻對速度矢量的調整。

為了驗證所設計算法的有效性,對機器人之間動態避碰行為進行仿真實驗。
如圖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
通過仿真實驗可以看出基于改進速度障礙法后所規劃的路徑能夠安全避開與其他機器人的碰撞危險并順利到達目標點,且路徑較為光滑。
本文提出了一種分散式的多機器人自主導航防撞方案,稱為分散式速度障礙法(DVO)。 所提出的方法是基于速度障礙法的一種變體,通過規定危險區域、碰撞檢測區以及碰撞角來對移動機器人進行安全約束, 可以在復雜環境下進行動態避障,所提出的方法繼承了所有顯著的特征,通過約定通訊區域來減少機器人之間的不必要的通訊,通過設定檢測碰撞區和碰撞角可以讓機器人在局限的傳感器能夠檢測出機器人在動態環境下的安全系數從而對速度大小和方向進行調整,這是通過在以自我為中心的框架中實現算法來實現的,通過隱式地為機器分配避碰方案。 通過仿真實驗表明,該方法能夠降低計算量的同時實時地規劃出一條無碰撞路徑。