基于Robocode的智能机器人的设计与实现.docVIP

基于Robocode的智能机器人的设计与实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Robocode的智能机器人的设计与实现.doc

基于Robocode的智能机器人的设计与实现   摘要:该文是基于IBM公司开发的Robocode的JAVA机器人仿真引擎,分析并探索基于此平台的智能机器人方案。在子弹跟踪,反重力运动,以及模式匹配瞄准等人工计算智能技术的基础上,比较并改进策略,然后以onedan1.0机器人为例完成一个可行的智能方案,并编程实现部分机器人代码。最后还做了效果测试。   关键词:人工智能;机器人仿真引擎;智能算法;Robocode   中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2016)08-0160-02   1 概述   本文先对IBM公司研制开发的Robocode智能机器人仿真平台进行系统介绍。然后结合人工智能的应用领域,对过去和现在流行的机器人智能算法进行总结,比较其优劣。最后结合自己的理解,对如何提高机器人智能化水平进行探讨,以Onedan1.0机器人为例,选择其中的一些算法用java语言进行实现。   本文对于智能机器人的应用研究领域,比赛机器人应用领域,特别是在射击类战略类游戏编程领域有一定的价值。   2 Robocode系统简介   Robocode编程平台简介:Robocode 是由IBM公司开发的一套虚拟机器人仿真引擎。其中包括机器人运行平台Robocode,代码编辑器Robot Editor等组件。程序员可以在Robocode中创建自己的机器人,利用系统提供的编程接口以编程的方式对机器人进行控制。简单的说,Robocode就是一个用java语言编写机器人的工具,同时也是机器人比赛的场地和实现机器人智能算法思想的良好平台。   3 onedan1.0的瞄准策略   3.1 常见瞄准策略比较分析   一个好的机器人除了良好的移动策略外,另一个不可缺少的特征就是打击移动目标的能力,并且能达到精确的效果。下面我就对各种瞄准策略做一个系统的分析。   3.1.1 单一瞄准   单一瞄准是那些专门为某一种运动方式而设计的瞄准算法。大致分为以下几种:1)向当前目标的位置开火:是一个最简单也是效果最差的瞄准算法,只要目标稍微移动都将导致子弹打偏。2)线性预测瞄准:向目标将去的地方开火,前提是目标以一定速率沿着直线前进。尤其是当目标离自己很近时,这个算法相当的有效。在短时间内机器人的所有运动都可近似为直线运动。不过,这种算法对于钟摆运动,随机很强的运动以及一些高级移动算法几乎无能为力。   3.2 onedan1.0的瞄准策略(模式识别)   模式是指对象的表示形式,也可以叫做样本。在Robocode中通常是指机器人的状态属性,比如说坐标,方向,速度等。要进行模式匹配,首先得记录模式,也就是记录机器人的状态。在进行匹配判断的时候把当前的状态和记录下来的状态进行比较,找出记录中非常相似的一段状态,则认为目前的状态和那段状态相匹配。   但是对于onedan1.0机器人,我尝试使用模式识别技术。模式识别是尝试指出敌方机器人是否在使用任何一种预定义的模式的过程,然后基于假定它将继续使用那个模式来瞄准敌人。但是需要注意的是,这个技术不同于能适应目标使用任何重复模式的模式分析。   3.3 模式识别瞄准的智能改进   模式识别瞄准的识别能力应该可以通过以下的几方面得到改进:   1)更多的模式:这是最显然的扩充。增加更多的复杂的基于速度的模式。   2)分析朝向的变化:能在速度识别时分析朝向的变化。这个分析要比速度模式分析更复杂,但花上一些努力能产生非常强大有力的瞄准系统。   3)模式分析:比较适用一对一的比赛,它能快速地学习新的模式,但是缺点是对CPU有强烈的要求。如果实现了这个,将拥有一个难以对付的机器人。   4 onedan1.0机器人部分代码实现和测试   4.1 onedan1.0机器人的结构   在进行实现时,第一个robot只写成了一个类文件。开始时,这种作法还可行,但如果试图给robot增加更多的智能的时候,这就导致了难以管理的缺点。因此必须得做一个更好的结构化设计。   较好的解决方法是把robot分成模块,每一块都可重用,并且分别管理robot行为的每一部分。为移动、雷达、火炮和瞄准控制各写了一个类。并且把对敌人信息的跟踪和存储也写成类。   Onedan类:该类继承AdvansedRobot类,提供了整个机器人的大框架。   Util类:所有基本的数据表示和操作。   Enemy类:用来储存敌人数据。   Radar类:雷达策略类。   Movement类:移动策略类。   Fire类:各种开火方法,枪口调整,火力调整都不独立出去,包括在这个类中。   接下来,编写Onedan1.0机器人瞄准模块的代码,由于代码比较简短,只需

文档评论(0)

ganpeid + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档