基于诺宝RC环境下的机器人走简单轨迹
- 格式:doc
- 大小:918.50 KB
- 文档页数:18
微课《机器人走轨迹》测试练习题
单项选择题
1、当轨迹变量为1时,机器人的位置,将如何行动?()
A.机器人在轨迹线的左侧,需右转B.机器人在轨迹线上,需直行
C.机器人在轨迹线的右侧,需左转D.没有检测到轨迹线,需转圈找轨迹线
2、诺宝RC编程时,可以在相应的位置()定位到相应的模块位置。
A.单击鼠标左键
B.双击鼠标左键
C.单击鼠标右键
D.双击鼠标右键
3、以下正确的表达式是:()
A.轨迹变量==1
B.轨迹变量=1
C.轨迹变量1==0
D.1轨迹变量=1
4、下列哪项可以让机器人向右转()
A.左电机:0,右电机:10
B.左电机:10,右电机:0
C.左电机:10,右电机:10
D.左电机:0,右电机:0。
程序行指令注释1 PR[6]=LPOS 以位置6为原点2 PR[1]=PR[6] 将位置6赋值给位置13 PR[1,2]=PR[6,2]+120 位置1:以位置6为基准,其Y方向+1204 PR[2]=PR[1] 将位置1赋值给位置25 PR[2,1]=PR[1,1]+50 位置2:以位置6为基准,其Y方向+506 PR[2,2]=PR[1,2]+50 位置2:以位置6为基准,其X方向+507 PR[3]=PR[1] 将位置1赋值给位置38 PR[3,1]=PR[1,1]+100 位置3:以位置1为基准,其X方向+1009 PR[4]=PR[3] 将位置3赋值给位置410 PR[4,2]=PR[3,2]-120 位置4:以位置3为基准,其Y方向-12011 PR[5]=PR[2] 将位置2赋值给位置512 PR[5,2]=PR[2,2]-220 位置5:以位置2为基准,其Y方向-22013 PR[6]=PR[1] 将位置1赋值给位置614 PR[6,2]=PR[1,2]-120 位置6:以位置1为基准,其Y方向-12015 R[1]=0 程序1初始值为016 LBL[1] 程序1分支标签17 L PR[6] 2000mm/sec FINE 从其它位置以2000 mm/sec直线运动到位置618 L PR[1] 2000mm/sec FINE 从位置6以2000 mm/sec直线运动到位置119 CPR[1] 2000mm/sec cnt100C PR[2] 2000mm/sec cnt100C PR[3]2000mm/sec cnt100 圆弧运动到位置320 L PR[4] 2000mm/sec FINE 从位置3以2000 mm/sec直线运动到位置421 L PR[5] 2000mm/sec FINE 从位置4以2000 mm/sec直线运动到位置522 L PR[6] 2000mm/sec FINE 从位置5以2000 mm/sec直线运动到位置623 R[1]= R[1]+1 每循环一次,R[1]值加124 IF R[1]<3 JMP LBL[1] 如果R[1]<3,程序跳转到16 LBL[1]执行25 WAIT 3.0sec 在位置6等待3.0秒26 PR[7]=PR[6] 将位置6赋值给位置727 PR[7,1]=PR[6,1]-30 位置7:以位置6为基准,其X方向-3028 PR[8]=PR[6] 将位置6赋值给位置829 PR[8,1]=PR[6,1]-90 位置8:以位置6为基准,其X方向-90PR[8,2]=PR[6,2]+60 位置8:以位置6为基准,其Y方向+ 6030 PR[9]=PR[6] 将位置6赋值给位置931 PR[9,1]=PR[6,1]-150 位置9:以位置6为基准,其X方向-15032 PR[10]=PR[6] 将位置6赋值给位置1033 PR[10,1]=PR[6,1]-90 位置10:以位置6为基准,其X方向-90PR[10,2]=PR[6,2]-60 位置10:以位置6为基准,其Y方向-6034 PR[7]=PR[6] 将位置6赋值给位置735 PR[7,1]=PR[6,1]-30 位置7:以位置6为基准,其X方向-3036 PR[6]=PR[7] 将位置7赋值给位置637 PR[6,1]=PR[7,1]+30 位置6:以位置7为基准,其X方向+3038 L PR[6] 2000mm/sec FINE 从其它位置以2000 mm/sec直线运动到位置639 L PR[7] 2000mm/sec FINE 从位置6以2000 mm/sec直线运动到位置740 C PR[8] 从位置7,经过位置8以2000mm/secPR[9]2000mm/sec FINE 圆弧运动到位置941 C PR[10] 从位置9,经过位置10以2000mm/secPR[7]2000mm/sec FINE 圆弧运动到位置742 L PR[6] 2000mm/sec FINE 从位置7以2000 mm/sec直线运动到位置6 [END] 程序运行结束。
基于诺宝RC环境下的机器人走简单轨迹————————————————————————————————作者:————————————————————————————————日期:基于诺宝RC环境下的机器人走简单轨迹李发成摘要:机器人走轨迹是诺宝RC的最基本应用之一,也是机器人常规比赛项目之一,走轨迹包含了程序设计的三种基本结构,能充分体现程序设计的基本思想和方法,有助于学生对程序设计思想和方法的理解。
本文研究的主要内容是机器人走简单轨迹,按机器人行走的的方式分类有“沿边法”和“靠中法”;按程序结构的分类有“单分支对称结构”、“二重分支对称结构”和“三重分支非对称结构”。
本文通过对二种行走方式和三种程序结构的研究和对比,揭示它们之间的内在联系,通过实验分析,归纳程序与参数组合搭配对机器人行走速度和稳定性的影响。
关键词:机器人,走轨迹,轨迹识别传感器,轨迹变量,沿边法,靠中法机器人走轨迹看似简单,但深究起来还是比较复杂的,还别说含直锐角转弯、缺口、终点标志、色带瑕疵、障碍、传感源、宽窄不一等复杂的场地,就算对于简单轨迹还是有许多情况需要讨论的。
本文讨论的目的是通过研究各种程序和参数的变化,对走轨迹进行定性和定量的分析和研究,总结出程序和参数的组合优劣,使机器人行走的路径尽量的短、速度尽量的快、稳定性尽量的高。
第一章基础知识一、走轨迹与轨迹变量1、机器人走轨迹的概念:机器人走轨迹是指机器人在色带上行走,有时可能会临时偏离色带,但必需能再次寻找到色带,如下图1:(图1)2、轨迹变量:机器人通过“轨迹识别传感器"获取轨迹变量的值,轨迹变量的值有0、2、3、1四个,这四个值与机器人和色带的相对位置对应关系如下图2.(左0) ( 2 )( 3 )( 1 ) (右0)(图2)✧当轨迹传感器的两个探测头都没有落在色带上时,轨迹变量==0。
✧当右探测头落在色带上而左探测头不在色带上时,轨迹变量==2。
✧当轨迹传感器的两个探测头都落在色带上时,轨迹变量==3。
诺宝机器人教学方法分析机器人教学是指通过机械硬件及软件编程等方式,以机器人为载体进行知识传授和实践演练的教育模式。
近年来,随着科技的不断进步和普及化,机器人教育成为了一种热门的教育方式。
其中,诺宝机器人是一种广泛应用于课堂教学的教学工具之一,具有硬件平台稳定、软件界面友好、易于操作等优点,受到了教师和学生的青睐。
在有效运用诺宝机器人之前,对其教学方法进行深入分析和研究,可以更好地发挥其教育效果。
一、基本教学方法1.讲解教学法:通过讲课方式介绍机器人基本概念、操作方法、编程技巧等基本知识,让学生了解机器人的组成和运作原理,从而为后续课堂实践打好基础。
2.操作演示法:通过机器人的简单示范,激发学生的兴趣,提高学生的参与度和实际操作能力。
教师可通过简单的操作演示、模拟练习等方式,帮助学生熟悉机器人的操控方式,了解机器人的动作语言和程序设计。
3.互动教学法:将学生分成小组,让每组分别操作机器人,共同完成机器人动作的设计、编程、运行等过程,鼓励学生之间互相合作、沟通、协同完成任务,发展学生的团队精神和创造力,提高课程质量。
二、应用方法1.启发式教学方法:教师通过讲故事、讲笑话等方式,激发学生的好奇心,让学生主动寻找问题和答案,以此推动机器人学习的深入发展。
2.案例学习法:通过实际案例剖析和解决问题的方法,加深学生对机器人编程基本概念和方法的理解,让学生通过模拟仿真等方式,熟悉机器人运动规律、编程方法等,培养学生的逻辑思维和创新能力。
3.体验式教学法:通过让学生亲自操作机器人、感受机器人的运作、修改机器人的程序等方式,让学生深入了解机器人的特性和运作方式,提高学生的动手能力和实践能力,增强学生的实践感受和学习兴趣。
三、技巧方法1.步步深入:由简单到复杂,从机器人的基本操控开始,逐渐深入探讨机器人编程的各个难点和重点,通过多种方式进行讲解和操作,让学生理解和掌握知识点。
2.循序渐进:步步推进,因材施教。
对初学者,教师应从基本操控开始,逐渐引导学生掌握机器人的基本功能和运作规律;对有一定基础的学生,则应提供更为深入、技术性更强的知识点和操作方法,满足学生的学习需求。
简述机器人位置控制和轨迹控制方法我跟你说啊,机器人的位置控制和轨迹控制方法,我可是摸索了好久呢。
先说说位置控制吧。
我一开始真的是瞎摸索,就像在黑暗里找东西一样。
最开始尝试的一个方法就是那种简单的基于编码器的反馈控制。
你想啊,这就好比一个人走路,每走一步就看看自己走了多远,机器人的编码器也是,每动一下就知道自己的位置变动了多少。
但是这里面有个很大的问题,那就是误差啊。
这个误差就像你想走到前面那棵树,结果走着走着就偏离了方向。
我一开始没太当回事,结果机器人老是停不到正确的位置。
后来才知道,这个编码器也是有精度限制的,还要考虑机器运行时的各种干扰像摩擦啊之类的。
后来我又试过那种基于视觉的位置控制。
这就好比给机器人安上了一双眼睛。
让它能够看到周围的环境然后确定自己的位置。
可是这也不容易啊。
摄像头捕捉到的图像要进行处理,这个图像的处理那可复杂了。
要识别出特征点啥的,就像你在一幅特别乱的画里找特定的几个图案一样。
而且光线一变,就全乱套了。
有时候图像太亮或者太暗,机器人就懵了,根本算不准自己的位置。
再说轨迹控制,这比位置控制更让我头疼。
我试过规定一系列的离散点,想让机器人就按这些点串起来的轨迹走。
就像是给机器人设定了一堆小驿站,要它一个一个经过。
但是由于机器人加减速啥的没处理好,走起来那轨迹可难看了,根本不是我想要的平滑的曲线。
再讲讲我试过的一个有点成功的方法。
对于轨迹控制,参考人类开车的经验。
我们开车的时候,至少在保持一个比较稳定的速度,转弯啥的也是平稳过渡的。
把这个思想用到机器人上,就是在控制机器人轨迹的时候,不仅要考虑每个目标点,还要考虑每个点之间怎么过渡。
我通过提前计算好一些关键的参数,来让机器人的速度变化得比较合理,这样走出来的轨迹真的好了很多。
还有啊,在位置控制和轨迹控制上面,都要考虑到机器人的动力学模型。
但是这个动力学模型那可复杂了呀,我是跟着一些学习资料,一点点算很多参数,什么质量啊,惯量啊,就像在解一道高深的数学谜题。
诺宝RC机器人编程软件使用手册哈尔滨工业大学深圳研究院哈工大(深圳)机器人教育中心一、软件介绍由哈尔滨工业大学深圳机器人教育中心研发的“诺宝RC编程软件”,为开发智能机器人与智能控制项目及相关科研、教学、实践活动等提供了简洁而功能强大的编程调试平台。
根据C++ 编程语言设计成亲切且容易了解的软件。
用图形化语言表示逻辑想法与过程,是学会基本逻辑和人工智能的一个强大工具。
软件能让使用者学会机器人编程的主要步骤:感觉、分析和运动。
机器人的大脑也如同人的大脑一样的工作,先利用传感器对外界接收信息(感觉),运用知识进行判断(分析),然后输出反应(运动),这一工作过程就是机器人智能的体现。
(如图)人类智能: 机器人智能:要让机器人拥有人类的智能, 能够按照人类的意图做事,就必须有能让机器人听懂的语言——控制程序,也称为计算机程序,规定他动作的具体内容。
诺宝RC编程软件就是人类与机器人沟通的桥梁。
机器人设计步骤第一步:设计构思、选择模块及搭建机器人明确设计机器人所要完成什么任务,选择相应的使用模块,创造、搭建自己的机器人,让它运动、做动作,并为机器人赋予思想(机器人控制程序),通过输入(传感器)与输出(电机与灯等)对周围环境做出相对应回应。
第二步:编写诺宝RC程序编写控制程序是设计机器人中最重要的一个步骤,因为控制程序就是机器人的思想,也就是“人工智能”。
一个人的思想决定了这个人的行为,控制程序则决定了机器人的行为,编写控制程序即将人类思想赋予机器人。
第三步:使用仿真界面检测程序在仿真界面中为机器人设置类似现实的环境,检测机器人是否按预先设计的行动完成,以得知程序编写是否完善或者有误,如果检测有误,可以返回编程窗口修改原程序,再运行仿真测试,确保机器人完成任务。
第四步:下载程序到微电脑通过计算机编写好程序,在仿真界面检测成功后,使用USB下载线将机器人的微电脑与pc机连接下载程序至微电脑。
打开电源运行机器人,参观机器人是否按设计任务行动。
基于诺宝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 的色带区域,其中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、色带制作:在同一程序和参数组合下,在不同的色带上行走,其结果是不同的,所以本文中所涉及到的程序在其它稍有变化的色带上行走是有区别的。
上面色带是由上、下、左、右四条色带拼接而成,某些数值之所以用到小数,是考虑到色带边沿对接合缝问题。
本文把用到的色带参数说明如下: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},这时机器人的轨迹是沿色带的边沿行走,轨迹变量的变化与轨迹位置关系如下表:四条轨迹线如下图:(图5)(二)靠中法:如果“轨迹变量==2”,说明机器人偏左了,就需要向右调整到色带上,使“轨迹变量==3”;如果;如果“轨迹变量==1”,说明机器人偏右了,就需要向左调整到色带上,使“轨迹变量==3”;如果“轨迹变量==0”,说明机器人脱线了,两个探测头都检测不到色带,这时机器人有可能在色带的左侧,称为“左0”区域,也可能是在色带右侧,称为“右0”区域,当不能具体确定机器人的位置时,就要分情况讨论,让机器人“螺旋式”行走以扩大搜索范围来寻找色带,寻找到色带后还存在一个方向问题,不然可能会走回头路。
详细如下表:以上的想法是“对”的,如果“轨迹变量==2”,说明偏左了,就向右调整;如果“轨迹变量==1”,说明偏右了,就向左调整;如果“轨迹变量==3”,说明没有偏,就直走。
这只是编程人的一厢情愿,别说实际,就连理论上也不是这么回事。
机器人的状态无论是由“2”还是由“1”变化为“3”的瞬间,它的中心轴线和色带在该点的切线都有一定的夹角α,而沿这个夹角进入“3”后,机器人所谓的“走直线”其实是在走斜线,要使机器人能真正走“直线”,就得使机器人进入“3”状态后旋转一个角度α,使机器人先“调正”,但诺宝程序没有这样一个计算角度α的功能,所以只能任由机器人一会儿左,一会儿右,一会儿沿边,一会儿靠中间来来回回的变道,轨迹曲线相当不稳定,如图1。
第3章程序设计机器人走轨迹的程序其分支结构是一棵树,一棵完全二叉树,其中单分支对称结构和二重分支对称结构是满二叉树结构,树根、树枝为条件判断,动作发生在树叶。
第1节单分支对称结构单分支对称结构是指条件判断的两侧是对称的,左右都是一个“高速电机”,该结构走轨迹具有一定的稳定性和用时少(如走跑道内侧)的特点;并且对单分支结构编程的分析更有助于学生对轨迹变量的深入理解,单分支对称结构如下图6:(图6)在单分支对称结构程序中,“条件表达式”可以有多种形式,分为“变量对称型”和“变量非对称型”。
所谓“变量对称”是指轨迹变量0,2,3,1四个值均匀地分布在选择支的两边,一边两个;“变量非对称型”是指轨迹变量的四个值不均匀地分布在选择支的两边,一边一个,一边三个。
这由条件表达式的形式来决定,具体的形式有如下类型:“轨迹变量= =n”型、“轨迹变量>=n”型、“轨迹变量<=m”型;“轨迹变量==n||轨迹变量==m”型等,下面分别进行讨论。
1.1变量非对称型轨迹变量不对称地分布在选择支的两边,一边一个值,一边三个值,下面按“条件判断”中的“条件表达式”的类型来进行讨论。
一、“轨迹变量==0”程序如图7,“轨迹变量==0”时,左右电机的速度举例取为10和5,左快右慢,机器人向右侧调整;“轨迹变量!=0”时,左右电机的速度举例取为5和10,左慢右快,机器人向左侧调整;这时如果机器人起始位置在0区域,则右转,在2,3,1区域则左转,如图8,其中放置在“右0”时往右转会脱离色带。
在“左0”和“2”区域,左探测器永久落在色带之外,检测不到色带,右探测器一会儿能检测到色带,一会儿检测不到色带,相当于“右眼”看不到色带就右转,“右眼”能看到色带就左转,所以机器人的轨迹落在色带左边沿左侧色带之外,程序片断如图7。