———————————————————————————————— 作者: ———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
基于诺宝RC环境下的机器人走简单轨迹
李发成
摘要:机器人走轨迹是诺宝RC的最基本应用之一,也是机器人常规比赛项目之一,走轨迹包含了程序设计的三种基本结构,能充分体现程序设计的基本思想和方法,有助于学生对程序设计思想和方法的理解。
本文研究的主要内容是机器人走简单轨迹,按机器人行走的的方式分类有“沿边法”和“靠中法”;按程序结构的分类有“单分支对称结构”、“二重分支对称结构”和“三重分支非对称结构”。
本文通过对二种行走方式和三种程序结构的研究和对比,揭示它们之间的内在联系,通过实验分析,归纳程序与参数组合搭配对机器人行走速度和稳定性的影响。
关键词:机器人,走轨迹,轨迹识别传感器,轨迹变量,沿边法,靠中法
机器人走轨迹看似简单,但深究起来还是比较复杂的,还别说含直锐角转弯、缺口、终点标志、色带瑕疵、障碍、传感源、宽窄不一等复杂的场地,就算对于简单轨迹还是有许多情况需要讨论的。本文讨论的目的是通过研究各种程序和参数的变化,对走轨迹进行定性和定量的分析和研究,总结出程序和参数的组合优劣,使机器人行走的路径尽量的短、速度尽量的快、稳定性尽量的高。
第一章 基础知识
一、走轨迹与轨迹变量
1、机器人走轨迹的概念:机器人走轨迹是指机器人在色带上行走,有时可能会临时偏离色带,但必需能再次寻找到色带,如下图1:
(图1)
2、轨迹变量:机器人通过“轨迹识别传感器\"获取轨迹变量的值,轨迹变量的值有0、2、3、1四个,这四个值与机器人和色带的相对位置对应关系如下图2.
第 3 页 共 20 页
个人收集整理 勿做商业用途
(左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左转”的原则。
第 4 页 共 20 页
个人收集整理 勿做商业用途
5、区域:本文有时会按轨迹变量的值来称呼色带区域,从左到右,把色带划分为以下区域:左0区、2区、3区、1区、右0区,所谓k区域,是指轨迹变量等于k的色带区域,其中0≤k≤3,k∈Z.
6、本论文中速度的概念包含: (1)单独电机自身的转速;
(2)左右电机的相对模糊速度,比如“左快右慢”、“左慢右快”等用语; (3)机器人的整体速度.
为了不引起混淆,以下把电机自身的转速说成“马力”.
7、假设轨迹的有效(因为轨迹不全是规则且直的)宽度为Width,机器人轨迹识别传感器的两只探测头扫描不是一个点而是有一个范围,假设这个范围的最小距离是Distancemin,则只有当Distancemin<=Width时,才可能两个探测器“同时\"探测到色带。
对于窄色带,即色带宽度<轨迹传感器左右探测头的距离的色带,比如在一条宽度为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、色带制作:在同一程序和参数组合下,在不同的色带上行走,其结果是不同的,
第 5 页 共 20 页
个人收集整理 勿做商业用途
所以本文中所涉及到的程序在其它稍有变化的色带上行走是有区别的。上面色带是由上、下、左、右四条色带拼接而成,某些数值之所以用到小数,是考虑到色带边沿对接合缝问题。本文把用到的色带参数说明如下:
位置 类型 宽度 高度 左下角坐标X 左下角坐标Y 下色带 矩形 200
位置 类型 内径 外径 圆心坐标 X 圆心坐标Y 上色带 圆弧 300 340 左色带 圆弧 60 右色带 圆弧 60 100 100 237.5 140 339 538 154 155 40 140 55 2、使机器人留下轨迹:在对行走稳定性研究时,在程序的头部增加“画笔\"模块且使其“落下”,记录下机器人沿色带行走时的实际轨迹,可分析不同程序、同一程序不同参数对实际行走轨迹曲线的影响。
3、终点标志和机器人停止:为使机器人能停止下来,在色带上增加一个矩形障碍物,被障碍物挡住后,机器人不能前进了,好象是停止下来了,但实际上并没有停止下来,电机还在旋转,从下面的“转角显示”可以看出转角还在不断地变化.为了能使机器人真正停止下来,增加终点判断功能,把永久循环改为条件循环,使用接近传感器或者红外避障传感器,使机器人真的能停止下来.
4、时间显示:增加“时间检测”、“LED显示”模块,,就能在仿真界面屏幕下方的“LED显示”中显示机器人行走的时间,可分析程序的快慢优劣。虽然在屏幕下方也有一个“时间(秒)”,也是显示时间,但它显示的不是机器人行走的时间,而是程序运行的时间,机器人停止后,程序还在运行,这个时间还在一直的走,只有按了 中的“停止”按钮后,时间才会停止,但是马上就归了“0”,无法看到时间,再说了,手工按停止按钮是有时间差的。
第2章 机器人行走的方式
按机器人的行走路线,机器人走轨迹的方式大致有以下两种:
一、沿边法:设轨迹变量的5种(左0和右0不同)取值从左到右分别是“右
0\"、2、3、1、“右0”设其对应一个数组a[0]、a[1]、a[2]、a[3]、a[4],(说明,其实4≡0 mod(3))。对于a[i]和a[i+1],{i|0≤i≤3,i∈N},当“轨迹变量= =a[i]\"时,机器人向右调整,左快右慢,当“轨迹变量= =a[i+1]”时,机器人向左调整,左慢右快。除初始状态外,在机器人行走比较稳定的情况下,只让轨迹变量在相邻两个值a[i]和a[i+1]之间变化,如{左0,2}{2,3}{3,1}{1,右0},这时机器人的轨迹是沿色带的边沿行走,轨迹变量的变化与轨迹位置关系如下表:
轨迹量变 探测器的位置 第 6 页 共 20 页
轨迹线位置 个人收集整理 勿做商业用途
{左0,2} 机器人左“眼睛”沿色带左边沿行走 轨迹线在色带之外 {2,3} {3,1} 机器人右“眼睛”沿色带左边沿行走 轨迹线在色带之内 机器人右“眼睛”沿色带右边沿行走 轨迹线在色带之内 {1,右0} 机器人左“眼睛\"沿色带右边沿行走 轨迹线在色带之外 四条轨迹线如下图:
(图5)
(二)靠中法:如果“轨迹变量==2\",说明机器人偏左了,就需要向右调整到
色带上,使“轨迹变量==3\";如果;如果“轨迹变量==1\",说明机器人偏右了,就需要向左调整到色带上,使“轨迹变量==3\";如果“轨迹变量==0”,说明机器人脱线了,两个探测头都检测不到色带,这时机器人有可能在色带的左侧,称为“左0”区域,也可能是在色带右侧,称为“右0”区域,当不能具体确定机器人的位置时,就要分情况讨论,让机器人“螺旋式”行走以扩大搜索范围来寻找色带,寻找到色带后还存在一个方向问题,不然可能会走回头路.详细如下表:
图示 ==1 能看到 看不到 ==2 看不到 能看到 ==3 能看到 能看到 ==0 看不到 看不到 脱线了 寻线 分情况 没偏 直行 偏左了 偏右了 轨迹 左眼 右眼 相对轨迹中线 调整 电机 的偏离方向 方向 速度 向左 调整 向右 调整 左慢 右快 左快 右慢 左右 等速 变量 看轨迹 看轨迹 以上的想法是“对”的,如果“轨迹变量==2”,说明偏左了,就向右调整;如
第 7 页 共 20 页
个人收集整理 勿做商业用途
果“轨迹变量==1\说明偏右了,就向左调整;如果“轨迹变量==3”,说明没有偏,就直走。这只是编程人的一厢情愿,别说实际,就连理论上也不是这么回事。机器人的状态无论是由“2”还是由“1”变化为“3”的瞬间,它的中心轴线和色带在该点的切线都有一定的夹角α,而沿这个夹角进入“3”后,机器人所谓的“走直线”其实是在走斜线,要使机器人能真正走“直线”,就得使机器人进入“3”状态后旋转一个角度α,使机器人先“调正”,但诺宝程序没有这样一个计算角度α的功能,所以只能任由机器人一会儿左,一会儿右,一会儿沿边,一会儿靠中间来来回回的变道,轨迹曲线相当不稳定,如图1。
第3章 程序设计
机器人走轨迹的程序其分支结构是一棵树,一棵完全二叉树,其中单分支对称结构和二重分支对称结构是满二叉树结构,树根、树枝为条件判断,动作发生在树叶。
第1节 单分支对称结构
单分支对称结构是指条件判断的两侧是对称的,左右都是一个“高速电机\",该结构走轨迹具有一定的稳定性和用时少(如走跑道内侧)的特点;并且对单分支结构编程的分析更有助于学生对轨迹变量的深入理解,单分支对称结构如下图6:
(图6)
在单分支对称结构程序中,“条件表达式”可以有多种形式,分为“变量对称型\"和“变量非对称型”。所谓“变量对称”是指轨迹变量0,2,3,1四个值均匀地分布在选择支的两边,一边两个;“变量非对称型”是指轨迹变量的四个值不均匀地分布在选择支的两边,一边一个,一边三个.这由条件表达式的形式来决定,具体的形式有如下类型:“轨迹变量= =n”型、“轨迹变量>=n”型、“轨迹变量〈=m”型;“轨迹变量==n||轨迹变量==m\"型等,下面分别进行讨论.
1。1变量非对称型
第 8 页 共 20 页
个人收集整理 勿做商业用途
轨迹变量不对称地分布在选择支的两边,一边一个值,一边三个值,下面按“条件判断”中的“条件表达式”的类型来进行讨论。
一、“轨迹变量==0”
(一)“是”分支“左快右慢”,“否”分支“左慢右快”
程序如图7,“轨迹变量==0”时,左右电机的速度举例取为10和5,左快右慢,机器人向右侧调整;“轨迹变量!=0”时,左右电机的速度举例取为5和10,左慢右快,机器人向左侧调整;这时如果机器人起始位置在0区域,则右转,在2,3,1区域则左转,如图8,其中放置在“右0”时往右转会脱离色带。在“左0”和“2”区域,左探测器永久落在色带之外,检测不到色带,右探测器一会儿能检测到色带,一会儿检测不到色带,相当于“右眼”看不到色带就右转,“右眼\"能看到色带就左转,所以机器人的轨迹落在色带左边沿左侧色带之外,程序片断如图7。
(图7) (图8)
机器人过了起始区直到行走稳定后,轨迹变量只在“左0”和“2\"之间变化,机器人沿色带左边沿左侧行走,紧贴色带左边沿且沿外侧。这里左右电机的马力可适当选择,如{10,0}、{10,1}、……、{1,0}共i55种可能,这还只是对一支的可能性
i110讨论,“是”和“否”分支完全可以不对称,比如“是”分支取{10,5}时,“否”分支可以取别的值,如{4,9},这样组合起来可能性会更多。不一定每一种组合都能使机器人沿色带行走,某些组合可能会使机器人脱离色带,这也与色带的形状有关.
(二)“是”分支“左慢右快\",“否”分支“左快右慢”
程序片断如图9,和上面情况一样,只是改变了左右电机的相对速度,“是”分支改为“左慢右快”,“否”分支改为“左快右慢\".在“0”区域时机器人左转,在“非0\"区域时机器人右转,此时只要不把机器人放在色带“左0”区域,机器人都能寻找到色带右边沿右侧,然后稳定行走.在稳定行走后,轨迹变量只在1和0之间变化,不是1不是0,不是0就是1,是0的时候左转使其变为1,是1的时候右转使其变为0,如图10.
第 9 页 共 20 页
个人收集整理 勿做商业用途
(图9) (图10)
二、“轨迹变量==2”
(一)“是\"分支“左快右慢”,“否”分支“左慢右快”
只有在2时右转,其它均左转,如果左转的幅度比较大,则在区域3,1,右0时会从左边沿走出去,所以“否\"分支的电机马力应该设置差距小一些,或者“是”分支的左右电机马力差距设置大一些,如图11和图12,详细说明省略。
(图11) (图12)
(二)“是”分支“左慢右快\",“否\"分支“左快右慢”
(图13) (图14)
只有在轨迹变量==2时才左转,其它情况都是右转,所以机器人的起始位置放置在{3,1,0}区域时都会右转脱线,只有起始位置在{左0,2}时,机器人才能正常行走在色带左边沿左侧,如图13和图14。
同理,可讨论“轨迹变量==3”和“轨迹变量==1\"时的情况,方法相同,不在赘述。
1。2变量对称型
条件判断左边“是”分支取两个值,条件判断右边“否\"分支取两个值,左右取值对称,各取2个值,比如{2,3}和{1,0}。 一、“轨迹变量〉=2”
“轨迹变量>=2\",也即“是\"分支的轨迹变量取到2和3,“否”分支取到1和0.
(一)“是”分支“左快右慢”,“否\"分支“左慢右快”
机器人初始放置在{2,3}区域时,左快右慢,向右转寻找到色带右边沿左侧;初始放置在{1,右0}区域时向左转寻找到色带右边沿左侧,稳定后沿右边沿左侧
第 10 页 共 20 页
个人收集整理 勿做商业用途
行走,初始放在“左0”时向左转脱线,程序片断如图15,初始状态如图16。
(图15) (图16)
(二)“是”分支“左慢右快\",“否\"分支“左快右慢”
机器人起始放置放置在2或3区域时,左慢右快左转,放置在1和0区域时左快右慢右转,所以放置在1和右0区域时右转会脱轨,放在左0,2,3区域时都能够寻找到色带左边沿左侧正常行走,当机器人行走稳定后,轨迹变量只在左0和2两个值之间变化,如下图:
(图17) (图18)
“轨迹变量<=1”等同于“轨迹变量>=2”,这里省略。 二、“轨迹变量==0||轨迹变量==2\"
(一)“是”分支“左快右慢”,“否”分支“左慢右快”
机器人放在“左0”,“2\",“3\",“1”区域,都能找到色带的左边沿右侧,只有放在“右0”处时,机器人会往右转而脱离色带。机器人在“左0”和“2\"区域时右转,在非“左0,2”区域即{3,1}区域时左转,当行走稳定后,轨迹变量只在2,3之间变化,右“眼睛”始终能看到色带,左“眼睛”一会儿能看到,一会儿看不到,能看到时就左转,看不到时就右转,轨迹在色带左边沿右侧色带之内,如下图:
(图19) (图20)
(二)“是\"分支“左慢右快”,“否\"分支“左快右慢”
机器人起始放置在“左0\"和“2”区域时向左调整而脱离色带,放在“3”和“1”区域时,向右调整寻找色带右边沿右侧,放在“右0”会往左调整寻找到色带右边沿右侧,机器人稳定后沿色带右边沿右侧行走,如下图:
第 11 页 共 20 页
个人收集整理 勿做商业用途
(图21) (图22)
“轨迹变量==3||轨迹变量==1\" 等同于“轨迹变量==0||轨迹变量==2\",不在赘述。其它不按从左到右{左0,2,3,1,右0}顺序的数据交叉情况可类似探讨,这里省略。
第2节 参数变化对轨迹的影响
在编程环境中,同时设计两个以上的相同主程序,然后只修改其中一个参数,使其不同,然后在仿真环境中观察它们的行走情况进行对比。 一、电机马力不同对轨迹的影响:
实验1 对如图6结构的程序,在编程环境中,另外新建3个主程序,复制各模块到新建的主程序中。只修改它们的电机马力如下表,其它不变,这时的四个程序都是单分支对称结构,轨迹变量==0,“是”分支“左快右慢”,只有电机马力不同,请按实验结果填写下表:
程序结构 条件表达式 左右相对速度 (“是”分支) 电机马力 10,5 单分支 对称结构 轨迹变量==0 左快右慢 10,6 10,7 10,8 比较严格意义上按色带边沿.
二、交换“是”和“否\"分支电机速度后对轨迹的影响:
实验2 打开程序1,在编辑环境中,另外新建一个主程序,复制各模块到新建主程序中,只把“左快右慢”、“左慢右快”交换一下,其它不变,请按实验结果填写下表:
程序结构 条件表达式 单分支 对称结构 轨迹变量==0 左右相对速度 (“是”分支) 左快右慢 左慢右快 电机马力 10,5 机器人 行走位置 左边沿左侧 右边沿右侧 实验结果 稳定 比较稳定 不太稳定 脱轨 小结:在高速=10的时候,低速>=8,就会脱轨。0<=低速<=5轨迹会
小结:无论是“左快右慢”还是“左慢右快\机器人都能沿边沿行走,只是轨迹
第 12 页 共 20 页
个人收集整理 勿做商业用途
不同。
三、条件表达式不同对轨迹的影响:
实验3 在编程界面中,编辑4个主程序,单分支对称结构,“是\"分支“左快右慢”,电机速度(10,5),按实验结果填写下表:
程序结构 条件表达式 轨迹变量==0 单分支结构 轨迹变量==2 轨迹变量==3 轨迹变量==1 左快右慢 10,5 左右相对速度 (“是”分支) 电机马力 机器人 行走位置 左边沿左侧 左边沿右侧 右边沿左侧 右边沿右侧 小结:无论哪种情况,机器人都能沿色带色带行走,只是轨迹不同。
也可以同时改变二个以上的程序参数,观察机器人行走轨迹.
从上可以看出,无论参数如何变化,除脱线和不稳定的情况外,机器人都是沿色带边沿行走,其轨迹线有4条,从内到外轨迹线对应的轨迹变量值分别是{左0,2},{2,3 },{3,1 },{1,右0 }。
第3节 二重分支对称结构
二重分支对称结构如下图23:
(图23)
有一个一级“条件判断”和二个二级“条件判断”,左右对称,其形状是一棵满二叉树结构。二重分支对称结构可以按“沿边法”也可以“靠中法”行走,其中“沿边法”可以沿一边,也可以沿两边.
一、沿边法 1、 沿一边
比如要让机器人沿色带左边沿左侧行走,如下图:
第 13 页 共 20 页
个人收集整理 勿做商业用途
(图24)
无论机器人初始位置放置在“左0”,2,3,1何处,机器人都能寻找到色带左边沿左侧,然后稳定行进。只有在“0”时右转,其它情况都是左转,其中“左0”时右转能寻找到色带,“右0\"时右转会脱离色带,程序如下:
(图25)
为了使机器人在“3”和“1”转向“左0\"时,曲线的曲率更小一些,可更改“3”和“1\"时左电机的马力为9,程序如下:
(图26)
轨迹曲线如下:
(图27)
如果要沿色带左边沿右侧行走,则在“左0\"和“2”的时候右转,在“3”和“1”的时候左转。
2、 沿二边
机器人在稳定后行走当然只能是沿一边,这里说的沿二边是指沿那个边由机器人的起始位置决定,起始放那边,就沿那个边行走,程序如下图28.
第 14 页 共 20 页
个人收集整理 勿做商业用途
(图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}。
第 15 页 共 20 页
个人收集整理 勿做商业用途
(图32)
轨迹曲线如图1.其它情况如{左0,2,3,1}的研究方法同上,不再赘述。
第4节 三重分支非对称结构
三重分支非对称结构如下图:
(图33)
它即可以按“边沿法\"行走,也可以按“靠中法\"行走。“二重分支对称结构”和“三重分支非对称结构”是“异构同原理”程序,只是形式不同,功能和原理一样。下面各只举一例加以说明,其它情况同理研究,不在赘述.
一、沿边法――沿一边
假如我们想要机器人逆时针沿色带最内则行走,即沿色带左边沿左侧(轨迹落在色带外),这时轨迹变量只在{左0,2}之间变化,左0时右转,2时左转,其它3,1时左转寻找色带,右0时右转脱离色带,程序如下:
第 16 页 共 20 页
个人收集整理 勿做商业用途
(图34)
轨迹如下:
(图35)
二、沿边法――沿二边
假如我们想让机器人沿色带左边沿右侧或者右边沿右侧行走,即轨迹变量在{2,3}或者{1,右0}之间变化。则程序如下:
(图36)
轨迹如下:
(图37)
如果机器人起始放在{2,3}区域,则沿左边沿右侧,如果机器人起始放置在{1,右0}处,则沿右边沿右侧,如果起始放在左0,则脱线. 靠中法同理可以研究,这里省略。
第四章 定量分析与实际比赛
第1节 定量分析
以上只是定性的分析了各程序和参数组合的优劣,为了参加比赛,还是要看速度的,以下定量的分析那种程序用时最短,具体做法如下: 1、在色带上增加一个矩形障碍物,作为终点停止标志。
2、把永久循环改为条件循环,使机器人遇到障碍物后能够停止。事实上,如果不在程序中让机器人停止,机器人遇到障碍物时也会被停止,但这两种停止是不一样的!
第 17 页 共 20 页
个人收集整理 勿做商业用途
程序让它停止下来后,它是真停止了,机器人不动了,时间也不动了。而被障碍停止后,机器人事实上还在动,马达还在转,时间还在走. 3、增加时间检测模块。虽然在仿真界面下方有来时,它也快速恢复为0,来不及看清楚。
4、增加LED显示。这个模块可以加在循环体内,也可以加在循环体外,如果是加在循环体内,则LED时间在不断变化,直到停止;如果是加在循环体外,则只是在循环结束后才显示时间。 程序如下图:
,但是当机器人停下
(图38)
第2节 实际比赛
实际比赛有机器人走简单轨迹、机器人走复杂轨迹、机器人接力、机器人搜救等.以下仅举机器人接力的例子。
在同一编程界面编制2个主程序,左边为接力的第一棒0号机器人,右边为接力的第二棒1号机器人.当0号机器人走轨迹时,1号机器人在原地等待,当0号转一圈回来遇到1号后,0号停止,1号启动开始行走;1号走一圈返回后遇到0号然后停止,如下图:
第 18 页 共 20 页
个人收集整理 勿做商业用途
(图39)
两个机器人都通过“红外避障传感器\"来进行“接力”,0号机器人用前面的“红外避障变量1”来检测,若前面遇到了机器人1号,则停止下来.1号机器人用后面的“红外避障变量4”来检测,若后面有机器人0号到来则启动行走,同时用前面的“红外避障变量1\"检测前面,若遇到前面已经停止在跑道上的0号机器人,则停止下来,程序如下图。
(图40)
第 19 页 共 20 页
个人收集整理 勿做商业用途
参考文献
[1]班国春等.信息技术 七年级 下。深圳:海天出版社,2010-01。
作者单位:深圳市盐田区盐港中学
第 20 页 共 20 页
因篇幅问题不能全部显示,请点此查看更多更全内容