第一篇:“灭火机器人”教学案例
“灭火机器人”培训经验介绍
和衷小学
苏峻
机器人灭火是中小学机器人比赛的常规项目,怎样提高机器人灭火的速度和稳定性是我们需要重点解决的问题。我校在近几年中四次参加了该项目的比赛。现将平时训练及比赛的经验总结如下。
一、整体算法
1、第一搜索方案
我校使用右手法则为主的迷宫搜索方法,从起点向右走左手法则进4号房间,如果有火,进去扑灭,如果没有,后退走右手法则搜索3号房间,2号和1号房间做同样处理。如果机器人漏过了有火房间,则进入补救搜索阶段。
2、补救搜索方案
补救搜索方案强调的是成功率,我们使用了简单的右手法则,用前面的传感器检测1、2、3号房间,在机器人左侧向左下角方向安装一个火焰检测传感器,在路过4号房间时发现里面的火焰。如果机器人在1、2、3号房间内发现火焰,进入0号房间灭火程序。0号房间灭火程序是不区分房间的通用灭火程序,灭火成功后使用万能回家算法回家,这样的目的是提高稳定性。我们使用首选方案来追求好成绩,用补救来处理意外情况。
二、补救算法体系
机器人首先使用无火不进房间的第1搜索方案,如果没有发现火焰,使用补救搜索方案,在没有发现火焰的情况下机器人不停止动作。搜索到火焰后机器人进入灭火程序,如果第1灭火方案灭火失败,机器人开始调用第1补救方案。第1补救使用后退,对光,前进的方法,2次尝试还没有灭火成功,机器人调用第2补救方案,第二补救使用下图所示的方法:
机器人先走右手法则到白线,停在那里判断前面的火焰强弱,如果火焰强,开始灭火,如果没有火焰,后退,转身,走左手法则到另一条白线,另一白线附近没有发现火,又后退转身走右手,这样反复两次,如果还是没有灭火成功,机器人调用第3补救方案,第3补救类似于补救搜索方案,机器人前进到墙壁,走右手法则到其他房间搜索火焰。如果发现了火焰,又进入灭火程序。这样算法就构成了一个环,也就是说这里使用了复杂的递归函数,机器人是不灭火焰绝不罢休,除非内存空间被耗尽。第1补救方案主要解决机器人陷在灭火圈里面或撞在灭火圈附近的墙壁上等问题,第2补救方案解决机器人离火焰较远的问题,第3补救是为了解决机器人把无火房间当有火的问题。这样有计划地使用不同的补救方案,搜索时间逐渐增加,搜索范围逐渐扩大,有效地处理了速度与稳定之间的平衡。
三、万能回家算法
一个比较完善的灭火机器人一般把迷宫搜索分为两个阶段,首先使用第一方案,第一方案大多使用无火不进房间的方法,如果第一时间没有发现火焰,则机器人自动进入补救搜索阶段,补救搜索一般使用简单的“左手法则”或“右手法则”,由于机器人离开启动的时间比较久,机器人已经行走了很大一段路程,这时候如果还想通过计算白线的数目来知道自己处于哪个房间是很难的,错误的判断将导致机器人回家失败。所以开发一种不管哪个房间都能够成功回家的算法是很有必要的,据悉,新疆的两位高中生已经找到了这一算法,但他们并没有发表论文,在这里我们向大家公开自己的研究成果,以利于相互促进、共同提高。
本算法的关键是要找到一种能够计算是否到家,又不影响迷宫行走的方法,如果机器人判断自己已经回家则停止所有动作,如果到了一条白线,但又不是家,则机器人要越过这条白线继续走迷宫。万能回家算法适合用右手法则来实现,这一算法应用在1、2、4号房间效率很高,在这里我们首先来讨论3号房间的回家问题,如下图所示: 机器人首先走一段时间右手,再走出房门,以后都按照下面的方法处理:走迷宫一直到白线,向左转弧线并进行到家判断,如果到家则停止动作,如果没有到家则再向右划弧线直到看到墙壁,继续走迷宫并按照上述方法处理,下面对最主要的到家判断进行具体描述。
int djqr()//到家确认模块
{ int bs=120;//白线的灰度值
float md;//白线密度
int n=0;//检测次数
int bssm=0;//白线数目
long qst;//时间变量,控制转左弧线
long qtt;///时间变量,控制地面灰度测量 motor(0,80);//前进1小段 motor(1,80);sleep(0.03);qst=mseconds();qtt=mseconds();while(mseconds()-qst<500l)// 转左弧线半秒钟
motor(0,-30);motor(1,30);
if(mseconds()-qtt>10l)//每10毫秒收集1次地面灰度值 { qtt=mseconds();n++;//检测地面的次数
if(analog(2) stop(); md=(float)bssm/(float)n;//计算白线在总检测次数中的比例 if(md>0.6)//如果白线比例很高 return(1);//表示到家了 else return(0);// 表示没有到家 } 上述回家算法已在本校实验室验证通过,本算法应用在1、2、4号房间同样正确,并且可以取得很高的效率。 四、防止30秒静止不动的算法 上面介绍了补救算法和万能回家算法,似乎机器人灭火回家的成功率就会很高,但在测试过程中机器人还是会出现30秒静止,转5个相同的圈,撞倒蜡烛等导致任务失败的情况。为此,我们有必要在程序中加入防止上述情况出现的代码,提高稳定性。关于防止30秒静止不动,我们已经找到比较稳定的算法,介绍如下。 通过实验,我们发现导致机器人静止不动的主要原因有下面两点,一种情况是代码进入了死循环。例如,为了让机器人前进到墙,假设前面安装了13号红外避障传感器,下面的代码: while(digital(13)!=1)//前进到墙模块 { motor(0,60);motor(1,60);} 看上去没有任何错误,但当机器人走的不好,如上图位置时,由于前面的传感器永远不会检测到墙壁,那么,上面的循环条件永远得到满足,这里就成了死循环代码,这样机器人就会30秒静止不动.为此我们可以做以下改进: st=mseconds();//记下开始前进时间 while(digital(13)!=1)//如果看不到墙壁 { motor(0,60);//前进 motor(1,60);if(mseconds()-st>1000L)//1秒后退出循环,1000毫秒时间根据需要可以 //修改,比实际需要长一点 break;//退出循环 } 通过时间变量的引入,确保1秒后退出循环,这类死循环机器人经常发生,我们要小心应用循环语句,我们把这一情况叫机器人特色的死循环。 第2种经常发生的情况是机器人做出自相矛盾的微动作,从人的视觉上来说是静止不动,例如纳英特机器人在走左手法则,在位置不好的时候。 机器人前面的传感器看不到墙壁,根据左手法则,它要左转,转了一点以后,前面的传感器看到了墙壁,根据法则又要右转,这样循环往复,机器人就在这里停步不前,对此我们可以使用类似下面的算法,下面的算法是走到一条白线的安全方法,这里是为了走回家。Daojia=0;while(daojia==0){ gst=mseconds(); while(mseconds()-gst<5000l)//每5秒种调整姿态1次 {i=migong_right();//走右手同时检测白线的函数 if(i==1)//检测到白线 { daojia=1;stop();break;} } if(daojia==0)//还没有到家,调整机器人姿态1次。{ motor(0,-100);//后退1点 motor(1,-100);sleep(0.03); motor(0,100);//左转1点 motor(1,-100);sleep(0.08);} } 从某点出发走左手,如果在正常情况下4秒可以回家,但现在5秒还没有回家,那么调整动作就会起作用。只要我们选择合适的参数,就可以防止机器人30秒静止不动,又不影响正常行走时的效率。 教学反思 《机器人灭火——迷宫灭火》是四川教育出版社九年级信息技术下册第13课,本学期的教材是机器人的系列教学,而这一课也是第8课走迷宫和第12课寻找火源的整合课程,让机器人从开始位置出发,若发现火焰,则启动灭火程序,灭火,若没有发现火焰,则继续探寻迷宫,寻找火焰。 本堂课从结果来看,基本完成了教学目标,学生在分小组的学习中,通过讨论、交流,完成了流程图的设计、机器人的搭建方案和程序的编写。因为有前面课程的铺垫,学生对机器人程序编写已经“游刃有余”,所以在引到学生从走迷宫与寻火源的基础上,让他们探索、讨论,找出机器人迷宫灭火的设计方法,他们的思维活跃发散,基本已经“顺理成章”地完成各个任务。 当然,我也发现存在不少问题。第一,本来需要学生讨论、探索、思考,产生自己的想法与设计,再来对比书上的参考,但是个别小组的学生直接翻看教科书上,跳过自己思维的过程,这样对他们学习编程没有任何好处;第二,学生差异大的状况依然存在,少数学生在前面的学习中已经落后其他同学,知识代帐,而这节课又是前面课程的整合,虽然前面有巩固的练习,但还是有个别学生还是没能理解,导致整节课“坐飞机”的感觉;第三,时间安排仍然需要调节,虽然将学生自行组装机器人、检测光值与火焰值、改进程序等这些环节调至第二堂课进行,但本节课内容依然繁多,没能给学生足够的时间进行探索、思考。 此外,通过机器人这一系列教学,我发现对学生的信息技术素养的培养,有很大帮助。 1、学生积极性很高。兴趣是最好的老师,当学生他自己对机器人很感兴趣时,产生内驱力,在结合教师引导和同学间的讨论,能更好的培养学生探索、发现、解决问题的能力。 2、实践性很强。与学习其他软件相比,学习机器人还会考验学生的动手操作能力:如何搭建实物机器人,如何测得当前环境下的光值与火焰值,机器人不按自己设定编程行走的原因„„在实际动手中,会遇见很多很多突发问题,更能充分培养学生分析问题、解决问题的能力。 3、培养逻辑能力。设计机器人的行动,就要从流程图开始构思,然后将它转化成程序,这是模块化程序编写的基本方式,不仅锻炼了他们程序编写的能力,更是对他们逻辑思维的发展有很大提高。 ABB机器人教学案例 一、产品的搬运及自动计数 1、当机器人的启动信号di2=1时,开始将产品从A处沿着半圆弧搬运到B处的产品箱内,吸盘控制信号为do1; 2、每一个产品箱最多装3件产品,用参数srg1计数; 3、当产品箱装满3件产品,即reg1=3时,计数灯do2变亮,等待3秒; 4、最后机器人返回最佳等待位置(1轴0度,2轴15度,3轴-15度,4轴0度,5轴90度,6轴0度) 二、机器人沿三角形和圆形轨迹的运动 1、创建例行程序1,编写圆形轨迹的运动程序; 2、创建例行程序2,编写三角形轨迹的运动程序,并按如下要求编写程序; (1)判断外部输入信号di2的状态,如果di2=1,则开始执行沿三角形轨迹运动,三角形轨迹用位置偏移功能Offs确定; (2)用FOR指令重复执行3次圆形轨迹的运动程序,圆形轨迹的运动调用例行程序1; (3)沿圆形轨迹运动完毕,等待3秒; (4)最后机器人返回最佳等待位置(1轴0度,2轴15度,3轴-15度,4轴0度,5轴90度,6轴0度) 三、机器人沿正方形轨迹的移动 (1)、例行程序名称为Rmove(2)、当安全门信号di10-1和机器人启动信号di10-2全部闭合后,机器人开始工作。 (3)、机器人的工作内容为:机器人沿正方形轨迹运动,正方形轨迹用位置偏移功能算出,重复运行2次后,指示灯do10-1变亮,等待5秒后,指示灯do10-1熄灭。(4)、机器人回到安全位置。 四、机器人位置偏移功能 (1)、建立工具坐标系和工件坐标系。 (2)、创建一个例行程序,编写机器人沿长方形轨迹重复运动两遍(其中一偏为正向的长方形,另一偏位斜向的长方形)的程序,长方形轨迹的长宽分别是300mm和200mm,要求以长方形的其中一个顶点为基准点,利用位置偏移功能确定长方形的另外3个点。运动速度最高不超过V300,然后再主程序中用调用该例行程序。 五、机器人焊接 (1)、机器人焊接轨迹为直径150mm的半圆; (2)、机器人运动速度最高不超过V300; (3)、用计时器记录每焊接一件产品的时间; (4)、焊接完三个产品后显示“Finshuing”,然后回机械零点,结束工作。 认识机器人教学案例 [背景材料] 我们学校准备要引进机器人工作室,这对我们信息技术教师来说即使一个机遇也是一个挑战,因为我们要重头开始学习,但也开拓了我们的视野,我根据青岛出版社的义务教育实验教科书《初中信息技术》九年级上册第四单元第一课《认识机器人》的教学目标围绕制定的教学案例。在七年级某一班级上了一节课,主要是看看学生的反应能力与接受新知识的能力。 二、教学设计 [教学目标] 知识目标:了解机器人的概念、特征、分类与用途,简单了解机器人的发展历程。 技能目标:熟练利用网络查找信息和处理信息。 情感目标:培养学生对机器人的兴趣,培养学生关心科技、热爱科学、勇于探索的精神。 [教学重点与难点] 教学重点:机器人的概念、特征;学生的自学能力和探索精神的培养。 难点分析:机器人的概念及其特征;学生自我评价。 [案例描述] 片断1 观看视频引入教学内容 师:21世纪被信息技术专家誉为智能机器人的时代,机器人在各行各业将得到更加广泛的应用,机器人技术综合机械工程、电子工程、传感器应用、信息技术、数学、物理等多种学科,它代表着一个国家的高科技发展水平。同学们在生活中有没有接触过机器人?在影视作品中的机器人是什么样的?请同学给大家描述一下。 学生积极举手描述自己生活中、电影中见过的机器人,课堂气氛活跃,教师适时导入新课: 师:下面请同学们看一段关于智能机器人的视频。(教师播放关于机器人比赛的视频) 观看过后:同学们举了这么多机器人的例子,我们从刚才的视频上也看到机器人具有类似人类的形体和较高的智能。那么,到底什么是机器人呢?是不是只有在高科技实验室、科幻电影里面具有与人类相似的形体的才叫机器人呢? 学生开始讨论,问题初步涉及到机器人的特征方面。 师:现实生活中,机器人无处不在,并在我们的生活中起着重要的作用。你是否注意过商场的自动门、街头的取款机?这就是机器人!机器人就在我们身边!那么人们是怎么定义机器人的呢? 片断2 以任务为驱动开展教学 师:请同学们自学课本内容回答以下问题 1、什么是机器人? 2、机器人有什么特征?结合机器人的特征回答为什么商场的自动门、街头的取款机也称为机器人? 学生阅读课本内容,总结归纳知识点。几分钟后,大部分学生总结出自己的答案,开始踊跃举手。 学生1:机器人是一种具有类似某些生物器官功能、用以完成特定操作和移动任务的、可通过编程来控制的机械电子装置。 学生2:机器人应该是由计算机控制的通过编排程序具有某些功能的机械。 师:从同学们的回答中可以看出机器人的外表不必像人,只要在功能上能模拟生物的动作和行为,都可以称作机器人。下面请同学们总结机器人的基本特征。 学生回答自己归纳、总结的机器人特征: 1.大脑: 控制机器人的程序。 2.动作: 任何机器人都有一定的动作表现。 3.身体: 是一种物理状态,具有一定的形态。 师:回过头来,我们看看刚才谈到的商场自动门是不是机器人(与以上特征一一比对,得出它是机器人的结论)。 师:下面请同学们思考,你们面前的电脑是不是机器人?为什么? 教师扩展知识引出机器与机器人的区别: (机器人拥有传感器,运用了感测技术,对人类有回馈的作用,而机器则只能完全由人或程序来控制,不会因外在情况的改变而影响自己的动作。) 片断3 了解机器人的发展史,增加学生对机器人的兴趣 学生学习到这里,已经对机器人产生了兴趣,迫切想了解更多的关于机器人的知识,有些学生开始在下面低声讨论自己对机器人认识。教师在学生学习兴趣高涨时介绍机器人的历史,可增加学生对机器人、对信息技术的学习兴趣。 师:机器人的出现,使人类摆脱了繁重危险的体力劳动,标志着人类社会的进步。从1961年生产出第一台工业机器人到机器人研制开发蓬勃发展的今天,机器人主要经历了三个发展阶段„„ (教师详细介绍机器人发展的三个阶段及各阶段机器人的特征,着重介绍第三代机器人---智能机器人的知识,激发学生的兴趣,为下面的学习内容打下基础。) 片断4 分组活动扩展知识 师:现在,智能机器人已广泛应用在社会的各个领域。下面请大家以小组合作的形式通过互联网查找、学习在生产、生活中应用了哪些机器人?它们的用途是什么?并填写表格1-3。 (1)成立小组,分工合作,制定活动计划。 姓名 特长 任务 表1:小组成员分工表 (2)确定活动的探索主题,构建问题框架。 机器人名称 应用领域 关键词 用途 资料来源 表2:机器人应用情况调查表 (3)评价要求 通过自评和互评的方式进行评价,标准如下: 评价项目 星级 探究主题 较明确 明确 明确且有新意 关键词 定位欠准确 基本切中主题 定位准确 信息检索 与主题关联少 与主题有一定关系 与主题密切相关 合作学习 有简单工作计划,分工不明确 工作计划较详细,分工基本明确 工作计划详细,分工明确,小组协作好 评语 表3:评价表 学生在听完老师的任务和要求后分组进行学习,教师巡视学生操作,收集掌握学生学习过程的信息: 信息1:全部学生都能够按要求分组学习,合理分配各自的任务。 信息2:大部分学生能够通过网络完成学习任务,填写完学习表格。有三分之一的学生完成的较出色。 信息3:少部分学生在自我评价环节没有按教师提供的评价标准进行。 三、教学反思 良好的开端是成功的一半。作为课堂教学的一个必需环节,课堂的导入是学生主体地位的依托,也是教师主导作用的体现。教师要格外重视课堂导入设计,要创造良好的氛围,调整学生的情绪。更何况现代教学论认为:教学效果在很大程度上取决于学生内在心理状态(即情感心理状态)。信息技术课主导应用任务驱动法展开教学。有些学生一上课就问“老师,今天有什么任务”。这样机械地应用任务教学法,学生不免对信息技术课产生一丝厌倦。如何在课堂导入环节下功夫,自然而然地引入到课堂所要完成的任务上来,是一堂课良好开端的关键。在本课中开始我向学生展示了关于机器人的图片和有意思的视频,效果不错,学生的注意力一直围绕着本节课,使教学活动能够顺利开展,学生对知识的掌握程度较高。 大胆放手让学生去尝试,从中了解学生的操作水平面,适时调整教学策略。在片断4中,按照新课程的教学理念,教师要求学生分组学习,独立填写学习表格,锻炼学生的自主探索精神。在自评与互评环节,由于评价项目较多,有的学生没有充分理解教师的要求,导致评价环节开展的不顺利,这就要求教师在学生自我评价前引导学生理解各项评价的要求。任务完成后教师从学生中寻找优秀作业(作品),通过对优秀作业(作品)的讲解来突破教学环节,既解决了问题,又给优秀学生以展示的机会,对这些学生在信息技术的探索中无疑注入了强劲的推动剂。 《燃烧与灭火》教学案例 ——上海音乐学院实验学校 陶晓明 《燃烧与灭火》是初中科学课的一堂有关生命教育系列的课,围绕着对火的认识、火是怎么产生的、扩张的、如何灭火,最重要的是如何在火灾的情况下逃生。这是一堂对学生来说是非常重要的学习内容,对自己和对他人有非常重要的意义,为此,为了让学生好好掌握这堂课的教学,设计了一系列旨在激发学生兴趣的实验项目,更好的提高学习效率,掌握好这一堂课的内容。 科学课是二期课改后新生的一门综合类的科学学科,有关生活的各个方面,是一门非常有用的学科,但由于学生主课学习任务非常繁重,很多学生对这门课不够重视,但有些内容还是相当重要,如这一章有关生命教育的内容,提高学生的学习兴趣和参与度,真正掌握这堂课的学习内容就摆在我面前的一个问题,就必须要设计很多有趣的实验来吸引学生。第一个问题是解决火的双重性,在学生脑海里,火的概念就是火灾,是很可怕的东西,但事实上火对我们人类文明的进步去的举足轻重的作用,没有火,熟食、取暖、工具等等都没有,为了让学生知道这一点,我课前事先把班级分成2小组,正方和反方,各自搜索火的利和弊,在课堂上以辩论的方式进行辩论,学生兴趣高昂,个个不服输,在辩论中学生自然就明白了火的双重性。辩论是一个很好教学手段,特别是对一个没有定论的事例,学生在辩论中学到很多知识,有可能连老师都想不到,但辩论的过程老师要适当参与、点评、及组织好各个环节,有可能学生在辩论的过程中方向偏差或出意外。第二个问题是燃烧的条件,燃烧时要有一定条件的,但学生往往会忽视这一点,也不大去研究燃烧需要什么条件,也很难自己研究,对此口头说是万万不行的必须要通过实验来让学生清楚的意识到燃烧的条件。猜想是很好的方式,特别是对没有条件自己研究的项目,学生对燃烧的条件有各种合理和不合理的猜想,组织学生讨论并去除明显不合理的猜想,剩下合理但不确定的猜想只有通过实验来得到。燃烧的条件是:氧气、着火点、可燃物。氧气是燃烧必不可少的条件,表明这一实验就必须实验。磷的燃烧会产生大量烟雾,现象明显,且着火点只有40摄氏度。把它放入50摄氏度的热水中,没有燃烧起来,学生一看就知道没有氧气,燃烧是不会发生的。这个实验只是演示实验,因为白磷有毒不适合学生做,且要在通风环境下做,并适当告知学生采取一定措施如捂鼻子等。着火点的实验我用纸盒烧水来证明,火直接接触纸盒但没有燃烧,因为水的温度达不到纸的燃点,纸就燃烧不起来。火烧纸,纸烧不起来,对学生来讲是很有触动的,学生有极大的兴趣,这个危险性没有前面的高,建议进行学生实验,对于初一的学生来讲,自己动手实验的本领还不是很扎实,老师要适当的点拨,指导,特别是使用酒精灯,虽然预备班时有讲到过如何使用酒精灯,但可能会有所遗忘,且涉及到火的实验要特别当心,酒精灯的熄灭是有一定规范的,等冒盖2次。这也是初三学习化学时有关酒精灯的操作规范所要求的。学生通过自己动手,生动形象的实验现象铭记在心,提高了学生的学习效率。如何灭火,是一个衍生问题,因为前面刚刚搞清楚燃烧的条件,如何灭火自然学生会想到三个燃烧条件,所以这一环节运用讨论法是再适当不过了,学生开动脑筋,各抒己见,讨论如何灭火,怎么样的灭火方式是最好的,学生间开展讨论,如普通住宅和图书馆着火,他们的灭火方式上有什么不同,怎么样的方式比较合理,森林火灾,油库火灾等等,学生参与度高,教学效果自然好。但要注意的是,学生所讨论的方案可能并不是最好的,这就需要老师给出,因为学生的知识水平,生活经验有限,在特殊情况下,采取正确的灭火方案时相当重要的,这就需要老师来给出,而不是全盘由学生来讨论得出。最后一个问题是火灾逃生的教学,这是本堂课的重点,也是整个章节生命教育的核心,学生掌握正确的逃生方法,对将来时非常有用的。采取怎么样的教学策略相当关键。笔者最终选择视频加讨论的策略,通过视频录像,展示火场的各种复杂情形,危机状况下的各种逃生方法,以生动形象的表达在逃生过程中的各个细节和注意事项。加上讨论是为了让学生发表自己心中的疑惑,为什么要这样逃生,换种方法是否可行,因为在一些特定的场合,自认为可行的方案可并不是最好的,错误的逃生方案可能对自己和家人带来更大的危险。为此必须要进行一定的讨论,加入不是片子里所说的方案,用其他的方案是否可行,例如,在3楼发生大面积火灾,是不是可以往楼上逃,不同的情况可能答案截然相反,是闭门不出还是果断出门寻找逃生路线等。在讨论中找到最合适有效的逃生方案。 通过本堂课教学,学生能很好的掌握《燃烧与灭火》这一课的教学内容,激发学生兴趣和适当的教学策略是一堂成功的课非常重要的因素。第二篇:《机器人灭火——迷宫灭火》教学反思
第三篇:ABB机器人教学案例
第四篇:认识机器人教学案例
第五篇:《燃烧与灭火》教学案例