




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0.概述,讲师:黄俊,0.1实物半自主足球机器人,01,0.2仿真机器人足球比赛,02,0.3仿真比赛的特点,仿真实物半自主机器人足球比赛; 所有的硬件设备均由计算机模拟实现; 简化比赛系统复杂度,减少硬件需求 ; 可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制; 研究人工智能的绝佳平台;,03,0.4仿真比赛的开发基础,对c语言有一定的了解; 对vc开发环境比较熟悉; 有创造性思维和充分的想象力; 有克服困难的能力;,04,1.仿真平台使用介绍,1.1演示一场比赛,01,VS,黄队,蓝队,武汉工程大学代表队,千人工程代表队,1.2机器人的编号,Home代表己方机器人 Opp 代表对方机器人 箭头所指的方向为机器人当前的正方向,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或与其性能相当的CPU; 256M系统内存; 具有32M显存的TNT2或其以上级别的显示卡; 至少可以实现800600分辨率的显示器; 软件需求: Windows98或以上版本的操作系统; DirectX 8.0或以上版本;,05,1.6 软件开发环境,Lingo Microsoft Visual C6.0 Microsoft Visual C.NET 2003 Microsoft Visual C.NET 2005,06,1.7 MLS平台模板程序,平台提供了基本的策略开发框架,见安装目录下的Strategy Source目录 如:C:Program FilesRobot Soccer v1.5aStrategy 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 场地的各种标志及尺寸,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 动作函数,该动作可以给机器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)。 小车速度被限制为 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 Angle 动作函数,该动作可以让机器人转到指定的任意角度。并做直线运动。 /形参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 动作函数,该动作可以让机器人跑到场地上指定的任何地点。 /形参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号机器人逆时针转圈 ,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“ STRATEGY_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这个指针向我们传递当前周期系统提供信息,在这里,我们必须处理针对赛场上每一时刻的对策,通过策略运算设置己方小车的左右轮转速,来控制机器人进行足球比赛。 每秒调用次数依靠机器能力来定,默认为60次,即仿真的一个周期为1/60秒。 extern “C“ STRATEGY_API void Strategy ( Environment *env );,4.3.2 InterFace.h,05,/主要的定义,包含所有运行时的的信息,由系统刷新 typedef struct Robot homePLAYERS_PER_SIDE; /我方机器人数组 OpponentRobot opp PLAYERS_PER_SIDE;/敌方机器人数组 Ball currentBall, /当前小球的位置 lastBall, /上一次小球的位置 predictedBall; /预计的小球的位置 Bounds fieldBounds, /场地范围 goalBounds; /球门的位置与范围 long gameState; /当前游戏的状态 long whosBall; /由谁控制球 void *userData; /用户自定义信息 Environment;,/位置向量定义 typedef struct double x, y, z; / x 和 y 为坐标值 Vector3D;,06,4.3.3 InterFace.h,/ 己方机器人的信息定义 typedef struct Vector3D pos; / 机器人坐标 double rotation; / 机器人方向角 double velocityLeft, velocityRight; / 机器人左右轮速度 Robot;,07,4.3.4 InterFace.h,/ 敌方机器人的信息的定义 typedef struct Vector3D pos; / 机器人的坐标位置 double rotation; / 机器人当前的转角 OpponentRobot;,08,4.3.5 InterFace.h,/ 小球的位置定义 typedef struct Vector3D pos; / 小球的坐标位置 Ball;,09,4.3.6 InterFace.h,10,4.3.7 InterFace.h,/ 场地区域范围 typedef struct long 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, double low, double high );,Strategy.h 简单策略函数,12,/ 机器人向小球的位置移动的方法 void MoonAttack (Robot *robot, Environment *env ); / 对敌方的跟踪 void MoonFollowOpponent ( Robot *robot, OpponentRobot *opponent ); / 预估小
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民爆管理安全培训教案课件
- 初三语文汇考试卷及答案
- 保姆应聘考试题库及答案
- 民族骨气课件
- 医护患位置图解
- 车间安全培训要点讲解
- 新质生产力的关系协调之道
- 民族聚居景观营造课件
- 新质生产力顶层设计
- 信息化赋能新质生产力提升
- 纺织企业安全生产知识培训
- 小区物业合伙管理协议书
- 2025年全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案
- 小学心理健康教育四级预警汇报流程
- 教案2025秋形势与政策纪念抗战胜利坚定民族信念抗战胜利80周年
- 2025年学法减分试题及答案
- 《智能建造概论》高职完整全套教学课件
- 2025年中小学教师师德师风考试题库及答案
- 2025年商业店铺出租合同(标准版)(可修改可打印)
- 设备采购质保金管理制度
- 互助友爱班级大家庭主题班会课件
评论
0/150
提交评论