FC PORTUGAL 3D 仿真足球队:
体系机构,底层技术和根据新的RoboCup3D仿真器优化的队伍策略
Hugo Marques, Nuno Lau and Luis Paulo Ries
翻译:许元xychn15@yahoo.com.cn
摘要: 这篇文章描述的是最近RoboCup3D比赛中FC Portugal 3D 仿真足球队agent的建立。新的3D仿真器发布版本是0.2版而相关文档几乎没有。因此,这篇文章,除了描述FC Portugal 3D 仿真足球队的方法,还描述了rcssserver3D仿真器的主要特点。
关键字:人工智能,多智能体系统,机器人仿真足球,物理模型,FC Portugal。
第1章.绪论
RoboCup 是一个国际性项目,目标是研究多智能体系统和智能机器人(Kitano et al 1995)。它包含许多比赛像机器人搜索和援救、足球比赛。每个项目又分仿真组和实物机器人组。
仿真足球比赛立志于设计一批agent参与足球比赛,使他们比其他队进更多的球。第一届这个比赛的世界杯1997年在名古屋举行。这个比赛除了仿真组还有中型组、小型组和有腿组。
仿真比赛是基于足球比赛仿真器(Chen et al 2002)。这个仿真器建立了一个虚拟的2D场地和虚拟的机器人能力。Agent作为server的client,从server接收感觉并发送动作到server。每个agent控制一个独特的队员。仿真器十分真实地包含了有限的视角,低带宽的球员通讯,等等。一个教练agent在没有嘈声的视觉中。这个agent可以在适当的时候发送指示给其他的agent,像比赛暂停的时候。
2001年一个新的内容加入了——教练比赛。这个比赛目的是改进比赛的策略来提高agent的表现。
2004年3D足球仿真比赛诞生。和2D足球仿真比赛相同的目的,新的比赛加入了第三维使得比赛更加真实。3D足球仿真器只是0.2版。它还没有完善,而相关文档几乎没有。这篇文章的一个目的正好是收集关于server的相关信息使得agent拥有更精确的和智能的策略。
这篇文章是这样组织的。
第2章给出了3D足球仿真器基于的一般仿真平台——SPADES的总体概括。
第3章给出3D足球仿真器server的基本信息。
第4章是关于FC Portugal 3D 仿真足球队。
第5章是测试和结果。
第6章给出了将来要做的工作的想法。
最后,第7章是结论。
第2章.SPADES
仿真server是在SPADES(System for Parallel Agent Discrete Agent Simulation)平台上实现的。SPADES是分布式仿真的中间系统(Riley 2003)。其主要目的是提供为运行多计算机系统提供一个一般性的平台。它实现了agent和仿真世界之间的交互,而用户不需要担心接口,地址,等等。
SPADES主要特点是:
*agent以执行为基础——支持实现感觉,思考和动作。
*分布式计算——支持在多台计算机上运行agent程序。
*结果不受网络延时或者机器间负载不同的影响——SPADES确保时间按照恰当的顺序进行。
*agent可独立地从编程语言编程——agent可以用任何语言编写,只要支持读/写PIPEs。
*动作不需要同步——agent的动作可以在仿真的不同时间执行。
2.1组织结构
图1——SPADES结构图
SPADES结构是c/s结构(图1)。Simulation Engine和Communication Server作为SPADES的一部分提供;当使用者建立了agent和World Model就可以运行在前者上了。Simulation Engine是允许在其上建立特殊World Model的一般软件。它运行在server端,并通过Communication Server为agent们和他们的世界提供交互和通讯。agent动作的特殊环境的World Model必须运行在同一台机器上。作为client分布的是agent和Communication Server。Communication Server必须出现在所有client的机器上来提供agent和Simulation Engine的通讯。它从agent接受信息并发送到server 。agent也运行在client端。
2.2感觉—思考—动作 周期
SPADES实现被称作感觉—思考—动作 周期,每个agent接受感觉并返回动作。这就意味着agent只能在接收到感觉信息之后有动作。当然自己的感觉也可以要求一个动作,但原理依旧——一个感觉产生一个动作。这样,SPADES提供了一个动作叫做请求时间通报返回一个空的感觉(时间通报),在接收到后agent可以反应一个动作。例如,如果agent接收到一个感觉在100周期并希望在110周期产生一个动作,但是下一个感觉只有在120周期才会到达,agent可以要求在110周期接收到一个时间通报并在接收到之后发出命令。
图2——SPADES 感觉—思考—动作 周期
图2描述了感觉—思考—动作 周期和各个部分运行的时间。A到B是发送一个感觉到agent。接收到感觉后(B到C)agent决定执行哪些动作;然后(C到D)动作发给server。
有些agent中,感觉—思考—动作部分是时间上重叠的(像在图2中);这样有一个限制——agent的思考周期是不重叠的。这个约束是有意义的,因为每个agent使用一个进程单位,因此,同时只有一个感觉被计算。
第3章.仿真server
按照规定的仿真器运行在SPADES之上,使用ODE来计算世界中的物体的相互物理作用(Russell 2003)。图形接口是由OpenGL实现的。
图3——3D仿真截图
3D仿真server(图3)(RoboCup Soccer Server 3D Maintenance Group 2003)允许22个agent(每个队11个)与server交互来进行一场仿真机器人足球比赛。每个agent接收到关于和其他队员、球门等相对位置和其他与比赛有关信息组成的感觉。这时世界中各个物体的位置信息由360度视觉提供的是难于使用的信息。agent是球形的.作为反映agent发送一个动作,像drive或者kick。dirve是要求一个给定方向的力作用在身体上,而kick意味着一个从agent出发的放射状的力作用在球上。server每20周期发送一个感觉,每个周期10毫秒。
3.1感觉
agent现在能接收几种感觉。每种感觉信息以字母"S"开头,后面跟着两个整数(time)。第一个周期是感觉发出的周期;第二个周期是信息到达agent的周期。
感觉信息的格式是:
Stime time data
data是感觉信息的字符串[1]。
Vision
视觉提供场地中物体的空间排列。物体包含球员、足球、球门和角旗。在0.2版本中,视觉是全方向视觉并且物体是透明的(至少对视觉)。物体的位置以相对于agent的极坐标形式给出。坐标参数包含距离、水平方向的角度—theta 和垂直方向的角度—phi。
Stime time (Vison
(Flag (id id)(pol d theta phi))...
(Goal (id id)(pol d theta phi))...
(Ball (pol d theta phi))...
(teamname (id id)(pol d theta phi))...
)
GameState
比赛状况提供与比赛有关的信息。它提供场地、球门、球和球员的尺寸。还提供物体的质量和比赛的其他信息:时间、比赛模式、球员号码、球员是左边还是右边的。格式是:
Stime time (GameState
(team side)
(unum number)
(FieldLength length)
&nbs
打开: http://www.qqread.com/unix/s643116061.html进入讨论组讨论。相关专题
- 利用UNIX的TFTP和RCP功能配置CISCO路由器 (217次浏览)
- 路由器和UNIX主机的路由器日志功能配置 (59次浏览)
- 美国Unix厂商SCO正式被纳斯达克摘牌 (15次浏览)
- Unix操作系统入侵追踪反击战 (10次浏览)
- 基于UNIX文化 自由软件用户9个共同特点 (0次浏览)
- IBM和Sun起争议 坚持不同的“开源”观点 (0次浏览)



