Scratch 仿真机器人的开发与应用.docx
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Scratch 仿真机器人的开发与应用
2018 年6 月江苏省教育厅发布了《江苏省义务教育信息技术课程纲要(2017 年修订)》
(以下称新纲要),对《江苏省义务教育信息技术课程指导纲要(2013 年修订)》作了很多重要的修改。
其中之一就是课程结构的改变,原先
中小学作为选修的“机器人技术”模块,现在已经提升到必修的地位。
江苏省所有小学六年级都应开设信息技术课,教授学生机器人相关知识。
由于纲要上半年才发布,很多地区机器人采购没有能够纳入2018 年当年预算,这就导致一个局面,许多六年级信息技术教师面临要上没有
机器人的机器人课。
并且,由于地区经济发展差异,机器人设备可能
需要一段时间才能全面装备到位。
也就是说在不少学校,这种局面,要持续一段较长的时间。
目前,六年级机器人教学开展的方式五花八门。
第一种当然是有标
准装备的,按标准要求实施;第二种有其他类型机器人如乐高机器人,教授其他机器人;第三种使用虚拟机器人如萝卜圈进行教学;第四种,照本宣科,照着书干讲;第五种,不讲机器人,以其他内容代替。
笔者所在的学校也没有机器人器材,原本打算也用萝卜圈虚拟机器
人来教学,但萝卜圈有些问题,一是很多内容要收费;二是不是单机版,不太稳定,机房上课容易掉线;三是三维虚拟机器人,基础部分
学生上手也需要很长时间。
针对这些问题,笔者就想如果能有一款单
机版免费的虚拟机器人就好了,但没能找到。
于是想到和学生一起自
己动手用Scratch 制作一个仿真机器人,然后结合六年级教材等课程
资源进行机器人教学。
一、用 Scratch 制作紫光教育仿真机器人
机器人和普通计算机程序最大的区别在于,机器人在运行时实
际环境对运行结果会产生很大的影响,举个简单的例子,Scratch 前
进多少步,出来就是直线平移,但机器人是走不出这个效果的,机器
人会偏左或偏右,速度会因为当时的电池电压变快或者慢。
这就
要求,在制作仿真机器人的时候,要考虑到实际环境的因素,进行程序模拟。
(一)电机
定义启动电机模块。
紫光教育机器人的有左右两个电机,可设定正反转和速度。
有学者们
在仿真时,简化为三个参数:左电机速度leftSpeed,取值范围-10~10;右电机速度leftSpeed,取值范围-10~10,延时millisecond,毫秒。
程序逻辑:
1.当延时(millisecond)大于10 毫秒时,机器运动,低于10 毫秒,时间太短,真实的
机器也走不动,然后将延时以500:1 的比例换算成循环次数。
2.(1)当左右电机速度一致的时候,以电机速度前进或后退。
(2)当左右电机速度不一致的时候,以速度差作为角度,先进行转向。
再以左右电机速度和
的一半,进行前进或后退。
3.模拟环境干扰,让机器产生-5~5 度的随机转向。
这样仿真机器人就接近真实的紫光教育机器人了,当然不可能完美,在教学的过程中,
和学生一起发现问题,进行逐步改进。
(二)传感器
定义传感器侦测模块,同时定义两个变量“灰度传感器1”和“灰度传感器2”用以返
回传感器侦测模块计算出来的值。
从上文仿真机器人图可以看出,红色代表灰度传感器1,通过检测,如果红色碰到
的是白色,设置变量“灰度传感器1”为1023;碰到的是黑色,设置变量“灰度传感器1”
为0,还可以设置碰到其他颜色时,是其他数值。
同理,绿色代表灰度传感器2,通过
检测绿色碰到的颜色,返回相应的灰度值。
这样一个简单的Scratch 紫光教育仿真机器人就完
成了。
二、用仿真机器人进行机器人教学
下面就抛砖引玉,以《第7 课机器人沿线行走》为例讲一讲没有机器人的机器人
课可以怎么讲?
师:首先,有学者们了解(或者复习)一下,机器人呢,有两个轮子,这两个轮子接在两个
电机上,两个电机分别控制,可以正转,停止和反转。
师:老师出一道题,走一条黑色的直线。
有学者们尝试利用机器人平台软件来写一下这个
程序。
学生练习用紫光机器人平台软件写程序。
师:同学们肯定认为这特简单,很快就写好了。
就像这位
同学一样,第一个电机控件,设置左右两个电机都正转
10,然后延时控件延时几秒,再来一个电机,左右停止。
从理论上讲,这样是对的,可实际呢。
有学者们来实
践一
下,因为没有机器人,老师用模拟器给大家演示一下。
Scratch 仿真机器人模拟演示。
师:为什么跑不正?两个电机速度不是一样的吗?大家可能想不明白。
有学者们大家做一个游戏,有学者们请一位同学完全蒙着眼睛,让他走直线。
看
看他走得直吗?
师:这位同学为什么走不直呢?他平时是不是也走不直吗?
学生讨论。
师:经过大家讨论,有学者们明白了,在实际中,两节脚走出的长度不可能完全一样,同样的,两个电机和轮子也不可能走出同样的速度,必然会一个快一个慢,或者时快时慢,怎么办?有学者们人是怎么走得直的呢?因为有学者们有眼睛,当有学者们发现向左歪了,就向右
转一点,向右歪了,就向左转一点。
有学者们的机器人也有一双眼睛,当机器人用上眼睛就能歪歪扭扭地走得直了,有学者们看一下演示。
Scratch 仿真机器人模拟演示。
在走的过程中,机器人在不停地调整方向,最终走直了。
大家想不想也让自己的机器人能看着路走呢?有学者们就来学习机器人沿线走。
师:第一步,有学者们来认识机器人的眼睛,灰度传感器。
用讲授法讲解一下灰度传感器,及在编程环境中如何使用,让学生在紫光机器人平台上编程实践一下,教师要逐一检查。
师:有学者们再来在Scratch 中用紫光教育仿真机器人编程实践一下,看一看效
果。
学生熟悉Scratch 仿真机器人的传感器。
师:下面,有学者们就来学习让机器人看着线走路,有学者们刚才已经知道了,中间值可以是400
或450,有学者们设置一个变量叫blank 为450,当灰度传感器读取到的值大于450,有学者们认为它
看到了白色,当小于等于450 时,有学者们认为它看到了黑线。
师:机器人在运行过程中,会遇到哪些情况呢,有学者们一种一种情况进行讨论编程。
共5 种情况,教师在讲授时,可以和学生先讨论原理,然后再让学生在紫光机器人平
台和Scratch 中用仿真机器人模块编写程序。
紫光机器人平台写出来的程序,教师要通
过多种方式检查,确保每个学生都得到正确的反馈。
Scratch 平台上仿真机器人让学生
感受真实的机器人跑起是什么情况。
最后,要引导学生加上循环,两个平台上的程序就写好了。
让学生用Scratch 仿真
机器人跑跑不同的场地,感受程序的魅力。
再让学生看一遍真实的录像。
这样学生理解了
为什么要这样写程序,在这个过程中,教师的检查、Scratch 仿真机器人的使用,起到了学
生把程序加载到真实机器人验证的这样一个过程。
学生只要掌握了机器的原理和编程方法,一旦有一天,有了设备,学生很快就能上手。
而且,因为知道原理,学生遇到其他机器人,其他编程环境也能很快上手。
有学者们基础的教学目标已经达成了,当然在这个过程中,学生操作机器人所能培养的动手能力,这就没办法了。
但是,信息意识、计算思维的培养一个没落下。
新纲要指出,工具性是中小学信息技术课程性质之一,信息技术不仅是学生学习的内容,也是学生学习的工具。
信息技术教学中一直强调要重视运用信息技术工具解决生活和学习中
的具体问题,注重将信息技术充分运用到各门学科的学习活动中去,在信息技术学科机器人教学中运行信息技术Scratch 更是题中应有之意。