机器人教学中的点滴记录与思考
2015-01-29杨丰秋
杨丰秋
摘 要 深圳已普及机器人教学课堂,配备了专业教材和设备,形成常规教育教学。从教学中搜集部分知识亮点,结合学校教学模式,记录将探究性学习融入课堂教学实践过程。
关键词 人工智能;机器人教学;循环
中图分类号:G633.67 文献标识码:B
文章编号:1671-489X(2015)01-0042-04
人工智能的出现是科学发展史上的一个必然。机器人教学是从认识生活中的智能机器人开始的,了解机器人的系统,探秘机器人的工作原理,感受人工智能,学习程序算法设计,培养逻辑思维,同时引导学生养成细致全面思考问题的好习惯。
1 开启学生探索人工智能的奥秘之门
现实生活中,人们处处可以感受到人工智能带来的舒适和便捷。如:学习外语时用到的翻译软件,手机的手写输入功能,洗手时用到的自动感应水龙头,楼道里的自动感应灯,汽车里的倒车雷达,等等[1]。这些设备是如何制作出来的?为什么这些设备具备了人类才有的智慧和能力呢?
机器人教学中首先引入了“人工智能”这个专业术语,是指由人类制造出来的“机器”所表现出来的智慧和能力,它具备人类智能具有的感知、思维和行为能力,具备这三种能力的机器就被称为“智能机器人”,这个具有前瞻性的科技领域给学生带来了莫大的兴趣和探索热情。课堂上,有学生首先分享了家里的扫地机器人,说扫地机器人很聪明,家人早上把门一关,放心地去上班上学了,晚上回到家里,家里已变得干干净净了,那都是它的功劳。接着又有学生说在科技节展馆门口看到一款机器人,见到有人进来了,就过来跟你握手,然后说:“你好!请进!”孩子们交流热烈,急切地想寻求答案来解释为什么机器人具有人类智慧,具备感应和判断行为的能力。
接下来,课堂里展开主题为“人工智能和机器人”的教育教学内容,向他们讲解机器人的大脑也如同人的大脑一样的工作,先利用传感器对外界接收信息(感觉),运用知识进行判断(分析),然后输出反应(运动),这一工作过程就是机器人智能的体现。以避障机器人行动步骤流程图(图1)为例,流程图分析:要让避障机器人拥有躲避障碍物的判断智能,首先必须让它能听懂语言——计算机程序,判断前面是否有障碍物,并执行它转向或直行动作。目前,人工智能领域的研究方向有很多,突出表现在传感器技术和人机交互等领域,相信随着时代的进步和科技的发展,在未来社会里,人工智能的研究成果将能够创造出更多更高级产品,人工智能将为发展经济和改善人类生活做出更大的贡献。
2 理解并运用变量和赋值语句
在教学过程中,笔者发现同学们对变量和赋值语句的理解是有困难的,大部分学生不能深切理解到变量的作用,变量和赋值语句的关系。在课堂上,有学生就经常举手提问:“老师,变量究竟有什么作用?为什么要引出变量?什么叫赋值?两者之间有什么联系呢?”笔者以制作声控灯为例,详细说明变量和赋值语句的作用和关系。
变量[2]
1)概念:变量是为程序中可能改变的数据提供的临时存储空间,通过对应的变量名来使用其中存储的数据。
2)变量包括两个重要元素:变量名和存储的数据。
赋值语句
1)功能:通过赋值语句可以给某个变量赋予一个具体的值。
2)举例:a=1表示将数值1赋予给变量a。
3)格式:变量名=表达式,需强调的是:这里的“=”号称为赋值号,而不能读等号,表示将计算右边表达式的值赋予给左边的变量。
变量和赋值语句的关系 通过赋值语句给变量赋值,变量就不再是一个单纯的符号了,而是有对应的数值和意义,而不同的数值就可以记录某个设备不同的状态了。例:用数值“0”记录灯灭的状态,用数值“1”记录灯开状态。
在图形化编程中使用变量和赋值语句 以诺宝RC图形化编程系统以例,每一种传感器都相应地有预设的变量供使用,如图2所示。
条件表达式含义:表示将数值“0”赋予给光感变量,即光感传感器检测没有光线的条件成立。
除了对应传感器的变量,图形化编程系统中还内置了10个通用变量,供编写程序时灵活选用,如图3所示。
通过数字化传感器的“变量赋值”模块来实现对通用变量的赋值。图3表示将数值“1”赋予给“通用变量1”。
在编程中,经常会同时需要给传感器变量和通用变量赋予具体的数值。举例:使用变量赋值制作声控灯(图4)。
程序算法分析:首先通过变量赋值给通用变量1赋予数值“0”来记录灯灭的状态,然后通过声音传感器条件判断外界是否有声音传过来,如果检测有声音,则马上开灯,而这种灯开的状态则恰好需要通用变量1被赋予“1”来记录,所以在“发光”模块下面增加一个变量赋值模块来记录灯已经打开了。此程序就充分地把变量赋值的功能和价值体现出来了。
3 巧妙使用循环语句
通过编写使用变量赋值制作声控灯的程序,在程序中应用了变量赋值,在算法分析时加深了学生对变量和赋值语句的理解。但很快又碰到新问题了,在平台上仿真程序运行过程中,有学生发现机器人检测到外界有声音时,重复切换开关灯状态,在仿真平台上不停地“眨眼睛”,根本不是算法分析时所得出的听到声音就开灯的状态,难道是我们的程序编写错了?怎么会出现这种结果呢?看来,新的问题又激发他们进一步探究新知识的兴趣了,这样又把学生带入分析和思考中了。
我让他们先自学了教材,大部分学生说知识点很抽象,不好理解,好像还缺个什么循环,至于为什么要用到这个循环,他们完全没有建立清晰的算法思维,这时候就需要老师的引导和分析了。
我首先从机器人常用输入设备声音传感器开始讲,讲它的工作原理和对声音捕获的特点。声音传感器对声音的捕获,是每隔一段规定的时间采集一次,而这个间隔时间非常短,人所听到的“一次”声音,被它却“听”成了“很多”次。例如:一次拍手掌的动作,人只听到一次击掌声,而声音传感器却听到了很多次击掌声,于是它在一次普通的拍手掌声音传递的过程中,完成了多次的开与关的动作,最后是停留在开上还是关上,就很难确定了,所以,就出现了频繁“眨眼睛”的现象了。endprint
原来是“声音传感器”这个怪东西惹的祸!它的工作原理我们没办法改变了,那总得有办法对付它吧?我们需要解决的就是让声音在传感器首次听到击掌声后不马上传递开灯信息,而是继续不断地捕获声音,直到一次击掌声彻底停止后,再发出“现在可以开灯了”的信号。
这时,“直到型循环”就闪亮登场了!直到型循环又简称为“do条件循环”,学生们太想知道这个循环的执行过程和关键作用了,它为什么在程序中能稳住声音传感器对声音的捕获呢?
接着我来分析直到型循环在程序中执行的重要任务。在这个任务中,我们设置了“do条件循环”的条件判断语句为“声音变量==1”,不断地去采集声音,直到条件不成立,即声音停止了,才认为是听完了“一次”声音,然后才执行程序后面的听到声音就开灯的条件判断和指令,如图5所示。
直到型循环的执行过程是:首先执行一次循环体内的程序序列,执行完毕后,再判断条件选项,当条件满足要求,即条件表达式的结果为真时则回到前面,再次执行循环体内的程序序列,如此反复,直到判断条件选项不满足要求时,即条件表达式的结果为假时才结束循环,执行循环体外后续的程序序列。
这样,通过在程序中加入直到型循环,就轻松解决了机器人听到声音不停地“眨眼睛”问题了。
编写程序离不开流程控制模块中的循环模块。我发现学生容易接受条件判断、条件循环、多次循环的概念和应用,但对在程序中总要用到永久循环就不理解了,永久循环模块中不能加入条件判断,不能将循环的次数和要求体现出来,为什么在程序中首先要加入这个模块呢?
这时,如果只是给他们讲解永久循环模块的功能,他们肯定是懂非懂的,不能完全理解这个循环的作用。这时不妨从修改程序入手,要学生把已做好的拍手声控灯程序中的永久循环去掉,再通过仿真平台测试程序运行效果。结果,他们发现机器人听到声音也不亮灯了,缺了永久循环还真不行。
永久循环模块的功能描述很简单,只是强调循环体永远在里面循环,如图6所示[3]。
我们需要把永久循环的理论与声控灯的实际运行过程结合起来讲解,才能体现这个模块的真正作用。如果在程序中增加了永久循环模块,就相当于给机器人加了一个实时检测的“监听器”,它每时每刻都在监测外界的状态,一旦接收到声音信号,就马上开灯,实际上就是在执行循环体内的程序序列。所以说,永久循环是没有循环次数限制的,而是永远保持实时监测的状态,随时为执行循环体的程序序列做准备。
4 结语
机器人教育普及到课堂的时间不长,各级各类的拼装设备和竞赛形式层出不穷,这说明大家对新事物总是处于不断地探索和发现中。问题是科学研究的出发点,是开启学生思维大门的金钥匙,引导学生发现问题和提出问题的研究和思考是我的教育出发点,孩子们在探索机器人领域的过程中,接受了教育,提高了综合分析能力和实践操作能力,体验了过程中的快乐和愉悦。机器人教育还处在探索阶段,期待同行的沟通交流与协作共进。
参考文献
[1]吴良辉,杨青.人工智能与机器人[M].广东:深圳市教育科学研究院,哈尔滨工业大学深圳研究院,2011:4.
[2]李文郁,要志东.信息技术[M].广州:广东高等教育出版社,2013:59.
[3]诺宝RC编程软件使用手册[M].广东:哈工大(深圳)教育机器人研究中心,2010:17.endprint