摘 要: 將整個賽場劃分成10個區(qū)域,分析了機器人" title="器人">器人在活動區(qū)域的基本行為,確定了不同情況下的有利目標點和反應條件,建立了機器人行為觸發(fā)機制。該行為產生方法將角色分配和行為產生相結合,使場上每個機器人隨時都有明確的目標和行為,結構層次分明,實時性強,便于升級。
關鍵詞: 機器人足球 策略 行為產生 角色分配 反應行為
機器人足球賽為機械設計、自動控制、人工智能、計算機視覺等提供了一個良好的研究與試驗平臺,已成為一個熱門研究課題。微型機器人足球賽是機器人足球賽中最基本的一種,它由視覺子系統(tǒng)、無線通信子系統(tǒng)、策略子系統(tǒng)以及足球機器人子系統(tǒng)組成。比賽是在策略子系統(tǒng)指揮下自主進行的,每秒鐘要處理25或30幀圖像。當擁有了良好的硬件設備后,整個球隊水平主要決定于策略子系統(tǒng)的水平。其主要任務包括:場上攻防態(tài)勢判斷、球隊中每個機器人角色劃分及任務分配、機器人運動規(guī)劃、機器人間相互配合等。由于場上形勢千變萬化,決策時間又相當短暫,所以如何構建一個良好的策略子系統(tǒng)成為研究的重點。文獻[5]采用實時自組織模糊決策樹進行決策,將球所在區(qū)域以及雙方控球狀態(tài)劃分成12種情況,針對每種情況提出了相應的策略。由于判斷條件比較復雜,實施起來難以達到滿意的效果。文獻[6]列出了常見的反應行為,并給出了有利目標點的計算方法。其缺點是沒有給出一種合適的行為觸發(fā)機制。本文分析了機器人應有的幾種反應行為,確定了策略研究" title="策略研究">策略研究重點,提出了一種新的隊員角色分配策略,可以根據不同的情況產生不同的行為并動態(tài)地分配給相應的機器人;設計了一套行為觸發(fā)機制,能及時合理地觸發(fā)反應行為,從而保證場上每個機器人隨時都有明確的目標和行為。
1 場地的劃分
根據比賽過程分析,將球場劃分成如圖1所示幾個區(qū)域。區(qū)域1、2、3、4為角區(qū),5、6為邊界區(qū)域,區(qū)域7為防守區(qū),區(qū)域8為進攻區(qū),區(qū)域9、10分別為我方禁區(qū)和對方禁區(qū)。
2 行為標志及有利目標點的確定
2.1 足球機器人應有的反應行為及其條件
下面分析攻/防隊員的基本行為。守門員的動作行為比較特殊,可參見文獻[7]。綜合分析足球機器人的場上行為,可劃分為如下幾類:
(1)射門
當機" title="當機">當機器人離球較近且處于較有利的位姿時,如圖2所示,應毫不猶豫地進行射門以破門得分。射門行為的觸發(fā)條件為:
①機器人與球的距離d小于某個臨界值d0,在實驗中取d0=30cm;
?、跈C器人的朝向與機器人和球連線方向的夾角△θ小于某個臨界值θ0,在實驗中取θ0=30°;
?、蹤C器人和球連線方向應大致朝向對方球門,即規(guī)定其方向在對方禁區(qū)兩端和機器人連線范圍內,如圖2中兩虛線包圍的范圍。
(2)旋轉踢球
當球位于邊界區(qū)或者角區(qū),且機器人又沒有很好的踢球位姿時,可以采用旋轉的辦法將球踢出邊界區(qū)或者角區(qū)。
(3)觸界后退
當機器人碰到場地邊界時,應停止前進并快速后退。
(4)追球(或帶球" title="帶球">帶球前進)
追球是機器人應具有的最基本的行為之一。何時產生這種行為以及由哪個隊員來完成該行為將在后面防守區(qū)和進攻區(qū)的行為規(guī)劃中加以確定。
(5)到目標點
當一個機器人帶球進攻時,另一個機器人需要跑到協(xié)攻位置;在進行防守時也需要搶先占據有利位置,這就是機器人的跑位問題。從當前位置跑向目標位置是機器人另一種最基本的行為。
策略研究的重點應放在射門、追球、到目標點三種行為機制上。
?
2.2 球位于防守區(qū)時的行為規(guī)劃
當球位于防守區(qū)7時,場上隊員的主要任務是進行防守和攔截;當條件具備時,又要不失時機地搶球" title="搶球">搶球進行反攻,變被動為主動。
分三種情況討論:
(1)如圖3,兩機器人均位于球的后方。這種情況比較危險,兩機器人均不適合搶球。此時兩機器人應迅速回退到有利的防守點,例如圖3中的1、2兩點。上方的機器人目標點可選為點1,下方的機器人目標點為點2。
(2)兩機器人均位于球的前方。這是一種比較有利的防守態(tài)勢,既能占據有利的防守位置,也可在條件允許時斷球反攻。策略子系統(tǒng)的任務有三個:其一是確定主防守隊員,一般情況下,對方從哪一側進攻,就由相應一側隊員作為主防守隊員;其二是進行防守運動規(guī)劃,在固守的前提下破壞掉對方的進攻;其三是確定斷球時機,由防守轉為進攻,應該判斷兩機器人是否適合搶球或者干擾對方進攻。兩個有利的防守點依然是圖3中的點1和點2??芍苯痈鶕蓹C器人的y坐標動態(tài)分配有利防守點:y坐標大的機器人其目標點為點1,小的則為點2。當只有一個防守隊員適合去斷球時,另一機器人要退守到最有利的防守點,如圖4中點1。如果兩個機器人均適合搶球,則應選擇更有利于搶球者,另一機器人則退守到有利的防守點。
不能只根據機器人與球的距離確定斷球機器人。如圖5所示,雖然機器人1離球很近,但當機器人的朝向與機器人和球的連線之夾角過大時,機器人很難向對方半場踢球。此時機器人1應向點1退守,由機器人2去搶球。實驗表明,當同時滿足下面條件時不利于機器人追球:
?、贆C器人與球的距離d<10cm;
?、跈C器人的朝向與機器人和球的連線夾角△θ>20°。
如果經過上述判斷,兩機器人均適合搶球,此時應進一步判斷哪個機器人更適合去搶球。為此,定義搶球能力:
式中,k1、k2、d、△θ分別為距離加權因子、角度加權因子、機器人到球的距離(cm)、機器人朝向與機器人和球連線之間的夾角(rad)。實驗中k1取0.05、k2取1.2時效果較好,如圖6所示。
在機器人適合追球的情況下同時判斷機器人是否適合射門。如果適合射門,則應置相應機器人行為標志為射門標志。
(3)兩個機器人分別位于球的前方和后方,如圖7。此時,應該讓位于前方的機器人快速退守到有利防守點1。如果位于球后方的機器人有較好的搶球或者干擾對方機器人的機會,則應該讓該機器人去搶球;如果該機器人不適合搶球,則應該快速退守到有利的防守點2,待穩(wěn)固防守后再伺機反攻。
2.3 球位于進攻區(qū)時的行為規(guī)劃
當球位于進攻區(qū)8時,我方隊員要把握好機會努力突破對方防線并爭取破門得分,同時,也要注意隨時轉入防守。考慮到進攻得手的關鍵是突破對方防線,為此,采用一前一后、左右適當錯開的“雙機器人并進”進攻方式。一旦主攻機器人受阻,助攻機器人可以馬上接球繼續(xù)進攻。如果丟球,助攻機器人也可以立即爭搶或者盡快堵截,以爭取時間讓另一個機器人回防。助攻機器人一般占據滿足下述要求的有利目標點:其x坐標比球的x坐標減2個車長,y坐標比球的y坐標減1個半車長(左路進攻)或加1個半車長(右路進攻)。
2.4 球位于角區(qū)及邊界區(qū)的行為規(guī)劃
當球位于角區(qū)時,離球較近的機器人去追球,另一機器人則占據有利位置。追球的機器人追到球時,一般采用旋轉踢球方式將球踢出角區(qū)。當小球位于邊界區(qū)時,采取的策略與在防守區(qū)及進攻區(qū)時相似,此外還要進行是否進行旋轉踢球的判斷。若需要旋轉踢球,則進一步判斷是順時針還是逆時針旋轉。
2.5 控球機器人的運動規(guī)劃
當機器人追到球后,毫無疑問,它應該向對方球門方向運動,所以將控球機器人的目標點定為對方球門中點比較合適。此時機器人會帶球向對方球門方向運動。在此過程中會判斷是否適合射門,如果滿足射門條件則啟動射門行為。
3 角色分配及行為觸發(fā)方式
角色分配就是將任務分配給場上的機器人,也就是設置機器人的行為標志,并給出某些行為需要的目標點。以上是以3對3比賽為例說明的,守門員固定,角色分配只需將兩個任務分配給兩個機器人。在5對5或11對11比賽中,有多個角色需要分配,下面給出一種通用的角色分配方法。該方法保證每個機器人都能分配到任務,而且每個機器人的任務是惟一的,分配過程如下:
(1)為每個機器人設置一個已分配標志,并初始化為未分配狀態(tài)(未分配狀態(tài)為0,已分配狀態(tài)為1)。
(2)找出最重要的待分配的任務。
(3)進入分配循環(huán),依次查找各機器人的已分配標志,若該機器人已分配任務,則檢查下一個機器人的該標志;若該機器人未分配任務,則按一定的規(guī)則計算出該機器人針對該任務的性能指標,并在循環(huán)中比較各個未分配任務的機器人的該指標。找出該指標最優(yōu)的機器人,將該任務分配給它,即將其行為標志置成相應值,并給出可能需要的目標點,并將其已分配標志置為1。
(4)對下一個待分配的任務重復步驟3,直到場上活動的機器人均有確定的任務。
當設置好行為標志以及可能用到的目標點后,就可以根據行為標志觸發(fā)各個機器人的行為。策略的實施用到以下兩個主要函數:
(1)SetActionFlag( )用于設置各個機器人行為標志及可能用到的目標點。算法描述如下:
?、倥袛嗲蛩趨^(qū)域,計算每個機器人到球的距離dist[i]以及機器人朝向與機器人和球連線的夾角delta_theta[i];
?、诟鶕蛩诘膮^(qū)域進入相應的策略。根據機器人與球的位置關系(前方或后方),確定總體任務(即待分配的各個任務),根據上面的方法進行角色分配,即設置各個機器人的行為標志ActionFlag[i]及給出可能需要的目標點target[i];
?、蹤z驗各個機器人是否需要特殊反應行為(如碰邊界后退),如需要,則將行為標志值置成相應值。函數返回。
(2)RobotAction( )用來根據各個機器人的行為標志ActionFlag[i]及可能用到的target[i],調用相應的底層動作函數。RobotAction( )描述如下:
判斷各行為標志,若為1,則后退;為 2,右旋;為3,左旋;為4,射門;為5,追球;為6則到目標點。帶球前進可以看作追球的一種特殊情況。因此其行為標志與追球相同。決策系統(tǒng)根據該行為標志調用底層動作函數,其內部會根據該機器人與球的距離判斷是否已接觸球,若已接觸球,則為帶球前進,此時該機器人要采取一定的避障措施。關于避障及路徑規(guī)劃算法在文獻[6]和文獻[8]中均有介紹,不再討論。
通過上述的角色分配及行為觸發(fā)方式,可保證機器人各種反應行為能及時地觸發(fā)。這樣,每個調用周期均能讓各個機器人產生合理的行為。
本文分析了機器人在場上的基本行為,確定了不同情況下的有利目標點及各機器人應有的行為,建立了機器人的角色分配和行為觸發(fā)機制。該行為產生方法能夠動態(tài)分配角色,使場上每個機器人隨時都有明確的目標和行為。該行為產生機制層次分明,實時性好,便于擴充和升級。實驗及比賽結果表明,球隊的攻防效果均得到了明顯的改善。對行為規(guī)劃部分稍加改進,該行為產生方法即可用于5對5及11對11比賽中。在現(xiàn)實中,該行為產生方法可應用在多個領域。例如在軍事領域,該方法中的運動規(guī)劃、角色分配及行為觸發(fā)機制可用于無人作戰(zhàn)平臺群的協(xié)作控制,如無人駕駛飛機群的編隊控制及與敵方的輔助攻防對抗、海軍艦隊的編隊與輔助協(xié)同作戰(zhàn)以及未來戰(zhà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è)大學學報;2004:36(7):943~945
4 吳麗娟,張春暉,徐心和.小球機器人決策系統(tǒng)推理模型[J].東北大學學報(自然科學版),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è)大學學報,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