北京理工大学珠海学院机器人足球内部培训资料——FIRA仿真组5vs5.pdf

大小 3.9MB 页数 57 页 格式 PDF

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

北京理工大学珠海学院机器人足球协会内部培训资料

1

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人
前言.............................................................. 3
第一章机器人足球仿真5vs5 入门介绍................................ 6
第二章FIRA 足球机器人5v5 仿真平台简介............................ 8
第三章策略程序开发环境(IDE)及其辅助工具....................... 18
第四章用VC 打开策略例程......................................... 19
第五章策略例程的基本结构分析.................................... 22
第六章基础动作函数定义.......................................... 27
第七章技术动作函数定义.......................................... 29
第八章信息处理函数.............................................. 33
第九章战术函数定义.............................................. 36
第十章简单动作编程及思考题...................................... 38
第十一章BIT 策略程序结构简要分析................................. 40
第十二章比赛规则................................................ 45
第十三章仿真平台场地信息........................................ 52
第十四章路径规划算法............................................ 55
第十五章推荐资料................................................ 56
第十六章毅恒队联系方式.......................................... 57

2

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

前言

本人的经历

很高兴能在这里和大家分享一下本人关于机器人足球这个项目的研究经历。回想第一次参加机 器人足球讲座的那天,我和龚福均那时候还在上大一下学期,当时刚好是期末,都快考试了,突然 接我那个班的班长通知说有个机器人足球的讲座,叫我去听一下,我当时才第一次听说“机器人足 球”这个名词,一点都不了解,而且也没太感兴趣,以为只是学院的一个普通的科普讲座,甚至可 能是因为去听的人不够,才找我们大一的去凑凑人数而已。但后来我还是去了,为的是给班长面子, 毕竟他平时真是把我当作是学习尖子来看待的。当我去到那实验室听讲座的时候,我才意识到这个 讲座的真的不是一般的奇怪。我刚进去一会讲座就开始了,可是我还是充满疑问,原因是我们平常 去听的讲座都会在大教室里的,一般整个场都坐满了同学,可是这个机器人足球讲座怎么躲在一个 临时实验室里举行呢?来听讲座的大部分是我们大一的同学,可来的大二学长就屈指可数了,而且 当时来听讲座的同学也只有20 来个左右。只有后来据了解,给我们讲机器人足球的老师是北理工 校本部的黄鸿副教授,她每次来我们学院的行程都安排得很是挺紧张的,这次她来就是为了给我们 简单介绍机器人足球这个世界性、全国性的比赛项目,动员我们参加这个项目,然后让我们每两个 或三个人组合成队,每个队要在暑假结束前开发出一个策略。前面我说过一开始的时候我是对这个 机器人足球没什么兴趣的,但听完黄鸿老师的讲座之后,我开始有兴趣去研究了。因为当时我们信 科院大一下学期学了C 语言,而那个机器人足球FIRA 仿真5vs5 的策略程序用到的编程语言就是C 语言,本来我就对C 语言编程是非常感兴趣的,兴趣是最好的老师,反正暑假也都没什事好做的, 就当玩一下扩充一下课外知识。讲座完毕之后,我们当场就组队了,3 人一组,按照黄鸿老师的计 划,我们应该是在暑假开始研究机器人足球的策略开发的。就我自己来说吧,就和自己班的两位同 学一起组队了,我们首先是自学了一下C++,但在自学C++前面几章的内容后就越来越觉得难以理 解了,后来我发现FIRA 仿真5vs5 的程序里所用到的主要是C 语言,之后我们小队就转向研究策略 的结构了,可是我们发现里面的程序语句好难理解啊,不是我们所学的C 语句那么容易理解。看了 黄鸿老师给我们的资料,好多东西还是弄不明白,黄老师我也问过几次了,可是每次都不知道怎么 问,说白了,就是连问都不会问,于是我开始到网上查资料,查了好几天吧,是查了不少资料,虽 然好多资料到现在都没真正用上,不过呢,在查资料的过程中,我渐渐就摸索到到整个策略的基本 结构了,接着又基本弄明白几个基础动作函数的原理,可是一连串的问题由来了,有了基本都做函 数,怎么去调用才能让机器人做出一些我想要的动作呢?正当这个问题困扰着我的时候,更郁闷的 事来了,我们队的其余两个同学都开始有放弃的念头了,只剩下我一个人在研究了,但作为我们队 的队长我还是坚持了下来,不久我终于弄清楚了简单的调试方法,于是为了重振我们队的士气,我 把我所了解的,就是整个策略的大致结构、仿真平台的使用介绍以及简单的调试方法步骤制作成一 本电子书的样子,以方便队员的学习与研究,而且顺便用作记录我们队研究的一步一步的成果之用, 尽管如此,我那队的队员还是没什么兴趣研究下去了,对于我来说,从分队以来这次算是第一个比 较大的挫折了,因为研究机器人足球很讲究团队合作,少一个队员,整个团队就相少了一份力量。

毅恒队的诞生

平常我都会去了解群上其他队的情况,不过每次都没有太多人在聊各自小队的研究进度,当时 我就感觉到可能其他很多小队都解散了,还好后来我发现黄真燃和龚福均两位同学在群上聊得特别 的积极,于是询问了一下他们的情况,原来他们两个所在的小队的其他队员也放弃了。随着暑假一 天天地过去,群上几乎就只有我们三个的足迹了,我们每次在聊到策略的时候都特别的投机,有一

3

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

次,龚福均同学就大胆地提出我们三个队一个新队,当时我们三个都非常赞同。于是我们就自发地 组成一个新的小队,继续进一步深入研究策略的开发。我们一开始合作的时就发现,我们三个都有 各自了解得比较多的方面,比如说,黄真燃就对编程比较熟悉,所以他对整个策略的理解比我们都 要好,可以很快地开发出我们想要的动作函数;龚福均呢,他知道我们写策略的时候要用到高级算 法,所以有去找算法方面的论文来研究,而且他对误差处理的有独特的见解;而我呢,因为之前已 经了解过一下简单的调试方法,所以在调试方面我是特别熟练的。就这样我们三个把各自的优势都 摆出来,分工合作,使得我们在以后更加熟练策略的研究与开发。

暑假一眨眼功夫就过去,丰富多彩的大学生活开始了,然而我们三个的研究工作却面临着很多 阻碍。黄真燃师兄,他上大三了,他的课很多啊,我就看过他的课程表,一个星期下来课程几乎排 得满满的,而我报了计算机等级考试三级网络技术,开学两个星期之后就考试了,而龚福均呢,他 也要忙他截拳道协会的事等等;前面这些困难都可以挤一下时间来应付,但随着离比赛日一天天地 减少,在缺乏这方面的前辈们的指导之下,我们要开发出我们自己的战术还不是一件容易的事,而 且黄鸿老师可能要在十几周左右才能来我们学校,没有指导老师的面对面指导,我们真的走了不少 弯路,瞎弄了好久。我们三个还是坚持了下来,我们经常在一起研讨各种各样的战术,从攻防区域 的划分到机器人角色的分配,我们都研究过很多方案,调试过很多次,遇到过很多的失败,但我们 一直都坚持到比赛。就这样凭着我们那份坚持圆了我们出外的参赛梦想。

早在我们去比赛前,我们三人就在黄鸿老师的安排下到深圳大学城图书馆观摩09 年全国计算 机博弈比赛。在这次观摩学习中,我们团队见识到了很多计算机博弈方面的牛人,他们有的是软件 方面的企业精英,有的是一些有名大学计算机专业的学生。赛后,我们和校本部的师兄交流过,他 们想向我们简单地介绍了一些算法,虽然我们都听得不太明白,但我们从中了解到计算机博弈里的 一些原理,领略到校本部师兄的冠军风采,要知道在六子棋方面无论是国内还是国外他们都是冠军。 校本部师兄还给了我们团队一些资料让我们研究计算机博弈。看过策略与策略的对抗之后,我们还 观摩了计算机博弈的象棋人机大战。此次参加人机大战的3 个程序分别是今年机器博弈锦标赛的前 三甲:象棋名手(冠军)、佳佳象棋(亚军)、陶情弈趣(季军)。虽然在下棋方面我们很菜,有很 多棋步的我们都看不懂,但通过见识到三位象棋大师和计算机策略的博弈,我们见识到计算机科学 前沿领域的发展,计算机真的速度很快,由于在时间方面对三位大师不公平,所以赛果会有所出人 意料(人机大战的结果是:电脑对人4 胜2 和。3位大师分别与电脑进行了两局比赛,仅黄海林取 得2和,刘星和朱琮思均2负)。但这并不太重要,重要的是这次比赛能为往后的计算机博弈的发 展提供很多宝贵的经验。这次观摩为我们以后在学校开创计算机博弈事业提供了宝贵的经验。

我们的参赛队名取名为毅恒队,之所以叫做毅恒队,是因为我们希望不管是在即将到来的比赛 中还是在以后的生活与学习中都要发扬坚持不懈、不怕艰苦、有毅力、有恒心的“毅恒精神”。

还记得2009 年12 月13 日傍晚,我们登上了去哈尔滨的列车,经过40 个小时3700 多公里的 旅途我们到了哈尔滨站,再经转车我们终于到达目的地:哈尔滨工程大学,我们比赛的地方在哈工 程的启航中心。第一次来到哈尔滨,一下火车,第一感觉就是:冷啊!那时候有零下20 度左右吧, 在外面呆上十几分分钟后,我就感觉冷到很不习惯了,不过一般进了建筑物之后都会有供暖设施, 所以在建筑物内都比较暖和。这几天我们都住在宾馆里面,这还多亏了校本部那边的照顾,才可以 让我们住上宾馆啊。没有比赛的时候我们还去了黑龙江中医药大学,和龚福均他的一位朋友吃个饭 聚了一下,这里不得不提一下,龚福均的那位朋友真的很热情,他帮助了我们很多,从我们刚下火 车站没多久后他就来接我们转车去哈工程的宾馆。饭后,我们还参观了他们中医药大学的宿舍,出 乎意料的是,我还居然见到同乡佛山人。之后我们还到校园外面参观合影留念,就在那天晚上,哈 尔滨就开始下起了小雪,我们三个身在异乡第一次看到下雪的情景,感觉挺新鲜的,那些小小的雪 花打在脸庞上并不令人感觉到很冷,落在衣服上看起来就像一颗颗白白的盐粒。在离开哈尔滨之前 我们还去了中央大街买了一些当地的特产和纪念品。

通过这次比赛,我们三个收获很多。在机器人足球这个项目上,我们了解到了强队的一些厉害

4

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

的战术,同时看到我们自己的策略的不足,积累了不少经验,我们清楚地知道在往后的日子里要在 哪些方面更加认真地深入学习与研究。在赛后我们和其他队伍进行了交流学习,了解到其他大学关 于机器人足球事业的发展。除了机器人足球仿真比赛这个项目,在哈工程赛区,还有水下机器人采 矿、空中机器人、FIRA 的小型组,我们观看到了一个空中机器人旋翼组的调试,在场很多同学都深 深地被吸引住了,空中机器人一般都是以飞行器、摄像头、单片机结合的,分旋翼组和固定翼组。 因为没有因为空中机器人和水下机器人采矿的比赛场地不在启航中心举行,所以我们都没去参观。 还有值得一提的是FIRA 的小型组比赛,这个项目和我们仿真组不同的是,它是实物的机器人比赛, 我们的只是计算机仿真的比赛。FIRA 小型组要考虑到很多超出仿真的东西,例如机器人的电量、视 觉、碰撞、机器人的惯性、场地光线等等物理因素,但其观赏性是比较高的。

机器人足球

机器人足球系统的研究涉及非常广泛的领域,包括机械电子学、机器人学、传感器信息融合、 智能控制、通讯、计算机视觉、计算机图形学、人工智能等等,吸引了世界各国的广大科学研究人 员和工程技术人员的积极参与。更有意义的是,机器人足球比赛的组织者始终奉行研究与教育相结 合的根本宗旨。比赛与学术研究的巧妙结合更激发了青年学生的强烈兴趣,通过比赛培养了青年学 生严谨的科学研究态度和良好的技能。

想对你们说

对于刚进来机器人足球协会的同学,我希望我们团队能用在参赛所积累的经验来指导大家来发 展壮大我们学校的机器人足球事业,核心是继承我们团队的“毅恒精神”,要有毅力,有恒心。这 个比赛不但可以让我们学习到一些科学前沿的基础技术以及和我们专业领域可以培养我们大学生 的动手实践能力、创新思维以及团队合作精神,这对我们在往后的学习以及工作中都很有帮助。我 们团队虽然已经参赛过一次,但我们还是很缺乏经验,以后还要和大家一起努力拼搏,还望大家多 多指教。我们每人都要充分发挥自己的长处融合到团队里,合理每个队员分配研发工作,做到让团 队的研发工作高效化。还有一点要记住的是,基础是最重要的,没有学好C 语言或者已经对C 语言 生疏同学一定要先复习C 语言的基础编程,找些题目练习练习,不要一下子就去看例程,这样会事 倍功半 的,等熟悉了C 语言的基础编程后,再结合我这本入门参考资料就行了。如果C 语言基础比 较好的同学可以考虑熟悉程序结构之后自学数据结构和研习相关的路径规划算法。最后,再一次提 醒大家“剩者为王”,寒假过后我们会抽时间考核大家的学习进度,大家一起加油吧!

林文亮

2010-1-8

注:本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人,仅作 内部研究资料之用,希望大家尽量不要向外流传。由于本人水平和能力有限,难免会有错误之 处,诚挚地欢迎各位读者对本资料的各种意见和建议。

5

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

第一章机器人足球仿真5vs5 入门介绍

学习与研究机器人足球,首先我们要有C语言编程基础,我们大部分同学在大一已经学习了基本 的C语言程序设计,所以在开始这个项目前,我们要先复习一下C语言的基本程序设计。选用的教材 不用太高等级,一般选用全国计算机等级考试教程或以前的教材即可。重点学习或复习C的函数、 指针、结构体以及几种基本语句这4方面,因为这4方面在机器人足球的策略里比较常用,为节省时 间,其他章节简略学习即可。

有了C语言编程基础,即可开始接触机器人足球的策略研究。首先我们应该先了解一下仿真平 台以及开发环境(IDE),因为这两个软件在整个开发研究策略过程是必须的,缺一不可。当然, 我们用到的IDE,即MS (Microsoft) VC++6.0,由于其操作界面比较复杂,而且又兼容了多种程序开 发的模式,我们就没必要深入研究其功能,只需利用旧的策略例程作为模板的基础上再开发就可以 了。至于仿真平台Robot Soccer,由于是外国人开发的,我们首先是要找一本中文版的使用手册来 了解怎么使用它,或者是通过老师提供的PPT和其他网上资源也可以。

接着我们可以了解策略里的结构以及初步了解策略文件与仿真平台之间的关系。在这里略微提 一下,整个策略的主体就是函数群,而函数群里主要分四种函数:基础动作函数、技术动作函数、 战术动作函数以及信息处理函数。策略研究的文件,我们可以选用旧的策略例程,其步骤很简单, 只需用VC将其打开即可。旧的策略例程里的函数一般都是准确度不高的基础动作函数,是用来作为 比赛示例或者是普通动作示例以熟悉策略结构之用,所以我们最终的目的就是以这个旧例程为基础 修改、添加我们自主开发的函数来打比赛。至于怎么调试呢,我们先要判断,一般的旧例程里面的 接口函数都有一些示例语句,我们就把这些语句先去掉,然后把我们要调用的函数及其参数输入进 去,接着按F7键,即可生成仿真平台所需的dll文件,把这个新创建的dll放到仿真平台的策略录用 目录下即可,最后就可已通过仿真平台里机器小车的动作数据来判断函数的作用效果。如果你觉得 函数的效果不好,例如精确度不够或者是其他缺陷,就可以在VC修改一下函数,就这样多次重复地 调试和修改,最终不断地把函数完善为止。注意的一点是对于一开始研究基础动作函数的时候,我 们没必要去修改它,只需做研究和熟悉其功能之用。

有了基础动作函数的深入认识后,我们就可以学习别人的高级技术动作函数和一些高级算法, 以此来开发自主的基础动作函数或技术动作函数。这个阶段特别重要,是整个策略开发过程最重要 的部分,因为所有动作相对于整体战术来说是下层基础,没有很好的下层基础支持,就不能编出好 的战术。数据结构的学习是这个阶段的前提,高级算法的学习及将其转换成程序语言是实现这个阶 段的关键,有了前提之后,大家可以查阅我们提供的算法论文或者网上的算法论文资料来把高级算

6

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人 法融入到技术动作函数中,让机器人在基础动作函数的基础上实现更智能的动作,还得提醒大家, 要耐心地去调试编写好的函数,不要怕次数多,要开发成功需要一次一次的失败来积累经验,失败 乃成功之母!

除了动作函数之外,信息处理函数也是必不可少的。信息处理函数大多是处理平台提供的各种 各样信息,以方便配合动作函数的调用,这些函数可以在整个策略程序开发过程中根据需要添加。 战术函数的开发阶段,这个阶段要考虑到例如规则、攻防区域规划、固态和动态角色分配的结 合等等,特别提醒一下各位,一定要熟悉规则,这个是战术开发的前提,否则会事倍功半,这是我 们比赛的经验教训。至此,整个策略的开发已经到了最后阶段,这个阶段的调试就是和别的队伍开 发的策略进行多次比赛,认真观看比赛,总结自己队策略的不足之处,然后改善。

由于我们团队能力有限,所以这还需要大家一起努力!希望大家能提出宝贵意见!

7

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

第二章FIRA 足球机器人5v5 仿真平台简介

Robot Soccer V1.5a 手册

感谢

本软件能够和大家见面,必须得感谢很多人,但首先和必须要感谢的就是John Thornton,没有他耐心的给予 我们很多关于仿真机器人的指导,我们恐怕很难做出今天的程序。在他的帮助下,我们的软件才能尽量写的符合 实际的机器人比赛。我们还必须感谢Moon, Dr Jun Jo, Michael Pagano, Anthony, Greg Cranitch, Karen Noller (排名不分先后)还有其他的许多学院老师所付出的耐心、试验和幽默对我们和我们机器人的帮助。

系统要求

Pentium III 600 MHz 256 M 内存 TNT2 3d 显卡32 M 显存 24x CDROM 显示器最小分辨率800 x 600 声卡 Microsoft Windows 98 Direct X 8.0 10 M 磁盘空间 开发要求

如果你想进一步深入的开发足球机器人策略,以下几点是必须的: Director 8.5

Programming Experience in Lingo

The book “Director 8.5 Shockwave Studio: training from the source”

安装向导

点击Robot Soccer Simulator 安装程序开始软件的安装,选择你的安装位置(建议安装在C 盘),一旦安装成功 完成,程序将自动在开始菜单组里面加入“Robot Soccer Simulator”的启动菜单,并且在桌面上创建一个图标。 启动程序时只要双击桌面上的图标或是点击开始菜单里的“Robot Soccer Simulator”启动项目,便可启动程序 了。

快捷键

比赛开始前或是“Stop”状态:

8

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

  • ->键:将一个选中的机器人沿顺时针方向旋转

  • <-键:将一个选中的机器人沿逆时针方向旋转

回放过程中的暂停状态:

  • ->键:快进一帧

  • <-键:后退一帧

用户界面

启动程序后,您将看到如下的界面:

左侧是比赛区域,右侧是菜单栏和比赛信息。

比赛开始前用户可以用鼠标将比赛区域中的机器人拖动到自己想要的位置,关于这部分 将在“开始比赛”部分中详细介绍。

用户还可以点击右侧菜单上的选项进行操作,比赛进入Stop 时菜单仍会显示以方便裁 判进行仲裁。

菜单下面是比分和比赛时间。

主菜单

9

本资料由北京理工大学珠海学院机器人足球参赛小组毅恒队提供,整理by 电子达人

  • 1、Strategies-用户可以通过这个按钮来打开策略菜单选择两个队的策略文件。

  • 2、犯规和判罚按钮-裁判可以通过这几个按钮判某一队犯规,并判另一队拥有球权。点击 后在比赛区域下方将会出现相应的提示。

  • 3、Start-开始比赛

  • 4、Time-当前比赛进行时间

  • 5、Score-当前比分

  • 6、Time/Score-点击这个按钮进入时间和比分的设定菜单,你可以调整比赛时间和比分。

  • 7、New Game-开始一场新比赛

  • 8、Help-打开帮助文档

策略菜单

策略文件可以使用写入txt文件的代码或DLL文件。在比赛前应该指定它们的位置。怎

10

预览结束 · 共 57 页

下载完整版