一[教学目标] 1、 知识与技能
知道什么是机器人,了解机器人的发展情况,对即将要学习的机器人有一个感性的认识。
2、 过程与方法
让学生自己动手通过上网查询机器人的定义,以及机器人的发展概况。再通过讨论把自己的所见所闻讲述出来,教师归纳总结。再以丰富的视频资料帮助学生对教学机器人建立一个感性的认识。 3、 情感、态度、价值观
让学生体会自主学习所带来的成功感,培养学生发现问题、解决问题的能力。
二[教学重点]
了解机器人的基本知识,特别是现在普遍使用的教学机器人。 三[教学难点]
如何让学生对机器人有一个生动形象的认识,从而激发学生的学习兴趣。 四[课前准备]
计算机机房、互联网、机器人器材 五[教学步
骤] 教师活动 学生活动 教学目的 1、播放影片剪1、观看影片 1、引起学生的注意 辑 《终结者2》片段 2、提出问题:影片中的 2、展开思考作答 2、引导学生进入主主角是人还是机器人? 机器人 题 3、提出问题:什么是机器人?请同学们通3、学生开始通过搜3、让学生通过自主过网络寻找答案 索引擎去寻找答案 学习去解决问题 4、 巡视整个机房,了解学生 4、学生通过操作,4、让学生体会成功完成情况,并对部分学生给予提示。 对机器人的定义有感 了初步认识 5、请部分学生讲述他所发现的关于机器人5、学生各自表达自5、通过发言的方式的描述 己的观点 让学生增强自信心 6、总结发言:各位同学对机器人的描述都6、关注教材中对机6、让学生明白机器是大同小异的,应该说都是正确的,我们器人所下的定义 人实际上是一个开国家的科学家对机器人是这样理解放性的话题 的。。。。。。 7、提出任务:同学们接下来继续通过搜索7、学生开始通过搜7、继续渗透自主学引擎去网上下载机器人的图片,等一下拿索引擎去下载图片 习 出来大家交流一下,看看谁下的不同种类的机器人最多?
1
8、巡视机房掌握学生完成8、将下载下来的图片保存8、了解学生的操作情况,情况 在硬盘中 为开展下一步教学作准备 9、请同学来展示自己下载9、学生凭自己的想象力进9、为讲解机器人的分类作的机器人图片并提出问题:行归纳 一个铺垫 你能给你下载的机器人进行一个简单的归类吗? 10、归纳总结:其实机器人10、关注教材中对机器人10、让学生对机器人有一分类的方法很多,现在还没的分类 个框架上的认识 有一个统一的标准,按目前一般的方式可分为。。。。。(结合课本对这些分类作简单解释) 11、结合课本引入教学机器11、学生认真听讲,并观11、通过实物展示,提高人的介绍,重点说明教学机察机器人器材实物 学生的感性认识,为即将器人在我国的发展情况,以学习的内容提升兴趣 及在现实中的具体应用,配合讲解出示目前使用比较普遍的机器人器材 12、播放收集整理的关于教12、观看视频 12、让机器人从一个抽象学机器人的使用和比赛片的概念变得较为形象,为段,结合视频作一定的补充下步学习作一个铺垫 说明(比如近年来发生在身边的青少年智能机器人大赛等等) 13、出示一个已经制作好的13、通过听讲和观察,去13、出示实物让学生能够机器人实物,结合这个机器理解机器人的组成部分 把教师所讲的组成部分很人来讲解机器人的基本组容易和实际联系起来,加成 深理解 14、提出思考问题:用自己14、学生思考回答 14、培养学生的想象力 的方式表达,你心目中未来的机器人是什么样的? 六[课后反思]
1、 对于前面机器人定义和分类的学习,是采用自主探索和互动的形式完成的,其目的是提高学生的学习兴趣,但要注意时间的把握,避免冲淡本节内容主题-教学机器人的介绍。
2、 教学中所采用的视频要精简,能够迅速切入主题,达到深人浅出的效果。
3、 上机指导时要注意观察学生的完成情况,特别要留意那些完成情况具有代表性的学生,尽量抽他们起来回答问题。比如:图片的下载,就要关注那些学生图片下载的较全,分类较多,这样便于讲解。 (参考教案)第二课机器人的编程系统
2
一、[教学目标]
1、知识与能力 知道人与机器人是怎样进行交流的,认识纳英特和乐高机器人的编程平台
2、过程与方法 以形象生动的讲解和演示操作相结合,辅以任务驱动的方式完成授课
3、情感、态度和价值观 通过对本节知识的学习,着重培养学生的观察能力、理解能力和模仿能力。 二、[重、难点分析]
1、重点:认识机器人的编程平台,知道人与机器人是如何通讯的 2、难点:学生如何能够熟练的完成打开编程软件---录入指令----下载程序到机器人
三、[课前准备]
网络教室、乐高纳英特编程软件、机器人核心部件(机器人的大脑) 四、[课时安排] 1课时 五、[教学步骤] 1、课前引入 师:人与人之间的交流主要是通过语言完成的,比如我叫大家打开电脑,你们马上就可以完成这个动作。那么人与机器人之间的交流是怎样完成的呢? 生:认真思考
师:其实机器人并非人类因此它也不能听懂人类的语言,既然如此那么我们到底通过什么手段和机器人交流呢?这是我们这节课所要学习的。 2、新课教学
师:首先我们进行一个简单的设想,机器人首先还是一台机器,我们把它能听懂的话叫做机器语言,人要与机器人进行沟通就需要一个翻译,把人类的语言翻译为机器语言,这样机器人就能听懂我们说的话了。那谁来充当我们的翻译呢,这就是编程软件了,我们把我们要说的话先组织好,写在编程软件里,再由它告诉机器人。接下来我们就来具体学习怎样使用我们的翻译,让它把我们的要求告诉机器人。
师:首先给大家介绍两个翻译家认识,一个叫做纳英特、一个叫做乐高,这是两个不同地方的翻译家,一个来自杭州、一个来自北京,但是他们要做的工作是一样的,为我们和机器人充当翻译。首先我们来看看纳英特编程软件怎么使用?
纳英特使用步骤:
步骤一 使用前首先要把这个软件装入电脑。装好以后可以看到桌面上
的nstrobot图标。
步骤二 双击该图标,就可以看到纳英特积木式机器人图形化编程平台了。
3
步骤三 下面我们随便输入一些想要给机器人说的话,比如让机器人动起来(机器人的行动主要靠马达来完成)。
1、从左边的执行器模块库中拖一个启动电机模块到程序中如图,注:
这里的拖动和我们平时拖动文件到某个地方是一样的
2、在右边的启动电机模块上双击或者点右键,点模块属性,如下图,把马达的功率设置为100。
4
步骤四 好,接下来我们就要让翻译把这句转达给机器人了,在转达之间我们还要把机器人和我们的翻译联在一起,翻译是装在什么地方的?对,计算机里面的。那我们只需要把机器人和计算机连接在一起就可以了 1、先把机器人通讯线的一头和电脑的一个串口连接,连接方法见下图
2、通讯线的另一端和机器人相连,见下图。
5
步骤五 下面我们就开始让翻译把我们的指令传达给机器人
在下载前我们用1个手把机器人提起,防止马达的转动使机器人从高处摔下损坏,然后向右打开开关。点“编译下载”,选择好与电脑连接的串口,点“下载应用程序”,如果下载失败,请检查串口是否搞错,通信线有没有连接,机器人电源有没有打开等情况。有时候什么也没有改变,关开一下电源,重新下载,也可能会取得成功。
下载成功后把电源拨到中间,关闭机器人,然后在把电源拨到右侧打开机器人,这时你就可以看到机器人按我们的意思动起来了
6
任务一
下面各位同学马上把刚才学习到的体验一下吧,有什么问题请举手 师:下面我再给大家介绍另一位翻译看看它又是怎样把我们的语言翻译给机器人的
乐高的使用步骤
步骤 安装好的软件在桌面有一个快捷方式可进入如图所示的ROBOLAB的主菜单界面。
,双击该快捷方式即
1、 单击“管理员”按钮即可进入管理者界面
2、 将红外发射器与电脑相连,做好下载前的准备(红外发射器和刚才使用的通讯线作用是一样的,负责把程序传给机器人。
7
3、RCX电源打开,并将RCX红外发射的地方(前面黑色部分)对准红外发射塔 的红外发射部分,如下图:
3、 下面我们点击“下载固件”按钮,将固件下载到机器人里面。 为什么需要下载固件?
就象我们使用计算机首先要装操作系统一样,固件也可以想象成是机器人大脑的操作系统。 有了它,机器人才可以识别翻译传达来的信息。 为什么刚才使用的纳英特不需要固件?
纳英特的固件实际上在出厂前已经固化在机器人的大脑里了,所以不需要再次安装。
(参考教案)第三课制作能行走的机器人 一、 教学目标:
1、知识目标:学习使用 ROBOLAB软件编制程序,会搭建具体的机器人 2、能力目标:通过实践培养学生的观察能力、动手能力、创造能力,具体要达到:
①、能够使用乐高编程软件;练习用电脑控制机器人,启动机器人; ②、学会简单的搭建技术
3、情感目标:培养学生对待知识的科学态度和辩证唯物主义观点。培养学生探索机器人的兴趣和科学精神。培养良好的生活习惯、与人的沟通与合作、对他人的尊重、面对困难的毅志力与自信心的树立及时间的合理分配和利用。 二、 教学重点、难点: 重点:编程软件的使用。 难点:编写程序的逻辑思想。
三、 教学方法: 以学生直接体验为主,并辅以教师启发、引导。 四、 教学准备: 乐高机器人套装、电脑、网络教室。 五、 教学过程:
1、 引入:通过前面的学习,我们已经知道了怎样跟机器人交流。今天,我们具体搭建一个机器人,让它按我们的要求工作。
8
2、新课:首先我们还是要再次熟悉一下今天我们要使用的翻译家“乐高编程软件”。
步骤一 介绍基本图标功能
从电脑桌面双击其快捷方式一)
,即可进入robolab 的编程主界面。(图
主界面上有三个菜单项:管理员、编程者级别和 研究者级别,以及三个
按钮:帮助、退出和说明。点击编程者级别菜单项进入其界面(图二),它的界面菜单分为导航者与发明家两大级别,每一级下有三个小项:水平、主题和程序。
一般编程分为三个步骤:
1、根据模型从功能板上选择所需的图标 2、在编程窗口里合理布置图标,并进行连线 3、 程序的下载
9
a、当功能和工具模块不在编程窗口显示时,可通过点击菜单栏里的Windows,分别选取show tools palette(显示工具面板)和show functions palette(显示功能面板)来使它们出现
b、工具模块中主要用到的几个说明: 1--操纵工具(operating tool): 2--定位工具(postioning tool):可选取、移动物件 3--标示工具(labeling tool):编辑注解或文字输入 4--连线工具(wiring tool):连接图示区内各结点 5--弹出工具(object popup) 6--滚动工具(scrolling tool) 7—断点工具(set/clear breakpoint) 8—探针工具(probe data) 9—颜色工具(get color) 10-着色工具(set color) 注:图标的选取一般选用定位工具;连线使用连线工具 c、 图标的抓取及连线说明: 把光标移到功能模块上,选取所需的图标点击一下,然后把鼠标移到适合的位置再点击一下鼠标,则完成了图标的抓取过程;把鼠标移到工具模块上,在连线图标点一下,便可进行连线。当把鼠标移到将要进行连线的图标上,图标会不停的闪烁并出现黄色的端口提示,在所要进行连线的端口点一下,然后移到另一端口再点下,即可完成连线过程,连线正确为一条粉红色的粗线,不正确为黑色的细虚线。 步骤二: 搭建一个任务机器人
现在我们以一个简单的例子来说明:目的:制作一辆直线竞速车,要跑得顺、跑得好, 车子不能一跑就散了。 1.我们用两个马达控制车轮
10
2. 左图中使用了一个L型的积木,它的作用是什么?
3、小车轱辘擦边如何解决?
11
4.想想图中各部分结构的作用? 步骤三、 演示图标对机器人的控制 下面我们给机器人编写一个往返跑的程序
注意观察两个程序有什么不同?
12
答:刚才我们说过连线正确为一条粉红色的粗线,不正确为黑色的细虚线。因此,只有第二个程序能够正确执行。
3、课堂体验:让他们从具体的搭建过程中感受力学知识;从控制马达的转动中体验电学知识;从电脑控制机器人运作 体验信息技术知识。并在动手做的过程中观察、体验、思考:我学会了什么?我怎样才能做得更好?这与我们的生活有什么联系?
六、 布置课后探索思考:
(1) 我们能为这个机器人设计更多、更好的动作吗? (2)今天学的机器人同我们自己家的电器有什么关系? (参考教案)第四课 让机器人送餐 一、 教学目标 1、知识目标:
①、了解马达的运转带动齿轮及机器的运转原理。 ②、知道通过马达控制机器人运动的基本原理。
2、能力目标:通过实践培养学生的观察能力、动手能力、创造能力,具体要达到:
①、通过编辑程序控制机器人前进、转向等动作。
②、学会按需组装简单机器人,例如:齿轮连接、马达的连接等; ③、观察机器人的运作原理,思考是否能改进,使它运作得更好一些。 3、情感目标:
①、培养良好的生活习惯、与人的沟通与合作、对他人的尊重、面对困难的毅志力与自信心的树立及时间的合理分配和利用。
②、培养学生对待知识的科学态度和辩证唯物主义观点。 ③、培养学生探索机器人的兴趣和科学精神。 二、教学重点、难点
重点:正确完成通过编辑程序控制机器人前进、后退、转向、上下移动等动作。
难点:
①、用电脑编辑控制程序,控制机器人完成任务规定动作; ②、按需组装好能完成规定任务的机器人;
13
③、控制好机器人完成任务的动作距离。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
纳英特机器人套装若干套,乐高机器人套装若干套,电脑,积木、导线等若干工具。
五、教学过程 教学教师活动 学生活动 环节 前两次课我们学习过“让机器人动起来”、“能行走的学生回顾旧知识,机器人”,现在我们来回忆一下机器人怎样前进的。 回答:三行代码分板书: 别是让0号马达按复习Motor 0,50 转速50正转;1号旧知Motor 1,50 马达按转速50正识 Sleep 2 转;两个马达转动问题一:请一位同学来说说上面这段代码是什么意思。 的时间为2秒。 问题二:如果是乐高机器人又是怎么样实现上面的功能。 情景演示:一个机器人按正方形的路径进行;一个机器学生观察、思考,导入人进行“送餐”表演。 激发学生兴趣 新任今天我们不光要让机器人前进,我们还要让它按照我们务 的设定的程序前进。 一、教纳英特机器人走正方形 要让纳英特机器人完成走正方形,实际上就是让机器人学生观察、分析机重复完成四次“前进→转弯”的动作。 器人是如何通过程我们先来看看,机器人是怎样实现“前进→转弯”的:序实现“转变”。 首先启动电机,让机器人以一定的速度向前一段路程, 再以左轮(或右轮)为中心转动90°,最后停止。这 样就走完了正方形的一个边。BASIC程序设计可参考教 材图4-1。 新 二、让乐高机器人去送餐 课 任务分析:机器人运动的同时,还需要有一只机械手托 起餐盘。另外,机器人必须准确地到达目的,并能准确学生分析总任务、地将餐盘放在餐桌上,后退回出发点时不可以将餐盘打解决策略,思考如翻。由于餐桌上的空位不在出发区的正前方,机器人必何在程序设计里实须做转弯运动。 现左右转、后退、解决策略:用两个马达驱动机器人的运动,一个马达控放餐盘等具体动作 制机械手,完成送餐任务。机器人行进路线和动作行为:前进——右转——前进——放餐盘——后退——左转——后退。用时间控制机器人前进、转弯、后退的距离。 指导第一个任务:让机器人走正方形 实验 这个任务由纳英特机器人机器人来完成,刚才我们讲了 动手正方形一个边的程序,想一想:要让机器人走正方形,同学们参考图4-2体验 该如何修改程序?如果要让机器人与运动员一样绕正进行程序设计与修
14
方形场地跑三圈,又该如何修改程序?参与程序如图改实现机器人跑正4-2所示。 方形三圈 用通讯下载线将机器人与计算机连接,打开下载运行开 关;单击编译下载按钮,编译下载程序,试运行,观察 机器人运动情况,修改程序。 第二个任务:让机器人送餐 要完成这个任务,首先要搭建可以实现送餐的机器人, 图4-5A是马达驱动机器人运动的参考搭建,这里采用 的是齿轮传动,主动轮24齿,从动轮40齿。完成这个 任务有两种方法。 方法1、时间控制法。 根据图4-6程序的乐高机器人送餐重点要解决几个关键动作:前进——右提示进行设计程转——前进——放餐盘——后退——左转——后退,这序,重点是反复调几个动作的控制距离还要通过同学们实践反复调试。 试,直到完成相应调试时机器人如果没能按你的要求动作,请仔细检查机任务为止。 器人的连线是否正确,如果马达的转动方向不是你希望 的,可以改变导线的连接方向。 方法2、角度传感器控制法。 根据图4-7程序的角度传感器的RCX和乐高轴的连接方式可以参考图提示进行设计程4-7。当马达工作时,带动乐高轴转动,套在轴上的角序,重点是反复调度传感器开始记数。同时,由于角度传感器与RCX的输试,直到完成相应入端口相连,计数器的值随时反馈给RCX,以便机器人任务为止。 做出判断和决策。 在程序设计时,要清楚角度传感器的计数器与它的初始位置有关。当初始化角度传感器时,它的计数值被设置为0,为确保数据的准确,角度传感器在重新计数前,最好对其清零。 这个程序也要完成前进——右转——前进——放餐盘——后退——左转——后退几个动作,程序基本和方法一相同,只是在控制机器人转动时使用的程序不一样。 让每个小组发表见解,大家参与评价、分享。 学生发表见解畅谈对实验成功的学生给予表扬,并鼓励改进实验的方法;实验过程中的感评价对实验失败的学生要帮助分析原因,重树他们的自信想。 激励,心; 成果不论成功还是失败,每个小组都会发现一些问题,以及分享 对这些问题的分析和议论,或是对实验有创意的想法和设计。 1、图4-6所示的程序中,机器人是怎样实现右转的? 布置请补充机器人送餐后,返回出发区的程序。 课后2、同样是指挥机器人前进和转弯,纳英特机器人和乐探索高机器人在编程思想和方式上,有哪些地方相同,哪些思考 地方不同?
15
3、对机器人来说,角度传感器是输入信息还是输出信息?它是怎样工作的?使用角度传感器控制机器人运动的距离与电池的电量有关吗?为什么? 课后 反思
(参考教案)第五课计算机程序与QBASIC语言
一、教学目标 1、知识目标:
①、了解计算机语言、计算机程序的基础知识。
②、了解BASIC语言的基本运用规则。
③、了解BASIC的函数和变量。
2、能力目标:
①、能准确运用QBASIC语句的格式 ②、能编辑简单的QBASIC程序。
3、情感目标:
①、培养良好的生活习惯、与人的沟通与合作、对他人的尊重、面对困
难的毅志力与自信心的树立及时间的合理分配和利用。
②、培养学生信息素养,培养学生的程序员基本道德操守。
③、培养学生编写程序的兴趣。
二、教学重点、难点
重点:
①、计算机语言的基础知识。 ②、编写简单QBASIC程序语句。
难点:
①、正确理解程序语言QABSIC的常量、变量与函数的定义与作用;
②、正确理解程序语言QBASIC的变量的数据类型;
③、如何编写QBASIC的循环语句。
三、教学方法
教师讲解、演示、启发;学生上机实践体验;教师个别辅导。
四、教学过程
第一板块 计算机程序与计算机语言介绍。
1、计算机程序
在上节课“教机器人走正方形”的任务中,我们知道,让机器人执行程序后就能完成“前进——转弯”的动作。如果让计算机执行图5-1所示的程序2,
它就能沿着正方形轨迹运动。
电脑每做的一次动作,一个步骤,都是按照以经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。把解决问题的方法、步骤,用计算机能听懂的语言,编成一条条指挥计算机动作的指令集,就叫做计算机程序,简称程序。如果由机器人的“大脑”执行一
段程序,它就能完成相应的任务。
2、计算机语言
16
计算机语言通常是一个能完整、准确和规则地表达人们的意图,并用以指
挥或控制计算机工作的“符号系统”。
①、机器语言 机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机
的操作功能。机器语言具有灵活、直接执行和速度快等特点。
机器语言编出的程序全是些0和1的指令代码,直观性差,还容易出错。现在,除了计算机生产厂家的专业人员外,绝大多数程序员已经不再去学习机器语言
了。
②、汇编语言 为了克服机器语言难读、难编、难记和易出错的缺点,人们就用与代码指令实际含义相近的英文缩写词、字母和数字等符号来取代指令代码(如用ADD表示运算符号“+”的机器代码),于是就产生了汇编语言。所以说,汇编语言是一种用助记符表示的仍然面向机器的计算机语言。汇编语言亦称
符号语言。汇编语言由 ③、高级语言
不论是机器语言还是汇编语言都是面向硬件的具体操作的,语言对机器的过分依赖,要求使用者必须对硬件结构及其工作原理都十分熟悉,这对非计算机专业人员是难以做到的,对于计算机的推广应用是不利的。计算机事业的发展,促使人们去寻求一些与人类自然语言相接近且能为计算机所接受的语意确定、规则明确、自然直观和通用易学的计算机语言。这种与自然语言相近并为计算机所接受和执行的计算机语言称高级语言。高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的
程序就可以通用。
随着计算机硬件的发展,近年来又出现了图形化编程语言,它具有直观
易学的特点。如ROBOLAB语言就是一种图形化编程语言。
我们必须清楚,计算机本身是不能直接识别高级语言的,必须将高级语言的程序翻译成计算机能识别的机器指令,计算机才能执行。这个翻译的工作是由“编译系统”软件来完成的。不同类型的计算机上使用的翻译软件也不尽相
同。
3、程序结构
程序结构 顺序程序结构 循环程序结构 分支程序结构等。 执行程序1,机器人先前进2秒,然后再左转0.6秒,最后停止。机器人从程序开始依次执行命令,直到程序结束,这样的程序结构叫顺序程序结构;而程序2,我们用了for i=1 to 4 step 1……next I语句,使机器人执行了四次“前进、左转”命令,这样的程序结构叫循环程序结构,以后我们还会学到条
件循环和无条件循环程序结构以及分支程序结构等。
17
第二板块 QBASIC语言简介。
所有计算机语言中,高级程序语言是适合人们学习的编程工具,高级语言有:C语言、BIASC语言、FOXBASE、JAVA等,在众多的高级语言中,QBASIC语言是比较适用青少年学生学习和使用的高级语言,它具有简单、适用、易学的
优点。是比尔•盖茨发明的。 1、QBASIC程序的组成
①、一个QBASIC程序由若干行组成,程序按照语句排列顺序执行。每一行称为一个语句行,一行中可以包含一个语句,也可以包含多个语句,若一行中包含多个语句,语句间应用“:” 分开。注意由于纳英特机器人的微电脑比我们使用的普通电脑处理能力差,在它的QBASIC子系统中规定,一行中只能有一
个语句。
②、每个语句都以一个语句定义符开始,如程序中的stop、dim for 等都是语句定义符。语句定义符用来标识语句的性质,告诉QBASIC执行什么样的功能,语句定义符后面一般还跟有语句体,表示语句执行的对象。如dim i as int
说明变量i是一个整数型变量
③、一个QBASIC程序一般以“END”语句结束。程序执行到“END”语句时即停止执行。一个程序中可以有多个“END”语句,在程序执行时遇到任何第一个“END”语句都会停止执行。如果程序中只有一个“END”,“END”语句应放在整个程序的最后。但在纳英特机器人QBASIC子系统中,没有END命令,我
们用STOP来停止机器人动作。
„一个程序可以只包括主程序,也可以包括一个主程序及若干个子程序或
函数。
2、 QBASIC常量、变量、函数介绍
板书:
整数:-32767到32767之间的整数;单精度浮点数:可以精确到小数点后7位;双精度浮点数:可以精确掉小数点后15位;字符串:是一个不超过32767
18
个字符的序列。
函数相当于数理化中的计算公式。在QBASIC中,开发人员把一些常用的算法编成一个个标准程序放在解释程序中,称为标准函数。我们编写程序时,只要按约定写出函数名及它的自变量就可以随时调用了。如图5-1程序中的motor,
sleep 就是函数名,而其后的数字则是自变量的值。如 motor 0,50 表示0号马达以50转速前进; motor 0,-50 表示0号马达以50转速反转;
sleep 2.0 表示延时2秒。
本节注意点:
①、 字符串需要用引号引起来 ②、 变量的数据类型必须在使用前定义
3、QBASIC语言的语句格式
QBASIC的基本语句一般格式为: 语句定义符 语句体
①、变量说明语句
格式:dim 变量名as 变量类型
举例:dim i as int
解释:定义变量i为一个整数型数字变量。
②、循环语句 格式:
FOR 循环变量=初始值 TO 终止值 [STEP 步长]
命令串 NEXT 循环变量
举例:
for i=1 to 4 step 1
motor 0,50 motor 1,50 sleep 2.0 motor 0,-50 motor 1,50 sleep 0.6 next i
解释:第一行程序表示给循环变量i赋初始值1,终止值是4,步长是1,这是循环的开头。第六行是循环体,指挥机器人前进2秒,左转0.6 秒。
③、结束语句 格式:stop 功能:终止程序执行 五、探索活动
请编依照本课实例,试着编写一段程序,让机器人实现走“8”字。
六、教学反思
(参考教案)第六课程序设计流程图
[教材分析]: 1.教材概况
本节课是人如何控制机器人进行工作、交流的一节基础课程;学习后便于学生理清思路、严密思考、分析问题,并以相应的框图来形象、直观的表示问
19
题,从而找到解决问题的算法,为程序设计做好关键的一步。
[教学目标]
知识与技能: 学会用流程图来分析问题。 过程与方法:通过分析、举例画出流程图。
通过动手练习,发现这样做会让问题更简单,思路更清晰,思考问题
更严密。
情感态度与价值观:通过本节学习让学生体会到这样做会把复杂问题简单化,学好、会用、爱用流程图来分析问题并解决问题;成功调试一个程序,从
而树立他们学习的信心,找到成功感。
2. 教学重难点
重点: 了解程序设计的一般步骤及流程图,学会用流程图来表示问题,
为其编好程式打下基础。
难点: 分析问题,正确的画出流程图写出程序并调试。
3.[学生分析]:
通过上几节的学习,学生巳经掌握和了解了机器人的相关知识,并对之产生浓厚的兴趣;学习本节后学生能更好的与ROBOT交流,控制它来完成一定
任务。
4.[教法与学法]:
1. 教法:例证分析 任务驱动 主题研究 2. 学法:观察,分析,模仿,任务驱动,评价
5.[课 时]:1节 [教学过程]: 一、引入课题(3分钟)
前面的课程中我们学习了如何搭建一个机器人,并有目的搭建了走正方形和送餐机器人,并了解和使用了用BASIC语言来编程控制我们的机器人,但我们都是直接拿来用的,今天我们就与同学们一起学习、分析如何进行程序设计,要经过哪些步骤、了解什么是算法?算法与流程图有什么关系?它的作用是什
么?如何画流程图,并根据流程图来进行程序设计。
二、程序设计的一般步骤(15分钟)
要为机器人设计一个好的程序,一般需要以下几个步骤:分析问题->设
计算法->画出框图->编写程序->调试程序,共5个步骤。
1.分析问题
首先明确机器人要干什么,有些什么已知条件,未知条件,最终要达到
什么目标,要完成这些还需要哪些条件。
2.设计算法
从已知的条件出发,到达目标需要经过一系列的处理过程,通常把这种
解决问题的方法步骤称为“算法”。
注,它不是数学中“计算方法”,而是解决问题的方法步骤。 如,前边我们讲到的让机器人走正方形的算法见书P32页倒数第四行开
始。
3.画出流程图
前边我们进行了算法设计,对于机器人走正方形的算法是相对来说很简单的,但一般情况我们面对的问题都是比较复杂的,故人们喜欢用一种框图来描述算法,这样让我们把解决问题的思路更加清晰、形象、直观地表现出来,为下
20
一步的程序编制打下基础。
现在我们就以机器人走正方形的算法来画出流程图:
师:
与学生一起分析机器人走正方形的算法,画一个正方形推导机器人运动过程,找出共同点,如前进->转弯要做同样的事4次才能形成一个正方形,分析
时看到书上的流程图6-1所示。
流程图中各框图的意思见书上图6-2
4. 编写程序
根据流程图我们可以用相应的指令、命令语句来编制出程序了。如前面
的走正形的程序为: FOR I=1 TO 4 STEP 1
MOTOR 0,50 MOTOR 1,50 SLEEP 2.0 MOTOR 0,-50 MOTOR 1,50 SLEEP 0.6 NEXT I STOP
任务1:现在分析并画出一个机器人原地转4个圆圈的流程图,并写出
程序。(仿照图6-1)[时间5分钟]
[小帖示:]此题在于只要任何一个轮子不动,另一个以一定的速度转动,
这样就形成了一个同心圆。
5.调试程序
前面我画好了流程图,编好了程序,是不是就大工告成了呢?不是这样的,还要将编制好程序下载到我们的机器人中去执行,对比与我们的目标是否一至,不对的就去修改程序,再下载,再调试了,可能个需要多次才能成功哦,大
家快去调试吧,享受其中的快乐吧。
三、应用举例:前方有障碍,STOP!!(20分钟)
完成此任务的步骤:
1.任务描述
机器人在前进的过程中,遇到障碍物,即停止,否则继续前进。
2.分析任务
机器人运动中最重要的是检测有无障碍物,无继续前进,这样一直下去直
到检测到障碍物机器人停止。 流程图(见P35图6-5)
要完成这个任务必需要一个检测设备,它就是红外线传感器。
3.红外线传感器
检测障碍物的纳英特的红外线传感器见书图6-3(实物出示),它检测
到障碍物灯亮,否则灯为不亮。
调节设置方法为:前边有一障碍物,若指示灯亮,则逆时针旋转直到不亮;相反,则顺时针调节传感器的调节钮,直到调亮;这样的距离为为其检测范
围。
(演示示例)如,10CM距离有手前后移动时,指示灯会在移近时产生一
21
个高电平灯亮,移开时会是低电平灯处于灭的状态。
[学生动手自己测一下]
4.[生]搭建一个两轮的机器人,用上红外线传感器,如书上图所示将传
感器连在第10输入端口上。
5.编程
因为要一直检测下去,只当传感器检测到障碍物下停下,所以要使用条
件循环,在BASIC中其语句和语法格式为:
WHILE 条件为真
语句组 WEND
所以,上面的任务的程序应如下: WHILE DIGITAL(10)=0
MOTOR 0,50 MOTOR 1,50
WEND STOP
表示10号端口的传感器没检测到障碍物时状态为0,反之为1;若一直
为0就一直前进,反之就停止。
6.调试
注意其值和传感器可检测范围的调整。 四、学生作品展示、评价(5分钟)
从活动组中抽取几个组的作品来展示,有成功的,有还存在问题的,引
导学生从下表内来点评,老师总结。
评 价 表
很好 一 般 作品完成任务 情 况 创造、创新情况 活动过程中的交流 情 况 好 一般 较 多 总结,第一本活动课重在前边的用流程图分析,并写出程序调试,要完成任务必需会用,用好红外线传感器;第二对于传感器的使用关键在于障碍物可视范围参数设置;第三本活动重在动手实践,从问题分析->搭建->编程->调试的动手做、做中学的思想中感受成功。
五、各组归纳整理设备(2分钟)
各组按分类盒的要求归纳整理好自己使用的设备,检查后离开。 [目标]行为习惯的养成,做事有条不紊,爱护设备。 六,教学反思 教学流程畅通吗? 学生参予度?
绘流程图的情况,编写程序,进行调试情况? 从学生作品评价后发现了些什么问题?
22
作者单位:四川省绵阳中学
(参考教案)第七课机器人的“感觉器官” [教材分析]: 1.教材概况
本节课主要介绍机器人的各种传感器,如,声音,红外,灰度,烟雾,触动,温度等等;它如同我们的感觉器官,要会灵活的使用它们,从而控制机器人工作。
[教学目标]
知识与技能:了解各种常用的传感器,并能够熟练使用红外、声音、灰度传感器,利用他们来检测声音的强弱,光值的变化,有无障碍物等。 过程与方法:实验例证,观察分析; 主学习、研究;
多实践,多动手,多总结。
情感态度与价值观:培养吃苦耐劳的钻研精神,动手通过实验得到第一手资料是很宝贵的。
应用所学知识来解决现实生活中的实际问题,培养信息素养。 2.教学重难点
重点: 声音传感器、灰度传感器等传感器的使用。
难点: 如何使用各种传感器,调试、并获取相关的参考值; 实现:机器人+传感器+程序=任务的完成。 [学生分析]:
学生巳对机器人有所了解,能分析问题,画出流程图,编出简单任务的程序。
[教法与学法]:
1.教法:实验举例 任务驱动
2.学法:观察,分析,取证,自主学习 [课时]:2课时
[教学设施]:机器人活动室,多媒体投影仪,乐高套件,纳英特套件及各种传感器
[教学过程]:
一 、播放影片剪辑片段,引入课题(5分钟)
播放影片剪辑片段《终结者2》及机器人视频《迎宾机器人》、《快乐接线员》,通过影片和视频片段,我们看到机器人具有我们人脑的一部分功能。机器人的核心是其电脑核心,光有电脑发号施令还不行,要让机器人处理相视频中的各种复杂的事务,对周围的环境能够很快做出反应,能够完成“至欢迎词”,“能过简单接听电话”等功能,是靠各种传感器来实现的,他们好像有我们人类的眼、耳、口、鼻、舌。 什么是传感器?
传感器是机器人的“感觉器官”,是一种电子元件或装置,能响应或感知被测量的物理量或化学量,并按一定规律转换成电信号,以供机器人核心识别。它就像人的眼睛、耳朵、鼻子一样,能够感应到周围环境的信息,并把这些信息传递给机器人的“大脑”。有了传感器,机器人就变得更加聪明了。 下图展示的是各种类型的传感器。
23
二、机器人的“嘴巴”和“耳朵”
1、机器人的“嘴巴”:它是一个峰鸣器,也叫扬声器,可以通过它发出声音,如音符、音乐等。
2、机器人的“耳朵”:它只能分辩声音的强、弱度,返回一个电信号,用相应的数值来表示,而现在此类传感器不能分辨具体的声音,也就是没办法进行高难度、复杂的语言智能识别。
声音传感器的原理:将其连接在机器人的模拟端口上,用它感觉外界声音的强度与给定的强度比较,超过时向主机发送“有声音”,反之“无声音”。 如图所示(纳英特声控传感器):
技术指标:
外形尺寸:30.5×15.0×14.5mm(长×宽×高) 重量:20g 额定电压:直流电源5.0V 线长:17.2cm±0.2cm 调节方式:多圈电阻式调节,顺时针方向旋转功率调强,逆时针方向旋转功率调弱
连接方式:单条3芯排线,2510型3脚插头 安装方式:单颗Ø3螺丝安装
返回值:有声音返回1,无声音返回0(相对) 指示方式:白灯发出绿光指示
使用方法:
使用单颗Ø3螺丝将声控传感器安装于要检测的环境之内,将其连接线接入任何空闭的数字传感器接口中。
声控传感器上配有信号指示灯,当有声音时指示灯会亮,还配有检测强度调节器。欲使声控传感器在给定的环境中有无声音时,可以使其先处于相对无声音的情况中,利用距离调节器可调出给定的初始声音强度。方法如下: a)如果指示灯不亮,将调节器顺时针方向旋转,旋转至指示灯刚刚不亮
24
为止; b)如果灯不亮,将调节器逆时针方向旋转,旋转至指示灯刚刚亮起为止; 此时,声控传感器的检测强度即为给定的强度。 实验一:测定声强相对值
(将学生按4个人一小组进行分组来完成本实验任务。) 运行下面的程序:(见书P38)
注意:WHILE 1 。。。 WEND 是一个无条件循环,始终为真,也称为死循环。
在LCD上会显示当前的声强值,如:ANALOG(4)= 100 其中返回值的范围为[0,255],声音越大,值越大,反之越小。 [师]:巡视,帮助学生测出相应声强的值; 注意事项:
1、环境内的声音值是个变量,要取得比较精确的环境声音值,可以在一段时间内连续取几次值,再求它们的平均数。这种办法适用于所有的模拟传感器。 2、检测指定环境声音时,注意不要受其它声源干扰。 三、机器人的“眼睛”
眼睛是人们心灵的窗户,人们80%的信息都是通过视觉获取的,所以是非常重要的器官。机器人的视觉传感器也一样非常重要,它主要通过红外传感器或光电传感器两种传感器来“看”东西,“辨别”颜色。
现目前主要的红外传感器、灰度传感器和光电传感器:
纳英特红外
传感器
25
原理和功能:
红外传感器(以下简称红外)。红外具有一对红外信号发射与接收二极管,发射管发射一定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物(反射面)时,红外信号反射回来被接收管接收,经过处理之后,通过数字传感器接口返回到机器人主机,机器人即可利用红外波的返回信号来识别周围环境的变化。
灰度传感器是模拟传感器,有一只发光二极管和一只光敏电阻,安装在同一面上。灰度传感器利用不同颜色的检测面对光的反射程度不同,光敏电阻对不同检测面返回的光其阻值也不同的原理进行颜色深浅检测。在有效的检测距离内,发光二极管发出白光,照射在检测面上,检测面反射部分光线,光敏电阻检测此光线的强度并将其转换为机器人可以识别的信号。 用途范围:
-通过检测光强变化计数人数 -通过测试反向光强来辨别颜色 -测量一个光源的光强
类型和供电要求:有源模拟传感器 典型应用和说明:
实例1:沿黑线机器人。
实例2:在交通模型中,控制路灯在晚上自动打开。 实例3:自动门。 实验二:
分别用不同的传感器来检测迷宫场地地面(黑色)和白线的灰度值。 方法一:将书上P40的图7-5程序编写好并下载到纳英特机器人内存中,检测其灰度值。
实验结论填写在书上。
方法二:不用编程将乐高光电直接在其输入端口1上面,打开电源按一下RCX上VIEW,将光电分别对白色物体和黑色物体上,观察其LCD上显示的数值。
26
乐高光电读取值的范围为(0~100)
实验结论(白色物体的读取到的灰度值应大于50,黑色物体的灰度值应小于50)。
注意:各品牌的传感器只能用于本品牌的电脑核心上,不能相互混用。 四、机器人的“鼻子”
人们用鼻子来分辨气味,机器人的“鼻子”是用气体分析仪做成的,当遇到某类气体其电阻会发生变化,这样电路上反应出来,机器人接受到后,从而实现如报警等处理方式。现在我们就来了解一下机器人的“鼻子”吧。 原理和功能:
检测环境是否有烟雾和烟雾的浓度,例如检测起火时的浓烟。烟雾探头碰到烟雾或某些特定的气体,烟雾探头内部阻值发生变化,产生一个模拟值,从而对其进行控制。烟雾传感器利用烟雾敏感电阻受烟雾(主要是可燃颗粒)浓度影响阻值变化的原理向机器人主机发送烟雾浓度相应的模拟信号。
纳英特的烟雾传感器
烟雾传感器是模拟传感器,接在主板(A2-A6)模拟口跟扩展板的
(A16-A31)模拟口。使用前先预热1—5分钟(开机1-5分钟后使用)。在无烟的房间内,烟雾传感器测试的返回值大概在75左右。例如:你可以点支香烟,距离烟雾50公分左右时,烟雾传感器测试的返回值在110左右,浓烟时,烟雾传感器测试的返回值在180左右。 编程应用示例: While 1
Print “Bottom=%d”,analog(4) //烟雾传感器接在模拟口4
上
Sleep 0.5 WEND
运行程序,观察液晶屏显示可知:烟雾浓度越高,返回值越大;烟雾浓度越低,返回值越小。 注意事项:
1、环境内的烟雾浓度值是个变量,要取得比较精确的环境烟雾值,可以在一段时间内连续取几次值,再求它们的平均数。这种办法适用于所有的模拟传感器。
2、检测指定环境烟雾时,注意不要受其他烟雾源的干扰。
3、烟雾探头上装有滤烟网,注意在使用时不要堵塞滤烟网,否则会影响检测效果。
27
4、可以点支香烟,测试烟雾传感器的效果。
[实验]:本实验由老师完成,学生只观看其结果,实验中注意防火。 五、机器人的“触觉”
人们用通过身体部分的触觉器官如触碰、温度、温度来感知外界,作出反应。而机器人的触觉传感器仍然是都过相应的触敏元件来反馈接触信号,从而主机处理接受到信号。
使用方法与技巧见网上资源:
http://www.semia.com/new/robot/RCX/99xx.asp RCX传感器介绍篇。
使用方法与技巧见网上资源:
http://www.robotedu.com/Html/kzhfj/133452626.html http://www.robotedu.com/Html/kzhfj/160551151.html 实验三:用乐高机器人做一个碰墙返回的机器人。
步骤1,用乐高设备搭一个机器人,最前面安一个触碰传感器。 2,在ROBLAB中编写如下的程序,并下载到乐高RCX的中。
程序表示:A、B马达一直前进,当1号端口的触动传感器碰到墙后马上
28
退回来。
自主学习、探究:自主探究其余的几个传感器。 六、机器人的电源
机器人的电源是其动力的核心,没有一个稳定的供电系统,你的机器人就无法很好运转,它是一切的有本之源。
现目前的所有教育机器人一般都使用直流的9V~12V供电,可采用锂电池、碱性电池、可充电的镍氢电池和相应的交流变压器。
建议大家平时训练和实验时都使用可充电电池,这样一次性投入可以得到一个经济实惠、稳定的电源。 七、练 习:
1.将已经认识的几种传感器,填写在下表中。 传感器名称 作 用 外形描述 2.探索活动
设计一个声控机器人,无声音时原地不动,“听”到声音时立即向前运动。
八、后记 作者单位:绵阳中学
(参考教案)第八课机器人走迷宫 [教材分析]: 1.教材概况
机器人走迷宫是本节课在经过几节实验课后,在掌握了相关知识后的一项大的、传统的,并具有一定任务难度的活动课;它要求我们的同学能够综合前面的所学,加上自己的创造、创新,去分析、解释任务;搭建机器人;写出详细的流程图,并选择一种编程语言如BASIC来描述我们的算法,并通过机器人来检验其正确性,通过反复调试最终完成项目任务。 [教学目标]
知识与技能:学会任务分析,找出其特点;
综合运用红外传感器和相关机器人的知识来完成任务;
用BASIC语言来编制程序,完成任务。
情感态度与价值观: 培养团队、合作、交流精神;形成脑力、智力资源共享;不经历风雨,怎么会见彩虹。 2.教学重难点
重点: 任务分析找准走迷宫的左手法则、或右手法则;搭建机器人;画流程图;编程;调试。
难点:迷宫定则的找出,画流程图,编程、下载、调试。 [学生分析]:
学生有一定的相关知识,但本节难度比较大,要多引导,多鼓励。 [教法与学法]:
问题分解模块化,组内合作、交流、分工;
29
[教学过程]:
走迷宫是一项比较有趣的活动,是国际上最流行的赛事之一,可以考验每个人的记忆力、判断力、分析问题等方面的能力。如图8-1所示是一个迷宫场地,要求机器人从起如区出发,寻找一个最佳路径,走完1,2,3,4号房间后回到起始区。具体参数如书P44页所述。 一、任务分析及算法: 让机器人沿迷宫的墙壁的某一侧行走可以使机器人走遍迷宫几个房间,这是走迷宫的一般方法,我们称沿左侧行走的方法为左手法则,称沿右侧行走的方法为右手法则。 假设按左手法则行走,机器人可以在左边安一个红外传感器来检测左边的墙壁,以确定前进的方向,一只红外传感器伸向前方,避免在前进的过程中撞到前方拐弯处的墙上。根据两只传感器获得的光电信息可以做出以下四种判断:
1.当左边检测到墙壁障碍物时,向前方走,如图1所示。
2.当左边和伸向前方的传感器都探测到墙壁障碍物时右转90度,如图2。
3.当左边探测不到墙壁时,左转90度,如图3。
二、搭建机器人 根据分析搭建一个机器人,因实践发现,由于前方的传感器视觉太小,机器人容易卡死,为了增加机器人视角,在其左前角45度处再安装一个红红传感器,配合正前方传感器的工作,这样卡死现象有所改善。 搭建如图所示的机器人:(要求机器人要装饰,并给它取名) 教师指导其搭建
三、画流程图
利用左手法则让机器人走迷宫,流程图可参考图8-4。 教师一步的分析。 四、BASIC的两个语句
1,WHILE 条件循环语句
格式:WHILE 条件表达式 <循环体语句组> WEND
30
功能:当条件满足时,即为真时,执行循环体中语句组。条件表达式得到的是一个布尔值,当返回值为真时,其值在QB中可为“-1”或“1”,为假时为“0”。
例,WHILE DIGITAL(2)>50
MOTOR( 0,50) MOTOR (1,50) WEND
表示2号红外传感器的值当大于50时,马达0,1按50的速度前进,直到2号传感器的值小于50。 2,IF条件语句
格式: IF 条件表达式 THEN
语句组1
THEN 语句组2
ENDIF
功能:如果条件表达式成立为真时,则执行语句组1后执行ENDIF后面的语句;反之,执行语句组2后执ENDIF后的语句。
例如, IF DIGITAL(2)<50 THEN
MOTOR (0,60)
MOTOR (1,-60)
ELSE STOP ENDIF
当红外传感器的值小于50时,机器人向右转,反之大于50时就停止。 3,QB的关系运算与逻辑运算符 关系运算又称比较运算,如,两个是否相等,若为真那么就成立得到逻辑值为“1”,为假返回值为“0”; 逻辑运算又称布尔运算,返回值真为“1”,假为“0”。 这两种运算详细见书P48,P49
五、编制走迷宫的程序 [教师示范] 1,程序见书p47 图8-6所示
2,保存。 保存为BASIC源程序扩展名为.BAS或编译为扩展名为.IC文件,可以作为仿真运行的程序。
六、下载、运行、调试 要求:将同学按每3人一个小组,确定一个小组长,进行合作、交流、共享资源,最终调试成功,走完迷宫,完成任务。 注:教师辅导进行调试。 按要求在场地上调试--修改,并记录下你调试的每一步的详细资料和改进地方:
调试: (1)首先检验机器人能否避开前方、左边的障碍。 (2)调试左、右转弯的参数,并在场地里测试,看是否符合要求。 (3)调
31
试程序,记录运行结果 调试运行次数 第一次 第二次 第三次 第N次 成功与否(打勾) 是/否 是/否 是/否 是/否 是/否 改进的地方
七、我行,我SHOW
(小组作品展示,评价延伸)小组推荐一名同学自我描述其作品,主要从做的好、创新、创造、小组的合作、交流、完成任务情况等方面来述说,其它
组的同学发表其看法。参考内容见下表:
作品展示、评价方案 作品完成任务 情 况 创造、创新情况 活动中的合作、交流 情 况
作者单位:绵阳中学
很好 一 般 好 一般 较 多 第9课 《在仿真环境中走迷宫》 教案
绵阳中学 苏远龙 [教材分析]: 教材概况
仿真系统以优化机器人硬件和软件设计、缩短研发周期、节约成本为特色,解决机器人设计过程中的不足。本节是全新的一节,主要以纳英特的仿真系统来介绍,通过其NSTRSS软件的介绍,掌握如何搭建场地,如何在仿真状态下设计一个机器人,在仿真环境下测试机器人三个大部分。 [教学目标]
知识与技能: 认识仿真下的虚拟机器人;
能用NSTRSS设计场地、构建机器人并利用仿真环境进行组队测试。 情感态度与价值观:自由无限,创意无限,只有想不到,没有做不到。 教学重难点
重点:用NSTRSS仿真系统设计迷宫场地;搭建走迷宫的机器人;利用仿真环境进行组队
32
测试。
难点: 设计场地;搭建机器人。 [学生分析]:
通过上节学习我们了解了传感器,并使用它们进行走迷宫的实践练习,对走迷宫的机器人从设计到算法分析、程序设计都有一个了解,那么如何更加高效的设计我们自己的机器人并调试出来,我们可以使用虚拟仿真软件来完成任务,有了本节内容他们会更加有兴趣投入到机器人的创新、创造活动中来 。 [教法与学法]:
教法:示例讲解 任务驱动 辅导答疑 学法:仔细观察,多动手实践,讨论交流 [教学设施]
多媒体网络教室,NSTRSS仿真系统,仿真专题论坛系统 [教学过程]: 引入
在前面的课程中我们学习了有关机器人相关知识,并自己去动手设计、搭建、调试了相关任务的机器人。今天我来学习虚拟机器人,进入仿真系统的走迷宫机器的仿真演示。 一 、关于仿真系统
什么是仿真系统?仿真系统是机器人的设计、实现,完全在虚拟的环境中,以虚拟的形式出现,它以优化机器人硬件和软件设计、缩短研发周期、节约成本为特色,解决机器人设计过程中的不足。 二,初识NSTRSS软件
NSTRSS是NST科技新近推出的一款以.NET平台为基础,使用Microsoft DirectX9.0技术的3D机器人仿真软件。用户通过构建虚拟机器人、虚拟环境,编写虚拟机器人的驱动程序,模拟现实情况下机器人在特定环境中的运行情况。 NSTRSS与市面上的同类产品相比,它具有如下的特点:
全3D场景。用户可自由控制视角的位置,角度,甚至以第一人称方式进行场景漫游。 逼真的仿真效果。采用虚拟现实技术,高度接近实际环境下的机器人运动状态,大大简化实
33
际机器人调试过程。 器人参数,帮助用户快速
实时运行调试。运行时,依据实际运行情况,调整机实现理想中的效果。
34
自由灵活的机器人搭建与器人搭建,可自行编辑3D
场地搭建。用户可自由选择机器人及其配件,进行机训练比赛场地,所想即所得。
35
单人或多人的对抗过程。与NSTRobot无缝连接。
用户可添加多个机器人,自由组队进行队伍间对抗。 NSTRobot生成的控制程序代码可有NSTRSS直接调
36
用,大大节省编程时间。 意无限。
NSTRSS带您进入全新的3D仿真世界,自由无限,创
37
7,系统配置要求
操作系统:win98,win2000全系列,winXp,win2003 server
运行环境:.Net Framework v1.1,DirectX 9.0c 最低硬件配置:
600MHz以上主频的CPU,128M内存,8M显存以上的3D显卡.支持1024×768分辨
率,16bit颜色的监视器,声卡。
推荐配置:
1G以上主频的CPU,256M内存,64M显存的3D显卡,支持1024×768分辨率,16bit颜色,
75Hz刷新率的监视器,声卡。
3,打开C:\\PROGRAMFILE\\NSTRSS\\NSTRSS.EXE 启动系统。其C:\\PROGRAMFILE\\NSTRSS\\下MAP目录存放场地背景图,而ROBOT目录下存放仿真机器人。
4,先睹为快。进入仿真系统,选择“快速启动”运行“机器人走迷宫”,感受一下三维立体空间中的机器人仿真运动。如下图所示:
三、搭建仿真场地
38
任务要求:画场地底图;导入场地图到仿真系统中;搭建场地实物 画场地底图
底图是搭建场地的依据,比赛中一般对场地的大小、颜色等均作一定要求,一定要按要求的大小(实际尺寸)作图。如一个2.5M*1.5M的场地,文件的尺寸应为250*150像素。
实例画一个迷宫底图,并保存到MAP文件夹里,文件格式为JPG,文件名为“我设计的迷宫图地图”。 (师)实例化: 3,导入场地图(师演示)
步骤:1,打开仿真系统的主菜单的“场地编辑”进入场地搭建窗口。 2,在表示场地的“绿地”上单击右键,选择“设置属性”,这时窗口的左边会弹出场地属性设置对话框;
3,在“场地纹理”中选择巳保存的场地图文件,如“我设计的迷宫图地图”; 4,按住左键移动,改变视角,和观察视角,其效果图如图9-6所示; 5,确定。 4,场地实例搭建
搭建场地的墙壁,墙壁由“方体”代替。 方法步骤:
1,在“现有部件类型列表”中选择“方体”,此时屏幕左上角有一个“方体”预览;
2,单击“添加部件”,方体被加在场地中; 3,右键选取“方体”,选择“设置属性”; 4,设置其颜色、重量、长、宽、高和位置。
注意:可以采用复制、粘贴加快搭建。部件的位置和方向不能用鼠标拖动,只能用属性设置面板中箭头按钮移动位置,用“@”旋转方向。其旁边的移动倍数,
39
如*10,*5等可调整其移动速度。 5,动手做一做(学生活动)
将场地底图发到每一个机器的MAP目录下,要求学生搭建其它墙壁并安放圆柱形的家具。 教师辅导、答疑。 四、搭建机器人
该模块利用系统提供的各种机器人配件完成机器人从零件到整机的搭建。系统采用装配点的思想,快速、准确的实现配件的装配过程。
机器人搭建环境:
在主菜单中选择“机器人搭建”,进入搭建窗口。 窗口右边的搭建面板介绍:
:选择要搭建的机器人类型:选择新建,则从机器人最原始状态开始搭建;
选择其他项目,则对已搭建完成的机器人进行编辑;巳完成的机器人有祼机、走黑线机器人、
40
迷宫机器人、灭火机器人、指南针机器人。
:选择需要搭建的部件种类,用以快速查
找部件。主要类型有:传感器,轮子,马达。
:当前机器人组件类型所包含的具体配
件。
41
:用右
键选中击可从部件的个
参
3D中的部件,点参数设置从设置位置、方向等各数。
:选中现有部件类型列表中的部件,点击
可添加
此部件到“工作桌面”。
:用右键选中3D中的部件,点击可删除此部件。
[演示:] 安装马达和轮子 步骤方法: 初始化机器人;
选择“新建”,右键选中“机器人主机”,这时机器人主机被一个白色的立体框框住,表明处于选中状态;
参数设置,选中机器人进行三维空间的调整,以X,Y,Z三个方向的坐标来调整; 前后左右位置的调整:选择如“XZ平面(俯视)”,用前、后、左、右四个按钮来分别进行调整;
上下位置的调整:坐标平选择“XY平面(正视)”,以上、下按钮来调整; 旋转时,点击“@”来旋转,分别绕“X,Y,Z轴”旋转。 安装马达
通过“添加部件”按钮将选中的配件添加到屏幕(即“工作桌面”)后,鼠标左键选择当前添加的配件的装配点,再选择装配目的装配点,即可完成操作,具体下所示:
选择当前添加的配件,如:Z马达,按下鼠标左键拖动,翻转目标,选取其中一个合适的装配点。
按下鼠标左键拖动,翻转目标,选择一个合适的停靠点,如下图所示:
即可完成装配。装配结果如下图:
42
安装角度的旋转:选中旋转目标配件,右键打开“属性设置”,通过按钮,即可实现
配件的旋转,注意:一旦配件已被安装,则只能以装配点为旋转中心进行角度的调整。如下图:
拆卸零配件:选中拆卸目标,右键打开“属性设置“,通过“上”、“下”、“左”、“右”按钮可进行拆卸操作。
设置马达“端口号”参数,左马达的端口号为0,右马达的端口号为1; 点确定。
动手做一做[安上万向轮] (学生活动) 同学们自己动手做一下,给机器人安上万向轮。 教师指导。
注意,装配点的选择,让机器人平衡。
4,动手做一做[安装传感器] (学生活动)
分别在机器人的前方、左前方45度处和左侧为机器人安装红外传感器。将其端口分别设为9、10、11。 方法:
选择传感器类组件中的“红外避障传感器”,单击“添加部件”; 调整其位置到机器人的正前方; 右键选择它,单击“参数设置”; 设定其端口号为9;
拖动“感应区夹角”和“半径”的滑块,设置其探测范围,这时设定为30。也可根据实际情况,调整其范围; 单击“确定”;
同上,安装第二、第三两个红外传感器,设定好后点“完成”,以“我的迷宫机器人”为名保存。
五、在仿真环境中测试机器人
单击主菜单的“进入仿真”,在这里进行:机器人组队设置;机器人与场地的
43
合成;仿真运行; 组队设
44
置 就是对仿真比赛的
45
规则、场地、分组情况以
46
及机器人和其控制程
47
序进行设置。 如下图所
48
示:
其中左侧面板为
49
设置面板,右边面板为内容预览面板。 规则选择:选择比赛规则,如要编辑规则,可使用规则编辑器。 场地选择:选择与项目相适
应的比赛场地。
分 组:选择比赛队伍名称,将各个队伍加以区别。
名 称:编辑机器人名称,作为仿真中的机器人代号,接受中英文、数字。 程序代码:选择程序,作为机器人的控制程序,这里选走迷宫。
该列表内包含“浏览…”,“新建”两个固定项目,其中“浏览…”可打开应用程序安装目录以外的用户程序,执行完该操作,该文件则被被加入到当前程序列表中。“新建”则调用程序编辑器,新建一个机器人控制程序。
机 器 人:选择已搭建完成的机器人“我的迷宫机器人”。 加 载:打开保存的历史仿真项目。
下 一 步:设置完成,进入下一步(机器人场地合成),如果有信息未设置完成,将无法进入下一步,并且会有相应的提示。
机器人场地合成
该步骤完成机器人在场地中的初始位置设定,并且可以保存当前的仿真项目,供以后快速启动之用。进入该界面以后,窗口的左上角将会列出当前所有可用的机器人,点击机器人之后,按照提示,单击鼠标左键确定机器人在场地中的放置位置。图示如下:
(注:如果场地中已经包含了起始点,则系统将自动设置机器人到起始点位置。)
50
返 回:返回到上一步(机器人组队设置) 保 存:保存当前仿真项目,供快速启动使用。 进入仿真:进入仿真运行界面。
仿真运行 [教师示范]
机器人按照预定的设置,在控制程序的控制下完成预定的功能,系统将依据场地、机器人的搭建情况等因素进行较为真实的过程模拟。图示如下:
各控制按钮的说明
加载控制程序:在机器人选中的情况下,可变更当前的控制程序。注:如果机器人正在运行中,系统将会有提示用户首先暂停机器人的运行。
开始:默认情况下,当前场景中所有的机器人将开始运行。如果某个机器人被选中,则
只会运行选中的机器人,而其他的继续处于停止状态。同时,计时器开始计时。
停止:默认情况下,当前场景中所有的机器人将停止运行。如果某个机器人被选中,则
只会停止选中的机器人,而其他的继续处于运行状态。同时,计时器停止计时。
复位:默认情况下,当前场景中所有的机器人的位置,程序等将被重置回初始状态。如
果某个机器人被选中,则只会复位选中的机器人,而其他的继续处于运行状态。此时,计时器处于停止状态。
俯视:从顶部向下观察整个场景。 正视:从场景正前方观察整个场景。 侧视:从场景的正左方观察整个场景。
选择机器人或其零部件或者场地时,将显示选中物的状态,示例如右图:
代码显示:显示当前选中机器人的控制代码以及当前执行的具体语句。机器人停止运行的状态下,双击代码显示列表可打开程序编辑器。
显示部件本地坐标系:控制各个物体(部件)本地坐标系是否显示。
(注:所谓的本地坐标系是以各物体(部件)的中心点为坐标原点的坐标系统。) 返回主菜单:返回到系统主菜单。
51
保存项目文件
将设计的项目保存起来,以便“快速启动”中观看运行状况。如图9-18所示。 六、探索活动(学生活动)
每一个同学按步骤完成仿真走迷宫机器人。教师辅导、答疑。 七、我形我秀(学生活动) 秀出自己的仿真迷宫机器人。 八、后记
第10课 《轨迹机器人》 教案
绵阳中学 苏远龙 [教材分析]: 教材概况
本节课是知识缧旋性上升中的综合性知识的一部分,在前的几节课中我们学习了关于机器人主机、传感器,并用实验完成了机器人走迷宫的项目任务,在此基础为了加快学习步伐我们介绍了在仿真环境中如何构建一个机器人来完成我们自设的任务,有了这些知识,我们巳对机器人的相关知识有了深入的了解和掌握,在此基础上我们学习本节的沿着某一特定路线运动的轨迹机器人,让我们的知识进一步深化;在学生的创造、创新、综合素质方面可以进一步的体现。 [教学目标]
知识与技能: 学习乐高的光电传感器;
搭建一个轨迹机器人,在图形编程方式下完成走轨迹; 学习图形编程语言(ROBLAB)的条件分支、循环、容量的使用; 过程与方法:举例拓展视野,情景导入;
作品分析,主题研究,巩固知识,提高应用所学知识解决实际问题的能力 自主探究,并发现问题;总结方法,解答疑问。
树立模范,利用活动组,形成比干追,对表现突出的给予一定的奖励。 情感态度与价值观:人人争做优秀 教学重难点
52
重任务的机
器
点: 乐高光电传感器的使用;轨迹分析、流程图、编程,搭建一个轨迹人;ROBOLAB编程工具的补充介绍,其中的条件分支、容器、循环的使用。
并介绍
难点: 写流程图,编走轨迹程序;分支、循环、容器的使用。 [学生分析]:
学生对此课非常感兴趣,但课堂中合作要加强,课后设备的整理、规范应形成习惯 。 [教学过程]: 一、关于轨迹机器人
通常我们把沿着一定路线运动的机器人,叫做轨迹机器人。
近年国际、国内各地组织的各级青少年机器人竞赛活动中,每一次竞赛活动轨迹机器人的活动项目是最多的。如,机器人滑雪,沿固定路线运动,机器人穿越障碍,机器人灭火……等项目。
轨迹机器人的共性是:它是搭建、控制机器人沿着一定路线运动,识别场地中特定颜色标识,利用机械结构、应用传感器、编程控制的一项基础又具挑战性的机器人研究活动。 现在请大家观看一些关于机器走轨迹的视频:
机器人营救,机器人灭火,单光感走黑线,小学滑雪,城市交通,打保龄球……
示例图示1:
[目标]通过视频让学生对轨迹机器有一个了解,为下面教学起到引领作用。 二、乐高机器人的光电传感器
通过上面的视频和学习,我们了解到了什么是轨迹机器人,轨迹机器人是挑战性很强的研究活动,各种活动都少不了用到一种让机器人来识别场地,辨识颜色标识的光电传感器,现在我就以乐高的光电传感器来给大家介绍一下。
在前边的课程中我了解到光电传感器传感器相当于机器人的眼睛,那么再来学习一下光电传感器的知识:
53
乐高光电传感器 功能:发红光 接收光 器机器人的眼睛,它是主要无件是一个发光二 两个灯,工作时,一个灯发红光,一个灯不发反射回来的光线。在将其接在RCX的输入端开电源按下VIEW按钮,可以在RCX的LCD
54
原理和
光电传感极管,有光只接收口上,打上读出当
前的值,如书上图10-2
所
示,其值范围为(0~100)
,光线越亮,值越大,反之越小。 动手小实验:
1,把光电传感器接RCX的输入端口1,打开RCX,按下VIEW按钮,读出其LCD上的值。 2,同一,用光电测出不同颜色的光值:
黑色反光值:(<41),白色反光值:>50,蓝色反光值应:(40 , 43),红色反光值与白色接近,因其反光值是一样的。 三、单光感走黑线 1,任务描述
搭建一个单光感机器人,沿着一个封闭的黑色轨迹线运动,线宽2CM。 2,算法分析,画出流程图
当光电位于黑线上,C马达停,A马达前进,车右转直到光电检测到白色,即脱离黑线;当光电位于白色区,A马达停,C马达前进,直到光电检测到黑色,如此重复利用一个光电传感器走S型黑线。
具体流程图见书P10-4所示。
(重要的是教师演示,学生自己推导一次) 3,搭建机器人 如右图所示: 测出黑线的光值为40
4,根据分析在ROBLAB中写出单光感走黑线的程序,如下图:
提示:先介绍ROBLAB及其编程环境,了解图形编程的方便、快捷、直观、高效。
55
程序注释:
1, 光感条件分支语句:根据与给定的光感值条件比较
大小,由比较出的不同结果作出相应的动作,如马达转或停。默认的是1号输
入端口(没有指明端口时)。 2,分支合并3,着陆图标:
,凡是用到分支语句都需要用合并图标,否则就要出错。 ,跳转图标:
;它们表示无条件循环,根据不同条件从跳转地跳
回到着陆区后又开始执行,它们必须是同一颜色的跳转,可以从不同地方返回到唯一的开始区(着陆图标的位置)。
补充:ROBLAB提供5种颜色的跳转,当要使用多出5种时,使用白色着陆和跳转图标,下面用相应的常数数值表示,如图所示,但一定要用同序号跳转图标。 5,下载、调试机器人
每一组同学下载程序到RCX中进行调试,看一看有什么问题?能否走黑线?成功率高吗?
6,程序的优化
通过调试我们发现当前测的光感值40时能够大多完成任务,但随着时间和地点不一样,光值为发生变化,这样就不能走黑线了;那么我们有没有解决的办法,让机器人自己自动取得光值呢?
要想解决这个问题,我们必须引入一个容器概念,如下面几个图所示介绍一下容器的使用: 表示读出1号输入端口上的光电值,并把它赋值到红色容器中,相对于给变量赋值。 表示给红色容器的值加上4后再赋给红色容器。
表示光感分支图标的1端口的值与红红容器的值做比较,根据比较不同做出相应的动作。 有了以上的知识新那么现在我们就来优化我们的程序吧。
程序见书上P69图10-7所示,下载并重新调试,观察成功率是否高了。 四、用双光感走轨迹 1,问题展现,引出新课
通过前面的实验和学习我们了解到单光感走一个闭合(没有交叉点)环路是非常成功的,现在我们在如书图10-10所示的轨迹线运行,起点可以任地方,看能否成功?实验3次。
56
N 通过大家动手做,我们请几个组来介绍一下他们组的情况。我们发现几个组都有同样的问题,N 程序开始 Y Y Y 单走黑线没有交叉点时很成功,但一遇到交叉点和拐弯时,机器人就不知道走哪边了,机器循环开始 人就乱走了,3次成功走完一次的都没有,请问是前面的程序不对吗?不是。是环境光影响吗?不是,可以走黑线。那是不是我们的机器人结构有问题呢,我们用什么方法来解决呢? 1号光电>红3号光电>红(同学讨论,提出看法、想法) 色容器值? 色容器值? 2,解决问题的办法 通过大家讨论和实践,我们需要重新分析任务、要求,改进不足。 3号光电>红A停,C前进 A,C前进 我们发现此任务中心仍是走黑线,只是有转弯和交叉点,这就是问题的所在。要解决它色容器值? A前进,C停 们,我们需要把光感位置改在车头的两边,用两只光电来判断黑线,也称为骑黑线法,方法是: A,C前进 两个光电分别位于黑线两侧,当1,3号光电在白区或黑线上时,机器人前进;当1号光电循环结束 在白色区,3号在黑线上,机器人右转;当1号在黑线上,3号在白区,左转;机器人的动 作与光电的位置关系如图10-12所示: 程序结束 流程图为:
N
2,编程。程序如图10-13所示: 3,下载调试程序。
4,比一比,看谁的机器人又快又好。 组别 情况 快 稳定 创造、创新 1. 五、探索活动 扩展用3光感走黑线
57
总结双光感仍然存在稳定性问题,没办法走太多方格格子的场地
(参考教案)第11课 可监控事件的机器人
龙泉中学 张应国 一、 教学目标 1、知识目标:
①、了解事件监控的意义。
②、知道RCX对事件的监控原理。
③、掌握制作三光感事件监控的轨迹机器人的方法。 2、能力目标:
①、机器人直线前进、左右转向等动作的策略分析。 ②、学会编写三光感轨迹机器人程序流程图。 ③、用事件控制算法为机器人编写程序。 3、情感目标:
①、培养学生的观察能力、动手能力、创造能力,养成良好的思维习惯。 ②、培养学生对待知识的科学态度和辩证唯物主义观点。 ③、培养学生探索机器人的兴趣和科学精神。 二、教学重点、难点
重点:三光感走轨迹策略分析。 难点:
①、编写三光感轨迹机器人程序流程图;
②、通过流程图用事件控制算法为机器人编写程序;
③、下载程序到你的机器人内存中,进行实际轨迹场地调试。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
乐高机器人套装、电脑、网络教室,机器人调试场地或模拟平台环境。 五、教学过程
1、 引入:通过上一节课的学习,我们知道机器人走轨迹的算法是条件判断。采用这种算法,机器人走轨迹的任务中无法克服“过冲”,除非牺牲速度。通过实践我们发现,用事件控制可以有效地减少“过冲”现象。
2、新课:这节课我们就来学习用事件控制算法为机器人编写程序。 步骤一 知道什么是事件控制
电脑(机器人的大脑)与人脑一样,每时每刻都能对各种事件进行监控并作出相应的响应。例如,点击鼠标、敲击键盘、时钟等等,再比如病毒适时防预系统,Windows操作系统的责任就是处理各种事件。事件驱动是计算机操作系统实现多任务的关键。
步骤二: RCX对事件的监控
RCX一共可以同时监控16个事件。在监控一个事件之前,必须先定义事件。ROBOLAB系统为我们提供了一些常见的标准事件。标准事件的基本格式是:
58
如
图11-1 标准事件的格式
表示:定义当1号端口的光电传感器的值小于等于48时触发红色事件。
事件定义完成之后,就可以开始监控指定事件,并设置事件被触发的着陆点以及是否需要结束监控事件,它们的图标如图11-2所示。
开始监控红色事件和蓝色事件 事件着陆点 停止监控所有事件 图 11-2 事件监控事件图标
步骤三:制作三光感事件监控的轨迹机器人 1)、策略分析
机器人的搭建如图11-3所示:
图11-3三光感轨迹机器人
如图图 11-4当所示:2号光感位于黑线上,1号、3号光感分居黑线两侧,机器人直线前进;当3号光感检测到黑线,机器人右转,右转角度由2号光电控制,当2号光感碰到黑线,即停止转动;当1号光感检测到黑线,机器人左转,左转角度由2号光电控制,当2号光感碰到黑线,即停止转动;当三个光感同时检测到黑线,机器人直线前进。
图 11-4 三光感走轨迹策略分析
2)编写三光感轨迹机器人程序流程图
59
图 11-5 三光感轨迹机器人程序流程图 3)用事件控制算法
为机器人编写程序
图 11-6 三光感轨迹机器人程序 程序的说明:
使用红、蓝、黄三个容器储存1、2、3号光电传感器在黑线上的光值,并作为判
60
断其是否在黑线的依据;
将1号光电传感器检测到黑线作为红色事件,3号光电传感器检测到黑线作为蓝色事件;
事件定义完成后,RCX并不监控事件,只有在执行监控事件图标之后,RCX才对事件进行监控,一旦事件触发,程序立即跳到事件着陆图标,执行后续图标功能。在ROBOLAB程序中只能有一个事件着陆点,如果在程序中同时监控两个以上的事件,就得使用事件登记容器,判断是哪个事件被触发;
事件登记容器在容器功能面板里,其功能是将“事件的值”放在指定容器里。
在程序中我们把“事件的值”放在3号通用容器里。在ROBOLAB中,事件的值
计算的方法是:从红色事件开始,分别为20、21、22、……根据事件的值,我们就可以判断是什么事件发生了,例如: 事件1发生(红色事件),事件值等于1(20); 事件2发生(蓝色事件,事件值等于2(21); 2事件同时发生,事件值等于3(20+21);
如果是黄色事件发生,事件值等于4。想一想,为什么?
在ROBOLAB中,允许使用32个容器,即32个变量,分别用红、蓝、黄三种颜色区分不同容器,如果要使用四个以上的容器,就需要使用“通用容器”。“通用容器”不是由颜色区别,而是由编号3至31来区别。本程序中,我们用了3号通用容器来保存事件登记值。
程序中机器人无论右转还是左转之后,都有一个向相反方向转动的修正,目的是减小机器人运动的摆幅。 六、探索思考
请你仿照本课的思路搭建一个机器人,并用事件控制算法为机器人编写程序,程序完成后,下载到你的机器人内存中,到实际轨迹场地试试看,你的机器人能按规定的路线行走吗?想一想,机器人走轨迹的程序与路径有关吗?
(参考教案)第12课 机器人灭火——寻找火源
龙泉中学 罗秋 一、 教学目标 1、知识目标:
①、了解机器人灭火任务。
②、知道简单QBASIC的程序算法。
③、掌握通过机器人识别白线、机器人检测火焰等方法灭火的方法。 2、能力目标:
①、简易灭火机器人的搭建。 ②、火焰传感器的使用。
③、教会机器人寻找火源完成简单灭火任务。 3、情感目标:
①、培养学生的观察能力、动手能力、创造能力,养成良好的思维习惯。 ②、通过对光学、计算机科学、机械原理以及美学等的综合运用,提高学生的综合运用。
③、通过竞赛机制,提高学生的竞争和合作意识,锻炼学生比赛时的灵活性。
61
二、教学重点、难点
重点:灭火机器人的搭建。 难点:
①、火焰传感器的使用;
②、通过QBASIC的程序算法为机器人编写程序;
③、下载程序到你的机器人内存中,进行实际轨迹场地调试。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
纳英特机器人套装、电脑、网络教室,机器人调试场地或模拟平台环境。 五、教学过程
1、 引入:火灾是当今人类社会普遍关注的问题,它不仅威胁着人类的生命和财产安全,更影响到一个社会的稳定和发展。图12-1是我国研制的第一代灭火机器人。这类消防机器人适用于石油化工、油罐区、大型仓库等高温、强热辐射、易坍塌的危险场所,可避免人员伤亡。在这几课里,我们将利用教学机器人,模拟灭火过程。
图 12-1 我国第一代灭火机器人
2、新课: 灭火实验及场地简介
中小学机器人灭火实验是模拟现实家庭中机器人处理火警的过程,它要求制作一个由计算机程序控制的机器人,在一间模拟平面结构的房间里运动,找到一根代表房间里火灾点的正在燃烧的蜡烛并尽快将它扑灭。图12-2是机器人模拟灭火场地示意图 (单位:cm)。
62
图12-2 机器人模拟灭火场地示意图
图中红色为火焰,蓝色为家具,黄色为搜救对象所在位置。
3、简易灭火机器人的制作 为使问题简单化,我们假定一个简单任务: 任务1 机器人从房间门口启动,对准火焰方向,直线前进,进入火焰前的警戒线,停止前进,扑灭火焰。
这个任务非常简单,对机器人的要求是当“看见”地面白线时,停止运动,开起风扇扑灭火焰。
为了让机器人能“看见”火焰前的白色警戒线,我们需要给机器人安装一个地面灰度传感器。安装方法如图12-3所示,先将灰度传感器的调节器固定在主机箱上,再用一根铜柱将灰度传感器的探头固定在机器人小车的前方,使探头距地面约1厘米,以提高检测的准确度。
灰度传感器可以用来检测物体表面的黑白程度,浅色物体灰度小,深色物体灰度大。对计算机来说灰度从0开始到255,一共为分256个等级。机器人把灰度小于125的物体认作白色(浅色)物体,灰度大于125的物体认作黑色(深色)物体。
63
图12-3 地面灰度传感器的安装
运行图12-4的程序可以显示被测物体的灰度:
图 12-4 测物体的灰度
程序说明:程序中使用了赋值语句i=analog(2),功能将2号模拟传感器的返回值,赋给变量i;print 是显示语句,显示语句可以显示字符串和变量的值,如print \"analog(2)=\"显示字符串analog(2)=,而print I则是显示变量I的值。注意要显示的字符串必须用引号引起来。
请将图12-4所示的程序下载到机器人内存中,检测实际场地黑色区域和白线的灰度,并记录下来。
在模拟机器人灭火任务中,最安全、方便的灭火方式是给机器人安装一个电风扇,虽然在实际消防灭火中,这种方式不可取。如图12-5所示,我们把带动风扇转动的马达接在马达端口2上,一台简易的灭火机器人就安装安成了。
图 12-5 简易灭火机器人
根据任务分析和机器人的搭建编写程序如下:
64
图12-6 简易机器人灭火程序
这里需注意的是程序中马达和灰度传感器的端口必须与机器人搭建一致。也就是说,假定你的灰度传感器安装在模拟端口2的,程序中的函数analog(2)的端口号也必须是2。这里的程序中假定警戒线(白钱)的灰度小于125,在你的程序中,应以实际检测为准。
事实上程序12-6永远没有结束,只是因为灰度传感器检测到白线后,关闭了所有马达,所以机器人停下来了。这样的程序结构叫“死循环”,一般在编写程序时应尽量避免“死循环”,之所以这样编写是因为在纳英特机器人操作系统的QBASIC子系统中,没有程序结束语句。
你能根据图12-6的程序画出机器人灭火的程序流程图吗?
将图12-6所示的程序下载到你的机器人内存中,到实际场地试运行,观察机器人能否扑灭火焰。
4、使用火焰传感器寻找火源灭火
程序12-6是机器人判断是否到达火源警戒线,从而决策是否停止并开启风扇灭火。这样的算法有一个明显的问题就是如果机器人经过门口的白线,也会停下来,并打开风扇。
事实上,燃烧的物体会产生较强的红外线,根据这一点,科学家用红外敏感型元件,做成了专门检测红外信号强度的传感器,这种传感器对火焰产生的红外线特别敏感,所以把它叫做火焰传感器。火焰传感器与灰度传感器一样也是模拟传感器,我们可以用函数analog(端口号)来读取火焰传感器的检测值。 能寻找火源的机器人的搭建
按照如图12-7所示的方法,把火焰传感器的探头安装在机器人的头顶,并将连接线接在机器人主机的模拟端口3,它就变成了一个能寻找火源的机器人了。
65
图12-7 能寻找火源的机器人 教会机器人寻找火源
有了火焰传感器的机器人,自己并不会识别火源。换句话说,置身烈火的机器人并不知道危险就要来临。
让我们来告诉机器人火源在哪里吧。 实验:
下面的程序能显示火焰值(假定火焰传感器安装在模拟端口3),请你把它输入并下载到机器人内存中;
图 12-8 显示火焰值
测试机器人离火焰的距离与火焰值的关系:
机器人离火焰的距离(单位:厘米) 10 20 30 40 50 80 100 3 4 6 6 7 9 22 火焰值 2.
结论: 。 测试火焰传感器探头方向与火焰值的关系:
火焰传感器探头方向 探头正对火焰(夹角为00)
66
火焰值 偏左150 偏右150 偏左300 偏右300 偏左450 偏右450 偏左600 偏右600 偏左900 偏右900 探头背离火焰(夹角为1800 ) 结论: 。 你认为当火焰值小于 时,必须灭火。
实验可见:正对火焰,距离火焰越近,火焰值越小;反之,背离火焰,距离火焰越远,火焰值越大。我们可以形象地理解为,火焰值表示了火焰传感器探头距火焰的距离。
对计算机来说火焰值从0开始到255,一共为分256个等级,当距离火焰无穷远(无火焰)时,火焰值为255;有火焰时火焰值在200-230之间,如果火焰值小于6,则表明火焰非常强了。
寻找火源灭火的两个任务
任务2 机器人从房间门口启动,对准火焰方向,直线前进,看到火焰,停止前进,扑灭火焰。
任务分析:本任务与任务1算法一样,只是开起灭火风扇的条件不同,任务一是机器人通过灰度传感器“看到”白色警戒线;而这个任务是机器人通过火焰传感器“看到”火焰。 程序:
图 12-9 火焰传感器“看到”火焰灭火程序 本程序中,看到火焰的条件是“analog(3)<6”,实际中有可能机器人“看到”火焰了,但风扇的风力不够,机器人同样不能完成任务。调试机器人时,请同学根据风扇的风力修改条件。 根据模拟机器人灭火规则,机器人在扑灭火焰之前必须有一部分在火焰前白色圆弧内。 任务3 机器人从房间门口启动,对准火焰方向,直线前进,看到火焰,并部分进入白色警戒线内,停止前进,扑灭火焰。
任务分析:本任务开启风扇的条件是机器人看见火焰(analog(3)<6),同时机器人部分进入白色警戒线内(analog(3)<150) 程序:
67
验证
图 12-10 机器人看到火焰并进入白色警戒线灭火程序
任何一个机器人的搭建和程序的编写只是理论上的算法合理,在实际应用中,都需要根据场地情况,环境情况进行调试,机器人才能顺利完成任务。请搭建你的机器人,将上述程序下载到机器人内存中,运行调试。比一比,谁的机器人最能干! 5、探索活动:
自制作一个简易灭火场地,并编写一个检测灰度和火焰值的程序,检测你的场地白线的灰度及火焰值;
2、测试机器人,能否完成任务。
(参考教案)第13课 机器人灭火——迷宫灭火
龙泉中学 罗秋 一、 教学目标。 1、知识目标:
①、了解结构化程序设计。
②、了解主程序和子程序的概念。
③、知道在QBASIC中子程序的格式和如何在主程序中调用子程序。 2、能力目标:
机器人迷宫灭火的策略分析。
②、学会编写迷宫灭火程序流程图。 ③、掌握迷宫灭火机器人的搭建。 3、情感目标:
①、培养学生的观察能力、动手能力、创造能力,养成良好的思维习惯。
②、通过对光学、计算机科学、机械原理以及美学等的综合运用,提高学生的综合运用。 ③、通过竞赛机制,提高学生的竞争和合作意识,锻炼学生比赛时的灵活性。 二、教学重点、难点
重点:迷宫灭火机器人的搭建。 难点:
①、结构化程序设计;
②、QBASIC的程序算法中主程序和子程序的概念; ③、编写迷宫机器人灭火程序。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
68
纳英特机器人套装、电脑、网络教室,机器人调试场地或模拟平台环境。 五、教学过程
1、 引入:前课学习的灭火机器人有一个明显的问题,就是需要人为告诉它在哪个房间里有火源。如果机器人从起始位置,并不知道那间房间有火源,它该怎样去完成灭火任务呢? 显然,我们可以将第8课机器人走迷宫与第12课的灭火程序结合起来。机器人从H位置出发,如果发现火焰,起动灭火程序,灭火;没有发现火焰,走迷宫,寻找火焰。 2、新课: 迷宫灭火机器人的制作 1)迷宫灭火的流程图
程序流程图可详可略,简略的流程图,模块化结构明显,思路清晰;而详细的流程图,将模块结构细化,便于编写程序。下面我们分别给出迷宫灭火模块化流程图和分解细化后的流程图:
模块化程序流程图 根据模块分解流程图 图 13-1 迷宫灭火程序图 2)迷宫灭火机器人的搭建
根据图13-1的流程图,想一想,我们该怎样搭建一台灭火机器人?
从流程图看,机器人走迷宫采用的是左手定则,为使机器人能判断前方和左边有无障碍物,我们分别在前方和左侧各安装一个红外传感器,安装端口号分别为第9、11号数字传感器端口;为使机器“看到”火焰,并确认自己已进入警戒线,我们还得给机器人安装一个灰度传感器和一个火焰传感器,其端口号分别为2、3模拟传感器端口。图 13-2是根据要求搭建的迷宫灭火机器人。
69
图 13-2 迷宫灭火机器人 迷宫灭火机器人结构简单,为防止机器转弯时卡死,我们将前方红外传感器探测方向稍向右偏了一点点。
迷宫机器人灭火程序
根据灭火机器人程序流程图和机器人传感器的搭建端口,编写的迷宫机器人灭火程序如图 13-3所示。特别注意程序中传感器的端口号必须与实际机器人传感器连接端口号一致。
图 13-3 迷宫机器人灭火程序
程序中地面警戒线(白线)的灰度值以及蜡烛的火焰值需要现场实际测定。 知识窗:结构化程序设计
从图13-1的模块化程序流程图和图13-3的程序我们可以看出,迷宫机器人灭火程序,实际上是由“灭火”与“走迷宫”两个独立程序组合页成的。像这样将程序分成若干个模块,每一个模块完成一个或几个功能,这样的程序设计叫“结构化程序设计”,又叫模块化程序设计。
1.主程序和子程序
在QBASIC中,一个程序可以是一个主模块,也可以是由一个主模块和若干个子模块构成。我们常常把可以多次调用、能够完成特定操作功能的程序段编写成独立的程序模块,称为子程序,而程序的主模块叫做主程序。主程序可以多次调用子程序。这种做法能使程序结构清晰,具有良好的可读性和易维护性。 2.QBASIC程序的模块化结构 解决一个复杂问题,往往需要编写一个比较大的程序,这时我们常把一个总任务划分成一个个子任务,每个子任务由功能相对独立的一段子程序完成,而主程序则整体控制和调用子程序,以完成总任务,这就是QBASIC程序的模式化结构思想:
一个QBASIC程序可以由一个主程序组成,也可由主程序和若干子程序构成;
每一个主程序或子程序为一个单独的程序模块,分别进行设计,在运行时QBASIC会把这些模块组织起来,成为一个整体; 从主程序调用子程序有两种形式:“ CALL 子程序名”或“子程序名”。程序执行时,如遇到CALL语句,调用CALL语句指定的子程序,顺序执行该子程序中的语句,执行完成后,再接着执行主程序CALL语句的后继语句,直到程序结束。
70
调用的子程序,必须是定义了的子程序。子程序总是以SUB语句开头,以 END SUB 结束,其格式为: SUB 子程序名 子程序体 END SUB
现在再用主程序调用子程序的方法编写迷宫机器人灭火程序:
图 13-4主程序调用子程序
图13-4的主程序结构清晰、逻辑强,语句精练;两个子程序功能明确:子程序miehuo只完成灭火任务;而子程序zoumigong则专完成走迷宫。 3、声控启动灭火机器人
作为子程序的应用,下面我们把迷宫机器人改成声控启动。
任务描述:要求机器人停止在H,当“听”到出发的指令,立即启动开始走迷宫寻找火源,一旦找到火源,马上启动灭火程序灭火。 程序如下:
71
图 13-5 声控迷宫机器人程序 4、思考与练习
请画出图13-5程序的流程图,从程序可知,声控传感器安装在哪个传感器端口的? 本课给出的是最简单的迷宫灭火程序,通过试运行,你认为可以从哪些方面对机器人进行改进。把你的想法与同学一起讨论,然后实践,看看改进后的机器人是不是更能干。
(参考教案)第14课 机器人实验室
龙泉中学 张应国 一、 教学目标 1、知识目标:
①、了解ROBOLAB的编程环境。
②、认识机器人软件ROBOLAB,学会用ROBOLAB下载固件。 ③、掌握编写程序采集数据、上传数据并分析处理的方法。
72
2、能力目标:
①、设计和搭建实验。 ②、学会编写机器人程序。
③、ROBOLAB固件下载及程序调试和数据分析。 3、情感目标:
①、培养学生的观察能力、动手能力、创造能力,养成良好的思维习惯。 ②、培养学生对待知识的科学态度和辩证唯物主义观点。 ③、培养学生探索机器人的兴趣和科学精神。 二、教学重点、难点
重点:认识ROBOLAB的编程环境,理解固件与RCX的关系。 难点:
①、编写机器人程序; ②、ROBOLAB固件下载; ③、程序调试和数据分析。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
乐高机器人套装、电脑、网络教室,机器人调试场地或模拟平台环境。 五、教学过程
1、 引入:机器人系统强大的数据采集、分析、处理以及项目研究和管理功能,为我们搭建了一个优秀的学习和应用现代信息技术的平台。本课开始我们要像科学家一样建立一个自己的机器人实验室,并用它做几个小实验,学习和掌握科学研究的思维和方法。 2、新课:建立自己的主题
在机器人实验室中,所做的每一个实验叫做一个项目,所有的项目又可以归属于一个主题。 下面我们利用ROBOLAB软件建立一个名为“我的机器人实验室”的主题。 主题——“我的机器人实验室”
第一步,打开ROBOLAB,在主菜单中选择“管理员”进入管理员界面; 第二步,选择“ROBOLAB设置”,进入如图14-1所示的界面中; 第三步,输入新主题后,单击添加“第四步,单击返回“
”按钮,建立一个新主题;
”按钮,返回主菜单。
73
主题列表 添加 新建主题
图 14-1 主题管理 项目研究步骤
在ROBOLAB机器人实验室中,每一个项目研究(实验)都需要经历如图14-2所示的五个步骤:
图 14-2 项目研究步骤 3、我的第一个实验
大家知道,液体蒸发要吸热,物体温度会降低。这就是为什么,医生常用酒精给高烧病人降
74
温。下面我们用实验研究:
酒精蒸发引起的物体温度的变化情况; 想一想,你怎样设计你的实验? 设计和搭建实验
如图14-3所示,我们把一个棉球放在酒精中充分浸泡,然后用棉球不停的擦试温度传感器的探头,同时将温度传感器的一端接在RCX的输入端口1。编写程序,让RCX每隔3秒钟采集一次温度数据,新项目 1分钟后停止采集,然后将采集的数据上传到计算机中,进行分析。
图 14-3 实验装置
温度传感器可用来测量物体温度,其测量范围为-20摄氏度到50摄氏度,在你设计实验时,不能超过这一测量范围。 程序的编写
下面我们进入编程区:
在ROBOLAB主菜单中,单击“研究者级别”,进入如图14-4所示的研究者编程菜单;
图 14-4 建立新项目
单击“新项目”后,在弹出的“输入要建立的新项目的名字”对话框中,输入新项目的名字,如“蒸发吸热研究”;
单击“确定”后,进入如图14-5所示的项目工作区;
75
程序名 菜单区 编程等级 工作区 页面区 下载程序
图 14-4 项目工作区
直接模式 进入项目工作区的第一项目工作就是编写程序,所以系统默认进入“编程区”。在编
程区,我们可以为RCX编写程序,并将程序下载到RCX中。同样的,研究者级别的编程
也有五个等级,图14-4是编程等级1。
图14-4所示的编程等级1,默认的是:安装在输入端口1的光电传感器采集数据,每隔1秒钟采集一次,一共采集10次。
请你试着点击一下程序中的命令图标,看看有什么反应?
选择传感器 指定结束采集的条件
采集速度
图 14-5编程等级1
在如图14-5所示的编程等级1中,我们可以: 选择安装的传感器; 选择数据采集的速度; 指定结束采集的条件。
现在,你知道怎么修改程序,以满足我们的实验了吗? 下载程序
请按图14-6所示修改程序后,点击下载程序按钮
,将程序下载到RCX内存中。
76
更改数据集名称 选择桶,并更名 数据显示格式 波形控制模块 波形显示区 添加或 删除页
图 14-6 实验程序1 开始实验
按我们的实验设计,打开RCX并开始运行,在你擦试温度传感器的探头的同时,RCX也在按我们的程序要求,采集数据,当LCD的小人停止运动时,表明程序结束,采集完成。 上传数据
当数据采集完成后,就可以上传数据了。 点击菜单区的上传按钮
,可进入如图14-7所示的上传工作区;
图14-7 上传工作区
保持RCX在开机状态,单击上传按钮
,上传数据;
为了知道数据集代表的意义,请更改数据集名称和桶名。
这里,使用不同颜色的桶,是为了区别不同的数据集,便于查看、比较和计算;桶的名称,实际上是数据显示区中Y轴的名称,一般用物理量及其单位来表示。 试一试:
为你采集的数据集取一个名字; 为数据集选择一个你喜欢的颜色桶;
单击桶下面的标题栏,在如图14-8示的“设定标题”对话框中将桶的标题设为“温度(摄氏度)”;
77
下拉菜单 计算方法 计算结果 波形控制 显示格式 选择桶 图 14-8为桶设定标题
请你选择不同的数据显示格式,观察数据显示区波形的变化; 思考数学显示格式与数学上的统计图有什么关系? 查看和比较数据
单击菜单区的查看与比较按钮
,便可进入如图14-9所示的“查看与比较”工作区。在
数据显示图 这里我们可以查看(View)、比较(Compare)、计算(Measure)和打印(Print)数据集。
图 14-9 查看与比较工作区 试一试:
请点击下拉按钮,看看在“查看与比较”中有哪些操作? 点击“波形控制”中的“对Y轴自动调整”按钮什么好处?
,观察波形的变化?想一想这样做有
78
计算结果名称 下拉菜单 结果显示
图 14-10 对Y轴自动调整后的波形
选择一个桶点击计算方法快捷按钮,观察,在实验过程中,最高温度是多少?出现在什么时刻?用于保存计最低温度是多少?出现在什么时刻? 算结果 计算
计算是整个实验过程中最重要的部分,前面仅仅是将数据采集回来,但最重要的是分析这些参加计算的桶 计算方法 数据,从而得出实验结果或结论。 点击菜单区的计算按钮
,则可进入如图14-11所示的计算工作区
图 14-11 计算工作区
点击计算工具的下拉菜单,你会看到计算与编程一样,分为5个等级,图14-11是计算工具1。作为入门级别,我们这里只介绍计算工具1。 例如,我们要将采集回来的原始数据由原来的摄氏度作单位变为华氏度为单位。摄氏度(C)转换为华氏度(F)的公式为: 温度(F)=温度(C)*1.8+32 为此,请作以下操作: 点击按钮
,对波形作Y轴自动调整;
,选择乘法运算符
;
点击计算方法中的第一个运算符按钮在数字图标
的下面输入数字1.8;
79
第二步作加法运算,运算符不变,在第二个数字图标页标题 下输入32; 更改计算结果桶的标题为“温度(F)”,这时我们看到计算结果的波形图如图14-12,实际下拉菜单 上波形图并没有改变,只是Y轴坐标变了。想一想,为什么? 文字描述区 图片和数据显示区
图 14-12 转换后的波形图 实验报告
到此,我们对实验数据进行了采集、上传、查看、简单分析(求最高温度、最低温度)和简单计算,下面我们为实验撰写实验报告。 点击菜单区的实验报告按钮
,进入如图 14-13所示的实验报告工作区。
图 14-13 实验报告工作区
在实验报告工作区的“Describe Page”描述页中,我们可以对实验的设计、程序、分析以及实验结论通过文字、图片、数据以及波形图的方式进行描述。下面,我们来看看如何撰写实验报告:
选择下拉菜单中的“Describe Page”; 将页标题改为“实验目的和方法”;
在文字描述区,输入本实验的目的和方法;
80
图 14-14 实验报告目的页 单击页面区的“添加页”按钮
,将页标题改为“实验程序”
在“Show Page”中选实验程序页,第二页页面如图14-15所示;
图 14-15 实验报告程序页
同理,我们可以写出如下的实验结论页。
81
图 14-15 实验报告结论页 4、思考与练习
请你设计一个实验比较用水和酒精蒸发降温,并指出水和酒精哪种液体的降温效果更好。 设计一个实验,在你的教室选择5个具有代表性的点,测试这些点在上午10点和下午4点的光值,并上传到计算机,对采集回来的数据进行比较分析。
提示:用触碰传感器控制采集速度,用采集次数控制结束采集的条件。参考程序如下:
(参考教案)综合实践活动:“阳光寻觅者”的制作
龙泉中学 杜艳梅 一、 教学目标 1、知识目标:
①、了解ROBOLAB的编程环境。
②、认识机器人软件ROBOLAB,学会用ROBOLAB下载固件。 ③、掌握编写程序采集数据、上传数据并分析处理的方法。
82
2、能力目标:
①、设计和搭建实验。 ②、学会编写机器人程序。
③、ROBOLAB固件下载及程序调试和数据分析。 3、情感目标:
①、培养学生的观察能力、动手能力、创造能力,养成良好的思维习惯。 ②、培养学生对待知识的科学态度和辩证唯物主义观点。 ③、培养学生探索机器人的兴趣和科学精神。 二、教学重点、难点
重点:认识ROBOLAB的编程环境,理解固件与RCX的关系。 难点:
①、编写机器人程序; ②、ROBOLAB固件下载; ③、程序调试和数据分析。 三、教学方法
以学生直接实践体验为主,辅以教师演示、启发、引导。 四、教学准备
乐高机器人套装、电脑、网络教室,机器人调试场地或模拟平台环境。 五、教学过程
1、 引入:大家知道,我们所使用的煤、石油、天然气,水能、风能、海洋能、生物质能等都来自太阳能。事实上,地球上的一切能源都直接或间接使用的太阳能。太阳每秒钟照射到地球上的能量就相当于500万吨煤。同时,太阳能又是一种对环境友好的,可再生的取之不尽、用之不竭的能源。在当前世界能源紧张,各种能源价格飞涨的形势下,太阳能无疑是最引人瞩目的能源。
2、新课:预备实验——太阳能小车
A B 图 15-1 太阳能小车
图 15-1A是一辆太阳能小车,如果我们把它放在阳光下,至少是一盏台灯下,它就能运动起来。我们看到小车本身没有能源,只是接了一块乐高太阳能电池板,由于乐高太阳能电池板能把光能转换成电能。小车上的马达就是靠太阳能电池板提供电能的。 实验一 验证光具有能量。
把一只马达和太阳能电池板按图15-1B所示的方式连接起来,再用一盏台灯照射太阳能电池板,观察马达会不会转动。试着转变灯光的方向,观察马达的转动情况。 我们看到在光的照射下马达转动起来了,但如果光线不是直射太阳能电池板,马达转动会慢一些。
83
实验证明:光和太阳都具有能量。 那么,我们能收集光能或太阳能吗? 实验二 电容器能储存电能。
按如图 15-2A所示将一只乐高电容器与一只马达连接,观察马达能否转动?如果按图 15-2B所示的方法,将乐高电容器与太阳能电池板连接(注意二者的“十”、“—”极),再用光线照射一段时间,再将电容器与马达相连,观察马达能否转动。
A B 图 15-2 电容器的放电和充电
我们看到原来不能使马达转动的电容器,通过与被光照射的太阳能电池板连接一定的时间后,就能驱动马达转动了,这说明电容器能储存电能。实际上将太阳能电池板与电容器连接以后,我们说太阳能电池板为电容器充了电;而把电容器与马达连接时,电容器又放电,将自身的电能转化为马达的机械能。 3、“阳光寻觅者”的制作 实验目标
搭建一辆机器人小车,使它可以跟踪光线,并用太阳能电池板为电容器充电。当光线的方向改变时,机器人小车可以自动找到新的光线最强的位置。 为了验证电容器已充电,实验后要求电容器能点亮小灯。 为了验证小车找到并停止在光线最强的位置,要求在小车寻找光线最强位置的过程中,同时采集各个方向的光值;当小车停下时,液晶屏上显示这时的光值。实验后,将读出的光值与采集到的数据集中的最大值比较,从而判断小车是否停在光线最强的方向。
如果这个目标能实现,那么我们的机器人就是一个能自动收集太阳能的阳光寻觅者。 如何实现目标
为方便改变小车行驶方向,我们用两个马达搭建一辆后驱式小车。由程序控制小车前行,用一个光电传感器检测太阳能电池板正对方的光值。当触动传感器被按下时,车辆原地慢速转动一周,找出光线最强的光值。完成一周的扫描后,小车再次转动到光线最强的方向上,停下等待太阳能电池板为电容器充电。在充电的过程中,如果外界光线方向改变,机器人发现自己所对方向光值减小2%,这时重新寻找新的光线最强的方向,并停下继续为电容器充电,如此反复,收集太阳能同时将太阳能转变为电能储存起来。 搭建机器人小车
图15-3是阳乐寻觅者的参考搭建。也许你有更妙的搭建方法。提醒,注意太阳能电池板与电容器的正负极。
84
点击这里开始编程
图 15-3 阳光寻觅者
4、 赋予“阳光寻觅者”智力
聪明的阳光寻觅者的智力是我们赋予的。下面我们直接进入发明家级别的编程级别5,为阳光寻觅者编写程。 研究者级别编程等级5
编程等级5是研究者级别的最高编程级别, 这里包括了全部的控制、运算和数据采集与分析处理的全部功能。
当我们进入研究者级别,建立一个新项目“阳光寻觅者”; 在编程工作区菜单中选择“Program Level 5”,进入如图 15-4所示的编程等级5;
图 15-4 编程等级5
点击编程工作区的箭头,开始编程; 点击功能面板中的“数据采集和马达”按钮
,打开“数据采集和马达”功能面板,它
包括了所有马达和灯的控制,传感器的数据采集等功能图标。
如图15-5所示,是研究者编程等级5的编程区、功能面板和工具面板,它与编程者中的发明家级别5的编程环境类似,只是功能更强了。
85
图 15-5 编程等级5编程区 简单的数据采集程序
在每一个数据采集程序中,至少包括以下三个工作: 初始化传感器开始采集数据停止采集数据
;
;
它们对应的功能图标在功能面板(以后我们说到功能面板,在没有特别指明的情况下,都是指如图15-5所示的“数据采集的马达”功能面板)的“研究者”子面板中,如图15-6所示。
图 15-6 与数据采集相关的“研究者”子面板 请用鼠标探测一下图15-6中各图标的功能。
例如:图15-7A程序功能是:初始化1号端口的光电传感器,指明采集的数据保存在红色数据集中;开始采集,以每隔1.5秒采集一次的速度采集;一共采集10次后停止采集。 图15-7B程序功能是:初始化安装在1、2端口上的温度和光电传感器,指明采集的数据分别存放在红色和蓝色的数据集中;开始以1秒钟一次的采集速度采集;一共采集20次。
86
A
B
图 15-7 简单地数据采集程序
程序中除初始化传感器、开始、停止采集图标外,其它的图标均可以在“修饰量” 子
面板或“等待” 子面板中找到。
学习了如何为带数据采集的机器人编写程序后,下面我们为阳光寻觅者编写程序。 阳光寻觅者程序
图 15-7 阳光寻觅者程序 程序说明:
开始,初始化1号输入端口的光电传感器,将采集数据保存在红色数据集中; A、C马达前进,当按下3号输入端口的触碰传感器后,开始采集,采集时间间隔为0.05秒,同时C马达反转,“阳光寻觅者”原地转动。 设置红色着陆点并对红色容器和计时器清零;
87
接下来的一段程序非常重要。图标表示循环开始,循环条件是,计时器小于20秒则执
行循环体内图标,表示循环结束。循环20秒是保证“阳光寻觅者”原地转动一周; 循环体内图标:判断1号输入端口的光电传感器测得的光值,是否大于红色容器的值,如果大于,则将1号光感测得的光值赋给红色容器,并在LCD屏上显示这个光值,反之不作任何处理。可见循环程序的功能就是测出3600范围内阳光最强的光值; 下一个图标
是等待“阳光寻觅者”再次转到阳光最强的方向。当找到这个方向时,结
束采集,小车停止。此时太阳能电源板聚集太阳能,并转化为电能,再对电容器充电储存电能;
一天当中太阳在转动,当光线改变,光值降低2%时,恢复数据采集,同时小车再次转动,程序跳转到着陆点,再次寻觅阳光最强的方向。
注意,小车寻觅阳光与同时采集光值没有直接关系,采集光值是为了分析、判断小车是否停在光线最强的方向。 5、.开始试验,验证结果
1.将程序下载到RCX内存中,运行程序,同时观察RCX显示屏,记下小车停止时的光值。此时的光值为 。
2.手动改变小车的位置和方向,或者是光源的方向,观察小车能否重新寻觅阳光。 3.将RCX采集的数据上传到计算机中,查看光值变化曲线; 4.在比较和查看工作区,查出采集的数据集中,最大的光值。
5.比较数据集中的最大值与小车停止时显示屏上显示的光值是否一致,如果不一致分析其原因;
用电容器为一盏小灯供电,观察小灯是否被点亮。
实验结论: 。 你一定还有别的方法搭建一个自己的“阳光寻觅者”,不妨动手试试。
88
因篇幅问题不能全部显示,请点此查看更多更全内容