收藏 分享(赏)

乐高ROBOLAB教程chapter01.pdf

上传人:HR专家 文档编号:6250109 上传时间:2019-04-03 格式:PDF 页数:51 大小:4.87MB
下载 相关 举报
乐高ROBOLAB教程chapter01.pdf_第1页
第1页 / 共51页
乐高ROBOLAB教程chapter01.pdf_第2页
第2页 / 共51页
乐高ROBOLAB教程chapter01.pdf_第3页
第3页 / 共51页
乐高ROBOLAB教程chapter01.pdf_第4页
第4页 / 共51页
乐高ROBOLAB教程chapter01.pdf_第5页
第5页 / 共51页
点击查看更多>>
资源描述

1、 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 第一章 此书授权西觅亚翻译,版权所有 1乐高和 ROBOLAB 基础 2006 年 8 月见到了乐高的 NXT 智能积木块,它是我们所广泛所知道的 RCX 智能积木块的延续。 或许你像许多人一样,从小没有接触过LEGO积木,NXT 的诞生没有得到你的关注。而对于大多数学生来说,这本书是对乐高积木的重新介绍;而对于教育者老说,这本书对于教授物理学、工程学、计算机科学的原理和技能方面是很有用的。 如同前两个版本一样,这本书的目的是通过有趣的挑战方式让学生对工程的概念产生认识。书中采用了一种开放式的设计挑战方式!挑战没有最高限制,意味着你可以

2、用一种适合你的方式去完成任务,只需要你经过实践并自己努力过。这样可以让最好的学生也经过一次智力挑战。 通常说,听的人能记住 10%,说的人能记住 90%,当我们在进行教学的过程中。这出自于一句中国的谚语: “不闻不如闻之,闻之不如见之,见之不如知之,知之不如行之。学止于行而后止矣。 ” -荀子 儒效 总的来说,书中的这些章节中的教学过程我都遵循一个过程,我真的希望它能被你完全接受并融入在你的教学过程中,并帮助你学到一些东西。 这本书使用 ROBOLAB 软件, 一种图形化的编程序语言,因为我知道作为一个工程师,学习程序的时间和经历是有限的,最好是能轻易地拖动鼠标就能轻松地编写出程序。因此,我发

3、现 ROBOLAB 软件是那样地容易记 住程序的意义,仅仅通过几个图标就能轻松地学会编程的基础,但是复杂的ROBOLAB 程序也需要你添加备注来解释程序的一些功能。 当你能够完成书中的挑战的时候,你应该能够: z 阐述设计的过程。 z 读懂ROBOLAB 程序并能解释机器人将要做什么。 z 应用基本的工程原理去解决一些问题。 z 在给予一定要求和条件下开放性地解决问题。 z 应用创新性的思维去开放性地解决问题。 z 写出完整的程序,应用到各种参数,条件,多任务,子程序等等。更严谨地,你能够编写一个微处理器,听起来是一个非常美好的延续。 11本书的架构: 本书利用设计挑战替代了原先在每章结尾预留

4、家庭作业的形式。每章中都有一个必须完成的挑战。设计、搭建、编写机器人程序,完成指定任务是你的工作。 我们特意在可能的结果上增设了一些障碍(通常被叫做规则),所以你拥有更多的创意空间。如果没有规则限制大多数挑战都有许多种解决方案。 一个任务能够有多种解决问题的方式,我非常喜欢这种方式应用在我的教学课堂中:假设有一个很好的朋友要从另外一个州来看望你,如果你希望给他指引一条驾驶的基于乐高组件和 ROBOLAB 软件的工程教学 第一章 此书授权西觅亚翻译,版权所有 2方向,能够从你家到村上的购物中心,是不是会有很多条途径可以参考。一些可能会很长,一些可能会很快到达。哪条路径是你应该建议给你朋友的呢?所

5、需要的时间,旅途的行程距离,天气,空气质量等等。一个 GPS 导航仪可以给你“最佳”的指引。教学的最佳方式就是像给学生一张地图一样,让他们自己到乡村里去驾驶一次。“亲自参与其中,他们才会理解!” 因此,书中的设计挑战,都有很多种解决方案。老师作为指导者只会给你建议的方向,其它的都需要你亲自去实践,让学生自己去选择一个“最佳”的解决方案。每当你完成一项设计挑战之后你就会获得一个建构的经验。你可以把教室想象成一个“工程小镇”。 在学习的过程中,你与你的指导者将应用“技能牌”来进行学习评估。技能牌是通过成功完成一项挑战所获得的。在每项挑战前技能牌的程度都将被注明。挑战的困难程度与你所获得的技能牌的多

6、少有关。通常, 你不需要尝试超过三个新的单项挑战技能牌 (除非你拥有一个非常好的教学助手或者你有较充足的时间)。 挑战分为五个不同等级:绿(最容易),白,黑,蓝和红 (最困难)。在每一个等级我们假设你已经获得此前比较容易的“技能牌”。按此说法,根据你能找出的“技能牌”你能够实现超级学习。 使用“技能牌”作为一种评估你自己学习的过程的方法。 此书与通常的教科书不同,你不必按顺序阅读,我们希望你根据你需要的“技能牌”来选择要阅读的章节。你会发现:与标准教科书相比,本书的每章节的组织是相反的,即开始是先挑战项目,后面才讲述具体的详细技能。按这种方式编排,我们是鼓励你开发自学的能力,这对你成为一名成功

7、的工程师有着至关重要的意义。 第一章介绍了乐高教育器材的硬件和 ROBOLAB 软件,我们假设电池已经装好,软件已经装好, 固件已经下载。 第二章到第六章,介绍了每个级别的挑战,在每章的开始都会安排一些挑战项目。图 1.1 向你展示了书中的所有“技能牌”,总共有 21 个“技能牌”可以获得。大多数工程入门课程都可以涉及 8 到 12 个“技能牌”。 除此以外,你可以通过 这个网站获取更多在线资源。所有讲课录像都已经上传在乐高工程网站上,方便学生自学和老师进行备课。 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 图 1.1: 本书中的挑战“技能牌” 此书授权西觅亚翻译,版权所有 3基于

8、乐高组件和 ROBOLAB 软件的工程教学 第一章 此书授权西觅亚翻译,版权所有 41.2 章节目标: 大多数情况下,每章的学习目标都会是每章的学习技能,但是,我在其实也涉及到一些相关工程主题的教学目标,在这里就不是太明确了。所以说,在完成第一章的时候,你应该能够: z 列出五项工程设计步骤。 z 列出很多常见的创新模块。 z 列出至少两个结构类的创新活动。 z 能够设计并搭建一个简单的机器人。 1.3 工程和设计过程: 杜克大学 Henry 教授,在他的很多书里面都谈到了设计是一种避免错误的方式。他指出,设计的过程经常可以帮助一个工程师去避免很多形式上的错误,你第一次工作的时候不需要学习很多

9、设计。即使你的设计能在特定的环境(例如家里)里正常工作,但并不意味着在所有的环境中都能适应(例如教室),破碎的设计才是给你上了一趟真正的课。知道哪里错了比不知道哪里对了来得更重要。关键是,不要期望第一次就做得正确。乐高积木的伟大之处在于他们让你能够在失败的设计上改进。利用这点反复改进你的设计。 再来一次穿越小镇,通常迷路(失败)更有教育意义。如果你迷路了,你可能就不会再走之前的路了。判断你会在哪里转错弯比随机地驾驶和转弯来得更好。从失败中学习要花费大量的时间。不断地重复错误只是浪费时间。 另一方面,如果你第一次尝试就成功穿越了小镇,也不意味着这是穿越小镇的最快或最佳路线。敢于冒险尝试一条新的路

10、常常会让你有新的发现。我想传达的主要概念是在设计过程中可以允许失败。工程师把设计过程描述为五个主要步骤: 1. 确认问题,包括说明书和限制。 2. 探索其他方法。 3. 设计,搭建,编程,然后测试你的设计。 4. 优化,重新设计 5. 向其他人介绍你的设计方法。 如果你是一位作家,那么这个过程就如同写作过程一样(构思,草稿,校对,编辑,发行) 。如果你是一位科学家,那么这个过程就如同科学过程一样(发现问题,提出假设,测试,评估数据,得出结论) 。 设计过程如图 1.2,第一步通常被视为不重要。但通常这步(特别是在机器人比赛中)是解决问题的关键。在本书的设计挑战中,我特意提出了一些有多种解决方法

11、的问题。我希望你搭建自己的“富有创意的腿“。 步骤2包含了许多有创意的想法。你应该试着在有限的时间内提出更多的想法。在工程学中,第七条规则经常使用,这就是说在你决定哪个是你最好的设计前你应该至少想出七种方法。一旦你决定怎么做了,就马上去做(步骤 3) 。像之前所说的,不要期望第一次做就做得正确。现实生活中,成功的产品要通过大量的调试才能投放到市场。因此,花上一些时间改善和重新设计你的作品。 最后,对你来说非常重要的一点就是,把你的方法和大家分享,交流。当你把你的想法告诉别人的时候,你就证明和解释了你的设计想法。通过这种思考练习,你会对自己了解更多,并且学到更多。试着看看其他人是怎么解决同一个问

12、题的,把你的方法和他们的做比较。评估是一种批评性的思考技能,这对你将来会有帮助。问自己,你的基于乐高组件和 ROBOLAB 软件的工程教学 第一章 设计是否能更好地运作,是否看起来更好,是否用了更少的零件,编程用了更少的步骤,等等。 图1.2 “设计是可以避免失败的”它的意思是失败不是只能被接受的,但是它可以被预计到,从而让我们做好准备,避免失败。白色的箭头表示了最佳的设计循环,当你在反复解决并且优化你的问题的时候,这个代表性的循环围绕在你周围许多次。当最后每件事都正常工作时,你可以向其他人介绍你的解决问题的方法。 此书授权西觅亚翻译,版权所有 5基于乐高组件和 ROBOLAB 软件的工程教学

13、 第一章 此书授权西觅亚翻译,版权所有 64 LEGO Mindstorms(乐高头脑风暴)硬件 生于1998年,来源于麻省理工学院技术媒介1.LEGO Mindstorms 是 LEGO集团的新品牌,诞实验室 Seymour papert 教授所著Mindstorms一书。 图1.3. LEGO智能积木: CLI (后左), Microscout (后右 ), RCX (左), NXT (中) Scout 控制面板 (CLI) 已经被淘汰了有十年了,但仍可以在许多教室和实验室被发现。 CLI有可的七个程序,也可以通过可见光链接用PC机或Scout对其编 ROBO。 有个显著的差别:1)教(右

14、)。 以控制8个电机和8个传感器的能力,这使它成为制作乐高大型项目可以被选择仪器之一。电脑被RCX所代替,RCX其中包含自己的微处理器。RCX是目前为止用途最为广泛最大众化的智能积木。Scout是基于RCX开发的,但是,是按照不需要用计算机编程的平台开发的(NXT多少也继承了这个显著的特性)。即使这样,乐高已经停止生产Scout,但它仍然可以在网上购买到。 Microscout既能执行它内部程,但最奇怪的是Microscout不可以被RCX或NXT直接编程,只有Scout可以这样做。当然对于RCX来说有几种编程语言,对于NXT来说现在只有非常少的语言,其中包括LAB和Mindstorms NX

15、T软件(一般的称为NXT-G)。本书将会集中讲到NXT的ROBOLAB。NXT-G在几本书中被提到:LEGO NXT-G f or ROBOLAB Users. 备注: NXT-G固件 和ROBOLAB两者是不兼容的(将会涉及到更多)就像它的前辈RCX,NXT有零售或者教育性的版本。这里两个版本育版本的有适用于RCX的传感器和马达的输入/输出适配器。2)教育版本的硬件包括直流可再充电电池组和接口。充电电池使NXT比乐高积木厚两倍。然而,当你希望你的机器人使用很长的一段时间,直流充电接口将会非常有用。(例如24小时采集气温数据)。另外,使用可充电池比使用一次性电池对环境有利。如果使用5号电池,N

16、XT的设计电压是7.2伏,6粒可充电电池提供。(RCX在7.2伏时可以工作,但是它的设计电压是用6粒碱性电池提供9伏的电压)。 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 此书授权西觅亚翻译,版权所有 7图1.4. NXT零售版(左)使用5号电池,而教育版使用可充电池组(右)。两个版本都可以使用5号电池或者锂电池组,但是只有教育版提供电池组。 1.4.1 NXT编程积木 NXT的前面板是用一块很大的LCD(100X64象素)液晶屏控制的,在这个上面可以显示文字或者图片(详见2.8.4)。NXT有四个按钮:中央橘红色按钮(开启/确定/运行),两个箭头按钮(左/右菜单导航),以及一个小

17、的灰色按钮(取消/返回)。所有的四个按钮按照使用者的习惯改变。 图 1.5 NXT 编程积木 NXT是乐高Mindstorm套装的大脑。在NXT上一共有八个接口:四个在顶部另外四个在底部。上面的接口为输出接口(A,B和C )。你可以连接NXT马达和适配器电线,旧的RCX马达,光电和第三方RCX输出设备在输出接口上。在顶部有USB接口,并被明显的标注。 四个输入接口(1,2,3和4)在NXT的底部;是用来连接传感器的。NXT支持四种标准的传感器:光电,触感,声音和距离传感器。使用了支持的适配器连接线,你还可以使用老的RCX光电,触感,角度和温度传感器。 也可以找到些第三方的NXT传感器。 备注:

18、NXT接口标注“输入”或者“输出”有点不合适,因为NXT的马达已经有了内置的角度传感器。输出接口A,B,和C实际上接受角度传感器的输入,并且输入接口(1,2,3和4)可以根据需要支持功率输出设备。 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 从技术上来讲,NXT有一个32位的ARM微电脑处理器和一个频率为50MHz的时钟。它也有65Kb的静态随机存贮器和256Kb的闪存。大约有一半的用户存储器是可以使用的,其余的用在了固件上,默认的声音和系统程序。如果你希望来空出空间,你可以删除任何你想删除的,但是除了正常的固件。当删除了所有的东西,你就空出了大概132Kb的程序(如果你想要恢复所

19、有的文件,只要重新装载固件就可以了)。只是作为参考,RCX只有32Kb的总容量,大概只有6Kb是可以用在你编程上的NXT有了显著的提高! 你可以存储的程序的数量仅限于存储器的大小。NXT微处理器可以计算整数和十进制小数的数学。你的程序也可以读写到存储器中。但是,事先声明,声音文件会很大。 联接指示仅在联接时可见(蓝牙或者USB ),所以当你开启NXT时不必为没有见到联接指示而感到紧张。备注:蓝牙的使用完全由你自己承担责任它没有被乐高或者Tufts大学所支持。电量显示条显示电池所剩的电量。你的NXT的名称显示在液晶屏上方的正中央。剩余的屏幕显示菜单(默认的),传感器读数,程序等等。 通过使用左/

20、右箭头按钮你可以操控高级的菜单。如图例1.7,高级菜单包括6个项目(从左到右):My files(我的文件),NXT progr am(NXT程序),View(显示),Bluetooth(蓝牙),Settings(设置),和Try Me(测试)。 图 1.7 NXT高级菜单(你一次只可以看见3个标志) 选择“MY FILES”(我的文件)可以打开子菜单,你可以使用左/右箭头键来选择软件文件,NXT文件或者声音文件。你编写 的程序储存在软件文件区域(Software files area)。所有在你用的声音文件都存在了声音文件区域 (Sound files area)。NXT文件包含了系统文件。

21、当你选择了软件或者声音文件,你可以运行,发送(通过蓝牙),或者删除文件(ROBOLAB 2.9不支持发送任何文件)。 NXT程序子菜单允许你在不使用电脑的情况下在NXT中编写简单的程序(至多5条)。如果你创建了一个程序,并且尝试用创建的第二个程序去覆盖它的话,你将会见到“out of memory”的出错信息。来处理这个问题,只要简单的将NXT打开并且关闭,它可以移此书授权西觅亚翻译,版权所有 8基于乐高组件和 ROBOLAB 软件的工程教学 第一章 除在NXT程序子菜单创建时出现的只读保护。 “View”的子菜单是你可以实时观察传感器的读数,对于调试来说是十分有用的。不像RCX,有一个专门的

22、VIEW按钮,现在它是一个菜单选项。当一个程序在运行时,ROBOLAB允许你使用左箭头键来观察传感器读数。(除非你已经重新对键的功能进行过设置) 蓝牙子菜单使你可以开启或者关闭蓝牙。在我早些时候提到过的, 蓝牙的使用现在只是一个非正式的途径,乐高或者Tufts大学官方并不支持。 在LCD上方靠左紧接着蓝牙标记的地方,一个向左的箭头“”说明你现在正在联接到电脑或者其他的NXT。所以,如果在蓝牙标记后面没有任何其他标记,说明你的蓝牙既不是可见的也没有处于联接状态。如果你没有安装蓝牙的硬件,那么请关闭蓝牙以节省电能。 图1.8 蓝牙的状态依次是可见(左),已联接但不可见(中),既联接又可见(右) 在

23、设置子菜单中你可以调节喇叭的音量和睡眠时间,查看NXT的版本(系统信息),或者删除文件来扩大内存。查看NXT版本是最简单的方法来确定你的NXT是否拥有NXT-G或者ROBOLAB固件。如图1.9左,ROBOLAB固件信息被清晰的显示出来。在打印的时候,现在大多数的ROBOLAB固件版本是7.07。如果你的NXT并没有显示这些,你可以到www.ceeo.tufts.edu或者 上下载最新ROBOLAB补丁。 图1.9 NXT版本信息 ROBOLAB (左) and NXT-G (右) 选择“TRY ME”允许你使用触动,超声波和 光电传感器来制造各种各样的惊奇。使用声音传感器,当它被触发时可以启

24、动马达。最后,自从角度传感器已经内置到马达来控制马达的精度,使用马达已经不再是以前那样的了。然而,那将会是一个非常好的示例同时运用在了角度传感器和喇叭的频率范围。 1.4.2 输入和输出设备 在NXT上,我们有三个输出供马达和灯光使用,加上喇叭和LCD。NXT连接器(有线)只允许马达和传感器用一种方式连接。图1.10(NXT-G帮助文件的再现),显示了当程序要求执行前进命令时,NXT马达的旋转方向。这是一个对小年龄的孩子们非常有用的图表,当他们因为他们的程序要求机器人向后走但机器人却向前移动感到困惑时。 此书授权西觅亚翻译,版权所有 9基于乐高组件和 ROBOLAB 软件的工程教学 第一章 图

25、1.10 NXT马达“向前进”时的旋转方向 NXT使用字母来表示输出接口(A,B和C),数字来表示输入接口(1,2,3和4)。除标准的NXT马达和传感器外,ROBOLAB支持通过连接适配器使用老的RCX的马达和传感器。(见表1.1)。NXT输出设备,现在乐高只生产马达,遗传了RCX的好的输出设备。表1.1显示了NXT现在的输出设备的选择。 直到运用到输入,乍看你只有四个输入接口。但是请别忘记,三个马达每个内部都有一个编码盘(角度传感器)。另外,四个按钮每一个也可以用作触动传感器(比如当他们被如此定义)。那就意味着你实际上同时拥有了11个传感器当然,它们中的三个必须是角度传感器并且四个必须是触动

26、传感器。如果11个输入还是不够你使用的话,那么你就可以等到第三方多元化传感器的诞生。说道第三方传感器,NXT使用6个有线连接,可以使你创建自己的传感器更加容易。 标准的NXT教育套装有两个触动传感器,一个光电传感器,一个声音传感器,一个超声波传感器,三个内置在马达里的角度传感器,三个RCX式的灯和三个配合RCX的传感器,马达和灯光使用的有线适配器。表1.2列出了在这本书中准备用到的传感器。 表1.1 输出设备 输出设备 备注 NXT 马达 NXT马达内置一个可以精确到1度的可旋转角度传感器。NXT的连接器确保你不会混淆马达的连接。 传统的RCX设备 RCX马达,灯光和声音设备在特殊的有线适配器

27、上都可以使用(非常容易连接)。连接线的方向会影响到RCX马达的运行方向。 第三方以及自制NXT输出设备 数家公司有新的传感器,详情请浏览: , www.techno-, , and . 此书授权西觅亚翻译,版权所有 10基于乐高组件和 ROBOLAB 软件的工程教学 第一章 表1.2 输入设备 传感器 介绍 NXT触动传感器 比RCX触动传感器略大些,并且有一个插槽可以插入标注的轴类零件 (像以前的CLI触动传感器)。弹性也比RCX的触动传感器要更好。 NXT光电传感器 NXT光电传感器反馈数据在1(暗)和100(亮)之间,像RCX光电传感器。你可以开启或关闭红色的发光二极管来探测真实的周围的

28、环境光的读数。 NXT声音传感器 你可以使用声音传感器来探测分贝(dB)或者调整过的分贝(dBA)。 NXT超声波传感器 超声波就是人们所说的声纳。 像大多数的超声波传感器, 只测量一次读数会在所难免的产生误差。只使用一个传感器,多途径(反馈)错误也会使读数出错。 NXT角度传感器 在每个马达中内置角度传感器可以将测量精度精确到1度。旋转是依靠传感器所定的旋转方向来确定是正向的或是反向的。 由于在马达中存在阻力,你不可以像使用老的RCX式的角度传感器在NXT角度传感器上直接安装轴类零件。 NXT按钮传感器 NXT的四个按钮都可以在被定义后用作触动传感器。 传统RCX传感器 NXT-G和ROBO

29、LAB 2.9在使用有线适配器的时候都支持老的RCX传感器。 此书授权西觅亚翻译,版权所有 11基于乐高组件和 ROBOLAB 软件的工程教学 第一章 此书授权西觅亚翻译,版权所有 12第三方以及自制传感器 数家公司有新的传感器,详情请浏览: , www.techno-, , . 1.5 选择软件 NXT使用ROBOLAB 2.9和NXT-G都可以进行编程。我接触的一些教师在这方面产生了困惑。我的理解是(比如这不是乐高正式的宣传)乐高教育支持两个平台,当ROBOLAB在未来会被逐步淘汰时。ROBOLAB是被设计用在非常广的等级分层上(下图表示),而NXT-G倾向于在小学和中学的学生中使用。乐

30、高头脑风暴机器人软件的第二章(比如数据上传)将会在未来的某一天到来。将会在下面以图表显示,到了2010年,ROBOLAB将会完全被Mindstorms(乐高头脑风暴机器人)和Minds torm的LabVIEW的结合体所替代。 图 1.11. 2010年将会被使用的软件平台 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 1.6 ROBOLAB软件 ROBOLAB是以美国国家仪器公司的LabVIEW软件为基础开发的图形化编程环境。本节将会对此软件作简要介绍。在第二章中我们将详细介绍软件的编程技巧。 现在我希望你已经在你的电脑上安装好了ROBOL AB并且下载了NXT的固件。在这本书准备

31、印刷时,ROBOLAB最新的版本是2.9.3(从2.9.2升级而来)。 在ROBOLAB软件中有三个不同的图形化编程等级: 导航者级别, 发明家级别和研究者级别 。 导航者级别是最容易的编程等级此级别中使用了特殊的编程环境,能够使程序一直处于编译和执行中。 发明家级别是第二个编程等级。通过连线把单独的图标连接在一起组成一个程序。 编写好的程序可以包含所有类型的编程元件,比如:常数,变量,循环和函数图标。 研究者级别是最高的编程等级。 在此模式中包括了发明家级别中的所有功能,同时又增加了数据采集和高级数据分析功能。 图1.12. ROBOLAB编程等级: Pilot导航者级别(上),Invent

32、or发明家级别(中), Investigator研究者级别(下)。 每次ROBOLAB 启动后,在电脑屏幕上都会显 示一个引导性的窗口,从该窗口你能够访问三个主要区域: 此书授权西觅亚翻译,版权所有 13基于乐高组件和 ROBOLAB 软件的工程教学 第一章 管理按钮: 调整NXT的设置,设置默认文件的存放位置,和下载固件。如果你没有看到管理者按钮,点击F5功能键使它可见。 编程按钮: 进入导航者和发明家级别的编程等级。编程者能够设计出响应外界条件的机器人,但不能使用数据采集功能。 研究者按钮: 进入研究者编程级别,此部分注重RCX的数据采集功能。另外,在研究者级别,你能够使用数据处理命令。

33、帮助按钮可以打开帮助文件,在任何情况下它都能够提供有用的帮助信息。 我非常鼓励所有的初学者经常打开帮助信息查看。 1.6.1管理按钮 在点击管理按钮后,在屏幕上出现如图 1.8 所示的界面,我们可以通过点击窗口底部的按钮进入三个不同的区域。管理按钮区域允许你设置并且测试 NXT 的连接和下载的固件。如果你单击选择 COM 端口(Select COM Port) ,你会看见NXT联接清单的名字。其他的接口是供RCX 或者 CLI 使用的。 图1.14 管理者区域 ROBOLAB 设置区域允许你添加或删除新的主题(程序组)并且可以设置默认的程序文件路径。 图1.15. ROBOLAB设置区域 你可

34、以查看默认的存储文件目录(程序组)和ROBOLAB的安装目录。 RCX/NXT设置区域 依据你是将NXT或RCX又或者是CLI联接在电脑上以显示不同的信此书授权西觅亚翻译,版权所有 14基于乐高组件和 ROBOLAB 软件的工程教学 第一章 息。对于NXT来说,你可以刚改NXT的名称,NXT程序的名称和关机时间。它也可以显示剩余的电量和固件的版本信息。当我在写这本书时,7.07是最新的固件版本。 图1.16 RCX/NXT设置区域对于不同的硬件会有区分。 如果你没有确切指定使用哪个硬件设备或者该设置被设为了自动选择(AUTOSELECT),那么单击RCX/NXT设置区域会打开一个新的窗口会询问

35、你准备联接哪个硬件设备:NXT,RCX(或者SCOUT)或CLI。 图1.17 选择硬件窗口 NXT名称: 设置NXT的名称,名称将会显示在显示屏的中央的上方。最多可以写入8个字母。当你更改名称时,你会听到NXT发出一个 短促的“吡”声。这是按任意键来确定NXT的更改。 NXT程序名称:在每次下载程序到NXT上时都设置一个 名称。这是唯一使用ROBOLAB可以一次下载更多程序的方法。默认的,ROBOLAB经常使用相同的文件名(“rbl”),所以当每次你上传一个程序时,上一个就会被覆盖。然而,如果你更改NXT程序名称,你可以同时存储多个程序。 关机时间: 设置NXT在自动关机前会待机一段时间直至

36、你按了四键之一。NXT并不理会程序是否在运行,并且会在四个键没有被使用时待机一段时间,然后自我关闭。如果你此书授权西觅亚翻译,版权所有 15基于乐高组件和 ROBOLAB 软件的工程教学 第一章 的程序会运行很长的一段时间,设置“从不睡眠”。 备注:在这本书出版时,关机设置是不起作用的你必须在NXT的菜单中直接更改设置。 1.6.2 安装固件 不像NXT-G, ROBOLAB会检查你是否在NXT上安装了ROBOLAB固件。如果你没有匹配的固件版本,ROBOLAB会提示你下载。当你开始下载,会打开一个新的窗口(图1.18)并且你的NXT在将会固件模式下会自动关闭并且重启(你将会从NXT的喇叭中听

37、到微弱的滴答声)。固件下载的总时间大约为45秒。如果你希望手动下载固件,你可以使用管理者 (图1.14)来下载固件到NXT中。 图1.18 ROBOLAB将会下载你没有安装在NXT上的固件。 1.6.3 重置NXT 你的NXT在极少数情况下会出现死机。在NXT的底部有一个隐蔽的复位按钮。设在底部靠近USB接口的上方的孔内。你可以用小的针或者回形针按住5秒钟时间。 图 1.19 NXT复位按钮在左面的孔的上方(靠近USB接口)。 此书授权西觅亚翻译,版权所有 16基于乐高组件和 ROBOLAB 软件的工程教学 第一章 如果你的NXT不能打开或者从喇叭里听到滴答的声音(通常情况下是The clic

38、k of death),这时你只要按住复位键5秒并且从管理者菜单中下载固件到NXT中,通常就可以解决这个问题。 1.6.4编程 从编程窗口中你可以进入导航者和发明家编程等级。 导航者等级使用程序模板创建始终处于编译状态的程序,但程序不能够过于复杂。 在发明家等级中你使用图形化编程创建程序,程序的内容仅仅受你自己的想像力的限制。 图1.20 Programmer(编程)主窗口 1.6.5 研究者 在研究者级别中,你可以编写程序利用NXT 的实现数据采集, 你还可以使用高级编程环境和数据分析工具。 图1.21 Investigator(研究者)主窗口 1.6.6 ROBOLAB版本2.9.3 本书

39、是依照ROBOLAB最新的版本所写,现在的版本是2.9.3。自然地,我们就以此版本为例。然而,也就是说,本书中的多数信息也可以用在以前的版本中。 ROBOLAB1.0版本和1.5版本一开始只有Pilot (导航者)和Inventor(发明家)编程模式。在2.0版本中,Investigator(研究者)才有RCX的数据采集功能。 2.5版本是为了充分扩展RCX固件而创造的。它加入了支持摄像头功能和高级控制。2.5.4版本使用了新的LabVIEW 7.0引擎。由于改变,在早些的ROBOLAB2.5.4版本下的Investigator程序不能被打开,但是2.5.4版本可以打开旧的文档。 此书授权西觅

40、亚翻译,版权所有 17基于乐高组件和 ROBOLAB 软件的工程教学 第一章 NXT的介绍带来了ROBOLAB2.9.2版本的创新之处,运用了新的LabVIEW 8.0引擎。2.9.2版本支持了NXT和RCX,RCX进行了新的固件升级,其运行100遍程序的速度远远快于上个版本。 NXT固件的创建是完全从零开始的 (NXT的 “正式”编程语言), 并且和NXT-G不一致。2.9.3版本修复了多个漏洞并且加入了多个改良的NXT特效功能。所有的早些ROBOLAB版本应该和2.9.3一致,那就意味着你可以在NXT上使用RCX的程序,只需要轻微的改动RCX的程序。 此书授权西觅亚翻译,版权所有 18基于

41、乐高组件和 ROBOLAB 软件的工程教学 第一章 1.7 设计技巧 你可能在儿时玩过LEGO积木,但是你一定会像大多数学生一样,发现现在的LEGO积木和你曾经玩过的不完全一样。有许多看上去很陌生的积木块,而且还有数不清的方式可以将他们组合在一起,有些比以前更好了。 本节中,我会提供一系列的提示和小贴士来教你如何搭建LEGO Mindstorms套件。其中的许多灵感都来自参考书。如果大家有兴趣,我建议大家可以参考一下书目: LEGO Mindstorms Constructopedia(versions 1.0, 1.5, and 2.0); the LEGO Extreme Creature

42、s Constructopedia, the LEGORoboSports Constructopedia, Robotic Explorations by Martin; Building Robots with LEGOMindstorms by Ferrari, Ferrari, and Hempel; Jim Sato s LEGO Mindstorms by Sato; LEGOMindstorms Idea Book by Nagata; Creative Projects with LEGO Mindstorms by Erwin. 1.7.1基本乐高搭建技巧 首先,让我们先了解

43、一些乐高积木的术语, 在图 1.22 中按顺时针方向依次为 16板, 15 投掷臂, 16 梁, 12 轴块, 24 块, 和 24 板。 很多典型的乐高积木资源可以在http:/ 图1.22 普通乐高积木 . 此书授权西觅亚翻译,版权所有 19轴的表示方法与积木和板的表示方法类似,也是用凸起的数目对应的长度来定义的。图 1.14 所示为 4、6、8(各对应凸起的数目)长度三种轴。 图1.23 LEGO乐高轴类零件 基于乐高组件和 ROBOLAB 软件的工程教学 第一章 你可能会发现一个 11 的乐高块并不是一个立方体它的高要比宽长一些,实际上,高度与宽度的比是 6/5 (1.2) 。 如果我

44、们把 11 块的宽度作为基本LEGO 单位, 那么高度是1.2 个乐高单位。 你可能也会发现把 3 块乐高板叠起来正好等于一个块的高度。因为一块板是0.4 个基本单位厚。 做一个小小的计算:一个块的高加上两块板的厚度刚好等于 2个乐高单位。同样,3 个块+1 块板 = 4个乐高单位,5 个块=6 个基本单位。 图 1.24 1X1乐高积木就是一个 单位宽1个,高1.2个LEGO单位 乐高积木搭建中固定梁的关键是保证孔之间的垂直距离必须是乐高基本单位的整数倍,只有这样我们才能够把它们连接起来。图 1.25 所示为 2、4、6 个单位梁的装配图。 为什么使用垂直梁?因为乐高的模型也存在着巨大的缺陷

45、结构搭建不稳固的话,比较容易散架。使用垂直梁加固乐高结构是最常用的一种方式。搭建一只结实的机器人, 在肉搏战竞赛中是非常重要的,但做到这点,你需要精通机械支撑结构。图1.26显示了集中传统的梁的连接方法。 图1.25 垂直LEGO空间:2个LEGO单位(左)4个LEGO单位(中)6个LEGO单位(右) 图 1.26 适合的方法 同样,使用连接两个或两个以上的突点来拼接乐高积木也是非常好的加固方法。图 1.27 中所示的那种仅连接一个突点的结构(左)会导致结构扭曲变形。 图1.27 搭建牢固的乐高结构 此书授权西觅亚翻译,版权所有 20基于乐高组件和 ROBOLAB 软件的工程教学 第一章 销的

46、区分由多种颜色来分别, 但是在别的方面都是一样的。比如说黑色的紧配合销和灰色的销在图1.28 右边中是一样的,除了他们的颜色。然而,黑色的紧配合销在直径上却稍微比灰色的销大一点,一起到增加其刚性联接性能。比如在图1.25 中我使用黑色的紧配合销将各个组建联接到了一起。对于灰色的销,直径略小,像在图 1.29 中可以作为连接需要旋转的关节的工具。同样的,棕色的轴类销直径也略小于蓝色的轴类销(图1.28中央),这依然可以做好的支点。最后,灰色的双头销直径也略小于蓝色的双头销(图1.28左)。一般来说,灰色的连接物都略小于黑色的连接物。暗灰的 3/4 销在直径上比 1/2 亮灰色销小,这就使 3/4

47、 销在使用投掷臂(1/2 投掷臂)连接梁式结构时更好用(如图1.29所示)。 图1.28 LEGO连接销 图1.29 深灰色3/4销和浅灰色销分别作为梁与投掷臂(左)及梁与梁(右)之间的轴。 销除了作为支柱和轴外,在侧面制作直角也是非常有难度的。图 1.30 展示了两种这样做的方法。在右边我使用了直角销。因为直角销是松配合,我也使用过黑色的紧配合销。在图 1.30 的左面,我使用了一些亮灰色的 1/2 销,左边的那个结构能够使用是因为 1/2 销结尾的突起与标准积木顶端的突起具有相同的尺寸。难以置信吧? . 图 1.30 制作直角的方法 此书授权西觅亚翻译,版权所有 21基于乐高组件和 ROB

48、OLAB 软件的工程教学 第一章 图 1.31. 制作 NXT 机器人最为有用的两个零件。 如果你要制作新的NXT机器人,请了解上图的两个零件。他们或许在乐高机器人套件里是最为有用的零件。然而,由于它们的配合有点松,所以我们常使用黑色的紧配合销来连接经常会活动的关节。在接下来的几幅图中,我会展现另外两种制作直角的方法。我使用投掷臂来代替传统的正方形臂,因为大多数的NXT制作都使用到他们。 图 1.32. 另两种制作直角的方式 1.7.2齿轮和轴 精通齿轮和轴对于搭建乐高机器人也是非常有帮助的。标准乐高NXT电机(表1.1)以全速运行,它的时速大约是120转/分。齿轮用于改变曲轴或轴间转动速度和扭矩。 此书授权西觅亚翻译,版权所有 22基于乐高组件和 ROBOLAB 软件的工程教学 第一章 图 1.33. 所示为通用乐高齿轮(由左至右): 上面一行: 40 齿,24 齿,16 齿,8 齿,差速齿轮 中间一行: 24 齿冠状齿轮,36 齿双面斜齿轮, 24 齿双面斜齿轮, 12 齿双面斜齿轮,8 齿旋齿轮,12 齿斜齿轮 下面一行: 24 齿离合齿轮,10 齿齿条,14 齿齿条,旋扭,4 齿轴,涡杆,16 齿惰

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 简明教程

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报