Robocup3D如何进行代码的编写

1.信息接口

对于机器人的代码编写而言,最重要的部分就是对环境和场上的具体情况有较为清楚的认知,一般这些数据都会整合到统一的接口中,这个接口就放在主目录下的worldmodel文件中。其中,worldmodel.h是声明关于一些场上信息,比如球的位置等等,而worldObject.h则主要是用于提供队友的或对手的信息。

比如,场上的11个机器人都有自己的对应编号,当某个机器人想知道自己哪一号时,就可以通过以下语句进行调用:

worldModel->getUNum()

worldModelworldmodel.h中的类WorldModel的实例,具体在文件路径“behaviors/naobehavior.h“中声明过,所以只要include这个路径就能直接使用worldModel这个实例。

比较特殊的是WorldObject这个结构体,它在worldObject.h中被定义,在WorldModel这个类中被实例化,所以要使用WorldObject这个结构体来调用队友等的信息,需要用worldModel这个实例。比如,我要调用队友(2号)的位置信息:

worldModel->getWorldObject(WO_TEAMMATE2)->pos

其中,WO_TEAMMATE2是宏定义,代表着2号队友。

这几个文件中还有其它很多的信息接口,可以在查询后按照上述规则添加。

2.策略编写

整个策略的主要由三个文件构成,分别是naobehavior.hnaobehavior.cc,以及strategy.cc,三个文件都在主目录下的behavior文件夹中。下面分别介绍一下三个文件的主要内容:

  • naobehavior.h:该文件中声明了主要的动作调用接口,比如走向某个位置,或者踢球等动作。所以只需要include该文件,就可以调用其命名空间内的动作。动作本身不一定需要在该文件中声明,但是该文件主要是将动作接口统一了起来,更加方便使用。
  • naobehavior.cc:头文件naobehavior.h中声明的一些动作的集中实现。
  • strategy.cc:策略的执行文件,整个代码的执行逻辑都在该文件中进行编写。

我们可以看到,前两个文件主要是给我们提供了动作的使用接口,而最后一个文件才是编写代码需要重视的地方,接下来将重点解析一下strategy.cc中的结构。

初始的strategy.cc文件中有三个函数:

函数名功能
void NaoBehavior::beam初始化函数,用于定义载入机器人时的机器人初始位置
SkillType NaoBehavior::selectSkillskill选择函数,该函数会在比赛过程中不断执行,同时根据判断条件去选择对应的动作执行。
SkillType NaoBehavior::demoKickingCircle自定义函数,在这里作为初始的演示函数,实现了功能:绕成一圈,离球最近的机器人去踢球

如果我们想添加我们自己的执行策略,就应该像SkillType NaoBehavior::demoKickingCircle一样,调用信息接口和动作接口来编写函数。而对于一场比赛而言,不同的队员会执行不同的动作,这就需要在SkillType NaoBehavior::selectSkill中预先写好固定的动作调用逻辑,比如根据队员号数进行分类等。

  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
·1.内容简介: --------------------------------------------------------------- 这是一个压缩包,里面是文件是东南大学Robocup3D仿真比赛的培训资料,当然包括新手上路等资料和平台和基础源代码 建议,对Robocup机器人比赛感兴趣或者东南大学以及其他高校的参赛同学下载学习。否则,会感觉我的文件都不知道什么东西。 --------------------------------------------------------------- ·2.资源使用方法 suse Linux 环境下编译运行,注意,必须安装好开发环境和仿真环境。 --------------------------------------------------------------- ·3.文件组成形式 格式:tar.gz 创建日期 时间 文件大小 文件名 2008-10-15 15:56 330,241 3D新手上路v0.4.pdf 2008-10-22 17:59 372,952 5v5rule.pdf 2008-10-22 18:05 7,919,214 rcss3d-suse-install-11.0.tar.gz 2008-10-10 23:06 343,552 RoboCup讲稿.ppt 2008-10-22 18:04 459,785 seu-3d-0.3.c.release-5v5.tar.gz 2008-10-22 18:04 240,556 SEU-3D-5v5.tar.gz 2008-10-22 17:57 208,384 SEU-3D框架结构.doc 2008-10-20 10:51 835,301 入门材料v1.01[1].zip 2008-10-22 17:58 3,197,172 毕业设计.rar 2008-11-28 23:53 170,496 第五届RoboCup竞赛获奖名单.doc 2008-10-22 18:05 1,338,283 第四届前十.rar 2008-10-15 16:25 43,520 驱动安装.doc --------------------------------------------------------------- ·4. wogeguaiguai的附言: 1.我的其他数学建模精华资源也欢迎您下载,大学生基本上都听过这个比赛吧,这个比赛比较有意思,而且获奖比例高。我的资料都是非常好的准备比赛要用的资料。我比赛结束之后,这些资料就不用啦,分享给大家!俺一年的搜索资源,同学们一朝即可获得! 2.下载本文件后,您可以获得所有信息,不必再零散下载,给您带来很大的方便。 3.10个资源分,绝对物超所值。评论后,您就可以获得11个资源分,欢迎您评论! --------------------------------------------------------------- ·5.如有问题,请在此留言,谢谢。 --------------------------------------------------------------- ·6.上传时间 2010-2-24-night
·1.内容简介: --------------------------------------------------------------- 这是一个压缩包,里面是5个文件是东南大学Robocup3D仿真比赛的源代码。对于参加Robocup比赛绝对有帮助。学习别人如何组织代码,这样可以在一个更高的起点进行编程。 建议,对Robocup机器人比赛感兴趣或者东南大学以及其他高校的参赛同学下载学习。否则,会感觉我的文件都不知道什么东西。 --------------------------------------------------------------- ·2.资源使用方法 suse Linux 环境下编译运行,注意,必须安装好开发环境和仿真环境。 --------------------------------------------------------------- ·3.文件组成形式 格式:tar.gz 源代码,在src文件夹里 --------------------------------------------------------------- ·4. wogeguaiguai的附言: 1.我的其他数学建模精华资源也欢迎您下载,大学生基本上都听过这个比赛吧,这个比赛比较有意思,而且获奖比例高。我的资料都是非常好的准备比赛要用的资料。我比赛结束之后,这些资料就不用啦,分享给大家!俺一年的搜索资源,同学们一朝即可获得! 2.下载本文件后,您可以获得所有信息,不必再零散下载,给您带来很大的方便。 3.10个资源分,绝对物超所值。评论后,您就可以获得11个资源分,欢迎您评论! --------------------------------------------------------------- ·5.如有问题,请在此留言,谢谢。 --------------------------------------------------------------- ·6.上传时间 2010-2-24-night

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值