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

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

Image 001.png

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

Image 002.png

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

Image 003.png

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

Image 004.png

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

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