吳晨光
(南京郵電大學自動化學院 南京市)
足球機器人系統是一個典型的多智能系統,機器人在比賽中能否規劃出一條最優路徑將足球安全快速地帶到有效射門區域是比賽能否取勝的一個重要因素。所謂路徑規劃是使機器人按照莫一準則從起始位置搜索一條到終點位置的最優或近似最優的無碰撞路徑。在路徑規劃中常用的方法有:人工勢場法、柵格法、模糊方法、遺傳算法、神經網絡等。其中人工勢場法因其計算簡單便于數學描述,在機器人路徑規劃中得到了廣泛的應用。
人工勢場法的基本方法是建立一種虛擬力:足球或球門對特定的機器人存在一定的引力,而敵對機器人和本方機器人對其存在一定的斥力,根據空間勢場能減小的方向進行路徑規劃。但傳統的人工勢場法是在靜態環境中研究出來的,對于足球機器人比賽這類對抗性與實時性比較強的動態環境存在一定的缺陷。本文在傳統人工勢場法的基礎上融合了相對速度與相對位置角度進行路徑規劃。
傳統的人工勢場法是由Khatib于1986年提出。勢場函數的表示方法有多種,這里用一種簡潔的方法表示。Uatt為目標位置對當前位置的引力勢能,Fatt為目標位置與當前位置之間的引力,Urep為周圍障礙物對當前位置的斥力勢能,Frep為周圍障礙物與當前位置之間的斥力。
當前位置的引力勢能為:

相應的引力Fatt是引力勢場函數的負梯度。

katt是引力場系數,X為機器人所在位置向量,Xh為機器人目標位置向量。
當前位置的斥力勢能為:

當機器人不在目標點,相應的斥力為:

其中krep是斥力場正比例增益系數,d|X-Xo|,Xo為障礙物的位置向量,常數do表示障礙物影響的距離,當前位置與障礙物的距離大于這個值時機器人就不再受斥力的作用,其值由障礙物和目標點的具體情況而定。
機器人受到的合力為:

傳統的人工勢場考慮了所有障礙物對機器人的影響,在實際的比賽中有些障礙物是可以忽略的。比如,障礙物背離機器人移動或者在機器人運動方向后方,在這種情況下障礙物對機器人沒有威脅。所以我們需要對傳統的人工勢場法進行改進。
現在將障礙物與機器人的相對位置引入人工勢場,該方法能有效地排除一些對機器人策略影響很小的障礙物,降低了計算量。
為了忽略一些對機器人影響較小的障礙物,將障礙物的相對速度矢量引入人工勢場中。如圖1所示假設障礙物在機器人前進方向的左側,在某時刻t0,機器人的速度為vr,障礙物的速度為vo,α,β,ε,δ都是以順時針方向為正且有δ=α-β。由圖可知當α<β時障礙物是往相對機器人的后方運動的此時可以不必考慮障礙物對機器人的影響。當α≥β時我們可以把vo分解成機器人速度vr以及相對于機器人的速度vor。當δ<ε時則障礙物的相對速度vor相對機器人是朝機器人的后方運動的,此時機器人沒有必要進行避障行為。當δ≥ε時障礙物會出現在機器人運動路線上,所以機器人需要進行避障。

圖1 障礙物在機器人左側
圖1 中考慮的是障礙物在機器人運動方向左側的情況,當障礙物在右側時α,β,ε,δ都是以逆時針方向為正,其它的都與在左側時情況相同。
現在討論障礙物在機器人威脅區域時的情況,當障礙物出現在機器人的威脅區域中時由于障礙物所處機器人的相對位置以及相對于機器人的速度,障礙物對機器人的威脅也是不一樣的。由圖2我們可以得出障礙物對機器人的威脅程度的大小隨著Lor的減小而增加,隨著θ2角度的增加而減小,隨著vor的增加而增加。所以障礙物對機器人的斥力不僅跟它們的距離有關還跟vor,θ1與θ2有關。
所以相對于傳統的斥力方程可以改為Frep1=fFrep。
其中f是一個關于vor,θ1與θ2的函數,f=f(vor,θ1,θ2)。

圖2 機器人與障礙物之間角度關系
上面的方法雖然進行了改進但是可以看出當障礙物出現在目標點附近時,由于斥力隨著距離的減小而增大,引力隨著距離的減小而減小。有可能出現機器人到不了目標點的現象。所以對斥力的計算還需要引入機器人與目標點的位置。所以Frep2=fFrep1=kfFrep。其中k=g(d1,d2),其中d1為機器人到障礙物的距離,d2為機器人到目標點的距離。
在實際的比賽中知道本方帶球隊員離對方的球門越近對對方球門的威脅越大,進球的可能性也越大,所以本文中把對方球門中心點Xh作為機器人的目標點。在本文中假設機器人只要把球帶入圖3中X0,X1,X2,X3所圍的有效射門區域則算一次機器人路徑規劃成功。

圖3 建立全局坐標系
假設機器人的最大加速度為amax,最大速度為vmax則有:


為了驗證改進人工勢場法的有效性,本文在MATLAB下進行仿真實驗,結果如圖4~圖6所示。
具體算法實現如下:
步驟1:建立勢場模型,確定各參數的值。
步驟2:確定機器人,障礙物的初始值。
步驟3:確定在機器人的威脅區域內是否有障礙物,若沒有轉到第4步,若有轉到第5步。
步驟4:機器人全速朝目標點奔進。
步驟5:使用改進的算法給機器人規劃出一條路徑,通過a與v(t)算出機器人朝目標點行進的速度。
步驟6:判斷機器人是否到達有效區域,是則終止規劃程序,否則轉到第2步。
設定機器人初始速度矢量Vr=(8,-6)初始位置點坐標Xr=(40,50),障礙物初始速度矢量Vo=(11,1)初始位置點坐標Xo=(30,35),循環周期T=0.05 s。

圖4 t=1.6 s時的仿真圖

圖5 仿真結束時的仿真圖
設定機器人初始速度矢量Vr=(4,-4)初始位置點坐標Xr=(30 20),障礙物初始速度矢量Vo=(4,5)初始位置點坐標Xo=(33,18),循環周期T=0.05 s。因為障礙物遠離機器人運動,所以機器人將不受斥力的影響。

圖6 仿真結束時的仿真圖
本文主要討論了在機器人足球比賽中,進攻方如何帶球避開攔截機器人最終把球帶入有效區域,傳統的人工勢場法往往效果不是很好,本文提出了一種基于相對角度的人工勢場法。仿真表明新的人工勢場法在機器人足球中防碰撞效果非常有效。
[1]賈建強,陳衛東,席裕庚.全自主足球機器人系統關鍵技術綜述[J].上海交通大學學報,2003,37(Sup):45.
[2]張琪,楊宜民.基于改進人工勢場的足球機器人避障控制[J].機器人,2002,24(1):12-15.
[3]韓永,劉國棟.動態環境下基于人工勢場的移動機器人運動規劃[J].機器人,2006,28(1):45-49.
[4]張志涌,楊祖櫻.MATLAB教程[M].北京:北京航空航天大學出版社,2006.
[5]段俊花,李孝安,董榮和.基于改進勢場法的足球機器人路徑規劃系統[J].計算機仿真,2008,25(12):192-194.
[6]葉超群.多Agent 復雜系統分布仿真平臺中的關鍵技術研究[D].長沙:國防科學技術大學,2006.
[7]賀晨龍.多智能體系統協調控制的理論與仿真研究[D].成都:西南交通大學,2009.
[8]程顯毅,劉一松,晏立.面向智能體的知識工程[M].北京:科學出版社,2008.