姚千燕(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心, 廣州 510530)
Robocup3D仿真機(jī)器人截球技術(shù)的研究
姚千燕
(國家知識產(chǎn)權(quán)局專利局專利審查協(xié)作廣東中心, 廣州 510530)
摘 要:在Robocup3D仿真機(jī)器人世界杯足球比賽中,仿真機(jī)器人球員技術(shù)動(dòng)作設(shè)計(jì)的優(yōu)劣在很大程度上決定了球隊(duì)的強(qiáng)與弱,本文研究了Robocup3D仿真機(jī)器人截球技術(shù),將BP神經(jīng)網(wǎng)絡(luò)技術(shù)應(yīng)用到截球動(dòng)作中,通過實(shí)驗(yàn)發(fā)現(xiàn),采用該方法使得截球成功率大大提高。
關(guān)鍵詞:Robocup3D;機(jī)器人;截球;BP神經(jīng)網(wǎng)絡(luò)
機(jī)器人世界杯足球比賽簡稱Robocup,Robocup3D仿真比賽近似于人類足球比賽,克服了機(jī)器人硬件的多方面限制,解決了很多現(xiàn)階段硬件無法實(shí)現(xiàn)的功能,所以對多智能體系統(tǒng)(MΑS)和分布式人工智能(DΑI)的理論研究具有深遠(yuǎn)的影響。在Robocup3D仿真比賽系統(tǒng)中,每個(gè)機(jī)器人體系結(jié)構(gòu)包括世界模型、通信、高層決策、動(dòng)作模型等模塊。其中動(dòng)作模型中截球技術(shù)的優(yōu)劣對整個(gè)Robocup3D仿真比賽的結(jié)果具有重要的影響。本文將仿真機(jī)器人截球技術(shù)分為兩種情況,一種為遠(yuǎn)距離截球,另一種為近距離截球,將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用到遠(yuǎn)距離截球技術(shù)中,采用該方法縮短了截球時(shí)間,提高了截球成功率。
1.1 Robocup3D仿真系統(tǒng)結(jié)構(gòu)
采用Client/Server方式設(shè)計(jì)RoboCup3D仿真機(jī)器人足球比賽系統(tǒng),由監(jiān)視器和客戶端、服務(wù)器端組成該系統(tǒng)。對真實(shí)的物理三維世界的模擬可以由Robocup3D仿真環(huán)境實(shí)現(xiàn),該系統(tǒng)主要對服務(wù)器的通信、基本動(dòng)作及其決策、對球員的感知等基本功能模塊進(jìn)行了研究。圖1為仿真系統(tǒng)結(jié)構(gòu)示意圖。
圖1 RoboCup3D仿真比賽系統(tǒng)結(jié)構(gòu)
1.2 機(jī)器人截球技術(shù)
Robocup3D截球技術(shù)的研究目標(biāo)是要確定球員最佳截球點(diǎn),無論球距離自身距離為多遠(yuǎn),球員都可以攔截到球。最佳截球點(diǎn)由仿真足球的當(dāng)前位置信息以及速度信息確定,接下來使球員以最快的速度運(yùn)動(dòng)到該最佳截球點(diǎn),從而在比賽中獲得對球的掌控權(quán)。通過一些基本動(dòng)作指令,例如轉(zhuǎn)身指令、加速指令等,在實(shí)時(shí)分析球場信息之后,使得球員以最快的速度到達(dá)改最佳截球點(diǎn)。因?yàn)轭A(yù)測時(shí)間對于預(yù)測足球位置的精確度影響很大,如果能一兩個(gè)周期內(nèi)完成預(yù)測則相對精確,如果足球距離自身位置越遠(yuǎn),那么球員到達(dá)截球點(diǎn)的時(shí)間就越長,越不能精確預(yù)測足球的位置,下面將機(jī)器人截球技術(shù)分為兩種情況研究,一種為遠(yuǎn)距離截球技術(shù),另一種為近距離截球技術(shù)。
近距離截球就是要在一兩個(gè)周期內(nèi)攔截到距離自身位置較近的球,通常將踢球距離的六分之一之內(nèi)定義為距離自身較近。首先判斷對足球在比賽過程中一兩個(gè)時(shí)間周期之后的位置信息,接著預(yù)測球員在一兩個(gè)周期之后與球的距離。如果在兩個(gè)周期內(nèi)該距離不能小于踢球距離d的六分之一,則說明不能實(shí)現(xiàn)近距離截球。具體過程為,首先對球員下個(gè)周期所處的位置進(jìn)行預(yù)測,判斷能否在一個(gè)時(shí)間周期之內(nèi)截到,該判斷根據(jù)的是球員當(dāng)前的位置信息和速度信息,將球員下個(gè)周期自身位置沿視覺方向在水平面上的射影長度簡稱為射影長,以下個(gè)周期球的預(yù)測位置為中心,以足球半徑r+d/6為半徑。如果射影長與圓交點(diǎn)個(gè)數(shù)為1,那么該點(diǎn)為截球點(diǎn);如果射影長與圓的交點(diǎn)個(gè)數(shù)為2,距離球員自身預(yù)測位置最近的點(diǎn)就是最佳截球點(diǎn);如果射影長與圓的交點(diǎn)個(gè)數(shù)為0,則說明不能實(shí)現(xiàn)在一個(gè)周期內(nèi)截到球。在一個(gè)周期內(nèi)不能截到球的情況下,接著對兩個(gè)周期之內(nèi)能否截到球進(jìn)程判斷。第一步判斷能否通過運(yùn)行turn、dash動(dòng)作指令截到球,先對兩個(gè)周期之后的足球所處的位置信息p進(jìn)行預(yù)測;第二步執(zhí)行turnBodyΤoPoint指令,啟用預(yù)測函數(shù)predictΑfterΤurn,通過第二步使球員朝向設(shè)定的目標(biāo)位置轉(zhuǎn)身,并且對球員自身的位置信息進(jìn)行預(yù)測; playerSpeed_max表示球員最大球員速度,如果球員的預(yù)測位置與足球位置p的距離小于r+d+playerSpeed_max,表明可以在兩個(gè)周期內(nèi)截到球,反之判定在兩個(gè)時(shí)間周期之內(nèi)截不到球。
3.1 判斷截球點(diǎn)
采用解析法進(jìn)行遠(yuǎn)距離截球,預(yù)測出第i個(gè)周期后足球的位置信息p,然后設(shè)計(jì)出截球分析函數(shù),對球員到達(dá)該位置p所需要的周期數(shù)進(jìn)行計(jì)算,如果該周期數(shù)小于i,則表示能夠截到球,函數(shù)輸出截球所需周期數(shù)i以及截球點(diǎn)。
該方法的算法流程圖如圖2。
3.2 采用BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練截球
截球點(diǎn)確定之后,一般情況下采用嘗試的方法來確定采取dash 和turn這兩個(gè)動(dòng)作指令中的哪一個(gè),這樣就導(dǎo)致截球效率低,也就是說即便得到了截球點(diǎn)也可能截不到球。為了避免出現(xiàn)這種情況,在截球技術(shù)中使用人工智能技術(shù),其中神經(jīng)網(wǎng)絡(luò)技術(shù)計(jì)算簡單,適用于連續(xù)空間,采用神經(jīng)網(wǎng)絡(luò)訓(xùn)練截球動(dòng)作能夠滿足Robocup比賽的實(shí)時(shí)性要求。BP神經(jīng)網(wǎng)絡(luò)是現(xiàn)在比較成熟并且應(yīng)用較多的神經(jīng)網(wǎng)絡(luò)模型,該模型的基本思想是通過對輸入信號Xi進(jìn)行非線形變換得到輸出信號Yk,并且是通過隱層點(diǎn)使得輸入信號作用于輸出信號,由期望輸出量t、輸入向量X、以及期望輸出值t與網(wǎng)絡(luò)輸出值Y之間的差值組成每個(gè)網(wǎng)絡(luò)訓(xùn)練樣本,對輸出節(jié)點(diǎn)與隱層節(jié)點(diǎn)之間的聯(lián)接強(qiáng)度以及閾值、還有隱層節(jié)點(diǎn)與輸入節(jié)點(diǎn)之間的聯(lián)接強(qiáng)度值進(jìn)行調(diào)節(jié),經(jīng)過不斷的調(diào)節(jié)使得誤差能夠沿著梯度方向不斷降低,在不斷的訓(xùn)練學(xué)習(xí)之后,得到與最小誤差相關(guān)的閾值和權(quán)值。采用該訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對同類的樣本輸入信息進(jìn)行訓(xùn)練,自動(dòng)得到輸出誤差最小的信息。訓(xùn)練截球技術(shù)選取的是三層BP神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)模型如圖3所示。
圖2 解析法截球算法流程圖
圖3 BP神經(jīng)網(wǎng)絡(luò)截球模型
圖3中,將球速方向、球的方向、球距自身距離、球員速度方向和大小、球速大小作為截球BP神經(jīng)網(wǎng)絡(luò)的輸入量。成功截球采取的動(dòng)作為輸出量,可采取的動(dòng)作為dash和36個(gè)方向turn。網(wǎng)絡(luò)傳遞函數(shù):對上述樣本數(shù)據(jù)進(jìn)行訓(xùn)練,得到訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用來進(jìn)行截球。
4.1 實(shí)驗(yàn)環(huán)境與條件
4.2 結(jié)果分析
設(shè)定最小均方誤差為0.005,BP神經(jīng)網(wǎng)絡(luò)的樣本數(shù)據(jù)為30場Robocup3D足球仿真比賽中的500個(gè)截球動(dòng)作序列。學(xué)習(xí)訓(xùn)練之后網(wǎng)絡(luò)逼近均方誤差約為0.00532。訓(xùn)練后得到的誤差曲線如圖4所示:
圖4 誤差曲線
訓(xùn)練好神經(jīng)網(wǎng)絡(luò)之后,將該基于BP神經(jīng)網(wǎng)絡(luò)的截球算法在RoboCup3D仿真比賽中采用該基于BP神經(jīng)網(wǎng)絡(luò)的截球算法。通過編寫代碼在到仿真機(jī)器人截球程序中加入BP神經(jīng)網(wǎng)絡(luò),對100次截球情況進(jìn)行分析,進(jìn)行多次仿真比賽后,得到截球效果對比表。
表1 截球效果對比表
實(shí)驗(yàn)結(jié)果表明,在截球技術(shù)中采用BP神經(jīng)網(wǎng)絡(luò)技術(shù),縮短了截球時(shí)間,提高了截球成功率。
參考文獻(xiàn):
[1]曹成才.機(jī)器人足球仿真系統(tǒng)的研究[D].成都:四川大學(xué),2005:10-15.
[2]時(shí)長娥.Robocup機(jī)器人足球賽3D仿真組程序設(shè)計(jì)研究[D].南京:東南大學(xué),2005:1-5.
[3]Jan Lubbers.Rogier R.Spaans.The Priority/Confidence Model as a Framework for Soccer Agents[C].RoboCup-98:Robot Soccer World Cup II,Springer. 1998.pages 52-60.
[4]許元.RoboCup類人仿真足球機(jī)器人研究--SEU-RedSun仿真足球機(jī)器人隊(duì)伍設(shè)計(jì)與實(shí)現(xiàn)[D].南京:東南大學(xué),2008:1-5.
[5]胡翠娜.Robocup3D仿真比賽關(guān)鍵技術(shù)的研究[D].贛州:江西理工大學(xué),2007:1-7.
作者簡介:姚千燕 (1987-),女,河南陜縣人,碩士,研究實(shí)習(xí)員,研究方向:模式識別與智能系統(tǒng)。