书城科普探索机器人的世界(海洋与科技探索之旅)
3165300000010

第10章 迷宫机器人——触动传感的活动

迷宫是一款古老而好玩的游戏,它既可以锻炼我们的判断力,又可以训练我们的思维。选一张迷宫的图片,你能找到走出迷宫的路线吗?如果能,我们现在就来设计一个机器人,让它来完成走迷宫的任务。

迷宫机器人可以靠触动传感器来走出迷宫。在进行实践前,我们首先来学习ROBOLAB软件中的分支、合并和跳转。

.分支:ROBOLAB软件中的分支等同于编程语言中传统的“If-Then—Else”语句。程序中遇到分支时,程序将选择两条“路径”中的一条执行。分支子菜单下所有分支命令通过大于或小于或等于条件来确定执行哪一条路径。

是触动传感器分支图标:它可以根据触感的事件状态执行不同的程序路线,当触感被按下时执行一条路径,当触感被松开时执行另一条路径。

.合并并图标:在条件分支的最后,必须使用合并图标,将两个分支合并在一起。有分支就必须有合并。

.跳转:跳转等同于C语言下的GOTO命令。

红色着落图标,红色跳转图标,当某段命令需要重复执行时,跳转很有用,将着落图标放在命令的开始处,红色跳转图标放在命令的结束处。红色着落图标需要和红色跳转图标配合使用。跳转图标还有蓝,黄,绿,黑四种颜色,使用方法与红色图标相同。

一般情况下,相对使用于循环图标而言,使用跳转图标不是—个好的编程习惯,因为跳转图标创建的是—个无限循环——这意味着程序永远不能结束。

在许多特殊情况下,在同一个端口连接多个传感器是可行的,对设备也是安全的。例如,用并联结构可以很简单地把触动传感器连接在一起,也就是说,只要它们中的一个被按下,就会产生ON状态,实现方法比较容易,只需把所有传感器连接到同一端口。你不用明白哪一个被按下,但你可以根据已有的因素推断出这些信息。例如,有一个机器人的前后部都有一个缓冲器,你可以把两个开关连接到同一个端口上。当有一个缓冲器被按下时,程序就会知道是应该向前还是向后,它能正确地解释这些信息和动作。还有一个例子,或许你的移动机器人有一只手臂,在特定位置它需要一个限位开关去停止动作。如果在触发手臂时机器人是静止的,你可以让限位开关和机器人缓冲器的开关线使用同一个端口。

思考1:可以使用其他的传感器吗?应使用什么传感器呢?

制作能走迷宫的机器人活动任务利用所学知识,设计一个能走迷宫的机器人。

活动准备个RCX控制器,2个低速电动机(马达),2个触动传感器,4根连接线,2个越野轮,3个轮芯,齿轮,多孔“乐高”梁,“乐高”板,“乐高”轴以及轴套若干,1个迷宫模型。

活动步骤搭建机器人实体用连接线将两个马达分别连接在RCX的A、C端口,将两个触动传感器分别接在RCX的1、3端口,然后把车体组装好。(图47、图48是供大家参考的机器人。)编程(1)想一想机器人要怎样才能走出迷宫。

用计算机解迷宫路径的程序(算法),就是仿照人走迷宫而设计的,也是对盲人走迷宫的机械模仿。计算机走迷宫时,通常用的是“穷举求解”的方法,即从入口出发,顺某一方向向前探索,若能走通,则继续往前走;否则沿原路返回,换一个方向再继续探索,直至所有可能的通路都探索到为止。依据这样的原理,如果我们让机器人始终沿着迷宫的一侧(左侧或右侧)前进,它就一定可以走出来。

(2)分析一下机器人走迷宫时会遇到的情况。

左转、右转、前进、停止。

(3)根据编程思维和图标,使用ROBOLAB软件中的INVENTOR4来编写这个程序。参考程序。

(4)将程序传到RCX上并连接好红外线发射塔,把程序下载到RCX中。

使用触动传感器控制机器人的行进状态将小车放在迷宫模型上实际操作一下,当触动传感器1和3同时按下时,小车前进,触动1松开、触动3按下,小车左转,反之,小车右转。

思考2:触动传感器1和3一定要同时按下,小车才可以前进,这个程序对操作者的要求是不是太高了?有没有更好的办法实战与提高提供一种新的解决办法——用3个触动传感器来控制。

(1)使用3个触动传感器的程序。

(2)3个触动传感器的手柄图。

思考3:(1)比较一下,使用2个触动传感器和使用3个触动传感器在程序上有什么不一样(2)使用3个触动传感器的程序,是如何降低操作者的难度的实践课堂检测完成任务后,试着回答以下问题:

分析这个机器人的结构,对于走迷宫这样的任务来说,它有什么优点和缺点使用3个触动传感器走迷宫,在程序设计上怎样方便了操作者呢你还可以想出几种机器人走迷宫的方法知识链接资料西觅亚科技。

ROBOLAB2.5编程指南答案提示阅读思考

思考1:同学们课下动手实践后,便可得到结论。

实践与思考

思考2:同学们课下动手实践后便可得到结论。

思考3.略。

检测与评估检测:

机器人结构评估

(1)采用框架式结构,使用零件少,整体结实,更换电池方便。

(2)前后的小轮不用胶皮轮,既可以平衡车体,又不会过多地增加阻力,便于转弯。

(3)车身可设计得再短一些。

使用3个触动传感器进行控制时,其控制状态可以有更多的选择,因此编程时完全可以避免必须同时按下两个触动传感器,才能发生一个事件的情况。

机器人走迷宫还可以使用的方法:

(1)如果是循轨迹的迷宫,可以用光电传感器完成任务。

(2)如果是墙壁式迷宫,可以用触动传感器紧贴墙壁的方法来完成任务。