频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

FC PORTUGAL 3D 仿真足球队

来源: 作者: 出处:巧巧读书 2006-06-04 进入讨论组

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作为serverclient,从server接收感觉并发送动作到server。每个agent控制一个独特的队员。仿真器十分真实地包含了有限的视角,低带宽的球员通讯,等等。一个教练agent在没有嘈声的视觉中。这个agent可以在适当的时候发送指示给其他的agent,像比赛暂停的时候。

2001年一个新的内容加入了——教练比赛。这个比赛目的是改进比赛的策略来提高agent的表现。

20043D足球仿真比赛诞生。和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 EngineCommunication Server作为SPADES的一部分提供;当使用者建立了agentWorld Model就可以运行在前者上了。Simulation Engine是允许在其上建立特殊World Model的一般软件。它运行在server端,并通过Communication Serveragent们和他们的世界提供交互和通讯。agent动作的特殊环境的World Model必须运行在同一台机器上。作为client分布的是agentCommunication ServerCommunication Server必须出现在所有client的机器上来提供agentSimulation Engine的通讯。它从agent接受信息并发送到server agent也运行在client端。

 

2.2感觉—思考—动作 周期

SPADES实现被称作感觉—思考—动作 周期,每个agent接受感觉并返回动作。这就意味着agent只能在接收到感觉信息之后有动作。当然自己的感觉也可以要求一个动作,但原理依旧——一个感觉产生一个动作。这样,SPADES提供了一个动作叫做请求时间通报返回一个空的感觉(时间通报),在接收到后agent可以反应一个动作。例如,如果agent接收到一个感觉在100周期并希望在110周期产生一个动作,但是下一个感觉只有在120周期才会到达,agent可以要求在110周期接收到一个时间通报并在接收到之后发出命令。

2——SPADES 感觉—思考—动作 周期

2描述了感觉—思考—动作 周期和各个部分运行的时间。AB是发送一个感觉到agent。接收到感觉后(BC)agent决定执行哪些动作;然后(CD)动作发给server

有些agent中,感觉—思考—动作部分是时间上重叠的(像在2中);这样有一个限制——agent的思考周期是不重叠的。这个约束是有意义的,因为每个agent使用一个进程单位,因此,同时只有一个感觉被计算。

 

3.仿真server

按照规定的仿真器运行在SPADES之上,使用ODE来计算世界中的物体的相互物理作用(Russell 2003)。图形接口是由OpenGL实现的。

3——3D仿真截图

3D仿真server(3)(RoboCup Soccer Server 3D Maintenance Group 2003)允许22agent(每个队11)server交互来进行一场仿真机器人足球比赛。每个agent接收到关于和其他队员、球门等相对位置和其他与比赛有关信息组成的感觉。这时世界中各个物体的位置信息由360度视觉提供的是难于使用的信息。agent是球形的.作为反映agent发送一个动作,像drive或者kickdirve是要求一个给定方向的力作用在身体上,而kick意味着一个从agent出发的放射状的力作用在球上。server20周期发送一个感觉,每个周期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进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选