基于诺宝RC环境下的机器人走简单轨迹.doc_第1页
基于诺宝RC环境下的机器人走简单轨迹.doc_第2页
基于诺宝RC环境下的机器人走简单轨迹.doc_第3页
基于诺宝RC环境下的机器人走简单轨迹.doc_第4页
基于诺宝RC环境下的机器人走简单轨迹.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论