- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
足球机器人系统设计和开发
足球机器人系统设计和开发
摘要:机器人足球(FIRA)是现在机器人和人工智能领域的研究热点之一,当真实的机器人在球场上运动时,机器人是有特定的动作的,离不开运动学和动力学的范畴,所以我们通过仿真的方式,抽象机器人小车的物理模型,运动学模型和动力学模型,完成机器人动作空间到轮速空间的映射,从而集中精力在策略开发的层面上。
关键词:系统设计;策略开发;防守战术
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)02-0156-02
机器人足球是现在机器人和人工智能领域的研究热点,很多研究机构已经着手于真实的机器人足球开发,并且已经取得了一定的成果,他们的开发重点是如何用软件驱动硬件,如何让机器人按照指令做出准确的动作,如何实现机器人的动作细节,而仿真的重点工作是战术策略的开发。本文主要提出了战术策略中的防守战术。我们是基于3D Robot Soccer Simulator仿真系统来进行足球机器人系统的设计与开发,此仿真系统是是由澳大利亚的格里菲斯大学信息技术学院 RSS 开发小组开发,是一个5vs5的足球机器人比赛系统,此平台提供一些简单的函数,我们可以在这些函数原型上进行代码的修改与完善,让机器人按照我们的算法方式运动。
5vs5 具体有四层架构,第一层:设置机器人小车的轮速,到二层:让小车到达某一指定位置。第三层:每个机器人具体的角色实现。第四层:角色组合起来的决策实现。
1 系统设计
1.1 设置机器人的轮速
首先我们要知道基于这个仿真平台,设计者已经给我们提供了一些可执行代,包括一些简单的函数原型。我们可以在里面修改代码,让机器人按照我们的算法运动。
其函数原型如下:void Velocity ( Robot *robot, intvl, intvr );
机器人运动模型构建(如图1所示):假设vl和vr为机器人左右的轮速,当vrvl时,机器人向左转,做弧线运动,设其瞬时圆周运动半径为R,O为瞬时旋转圆心,L为机器人的边长,机器人是遵守刚体运动的运动规律的。所以有如下公式:
[V=vr+vl2] (1)
[ω=vr-vlL] (2)
V是机器人中心的线速度,[ω]是小车自转瞬时角速度。机器人的状态变量可用位置和角度表示为([θ],y,x),可用vl,vr来表示:
[dxdt=Vcosθ]
[dydt=Vsinθ]
[dθdt=180πω]
将(1),(2)式子带入并写成矩阵形式得到运动学微分方程:
L360dxdtdydtdθdt=12 cosθ sinθ -1cosθsinθ1vlvr]
在这层架构中,我们可以利用高数的知识,如泰勒公式,拉格朗日方程等来实现我们对轮速的控制,这要求有丰富的高数知识和编写c++代码的能力。将我们修改后的代码放入函数Velocity中机器人就可以动起来了。
1.2 让机器人到达指定位置
要让机器人到达指定的位置需要找出该位置的坐标并且了解机器人当前的位置信息(当前坐标和角度),然后就可以运用以下两个函数来调整位置和角度了。
void Angle ( Robot *robot, intdesired_angle);
void Position ( Robot *robot, double x, double y);
1.3 机器人的角色
看过足球比赛的我们都知道每个球员在球场上都有自己的位置,球员在球场上各司其职,分工合作,团结一致才能将球踢进对方的球门。在我们5vs5的系统中,我指定了一名守门员,2名防守球员和2名进攻球员。角色如何设定还是要根据具体的战术决定,像我指定这个阵型就是1:2 : 2阵型,你也可以采用1: 3:1的阵型,当然导致的结果就是进攻效率不足,但防守一定是很强的,所以根据球在自己手上还是对方手上来选择阵型是相当重要的。
在平台运行的过程中,系统会反馈给我们一组数据结构,其中包括哪个队伍持球,敌我两方机器人的速度和位置等很多信息,当球在我们手上和在对方手上时执行的策略是不一样的,所以机器人的角色也在?M攻和防守中不断切换。
具体的角色有:点球角色、门球角色、争球角色、任意球角色等,这些属于特殊情况下的角色。还有就是能完成特定踢球任务的角色,例如 : 中路射门角色,边路射门角色,前场边界球处理角色,后场边界球处理角色,中路补射角色,边路传中角色等。拥有了这些角色我们就可以完成进攻和防守的策略。
2 决策开发
我们将整个足球场划分为三大部分,分别分为前场,中场,后场,开始时,5名球员进行对应的放置为:守门员一个(5号球员),中场两个(3,4号),后场(2号
文档评论(0)