《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > RoboCup中的帶球路徑策略

RoboCup中的帶球路徑策略

2008-05-27
作者:彭 軍,丁晨陽,吳 敏,張曉

  摘 要: 為提高RoboCup仿真比賽中智能體帶球" title="帶球">帶球的成功率,設計了帶球路徑策略。通過細胞自動機建立了比賽環境演化模型,能夠對智能體帶球路徑的搜索空間進行分析規劃,在此基礎上設計了智能體帶球的路徑搜索" title="路徑搜索">路徑搜索策略。測試結果說明該策略能保證智能體在復雜實時的環境下進行有效的帶球。
  關鍵詞: 帶球策略 細胞自動機 啟發式搜索 機器人足球


  在RoboCup中,帶球具有相當重要的作用。研究RoboCup中帶球等動作的意義不僅僅局限于RoboCup本身,它對于Agent的計算、甚至人工智能基礎理論的發展都具有重要意義。
  帶球是智能體控球同時移動到目標點的技術,對于帶球最關鍵的策略是下一步應采取哪條路徑。這個過程至少要完成兩個任務:避免跟對方球員的沖突和運用路徑搜索算法找到從起點到目標點的帶球路徑。
  帶球路徑可以采取多種不同的搜索求解方法,本文集中考慮對方球員的影響,找到適合智能體帶球的較優路徑。首先建立一個優化的環境狀態描述圖,使它支持球員智能體在比賽場地中的路徑搜索;然后設計使智能體高效執行的路徑搜索策略,估算出一條到達目標點的較優帶球路徑。
1 策略總體設計
  整個策略包括兩部分。第一部分利用細胞自動機對環境建模,根據對方球員的影響演化出環境狀態描述圖,分析規劃以后要使用的路徑搜索空間。據此,智能體能夠對未來可能發生的狀態進行分析預測而有效避開對方球員的攻擊。第二部分在規劃好的搜索空間內,運用合理的路徑搜索算法,設計啟發函數" title="啟發函數">啟發函數為智能體提供最佳可行的解路徑。
2 基于細胞自動機對環境的建模
  細胞自動機是由一組規則網格組成的陣列,每個格子就是一個細胞,其組成三要素為細胞的狀態、鄰居細胞以及演化規則。它具有組成單元的簡單性、單元之間作用的局部性和信息處理的高度并行性等特點,適合對復雜實時的動態系統進行有效建模。
  將球員智能體進行帶球決策的區域(設定為智能體前方一塊矩形區域)用一系列離散方格細胞序列表示,細胞自動機算法的輸入即為智能體的感知信息。細胞自動機通過不斷的狀態刷新,進行決策區域內環境狀態的演化。
2.1 構造模型1
  (1)定義細胞狀態:沒有被任何球員占據的狀態為0;被對方隊員占據時根據對方隊員的身體朝向可以離散化地定義各種狀態:北1、東北2、東3、東南4、南5、西南6、西7、西北8(根據比賽服務器所提供的參數設置,設定各狀態代表的角度范圍是:東(-22.5~22.5)、南(-112.5~-67.5)、西(-180~-157.5 && 157.5~180)、北(67.5~112.5)、東南(-67.5~-22.5)、東北(22.5~67.5)、西南(-157.5~-112.5)、西北(112.5~157.5))。
  (2)鄰居細胞:每個細胞周圍的8個細胞為其鄰居細胞,分別位于北面、東北面、東面、東南面、南面、西南面、西面、西北面。
  (3)演化規則:根據當前對方球員朝向狀態進行演化,對每個被對方隊員占據的細胞演化出它們最可能的影響范圍。
  為方便描述,設Sit為細胞i在t時刻的狀態,i為演化細胞代號,Sj1t、Sj2t、Sj3t、Sj4t、Sj5t、Sj6t、Sj7t、Sj8t分別為位于i細胞北面、東北面、東面、東南面、南面、西南面、西面、西北面八個方向上的鄰居細胞狀態,jn(n=1,2,……8)為鄰居細胞代號,下面是此算法的偽碼實現。
  

  
  帶球隊員每進行一次信息更新即可對環境狀態圖進行幾次演化迭代,演化迭代次數由所選細胞尺寸、對方能力強弱等確定。
  這種根據朝向演化的影響區域是合理的。因為每個智能體一般只能對本身的朝向做出快速反應,所以考慮對方隊員的朝向因素,預測以后可能的環境狀態。假定在某影響區域內,對方隊員會在我方隊員之前到達這個區域內的任何一個位置,所以我方隊員以后的路徑規劃必須避開此區域。演化后得到的細胞狀態圖如圖1所示,是構造下一個細胞自動機模型的基礎。


2.2 構造模型2
  模型1得到的結果直接作為第二個模型的初始狀態。模型2的構造如下:
  (1)定義細胞狀態:細胞沒有被任何智能體占據的狀態為0;對方球員的控制能力值x作為細胞狀態值" title="狀態值">狀態值,設對方隊員速度值的10倍(取整舍去小數位)為對方隊員的控制能力值,速度較快的對方隊員進攻性比較強,移動打亂我方隊員進攻的可能性較大,因此按照速度值設定控制能力值。根據仿真比賽服務器的參數設置,x可取1~12的自然數。
  (2)鄰居細胞包括每個細胞周圍的8個細胞。
  (3)演化規則:以影響力地圖的思想為基礎。如果此細胞的狀態值為0,則將其各鄰居細胞的狀態值折半取整,再疊加作為此細胞演化后的狀態值。下面是這個算法的偽碼實現,演化后生成的細胞狀態圖作為最終的環境狀態描述圖,如圖2。


  
  這里的演化規則即是對對方隊員控制能力值的耗散處理,使智能體可以通過演化后環境狀態描述圖中的各個細胞位置的狀態值預見對方球員以后可能的影響狀況,這些信息使智能體知道某個位置作為帶球路徑的價值信息。
3 帶球路徑搜索策略的實現
  最終演化好的細胞狀態圖描述了對方球員的影響,提供了各個位置作為帶球路徑的價值信息。下面運用人工智能的啟發式搜索策略,設計有效的啟發函數加速問題求解,使路徑搜索向著最有希望的方向前進,找到最優路徑。
  整個路徑搜索算法主要完成以下工作:(1)取得代價值最小的節點;(2)判斷產生當前節點的子節點集合;(3)把節點放入Closed表。路徑搜索核心流程的偽碼實現如下:
FindPath(Constrain)
{
  //在Open表中加入新節點
  AddNodeToList(Open,startNode);
  //Open表非空,進行路徑搜索
  while !OpenIsEmpty() do
  //Open表中代價值最小的節點為當前節點
  Node CurNode=Open.pop_front();
  if ArriveGoal(CurNode) then
  flag=1;//標志路徑搜索成功
  //返回起點到當前節點的所有節點形成路徑
  return GeneratePath(curNode);
  else
  //把當前節點加入到Closed表中
  AddNodeToList(Closed,CurNode);
  //產生當前節點子節點集合
  List SubNodeList=getSubNodes(CurNode,Constrain,increment);
  for i=0;i  //子節點在Closed表中
  if InClosedList(SubNode) then
  continue;
  //子節點不在Closed表中
  else
  //子節點不在Open表中
  if !InOpenList(SubNode) then
  //計算子節點的代價值
  TotalCost(SubNode)=gCost(SubNode)+hCost(SubNode);
  //當前節點作為子節點的父節點
  SubNode.parent=CurNode;
  //將子節點放到Open列表中
  AddNodetoList(Open,SubNode);
  else //子節點在Open表更新父節點,重排Open表
  if gCost(SubNode)  CurNode=SubNode.parent;
  TotalCost(SubNode)=gCost(SubNode)+hCost(SubNode);
  //按代價值給Open表中元素排序
  Sort(OpenList);
  end if
  end if
  end if
  end for
  end if
  end while
  return null;
}
3.1 設計啟發函數
  以上搜索算法的關鍵是設計啟發函數評價路徑,不同的啟發函數會導致不同的解路徑。根據帶球策略,將Costs、Costθ1、Costθ2三個因素作為啟發函數的參數,設計如下:
  hCost(Node)
  {
  //Costs為節點細胞當前狀態值
  Costs=GetState(Node);
  //Costθ1為相對目標位置的偏移角度
  Costθ1=AngDeviate(Node,Node.parent);
  //Costθ2為相對上次搜索過節點位置的偏移角度
  Costθ2=AngDeviate(Node,goalNode);
  h(Cost)=αCosts+βCostθ1+γCostθ2
  return h;
  }
  根據優先級的大小分別賦予這三個因素合適的權值" title="權值">權值α、β和γ。這些權值的選取對于帶球路線的搜索十分關鍵,它們的數值是基于公式中各項的優先級以及范圍,可以通過調整權值改變各個因素的優先次序。優先級較高的因素在結果中應占較大比重,這些權值需要經過大量的測試或使用學習等技術得到。
  在本應用中,取α>β>γ。因為最重要的是避開接近的對方球員,相對于高層規劃指定的目標位置的角度偏移以及原來帶球方向角度偏移則次之。這樣使智能體向相對對方隊員控制能力較弱位置、朝目標位置方向以及它原本前進的方向帶球前進。這樣選擇是因為方向的改變會額外花費一些時間,有時還會引起不理想的震蕩。
3.2 路徑搜索的優化執行
  為提高路徑搜索算法的效率,結合前一節中介紹的細胞自動機的演化結果,采取制定搜索界限的方法進行路徑搜索。即在搜索算法上附加表示當前調用的界限參數。這樣算法占用較小的內存,被考察的節點較少,以下是根據界限參數獲得子節點集合的示例:
  getSubNodes (CurNode,Constrain,increment)
  {
  //循環構造當前位置的鄰居位置子節點
  for i=-1;i<2;i++
  for j=-1;j<2;j++
  SubNode.x=CurNode.x+i*increment;
  SubNode.y=CurNode.y+j*increment;
  if i==0 && j==0 then
    continue;
  end if
  if !InConstrain(SubNode) then
    continue;//不在界限內的節點排除
  end if
  //將在界線參數限定范圍內的節點加入子節點集合
  AddNodeToList(SubNodeList,SubNode);
  return SubNodeList;//返回界限內子節點集合
  end for
  end for
  }
  本文的策略對于細胞位置允許的最大狀態值為界限參數。在環境狀態描述圖的基礎上,設定界限1:細胞狀態值為0,此界限區域為帶球搜索最安全區域,不在對方球員的控制之下;界限2:相對界限1放寬一些,定細胞狀態值稍大,此界限區域為從最安全區域出發分別向左向右擴散出的帶球搜索較安全區域,對方球員對此區域的控制能力增加;根據情況還可繼續放寬界限,制定界限3、界限4等。如果一個小界限的初始搜索能找到路徑,則搜索算法只要在最安全區域嘗試少數幾個位置就能找到正確的路徑。如果沒有成功找到路徑,將在隨后的調用中逐漸放寬界限,取界限2、3,即讓其在較安全區域甚至弱安全區域搜索路徑,直到搜索成功或者到達取值范圍的端點。
  這樣,即使是失敗的幾次調用findpath()也只使用了較少的內存;同時也加快了路徑檢測的速度。因為小界限調用會更快地達到失敗條件,也提高了路徑暫被其他行動者阻斷時的執行性能。
  如果沒有成功找到通向目標點的帶球路徑,可能是路徑不存在或者搜索已經到了強加的極限,這時不應該讓球員反復調用失敗的搜索算法而延誤動作時機。為了使帶球智能體的反應更加靈敏,采取返回findpartpath(),先得到部分路徑的策略。只需修改findpath(),即設定搜索節點循環相應次數后停止計算(循環次數確保能產生一條合理長度的路徑),把離目標點最近的點作為子目標點,返回實現的部分路徑。從小界限開始趨向最大界限進行路徑搜索的偽碼實現如下:
  for i=0;i  if flag=1 then
  break;//某個界限下路徑搜索成功
  else
  if i==PathCoordinator() then
  findpartpath(constrain[i]);//返回部分路徑
  else
  findpath(constrain[i]);//調用整體路徑搜索
  end if
  end if
  end for
  帶球隊員通過一個小界限參數調用搜索算法,可以立即沿著返回的部分路徑移動,然后使用一個逐漸增大的界限參數再次調用搜索算法得到部分或全部路徑,帶球者最終會找到一條通往目的地的路徑,或者在一個離終點不遠的地方停止。總之,界限參數和返回部分路徑的方法可以使智能體的反應更加靈敏,不管發生什么情況,帶球隊員總會有所作為,而不是只站在原地。
4 應用效果測試
  本文進行的比賽測試是在SoccerServer10.xx版本下完成的。將基于細胞自動機的帶球路徑搜索策略應用到中南大學RoboCup仿真球隊(CSU_Yunlu 2005)中,先后對采用本文策略和不采用本文策略的CSU_YunLu仿真球隊作了長時間的測試。
  將未采用新策略的球隊和采用新策略的球隊與同一支仿真球隊比賽,運用仿真調試工具SoccerDoctor得到兩次比賽中帶球成功率的統計圖,如圖3、圖4所示。


  其中橫坐標為球員智能體的編號,縱坐標為帶球次數,深色柱形為相應球員帶球總次數,淺色柱形為相應球員帶球成功的次數。統計結果表明,未采用新策略以前球隊整體帶球成功率為77%,如圖3;采用新策略后的球隊整體帶球成功率為90%,如圖4。整套策略在RoboCup實時帶球過程中表現出令人滿意的運行性能。
  本文將細胞自動機算法和啟發式路徑搜索算法融合進帶球路徑搜索策略中,使智能體能夠對環境進行實時的分析預測,有效避免與對方球員的沖突并能高效地執行道路搜索。這樣帶球智能體行動得更快,對環境狀態改變的響應也更加靈敏,從而保證了帶球決策的實時性和高效性。在2005年中國機器人大賽RoboCup仿真組比賽中,CSU_Yunlu 2005云麓隊獲得了三等獎,達到了預期效果。
參考文獻
1 Remco de Boer,Jelle Kok.The Incremental Development of a Synthetic Multi-Agent System:The UvA Trilearn 2001 Robotic Soccer Simulation Team[D].University of Amsterdam,The Netherlands,2002;(2)
2 Coren E,Dorer K,Heintz F et al.Soccer Server Manual[EB/OL].http://ei.etl.go.jp/~noda/soccer/server/index.html,1999-7
3 Aoki T.Motion planning for multiple obstacles avoidance of autonomous mobile robot using hierarchical fuzzy rules[A]. Proceedings of IEEE International Conference on Multisensor Fusion and Integration for Intelligence System(M FI′94)[C]. Las Vegas:IEEE,1994.265~271
4 鐘碧良,張 祺,楊宜民.基于改進勢場法的足球機器人避障路徑規劃[J].控制理論與應用,2003;20(4):623~626
5 蔡自興,徐光佑.人工智能體及其應用(第三版)[M].北京:清華大學出版社,2004
6 彭 軍,吳 敏,曹衛華.RoboCup機器人足球仿真比賽的關鍵技術[J].計算機工程,2004;30 (4):49~51

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久国产精品电影| 欧美色图首页| 午夜精品福利在线观看| 亚洲美女视频网| 亚洲国产日韩一级| 欧美主播一区二区三区| 午夜日韩视频| 香蕉精品999视频一区二区| 亚洲一区二区三区免费观看 | 国产在线一区二区三区四区| 国产精品尤物| 国产精品亚洲视频| 国产欧美日韩精品一区| 亚洲欧洲综合| 一本大道久久精品懂色aⅴ | 亚洲免费精彩视频| 亚洲久久在线| 99在线精品免费视频九九视| 日韩视频在线一区| 一区二区三区日韩| 亚洲午夜三级在线| 午夜精品视频在线观看| 欧美一区视频在线| 久久精品亚洲精品| 另类尿喷潮videofree| 欧美aa国产视频| 欧美激情一区在线观看| 欧美日本国产在线| 国产精品久久久久国产精品日日| 国产精品免费小视频| 国产欧美日韩高清| 精品88久久久久88久久久| 精品成人久久| 亚洲精品一二| 亚洲一区二区在线免费观看| 亚洲欧美日韩另类精品一区二区三区| 性久久久久久久久| 最近中文字幕日韩精品| 99国产精品99久久久久久粉嫩| 一区二区精品| 欧美中文字幕视频在线观看| 久久免费一区| 欧美片在线播放| 国产精品色在线| 激情一区二区| 99精品热6080yy久久| 午夜精品国产更新| 亚洲国产精品一区二区www在线| 日韩视频在线永久播放| 亚洲欧美日韩国产一区| 久久久久久有精品国产| 欧美日韩高清区| 国产亚洲电影| 亚洲精品影院在线观看| 亚洲欧美中文日韩在线| 亚洲精品乱码| 欧美一二区视频| 欧美高清视频一区二区| 国产精品视频久久久| 伊人激情综合| 在线亚洲成人| 91久久精品国产91性色tv| 亚洲一区二区三区在线观看视频| 久久久噜噜噜久久人人看| 欧美日韩1区2区| 国产一区清纯| a91a精品视频在线观看| 亚洲国产精品va在线看黑人动漫| 亚洲激情啪啪| 午夜精品久久久久久久| 日韩小视频在线观看专区| 欧美在线视频一区| 欧美日本中文| 激情成人av| 亚洲一区二区三区精品视频| 亚洲免费成人| 久久久久久久欧美精品| 欧美视频在线一区| 亚洲大片在线| 久久不射中文字幕| 亚洲欧美www| 欧美经典一区二区| 国外视频精品毛片| 亚洲一区二区久久| 日韩午夜免费视频| 久久亚洲一区二区| 国产精品视频一区二区高潮| 亚洲精选一区二区| 亚洲欧洲偷拍精品| 久久欧美中文字幕| 国产精品欧美一区喷水| 日韩视频在线观看国产| 亚洲精品美女久久久久| 久久久久久亚洲精品中文字幕| 国产精品国产自产拍高清av王其 | 亚洲婷婷综合久久一本伊一区| 另类激情亚洲| 国产亚洲精品久| 亚洲欧美另类在线观看| 亚洲视屏在线播放| 欧美精品网站| 亚洲成人在线| 亚洲国产成人一区| 久久久久一本一区二区青青蜜月| 国产精品视屏| 亚洲一级二级| 亚洲免费人成在线视频观看| 欧美精品久久99久久在免费线| 激情小说另类小说亚洲欧美 | 欧美性理论片在线观看片免费| 亚洲日本在线观看| 最新中文字幕一区二区三区| 久久午夜精品| 国内视频一区| 亚洲高清不卡在线观看| 久久精品国亚洲| 国产视频一区三区| 午夜视频精品| 久久久国产精品亚洲一区 | 亚洲国产高清在线观看视频| 久久久999精品视频| 国产亚洲一区精品| 久久精品91久久香蕉加勒比| 久久精品视频在线| 好看的日韩av电影| 亚洲第一区中文99精品| 卡通动漫国产精品| 亚洲国产成人av在线| 亚洲精品一区二区三区蜜桃久 | 欧美亚洲网站| 久久久久久久久久久一区| 国产午夜亚洲精品羞羞网站| 欧美一级免费视频| 久久综合国产精品| 亚洲国产欧美一区| 在线亚洲欧美视频| 国产精品久久国产精品99gif| 亚洲性视频h| 久久riav二区三区| 国产一区二区三区无遮挡| 亚洲第一视频网站| 欧美电影打屁股sp| 日韩亚洲视频| 欧美亚洲免费电影| 好看的日韩视频| 日韩午夜在线视频| 国产精品vvv| 午夜欧美理论片| 免费一区视频| 一本一本久久a久久精品综合妖精| 亚洲欧美日韩一区二区三区在线| 国产美女精品视频免费观看| 久久经典综合| 欧美日韩国产999| 亚洲免费网址| 久久综合一区二区| 亚洲美女视频在线免费观看| 亚洲欧洲av一区二区| 国产一区日韩二区欧美三区| 日韩视频免费观看高清完整版| 欧美视频在线视频| 久久av二区| 欧美日韩午夜在线| 欧美一区免费视频| 欧美日韩成人免费| 午夜精品久久久久久久久久久| 欧美96在线丨欧| 在线亚洲伦理| 久热国产精品| 一区二区三区鲁丝不卡| 久久久久9999亚洲精品| 亚洲精品极品| 久久国产欧美日韩精品| 最近中文字幕mv在线一区二区三区四区 | 国产婷婷色一区二区三区| 亚洲人体大胆视频| 国产精品欧美在线| 日韩视频免费看| 国产日韩欧美在线观看| 99re66热这里只有精品3直播| 国产精品私人影院| 亚洲日本va午夜在线影院| 国产精品欧美风情| 日韩一级片网址| 国产一二三精品| 亚洲一区999| 亚洲高清免费在线| 久久国产婷婷国产香蕉| 99精品欧美一区二区三区| 老司机免费视频一区二区| 亚洲图片欧洲图片日韩av| 欧美第一黄网免费网站| 久久av在线看| 欧美午夜精彩| 亚洲精品中文字幕女同| 国产午夜精品视频| 亚洲免费视频网站| 亚洲精品在线视频| 狂野欧美激情性xxxx欧美| 亚洲免费视频成人|