張傳飛
(南京郵電大學(xué)自動化學(xué)院, 南京 210046)
RoboCup(Robot World Cup)仿真比賽在國際上已經(jīng)開展十多年了,近年在國內(nèi)也得到了迅速的發(fā)展。其中仿真2D機器人足球比賽是出現(xiàn)最早也是目前最為成熟的比賽。仿真2D機器人比賽盡量模擬真實世界中的情況,強調(diào)以有限的能力(感知能力有限,行為能力有限,通訊能力有限)和條件在非常復(fù)雜的動態(tài)環(huán)境中活動,感知環(huán)境,相互合作,并在對抗性的比賽中獲得勝利[1-3]。為了贏得比賽,多個智能體的協(xié)作是關(guān)鍵,但每單個智能體的自身解析Server消息的準確性才是根本。只有準確地解析了Server的消息[5],才能準確的建模,才能及時準確地做出合適的決策與協(xié)作。
目前,由于各RoboCup參賽隊伍的底層工作已經(jīng)相對完善,大部分隊伍把研究集中在上層的策略部分,似乎目前鮮有隊伍對已有的底層做出研究和改變[6-7]。而我們Apollo2D隊伍根據(jù)自己的研究現(xiàn)狀[8-9],想從根本上做出一些改變。Server信息中視覺信息是其中最為重要的信息,對球員的建模決策有舉足輕重的作用,但有噪聲的存在。因此本文通過研讀仿真2D機器人比賽平臺的代碼及模型。從中提煉出平臺添加噪聲的公式[1-3],并進行數(shù)學(xué)上的研究與分析,并提出一個可靠的解決辦法。
本文的組織結(jié)構(gòu)如下。首先,介紹從Server代碼中提煉出來的添加噪聲的量化公式。其次,針對所提出的公式進行數(shù)學(xué)分析,以得出本文中所提出的方法“半逆推量化公式法”。最后,實驗分析并驗證該方法在實際比賽中的效果。
SoccerServer仿真真實世界復(fù)雜性的一個重要部分是隨著距離增加,視覺信息的精確度會降低。這是通過在視覺感知數(shù)據(jù)中引入噪聲來實現(xiàn)的。而且噪聲的大小與物體的遠近成正比。SoccerServer中通過對發(fā)送的信息進行量化處理來添加這個噪聲。
具體的量化過程分為兩種情況:若目標是球或者球員Agent這些動態(tài)的物體時,目標的距離根據(jù)公式(1)進行量化。
式中,d表示SoccerServer中得到的精確距離;d0是經(jīng)過SoccerServer量化處理后視覺信息中收到的相應(yīng)量化實際距離。式(1)中有:
當遠處目標是靜態(tài)的標志點或線時,目標的距離值按式(3)進行量化。
式 (3)中,quantize_step和 quantize_step_1是SoccerServer中規(guī)定的常量,分別為quantize_step_1=0.01,quantize_step_1=0.01。
由式(1)和式(3)可知,一個球員是很難知道場上遠處物體的精確位置的。這樣,如何能夠較精確的確定一個物體的位置等信息,對于比賽陣型的調(diào)整、球員的跑位和上層策略的執(zhí)行具有十分重要的意義。
南郵Apollo2D隊通過研究量化公式的數(shù)學(xué)模型意義,為精確定位一個物體提出了一種很好的解決方法——半逆推量化公式法。以公式(1)為對象具體介紹使用這種方法來定位的動態(tài)物體。
由式(1)可知,量化公式是通過對數(shù)、指數(shù)和取整函數(shù)這3個簡單數(shù)學(xué)計算來完成的,在實際比賽時我們僅僅能夠收到經(jīng)過量化處理后的有噪聲的數(shù)據(jù)。將量化公式中的數(shù)學(xué)公式做出對應(yīng)的映射圖形如圖1所示。
在圖1中,當實際收到距離為d0時,對應(yīng)的精確距離d而言,由于式(2)中取整函數(shù)是一個區(qū)間范圍中的任意值,即d∈ [dmin,dmax),也就是說當SoccerServer判斷出精確距離d在 [dmin,dmax)范圍內(nèi),經(jīng)過量化處理后,實際收到的距離值都是d0。
圖1 量化公式對應(yīng)映射關(guān)系
所以,實際收到的距離值d0是一個個離散的點,而由圖1的映射關(guān)系逆推可以推導(dǎo)出的精確距離應(yīng)該是與之對應(yīng)的一個個連續(xù)的距離范圍。Apollo2D隊通過研究量化公式的過程得到:精確距離在比賽場地上的范圍理論上為d∈ [ 0,125.1],在量化精確距離時,在第一次取整后對應(yīng)的是一個固定步長為0.1的一系列點,當這些點再次量化后才對應(yīng)實際的一個個距離值d0。因此,Apollo2D隊正是利用這種關(guān)系,在量化公式的中間位置,即第一次取整后固定步長對應(yīng)的一系列點位置,對應(yīng)圖2就是沿著粗箭頭的搜索方向,取出一系列的量化點來分別向兩端逆推量化公式(對應(yīng)圖2中的虛箭頭方向),求出對應(yīng)的精確距離d的范圍和收到的量化后的實際距離值d0,得到兩者之間的對應(yīng)關(guān)系,為后面的處理提供有效的數(shù)據(jù)。本文稱此方法為半逆推量化公式法。
圖2 量化公式半逆推法示意圖
在半逆推量化公式法中,因為對數(shù)函數(shù)的作用,首先需要確定在搜索方向上量化點的范圍,在此可以利用極限距離的方法來確定區(qū)間范圍,即取精確值范圍的最小值和最大值。研究發(fā)現(xiàn),當精確距離值d∈ [ 0,1]時,取對數(shù)后為負值且在搜索方向上的量化點的分布范圍在(- ∞, 0]之間,但最終量化后的實際距離值d0基本上是在[0.0, 1.0]范圍以步長為0.1的離散點。因此,經(jīng)過反復(fù)的實驗,搜索方向上的區(qū)間可以在[-3.0, 5.0]之間以步長0.1取點,利用半逆推量化公式法即可取得較好的距離對應(yīng)關(guān)系效果。
利用半逆推量化公式法,Apollo2D隊建立了如表1所示的距離對應(yīng)關(guān)系表。
表1 d0與d對應(yīng)關(guān)系
為了驗證本文中的半逆推量化公式法的有效性,在此舉例來說明逆推量化公式時得到的精確d范圍。如圖3所示,當實際收到的距離值d0=5.5時,逆推量化公式可知,在第一次逆推rint函數(shù)得到取值范圍是d1∈ [ 5.45,5.55),對指數(shù)函數(shù)逆推可得第二次取值范圍是d2∈ [1.6771,1.6956),對rint函數(shù)再次進行逆推得到第三次取值范圍是d3∈ [1.65,1.75),對對數(shù)函數(shù)逆推得第四次取值范圍,即精確距離范圍為d∈ [ 5.2070,5.7546),這與表1中利用半逆推量化公式法所得的精確距離范圍是完全一致的。
由表1可知,誤差Δδ與精確距離中間值dmid之間的關(guān)系如圖3、圖4所示。
圖3 誤差Δδ曲線圖
圖4 誤差Δδ與精確距離中間值dmid之間的關(guān)系圖
從表1、圖3和圖4中可以得出,假設(shè)精確距離是連續(xù)的,經(jīng)過量化后的實際距離值也是一個個離散的點,而且精確距離值越大量化時添加的量化噪聲也會越大,實際距離值與精確距離值之間的誤差可能也會越大。
當利用半逆推量化公式法建立了實際距離與精確距離之間的關(guān)系后,視覺信息中與目標物體的相對角度θ有個固定的角度偏差Δθ,因此可以得到一個相對角度的范圍[θ-Δθ,θ+Δθ]。這樣,得到當前視覺球員與目標物體之間的一個位置范圍,如圖5所示的pos2、pos3、pos4和pos5四點圍成的扇形區(qū)域。
圖5 球員與目標物體位置范圍示意圖
在以往的2D比賽中,大多數(shù)隊伍都是直接使用視覺感知信息中的距離來確定視覺范圍內(nèi)物體的位置。研究量化公式可知,這個點總是有一定的誤差,這樣在上層的決策中,總會有一定的誤差影響著精確度。當誤差很大超過一個球員的可踢范圍時,會直接導(dǎo)致球員的動作命令無法執(zhí)行,延誤上層決策的執(zhí)行效率。為此,Apollo2D隊為了克服這個誤差,利用半逆推量化公式法得到如圖5的一個中間點pos1和一個扇形區(qū)域,取扇形的4個頂點pos2、pos3、pos4、pos5來修正量化誤差。設(shè)由扇形的4個點確定關(guān)于點pos1的一個位置修正點rpos_err誤差范圍為:
在比賽中,根據(jù)球的實際位置,可以適當?shù)氖褂蒙刃蔚?個點和修正點來決策球員的動作。如圖6所示,當球沿著其箭頭方向運動時,此時,根據(jù)目標物體的屬性特點,可以使用點pos2或其他幾點來判斷目標物體與球之間的距離等信息,為己方球員的動作判斷提供苛刻的條件限制。
在Apollo2D中,采用點pos1來定位目標物體當前的位置,在判斷己方球員的運動動作時,以目標位置與球之間的位置關(guān)系,選取其中一點或多點和修正點來共同限制球員的動作,以保證球員動作命令的有效性。
圖6 Agent定位與球之間的關(guān)系
為了驗證提出的半逆推量化公式方法的合理性及有效性,將其應(yīng)用于Apollo2D仿真球隊中,在歷年參加RoboCup仿真比賽的球隊中挑選了一些不同風(fēng)格的球隊作為對抗球隊,由于定位變得的準確,那么在判斷截球和傳球時會更加的精確,因此我們根據(jù)比賽中控球率來評估其方法的整體性能。表2給出了部分比賽結(jié)果。
表2 控球時間的比較
由表2中數(shù)據(jù)可知,除了與WrghtEagle_09、HELIOS_08這樣的國內(nèi)外強隊的對抗中的比賽結(jié)果不是很理想外,但也有一定的提高和改善,而其余的比賽結(jié)果還是比較好的,在整個比賽中球隊的傳接球以及盯人跑位有較為明顯的改善,整體上來看,達到了預(yù)期的目的。
本文提出的半逆推量化公式法,可以提高球員定位的精確度,以保證球員決策命令的合理性及有效性。通過仿真比賽可以看出,這種定位方法在很大程度上提高了球員的傳球、截球能力和跑位的合理性,為贏得比賽勝利創(chuàng)造了很好的前提,取得了較好的仿真效果。
[1]李實,徐旭明,葉榛,等.機器人足球仿真比賽的Server模型[J].系統(tǒng)仿真學(xué)報,2000,12(2):37-39.
[2]RoboCup Soccer Server manual for Soccer Server 7.07 and later.2003.2.28[EB/OL]. http://citeseerx.ist.psu.edu/showciting?cid=156723.
[3]Soccer Simulation wiki, http://rctools.sourceforge.jp/pukiwiki/index.php?FrontPage[EB/OL]. http://en.wikipedia.org/wiki/RoboCup_3D_Soccer_Simulation_League
[4]Robust Monte Carlo Localization for Mobile Robots,Artificial Intelligence 2001[EB/OL]. http://robots.stanford.edu/papers/thrun.robust-mcl.html
[5]The RoboCup Client Parser[EB/OL], http://rccparser.sourceforge.net/.
[6]Luis Paulo Reis,Nuno Lau, FC Portugal Team Description: RoboCup 2000 Simulation League Champion. Univ. of Porto & Univ. of Aveiro.In Stone P. , Balch T. ,and Kaetzschmar G. , RoboCup 2000:Robot Soccer World Cup IV. Springer Ver,Berlin,2001:29-41.
[7]UVATrilearn[EB/OL]: http://staff.science.uva.nl/jellekok/robocup.
[8]陳箭鋒.多智能體系統(tǒng)與2D仿真足球隊[D].南京:南京郵電大學(xué),2009.
[9]靳種寶.RoboCup2D仿真足球隊和多智能體協(xié)作[D].南京:南京郵電大學(xué),2011.
[10]張志涌.精通MATLAB 6.5版[M].北京:北京航空航天大學(xué)出版社,2003.