ImageVerifierCode 换一换
格式:PPT , 页数:47 ,大小:1.21MB ,
资源ID:18735211      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18735211.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FIRA培训第二课程.ppt)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

FIRA培训第二课程.ppt

1、0.概述,讲师:黄俊,0.1实物半自主足球机器人,01,0.2仿真机器人足球比赛,02,0.3仿真比赛的特点,仿真实物半自主机器人足球比赛;所有的硬件设备均由计算机模拟实现;简化比赛系统复杂度,减少硬件需求;可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制;研究人工智能的绝佳平台;,03,0.4仿真比赛的开发基础,对c语言有一定的了解;对vc开发环境比较熟悉;有创造性思维和充分的想象力;有克服困难的能力;,04,1.仿真平台使用介绍,1.1演示一场比赛,01,VS,黄队,蓝队,武汉工程大学代表队,千人工程代表队,1.2机器人的编号,Home代表己方机器人Opp 代表对方机器人箭头所

2、指的方向为机器人当前的正方向,02,1.3 机器人的辨认,每方队员有五名,分别用不同的颜色来标示,中间是代表队伍的颜色,在左下角是区分不同队员的标识:0号一般是守门员,用大红色表示;1号用紫色表示,2号用紫红色表示;3号用绿色表示,4号用蓝绿色表示;,03,1.4 MLS平台系统特点,机器人模型:Yujin机器人的物理模型。模拟精确:碰撞检测完全,碰撞处理准确仿真极为真实(采用商业游戏引擎公司Havok的碰撞处理引擎 作品 帝国时代、CS等)。系统界面:3维(采用Director设计界面,3D Max建模)。,04,1.5 MLS平台系统需求,硬件需求:Pentium III 600 MHz或

3、与其性能相当的CPU;256M系统内存;具有32M显存的TNT2或其以上级别的显示卡;至少可以实现800600分辨率的显示器;软件需求:Windows98或以上版本的操作系统;DirectX 8.0或以上版本;,05,1.6 软件开发环境,LingoMicrosoft Visual C6.0Microsoft Visual C.NET 2003Microsoft Visual C.NET 2005,06,1.7 MLS平台模板程序,平台提供了基本的策略开发框架,见安装目录下的Strategy Source目录 如:C:Program FilesRobot Soccer v1.5aStrateg

4、y Source)。其模板程序为DLL动态联接库。,07,2.仿真平台与策略程序的关系,2.1 什么是策略程序?,定义:策略程序就是自己编写的能够使仿真平台中机器人按照预定方式运动的程序。通俗的来说,就是能够打比赛的程序。,01,2.2 仿真平台与程序的通讯方式,02,策略程序接受数据,策略程序发送数据,MLS平台,MLS策略程序,策略程序将接受的数据进行处理,2.3 场地信息介绍,03,(6.8118,6.3730),(6.8118,77.2392),(93.4259,77.2392),(93.4259,6.3730),(0,0),(单位:英寸),说明:1英寸=2.54厘米,2.4 场地的各

5、种标志及尺寸,04,(单位:厘米),2.5 球与车的长度尺寸,05,前,约4.318,球,机器人,约7.9756,(0.0,0.0),X,Y,转角方向 0,(单位:厘米),转角方向-179,2.6 程序每周期接受的数据,仿真平台传递给策略程序的数据:己方、对方机器人坐标、角度(当前周期,上一周期)。球的坐标(当前周期,上一周期)。场地数据。控球方。,06,2.7 程序每周期发送的数据,策略程序发送给仿真平台的数据:己方(homei)每个机器人的左轮速度(vl)和右轮速度(vr)注:当前发送的数据要到下一周期才能执行。,07,3.动作函数及演示,3.1 Velocity 动作函数,该动作可以给机

6、器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)。小车速度被限制为 125 125 之间。/形参robot 指定小车号/形参vl 左轮速,vr 右轮速void Velocity(Robot*robot,int vl,int vr);,3.1.1 机器人的运动控制,02,左轮速vl,右轮速vr,当轮速为负时,机器人反向运动,注:vl vr 机器人顺时针旋转 vl vr 机器人逆时针旋转,3.12 Velocity 例子,/一般动作void NormalVelocity(Environment*env)/让2号机器人两个轮子都以10的轮速前进Velocity(,03,3.2 An

7、gle 动作函数,该动作可以让机器人转到指定的任意角度。并做直线运动。/形参robot 指定小车号/形参desired_angle为转角度数void Angle(Robot*robot,int desired_angle);,04,3.2.1 机器人的转角控制,05,30度,左轮速vl,右轮速vr,-180度,+180度,-60度,左轮速vl,右轮速vr,当角度为负时,机器人反向运动,3.2.2 Angle例子,void NormalAngle(Environment*env)/让1号机器人转到30度角Angle(,06,3.3 Position 动作函数,该动作可以让机器人跑到场地上指定的任

8、何地点。/形参robot 指定小车号/形参 x 目标位置X坐标 y 目标位置Y坐标void Position(Robot*robot,double x,double y);,07,3.3.1 机器人的指定点运动,08,?度,左轮速vl,右轮速vr,球位置2,球位置1,Position 函数 根据目标位置可进行转角的控制。,3.3.2 Position例子,void NormalPosition(Environment*env)/让2号机器人追着球跑Position(,09,3.4 三个动作函数组合使用,void Normal(Environment*env)Position(/让1号机器人逆时

9、针转圈,10,3.5 注意事项,轮数速度限制为-125 125平台原始接口中提供了比赛状态(GameState)以及控球方(WhosBall)两个参数,但经过实际开发时发展他们毫无任何用处,故需要自己判断。开发时发现他们毫无任何用处,故需要自己判断场地度量单位为英寸,1英寸=2.54厘米机器人角度的单位为角度(不是弧度)如果场地不同,队伍需要转换左右半场坐标,11,4.策略程序的结构,4.1 策略文件组成,01,4.2 策略类视图,02,4.3 InterFace.h接口文件,这个文件有与仿真平台通讯的一个结构Environment和三个函数的声明/比赛开始时系统调用一次extern C ST

10、RATEGY_API void Create(Environment*env);/比赛过程中由系统循环调用(策略都放在里面)。extern C STRATEGY_API void Strategy(Environment*env);/比赛结束时系统调用一次extern C STRATEGY_API void Destroy(Environment*env);,03,4.3.1 Strategy 接口函数解析,04,函数接口 Strategy是程序的主要执行逻辑,由系统反复调用,每次调用时系统通过Environment*env这个指针向我们传递当前周期系统提供信息,在这里,我们必须处理针对赛场上

11、每一时刻的对策,通过策略运算设置己方小车的左右轮转速,来控制机器人进行足球比赛。每秒调用次数依靠机器能力来定,默认为60次,即仿真的一个周期为1/60秒。extern C STRATEGY_API void Strategy(Environment*env);,4.3.2 InterFace.h,05,/主要的定义,包含所有运行时的的信息,由系统刷新typedef structRobot homePLAYERS_PER_SIDE;/我方机器人数组OpponentRobot opp PLAYERS_PER_SIDE;/敌方机器人数组Ball currentBall,/当前小球的位置 lastBa

12、ll,/上一次小球的位置 predictedBall;/预计的小球的位置Bounds fieldBounds,/场地范围 goalBounds;/球门的位置与范围long gameState;/当前游戏的状态long whosBall;/由谁控制球void*userData;/用户自定义信息 Environment;,/位置向量定义typedef structdouble x,y,z;/x 和 y 为坐标值 Vector3D;,06,4.3.3 InterFace.h,/己方机器人的信息定义typedef structVector3D pos;/机器人坐标double rotation;/机器

13、人方向角double velocityLeft,velocityRight;/机器人左右轮速度 Robot;,07,4.3.4 InterFace.h,/敌方机器人的信息的定义typedef structVector3D pos;/机器人的坐标位置double rotation;/机器人当前的转角 OpponentRobot;,08,4.3.5 InterFace.h,/小球的位置定义typedef structVector3D pos;/小球的坐标位置 Ball;,09,4.3.6 InterFace.h,10,4.3.7 InterFace.h,/场地区域范围typedef structl

14、ong left,/场地左边界 right,/场地右边界top,/场地上边界bottom;/场地下边界 Bounds;,4.4 Strategy.h 简单策略函数,11,/防守球门void Goalie1(Robot*robot,Environment*env);/控制小车在球场边线的控制void NearBound2(Robot*robot,double vl,double vr,Environment*env);/抢球void Attack2(Robot*robot,Environment*env);/防守void Defend(Robot*robot,Environment*env,do

15、uble low,double high);,Strategy.h 简单策略函数,12,/机器人向小球的位置移动的方法void MoonAttack(Robot*robot,Environment*env);/对敌方的跟踪void MoonFollowOpponent(Robot*robot,OpponentRobot*opponent);/预估小球的位置void PredictBall(Environment*env);,4.5 Action.h 基本动作函数,13,/设置小车轮子速度void Velocity(Robot*robot,int vl,int vr);/小车转角控制void Angle(Robot*robot,int desired_angle);/移动小车到指定位置void Position(Robot*robot,double x,double y);,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2