2024年3月15日發(fā)(作者:怎么賺錢白手起家)

RoboCup機(jī)器人足球仿真比賽開發(fā)設(shè)計(jì)
郭葉軍 熊蓉 吳鐵軍
(浙江大學(xué) 控制科學(xué)與工程學(xué)系 工業(yè)控制技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室 杭州 310027)
E-mail: yjguo@
摘要:機(jī)器人世界杯足球錦標(biāo)賽(The Robot World Cup),簡(jiǎn)稱RoboCup,通過(guò)提供一個(gè)標(biāo)準(zhǔn)任務(wù)來(lái)促進(jìn)分布
式人工智能、智能機(jī)器人技術(shù)及其相關(guān)領(lǐng)域的研究與發(fā)展。本文在介紹RoboCup仿真環(huán)境的基礎(chǔ)上,系統(tǒng)
完整地介紹了客戶端程序的開發(fā)設(shè)計(jì)流程,闡述了其中涉及到的一些主要問(wèn)題和算法,最后簡(jiǎn)要綜述目前
國(guó)際上的典型高層算法結(jié)構(gòu)。
關(guān)鍵詞: RoboCup
機(jī)器人足球比賽 多智能體系統(tǒng)
*
隨著計(jì)算機(jī)技術(shù)的發(fā)展,分布式人工智能中多智能體系統(tǒng)(MAS:Multi-agent System)
的理論及應(yīng)用研究已經(jīng)成為人工智能研究的熱點(diǎn)。RoboCup
1
則是人工智能和機(jī)器人技術(shù)的
一個(gè)集中體現(xiàn),被認(rèn)為是繼深藍(lán)戰(zhàn)勝人類國(guó)際象棋冠軍卡斯帕洛夫后的又一里程碑式挑戰(zhàn),
目標(biāo)是到2050年完全類人的機(jī)器人足球隊(duì)能夠戰(zhàn)勝當(dāng)時(shí)的人類足球冠軍隊(duì)伍。RoboCup包
括多種比賽方式,主要分為軟件仿真比賽和實(shí)物系列的機(jī)器人足球比賽。由于軟件仿真比賽
無(wú)需考慮實(shí)際的硬件復(fù)雜性,避免硬件實(shí)現(xiàn)的不足,可以集中于研究多智能體合作與對(duì)抗問(wèn)
題,因此,目前參加仿真組比賽的隊(duì)伍數(shù)目最多。本文的內(nèi)容涉及RoboCup仿真比賽,系
統(tǒng)地介紹了client程序開發(fā)設(shè)計(jì)完整流程,可以作為是開發(fā)完整的RoboCup仿真程序的入門
指南。
1.
RoboCup
仿真比賽介紹
2
RoboCup仿真比賽提供了一個(gè)完全分布式控制、實(shí)時(shí)異步多智能體的環(huán)境,通過(guò)這個(gè)
平臺(tái),測(cè)試各種理論、算法和Agent體系結(jié)構(gòu),在實(shí)時(shí)異步、有噪聲的對(duì)抗環(huán)境下,研究多
智能體間的合作和對(duì)抗問(wèn)題。仿真比賽在一個(gè)標(biāo)準(zhǔn)的計(jì)算機(jī)環(huán)境內(nèi)進(jìn)行,采用Client/Server
方式,由RoboCup聯(lián)合會(huì)提供Server系統(tǒng)rcsoccersim(版本8之前名為soccerrver),參賽
隊(duì)編寫各自的客戶端程序,模擬實(shí)際足球隊(duì)員進(jìn)行比賽。
Rcsoccersim通過(guò)提供一個(gè)虛擬場(chǎng)地,對(duì)比賽全部球員和足球的移動(dòng)進(jìn)行仿真,以離散
的方式控制比賽的進(jìn)程。仿真模型引入了真實(shí)世界的很多復(fù)雜特性,諸如物體移動(dòng)的隨機(jī)性、
感知信息和執(zhí)行機(jī)構(gòu)的不確定性、個(gè)人能力的物理有限性以及通訊量的受限性。Client程序
則表現(xiàn)為多個(gè)Agent(球員)為了共同的贏球目標(biāo)進(jìn)行多智能體間的合作規(guī)劃,因此,我們需
要進(jìn)行以下設(shè)計(jì):多線程的程序結(jié)構(gòu),client和rver間的同步策略,根據(jù)有限信息重構(gòu)足
球場(chǎng)上所有對(duì)象圖景,Agent的底層動(dòng)作設(shè)計(jì),Agent的高層決策智能算法。
2. 程序框架和同步策略
Rcsoccersim通過(guò)UDP/IP協(xié)議和client進(jìn)行通信,并沒(méi)有對(duì)client的開發(fā)和運(yùn)行環(huán)境提
出任何其他限制,只要支持UDP/IP協(xié)議即可,因此在開發(fā)環(huán)境和使用語(yǔ)言上可以有多種選
*
2002年11月收到《計(jì)算機(jī)工程與應(yīng)用》錄用通知
擇。由于rcsoccersim運(yùn)行在Linux/Unix系統(tǒng)下,而Linux遵循之GPL
3
許可和RoboCup開
放源碼、共享資源的思路有極大的相通之處,因此國(guó)際上一般都是選擇Linux系統(tǒng)作為開發(fā)
平臺(tái)。同時(shí)因?yàn)閣indows系列平臺(tái)的易用性,也有極少數(shù)參賽隊(duì)選擇,如清華大學(xué)
TsinghuAeolus
4
。考慮到有大量基于Linux系統(tǒng)的文檔資料,而且Linux系統(tǒng)具有高性能的
網(wǎng)絡(luò)特性和實(shí)時(shí)處理能力,在 Linux下同樣擁有強(qiáng)大功能的編輯、編譯、調(diào)試、源碼控制
程序,如vim, gcc, gdb, cvs以及程序開發(fā)集成環(huán)境KDevelop,絲毫不比Win平臺(tái)遜色,所
以本文選擇了Linux操作系統(tǒng)作為仿真開發(fā)平臺(tái)。
仿真開發(fā)環(huán)境一般需要有三臺(tái)計(jì)算機(jī)組成局域網(wǎng),其中一臺(tái)運(yùn)行rcsoccersim,另外兩臺(tái)
分別運(yùn)行兩個(gè)參賽隊(duì)的程序,三臺(tái)機(jī)器連到同一個(gè)Hub。目前主流配置是Redhat7.3,
PIV1.70GHz,256MRAM,100M網(wǎng)卡。
程序框架
5
RoboCup仿真是11VS11的比賽,每支參賽隊(duì)啟動(dòng)11個(gè)Agent(球員)進(jìn)程,每一個(gè)進(jìn)程
則由兩個(gè)線程組成。一個(gè)是IO處理線程,一旦網(wǎng)絡(luò)上有rcsoccersim發(fā)送的數(shù)據(jù)包,就被觸
發(fā)運(yùn)行;另外一個(gè)則是決策線程,選擇一個(gè)適當(dāng)?shù)臅r(shí)機(jī),利用rcsoccersim給出的有限信息
進(jìn)行處理決策,最后選擇一個(gè)合適的基本動(dòng)作發(fā)送至rcsoccersim。由于兩個(gè)線程都會(huì)利用/
更新足球場(chǎng)上對(duì)象的信息,所以還需要增加一個(gè)互斥量,對(duì)該信息庫(kù)進(jìn)行加鎖操作。
決策線程是關(guān)鍵,每個(gè)Agent內(nèi)部都維護(hù)著一個(gè)世界模型,作為對(duì)真實(shí)世界的知識(shí)表述,
由感知信息的處理結(jié)果和外部行為模塊所選擇動(dòng)作的預(yù)測(cè)結(jié)果來(lái)共同更新。外部行為根據(jù)高
2.1
層決策發(fā)送基本動(dòng)作指令。基本動(dòng)作作用于真實(shí)世界,從而改變Agent將來(lái)的感知。
從圖(1)可以看出,還需要解決client和rver間的同步問(wèn)題,維護(hù)和更新世界模型,Agent
高層決策算法以及為實(shí)現(xiàn)高層決策的底層動(dòng)作(圖示為外部行為)。
2.2 同步策略
Rcsoccersim執(zhí)行Agent球員發(fā)送的基本動(dòng)作指令,并據(jù)此相應(yīng)的更新比賽環(huán)境,同時(shí)
根據(jù)一定的時(shí)間間隔規(guī)律向每個(gè)Agent發(fā)送感知信息(visual, auditory , n_body)。Agent
則根據(jù)這些信息來(lái)確定下一步要做的基本動(dòng)作(dash,kick,turn,etc)
6
。在這樣的異步、離散控
制的仿真環(huán)境中,c/s間的同步機(jī)制顯得格外重要。在每一個(gè)離散周期(目前一個(gè)仿真周期為
100ms),Agent不能發(fā)送過(guò)多的動(dòng)作指令,否則只會(huì)被隨機(jī)選擇其中某個(gè)指令;另一方面,
在每一個(gè)離散周期,Agent也應(yīng)該發(fā)送起碼一個(gè)指令,否則就會(huì)浪費(fèi)該仿真周期。發(fā)送指令
的時(shí)間要足夠的早,要在本周期rcsoccersim停止接收Agent指令之前發(fā)送到,否則就會(huì)浪
費(fèi)本周期機(jī)會(huì);發(fā)送指令的時(shí)間又要足夠的晚,這樣才能在得到盡可能多信息的情況下,做
出一個(gè)更準(zhǔn)確的決策。那么,什么時(shí)候發(fā)送指令就成為問(wèn)題的關(guān)鍵。
阿姆斯特丹大學(xué)的UvA Trilearn
7
綜合研究了四種同步策略:外部基本策略(External
Basic)、內(nèi)部基本策略(Internal Basic)、固定外部窗策略(Fixed External Windowing)、柔性外
部窗策略(Flexible External Windowing)。經(jīng)過(guò)研究表明
8
,柔性外部窗策略是最佳選擇,該策
略如圖2所示。圖中點(diǎn)虛線代表自身感知信息,rcsoccersim在每個(gè)周期的開始時(shí)段發(fā)送,短
劃虛線代表視覺(jué)信息,實(shí)線則是Agent發(fā)送給rcsoccersim的動(dòng)作指令,陰影部分是Agent
的決策模塊。從圖2可看出,Agent最大限度的利用了最新信息,同時(shí)也保證每一周期都不
被浪費(fèi),確實(shí)是一個(gè)不錯(cuò)的同步機(jī)制。
3. 世界模型和底層動(dòng)作
在開始研究多智能體合作與對(duì)抗算法之前,我們還需要解決世界模型的維護(hù)以及底層動(dòng)
作的設(shè)計(jì)。
3.1 世界模型的維護(hù)
Agent僅能得到視野角度范圍內(nèi)的有限感知信息,而且有限的信息也帶有噪聲,而在
Agent內(nèi)部維護(hù)一個(gè)較為準(zhǔn)確的全局世界模型,是接下去所有決策的前提條件,具有重要意
義。
卡內(nèi)基梅隆大學(xué)的RoboCup仿真研究小組
9
提出世界模型更新算法
10
,結(jié)合Agent獲取
的感知信息以及對(duì)執(zhí)行動(dòng)作的預(yù)測(cè)結(jié)果進(jìn)行更新世界模型。當(dāng)更新Agent的世界模型時(shí),首
先更新Agent本身的位置、速度等值,然后更新球和其他球員。
n Agent本身
由于視覺(jué)信息是以相對(duì)坐標(biāo)表示的,那么首先要確定對(duì)應(yīng)視覺(jué)信息時(shí)刻的Agent本身
的絕對(duì)坐標(biāo)。以視覺(jué)信息為主,再考慮自身感知信息以及動(dòng)作預(yù)測(cè)結(jié)果來(lái)補(bǔ)充更新Agent
本身信息。
n 足球
在決策過(guò)程中,足球的位置和速度對(duì)動(dòng)作的選擇是一個(gè)相當(dāng)關(guān)鍵的因素。因此,要盡可
能及時(shí)獲得關(guān)于足球的精確信息。主要利用視覺(jué)信息中的相對(duì)值來(lái)更新足球?qū)ο蟮奈恢煤退?/p>
度。當(dāng)決定是否要截球、是否要踢球時(shí),球的速度是非常重要的,而在視覺(jué)信息中通常不給
出球的速度,因此當(dāng)需要得到足球速度值時(shí),可以通過(guò)原來(lái)的位置和當(dāng)前的位置來(lái)計(jì)算球的
速度。
n 其他球員
由于經(jīng)常會(huì)因?yàn)榫嚯x原因不能看到所有球員的號(hào)碼及所屬隊(duì)名,甚至有些球員將不在視
野范圍內(nèi),因此很難跟蹤每個(gè)球員的位置。我們需要建立盡可能準(zhǔn)確的世界模型,包括場(chǎng)上
所有對(duì)象信息。
通常情況下,球員位置和速度的確定和球所采用的方法一樣。所額外增加的是視覺(jué)信息
中所提供的球員的面向。
在不能獲知球員的全部信息時(shí),可用該球員的原先位置來(lái)消除這種不確定性。由于已知
一個(gè)球員在一個(gè)周期內(nèi)所能夠移動(dòng)的最大距離,因此當(dāng)所得到的一個(gè)球員信息沒(méi)有標(biāo)識(shí)時(shí),
可以通過(guò)原來(lái)球員的位置來(lái)確定它的標(biāo)識(shí)。
3.2 底層動(dòng)作介紹
當(dāng)一個(gè)良好的算法被設(shè)計(jì)后,同樣需要完善的底層動(dòng)作分解實(shí)現(xiàn)之,底層動(dòng)作主要包括
跑位、傳球、截球、帶球、斷球、射門等個(gè)人技術(shù)。這些技術(shù)動(dòng)作是最基本的,是實(shí)現(xiàn)高層
的復(fù)雜策略所必不可少的,每個(gè)都是復(fù)合動(dòng)作,實(shí)現(xiàn)都需要多個(gè)周期,由多個(gè)基本命令(dash,
kick,turn)組成。
l 跑位:在決策出跑位點(diǎn)后,在跑位過(guò)程我們需要考慮世界模型的準(zhǔn)確與完備,即
視線不能老是對(duì)著跑位點(diǎn),適當(dāng)時(shí)候還應(yīng)該轉(zhuǎn)身掃描獲取場(chǎng)上對(duì)象情況。
l 傳球:掃描傳球路線,確定傳球力量。保證足球不會(huì)被對(duì)方球員所截獲。
l 截球:已知足球速度方向,分析各球員的得球能力。
l 帶球:不需要保證足球每個(gè)周期都在可踢范圍內(nèi),只要保證自己能最早截球即可,
可調(diào)用截球模塊來(lái)重新獲得足球控制權(quán)。
l 斷球:當(dāng)雙方近距離爭(zhēng)搶足球時(shí),如何斷球,奪取足球的控制權(quán)。
l 射門:可以參考傳球模塊,需要增加對(duì)對(duì)方守門員的額外考慮。
底層動(dòng)作的實(shí)現(xiàn)可采用幾何的方法對(duì)運(yùn)動(dòng)模型進(jìn)行解析計(jì)算,也可采用神經(jīng)網(wǎng)絡(luò)的方法
進(jìn)行場(chǎng)景訓(xùn)練,使用監(jiān)督學(xué)習(xí)的方式,通過(guò)對(duì)多層前饋神經(jīng)元網(wǎng)絡(luò)的訓(xùn)練,實(shí)現(xiàn)如帶球,傳
球,射門等基本技術(shù)。基于神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)在機(jī)器人足球領(lǐng)域已經(jīng)有所研究
11
,該文提出的
方法也適用于仿真領(lǐng)域。
4. 高層算法簡(jiǎn)介
高層決策研究——多智能體的合作與對(duì)抗——是RoboCup仿真項(xiàng)目的最終研究目標(biāo)。
在機(jī)器人足球系統(tǒng)的開發(fā)中 ,近年來(lái)迅速發(fā)展的先進(jìn)智能算法被充分利用,并取得了很好的
效果。
Peter Stone
12
使用層學(xué)習(xí)技術(shù)來(lái)設(shè)計(jì)機(jī)器人的基本動(dòng)作和頂層決策。Kostas Kostiadis
13
利
用再勵(lì)學(xué)習(xí)方法實(shí)現(xiàn)多機(jī)器人系統(tǒng)中的合作行為。Endo Kazuaki et al.
14
運(yùn)用遺傳算法來(lái)優(yōu)化
系統(tǒng)的參數(shù)。層學(xué)習(xí)技術(shù)綜合了慎思結(jié)構(gòu)和反應(yīng)式結(jié)構(gòu),有很成功的應(yīng)用。RoboCup仿真
比賽的2001世界冠軍清華大學(xué)隊(duì)
15
設(shè)計(jì)了層結(jié)構(gòu)作為機(jī)器人的系統(tǒng)結(jié)構(gòu),使用神經(jīng)元網(wǎng)絡(luò)
實(shí)現(xiàn)全隊(duì)的基本隊(duì)形,然后按照智能水平從低到高的順序,建立整個(gè)機(jī)器人足球比賽系統(tǒng),
并應(yīng)用于實(shí)踐中。
5. 結(jié)束語(yǔ)
本文較為系統(tǒng)地介紹了開發(fā)RoboCup仿真程序的完整過(guò)程,特別以較多的篇幅介紹仿
真程序開發(fā)設(shè)計(jì)中涉及的一些主要問(wèn)題與算法。本文旨在降低RoboCup仿真比賽的進(jìn)入壁
壘,減少開發(fā)人員的重復(fù)性勞動(dòng),將更多的精力投入到高層算法上來(lái)。
References
1
/
2 Ehsan Foroughi, Fredrik Heintz , et al. Urs Manual RoboCup Soccer Server,2001.
/sourceforge/srver/
3
/copyleft/
4
/robocup/
5
薛宏濤 沈林成 常文森. PTS領(lǐng)域中的Agent體系結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn). 國(guó)防科技大學(xué)自動(dòng)控
制系. 計(jì)算機(jī)工程與應(yīng)用.2000,第36卷第7期.
6
Ehsan Foroughi, Fredrik Heintz , et al. Urs Manual RoboCup Soccer Server,2001.
/sourceforge/srver/
7
/~jellekok/robocup/index_
8
Romco de Boer & Jelle Kok. The Incremental Development of a Synthetic Multi-Agent System:
The UvA Trilearn 2001 Robotic Soccer. Faculty of Science University of Amsterdam.
/~jellekok/publications/2002/
9
/~robosoccer/
10
Mike Bowling & Peter Stone & Manuela Veloso. Predictive Memory for an Inaccessible
Environment. Computer Science Department Carnegie Mello University Pittsburgh PA
15213-3890.
11
洪炳熔 薄喜柱 韓學(xué)東. 基于人工神經(jīng)網(wǎng)絡(luò)的足球機(jī)器人分層學(xué)習(xí)研究. 哈爾濱工業(yè)大
學(xué)計(jì)算機(jī)系智能機(jī)器人研究室. 計(jì)算機(jī)工程與應(yīng)用.2001,第37卷23期.
12
Peter Stone. Layered Learning in Multi-Agent Systems. School of Computer Science Carnegie
Mellon University. Pittsburgh, PA 15213-3891
13
Kostas K & Hu Huosheng. Reinforcement Learning and Co-operation in a Simulated
Multi-agent System [A]. Proceedings of the 1999 IEEE/RSJ International Conference on
Intelligent Robots and Systems[C]. Japan: IEEE, 1999, 990-995
14
Endo K & Ito S & Yamaguchi H, et al. Team Description for “DONGURI”[A]. Hiroki K.
RoboCup-98: Robot Soccer World Cup II [C]. Berlin: Springer, 1998, 305-308.
15
李實(shí), 陳江, 孫增圻. 清華機(jī)器人足球隊(duì)的結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn). 清華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)
系, 智能技術(shù)與系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室. 清華大學(xué)學(xué)報(bào)(自然科學(xué)版)2001年第41卷第7期.
Design of Simulated Robots in RoboCup Tournament
Guo Yejun Xiong Rong Wu Tiejun
(National Lab. of Industrial Control Technology, Department of Control Science and Engineering,
Zhejiang University, Hangzhou, 310027)
Abstract: RoboCup(the Robot World Cup Tournament) contributes greatly to the development of Distributed
Artificial Intelligence(DAI), Robotic, etc, by providing a standard platform to rearchers and engineers in tho
fields. In this paper, bad on a simulated model of RoboCup, the design procedures as well as veral related
problems and algorithms for RoboCup Agents are introduced in detail, and a typical structure of the top-level
strategy in RoboCup is prented briefly.
keywords: RoboCup DAI Rcsoccersim MAS
作者簡(jiǎn)介: 郭葉軍,男,浙江大學(xué)碩士研究生,主要研究方向:智能機(jī)器人、
多智能體系統(tǒng)、模式識(shí)別;熊蓉,女,浙江大學(xué)工程師,主要研究方向:智能機(jī)
器人、分布式集中式控制理論、網(wǎng)絡(luò)數(shù)據(jù)庫(kù);吳鐵軍,男,浙江大學(xué)教授,博導(dǎo),
主要研究方向:大系統(tǒng)智能控制與優(yōu)化,人機(jī)協(xié)同控制與決策,混雜系統(tǒng)智能控
制,多智能體分散控制,智能系統(tǒng)理論在復(fù)雜工業(yè)過(guò)程中的應(yīng)用。
本文發(fā)布于:2024-03-15 07:42:16,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://m.newhan.cn/zhishi/a/171045973656050.html
版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:RoboCup 機(jī)器人足球仿真比賽開發(fā)設(shè)計(jì).doc
本文 PDF 下載地址:RoboCup 機(jī)器人足球仿真比賽開發(fā)設(shè)計(jì).pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |