基于诺宝RC环境下的机器人走简单轨迹.pdf
《基于诺宝RC环境下的机器人走简单轨迹.pdf》由会员分享,可在线阅读,更多相关《基于诺宝RC环境下的机器人走简单轨迹.pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于诺宝基于诺宝 RCRC 环境下的机器人走环境下的机器人走简单轨迹简单轨迹 作者:日期:2 2个人收集整理个人收集整理 勿做商业用途勿做商业用途基于诺宝 RC 环境下的机器人走简单轨迹李发成摘要:机器人走轨迹是诺宝 RC 的最基本应用之一,也是机器人常规比赛项目之一,走轨迹包含了程序设计的三种基本结构,能充分体现程序设计的基本思想和方法,有助于学生对程序设计思想和方法的理解。本文研究的主要内容是机器人走简单轨迹,按机器人行走的的方式分类有“沿边法”和“靠中法”;按程序结构的分类有“单分支对称结构”、“二重分支对称结构”和“三重分支非对称结构”。本文通过对二种行走方式和三种程序结构的研究和对比
2、,揭示它们之间的内在联系,通过实验分析,归纳程序与参数组合搭配对机器人行走速度和稳定性的影响。关键词:机器人,走轨迹,轨迹识别传感器,轨迹变量,沿边法,靠中法机器人走轨迹看似简单,但深究起来还是比较复杂的,还别说含直锐角转弯、缺口、终点标志、色带瑕疵、障碍、传感源、宽窄不一等复杂的场地,就算对于简单轨迹还是有许多情况需要讨论的。本文讨论的目的是通过研究各种程序和参数的变化,对走轨迹进行定性和定量的分析和研究,总结出程序和参数的组合优劣,使机器人行走的路径尽量的短、速度尽量的快、稳定性尽量的高。第一章第一章 基础知识基础知识一、走轨迹与轨迹变量1 1、机器人走轨迹的概念、机器人走轨迹的概念:机器
3、人走轨迹是指机器人在色带上行走,有时可能会临时偏离色带,但必需能再次寻找到色带,如下图 1:(图 1)2 2、轨迹变量、轨迹变量:机器人通过“轨迹识别传感器获取轨迹变量的值,轨迹变量的值有 0、2、3、1 四个,这四个值与机器人和色带的相对位置对应关系如下图 2.第第 3 3 页页 共共 20 20 页页个人收集整理个人收集整理 勿做商业用途勿做商业用途(左 0)(2)(3)(1)(右 0)(图 2)当轨迹传感器的两个探测头都没有落在色带上时,轨迹变量0。当右探测头落在色带上而左探测头不在色带上时,轨迹变量2。当轨迹传感器的两个探测头都落在色带上时,轨迹变量3。当左探测头落在色带上而右探测头不
4、在色带上时,轨迹变量1.无论机器人走轨迹程序的思路如何,都是依据上面图形和数值的对应关系来设计的。二、有关说明和准备工作(一)有关说明1、为了实验方便和节省成本,本文所讨论的内容大部分是指在诺宝 RC10。1 的“仿真”界面下,除非在仿真界面下不能实现时,才在“实物器材环境”下.2、“色带”与“轨迹的概念:本文章中说到的“色带”是指给机器人预定的“跑道”,“轨迹有时是指“色带”,又时是指机器人运动后留下的真实轨迹,程序设计的意图是让机器人的轨迹落在色带上,但实际情况往往并非时时如此,如图 1。3、轨迹识别传感器的位置:仿真界面中机器人前面的两个小黑点并不是轨迹传感器的左右两个探测器,而是“输出
5、模块中的“发光灯”。轨迹识别传感器的两个探测器应该是在机器人头部中间的地方,且离的很近,仿真机器人没有标示出来,但从实际行走过程可以观察出来。虽然如此,但为了能直观的说明机器人位置与轨迹变量的关系,本文中“错误”地把这两个黑点当成传感器的两个探测头,可能会更好理解一些.4、“左 0”与“右 0的概念:“轨迹变量0”时,是需要讨论的,它是一个比较复杂的值,程序的优劣之一是看对 0 的处理,在简单轨迹中会遇到 0,在复杂轨迹中更会遇到。为了对0 有更好的理解和掌握,本文引入“左0”和“右0”的概念,无论那一种轨迹程序,都必须遵循“左 0 右转”、“右 0 左转”的原则。第第 4 4 页页 共共 2
6、0 20 页页个人收集整理个人收集整理 勿做商业用途勿做商业用途5、区域:本文有时会按轨迹变量的值来称呼色带区域,从左到右,把色带划分为以下区域:左 0 区、2 区、3 区、1 区、右 0 区,所谓 k 区域,是指轨迹变量等于 k的色带区域,其中 0k3,kZ.6、本论文中速度的概念包含:(1)单独电机自身的转速;(2)左右电机的相对模糊速度,比如“左快右慢”、“左慢右快”等用语;(3)机器人的整体速度.为了不引起混淆,以下把电机自身的转速说成“马力”.7、假设轨迹的有效(因为轨迹不全是规则且直的)宽度为 Width,机器人轨迹识别传感器的两只探测头扫描不是一个点而是有一个范围,假设这个范围的
7、最小距离是Distancemin,则只有当 DistanceminWidth 时,才可能两个探测器“同时探测到色带。对于窄色带,即色带宽度轨迹传感器左右探测头的距离的色带,比如在一条宽度为 0.5cm 的简单轨迹线上,从左向右连续移动机器人,则“轨迹变量”的值变化如下:(左 0)(2)(中 0)(1)(右 0)(图 3)轨迹传感器的两个探头,不妨称之为两只“眼睛”,其曈距为1.2CM,大眼角距为0。8CM。在实际比赛中,简单轨迹的色带宽度一般为 2CM 左右,在仿真界面中,色带的最小宽度也只能设置为 2CM,如果您非要设置更小的宽度比如 1CM 时,会提醒“宽度应大于等于 2。然而诺宝 RC1
8、0.1 的实际情况是,当提醒你“宽度应大于等于 2”后您点取消,也确实能设为 1!(试试就知道)。8、特宽大轨迹:色带宽度轨迹传感器左右探测头的距离(远远大于),这在实际比赛中是不太多见,这样做的目的是放大色带,便于观察。为了更明显地突出说明几种程序下机器人的运动规律,揭示轨迹变量与机器人位置的本质,本节课所使用的轨迹宽度均为 40CM 的色带,实际比赛中不会这么宽,这儿虽有点夸张,但通过放大运动过程更易于对运动过程的理解。9、复杂轨迹:(1)纯轨迹:含直角转弯、锐角转弯、缺口、终点标志、色带瑕疵等复杂的场地。(2)非纯轨迹:含障碍、传感源、终点标志等。(二)准备工作1、色带制作:在同一程序和
9、参数组合下,在不同的色带上行走,其结果是不同的,第第 5 5 页页 共共 20 20 页页个人收集整理个人收集整理 勿做商业用途勿做商业用途所以本文中所涉及到的程序在其它稍有变化的色带上行走是有区别的。上面色带是由上、下、左、右四条色带拼接而成,某些数值之所以用到小数,是考虑到色带边沿对接合缝问题。本文把用到的色带参数说明如下:位置类型宽度高度左下角坐标 X左下角坐标 Y下色带矩形200位置类型内径外径圆心坐标 X圆心坐标 Y上色带圆弧300340左色带圆弧60右色带圆弧60100100237.514033953815415540140552、使机器人留下轨迹:在对行走稳定性研究时,在程序的头
10、部增加“画笔 模块且使其“落下”,记录下机器人沿色带行走时的实际轨迹,可分析不同程序、同一程序不同参数对实际行走轨迹曲线的影响。3、终点标志和机器人停止:为使机器人能停止下来,在色带上增加一个矩形障碍物,被障碍物挡住后,机器人不能前进了,好象是停止下来了,但实际上并没有停止下来,电机还在旋转,从下面的“转角显示”可以看出转角还在不断地变化.为了能使机器人真正停止下来,增加终点判断功能,把永久循环改为条件循环,使用接近传感器或者红外避障传感器,使机器人真的能停止下来.4、时间显示:增加“时间检测”、“LED 显示”模块,就能在仿真界面屏幕下方的“LED 显示”中显示机器人行走的时间,可分析程序的
11、快慢优劣。虽然在屏幕下方也有一个“时间(秒)”,也是显示时间,但它显示的不是机器人行走的时间,而是程序运行的时间,机器人停止后,程序还在运行,这个时间还在一直的走,只有按了中的“停止”按钮后,时间才会停止,但是马上就归了“0”,无法看到时间,再说了,手工按停止按钮是有时间差的。第第 2 2 章章 机器人行走的方式机器人行走的方式按机器人的行走路线,机器人走轨迹的方式大致有以下两种:一、一、沿边法沿边法:设轨迹变量的 5 种(左 0 和右 0 不同)取值从左到右分别是“右0、2、3、1、“右 0”设其对应一个数组 a0、a1、a2、a3、a4,(说明,其实 40 mod(3))。对于ai和ai+
12、1,i0i3,iN,当“轨迹变量=ai时,机器人向右调整,左快右慢,当“轨迹变量=ai1”时,机器人向左调整,左慢右快。除初始状态外,在机器人行走比较稳定的情况下,只让轨迹变量在相邻两个值 ai和 ai+1之间变化,如左0,22,3 3,11,右 0,这时机器人的轨迹是沿色带的边沿行走,轨迹变量的变化与轨迹位置关系如下表:轨迹量变探测器的位置第第 6 6 页页 共共 20 20 页页轨迹线位置个人收集整理个人收集整理 勿做商业用途勿做商业用途左 0,2机器人左“眼睛”沿色带左边沿行走轨迹线在色带之外2,33,1机器人右“眼睛”沿色带左边沿行走轨迹线在色带之内机器人右“眼睛”沿色带右边沿行走轨迹
13、线在色带之内1,右 0机器人左“眼睛沿色带右边沿行走轨迹线在色带之外四条轨迹线如下图:(图 5)(二(二)靠中法靠中法:如果“轨迹变量2,说明机器人偏左了,就需要向右调整到色带上,使“轨迹变量3;如果;如果“轨迹变量1,说明机器人偏右了,就需要向左调整到色带上,使“轨迹变量3;如果“轨迹变量0”,说明机器人脱线了,两个探测头都检测不到色带,这时机器人有可能在色带的左侧,称为“左 0”区域,也可能是在色带右侧,称为“右0”区域,当不能具体确定机器人的位置时,就要分情况讨论,让机器人“螺旋式”行走以扩大搜索范围来寻找色带,寻找到色带后还存在一个方向问题,不然可能会走回头路.详细如下表:图示=1能看
14、到看不到=2看不到能看到=3能看到能看到=0看不到看不到脱线了寻线分情况没偏直行偏左了偏右了轨迹左眼右眼相对轨迹中线调整电机的偏离方向方向速度向左调整向右调整左慢右快左快右慢左右等速变量看轨迹看轨迹以上的想法是“对”的,如果“轨迹变量 2”,说明偏左了,就向右调整;如第第 7 7 页页 共共 20 20 页页个人收集整理个人收集整理 勿做商业用途勿做商业用途果“轨迹变量1,说明偏右了,就向左调整;如果“轨迹变量3”,说明没有偏,就直走。这只是编程人的一厢情愿,别说实际,就连理论上也不是这么回事。机器人的状态无论是由“2”还是由“1”变化为“3”的瞬间,它的中心轴线和色带在该点的切线都有一定的夹
15、角,而沿这个夹角进入“3”后,机器人所谓的“走直线”其实是在走斜线,要使机器人能真正走“直线”,就得使机器人进入“3”状态后旋转一个角度,使机器人先“调正”,但诺宝程序没有这样一个计算角度的功能,所以只能任由机器人一会儿左,一会儿右,一会儿沿边,一会儿靠中间来来回回的变道,轨迹曲线相当不稳定,如图 1。第第 3 3 章章程序设计程序设计机器人走轨迹的程序其分支结构是一棵树,一棵完全二叉树,其中单分支对称结构和二重分支对称结构是满二叉树结构,树根、树枝为条件判断,动作发生在树叶。第第 1 1 节节单分支对称结构单分支对称结构单分支对称结构是指条件判断的两侧是对称的,左右都是一个“高速电机,该结构
16、走轨迹具有一定的稳定性和用时少(如走跑道内侧)的特点;并且对单分支结构编程的分析更有助于学生对轨迹变量的深入理解,单分支对称结构如下图 6:(图 6)在单分支对称结构程序中,“条件表达式”可以有多种形式,分为“变量对称型 和“变量非对称型”。所谓“变量对称”是指轨迹变量 0,2,3,1 四个值均匀地分布在选择支的两边,一边两个;“变量非对称型”是指轨迹变量的四个值不均匀地分布在选择支的两边,一边一个,一边三个.这由条件表达式的形式来决定,具体的形式有如下类型:“轨迹变量=n”型、“轨迹变量=n”型、“轨迹变量=m”型;“轨迹变量=n|轨迹变量=m型等,下面分别进行讨论.1 1。1 1变量非对称
17、型变量非对称型第第 8 8 页页 共共 20 20 页页个人收集整理个人收集整理 勿做商业用途勿做商业用途轨迹变量不对称地分布在选择支的两边,一边一个值,一边三个值,下面按“条件判断”中的“条件表达式”的类型来进行讨论。一、一、“轨迹变量“轨迹变量=0=0”(一)(一)“是”分支“左快右慢”“是”分支“左快右慢”,“否”分支“左慢右快”“否”分支“左慢右快”程序如图 7,“轨迹变量=0”时,左右电机的速度举例取为 10 和 5,左快右慢,机器人向右侧调整;“轨迹变量!=0”时,左右电机的速度举例取为 5 和 10,左慢右快,机器人向左侧调整;这时如果机器人起始位置在0 区域,则右转,在2,3,
18、1 区域则左转,如图 8,其中放置在“右 0”时往右转会脱离色带。在“左 0”和“2”区域,左探测器永久落在色带之外,检测不到色带,右探测器一会儿能检测到色带,一会儿检测不到色带,相当于“右眼”看不到色带就右转,“右眼能看到色带就左转,所以机器人的轨迹落在色带左边沿左侧色带之外,程序片断如图 7。(图 7)(图 8)机器人过了起始区直到行走稳定后,轨迹变量只在“左0”和“2之间变化,机器人沿色带左边沿左侧行走,紧贴色带左边沿且沿外侧。这里左右电机的马力可适当选择,如10,0、10,1、1,0共i 55种可能,这还只是对一支的可能性i110讨论,“是”和“否”分支完全可以不对称,比如“是”分支取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 RC 环境 机器人 简单 轨迹
限制150内