《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 微型足球機(jī)器人行為產(chǎn)生方法與實(shí)現(xiàn)

微型足球機(jī)器人行為產(chǎn)生方法與實(shí)現(xiàn)

2008-06-03
作者:桂許軍1,趙 臣1,,王 薇2,,張

  摘 要: 將整個(gè)賽場(chǎng)劃分成10個(gè)區(qū)域,分析了機(jī)器人" title="器人">器人在活動(dòng)區(qū)域的基本行為,,確定了不同情況下的有利目標(biāo)點(diǎn)和反應(yīng)條件,,建立了機(jī)器人行為觸發(fā)機(jī)制。該行為產(chǎn)生方法將角色分配和行為產(chǎn)生相結(jié)合,,使場(chǎng)上每個(gè)機(jī)器人隨時(shí)都有明確的目標(biāo)和行為,,結(jié)構(gòu)層次分明,實(shí)時(shí)性強(qiáng),,便于升級(jí),。
  關(guān)鍵詞: 機(jī)器人足球 策略 行為產(chǎn)生 角色分配 反應(yīng)行為


  機(jī)器人足球賽為機(jī)械設(shè)計(jì)、自動(dòng)控制,、人工智能,、計(jì)算機(jī)視覺(jué)等提供了一個(gè)良好的研究與試驗(yàn)平臺(tái),已成為一個(gè)熱門研究課題,。微型機(jī)器人足球賽是機(jī)器人足球賽中最基本的一種,,它由視覺(jué)子系統(tǒng)、無(wú)線通信子系統(tǒng),、策略子系統(tǒng)以及足球機(jī)器人子系統(tǒng)組成,。比賽是在策略子系統(tǒng)指揮下自主進(jìn)行的,每秒鐘要處理25或30幀圖像,。當(dāng)擁有了良好的硬件設(shè)備后,,整個(gè)球隊(duì)水平主要決定于策略子系統(tǒng)的水平。其主要任務(wù)包括:場(chǎng)上攻防態(tài)勢(shì)判斷,、球隊(duì)中每個(gè)機(jī)器人角色劃分及任務(wù)分配,、機(jī)器人運(yùn)動(dòng)規(guī)劃、機(jī)器人間相互配合等,。由于場(chǎng)上形勢(shì)千變?nèi)f化,,決策時(shí)間又相當(dāng)短暫,所以如何構(gòu)建一個(gè)良好的策略子系統(tǒng)成為研究的重點(diǎn),。文獻(xiàn)[5]采用實(shí)時(shí)自組織模糊決策樹(shù)進(jìn)行決策,,將球所在區(qū)域以及雙方控球狀態(tài)劃分成12種情況,針對(duì)每種情況提出了相應(yīng)的策略,。由于判斷條件比較復(fù)雜,,實(shí)施起來(lái)難以達(dá)到滿意的效果。文獻(xiàn)[6]列出了常見(jiàn)的反應(yīng)行為,,并給出了有利目標(biāo)點(diǎn)的計(jì)算方法,。其缺點(diǎn)是沒(méi)有給出一種合適的行為觸發(fā)機(jī)制。本文分析了機(jī)器人應(yīng)有的幾種反應(yīng)行為,,確定了策略研究" title="策略研究">策略研究重點(diǎn),,提出了一種新的隊(duì)員角色分配策略,可以根據(jù)不同的情況產(chǎn)生不同的行為并動(dòng)態(tài)地分配給相應(yīng)的機(jī)器人,;設(shè)計(jì)了一套行為觸發(fā)機(jī)制,,能及時(shí)合理地觸發(fā)反應(yīng)行為,,從而保證場(chǎng)上每個(gè)機(jī)器人隨時(shí)都有明確的目標(biāo)和行為。
1 場(chǎng)地的劃分
  根據(jù)比賽過(guò)程分析,,將球場(chǎng)劃分成如圖1所示幾個(gè)區(qū)域,。區(qū)域1、2,、3、4為角區(qū),,5,、6為邊界區(qū)域,區(qū)域7為防守區(qū),,區(qū)域8為進(jìn)攻區(qū),,區(qū)域9、10分別為我方禁區(qū)和對(duì)方禁區(qū),。
2 行為標(biāo)志及有利目標(biāo)點(diǎn)的確定
2.1 足球機(jī)器人應(yīng)有的反應(yīng)行為及其條件

  下面分析攻/防隊(duì)員的基本行為,。守門員的動(dòng)作行為比較特殊,可參見(jiàn)文獻(xiàn)[7],。綜合分析足球機(jī)器人的場(chǎng)上行為,,可劃分為如下幾類:
  (1)射門
  當(dāng)機(jī)" title="當(dāng)機(jī)">當(dāng)機(jī)器人離球較近且處于較有利的位姿時(shí),如圖2所示,,應(yīng)毫不猶豫地進(jìn)行射門以破門得分,。射門行為的觸發(fā)條件為:
  ①機(jī)器人與球的距離d小于某個(gè)臨界值d0,,在實(shí)驗(yàn)中取d0=30cm,;
  ②機(jī)器人的朝向與機(jī)器人和球連線方向的夾角△θ小于某個(gè)臨界值θ0,,在實(shí)驗(yàn)中取θ0=30°,;
  ③機(jī)器人和球連線方向應(yīng)大致朝向?qū)Ψ角蜷T,,即規(guī)定其方向在對(duì)方禁區(qū)兩端和機(jī)器人連線范圍內(nèi),,如圖2中兩虛線包圍的范圍。
  (2)旋轉(zhuǎn)踢球
  當(dāng)球位于邊界區(qū)或者角區(qū),,且機(jī)器人又沒(méi)有很好的踢球位姿時(shí),,可以采用旋轉(zhuǎn)的辦法將球踢出邊界區(qū)或者角區(qū)。
  (3)觸界后退
  當(dāng)機(jī)器人碰到場(chǎng)地邊界時(shí),,應(yīng)停止前進(jìn)并快速后退,。
  (4)追球(或帶球" title="帶球">帶球前進(jìn))
  追球是機(jī)器人應(yīng)具有的最基本的行為之一。何時(shí)產(chǎn)生這種行為以及由哪個(gè)隊(duì)員來(lái)完成該行為將在后面防守區(qū)和進(jìn)攻區(qū)的行為規(guī)劃中加以確定,。
  (5)到目標(biāo)點(diǎn)
  當(dāng)一個(gè)機(jī)器人帶球進(jìn)攻時(shí),,另一個(gè)機(jī)器人需要跑到協(xié)攻位置,;在進(jìn)行防守時(shí)也需要搶先占據(jù)有利位置,這就是機(jī)器人的跑位問(wèn)題,。從當(dāng)前位置跑向目標(biāo)位置是機(jī)器人另一種最基本的行為,。
  策略研究的重點(diǎn)應(yīng)放在射門、追球,、到目標(biāo)點(diǎn)三種行為機(jī)制上,。

?


2.2 球位于防守區(qū)時(shí)的行為規(guī)劃
  當(dāng)球位于防守區(qū)7時(shí),場(chǎng)上隊(duì)員的主要任務(wù)是進(jìn)行防守和攔截,;當(dāng)條件具備時(shí),,又要不失時(shí)機(jī)地搶球" title="搶球">搶球進(jìn)行反攻,變被動(dòng)為主動(dòng),。
  分三種情況討論:
  (1)如圖3,,兩機(jī)器人均位于球的后方。這種情況比較危險(xiǎn),,兩機(jī)器人均不適合搶球,。此時(shí)兩機(jī)器人應(yīng)迅速回退到有利的防守點(diǎn),例如圖3中的1,、2兩點(diǎn),。上方的機(jī)器人目標(biāo)點(diǎn)可選為點(diǎn)1,下方的機(jī)器人目標(biāo)點(diǎn)為點(diǎn)2,。


  (2)兩機(jī)器人均位于球的前方,。這是一種比較有利的防守態(tài)勢(shì),既能占據(jù)有利的防守位置,,也可在條件允許時(shí)斷球反攻,。策略子系統(tǒng)的任務(wù)有三個(gè):其一是確定主防守隊(duì)員,一般情況下,,對(duì)方從哪一側(cè)進(jìn)攻,,就由相應(yīng)一側(cè)隊(duì)員作為主防守隊(duì)員;其二是進(jìn)行防守運(yùn)動(dòng)規(guī)劃,,在固守的前提下破壞掉對(duì)方的進(jìn)攻,;其三是確定斷球時(shí)機(jī),由防守轉(zhuǎn)為進(jìn)攻,,應(yīng)該判斷兩機(jī)器人是否適合搶球或者干擾對(duì)方進(jìn)攻,。兩個(gè)有利的防守點(diǎn)依然是圖3中的點(diǎn)1和點(diǎn)2??芍苯痈鶕?jù)兩機(jī)器人的y坐標(biāo)動(dòng)態(tài)分配有利防守點(diǎn):y坐標(biāo)大的機(jī)器人其目標(biāo)點(diǎn)為點(diǎn)1,,小的則為點(diǎn)2。當(dāng)只有一個(gè)防守隊(duì)員適合去斷球時(shí),,另一機(jī)器人要退守到最有利的防守點(diǎn),,如圖4中點(diǎn)1,。如果兩個(gè)機(jī)器人均適合搶球,則應(yīng)選擇更有利于搶球者,,另一機(jī)器人則退守到有利的防守點(diǎn),。


  不能只根據(jù)機(jī)器人與球的距離確定斷球機(jī)器人。如圖5所示,,雖然機(jī)器人1離球很近,,但當(dāng)機(jī)器人的朝向與機(jī)器人和球的連線之夾角過(guò)大時(shí),機(jī)器人很難向?qū)Ψ桨雸?chǎng)踢球,。此時(shí)機(jī)器人1應(yīng)向點(diǎn)1退守,,由機(jī)器人2去搶球。實(shí)驗(yàn)表明,,當(dāng)同時(shí)滿足下面條件時(shí)不利于機(jī)器人追球:
  ①機(jī)器人與球的距離d<10cm,;
 ?、跈C(jī)器人的朝向與機(jī)器人和球的連線夾角△θ>20°。
  如果經(jīng)過(guò)上述判斷,,兩機(jī)器人均適合搶球,,此時(shí)應(yīng)進(jìn)一步判斷哪個(gè)機(jī)器人更適合去搶球。為此,,定義搶球能力:
  
  式中,,k1、k2,、d,、△θ分別為距離加權(quán)因子、角度加權(quán)因子,、機(jī)器人到球的距離(cm),、機(jī)器人朝向與機(jī)器人和球連線之間的夾角(rad)。實(shí)驗(yàn)中k1取0.05,、k2取1.2時(shí)效果較好,,如圖6所示。


  在機(jī)器人適合追球的情況下同時(shí)判斷機(jī)器人是否適合射門,。如果適合射門,,則應(yīng)置相應(yīng)機(jī)器人行為標(biāo)志為射門標(biāo)志。
  (3)兩個(gè)機(jī)器人分別位于球的前方和后方,,如圖7,。此時(shí),應(yīng)該讓位于前方的機(jī)器人快速退守到有利防守點(diǎn)1,。如果位于球后方的機(jī)器人有較好的搶球或者干擾對(duì)方機(jī)器人的機(jī)會(huì),,則應(yīng)該讓該機(jī)器人去搶球,;如果該機(jī)器人不適合搶球,則應(yīng)該快速退守到有利的防守點(diǎn)2,,待穩(wěn)固防守后再伺機(jī)反攻,。


2.3 球位于進(jìn)攻區(qū)時(shí)的行為規(guī)劃
  當(dāng)球位于進(jìn)攻區(qū)8時(shí),我方隊(duì)員要把握好機(jī)會(huì)努力突破對(duì)方防線并爭(zhēng)取破門得分,,同時(shí),,也要注意隨時(shí)轉(zhuǎn)入防守??紤]到進(jìn)攻得手的關(guān)鍵是突破對(duì)方防線,,為此,采用一前一后,、左右適當(dāng)錯(cuò)開(kāi)的“雙機(jī)器人并進(jìn)”進(jìn)攻方式,。一旦主攻機(jī)器人受阻,助攻機(jī)器人可以馬上接球繼續(xù)進(jìn)攻,。如果丟球,,助攻機(jī)器人也可以立即爭(zhēng)搶或者盡快堵截,以爭(zhēng)取時(shí)間讓另一個(gè)機(jī)器人回防,。助攻機(jī)器人一般占據(jù)滿足下述要求的有利目標(biāo)點(diǎn):其x坐標(biāo)比球的x坐標(biāo)減2個(gè)車長(zhǎng),,y坐標(biāo)比球的y坐標(biāo)減1個(gè)半車長(zhǎng)(左路進(jìn)攻)或加1個(gè)半車長(zhǎng)(右路進(jìn)攻)。
2.4 球位于角區(qū)及邊界區(qū)的行為規(guī)劃
  當(dāng)球位于角區(qū)時(shí),,離球較近的機(jī)器人去追球,,另一機(jī)器人則占據(jù)有利位置。追球的機(jī)器人追到球時(shí),,一般采用旋轉(zhuǎn)踢球方式將球踢出角區(qū),。當(dāng)小球位于邊界區(qū)時(shí),采取的策略與在防守區(qū)及進(jìn)攻區(qū)時(shí)相似,,此外還要進(jìn)行是否進(jìn)行旋轉(zhuǎn)踢球的判斷,。若需要旋轉(zhuǎn)踢球,則進(jìn)一步判斷是順時(shí)針還是逆時(shí)針旋轉(zhuǎn),。
2.5 控球機(jī)器人的運(yùn)動(dòng)規(guī)劃
  當(dāng)機(jī)器人追到球后,,毫無(wú)疑問(wèn),它應(yīng)該向?qū)Ψ角蜷T方向運(yùn)動(dòng),,所以將控球機(jī)器人的目標(biāo)點(diǎn)定為對(duì)方球門中點(diǎn)比較合適,。此時(shí)機(jī)器人會(huì)帶球向?qū)Ψ角蜷T方向運(yùn)動(dòng)。在此過(guò)程中會(huì)判斷是否適合射門,,如果滿足射門條件則啟動(dòng)射門行為,。
3 角色分配及行為觸發(fā)方式
  角色分配就是將任務(wù)分配給場(chǎng)上的機(jī)器人,也就是設(shè)置機(jī)器人的行為標(biāo)志,并給出某些行為需要的目標(biāo)點(diǎn),。以上是以3對(duì)3比賽為例說(shuō)明的,,守門員固定,角色分配只需將兩個(gè)任務(wù)分配給兩個(gè)機(jī)器人,。在5對(duì)5或11對(duì)11比賽中,,有多個(gè)角色需要分配,下面給出一種通用的角色分配方法,。該方法保證每個(gè)機(jī)器人都能分配到任務(wù),,而且每個(gè)機(jī)器人的任務(wù)是惟一的,分配過(guò)程如下:
  (1)為每個(gè)機(jī)器人設(shè)置一個(gè)已分配標(biāo)志,,并初始化為未分配狀態(tài)(未分配狀態(tài)為0,,已分配狀態(tài)為1)。
  (2)找出最重要的待分配的任務(wù),。
  (3)進(jìn)入分配循環(huán),,依次查找各機(jī)器人的已分配標(biāo)志,若該機(jī)器人已分配任務(wù),,則檢查下一個(gè)機(jī)器人的該標(biāo)志,;若該機(jī)器人未分配任務(wù),則按一定的規(guī)則計(jì)算出該機(jī)器人針對(duì)該任務(wù)的性能指標(biāo),,并在循環(huán)中比較各個(gè)未分配任務(wù)的機(jī)器人的該指標(biāo)。找出該指標(biāo)最優(yōu)的機(jī)器人,,將該任務(wù)分配給它,,即將其行為標(biāo)志置成相應(yīng)值,并給出可能需要的目標(biāo)點(diǎn),,并將其已分配標(biāo)志置為1,。
  (4)對(duì)下一個(gè)待分配的任務(wù)重復(fù)步驟3,直到場(chǎng)上活動(dòng)的機(jī)器人均有確定的任務(wù),。
  當(dāng)設(shè)置好行為標(biāo)志以及可能用到的目標(biāo)點(diǎn)后,,就可以根據(jù)行為標(biāo)志觸發(fā)各個(gè)機(jī)器人的行為。策略的實(shí)施用到以下兩個(gè)主要函數(shù):
  (1)SetActionFlag( )用于設(shè)置各個(gè)機(jī)器人行為標(biāo)志及可能用到的目標(biāo)點(diǎn),。算法描述如下:
 ?、倥袛嗲蛩趨^(qū)域,計(jì)算每個(gè)機(jī)器人到球的距離dist[i]以及機(jī)器人朝向與機(jī)器人和球連線的夾角delta_theta[i],;
 ?、诟鶕?jù)球所在的區(qū)域進(jìn)入相應(yīng)的策略。根據(jù)機(jī)器人與球的位置關(guān)系(前方或后方),,確定總體任務(wù)(即待分配的各個(gè)任務(wù)),,根據(jù)上面的方法進(jìn)行角色分配,即設(shè)置各個(gè)機(jī)器人的行為標(biāo)志ActionFlag[i]及給出可能需要的目標(biāo)點(diǎn)target[i];
 ?、蹤z驗(yàn)各個(gè)機(jī)器人是否需要特殊反應(yīng)行為(如碰邊界后退),,如需要,則將行為標(biāo)志值置成相應(yīng)值,。函數(shù)返回,。
  (2)RobotAction( )用來(lái)根據(jù)各個(gè)機(jī)器人的行為標(biāo)志ActionFlag[i]及可能用到的target[i],調(diào)用相應(yīng)的底層動(dòng)作函數(shù),。RobotAction( )描述如下:
  判斷各行為標(biāo)志,,若為1,則后退,;為 2,,右旋;為3,,左旋,;為4,射門,;為5,,追球;為6則到目標(biāo)點(diǎn),。帶球前進(jìn)可以看作追球的一種特殊情況,。因此其行為標(biāo)志與追球相同。決策系統(tǒng)根據(jù)該行為標(biāo)志調(diào)用底層動(dòng)作函數(shù),,其內(nèi)部會(huì)根據(jù)該機(jī)器人與球的距離判斷是否已接觸球,,若已接觸球,則為帶球前進(jìn),,此時(shí)該機(jī)器人要采取一定的避障措施,。關(guān)于避障及路徑規(guī)劃算法在文獻(xiàn)[6]和文獻(xiàn)[8]中均有介紹,不再討論,。
  通過(guò)上述的角色分配及行為觸發(fā)方式,,可保證機(jī)器人各種反應(yīng)行為能及時(shí)地觸發(fā)。這樣,,每個(gè)調(diào)用周期均能讓各個(gè)機(jī)器人產(chǎn)生合理的行為,。
  本文分析了機(jī)器人在場(chǎng)上的基本行為,確定了不同情況下的有利目標(biāo)點(diǎn)及各機(jī)器人應(yīng)有的行為,,建立了機(jī)器人的角色分配和行為觸發(fā)機(jī)制,。該行為產(chǎn)生方法能夠動(dòng)態(tài)分配角色,使場(chǎng)上每個(gè)機(jī)器人隨時(shí)都有明確的目標(biāo)和行為,。該行為產(chǎn)生機(jī)制層次分明,,實(shí)時(shí)性好,便于擴(kuò)充和升級(jí)。實(shí)驗(yàn)及比賽結(jié)果表明,,球隊(duì)的攻防效果均得到了明顯的改善,。對(duì)行為規(guī)劃部分稍加改進(jìn),該行為產(chǎn)生方法即可用于5對(duì)5及11對(duì)11比賽中,。在現(xiàn)實(shí)中,,該行為產(chǎn)生方法可應(yīng)用在多個(gè)領(lǐng)域。例如在軍事領(lǐng)域,,該方法中的運(yùn)動(dòng)規(guī)劃,、角色分配及行為觸發(fā)機(jī)制可用于無(wú)人作戰(zhàn)平臺(tái)群的協(xié)作控制,如無(wú)人駕駛飛機(jī)群的編隊(duì)控制及與敵方的輔助攻防對(duì)抗,、海軍艦隊(duì)的編隊(duì)與輔助協(xié)同作戰(zhàn)以及未來(lái)戰(zhàn)場(chǎng)上機(jī)器人部隊(duì)的組成等,。
參考文獻(xiàn)
1 洪炳熔.機(jī)器人足球比賽——發(fā)展人工智能的里程碑[J].電子世界;2000(4):4~5
2 Minoru Asada,,Hiroaki Kitano.The RoboCup Challenge[J].Robotics and Autonomous Systems,,1999;29:3~12
3 王湘中,,喻壽益,,龍永紅.機(jī)器人足球賽中隊(duì)員角色的動(dòng)態(tài)分配策略[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào);2004:36(7):943~945
4 吳麗娟,,張春暉,,徐心和.小球機(jī)器人決策系統(tǒng)推理模型[J].東北大學(xué)學(xué)報(bào)(自然科學(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ī)器人守門員防守策略研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),,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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。