已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一周1常规教育2与学生进行自我介绍,并认识学生。3介绍这门课程开设的目的和内容。带学生去机房,安排座位。4告知机房的使用规则。第二周 走进机器人的世界两课时一、教学目标知识与技能:1了解机器人的诞生与发展历史。2了解能力风暴机器人。过程与方法:给学生展示各种机器人,并介绍其功能,是同学们对机器人有较深的认识。情感态度价值观:通过了解中国古代的机器人,伶人、木鸟、木牛流马,使学生们认识到中国人的智慧与伟大。通过接触能力风暴机器人,使同学们产生兴趣,并能积极投入到学习氛围中。二、教学重点与难点其实机器人在我们的日常生活中无处不在,如吸尘器、电梯等,通过这些常见的机器人,可以使大家能更好理解机器人。三、课前准备制作课件“走进机器人世界”。四、教学过程教学环节教师活动学生活动说明导入提问学生:你们觉得机器人是什么样的?平时有接触过机器人吗?吸尘器、电梯、洗衣机等都是机器人。学生发言交流,回答教师提出的问题。有些学生可能不好意思说,教师要鼓励学生说。学习和讨论向大家展示中国古代的机器人:伶人、木鸟、木牛流马等。提问:学生们还指导哪些中国古代的机器人?观看课件,了解机器人发展史。老师在过程中进行必要讲解。能力风暴机器人实物观看。并了解其结构,指导机器人是怎么工作的。同学们发言讨论。同学们观看课件。同学们观看能力风暴机器人。课件通过多媒体的形式向大家展示知识,同学们更喜欢看,从而能更认真,更好的掌握知识。通过实际接触能力风暴机器人,更好的认识机器人,并了解机器人的工作原理。课堂小结总结回顾这节课的内容。采用提问的方式。学生回答加强和巩固第3、4、5周 让机器人动起来一、教学目标知识与技能:1了解能力风暴机器人开发软件。认识流程图。熟悉模块的操作。2能使用开发软件让机器人动起来,并演示跳三步舞。过程与方法:认识机器人开发软件仿真vjc1.5,并介绍其界面和使用方法。分析机器人走正方形步骤,为今后让机器人做更复杂动作时做好基础。情感态度价值观:通过使用开发软件让机器人动起来,认识到,机器人是人类智慧的结晶,机器人只有在人的指令下才能工作,从而认识到机器是永远不可能代替人类的。通过实现机器人走正方形,同学们可以感受到学习的乐趣。二、教学重点与难点教学重点:知道流程图的执行过程。在机器人走正方形过程中,修改参数时掌握固定一个的方法,能很快调整到一个好的状态。教学难点:对于流程图的概念,学生们以前没有接触过,可能会有些同学不容易理解。可以用简单的话去解释,尽量不要复杂话。三、课前准备安装机器人开发软件仿真版vjc1.5。四、教学过程(一)能力风暴机器人开发软件图形化交互式C 语言(简称VJC)是用于AS-MII 的专用开发系统具有基于流程图的编程语言与交互式C语言。目前的最新版本为VJC1.6 ,它由流程图编辑界面和JC 代码编辑界面组成。(二)学习VJC1.5仿真版1、双击桌面上的VJC1.5仿真版,进入流程图界面2、认识流程图编辑界面菜单栏:文件,编辑,视图,工具等等工具栏:有若干快捷按钮,使用起来很方便模块库区:可以用鼠标点击打开流程图生城区:模块库区的模块可以移入这个区域,连接生成流程图程序。连接好的模块会成为一个整体,可以一起移动。也可以断开模块之间的连接,删除或插入模块。3、模块的基本操作模块的新增、连接、插入、移动,结合让机器人前进倒退讲解。注意:模块没有连接上是没有效果的,拖动模块时,光标的顶点放在上方模块的红点处,单击鼠标,就连接上了。连接后,上方模块的红点会消失。4、仿真环境做好的流程图程序,可以到该环境下进行仿真运行。点击工具栏中的第四个按钮,进入仿真环境。5、流程图开始前进圆角矩形框 端点符:表示程序的开始和结束。如矩形框 处理符:表示各种运算或执行处理环节。如菱形框 判断符:表示判断,其中常注明判断的条件。有向直线 流线符:表示控制的流向。6 打开“三步舞”程序 单击工具栏的“打开”按钮,在教师的指导下,找到保存“三不舞”程序的文件夹,打开“三不舞”程序, 7 到仿真环境中运行“三不舞”程序。(1)单击工具栏中的“仿真”按钮,进入仿真环境,认识仿真环境的窗口界面,如图:(2) 单击屏幕左下角的运行按钮,出现仿真机器人。机器人会随鼠标的移动,就相当于机器人被“拿”起来了。仿真机器人移动到运行显示区后,单击一下鼠标,就相当于把机器人“放下”,机器人按“三步舞”程序的设计跳舞。如图:(3) 程序运行后,单击屏幕左上角的退出按钮,回到主程序窗口。拓展:试一试:你能打开“正方形”程序,并进入仿真环境,让你的机器人也走起来吗?活动:让机器人前行一段,然后原地转90度,分析步骤如下:第一步、让机器人直走第二步、让机器人转90度:需要修改参数注意:我们会发现机器人转弯的角度不正确,那么就需要修改“转向”模块中的参数,进行反复调试,而且,在调试过程中,不要一次修改两个参数,可以固定一个参数,很快就能让机器人转一个标准的90度了。试一试:让机器人重复直行转弯四次,就可以走成一个正方行了 可以添加四次刚刚的两个模块,那还有没有更好的方法呢?提示:可以使用多次循环模块,然后把直行转弯两个模块放到循环中,修改循环次数,就可以让机器人走一个标准的正方行了。五、总结 模块一定要连接上才有效。设置模块的参数时,应该固定一个参数这样调整会很方便。第6、7、8 周 使机器人自由行走一、教学目标1了解能力风暴机器人开发软件。认识直线移动的操作。2能使用开发软件让机器人动起来。二、教学重点与难点认识机器人开发软件仿真vjc1.5,并介绍其界面和使用方法。2.1.1 直线移动在1.2节的学习中,我们知道,控制机器人直线移动可以使用执行器模块库中的 “直行”模块,设置该模块中的参数,可控制机器人直行前进或后退。下面我们再来进一步研究这些基本动作的控制方法。实践体验一【实践名称】控制机器人前进与后退。【实践目的】掌握 “直行”模块的用法。【实践项目】编程控制机器人以速度100前进1秒,再以速度-100倒退1秒,重复5次。【实践步骤】1项目分析:本项目主要是控制机器人重复沿直线前进和后退。在执行器模块库中,“直行” 模块就可控制机器人前进、后退的参数,在控制模块库中,“多次循环” 模块可控制动作重复一定的次数。2编程与调试:(1) 启动VJC仿真版,设置循环结构:拖动控制模块库中的 “多次循环”模块连接到编辑区中主程序模块的下方,右键单击 “多次循环”模块,在对话框中设置循环5次;(2)设置直行:拖动执行器模块库中的 “直行”模块连接到流程图中 “多次循环”模块下方,设置前进参数如图2-1-2 所示;图2-1-1 设置循环5次(3) 设置倒退:再拖一个 “直行” 模块连接到流程图中前进模块的下方,设置后退的参数如图2-1-3 所示;图2-1-2 直行前进参数 图2-1-3 直行后退参数注意:在 “直行” 模块中,速度的正负决定了机器人是前进还是后退,时间的长短,决定了机器人移动距离的长短。最终编辑生成的流程图程序如图2-1-4 。 图2-1-4 实践一的程序 (4)进入仿真调试环境,检验程序是否达到了要求。练一练对比一下流程图程序和JC语言程序,借助 “帮助”,你能看出用 “直行”模块驱动机器人以速度100前进1秒的JC代码是如何编写的吗?如果看明白了,请写出来:2.1.2 转弯在实践一的控制程序中,可以看出,“直行” 模块的作用是控制机器人的两个轮子以相同的速度前进或后退,以便保持直线移动。但如果要让机器人转弯,应该如何编程呢?实践体验二【实践名称】控制机器人转弯。【实践目的】掌握“转向”模块的用法。【实践项目】编程控制机器人以速度100前进1秒,然后原地转身,再以速度100前进1秒,回到起始位置并转身停止,重复5次。【实践步骤】1项目分析:控制机器人转弯的基本做法是令机器人两个驱动轮以不同的速度旋转,这就是“差速转弯” 的思想。具体实现方法有两种,一种是采用执行器模块库中的 “转向” 模块控制,另一种是采用执行器模块库中的 “启动电机” 、“停止电机”及“延时”模块控制。 2编制程序:方法一:采用 “转向” 模块控制在实践一的程序基础上略作改动,将原来的 “后退” 模块改成 “前进”(参数与第一个前进模块相同),同时插入两个 “转向” 模块,参数设置如图2-1-5。最终程序见图2-1-6 。注意: “转向”模块中,速度的正负决定了转弯的方向,时间的长短,决定了转弯角度的大小。图2-1-5 “转向”模块设置的参数Drive()函数Drive(x,y)是同时驱动两轮电机的函数,既可用于直行,又可用于转弯,其中:x代表直行的速度和方向,y代表转弯的速度和转向,这时,左电机功率为x+y,右电机功率为x-y。延时与停止函数Wait(t)函数的作用是延时t秒。Stop()函数的作用是停止电机运转。知识链接 图2-1-6 采用 “转向”模块控制的程序方法二:采用 “启动电机” 模块控制“启动电机”模块可以分别控制机器人的两个驱动轮以相同的速度直行或以不同的速度转向。此模块必须与 “延时等待” 模块配合使用。例如:原地转身时,“启动电机”模块和 “延时等待”模块的参数设置分别如图2-1-7和2-1-8。图2-1-7 原地转身时电机功率 图2-1-8 延时的时间Motor()函数Motor()函数用于单独驱动某一电机:Motor(1,100)表示驱动左轮电机以100的速度前进;Motor(2,100)表示驱动右轮电机以100的速度前进;知识链接当左右电机功率相同时,机器人直行,当左右电机功率不同时,机器人将转弯(若左电机功率右电机功率,则右转,否则左转)。因此,用 “启动电机”模块设计实践二的流程图程序如图2-1-9。程序中最后一个 “停止电机”模块是为了控制机器人最后停止移动。图2-1-9 采用 “启动电机”模块控制的程序 注意: “启动电机”模块中左右轮电机转速的正负决定了机器人旋转的方向,例如:左电机为 +80,右电机为 80,则机器人原地向右转一圈。如果要让机器人沿一定的半径旋转,则必须使两电机同向旋转,但速度不等,转弯半径的大小由转弯速度和延时时间共同决定。3下载调试:进入仿真运行环境调试上述程序,检验程序能否达到要求。练一练(1)用 “启动电机”模块控制机器人转弯与用 “转向”模块控制机器人转弯,程序的JC代码有何区别?请写出用 “启动电机”+ “延时等待”模块控制转弯的JC代码:(2)你能仿照上述程序,将其改写为控制机器人走五边形或圆形轨迹吗?请进一步实践,记下控制机器人转不同角度的参数。计算、显示与发声能力风暴机器人除了能实现移动功能外,还能完成加、减、乘、除等计算,并在液晶屏上显示计算结果或问候语,同时,还能发声甚至唱歌,使机器人更具亲和力。实践体验三【实践名称】机器人的计算、显示与发声。【实践目的】掌握执行器模块库中其它模块的用法。【实践项目】改进本节的实践二程序,使机器人自动记录循环跑动的次数,每跑完一趟回到起点时,发出一个音符的声音,并在液晶屏上显示出已跑完的趟数。【实践步骤】1项目分析:控制机器人发声和显示,只要分别调用执行器模块库中的 “发音”和 “显示”模块即可。要在运行过程中自动完成计数功能,必须使机器人在运行过程中执行累加计算,如:gi_1=gi_1+1。gi_1是机器人内部用来临时记录数据的一个变量,这个累加计算的意义是:当机器人每跑完一趟回到起点时,该变量的值就增加1,这个动作必须在计算模块中进行设置。本例最后生成的流程图程序如图2-1-15所示。 2编程与调试:在VJC仿真版中打开本节的实践二程序,继续进行如下操作:(1)增加三个执行模块:在原程序最后一个 “右转” 模块下分别添加一个 “计算”模块、“发音”模块和“显示”模块;(2)设置 “计算”模块,实现累加计算:鼠标右键单击 “计算”模块,打开参数设置对话框,如图2-1-10,设置计数器:整型变量一=整型变量一+1。系统提供三个保存整数的变量,默认将计算结果保留在 “整型变量一”中。首先选中对话框中右边第一个 “引用变量”复选框,在进入图2-1-11变量百宝箱对话框后,选中 “整型变量一”,此时 “整形变量一”后面会出现一个小钥匙图标,表示选中了该变量,单击 “确定”按钮返回,再在 “+”号旁边的文本框中输入1,这样,就等于设置一个计数器 gi_1=gi_1+1。程序执行到该模块时,gi_1变量的值会自动增加1。观察JC代码区的首行,可以发现,系统在句首自动增加了一句变量初始化:gi_1=0;1.单击此处,引用 “整型变量一”2.单击此处,选中 “整型变量一”图2-1-10 “计算”模块参数设置框 图2-1-11 变量百宝箱3.在此框内输入 1图2-1-12 设置计数器 图2-1-13 “发音”模块设置的参数(3) 设置发音参数:鼠标右键单击 “发音”模块,设置参数如图2-1-13。如果连续设置几个发音模块,就可以演奏出一段乐曲。(4)设置要显示的信息:鼠标右键单击 “显示”模块,在两个文本框内可以设置要显示的字符、问候语,或选中 “引用变量”复选框,将要显示的变量设置在文本框内。本例分两行显示,第一行显示字符信息:“NUMBER”,第二行显示整型变量一的值,即计数器的值。图2-1-14 “显示”模块设置的参数(5)进入仿真运行环境,检验和调试上述程序。显示语句printf显示语句一般用于屏幕输出,其格式为:printf( “输出格式”,输出变量)例如:printf( “A=d n”,A)表示以十进制格式输出A变量的值,输出后,光标自动换行。知识链接练一练对照实践三的流程图程序和JC代码,借助VJC系统提供的 “帮助”,你能理解计算、发声、显示三个模块对应的JC代码吗?当要显示变量A的值时,JC代码应写成:【活动主题】主题活动机器人绕标比赛。【活动说明】比赛场地如图所示。要求机器人从起点出发绕过3个标杆,并以最快的速度到达终点,机器人走过之处,留下轨迹。起点 图2-1-16 机器人绕标比赛场地示意图【活动要求】分组选拔,组内可以合作研究,每组选拔一个成绩最好的机器人参加决赛。赛前应在仿真环境中构建好比赛场地。活动中,一方面要进一步熟悉机器人走半圆的控制方法,另一方面要自觉培养团队意识和合作精神。提示:本活动的核心是编制走半圆程序,关键要根据场地情况,在实践中调试并找出最佳的左、右轮速度和延时等待时间,如有困难,可参考光盘中相应的程序。【反思评价】回顾本节学习内容,评价本节学习情况。第9、10、11周 使机器人有视觉教学目标: 通过前面的学习,我们已经能够控制机器人自如地移动,如直行、转弯等,但这样的机器人还犹如盲人一般,随时可能会撞墙或撞其它障碍物。因此,我们必须为机器人增加视觉功能。教学重难点:如何使机器人通过红外传感器和光敏传感器来识别周围环境。红外传感器的安装红外传感器的接口插针是有方向性的,如果插反了,将会失去作用,自己拆卸、安装时应注意方向,装好以后应该用检测程序检测一下。知识链接2.2.1 红外传感器1红外传感器的安装及工作原理右光敏接口左光敏接口左红外发射接口右红外发射接口红外接收接口左红外调节器右红外调节器红外发射器红外接收器红外传感器由两个红外发射器和一个红外接收器组成,两只红外发射器轮流发出红外信号,当发射的红外信号遇到前方物体阻挡而返回时,会被红外接收器接收;而当前方无障碍时,红外接收器就收不到返回的红外信号。根据红外接收器是否收到返回的红外信号,以及收到的是从哪边的红外发射器发射的信号,就可识别机器人正前方、左前方或右前方有无障碍。红外检测距离可以通过调节主板上的左红外调节器或右红外调节器来调节。红外传感器的安装位置以及和主板连接的接口位置如图2-2-1。 图2-2-1 红外传感器安装位置示意图 2红外接收信息与障碍物位置对应关系在机器人不同方位有障碍时,红外接收器收到的信号值不同,对应关系如下表:红外信号接收情况接收值前方障碍状况无返回信号0无障碍接收到左边的返回信号1左前方有障碍接收到右边的返回信号2右前方有障碍两边的返回信号都收到4正前方有障碍永远循环语句永远循环俗称 “死循环”,执行后不会自动停止。这种循环的JC语句是:while(1) 红外测障函数红外测障函数:ir_detector()知识链接3红外检测程序的设计为了试验红外测障的效果,我们可设计一个如下的小程序,该程序不仅可用于真实环境的检测,也可在仿真环境中模拟检测。图2-2-2 红外检测程序设计提示:(1)拖动控制模块库中的“永远循环”模块连接到主程序下方;(2)拖动传感器模块库中的 “红外测障”模块连接到 “永远循环”模块的下方,将红外传感器接收的值记录在 “红外变量一”中;(3)拖动执行器模块库中的 “显示”模块连接到 “红外测障”模块的下方,“显示”模块参数设置如图2-2-3、2-2-4。图2-2-3 显示红外变量值 图2-2-4 变量百宝箱条件判断语句在JC语言中,判断语句的语法格式如下:IF (条件) 语句序列1 ELSE 语句序列2 即:当条件成立时,自动执行语句序列1,否则自动执行语句序列2。条件中常用的关系运算符有: 大于 = 大于等于= 小于等于!= 不等于= = 等于知识链接从这个程序的JC代码可以看出,“红外测障”模块实际上就是调用了一个红外检测函数:ir_detector( ),该函数可能的返回值为0、1、2、4。调试时,如果在仿真环境中画一个障碍墙,当机器人接近该墙时,液晶屏会显示对应的值。4. 红外检测后的处理当检测到某一方向有障碍时,机器人必须做出相应的处理,否则会发生碰撞。那么,程序中如何判断障碍在哪个方向呢?要实现既读取红外接收器的值,又能判断障碍的方位,就要在程序中对 “红外测障”模块进一步处理。实践体验一【实践名称】机器人避障。【实践目的】掌握用红外传感器测障的方法。【实践项目】控制机器人自动沿着一个任意的方形围墙内侧行走。【实践步骤】1项目分析:要让机器人沿着围墙内侧行走,必须在仿真环境中构建一个方形的围墙(围墙就是障碍)。因围墙的长短是任意的,所以不能用时间来控制机器人转弯,必须在程序中让机器人自动判断是否遇到围墙,如遇到围墙,则右转90,未遇到围墙,则继续直行。如此循环,就可以自如地沿墙内侧行走。最终的程序如图2-2-5。判断是否遇到围墙,可用 “红外测障”模块检测正前方,并判断红外接收值,如果红外接收值是4,则表明遇到墙了。图2-2-5 沿围墙内侧行走的程序 2编程与调试:进入VJC仿真版编程环境,做如下操作:(1)设置一个永远循环结构:拖动控制模块库中的 “永远循环”模块连接到主程序的下方;1单击该按钮,转换为条件判断2在此框内设置判断条件(2)设置红外测障:拖动传感器模块库中的 “红外测障”模块连接到 “永远循环”模块下方的流程线上,此时的 “红外测障”模块只能读取红外信息而无法判断。要实现 “红外测障”的判断功能,必须右键单击流程线上的 “红外测障”模块,打开 “红外测障”模块设置框,如图2-2-6,再继续按图示进行设置。图2-2-6 “红外测障”模块 图2-2-7 “红外测障”模块判断参数默认的判断条件是:“红外变量一= = 前”,即判断正前方有无障碍(如要判断其它方向的障碍,可在此处重新设置),单击 “确定”按钮后,流程线上的 “红外测障”模块图标就从平行四边形框变成了菱形框,如图2-2-5。菱形框左右各有一个分支出口,当正前方有障碍时,程序就会自动按左边“是”的分支路线向下执行;当正前方无障碍时,程序就会自动按右边 “否”的分支路线向下执行;(3)设计红外测障判断后相应的处理模块:当执行左边的分支时,表明遇到了围墙,应该控制机器人右转弯,所以拖一个 “转向”模块到 “红外测障”的左分支上,参数设置如图2-2-8;当执行右分支时,表明前方未遇到围墙,可继续直行前进,因此,拖一个 “启动电机”模块到 “红外测障”的右分支上,参数设置如图2-2-9。图2-2-8 右转90度参数 图2-2-9 直行参数(4)进入仿真调试环境,检验并调试程序。练一练 (1)对照本程序的JC代码进行分析, “红外测障”模块的判断代码是如何编写的,写出这段JC程序:(2)将上述程序改造成沿墙自动搜索前进的程序。 图2-2-10 按左行规则行进提示:使机器人按逆时针划弧线的方式逐步向前探索(俗称“左行规则”),行走方式如图2-2-10的轨迹所示,当检测到正前方有障碍时,说明遇到正前方的墙,应右转90度,当检测到左方有障碍时,说明左行时离墙太近了,应向右转一点,然后继续左行前进,这一思想是机器人走迷宫的一个重要思想。参考程序如图2-2-11。判断左前是否遇到墙判断正前方是否遇到墙如有困难,可参考光盘上的 “正方形内左行前进.flw”程序。 图2-2-11 左行规则搜索前进的程序红外传感器作为机器人的视觉器官之一,它只能识别周围是否有障碍,如果要识别周围光线的强弱,感知光源的位置,就必须启用光敏传感器。1光敏传感器的安装和工作原理能力风暴机器人的两个光敏传感器安装在机器人上盖前端的两侧,位于红外发射器的旁边,见图2-2-1。光敏传感器实际上就是光敏电阻,它能根据外界光线的强弱,返回一个0-255的数值,0代表外界光线最强,255代表外界光线最弱。2外界光信号的检测2.2.2 光敏传感器为了检验光敏传感器是否能检测外界光线的变化,可以仿照红外检测程序的设计方法,设计如下的光亮检测程序,如图2-2-12。图2-2-12 光线亮度检测程序 设计提示:在主程序的流程线上分别拖入一个 “永远循环”模块、“亮度检测”模块和一个 “显示”模块, “亮度检测”模块和 “显示”模块的参数设置如图2-2-13、2-2-14所示。图2-2-13 检测光亮平均值 图2-2-14 显示光线亮度在仿真环境中调试时,先在场地中添加一个 “光源”,然后单击 “运行”按钮,将仿真机器人拖放到光源的附近,观察液晶屏上显示的亮度数字。可以看出,机器人在不同位置,显示的光亮值不同,由此可判断出机器人与光源的相对位置。 实践体验二【实践名称】机器人追光。【实践目的】掌握光敏传感及检测模块的用法。【实践项目】控制一个机器人在识别到有光源时,自动向光源靠近,靠近光源到一定程度时,发声报警并停止前进。 【实践步骤】1 项目分析:控制机器人在前进过程中不断检测两个光敏传感器光值的差和平均值,若平均值为255,则说明机器人未发现光源,可继续按左行规则搜索前进;若平均值不为255,说明机器人已发现光源,再根据两个传感器光值的差,决定机器人应向哪个方向追光,若左光值右光值,则说明光源偏左,机器人应向左转一点,否则说明光源偏右,机器人应向右转一点。参考程序如图2-2-15。判断是否发现光源判断应向何方偏转判断是否靠近光源 图2-2-15 追光程序2编程与调试:进入VJC仿真版编程环境,做如下操作:(1)设置条件循环结构:流程图中第一个 “条件循环”模块,其作用是追到光源后停止动作,循环条件为:“整型变量一= = 0”;(2)设置环境光值:两个 “亮度检测”模块分别读取两个光敏传感器光值的偏差和平均,参数设置如图2-2-16、2-2-17;图2-2-16 取两个光值的偏差 图2-2-17 取两个光值的平均(3)判断是否发现光源:“条件判断”模块中先判断是否发现光源,发现光源的条件如图2-2-18,若满足条件,应进入左分支,调整机器人方向追光,否则进入右分支,继续按左行规则划弧前进; 图2-2-18 判断是否发现光源 图2-2-19 判断是否靠近光源(4)判断是否追到光源:追到光源时(光亮平均值80)后开始起跑出发。【实践步骤】1项目分析:机器人在待命过程中,只有当声音响度达到指定值后,才开始起跑。所以程序一开始就进入 “条件循环”,循环的条件是声音检测值小于指定值80。在循环体内不断检测并显示声音值,当声音超过80时,程序就跳出循环,驱动机器人直线前进。参考程序如图2-3-8。听觉传感函数听觉传感函数:microphone()知识链接图2-3-8 机器人“听令出发”的程序2编程与调试:进入VJC编程环境,做如下操作:(1)设置一个条件循环:在流程线上拖入一个 “条件循环”模块,并设置如图2-3-9所示的条件参数;图2-3-9 “条件循环”参数 图2-3-10 “声音检测”模块(2)在循环体内设置一个 “声音检测”模块:获取外界声音信息,记录在 “声音变量一”中,如图2-3-10;(3)显示声音信息:在 “声音检测”模块下方拖入一个 “显示”模块,显示获取的声音值,设置如图2-3-11;(4)设置直行起跑参数:在条件循环出口的分支上拖入一个 “直行”模块,驱动机器人以80的速度前进3秒。 图2-3-11 显示声音信息 图2-3-12 机器人起跑参数(5)将此程序下载到机器人中,放入场地,拍手发声,检验机器人是否在听到声音后起跑出发。提示:本任务最好用真实的机器人进行实践。如果在仿真环境中调试,必须在仿真场地环境中先设置声源(尽量将声音值设到255),然后将该声源添加到仿真场地中,场地中会出现一个小喇叭,当按下 “运行”按钮后,如果机器人离喇叭较远,机器人可能听不到声音,机器人就原地待命。如果机器人离喇叭较近,机器人听到声源的信号大于80时,机器人就会起跑出发,此时液晶屏显示的声音信息将大于80。 图2-3-13 仿真小迷宫场地主题活动【活动主题】机器人穿越迷宫比赛。【活动说明】迷宫示意图如图2-3-13,机器人从入口(白色圆)处“听令出发”,自动搜寻出口,走出迷宫用时最少、且碰撞次数最少者获胜。这项比赛非常有趣,但也有一定难度,要求综合前面学过的左行规则、避障、避碰并听令出发,是一个综合性较强的探究活动,它既可在真实环境下进行,也可在仿真环境下进行。【活动要求】赛前要构建统一的迷宫进行练习,先分组练习并选拔,然后全班以小组为单位进行决赛。参考程序如图2-3-14所示。判断是否有碰撞判断正前有无障碍判断左方有无障碍图2-3-14 穿越小迷宫程序 【反思评价】回顾本节学习内容,评价本节学习情况。第15、16、17周 机器人的其它知觉功能教学目标:能力风暴机器人除了具有视觉功能、触觉功能和听觉功能外,还有很多可以通过其它传感器来实现的知觉功能。教学重难点:本节我们再了解一些能力风暴机器人的其它传感器。2.4.1 光电编码传感器1光电编码器的安装及工作原理光电编码模块码盘光电编码器是一种能够传递位置信息的传感器,它由光电编码模块及码盘组成。能力风暴机器人有两个光电编码器。两个光电编码模块分别固定在靠近轮子的底座上,两个码盘则安装在两只轮子上,可以随轮子一起转动,如图2-4-1。 图2-4-1 驱动轮与光电编码器光电编码器原理上也是靠发射与接收红外光来工作的。码盘是黑白相间的铝合金制成的圆片,66等分,当码盘随轮子旋转时,黑条和白条交替经过光电编码器,反馈的信号状态不同,即构成一个脉冲。码盘转一圈共产生33个脉冲,每个脉冲的分辨率约为10.91度。图2-4-2 光电编码器工作原理示意图2光电编码器的检测程序在设计光电编码检测程序时,需要调用传感器模块库中的 “转角检测”模块,参考程序如图2-4-3。转角检测函数左轮转角检测函数:rotation(1)右轮转角检测函数:rotation(2)分别获取左轮和右轮在一段时间内转过的脉冲数。知识链接 图2-4-3 光电编码检测程序注意:由于VJC系统仿真版暂不支持 “转角检测”,因此,试验本程序必须在VJC系统开发版中编辑,并下载到真实的机器人中。机器人运行后,用手转动轮子,液晶屏中就会显示转过的脉冲数。3光电编码器的应用由于光电编码器可以累计轮子转过的脉冲数,进而精确测算出轮子转过的角度,因此,光电编码器常用于精确控制转角或控制机器人移动的距离。实践体验一【实践名称】精确定位控制。【实践目的】掌握“转角检测”模块的用法。【实践项目】控制机器人精确前进2米后停止。【实践步骤】1项目分析:要精确控制移动的距离,首先要换算出前进2米相当于机器人驱动轮转过多少个脉冲。(1)光电编码器每产生一个脉冲,驱动轮转角为10.91度;(2)主动轮的直径是65mm,主动轮每转一圈,机器人行走的距离是:2R=23.14(65/2)=204.1(mm)(3)每一个脉冲机器人行走的距离是:204.1 / 336.185(mm)(4)机器人前进2米时,光电编码器产生的脉冲数是: 2000 / 6.185323(个)因此,只需在条件循环中不断检测累计的脉冲数,若脉冲总数超过323个,说明机器人已前进了2米,立即停止移动。 图2-4-7 机器人前进2米程序2.4.2 系统时间传感器2编程与调试:(1)在VJC编程环境下构建如图2-4-7程序,各模块设置如下:图2-4-8 “条件循环”参数 图2-4-9 直行前进参数图2-4-10 “转角检测”模块 图2-4-11 “计算”模块累加脉冲总数(2)将程序下载到真实机器人中,调试并检验能否精确定位。能力风暴机器人内部有一个时间记录器,它能以秒为单位自动记录机器人运行的时间。设计程序时需调用 “系统时间”模块。如图2-4-12的程序可以显示机器人直行前进的时间。 图2-4-12 检测机器人直行前进的时间注意:系统时间清零函数只能在用JC语言编程时使用。地面灰度传感器简介在2.2节我们了解了能力风暴机器人视觉器官的两种传感器,即:红外传感器和光敏传感器,它们可以使机器人看清周围是否有障碍以及光线有多强。实际上能力风暴机器人视觉器官还有其它传感器,例如:地面灰度传感器也是一种视觉传感器,它可以使机器人识别不同颜色的地面,进而判断出机器人当前所处的位置。1地面灰度传感器的安装及工作原理地面灰度传感器是能力风暴机器人的一种扩展套件,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年抗肿瘤药物临床试验终点指标选择
- 2026年企业节能管理制度体系文件
- 初中生环境保护主题班会说课稿
- 科研诚信文化融入资源监管路径
- 科研经费“负面清单”管理的效率边界研究
- 科研伦理审查人员的专业能力提升
- 幼儿的性格说课稿2025学年中职专业课-幼儿心理学-学前教育类-教育与体育大类
- 私域流量助力医疗品牌年轻化
- 神经系统疾病多学科诊疗质控路径
- 神经导航引导下血肿清除术的术中麻醉管理要点
- 2024年昆明市卫生健康委员会直属事业单位招聘考试真题
- 检测中心人员管理制度
- 2025-2030年中国实验动物行业市场深度调研及市场前瞻与投资战略研究报告
- 石油天然气风险勘探目标评价规范
- DB11-T 850-2011 建筑墙体用腻子应用技术规程
- 民事起诉状(物业服务合同纠纷)示范文本
- 项目机电管道支吊架体系计算方案
- 2023年中山市火炬开发区招聘考试真题
- 电影《白日梦想家》课件
- 旋挖钻机安全培训
- 新版中国食物成分表
评论
0/150
提交评论