《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > RoboCup 3D類人仿真比賽基礎(chǔ)架構(gòu)設(shè)計(jì)和控制系統(tǒng)
RoboCup 3D類人仿真比賽基礎(chǔ)架構(gòu)設(shè)計(jì)和控制系統(tǒng)
2015年微型機(jī)與應(yīng)用第8期
陳苗芳,王子瓊,楊為民
(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601)
摘要: 隨著仿真機(jī)器人在國內(nèi)國外迅速發(fā)展,對于仿真機(jī)器人的設(shè)計(jì)與提高也受到更多人的重視。提出了RoboCup機(jī)器人足球仿真中的關(guān)鍵性部分——基礎(chǔ)架構(gòu)設(shè)計(jì),同時(shí)介紹了仿真機(jī)器人的系統(tǒng)環(huán)境、代理環(huán)境等。為了提高機(jī)器人的工作效率,著重討論了機(jī)器人對于足球的定位和控球問題。
Abstract:
Key words :

  摘  要: 隨著仿真機(jī)器人在國內(nèi)國外迅速發(fā)展,對于仿真機(jī)器人的設(shè)計(jì)與提高也受到更多人的重視。提出了RoboCup機(jī)器人足球仿真中的關(guān)鍵性部分——基礎(chǔ)架構(gòu)設(shè)計(jì),同時(shí)介紹了仿真機(jī)器人的系統(tǒng)環(huán)境、代理環(huán)境等。為了提高機(jī)器人的工作效率,著重討論了機(jī)器人對于足球的定位和控球問題。
  關(guān)鍵詞: 機(jī)器人足球;類人機(jī)器人;定位
0 引言
  RoboCup 3D類人仿真比賽[1]是一項(xiàng)類人機(jī)器人足球賽,需要極其逼近真實(shí)的比賽環(huán)境,并且仿真機(jī)器人能夠模擬人的動作。
  參賽的機(jī)器人必須是參賽隊(duì)伍自主研制的、具有人的基本動作的機(jī)器人,其對外部信息的獲取只能通過頭部的攝像頭拍攝圖片,經(jīng)處理再傳給機(jī)器人。比賽的場地是450 cm×300 cm,雙方分為藍(lán)方(機(jī)器人和球門藍(lán)色)和橙方(機(jī)器人和球門橙色),標(biāo)準(zhǔn)的Nao機(jī)器人高57 cm,重4.5 kg,擁有22個(gè)自由度:每條腿6個(gè),每條手臂4個(gè),頸部2個(gè),如圖1所示。

Image 001.png

  最新的賽制加入了異構(gòu)要求,需要使用三種不同類型的機(jī)器人,它們的區(qū)別在于手和腿的長短各不相同,并且出現(xiàn)了一種擁有腳趾的機(jī)器人,更加符合現(xiàn)實(shí)世界里的比賽情況,但也對機(jī)器人建模、行為模擬以及參數(shù)調(diào)整提出了更高的要求。
  RoboCup類人組比賽是一項(xiàng)代表機(jī)器人發(fā)展最高水平的仿人機(jī)器人競技比賽。機(jī)器人對外部環(huán)境的感知只能通過位于機(jī)器人頭部的可見光波段下的視覺傳感器來進(jìn)行,因此,RoboCup類人組比賽是一項(xiàng)全自主的類人足球機(jī)器人比賽。
1 仿真系統(tǒng)描述
  比賽要求在官方提供的模擬器SimSpark中進(jìn)行比賽和模擬,如圖2所示。

Image 002.png

  SimSpark使用的是一種能夠逼真模擬和檢測剛體運(yùn)動中碰撞和摩擦的開源動態(tài)引擎庫(ODE)。該庫在2010年添加了視覺遮擋和聲音傳感器。這個(gè)模擬器平臺在不需要機(jī)器人硬件成本投資的情況下促進(jìn)了在復(fù)雜的仿真環(huán)境中低級類人機(jī)器人和多智能體系統(tǒng)的仿真控制的研究,為智能體有效地在繁重的訓(xùn)練中學(xué)習(xí)基礎(chǔ)解決方案提供了可能。
  SimSpark模擬器是仿真過程的服務(wù)主機(jī),每個(gè)參賽隊(duì)的機(jī)器人通過TCP端口連接到主機(jī)。各隊(duì)伍的11個(gè)機(jī)器人進(jìn)程并行運(yùn)行并且除了通過一個(gè)有限的數(shù)據(jù)通道通信外不能隨意地相互通信。在模擬過程中,客戶機(jī)向服務(wù)器每隔20 ms發(fā)送一次力矩命令,但是每60 ms接受一次視頻信息。
  在SimSpark中,客戶機(jī)不能夠看見其他的機(jī)器人、足球和在這20×30場地上的任何標(biāo)記。球場上有8個(gè)分布在球場邊角和球門上的機(jī)器人可辨識的標(biāo)記,它們的坐標(biāo)對用戶開放。
  類人仿真系統(tǒng)[2]由Server、Monitor和Agent 3個(gè)主要部分組成[3]。
  Server是能使不同的球隊(duì)進(jìn)行足球比賽的系統(tǒng),比賽以C/S結(jié)構(gòu)進(jìn)行,要求球隊(duì)的開發(fā)工具支持UDP/TCP連接(目前僅使用TCP協(xié)議),對實(shí)現(xiàn)沒有任何限制。客戶端每個(gè)Agent都是獨(dú)立的進(jìn)程,通過給定的端口與Server連接。服務(wù)器啟動及比賽流程如圖3所示。

Image 003.png

  Monitor是一個(gè)可視化的工具,顯示虛擬場地及比賽過程。
  RoboCup 3D類人仿真比賽[4]采用的是11V11的模式。當(dāng)Agent和Server通過給定的端口連接后,所有的信息都通過該端口傳遞,各Agent從Server接收感知信息,感知信息包括其他球員、場地標(biāo)志等的相對位置以及其他比賽狀態(tài)信息,球員對收到的信息進(jìn)行分析處理并做出下一個(gè)動作,將該動作的請求發(fā)送給Server,Server接收到這些消息后執(zhí)行請求并相應(yīng)地更新環(huán)境,然后將感知信息發(fā)回每個(gè)Agent,如此反復(fù),直到比賽結(jié)束。
2 代理體系結(jié)構(gòu)
  代理客戶端運(yùn)行的“感覺”、“思考”和“行為”在同一個(gè)模擬周期序列。在“感覺”階段,代理從SimSpark服務(wù)器接收傳感器信息,對自身和其他物體進(jìn)行定位,構(gòu)建世界模型。同時(shí),它能根據(jù)受力感知器讀數(shù),決定如果落下或者檢測到任何跌倒,它立即執(zhí)行“起身”行為。否則,代理去“思考”的階段?!八伎肌彪A段,對機(jī)器人進(jìn)行環(huán)境分析,并決定做什么。在本戰(zhàn)術(shù)中,玩家的角色(除了守門員是固定的球員之一)是動態(tài)定位和分配角色的。這一階段也決定了高層次的行為,如在哪個(gè)方向,阻止或踢球,并在移動或運(yùn)球。
  “行為”階段執(zhí)行兩種類型的行動:簡單的行為和行走。簡單的動作,如正從地上爬起來、守門員擋球踢,由關(guān)節(jié)角度序列進(jìn)行代理設(shè)置。一個(gè)有限自動機(jī)的目的是監(jiān)測行動和處理異常,使用PID控制器來計(jì)算各關(guān)節(jié)所需要的扭矩?;谠诰€模式所描述的行走軌跡,按照步長和轉(zhuǎn)角的腳步規(guī)劃計(jì)算,然后使用逆運(yùn)動學(xué)獲得相應(yīng)的關(guān)節(jié)角度。
3 定位
  3.1 參數(shù)要求
  SimSpark服務(wù)器的簡化視覺系統(tǒng)提供的相機(jī)和物體之間的相對位置在球坐標(biāo)系如圖4所示,因此不需要圖像處理。然而,機(jī)器人只能看到120°范圍內(nèi)的事物,所以需要處理與視覺的限制方法來實(shí)例化。
  仿人機(jī)器人自定位方法估計(jì)和局部坐標(biāo)方向的位置v相對于世界坐標(biāo)系的w(參見圖4)[5]。這個(gè)問題涉及至少6個(gè)配置參數(shù)A{){`P]7L1}(PR`I1ZOJ]F3.jpg,很難用有限的里程計(jì)和傳感器的運(yùn)動模型建立的關(guān)系。同時(shí),大多數(shù)時(shí)候,機(jī)器人實(shí)際上定位的要求是當(dāng)它直立行走在平坦的表面和髖關(guān)節(jié)被限制在一個(gè)水平面,因此,]NULZM9$A$A}13R`DDY3$Y0.jpg(高度、滾動和俯仰)是在一個(gè)小范圍的界。所以,在總體上機(jī)器人只需要預(yù)測二維位置(x,y)。

Image 004.png

  3.2 3D倒立擺
  如圖5所示,把踝關(guān)節(jié)作為基準(zhǔn)坐標(biāo)P0=(x0,y0,z0),腳關(guān)節(jié)到腳邊緣距離為La、Lb、Lc和Ld。質(zhì)心位置為Pcog=[xcog,ycog,zcog]T,ZMP為Pzmp=[xzmp,yzmp,zzmp]T。根據(jù)ZMP的定義,當(dāng)只考慮單腿支撐,ZMP是在腳的中心,所以機(jī)器人的穩(wěn)定性是最好的。在獲取ZMP的位置之后[5],通過行走參數(shù)和相應(yīng)的COG位置,得到計(jì)算單位。然后在腰部承擔(dān)相對質(zhì)心的位置不變,并直接獲得腰位置。最后,通過把整個(gè)腿關(guān)節(jié)角度的運(yùn)動學(xué)逆解,得到腳和腰部的位置,進(jìn)而計(jì)算腳的軌跡,使其準(zhǔn)時(shí)到達(dá)所需位置。
4 控球決策
  機(jī)器人足球的數(shù)目從2010年的6個(gè)變?yōu)?011年的9個(gè),現(xiàn)在是11個(gè),這加重了團(tuán)隊(duì)合作的重要性。盡管增加了機(jī)器人的數(shù)目,但是控球的機(jī)器人只有一個(gè)。到目前為止,機(jī)器人之間的遠(yuǎn)距離傳球?qū)Υ蠖鄶?shù)隊(duì)來說還是不現(xiàn)實(shí)的,帶球者對球的控制才是贏球的關(guān)鍵。
  在模型中,運(yùn)球前進(jìn)的人是被稱為英雄的角色,在競賽中承擔(dān)著最重的負(fù)擔(dān)。在策略中,代理首先根據(jù)球來選擇一個(gè)編隊(duì),然后選擇一個(gè)英雄。代理的視角是受限制的,每個(gè)代理感知自我和其他球員的位置存在一定的偏差,多個(gè)英雄可能會出現(xiàn)在同一時(shí)間,造成混亂的碰撞球,這給控球帶來了負(fù)面影響。為了解決這個(gè)問題,采用投票的方法選擇最好的英雄,使用通信系統(tǒng)同步每個(gè)代理的選擇(因?yàn)樗袝r(shí)間延遲)。在通信系統(tǒng)中,代理不能100%確定自己的選擇,給每個(gè)投票一個(gè)權(quán)重來描述一個(gè)概率值(0,1)。
  當(dāng)英雄在運(yùn)球時(shí),確保其他球員保持優(yōu)勢地位,協(xié)助攻擊。每個(gè)角色的分配(或位置)根據(jù)機(jī)器人的位置形成相應(yīng)的編隊(duì)。與此同時(shí),也有其他同步角色在待定中,以保持攻擊的順序,來防止?jié)撛诘呐鲎驳娘L(fēng)險(xiǎn)[6]。
  在這里,使用以下標(biāo)準(zhǔn)選擇英雄:(1)球員是否下降;(2)球是否可見的球員;(3)球員與球的距離;(4)球員在球的前面還是后面(球員在球前通常需要額外的時(shí)間轉(zhuǎn)身);(5)球員是否是守門員(競爭規(guī)則規(guī)定守門員必須第一);(6)這一位運(yùn)動員在過去的周期是否是英雄。
5 結(jié)論
  建立類人機(jī)器人,從底層控制優(yōu)化和學(xué)習(xí)問題到高層決策都涉及廣泛的知識。同時(shí),在競賽中隨著模擬實(shí)時(shí)性要求越來越高,必須限制算法的計(jì)算復(fù)雜度。在高動態(tài)環(huán)境噪聲環(huán)境下,使用概率方法準(zhǔn)確定位機(jī)器人。設(shè)計(jì)一個(gè)動態(tài)腳步跟隨消耗少量計(jì)算能力和層次決策機(jī)制來實(shí)現(xiàn)球員之間的有效合作。
  機(jī)器人個(gè)體的行為,尤其是行走技能,仍將是引導(dǎo)Robocup3D的主要因素。以后的工作重點(diǎn)是著重提高機(jī)器人行動的控制和行走的穩(wěn)定性,同時(shí)充分利用異構(gòu)機(jī)器人的優(yōu)勢。
  參考文獻(xiàn)
  [1] 舒文杰,耿麗娜,鄭志強(qiáng).RoboCup仿真研究[J].系統(tǒng)仿真學(xué)報(bào),2004,16(10):2220-2222.
  [2] 于秀麗,魏世民,廖啟征.仿人機(jī)器人發(fā)展及其技術(shù)探索[J].機(jī)械工程報(bào),2009,45(3):71-75.
  [3] 程顯毅,王軍,張俊.RoboCup 3D Server分析[J].計(jì)算機(jī)工程與科學(xué),2006,28(3):119-122,130.
  [4] 鮑敦橋.仿真類人機(jī)器人設(shè)計(jì)及高層決策方法的研究[D].合肥:合肥工業(yè)大學(xué),2009.
  [5] 許元.RoboCup機(jī)器人足球賽3D仿真程序設(shè)計(jì)研究[D].南京:東南大學(xué),2005.
  [6] 胡翠娜.RoboCup 3D仿真比賽關(guān)鍵技術(shù)的研究[D].贛州:江西理工大學(xué),2007.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。