机器人全课程

  • 格式:ppt
  • 大小:1.26 MB
  • 文档页数:84

下载文档原格式

  / 84
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机器人全课程
PPT文档演模板
2020/11/17
机器人全课程
欢迎词
PPT文档演模板
机器人全课程
大纲介绍
PPT文档演模板
机器人全课程
0. 概述
PPT文档演模板
机器人全课程
0.1 实物半自主足球机器人
PPT文档演模板
机器人全课程
0.2 仿真机器人足球比赛
PPT文档演模板
机器人全课程
0.3 仿真比赛的特点
仿真平台传递给策略程序的数据:
己方、对方机器人坐标、角度(当前周期,上一 周期)。
球的坐标(当前周期,上一周期)。 场地数据。 控球方。
PPT文档演模板
机器人全课程
2.7 策略程序每个周期发送的数据 策略程序发送给仿真平台的数据:
己方(home[i])每个机器人的左轮速 (vl)和右轮速(vr)。
PPT文档演模板
机器人全课程
4.3 Position动作函数
该动作可以让机器人跑到场地上指定的任何地点。
//形参robot 指定小车号 //形参 x 目标位置X坐标 y 目标位置Y坐标
void Position( Robot *robot, double x, double y );
PPT文档演模板
0号一般是守门员,用大红色表示; 1号用紫色表示,2号用紫红色表示; 3号用绿色表示,4号用蓝绿色表示;
PPT文档演模板
机器人全课程
1.5 鼠标和键盘操作
鼠标: 在比赛开始前或比赛暂停时,可以用鼠标拖动球 或机器人到场地的任何位置。
键盘: 在比赛开始前或比赛暂停时,当鼠标点击某一个 机器人后可以用或键来调整该机器人的角度。
//预计的小球的位置
Bounds fieldBounds,
//场地范围
goalBounds;
//球门的位置与范围
long gameState;
//当前游戏的状态
long whosBall;
//由谁控制球
void *userData;
4.1.2 Velocity例子
// 一般动作 void NormalVelocity(Environment* env) {
//让2号机器人两个轮子都以10的轮速前进 Velocity(&env->home[2], 20, 20); //让1号机器人左轮子都以-20的轮速后退 Velocity(&env-> home[1], -20, -20); //给3号机器人左轮发100, 右轮发20 Velocity(&env-> home[3], 100, 20); }
PPT文档演模板
机器人全课程
5.3.1 Strategy 接口函数解析
函数接口 Strategy是程序的主要执行逻辑,由系 统反复调用,每次调用时系统通过Environment* env 这个指针向我们传递当前周期系统提供信息,在这里, 我们必须处理针对赛场上每一时刻的对策,通过策略 运算设置己方小车的左右轮转速,来控制机器人进行 足球比赛。
PPT文档演模板
机器人全课程
5. 策略程序的结构
PPT文档演模板
机器人全课程
5.1 策略文件组成
PPT文档演模板
机器人全课程
5.2 策略类视图
PPT文档演模板
机器人全课程
5.3 InterFace.h接口文件
这个文件有与仿真平台通讯的一个结构Environment 和三个函数的声明
//比赛开始时系统调用一次 extern "C" STRATEGY_API void Create ( Environment *env );
Velocity(&env->home[1], 10 , 70 ); //让1号机器人逆时针转圈
Position(&env->home[2], env->currentBall.pos.x, env->currentBall.pos.y );
//让2号机器人追着球跑
Angle(&env->home[3], -60);
//让3号机器人追着球跑
Velocity(&env->home[4], 5 , 5 ); //让1号机器人逆时针转圈 }
PPT文档演模板
机器人全课程
4.5 注意事项
轮速度限制为 -125 ~ 125 平台原始接口中提供了比赛状态(GameState)
以及控球方(WhosBall)两个参数,但经过实际开 发时发现他们毫无任何用处,故需要自己判断 场地度量单位为英寸,1英寸 = 2.54厘米 机器人角度的单位为角度(不是弧度) 如果场地不同,队伍需要转换左右半场坐标
每秒调用次数依靠机器能力来定,默认为60次, 即仿真的一个周期为1/60秒。
extern "C" STRATEGY_API void Strategy ( Environment *env );
PPT文档演模板
机器人全课程
5.3.2 InterFace.h
//主要的定义,包含所有运行时的的信息,由系统刷新
PPT文档演模板
(93.4259, 6.3730)
机器人全课程
2.4 场地的各种标志及尺寸
(:)
单 位 厘 米
PPT文档演模板
机器人全课程
Y 2.5 球与车的长度尺寸
约4.318
(:)




转角方向 0°

机器人

约7.9756
PPT文档演模板
(0.0 ,0.0)
X
机器人全课程
2.6策略程序每个周期接受的数据
机器人全课程
4.3.1 机器人的指定点运动
球位置2
PPT文档演模板
左轮速vl 右轮速vr
?度
球位置1
Position 函数 根据目标位置可进行转角的控制。
机器人全课程
4.3.2 Position例子
void NormalPosition( Environment* env ) {
//让2号机器人追着球跑 Position( &env->home[2], env->lastBall.pos.x, \
env->lastBall.pos.y);
//让2号机器人跑到场地中心
double x = ( env->fieldBounds.left + env->fieldBounds.right ) / 2; double y = ( env->fieldBounds.bottom + env->fieldBounds.top ) / 2;
注: 当前发送的数据要到下一周期才能执行。
PPT文档演模板
机器人全课程
4. 动作函数及演示
PPT文档演模板
机器人全课程
4.1 Velocity动作函数
该动作可以给机器人自由的发轮速(在该程序 中可以简单的认为轮速就是机器人的推进力)。
小车发轮树被限制为 – 125 ~ 125 之间。
//形参robot 指定小车号 //形参vl 左轮速 vr 右轮速
PPT文档演模板
机器人全课程
1.6 MLS平台系统特点
机器人模型: Yujin机器人的物理模型。
模拟精确: 碰撞检测完全,碰撞处理准确仿真极为真实
(采用商业游戏引擎公司Havok的碰撞处理引擎 作品 帝国时代、CS等)。
系统界面: 3维(采用Director设计界面,3D Max建模)。
PPT文档演模板
typedef struct
{
Robot home[PLAYERS_PER_SIDE];
//我方机器人数组
OpponentRobot opp [PLAYERS_PER_SIDE]; //敌方机器人数组
Ball currentBall,
//当前小球的位置
lastBall,
//上一次小球的位置
predictedBall;
PPT文档演模板
机器人全课程
4.2 Angle动作函数
该动作可以让机器人转到指定的任意角度。 并做直线运动。
//形参robot 指定小车号 //形参desired_angle为转角度数 void Angle ( Robot *robot, int desired_angle);
PPT文档演模板
机器人全课程
Position(&env->home[2], x, y);
}
PPT文档演模板
机器人全课程
4.4 三个动作函数组合使用的例子
void Normal( Environment* env ) {
Position(&env->home[0], env->goalBounds.left + 10, env->currentBall.pos.y); //让0号机器人在球门附近跟着球的y坐标跑
机器人全课程
1.7 MLS平台系统需求
硬件需求:
Pentium III 600 MHz或与其性能相当的CPU; 256M系统内存; 具有32M显存的TNT2或其以上级别的显示卡; 至少可以实现800×600分辨率的显示器;
软件需求:
Windows98或以上版本的操作系统; DirectX 8.0或以上版本;
//比赛过程中由系统循环调用(策略都放在里面)。 extern "C" STRATEGY_API void Strategy ( Environment *env );
//比赛结束时系统调用一次 extern "C" STRATEGY_API void Destroy ( Environment *env );
PPT文档演模板
机器人全课程
1.8软件开发环境
Lingo × Microsoft Visual C++6.0√ Microsoft Visual C++.NET 2003√
PPT文档演模板
机器人全课程
1.9 MLS平台模板程序
平台提供了基本的策略开发框架,见安装目录 下的Strategy Source目录 如:C:\Program Files\Robot Soccer v1.5a\Strategy Source)。
其模板程序为DLL动态联接库。
PPT文档演模板
机器人全课程
2.仿真平台与策略程序 的关系
PPT文档演模板
机器人全课程
2.1 什么是策略程序?
定义:策略程序就是自己编写的能够使仿真平 台中机器人按照预定方式运动的程序。
通俗的来说,就是能够打比赛的程序。
PPT文档演模板
机器人全课程
2.2 仿真平台与策略程序的通讯方式
机器人全课程
1.3 机器人的编号
Home代表 己方机器人
Opp 代表 对方机器人
箭头所指的 方向为机器 人当前的正 方向
opp1 opp3
opp0
home4 home2 home0
opp2 opp4 home3 home1
PPT文档演模板
机器人全课程
1.4 机器人的辨认
每方队员有五名,分别用不同的颜色来标 示,中间是代表队伍的颜色,在左下角是 区分不同队员的标识:
仿真实物半自主机器人足球比赛; 所有的硬件设备均由计算机模拟实现; 简化比赛系统复杂度,减少硬件需求 ; 可控性好、无破坏性、可重复使用,不受硬件条
件和场地环境的限制; 研究人工智能的绝佳平台;
PPT文档演模板
机器人全课程
0.4 仿真比赛开发基础
对c语言有一定的了解; 对vc开发环境比较熟悉; 有创造性思维和充分的想象力; 有克服困难的能力;
PPT文档演模板
机器人全课程
1. 仿真平台使用介绍
PPT文档演模板
机器人全课程
1.1 演示一场比赛
黄队 武汉工程大学代表队
蓝队 千人工程代表队
VS
PPT文档演模板
机器人全课程
1.2 MLS平台
开发者:
澳大利亚的 Dr. Jun Jo 领导的 Griffith大学 信息技术学院 RSS开发小组
PPT文档演模板
void Velocity ( Robot *robot, int vl, int vr );
PPT文档演模板
机器人全课程
4.1.1机器人的运动控制
左轮速vl
右轮速vr
注: vl > vr 机器人顺时针旋转 vl < vr 机器人逆时针旋转
PPT文档演模板
ຫໍສະໝຸດ Baidu
当轮速为负时, 机器人反向运动
机器人全课程
策略程序将接受的 数据进行处理
策略程序接受数据
MLS平台
PPT文档演模板
策略程序发送数据 MLS策略程 序
机器人全课程
2.3 场地信息介绍
(6.8118, 77.2392)
(93.4259, 77.2392)
(:)
单 位 英 寸
(6.8118, 6.3730)
(0,0) 说明:1英寸= 2.54厘米
4.2.1 机器人的转角控制
+180度
30度
左轮速vl 右轮速vr
- 180度
PPT文档演模板
左轮速vl
右轮速vr
-60度
当角度为负时, 机器人反向运动
机器人全课程
4.2.2 Angle例子
void NormalAngle( Environment* env) {
//让1号机器人转到30度角 Angle(&env->home[1], 30); //让3号机器人转到-60度角 Angle(&env->home[3], -60); }