(计算机应用技术专业论文)robocup3d世界模型的研究.pdf_第1页
(计算机应用技术专业论文)robocup3d世界模型的研究.pdf_第2页
(计算机应用技术专业论文)robocup3d世界模型的研究.pdf_第3页
(计算机应用技术专业论文)robocup3d世界模型的研究.pdf_第4页
(计算机应用技术专业论文)robocup3d世界模型的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

(计算机应用技术专业论文)robocup3d世界模型的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

r o b o c u p 3 d 世界模型的研究 摘要 随着计算机技术的发展,人工智能已经成为研究的一个热点。而机器人 世界杯一r o b o c u p 为人工智能的研究和应用提供了标准平台,其中最新引进 的r o b o c u p 3 d 仿真竞赛是其重要组成部分。 本文首先介绍了r o b o c u p 3 d 仿真系统的服务器s o c c e rs e r v e r ,然后介绍 了其重要的组成部分s p a d e s ( 并行智能体离散事件模拟系统) 的基本原理 和命令格式。 其次设计了球员a g e n t 的结构框架及其决策框架,并对其中重要的类进 行重点说明。 接着本文着重介绍了r o b o c u p 3 d 的重要组成部分世界模型,设计了四层 世界模型结构;研究了使用粒子滤波对a g e n t 进行定位的方法;根据物理模 型推导出了球员运动的物理公式,并在此基础上完成了球员速度的测算。 最后,本文设计了四层a g e n t 动作模型,并叙述了其中重要技能的实现 和策略。 本文采用上述方法开发了h f u t e n g i n e 3 d 球队的框架,通讯机制和世界模 型,能够较好的完成比赛任务。开发环境为r e d h a t 9 0 ,使用了a n j u t a 集成开 发环境。 关键字3 d 仿真机器人足球s p a d e s 世界模型球员技巧 r e s e a r c hi nr o b o c u p 3 dw o r l d m o d e l a b s t r a c t w i t ht h ec o m p u t e rt e c h n o l o g yd e v e l o p i n g ,a r t i f i c i a li n t e l l i g e n c eh a sb e e na r e s e a r c h h o t s p o t r o b o t s o c c e r g a m ep r o v i d e st h e s t a n d a r d p l a t f o r m f o r r e s e a r c h e sa n da p p l i c a t i o n so ft h ea r t i f i c i a li n t e l l i g e n c ef i e l d s ,e s p e c i a l l yt h a t t h et h r e e - d i m e n s i o n a ls i m u l a t i o nl a t e l yi n t r o d u c e di n t oi sa ni m p o r t a n tp a r to f r o b o c u p f i r s t ,i ti n t r o d u c e st h a ts o c c e rs e r v e ro fr o b o c u p 3 ds i m u l a t i o ns y s t e m t h e ni t i n t r o d u c e s i m p o r t a n tc o m p o n e n t o fs o c c e rs e r v e rs p a d e s ( s y s t e mf o r p a r a l l e la g e n td i s c r e t ee v e n ts i m u l a t i o n ) a n di t sb a s i ct h e o r y ,o r d e rf o r m a t s e c o n d l y ,i , td e s i g n ss t r u c t u r ea n dd e c i s i o n m a k i n ga r c h i t e c t u r eo fa g e n t a n di t i n t r o d u c e si m p o r t a n tc l a s s e s t h i r d l yt h et h e s i sp r e s e n tw o r l d m o d e l - t h em o s ti m p o r t a n tp a r to ft h et e a m ,a n d d e s i g n sf o u rl e v e l ss t r u c t u r eo fw o r l d m o d e l i ts t u d ys e l f - l o c a l i z a t i o nb a s e do n p a t i c l ef i l t e r t h e ni td e d u c e so b j e c tm o v e m e n tf o r m u l a ,a n de s t i m a t ev e l o c i t yo f o b j e c tt h r o u g ht h e s ef o r m u l a a tl a s ti ti n t r o d u c ea g e n ti m p o r t a n ts k i l la n ds t r a t e g y h f t l t e n g i n e 3 ds o c c e rt e a mw a sc o m p l e t e du n d e rr e d h a tl i n u x9 0 ,a n j u t ai d e , u s i n gm e t h o d s m e n t i o n e da b o v e k e y w o r d sr o b o c u p 3 d s p a d e sw o r l d m o d e la g e n t s k i l l 2 插图清单 图2 1s o c c e rm o n i t o r 1 3 图2 2s p a d e s 的系统构架1 4 图2 3s e n s e - - t h i n k - - a c t 周期1 5 图2 4s e r v e r 与球员之闻的通讯构架1 6 图2 5 网络字节顺序1 7 图2 6 一个典型的通讯过程1 7 图2 7 球员a g e n t 结构图2 5 图2 8a g e n t 类图2 6 图3 3t r a i n i n g 类图2 8 图3 4 两种阵形图2 9 图3 5 决策框架3 0 图4 1 世界状态信息3 4 图4 2 赛场标志3 5 图4 3 视觉信息3 6 图4 4 卡尔曼滤波示意图,3 7 图5 1 球员技巧层次4 7 图5 2 简单避撞机制4 8 图5 3 截球状态示意图4 9 图5 4 踢球和带球5 0 图5 5 射门位置的选择5 0 表格清单 表2 l 听觉中所用到眵参数2 0 表2 2 执行器2 l 表4 1 结果比较4 0 2 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标志和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得金胆王些盘堂 或其他教育机构的学位或证书而使 j 过的材料。与我一同工作 的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签字名陬签字日期御年| 月矽日 学位论文版权使用授权书 本学位论文作者完全了解盒匿些苤堂有关保留、使用学位论文的规定。有权保留并向 国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅或借阅。本人授权盒匙e 些左 堂可以将学位论文的全部或部分论文内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文者签名 导师签名: z 签字日期:j 7 年“月泸日签字日期:侈7 年月肜日 学位论文作者毕业后去向 工作单位: 通讯地址: 电话:f 猢多车叼 邮编: 致谢 值此论文完成之际,谨向我的导师王洁教授表示最衷心的感谢。在硕士 研究生课程学习和撰写学位论文的过程中,自始至终得到了王老师的悉心指 导。无论是从论文选题,还是资料收集、论文成稿,都凝聚了王老师的心血 和精力。王老师严谨求实的科研态度,渊博的专业知识,宽以待入严于律己 的学者风范,使我终身受益。 我还要感谢实验室姚宏亮、方宝富、于磊以及杨静老师,与各位的交流 与讨论丰富了我的知识,给了我有益的启示。向计算机与信息学院的曹航, 王新生、徐静、费敏等老师付出的辛勤工作表示感谢。 作者:宋蓓蓓 2 0 0 7 年6 月1 日 第一章绪论 1 1 r o b o c u p 3 d 1 1 1r o b o c u p 的起源 机器人足球的最初想法,首先是由加拿大不列颠哥伦比亚大学的a l a n m a c k w o r t h 教授在1 9 9 2 年的论文“o ns e e i n gr o b o t s ”中提出的 1 】,文中认为 机器人足球比赛是很好的机器人和a i 研究的实验平台。 日本学者立即对这一想法进行了系统的调研和可行性分析。1 9 9 2 年1 0 月, 在日本东京举行的关于人工智能领域重大挑战的研讨会中,与会的研究人员对 制造和训练机器人进行足球比赛以促进相关领域研究进行了探讨。1 9 9 3 年, m i n o r ua s a d a 、h i r o a k ik i t a n o 和y a s u ok u n i y o s h i 等著名学者创办了r o b o c u p 机器人足球世界杯赛,并成立了世界上规模最大的、占主导地位的机器人足球 国际组织一国际r o b o c u p 联合会。1 9 9 7 年,在国际最权威的人工智能系列学术 大会一第1 5 届国际人工智能联合大会( t h e1 5 t hi n t e r n a t i o n a lj o i n tc o n f e r e n c e o na r t i f i c i a li n t e l l i g e n c e ,简称i j c a i 9 7 ) 上【2 1 ,机器人足球被正式列为人工智能 的一项挑战。至此,机器人足球成为人工智能和机器人学新的标准问题【3 1 。 r o b o c u p 机器人足球世界杯赛及学术大会( t h er o b o tw o r l dc u ps o c c e r g a m e sa n dc o n f e r e n c e s ) 是国际上级别最高、规模最大、影响最广泛的机器人足 球赛事和学术会议【4 1 ,也是智能机器人领域最重要的一次国际盛会,每年举办 一次。机器人足球的最终目标:到2 1 世纪中叶,一支完全自主的机器人足球队 在遵循国际足联正式规则的比赛中,战胜人类世界冠军队 5 1 。 1 1 2r o b o c u p 的研究意义 在第1 5 届国际人工智能联合大会上,由k i t a n o 、v c l o s o 和t a m b e 等来自 美、日、瑞典的9 位国际著名学者联合发表重要论文“t h er o b o c u ps y n t h e t i c a g e n tc h a l l e n g e9 7 ”,系统阐述了机器人足球的研究意义、目标、阶段设想、近 期主要内容和评价原则。概括的说,过去5 0 年中人工智能研究的主要问题是单 a g e n t 静态可预测环境中的问题求解,其标准问题是国际象棋人一机对抗赛; 未来5 0 年中,人工智能的主要问题是多a g e n t 动态不可预测环境中的问题求解, 其标准问题是足球的机一机对抗赛和人一机对抗赛。从科学研究的观点看,无 论是现实世界中的智能机器人或机器人团队( 如家用机器人和军用机器人团 队) ,还是网络空间中的软件自主体( 如用于网络计算和电子商务的各种自主软 件以及它们组成的联盟) ,都可以抽象为具有自主性、社会性、反应性和能动性 的a g e n t 。由这些a g e n t 构成的多a g e n t 系统( m u l t i a g e n ts y s t e m s ) 是未来物 理和信息世界的一个缩影,其基本问题是a g e n t 之间的协调,可细分为a g e n t 设计、多a g e n t 体系结构、a g e n t 合作和通讯、自动推理、规划、机器学习与 知识获取、认识建模、系统生态和进化等一系列问题。值得注意的是,上述一 系列问题中的大多数都在机器人足球中得到了集中的体现。在这个意义下,将 机器人足球作为未来人工智能和机器人学的标准问题是十分恰当的【6 】。 1 1 3r o b o c u p 活动和比赛项目 r o b o c u p 的活动有:技术会议、机器人足球赛、机器人足球挑战赛、教育 程序、基础结构发展【7 1 。其中足球赛是整个活动的主要部分,研究者汇聚一堂, 展示研究成果,评价研究进展情况。r o b o c u p 的机器人足球比赛项目主要有【8 】: ( 1 ) 仿真组仿真组比赛是在一个标准的计算机环境内进行的。比赛规 则基本上与国际足球联合会的比赛规则一致。比赛的方式是有r o b o c u p 委员会 提供标准的s o c c e rs e r v e r 系统,各参赛队编写各自的a g e n t 程序,模拟实际足 球队员参加比赛,目前主要有仿真2 d 和仿真3 d 两种组别。 ( 2 ) 小型组小型组比赛是在两支各有5 个机器人的队伍中进行的。每 个队自行设计的机器人必须能够放到直径1 8 0 c m 高度1 5 0 e r a 的圆筒中去。除非 使用局部视觉,尺寸可以大一点,比赛是在2 s m * 2 3 m 的铺有绿色地毯的地上 进行的,比赛用的球是一个橘黄色的高尔夫球。 ( 3 ) 中型组中型组比赛( f 2 0 0 0 ) 在5 m * l o m 的场地上,4 名队员( 也 可以少于4 名) 自主采集场上的情况,分析这些信息,然后根据这些信息处理 决定自己的行为( 动作) ,同其他机器人进行协作,机器人之间的通讯是通过无 线通讯进行的。 ( 4 ) 四腿组( 机器狗)四腿组比赛目前采用的是公司的机器狗,比赛 涉及到机械和控制方面的具体内容。一般从公司采购或由公司赞助得到机器狗, 有简单的d e m o 程序,相比小型组和中型组而言,尤其需要更强的机械方面的 控制,主要是运动自由度的控制和决策与思维能力,它是机器人足球向人类足 球转化的一个重要桥梁。 ( 5 ) 类人机器人类人机器人是机器人发展的目标。他的外观和人基本 一样。类人机器人是计算机、自动控制、传感与感知融合、无线通讯、精密机 械和仿生材料等众多学科的前沿研究与综合集成。目前的比赛主要是进行站立 ( 单腿站立1 分钟) 、行走( 沿定义的路线行走) 、踢球、点球、机器人足球比 赛等项目。 1 1 4r o b o c u p 3 d 仿真组比赛 r o b o c u p 仿真组比赛是r o b o c u p 各种比赛中参赛球队最多的一种。它是在 一个标准的计算机环境内进行的。比赛规则基本上与国际足球联合会的比赛规 则一致,只是在某些细微方面有改动【9 1 。比赛采用c l i e n t s e r v e r 方式由r o b o c u p 委员会提供标准的s o c c e rs e r v e r 系统,各参赛队编写各自的c l i e n t 程序,模拟 实际的足球比赛【1 0 】。 s o c c e rs e r v e r 是一个仿真足球比赛系统,它提供一个虚拟场地,并对比赛 双方的全部队员和球的状态进行仿真【1 1 】。c l i e n t 从s e r v e r 接收感知信息,并发 送指令控制球员的动作。每个c l i e n t 只允许控制一名球员,c l i e n t 之间不允许 直接进行通信,c l i e n t 之间的通信必须通过s o c c e rs e r v e r 来进行。 2 0 0 4 年7 月,在葡萄牙举行的r o b o c u p 机器人世界杯足球赛首次引入了3 d 仿真组比赛,表面上只是在2 d 的基础上增加了一维,但本质上和2 d 有着很大 不同,几乎可以说是一个完全不同的比赛。3 d 仿真环境运用了真正的物理建模 过程,严格描述相关物体的物理特性,并用o d e ( 开放动力学引擎) 进行动力 学计算,而不是显式定义自己的物理公式和模拟逻辑。服务器使用了s p a d e s ( 并 行多智能体离散事件模拟系统) 进行世界模拟,将世界的演化更加细化,而不 像2 d 仿真组一样将感知,思考和动作的时间离散化成o 1 s 一个的周期来进行 迭代。简言之,3 d 比赛更加真实,底层规律也更为复杂,大大的增加了对开发 者的挑战性【1 2 】。 如果说2 d 模拟器是在模拟人踢球,那么3 d 模拟器是在模拟机器人踢球: 机器人可以有全角摄像机,而人的视野宽度有限;机器人可以朝任意方向加速, 而人有身体朝向,且只能朝前跑。反过来,人的脚很灵活可以把球踢向各个方 向,而3 d 仿真组的机器人只有一个固定的踢球装置,只能把球沿着中心连线方 向加速,而且踢球的有效范围仅为0 0 4 m ,比2 d 小了很多。这些变化更贴近真 实的硬件特性,为实现r o b o c u p 的目标打下了软件基础。 1 i 5 目前仿真3 d 现状 目前2 d 仿真组的技术已经非常成熟,2 d 平台已经基本研究完毕。但是由 于3 d 在2 0 0 4 年才开始作为正式的比赛项目出现,所以目前针对3 d 的文档资 料比较少。 目前在3 d 仿真组方面比较成功的是清华a e o l u s 3 d ,中科大以及东南大学 和浙江大学的球队。这些球队的底层工作都非常突出,基本上都是采用手工编 码的方式来实现。 在国外,开展工作比较早的是f cp o r t u g a l3 d 。这只球队首先研究了3 d 的 运动模型,为球员动作的实现提供了有价值的参考【”】。 1 2 本文的组织结构 本论文以下部分的组织结构如下: 第二章对3 ds e r v e r 进行概述。介绍s p a d e s ,及s e r v e r 与c l i e n t 之间的 通讯方式。 第三章介绍了a g e n t 的结构,并对其中重要的类进行了说明。 第四章介绍世界模型,测量了球和球员的运动模型。并且介绍 h f u t e n g i n e 3 d 球队世界模型的存储、更新以及球员的自定位方法和球员及球的 速度测算方法。 第五章介绍了球员的技能。 第六章为结束语。 第二章r o b o c u p 3 d 仿真系统简介 2 1r o b o c u p ( 3 d ) s o c c e rs e r v e r 概述 r o b o c u ps o c c e rs e r v e r 是一个足球比赛模拟系统,来模拟真实的足球比 赛i 】。球队和球队通过s o c c e rs e r v e r 来进行比赛。s o c c e rs e r v e r 负责控制 球场上的一切状态。r o b o c u p ( 3 d ) s o c c e rs e r v e r 主要由以下两个部分组成: s o c c e rs e r v e r s o c c e rm o n it o t s o c c e rs e r v e r 主要负责更新球场上的状态信息。在比赛时,每一个球员 在一定的条件下都可以使用s o c c e rs e r v e r 所提供的命令接口向s e r v e r 发送命 令,表明球员想要执行的动作,比如移动到一个指定的点。s e r v e r 在其内部保 存场上一切信息,比如球员和球的位置。当s e r v e r 收到球员发送来的命令之后, 在特定的时间内s e r v e r 根据命令更新球场上的信息,即让球员的动作得到执 行。s e r v e r 采用离散周期的方式来模拟现实世界中的连续运动。目前3 ds e r v e r 的一个周期长度设定为0 0 1 秒( 1 0 0 毫秒) 。在每个周期结束后,s e r v e r 都负 责更新下一个周期的状态。比如s e r v e r 在第1 0 0 周期执行了球员发来的命令, 那么在第1 0 1 周期,球场上的状态就己经发生了改变。注意这里是指s e r v e r 执行命令而不是球员执行命令。在球员把命令发送给s e r v e r 后就可以认为球员 已经执行了命令,但是由于s e r v e r 与c i i e n t 的通讯有定时间的延迟( 目前 设定为l o 个仿真周期,b 口0 1 秒) ,所以如果球员在第l o o 周期发送给s e r v e r 一个命令,那么在第1 1 0 周期命令才会到达s e r v e r 从而被执行。在3 d 中s e r v e r 不是像在2 d 中那样直接通过网络与c 1 i e n t 通讯,而是与s p a d e s 进行通讯,再 由s p a d e s 与c 1 i e n t 通讯,这样就大大简化了球队的设计工作,球队的设计者 不用再考虑网络连接问题,而可以集中精力设计球队。 由于3 ds e r v e r 尽量模拟真实的物理运动,所以球和球员的物理模型是必 须要提及到的。在目前版本的3 ds e r v e r 中,球和球员都用球体来表示。球员 的半径为0 2 2 m ,质量设定为7 5 k g ;球的半径为0 i ll m ,质量在0 4 1 k g 到0 4 5 k g 之间,s e r v e r 在球员初始化的时候会在这个区间随机选取一个值发送给球员。 球场长度在1 0 5 m 到1 1 0 m 之间,宽度在6 4 m 到7 5 m 之间。球门的宽度为7 3 2 m 。 这些完全是按照f i f a 的标准制定的。由于在目前版本的s e r v e r 中球员是不能 跳的,所以球门的高度被设定为o 5 ,而f i f a 所规定的高度为2 4 4 m 。在s e r v e r 中重力加速度设定为9 8 l m s :。 在s e r v e r 中还设有多种比赛模式,比如越位,角球,任意球,球门球等等, 增加了比赛的真实性。并且相应的规则也已经制定出来。当s e r v e r 探测到某种 比赛模式的条件被触发时,比赛就设置为相应的模式。 r o b o c u p 3 ds o c c e rs e r v e r 还包括一个可视化的工具:s o c c e rm o n i t o r 。用 s o c c e rm o n i t o r 能以图形的方式来显示球场上的信息,s e r v e r 每隔一定的时间 4 间隔就向m o n i t o r 发送球场上的状态信息,m o n i t o r 在内部解析s e r v e r 发来 的信息,然后在按照一定的方式显示出来。m o n i t o r 还有一项非常有用的功能: 向s e r v e r 发送命令。包括设置比赛模式,开球,放置球员和球的位置等。这对 于后面世界模型的建立有重要的作用。 图2 1s o c c e rm o n i t o r 2 2r o b o c u p 3 d 仿真系统结构 2 2 1s p a d e s , ( 1 ) 结构与特性 s e r v e r 与c l i e n t 之间并不是直接进行通讯的,而是通过一个称为s p a d e s ( s y s t e mf o rp a r a l l e la g e n td i s c r e t ee v e n ts i m u l a t i o n ,并行智能体离散 事件模拟系统) 的中间件来完成的。s p a d e s 启动后会创建两个管道,一个用于 读,另一个用与写。同时s p a d e s 使用自己的命令格式。所以c 1 i e n t 发送给 s e r v e r 的信息首先要经过s p a d e s 然后才传送到s e r v e r ,反之亦然【1 5 】。 s p a d e s 旨在简化基于智能体模拟系统的创建工作。s p a d e s 为世界模型和智 能体的设计提供了一种抽象机制,使用这种机制,设计者可以不用在考虑那些 繁琐的网络连接工作和对分布式时间问题的处理。s e r v e r 只需要实现事件,而 智能体只需要接收事件,进行思考,决策,然后发送动作即可。 图2 2s p a d e s 的系统构架 s p a d e s 是c s 结构,见图2 2 。s i m u l a t i o ne n g i n e 和c o m m u n i c a t i o ns e r v e r 作为s p a d e s 的一部分提供:当使用者建立了客户端的a g e n t 和w o r l d m o d e l , s p a d e s 就可以运行在s i m u l a t i o ne n g i n e 上了。s i m u l a t i o ne n g i n e 是允许在其 上建立特殊w o r l dm o d e l 的一般软件,它运行在s e r v e r 端,并通过 c o m m u n i c a t i o ns e r v e r 为a g e n t 和他们的世界模型提供交互和通讯。a g e n t 和 w o r i d m o d e l 必须运行在同一台机器上。c o m m u n i c a t i o ns e r v e r 必须出现在所有 a g e n t 的机器上,来提供a g e n t 和s i m u l a t i o n e n g i n e 的通讯。它既可以接受s e r v e r 的信息又可以发送信息到s e r v e r 。 s p a d e s 为设计者系统提供了如下特性: 基于动作执行的智能体系统; 智能体可以分布在不同的机器上。世界模型和智能体的设计者可以不需 要考虑智能体程序是运行在一台或是多台机器上。s p a d e s 会考虑这些工作; s p a d e s 保证模拟引擎的结果不受网络延迟或不同机器负载差异的影响; 智能体的构架是不受限制的。开发者可以使用任何一种程序设计语言来 进行开发,只要智能体能够支持管道的读写。 智能体的动作执行不需要同步。 s p a d e s 系统确实简化了模拟引擎和智能体的设计工作。 由于在机器人足球环境中,一个球员就相当于一个智能体,所以在下文中 将不加区分的使用球员和智能体这两个词。 不同于2 ds e r v e r 和其它很多模拟引擎,运行于s p a d e s 之上的3 ds e r v e r 没有同步的概念。在2 d 和一些其他的模拟引擎上,每一个模拟周期都有一定 的时间,比如在2 d 中,一个周期的时间为1 0 0 m s 。球员必须在1 0 0 m s 之内做 6 出决策,并且将动作命令发送给s e r v e r ,s e r v e r 在一个周期的最后更新状态信 息。而在3 d 中,智能体只需要在接收到感知信息后进行思考,思考时间可以 持续一个或者多个周期,但不能大于设定的最长思考时间。在思考结束后,发 送一个思考结束标志即可。 ( 2 ) 感觉一思考一动作周期 s p a d e s 将智能体看作一个实体,它接收感知信息,进行思考,然后返回 一个或者多个动作命令来执行,可以将这一过程看作是一个周期。注意这里的 周期和第二节中所提到的周期的概念有所不同。这三个步骤是一个过程,球员 和s e r v e r 之间是这一过程的有限次循环。而第二节所提到的s e r v e r 周期则是 3 d s e r v e r 所规定的更新状态的时间间隔。球员与3 ds e r v e r 的交互非常简单, 只需要下面的3 个过程: 等待接收一个感知信息; 进行决策,并且发送一些动作给s e r v e r ; 发送思考结束标志; a bcd 图2 3 展示了一个s e n s e - - t h i n k - - a c t 周期。其中,点a 代表一个感知信 息产生的时间点,点b 表示这一感知信息到达智能体的时间。a b 代表了感知 信息传递给智能体所用的时间。智能体在时间点b 开始进行思考,在时间点c 思考完毕。然后将动作命令发送出去,动作命令在时间点d 被执行。 因为根据s 队d e s 的规定,球员只能在接收到一个感知信息后才能发送命 令,所以s p a d e s 系统提供了一个特殊的命令:时间通报( t i m en o t i f y ) 。时 间通报不传递感知信息,但是却允许发送动作。这一命令允许球员在一个特定 的时间来执行动作。 由于3 ds e r v e r 是构建在s p a d e s 系统之上的,所以球员与s e r v e r 的通讯 必须要通过s p a d e s 。实际上正是s p a d e s 来处理底层通讯。 期周 cc n 一knht esnes32 图 球员 彳丁 之。 i s p a d e s l 工 l 3 d s e r v e r i 图2 4s e r v e r 与球员之间的通讯构架 ( 3 ) s p a d e s 的命令格式 s p a d e s 有自己的命令格式。也就是说球员发送给s e r v e r 的命令必须先封 装成s a p d e s 的命令格式,当s p a d e s 接收到命令后进行解析,然后在将拆封 后的命令转发给s e r v e r 。这有些类似于网络协议。s p a d e s 使用的是长度前缀 信息格式,就是说在发送信息时会同时指明后面信息的长度。下面介绍一些 s p a d e s 中常用的命令。 球员能发送给s p a d e s 的命令主要有: a d a t a 其中a 表示球员发送的是动作命令。d a t a 为发送的内容,这是由 s e r v e r 所决定的。 r t i m e 其中r 表示要求一个时间通报。t i m e 是s e r v e r 必须做出回应的时 间。 d 表示思考结束。 i 表示球员初始化结束。 s p a d e s 发送给球员的信息主要有: s t i m et i m ed a t a 其中s 表示一个感知信息,第一个t i m e 表示感知信息产 生的时间,第二个t i m e 表示感知信息到达球员的时间,d a t a 为内容,这是由 s e r v e r 所决定的。球员必须要用一个思考结束标志回应。 t t i m e 其中t 表示一个时间通报,t i m e 是要求时间通报的时间 d d a t ad 表示初始化信息,d a t a 为内容,一般情况下d a t a 为空,球员必 须用一个初始化结束标志来回应。 k t i m e 这一命令通知球员上次用了多少时间来思考,t i m e 为思考时间。 比如,球员想要踢球,那么它要发送给s e r v e r 一个踢球命令: 图2 5 此处四个字节为后面信息的长度,用网络字节顺序表示 a 表示发送的是一个动作命令而不是其他的命令。当这条信息发送给 s p a d e s 时,s p a d e s 会首先读取信息长度值,从而知道后面信息的长度,然 后,它按照这个长度读取后面的内容。当s p a d e s 看到第一个字符为a 时,它 提取后面的信息然后发送给s e r v e r 进行处理。 s e r v e r a g e n t 一峥 e 一一一一t 一一一一一一 s ( ) 争 一4 a ( ) 4 - d 一s ( ) - a ( y + d 一 乍 2 0 0 m 0 小 图2 6 一个典型的通讯过程 2 2 2 开放式动力学引擎( o p e nd y n a m i c se n g i n e ) 3 d 仿真服务器的目的之一就是要提供更为真实的物理环境,o d e 就可以做 到这一点【l “,它所提供的丰富的库文件已经被很多的电脑游戏和3 d 动画软件 所应用,o d e 可以仿真真实世界人体关节动作,并且内嵌了碰撞探测器。关节 部分是由很多形状组合而成的,比如:圆柱体,长方体,通过它们可以连接其 它各个部分,相信不久的将来,3 d 仿真比赛中的球员也会有和人类一摸一样的 躯体。 2 2 3s p a r k s p a r k 是一个依赖于以上提到的两个软件包的仿真器【1 7 】,它基于s p a d e s , 但是提供了更为丰富的功能部件。它内部的信息处理完全由s p a d e s 完成,而 物理部分的交互则交给o d e 处理。 s p a r k 可以使a g e n t 更好的学习个体动作,并且使试验各种感知器变得更为 简洁,它可以对感知触发器轻易的进行调换修改,使得仿真系统更为灵活更有 扩展性。s p a r k 使用的是c + + 语言,但是为脚本r u b y 提供了一种特殊的接口, 可以被用来控制仿真系统。 3 d 仿真系统总的来说可以看成是s p a r k 的一个实例:当仿真系统被加载, 与之相关的各个部分也同时被加载,这些部分由脚本文件r c s s s e r v e r 3 d r b 配 置完成,包括球场的形状,环境的物理属性,球员和球的物理特征,比赛模式 等等。在经过这些初始化动作之后,仿真器将自动加载所有的球员a g e n t 1 。 9 2 3a g e n t 在仿真足球比赛中,每一个球员a g e n t 都是由一道程序控制的,这些程序 可以通过感知器感受世界然后通过触发器发出命令完成动作。 每个a g e n t 都具有同样的能力,他们使用同一套感知器和触发器,对于每 一个球员这些感知器和触发器的功能都是一样的,所以并不存在哪个球员更适 合中场或者更适合后卫的情况,只可以通过人为的编程来区分它们。不过有一 个例外,这就是守门员,它具有其它球员所没有的一个特殊能力就是可以扑救 球【19 1 。 球员a g e n t 之间是不允许直接交换数据的,但是他们可以通过仿真服务器 的交流通道进行对话,这有点类似于一个球员在球场上对某个球员提出一些建 议,那么他们周围的人都可以听到这些建议1 20 1 。 2 3 1 生命周期 根据前面所介绍的s p a d e s 系统的特征,可以知道a g e n t 在和仿真服务器建 立通讯以后将被自动挂载,以下就是a g e n t 建立的过程: a g e n t 接到初始化信号,进行初始化,所有准备完毕后,回复完毕信号。 a g e n t 接受到空的感知信号,发送c r e a t e 到服务器,一个新球员被添加 到仿真服务器。 a g e n t 接到感知信号,标识自己的队名,球员号码。 经过以上步骤,a g e n t 开始不断接收感知信息,然后再通过自身分析,发 出相应信号,作出动作。除了最初的初始化信号,其余的信息都以 d o n e t h i n k i n g 作为结束。 在比赛过程中a g e n t 禁止断开连接,在比赛结束后由服务器统一终止连接。 2 3 2 感知模型 通过感知器a g e n t 可以感受到周围的环境信息,每2 0 0 毫秒的仿真周期接 受一次,a g e n t 接受到的感知信息是以a s c i i 码的形式发送的。 通过感知器,球员a g e n t 能“看”,能“听”,了解赛场上的所有情况,以 下介绍的是s e r v e r 发送命令的格式,通过这些命令,可以更新世界模型的状态, 使球员及时了解场上的状况。 ( 1 ) v i s i o np e r c e p t o r ( 视觉感知) 视觉感知器发送球员所看到的信息。在以前的s e r v e r 版本中球员的视角是 没有限制的。就是说球员可以看到球场上的一切物体,包括在其身后的物体。 从s e r v e r0 5 版本以后,加入了限制视角。球员只能看到其视野范围内的物体。 这加强了比赛的真实性,不过挑战性也随之增大。 视觉感知器传递球场上物体的位置信息。物体包括:8 个标志,球员和球。 这些位置信息都以极坐标的形式给出。对于每个物体,视觉感知器以三维坐标 的形式传递三个值,它们依次分别为: 1 0 物体与自身之间的距离 物体与自身的水平角度 物体与自身的高度角度 视觉感知器是不发送物体的速度,这需要自己计算。为了增加比赛的随机 性,s e r v e r 在所发送的视觉信息中加入了一定的误差: 校准误差:对于每个坐标轴,校准误差在- 0 0 0 5 到0 0 0 5 之间 动态噪音:分布在0 0 周围 距离: s i g m a = 0 0 9 6 5 水平角:s i g m a = 0 1 2 2 5 高度角:s i g m a = 0 1 4 8 0 视觉信息的格式如下: ( v i s i o n ( t y p e ( t e a mt e a m n a m e ) ( i d i d ) ( p o ld i s t a n c eh o r i z o n t a ll a t i t u d a l ) ) f l a g w i t h 可以是“- l ,一一l ,l _ r ,2 _ r 其中之一;g o a l w i t h 可以是一_ 1 , _ l ,_ 1 , 一r 其中之一;p l a y e r w i t h 代表球员的号码;t e a m n a m e 是球队的名字;d i s t a n c e 表示距离;h o r i z o n t a l 表示水平角;l a t i t u d a l 表示高度角; ( 2 ) g a m e s t a t ep e r c e p t o r ( 球场状态感知) 比赛状态感知器传递当前赛场上的状态。球员第一次从比赛状态感知器获 取到的信息是一些参数信息,比如说球的质量,球场的长度和宽度等等,而以 后可以感知到其他的一些信息,比如比赛模式等。信息的格式如下: ( g a m e s t a t e ( n a m ev a l u e ) ) 其中n a m e 可能的值为: t i m e :给出已经经过的时间,单位是秒。 p l a y m o d e :给出当前的比赛模式。 ( 3 ) a g e n t s t a t ep e r c e p t o r ( 自身状态感知) 自身状态感知器传递当前自身的状态信息,目前状态信息为电量以及温度。 信息的格式如下: ( a g e n t s t a t e ( b a t t e r y ) ( t e m p ) ) 其中b a t t e r y 表示电量,t e m p 表示温度。 ( 4 ) h e a rp e r c e p t o r ( 听觉感知) 听觉感知器传递其他球员通过s a y 命令经过s e r v e r 转发来的消息。 信息的格式如下: ( h e a rt i m ed i r e c t i o nm e s s a g e ) t i m e 表示当前时间。d i r e c t i o n 表示发送信息的球员相对与自身的角度 ( 这是没有噪音的) ,如果是自己说的消息,则此值为s e l f 。m e s s a g e 是说 信息的内容。内容是由发送信息的球员自己定义的。 为了限制集中式控制,球员的听觉受到一定的限制: 信息的长度不能超过s a y m s g s i z e ; 球员与发送者的距离必须在a u d i o c u t d i s t 之内; 球员的听觉能力必须不小于h e a r d e c a y ; 每当球员收到一条听觉信息时,听觉能力就会减少,否则听觉能力每个周 期按照h e a r i n c 递增,最大为h e a r m a x 。听觉感知器所用到的参数如表2 1 所 示: 表2 1 听觉中所用到的参数 a u d i o c u t d i s t 5 0 0 h e a r m a x2 h e a r l n c1 h e a r d e c a y 2 s a y m s g s i z e 5 1 2 2 3 3 执行器 a g e n t 通过感知器得知球场状态作出判断之后,需要向s e r v e r 发送动作命 令,s e r v e r 可以接收球员发送来的动作命令,然后在特定的时间执行这些命令。 这些命令都是以字符串的形式发送给s e r v e r 的。这个工作是通过称为执行器 ( e f f e c t o r ) 的机制来实现的,如表2 2 所示: 表2 2 执行器 执行器注释 c r c a t c 每当球员完成初始化,连接到s e r v e r 后,发送的一条创 建命令,无需任何参数。 i n i tu n e m用来设置球队的队名和球员号码,一般初始化时将其设为 t e a m n a n l e 0 ,由s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论