机器人全课程(副本).ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封面 欢迎词 大纲介绍 0.1 实物半自主足球机器人 0.2 仿真机器人足球比赛 0.3 仿真比赛的特点 仿真实物半自主机器人足球比赛; 所有的硬件设备均由计算机模拟实现; 简化比赛系统复杂度,减少硬件需求 ; 可控性好、无破坏性、可重复使用,不受硬件条件和场地环境的限制; 研究人工智能的绝佳平台; 0.4 仿真比赛开发基础 对c语言有一定的了解; 对vc开发环境比较熟悉; 有创造性思维和充分的想象力; 有克服困难的能力; 1.1 演示一场比赛 1.2 MLS平台 1.3 机器人的编号 1.4 机器人的辨认 1.5 鼠标和键盘操作 鼠标: 在比赛开始前或比赛暂停时,可以用鼠标拖动球或机器人到场地的任何位置。 键盘: 在比赛开始前或比赛暂停时,当鼠标点击某一个机器人后可以用?或?键来调整该机器人的角度。 1.6 MLS平台系统特点 1.7 MLS平台系统需求 1.8软件开发环境 Lingo Microsoft Visual C++6.0 Microsoft Visual C++.NET 2003 1.9 MLS平台模板程序 2.1 什么是策略程序? 定义:策略程序就是自己编写的能够使仿真平台中机器人按照预定方式运动的程序。 通俗的来说,就是能够打比赛的程序。 2.2 仿真平台与策略程序的通讯方式 策略程序接受数据 2.3 场地信息介绍 2.4 场地的各种标志及尺寸 2.5 球与车的长度尺寸 2.6策略程序每个周期接受的数据 仿真平台传递给策略程序的数据: 己方、对方机器人坐标、角度(当前周期,上一周期)。 球的坐标(当前周期,上一周期)。 场地数据。 控球方。 2.7 策略程序每个周期发送的数据 策略程序发送给仿真平台的数据: 己方(home[i])每个机器人的左轮速(vl)和右轮速(vr)。 注: 当前发送的数据要到下一周期才能执行。 4.1 Velocity动作函数 该动作可以给机器人自由的发轮速(在该程序中可以简单的认为轮速就是机器人的推进力)。 小车发轮树被限制为 – 125 ~ 125 之间。 //形参robot 指定小车号 //形参vl 左轮速 vr 右轮速 void Velocity ( Robot *robot, int vl, int vr ); 4.1.1机器人的运动控制 左轮速vl 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); } 4.2 Angle动作函数 该动作可以让机器人转到指定的任意角度。 并做直线运动。 //形参robot 指定小车号 //形参desired_angle为转角度数 void Angle ( Robot *robot, int desired_angle); 4.2.1 机器人的转角控制 4.2.2 Angle例子 void NormalAngle( Environment* env) { //让1号机器人转到30度角 Angle(env-home[1], 30); //让3号机器人转到-60度角 Angle(env-home[3], -60); } 4.3 Position动作函数 该动作可以让机器人跑到场地上指定的任何地点。 //形参robot 指定小车号 //形参 x 目标位置X坐标 y 目标位置Y坐标 void Position( Robot *robot, double x, double y ); 4.3.1 机器人的指定点运动 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; do

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档