BJUT仿真2D机器人足球队描述文档.PDFVIP

  1. 1、本文档共7页,可阅读全部内容。
  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文档。上传文档
查看更多
BJUT仿真2D机器人足球队描述文档

BJUT仿真2D机器人足球队描述文档 队员:冯云贺,李战,唐震 指导老师:左国玉 北京工业大学电控学院 zuoguoyu@ 一、队伍简介 自2008年起,北京工业大学仿真2D机器人足球BJUT队积极参加Robocup中国公开赛,并取 得了一定的成绩。从去年比赛开始,我们所用的底层由UVA换成了Agent2D,由于两个底层差 别较大,移植的难度太高,所以我们在继承了前辈们成果思想的基础上加以自己的创新,经 过一年多的分析和研究,改善了新的底层,强化了高层策略。以下是我们对新底层的理解及 对底层所作的工作。 二、底层代码结构介绍 - librcsc v4.1.0 Agent2D及相关工具的底层库 - soccerwindow2 RCSS浏览程序,既可作为monitor,也可作为logplayer - fedit2 球队阵型编辑器 - agent2d v3.1.0 官方给出的最原始的底层,下载地址为 http://fr.sourceforge.jp/projects/rctools/downloads/51943/agent2d-3.1.0.tar.gz/ 2.1 librcsc librcsc 作为一个球队及相关工具的底层库,包含了几何运算库、网络连接库、球员的 基本动作库、世界模型库、教练球员相关的库以及日志分析等库。 2.2 soccerwindow 使用soccerwindow 调试工具,可以在linux 平台下在线调试球队。以下图中的黄方9 号球员为例,数字9 是其号码,数字7911 代笔其当前体力,半圆弧线代表其当前脖子方向 (视野)。可以通过启动Debug 菜单可以查看任意球员任意仿真周期的动作和状态。通过拖 动工具栏的进度条,可以回放比赛。右下方显示当前鼠标位置的坐标。还可以在比赛中任意 摆放球员的位置,观察效果。此外,调试工具还可以打开任意一场比赛的.rcg 文件,进行 数据与策略分析。如下图所示: 1 2.3 fedit fedit是一个在Windows下运行的阵型编辑器,可以直观的方便的设置自己的阵型,避免 了在程序中写大量代码的麻烦,同时也不用一遍遍的测试坐标。通过改变阵型文件,我们可 以对比赛当中的某个特殊的场景设定专门的阵型。如下图所示: 2.4 agent2d agent2D 使用 librcsc 作为底层库,实现了一个比较简单的高层决策的模板。通过球员 角色的分类和各自Body 的动作决策,再配合球场区域的划分,完成整个决策的过程。 从main_player文件启动进入程序后,由sample_player执行一系列初始化工作,然后关 联至PlayerAgent对像,调用Strategy文件进行角色的划分。最后根据当前的世界模型,不 同角色的球员进入不同的函数。 以role_XXX 为开头命名的文件定义着场上各个位置的球员角色 (前锋、边卫、中后场及 守门员等),bhv_XXX 文件定义球员和守门员在不同场景下的一些宏观动作 (微观动作位于 chain_action 文件夹中),neck_XXX 文件定义了球员视角。在strategy 类中,通过一个role factory 数组结构生成和转换各个球员的角色类型,通过 getFormation 函数在不同的场景 2 下读取不同的阵型文件来调整场上各个球员的位置。 strategy.h和strategy.cpp文件的主要函数: bool init( rcsc::CmdLineParser cmd_parser ); //初始化 bool read( const std::string config_dir ); //读阵型,调用readFormation等实现 void updateSituation( WorldModel wm ); //更新感知 void updatePosition( WorldModel wm );//更新位置 Bal

文档评论(0)

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

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

1亿VIP精品文档

相关文档