摘 要: 將整個賽場劃分成10個區(qū)域,分析了機器人" title="器人">器人在活動區(qū)域的基本行為,,確定了不同情況下的有利目標(biāo)點和反應(yīng)條件,建立了機器人行為觸發(fā)機制,。該行為產(chǎn)生方法將角色分配和行為產(chǎn)生相結(jié)合,,使場上每個機器人隨時都有明確的目標(biāo)和行為,結(jié)構(gòu)層次分明,,實時性強,,便于升級。
關(guān)鍵詞: 機器人足球 策略 行為產(chǎn)生 角色分配 反應(yīng)行為
機器人足球賽為機械設(shè)計,、自動控制,、人工智能、計算機視覺等提供了一個良好的研究與試驗平臺,,已成為一個熱門研究課題,。微型機器人足球賽是機器人足球賽中最基本的一種,它由視覺子系統(tǒng),、無線通信子系統(tǒng),、策略子系統(tǒng)以及足球機器人子系統(tǒng)組成。比賽是在策略子系統(tǒng)指揮下自主進(jìn)行的,,每秒鐘要處理25或30幀圖像,。當(dāng)擁有了良好的硬件設(shè)備后,整個球隊水平主要決定于策略子系統(tǒng)的水平,。其主要任務(wù)包括:場上攻防態(tài)勢判斷,、球隊中每個機器人角色劃分及任務(wù)分配、機器人運動規(guī)劃,、機器人間相互配合等,。由于場上形勢千變?nèi)f化,決策時間又相當(dāng)短暫,,所以如何構(gòu)建一個良好的策略子系統(tǒng)成為研究的重點,。文獻(xiàn)[5]采用實時自組織模糊決策樹進(jìn)行決策,將球所在區(qū)域以及雙方控球狀態(tài)劃分成12種情況,,針對每種情況提出了相應(yīng)的策略,。由于判斷條件比較復(fù)雜,實施起來難以達(dá)到滿意的效果。文獻(xiàn)[6]列出了常見的反應(yīng)行為,,并給出了有利目標(biāo)點的計算方法,。其缺點是沒有給出一種合適的行為觸發(fā)機制。本文分析了機器人應(yīng)有的幾種反應(yīng)行為,,確定了策略研究" title="策略研究">策略研究重點,,提出了一種新的隊員角色分配策略,可以根據(jù)不同的情況產(chǎn)生不同的行為并動態(tài)地分配給相應(yīng)的機器人,;設(shè)計了一套行為觸發(fā)機制,,能及時合理地觸發(fā)反應(yīng)行為,從而保證場上每個機器人隨時都有明確的目標(biāo)和行為,。
1 場地的劃分
根據(jù)比賽過程分析,,將球場劃分成如圖1所示幾個區(qū)域。區(qū)域1,、2,、3、4為角區(qū),,5,、6為邊界區(qū)域,區(qū)域7為防守區(qū),,區(qū)域8為進(jìn)攻區(qū),,區(qū)域9、10分別為我方禁區(qū)和對方禁區(qū),。
2 行為標(biāo)志及有利目標(biāo)點的確定
2.1 足球機器人應(yīng)有的反應(yīng)行為及其條件
下面分析攻/防隊員的基本行為,。守門員的動作行為比較特殊,可參見文獻(xiàn)[7],。綜合分析足球機器人的場上行為,,可劃分為如下幾類:
(1)射門
當(dāng)機" title="當(dāng)機">當(dāng)機器人離球較近且處于較有利的位姿時,如圖2所示,,應(yīng)毫不猶豫地進(jìn)行射門以破門得分,。射門行為的觸發(fā)條件為:
①機器人與球的距離d小于某個臨界值d0,,在實驗中取d0=30cm,;
②機器人的朝向與機器人和球連線方向的夾角△θ小于某個臨界值θ0,,在實驗中取θ0=30°,;
③機器人和球連線方向應(yīng)大致朝向?qū)Ψ角蜷T,,即規(guī)定其方向在對方禁區(qū)兩端和機器人連線范圍內(nèi),如圖2中兩虛線包圍的范圍。
(2)旋轉(zhuǎn)踢球
當(dāng)球位于邊界區(qū)或者角區(qū),,且機器人又沒有很好的踢球位姿時,,可以采用旋轉(zhuǎn)的辦法將球踢出邊界區(qū)或者角區(qū)。
(3)觸界后退
當(dāng)機器人碰到場地邊界時,,應(yīng)停止前進(jìn)并快速后退,。
(4)追球(或帶球" title="帶球">帶球前進(jìn))
追球是機器人應(yīng)具有的最基本的行為之一。何時產(chǎn)生這種行為以及由哪個隊員來完成該行為將在后面防守區(qū)和進(jìn)攻區(qū)的行為規(guī)劃中加以確定,。
(5)到目標(biāo)點
當(dāng)一個機器人帶球進(jìn)攻時,,另一個機器人需要跑到協(xié)攻位置;在進(jìn)行防守時也需要搶先占據(jù)有利位置,,這就是機器人的跑位問題,。從當(dāng)前位置跑向目標(biāo)位置是機器人另一種最基本的行為。
策略研究的重點應(yīng)放在射門,、追球,、到目標(biāo)點三種行為機制上。
?
2.2 球位于防守區(qū)時的行為規(guī)劃
當(dāng)球位于防守區(qū)7時,,場上隊員的主要任務(wù)是進(jìn)行防守和攔截,;當(dāng)條件具備時,又要不失時機地搶球" title="搶球">搶球進(jìn)行反攻,,變被動為主動,。
分三種情況討論:
(1)如圖3,兩機器人均位于球的后方,。這種情況比較危險,,兩機器人均不適合搶球。此時兩機器人應(yīng)迅速回退到有利的防守點,,例如圖3中的1,、2兩點。上方的機器人目標(biāo)點可選為點1,,下方的機器人目標(biāo)點為點2,。
(2)兩機器人均位于球的前方。這是一種比較有利的防守態(tài)勢,,既能占據(jù)有利的防守位置,,也可在條件允許時斷球反攻。策略子系統(tǒng)的任務(wù)有三個:其一是確定主防守隊員,,一般情況下,,對方從哪一側(cè)進(jìn)攻,就由相應(yīng)一側(cè)隊員作為主防守隊員,;其二是進(jìn)行防守運動規(guī)劃,,在固守的前提下破壞掉對方的進(jìn)攻;其三是確定斷球時機,由防守轉(zhuǎn)為進(jìn)攻,,應(yīng)該判斷兩機器人是否適合搶球或者干擾對方進(jìn)攻,。兩個有利的防守點依然是圖3中的點1和點2??芍苯痈鶕?jù)兩機器人的y坐標(biāo)動態(tài)分配有利防守點:y坐標(biāo)大的機器人其目標(biāo)點為點1,,小的則為點2。當(dāng)只有一個防守隊員適合去斷球時,,另一機器人要退守到最有利的防守點,,如圖4中點1。如果兩個機器人均適合搶球,,則應(yīng)選擇更有利于搶球者,,另一機器人則退守到有利的防守點。
不能只根據(jù)機器人與球的距離確定斷球機器人,。如圖5所示,,雖然機器人1離球很近,但當(dāng)機器人的朝向與機器人和球的連線之夾角過大時,,機器人很難向?qū)Ψ桨雸鎏咔?。此時機器人1應(yīng)向點1退守,由機器人2去搶球,。實驗表明,,當(dāng)同時滿足下面條件時不利于機器人追球:
①機器人與球的距離d<10cm,;
?、跈C器人的朝向與機器人和球的連線夾角△θ>20°。
如果經(jīng)過上述判斷,,兩機器人均適合搶球,,此時應(yīng)進(jìn)一步判斷哪個機器人更適合去搶球。為此,,定義搶球能力:
式中,,k1、k2,、d,、△θ分別為距離加權(quán)因子、角度加權(quán)因子,、機器人到球的距離(cm),、機器人朝向與機器人和球連線之間的夾角(rad)。實驗中k1取0.05,、k2取1.2時效果較好,,如圖6所示,。
在機器人適合追球的情況下同時判斷機器人是否適合射門。如果適合射門,,則應(yīng)置相應(yīng)機器人行為標(biāo)志為射門標(biāo)志,。
(3)兩個機器人分別位于球的前方和后方,,如圖7,。此時,應(yīng)該讓位于前方的機器人快速退守到有利防守點1,。如果位于球后方的機器人有較好的搶球或者干擾對方機器人的機會,,則應(yīng)該讓該機器人去搶球;如果該機器人不適合搶球,,則應(yīng)該快速退守到有利的防守點2,,待穩(wěn)固防守后再伺機反攻。
2.3 球位于進(jìn)攻區(qū)時的行為規(guī)劃
當(dāng)球位于進(jìn)攻區(qū)8時,,我方隊員要把握好機會努力突破對方防線并爭取破門得分,,同時,也要注意隨時轉(zhuǎn)入防守,??紤]到進(jìn)攻得手的關(guān)鍵是突破對方防線,為此,,采用一前一后,、左右適當(dāng)錯開的“雙機器人并進(jìn)”進(jìn)攻方式。一旦主攻機器人受阻,,助攻機器人可以馬上接球繼續(xù)進(jìn)攻,。如果丟球,助攻機器人也可以立即爭搶或者盡快堵截,,以爭取時間讓另一個機器人回防,。助攻機器人一般占據(jù)滿足下述要求的有利目標(biāo)點:其x坐標(biāo)比球的x坐標(biāo)減2個車長,y坐標(biāo)比球的y坐標(biāo)減1個半車長(左路進(jìn)攻)或加1個半車長(右路進(jìn)攻),。
2.4 球位于角區(qū)及邊界區(qū)的行為規(guī)劃
當(dāng)球位于角區(qū)時,,離球較近的機器人去追球,另一機器人則占據(jù)有利位置,。追球的機器人追到球時,,一般采用旋轉(zhuǎn)踢球方式將球踢出角區(qū)。當(dāng)小球位于邊界區(qū)時,,采取的策略與在防守區(qū)及進(jìn)攻區(qū)時相似,,此外還要進(jìn)行是否進(jìn)行旋轉(zhuǎn)踢球的判斷。若需要旋轉(zhuǎn)踢球,,則進(jìn)一步判斷是順時針還是逆時針旋轉(zhuǎn),。
2.5 控球機器人的運動規(guī)劃
當(dāng)機器人追到球后,,毫無疑問,它應(yīng)該向?qū)Ψ角蜷T方向運動,,所以將控球機器人的目標(biāo)點定為對方球門中點比較合適,。此時機器人會帶球向?qū)Ψ角蜷T方向運動。在此過程中會判斷是否適合射門,,如果滿足射門條件則啟動射門行為,。
3 角色分配及行為觸發(fā)方式
角色分配就是將任務(wù)分配給場上的機器人,也就是設(shè)置機器人的行為標(biāo)志,,并給出某些行為需要的目標(biāo)點,。以上是以3對3比賽為例說明的,守門員固定,,角色分配只需將兩個任務(wù)分配給兩個機器人,。在5對5或11對11比賽中,有多個角色需要分配,,下面給出一種通用的角色分配方法,。該方法保證每個機器人都能分配到任務(wù),而且每個機器人的任務(wù)是惟一的,,分配過程如下:
(1)為每個機器人設(shè)置一個已分配標(biāo)志,,并初始化為未分配狀態(tài)(未分配狀態(tài)為0,已分配狀態(tài)為1),。
(2)找出最重要的待分配的任務(wù),。
(3)進(jìn)入分配循環(huán),依次查找各機器人的已分配標(biāo)志,,若該機器人已分配任務(wù),,則檢查下一個機器人的該標(biāo)志;若該機器人未分配任務(wù),,則按一定的規(guī)則計算出該機器人針對該任務(wù)的性能指標(biāo),,并在循環(huán)中比較各個未分配任務(wù)的機器人的該指標(biāo)。找出該指標(biāo)最優(yōu)的機器人,,將該任務(wù)分配給它,,即將其行為標(biāo)志置成相應(yīng)值,并給出可能需要的目標(biāo)點,,并將其已分配標(biāo)志置為1,。
(4)對下一個待分配的任務(wù)重復(fù)步驟3,直到場上活動的機器人均有確定的任務(wù),。
當(dāng)設(shè)置好行為標(biāo)志以及可能用到的目標(biāo)點后,,就可以根據(jù)行為標(biāo)志觸發(fā)各個機器人的行為。策略的實施用到以下兩個主要函數(shù):
(1)SetActionFlag( )用于設(shè)置各個機器人行為標(biāo)志及可能用到的目標(biāo)點,。算法描述如下:
?、倥袛嗲蛩趨^(qū)域,,計算每個機器人到球的距離dist[i]以及機器人朝向與機器人和球連線的夾角delta_theta[i];
?、诟鶕?jù)球所在的區(qū)域進(jìn)入相應(yīng)的策略,。根據(jù)機器人與球的位置關(guān)系(前方或后方),確定總體任務(wù)(即待分配的各個任務(wù)),,根據(jù)上面的方法進(jìn)行角色分配,,即設(shè)置各個機器人的行為標(biāo)志ActionFlag[i]及給出可能需要的目標(biāo)點target[i];
?、蹤z驗各個機器人是否需要特殊反應(yīng)行為(如碰邊界后退),,如需要,,則將行為標(biāo)志值置成相應(yīng)值,。函數(shù)返回。
(2)RobotAction( )用來根據(jù)各個機器人的行為標(biāo)志ActionFlag[i]及可能用到的target[i],,調(diào)用相應(yīng)的底層動作函數(shù),。RobotAction( )描述如下:
判斷各行為標(biāo)志,若為1,,則后退,;為 2,右旋,;為3,,左旋;為4,,射門,;為5,追球,;為6則到目標(biāo)點,。帶球前進(jìn)可以看作追球的一種特殊情況。因此其行為標(biāo)志與追球相同,。決策系統(tǒng)根據(jù)該行為標(biāo)志調(diào)用底層動作函數(shù),,其內(nèi)部會根據(jù)該機器人與球的距離判斷是否已接觸球,若已接觸球,,則為帶球前進(jìn),,此時該機器人要采取一定的避障措施。關(guān)于避障及路徑規(guī)劃算法在文獻(xiàn)[6]和文獻(xiàn)[8]中均有介紹,,不再討論,。
通過上述的角色分配及行為觸發(fā)方式,可保證機器人各種反應(yīng)行為能及時地觸發(fā),。這樣,,每個調(diào)用周期均能讓各個機器人產(chǎn)生合理的行為,。
本文分析了機器人在場上的基本行為,確定了不同情況下的有利目標(biāo)點及各機器人應(yīng)有的行為,,建立了機器人的角色分配和行為觸發(fā)機制,。該行為產(chǎn)生方法能夠動態(tài)分配角色,使場上每個機器人隨時都有明確的目標(biāo)和行為,。該行為產(chǎn)生機制層次分明,,實時性好,便于擴充和升級,。實驗及比賽結(jié)果表明,,球隊的攻防效果均得到了明顯的改善。對行為規(guī)劃部分稍加改進(jìn),,該行為產(chǎn)生方法即可用于5對5及11對11比賽中,。在現(xiàn)實中,該行為產(chǎn)生方法可應(yīng)用在多個領(lǐng)域,。例如在軍事領(lǐng)域,,該方法中的運動規(guī)劃、角色分配及行為觸發(fā)機制可用于無人作戰(zhàn)平臺群的協(xié)作控制,,如無人駕駛飛機群的編隊控制及與敵方的輔助攻防對抗,、海軍艦隊的編隊與輔助協(xié)同作戰(zhàn)以及未來戰(zhàn)場上機器人部隊的組成等。
參考文獻(xiàn)
1 洪炳熔.機器人足球比賽——發(fā)展人工智能的里程碑[J].電子世界,;2000(4):4~5
2 Minoru Asada,,Hiroaki Kitano.The RoboCup Challenge[J].Robotics and Autonomous Systems,1999,;29:3~12
3 王湘中,,喻壽益,龍永紅.機器人足球賽中隊員角色的動態(tài)分配策略[J].哈爾濱工業(yè)大學(xué)學(xué)報,;2004:36(7):943~945
4 吳麗娟,,張春暉,徐心和.小球機器人決策系統(tǒng)推理模型[J].東北大學(xué)學(xué)報(自然科學(xué)版),,2001,;22(6):597~599
5 Han-PangHuang,Chao-ChiunLiang.Strategy-based decision making of a soccer robot system using a real-time self-orga-nizing fuzzy decision tree[J].Fuzzy Sets and Systems,,2002,;12(7):59~64
6 Chi-Yang Che,Tzuu-Hseng.Li.A Real-Time Role Assignment Mechanism for Five-on-Five Robot Soccer Competition[A].Proceedings of the IEEE International Conference on Robo-tics& Automation[C].Taipei.Taiwan,,2004,;(3):1099~1104
7 王紅寶,趙臣,,王華.微型足球機器人守門員防守策略研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,,2004,;36(7):884~886
8 KIM D H,KIM J H.A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[J].Robotics and Autonomous Systems,, 2003,;42:17~30