机器人全课程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《机器人全课程课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器人 课程 课件
- 资源描述:
-
1、机器人全课程机器人全课程2022-11-26机器人全课程欢迎词机器人全课程大纲介绍机器人全课程机器人全课程机器人全课程机器人全课程l仿真实物半自主机器人足球比赛;l所有的硬件设备均由计算机模拟实现;l简化比赛系统复杂度,减少硬件需求;l可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制;l研究人工智能的绝佳平台;机器人全课程l对c语言有一定的了解;l对vc开发环境比较熟悉;l有创造性思维和充分的想象力;l有克服困难的能力;机器人全课程机器人全课程VSVS武汉工程大学代表队武汉工程大学代表队千人工程代表队千人工程代表队黄队黄队蓝队蓝队机器人全课程开发者:开发者:澳大利亚的Dr.Jun
2、Jo领导的Griffith大学信息技术学院RSS开发小组机器人全课程home1home1home2home2home3home3home4home4opp1opp1opp2opp2opp3opp3opp4opp4opp0opp0home0home0HomeHome代表代表己方机器人己方机器人 Opp Opp 代表代表对方机器人对方机器人箭头所指的箭头所指的方向为机器方向为机器人当前的正人当前的正方向方向机器人全课程0 0号一般是号一般是守门员守门员,用大红色表示;,用大红色表示;1 1号用紫色表示,号用紫色表示,2 2号用紫红色表示;号用紫红色表示;3 3号用绿色表示,号用绿色表示,4 4号用
3、蓝绿色表示;号用蓝绿色表示;每方队员有五名,分别用不同的颜色来标每方队员有五名,分别用不同的颜色来标示,中间是代表队伍的颜色,在左下角是示,中间是代表队伍的颜色,在左下角是区分不同队员的标识:区分不同队员的标识:机器人全课程鼠标:鼠标:在比赛开始前或比赛暂停时,在比赛开始前或比赛暂停时,可以用鼠标拖动球可以用鼠标拖动球或机器人到场地的任何位置。或机器人到场地的任何位置。键盘:键盘:在比赛开始前或比赛暂停时,当鼠标点击某一个在比赛开始前或比赛暂停时,当鼠标点击某一个机器人后机器人后可以用可以用或或键来键来调整该机器人的角度。调整该机器人的角度。机器人全课程机器人模型:机器人模型:Yujin Yu
4、jin机器人的物理模型。机器人的物理模型。模拟精确:模拟精确:碰撞检测完全,碰撞处理准确仿真极为真实碰撞检测完全,碰撞处理准确仿真极为真实 (采用商业游戏引擎公司(采用商业游戏引擎公司HavokHavok的碰撞处理引擎的碰撞处理引擎 作品作品 帝国时代、帝国时代、CSCS等)。等)。系统界面:系统界面:3 3维(采用维(采用DirectorDirector设计界面,设计界面,3D Max3D Max建模)。建模)。机器人全课程lWindows98Windows98或以上版本的操作系统;或以上版本的操作系统;lDirectX 8.0DirectX 8.0或以上版本;或以上版本;硬件需求:硬件需求
5、:lPentium III 600 MHzPentium III 600 MHz或与其性能相当的或与其性能相当的CPUCPU;l256M256M系统内存;系统内存;l具有具有32M32M显存的显存的TNT2TNT2或其以上级别的显示卡;或其以上级别的显示卡;l至少可以实现至少可以实现800800600600分辨率的显示器;分辨率的显示器;软件需求:软件需求:机器人全课程LingoLingoMicrosoft Visual CMicrosoft Visual C6.06.0Microsoft Visual CMicrosoft Visual C.NET 2003.NET 2003 机器人全课程
6、平台提供了基本的策略开发框架平台提供了基本的策略开发框架,见安装目录见安装目录下的下的Strategy SourceStrategy Source目录目录 如如:C:Program:C:Program FilesRobot Soccer v1.5aStrategy Source)FilesRobot Soccer v1.5aStrategy Source)。其模板程序为其模板程序为DLLDLL动态联接库。动态联接库。机器人全课程机器人全课程定义:策略程序就是自己编写的能够使仿真平定义:策略程序就是自己编写的能够使仿真平台中机器人按照预定方式运动的程序。台中机器人按照预定方式运动的程序。通俗的来
7、说,就是能够打比赛的程序。通俗的来说,就是能够打比赛的程序。机器人全课程策略程序接受数据策略程序接受数据策略程序发送数据策略程序发送数据MLSMLS平台平台MLSMLS策略程策略程序序策略程序将接受的策略程序将接受的数据进行处理数据进行处理机器人全课程(6.8118,6.37306.8118,6.3730)(6.8118,77.23926.8118,77.2392)(93.4259,77.239293.4259,77.2392)(93.4259,6.373093.4259,6.3730)(0,00,0)(单位单位:英寸英寸)机器人全课程(单位单位:厘米厘米)机器人全课程前前约约4.3184.3
8、18球球机器人机器人约约7.97567.9756(0.0,0.0)(0.0,0.0)X XY Y转角方向转角方向 0 0(单位单位:厘米厘米)机器人全课程仿真平台传递给策略程序的数据仿真平台传递给策略程序的数据:己方、对方机器人坐标、角度(当前周期,上一己方、对方机器人坐标、角度(当前周期,上一周期)。周期)。球的坐标(当前周期,上一周期)。球的坐标(当前周期,上一周期)。场地数据。场地数据。控球方。控球方。机器人全课程策略程序发送给仿真平台的数据策略程序发送给仿真平台的数据:己方(己方(homeihomei)每个机器人的左轮速)每个机器人的左轮速(vlvl)和右轮速()和右轮速(vrvr)。
9、)。注注:当前发送的数据要到下一周期才能执行。当前发送的数据要到下一周期才能执行。机器人全课程机器人全课程 该动作可以给机器人自由的发轮速(在该程序该动作可以给机器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)。中可以简单的认为轮速就是机器人的推进力)。小车发轮树被限制为小车发轮树被限制为 125 125 125125 之间。之间。/形参形参robot robot 指定小车号指定小车号 /形参形参vl vl 左轮速左轮速 vr vr 右轮速右轮速void Velocity(Robot void Velocity(Robot*robot,int vl,int vr);robot
10、,int vl,int vr);机器人全课程左轮速左轮速vlvl右轮速右轮速vrvr注注:vl vr vl vr 机器人顺时针旋转机器人顺时针旋转 vl vr vl home2,20,20);Velocity(&env-home2,20,20);/让让1 1号机器人左轮子都以号机器人左轮子都以-20-20的轮速后退的轮速后退Velocity(&env-home1,-20,-20);Velocity(&env-home1,-20,-20);/给给3 3号机器人左轮发号机器人左轮发100,100,右轮发右轮发2020Velocity(&env-home3,100,20);Velocity(&env
11、-home3,100,20);机器人全课程 该动作可以让机器人转到指定的任意角度。该动作可以让机器人转到指定的任意角度。并做直线运动。并做直线运动。/形参形参robot robot 指定小车号指定小车号 /形参形参desired_angledesired_angle为转角度数为转角度数void Angle(Robot*robot,int desired_angle);机器人全课程30度左轮速左轮速vlvl右轮速右轮速vrvr-180度度+180度度-60度左轮速左轮速vlvl右轮速右轮速vrvr当角度为负时,当角度为负时,机器人反向运动机器人反向运动机器人全课程void NormalAngle
12、(Environmentvoid NormalAngle(Environment*env)env)/让让1 1号机器人转到号机器人转到3030度角度角Angle(&env-home1,30);Angle(&env-home1,30);/让让3 3号机器人转到号机器人转到-60-60度角度角Angle(&env-home3,-60);Angle(&env-home3,-60);机器人全课程 该动作可以让机器人跑到场地上指定的任何地点。该动作可以让机器人跑到场地上指定的任何地点。/形参形参robot robot 指定小车号指定小车号 /形参形参 x x 目标位置目标位置X X坐标坐标 y y 目标
13、位置目标位置Y Y坐标坐标void Position(Robot void Position(Robot*robot,double x,double y);robot,double x,double y);机器人全课程?度度左轮速左轮速vlvl右轮速右轮速vrvr球位置球位置2 2球位置球位置1 1根据目标位置可进行转角的控制。根据目标位置可进行转角的控制。机器人全课程void NormalPosition(Environmentvoid NormalPosition(Environment*env)env)/让让2 2号机器人追着球跑号机器人追着球跑Position(&env-home2,P
14、osition(&env-home2,env-lastBall.pos.x,env-lastBall.pos.y););/让让2 2号机器人跑到场地中心号机器人跑到场地中心double x=(env-fieldBounds.left+env-fieldBounds.right)/2;double x=(env-fieldBounds.left+env-fieldBounds.right)/2;double y=(env-fieldBounds.bottom+env-fieldBounds.top)/2;double y=(env-fieldBounds.bottom+env-fieldBoun
15、ds.top)/2;Position(&env-home2,x,y);Position(&env-home2,x,y);机器人全课程void Normal(Environmentvoid Normal(Environment*env)env)Position(&env-home0,Position(&env-home0,env-goalBounds.left+10,env-goalBounds.left+10,env-currentBall.pos.y);env-currentBall.pos.y);/让让0 0号机器人在球门附近跟着球的号机器人在球门附近跟着球的y y坐标跑坐标跑Veloci
16、ty(&env-home1,10,70);Velocity(&env-home1,10,70);/让让1 1号机器人逆时针转圈号机器人逆时针转圈Position(&env-home2,Position(&env-home2,env-currentBall.pos.x,env-currentBall.pos.x,env-currentBall.pos.y);env-currentBall.pos.y);/让让2 2号机器人追着球跑号机器人追着球跑Angle(&env-home3,-60);Angle(&env-home3,-60);/让让3 3号机器人追着球跑号机器人追着球跑Velocity(&
17、env-home4,5,5);Velocity(&env-home4,5,5);/让让1 1号机器人逆时针转圈号机器人逆时针转圈 机器人全课程l轮速度限制为速度限制为 -125-125 125125l平台原始接口中提供了比赛状态(平台原始接口中提供了比赛状态(GameStateGameState)以及控球方(以及控球方(WhosBallWhosBall)两个参数)两个参数,但经过实际开但经过实际开发时发现他们毫无任何用处发时发现他们毫无任何用处,故需要自己判断故需要自己判断l场地度量单位为英寸,场地度量单位为英寸,1 1英寸英寸=2.54=2.54厘米厘米l机器人角度的单位为角度(机器人角度的
18、单位为角度(不是弧度不是弧度)l如果场地不同,队伍需要转换左右半场坐标如果场地不同,队伍需要转换左右半场坐标机器人全课程机器人全课程机器人全课程机器人全课程 这个文件有与仿真平台通讯的一个结构这个文件有与仿真平台通讯的一个结构EnvironmentEnvironment和三个函数的声明和三个函数的声明/比赛开始时系统调用一次比赛开始时系统调用一次extern C STRATEGY_API void Create(Environment extern C STRATEGY_API void Create(Environment*env);env);/比赛过程中由系统循环调用(比赛过程中由系统循环
19、调用(策略都放在里面策略都放在里面)。)。extern C STRATEGY_API void extern C STRATEGY_API void StrategyStrategy(Environment (Environment*env);env);/比赛结束时系统调用一次比赛结束时系统调用一次extern C STRATEGY_API void Destroy(Environment extern C STRATEGY_API void Destroy(Environment*env);env);机器人全课程StrategyStrategy 函数接口函数接口 StrategyStrate
20、gy是程序的主要执行逻辑,由系是程序的主要执行逻辑,由系统反复调用,每次调用时系统通过统反复调用,每次调用时系统通过EnvironmentEnvironment*env env这个指针向我们传递当前周期系统提供信息,在这里,这个指针向我们传递当前周期系统提供信息,在这里,我们必须处理针对赛场上每一时刻的对策,通过策略我们必须处理针对赛场上每一时刻的对策,通过策略运算设置己方小车的左右轮转速,来控制机器人进行运算设置己方小车的左右轮转速,来控制机器人进行足球比赛。足球比赛。每秒调用次数依靠机器能力来定,默认为每秒调用次数依靠机器能力来定,默认为6060次,次,即仿真的一个周期为即仿真的一个周期为
展开阅读全文