资源预览内容
第1页 / 共62页
第2页 / 共62页
第3页 / 共62页
第4页 / 共62页
第5页 / 共62页
第6页 / 共62页
第7页 / 共62页
第8页 / 共62页
第9页 / 共62页
第10页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
机器人足球技术培训 (基础篇),SimuroSot 5vs5 ( 仿真),本讲主要内容,机器人足球概述 仿真(5vs5)平台介绍 使用VC开发简单的策略程序 第,机器人技术,机器人技术是在新技术革命中迅速发展起来的一项高新技术,是一门综合性学科,它综合了多种基础学科、技术学科及新兴科技领域的多方面知识,突出地体现了当代科学技术发展的高度分化而又高度综合这一特点,并已在众多的科学领域与工业部门中得到应用,且显示出强大的生命力。因此世界各国都非常重视机器人技术的研究。,机器人足球,机器人足球比赛淋漓尽致地表现现实世界的基本特征,即分散存在的一个群体与另一个群体在动态复杂环境中如何以实时方式进行竞争和行动决策的问题在足球比赛中充满着队员之间协调与合作之美,决策与智谋之美,生命与力量之美及超级的艺术之美。,机器人足球,它以高技术对抗的形式赢得了学术界的认同,一些学术刊物刊登了机器人足球的专辑,一些有影响的国际学术会议也安排了专题讨论。一年一度的FIRA CUP也同时召开国际学术会议,推动相关科技的发展。 机器人足球成为高科技与体育,学术与兴趣,科技与娱乐的完美结合,这便是它发展的活力所在。,国际机器人足球赛事,(1).国际机器人足球联合会 FIRA (Federation of Internatinal Robot Soccer Association) (2).机器人世界杯 RoboCup (The Robot World Cup Initiative),(1).Fira简介,国际机器人足球联合会,成立于1997年6月,总部设在韩国大田的韩国科学(技术)(KAIST)。 已有30余个国家的近百个学校与科研院所是其成员单位,主要分布在亚洲、澳洲、北美和南美洲等地区。 Fira从1996年开始举办微型机器人的世界杯足球赛(MiroSotMicro-Robot Soccer Tournament)。由于前两届只进行了MiroSot类型的机器人足球赛,故那两届世界杯赛分别称为MiroSot96和MiroSot97。 以后机器人足球比赛类型增多了,世界杯赛便称之为FIRA CUP。,FIRA CUP的主要比赛项目,M i roSot:(3对3)、(5对5)、(1 1对1 1) S i muroSot:(5对5)、(1 1对1 1) RoboSot:(3对3) HuroSot:(3对3) 类人型机器人基本性能比赛:(包含四种比赛 项目 机器人队形比赛:(并行队形、串行队形、交义队形) 多机器人追捕比赛:(4对1) 人一机器人射门比赛:(儿童年龄不超过3岁) 舞蹈比赛:(半自主2人组)、(半自主4人组)、 (类人型组),人型机器人足球比赛,全自主机器人足球比赛,半自主机器人足球比赛(5VS5),半自主机器人足球比赛(5VS5),仿真机器人足球(5vs5),1,5,2,1,2,4,3,5,机器人足球仿真系统(11Vs11),(2)RoboCup简介,机器人世界杯,成立于1996年,总部设在名古屋 ,是国际人工智能学会组织的国际机器人足球协会。 第一届机器人足球世界杯赛于1997年8月25日在日本名古屋,与国际最高级别的人工智能学术会议-国际人工智能联合大会(IJCAI-97)同时举行。来自美、欧、日、澳的40多支球队参加了比赛,5000多名观众现场观看了比赛。 1998年7月,正当第16届世界杯足球赛渐入佳境之时,第二届机器人足球世界杯赛在巴黎隆重举行,60多支球队参加了比赛。 1999年7月,第三届机器人足球世界杯赛在瑞典斯德哥尔摩举行,参赛队多达90余支。一些著名的大学、研究机构和大公司均参与了相关的活动和比赛。 RoboCup在日本、欧洲和美国都有很大的影响,现已成为世界上有较大影响的机器人足球比赛组织。,Robocup的比赛项目,(一)RoboCup足球机器人比赛 1、仿真组(2D)2、仿真组(3D)3、小型组 4、中型组 5、标准平台组 6、类人组 (二)RoboCup救援组比赛 1、仿真组 2、机器人组 (三)RoboCup家庭组比赛 (四)FIRA足球机器人比赛 1、仿真组(5:5) 2、仿真组(11:11) 3、小型组(3:3) 4、小型组(5:5) 5、小型组(11:11) (五)微软(MS)足球机器人仿真比赛 1、Nao类人仿真 2、3D类人仿真 3、轮式微型机器人5:5仿真 4、轮式微型机器人11:11仿真,Robocup仿真组,RoboCup小型组(5VS5),RoboCup中型组(4VS4),RoboCup四腿组(3VS3),Robocup类人组,四川大学机器人发展状况,四川大学于2003年开始机器人足球技术的培训和训练,开始时就有10多各学院的16支队伍参见了培训和比赛。我校机器人足球代表队由制造学院、生命学院、数学学院等各学院本科生、研究生组成,制造学院姚进教授为指导老师,几年来我校代表队已经参加了近10次全国性机器人足球比赛,参加2次世界杯大赛(FIRA CUP),并取得了较好的成绩。现在我们每年都要进行一次大规模的机器人足球培训,越来越多的机器人足球爱好者参与到我们的队伍中来。,四川大学比赛成绩,1 2004年5月参加了首届西南地区机器人足球大赛,获得SimuroSot(5VS5)项目冠军,SimuroSot(11vs11)项目亚军; 2 2004年6月参加了在武汉举行的第五届全国机器人足球锦标赛,获得SimuroSot(11vs11)(LLS)项目比赛第二名; 3 2004年10月参加了韩国釜山举行的第九届机器人足球世界杯,获得SimuroSot(11VS11)项目第四名; 4 2005年7月参加了全国机器人足球大赛获得SimuroSot(11vs11)季军; 5 2005年8月参加常州全国机器人大赛获得SimuroSot(5vs5)项目比赛二等奖。 6 2006年6月在甘肃省平凉市举办的“华媒杯”第七届全国机器人足球锦标赛中,四川大学代表队获得SimuroSot(5vs5)全国季军, SimuroSot(11vs11)一等奖的好成绩, 7 四川大学代表队在2006年7月举行的德国FIRA世界杯上再次获得SimuroSot(11vs11)第四名。 8 2007年5月,四川大学再次征战在武汉举行的“思远+1杯”第八届全国机器人足球锦标赛,获得了仿真5vs5二等奖,仿真11vs11二等奖。,图片资料,微型足球机器人系统结构,平台和底层,平台:机器人足球比赛专用软件 底层:体现人策略思想的C语言代码,平台,动态连接库(dll),底层程序,返回球场信息,给机器人指定驱动力,仿真系统与实体系统的比较,平台相当于足球机器人系统中的机器人实体、比赛场地、CCD摄像头 DLL相当于实体系统中的计算机主机,相当于机器人的大脑,它获取场上信息,然后将处理结果发送给平台 平台和DLL每个周期互相交换数据,保证了比赛的实时性 理论上每个周期时长为1/60S,在一个周期,DLL接受平台传递过来的信息,然后行处理,最后将处理的结果发送给平台,仿真5VS5平台,平台的功能,1.接收DLL传递过来 的机器人驱动力。 2.根据运动学模型计算机各个机器 人的速度位置等参数 3.传递机器人的位置,朝向等参数给DLL 4.显示模块负责显示机器人运动过程,动态链接库(策略程序)的功能,1.接收平台发送过来的球、我方与对方机器人的速度、位置等参数; 2.根据敌我双方的位置和已有的策略库进行分析与决策; 3.计算机出我方每个机器人的左右轮驱动力,以此完成基本的动作; 4.将计算出的机器人左右轮驱动力传递给平台。,动态链接库(策略程序)的功能,如何让机器人动起来,(1)生成DLL文件 步骤一:用C打开Strategy.dsw 步骤二:找到NormalGame函数, 修改其中部分内容(刚接触可以不用去理会) 步骤三:编译代码(Ctrl+F7) 步骤四:生成DLL文件,注意仅仅编译程序就可以了,不要去运行,我们的大多数代码将会在normalgame中写,第一次接触时可以不去理会这一步,我们已经在里面写了部分动作,如何让机器人动起来,(2)复制策略(strategy.dll) 步骤一:在上一步编译结束后会在底层程序文件夹中的debug或者release文件夹下面有strategy.dll文件 步骤二:将上一步产生的strategy.dll复制到C盘下的Strategy文件夹下面的yellow或者blue文件夹下。,复制过去以后可以修改文件名(方便下一步装载策略时输入方便,比如在这里我们改成1.dll),但是后缀名(dll)不能变。,至于是复制到yellow,还是blue就要看你测试时用哪一方了,刚开始的时候我们可以给两个文件夹里都复制进去,在安装平台的时候默认的会在C盘下新建strategy文件下,几起里面的子文件夹yellow和blue,如何让机器人动起来,(3)将dll文件载入到平台中 步骤一:打开平台,单击右上角的STRATEGIS选项,出现如右图所示的效果 步骤二:单击blue和yellow后面的 Lingo将其改成c+;在blue或者yellow下 面输入我们放到相应文件夹下面文件 的文件名 步骤三: 点击下面的Send ,然后 点击START,这样机器人就可以 按照我们的策略运动了,假如我们在c:strategyyellow中放了一个1.dll,那现在就可以在yellow下面输入1(不需要加后缀名),如何生成DLL,编译文件 1.组建组建 2.Ctrl+F7,release文件夹下或者debug文件夹下的strategy.dll就是我们生成的策略文件,(2)实现简单踢球动作,Kick(Environment *env , int robot , Vector3D ToPos ) 让robot把球踢到ToPos的位置 例:(将这段代码插入到NormalGame函数中,如下图) Vector3D go; go.x = 93; go.y = 43; Kick(env, 1, go); 然后按照前面的步骤编译,复制,装载,运行DLL即可以看到效果,实现简单踢球动作,Vector3D go; 定义一个Vector3D类型的变量,Vector3D是底层程序中定义的一个结构体,typedef struct double x, y, z; Vector3D;,这个结构体表示三维坐标上的一个点; go.x = 93; go.y = 43; 给go这个点赋值,相当于确定三维坐标上GO这个点的坐标 Kick(env, 1, go); 调用Kick函数让1号机器人将球踢到go这个点,env是环境变量用于保存场上信息。,从协会网站上可以下载,机器人编号,0,1,3,2,4,蓝方和黄方以球场中心点对称,0,1,2,3,4,机器人跑位,PositionAndStop(Environment *env,int robot,Vector3D pos ,double bestangle,double limit) 让robot 跑到pos,并且停下来,bestangle 是停下来之后的朝向,limit控制停在pos附近的距离 例:(同样在NormalGame函数中插入以下代码) Vector3D go; go.x = 40; go.y = 20; PositionAndStop(env, 2, go);,机器人角度,0,90,-90,180,-180,机器人模型是边长约等于3的小车,以不同的颜色区分。,机器人的角度初始状态下除了0号机器人角度为90度之外,其余机器人角度均为0度,,常用底层函数,void PositionAndStopX(Environment *env,int robot,Vector3D pos ,double Xangle,double limit) /PositionAndStopX 让robot 跑到pos,并且停下来原地旋转,Xangle 旋转的角速度
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号