初中阶段轻人工智能教育实践探索
2022-06-07古美婷
古美婷
摘要:本文主要介绍借助教育平台与RoboMaster S1教育机器人,给学生带来一次从观察、模仿到创新的体验,并通过引导学生思考“自动跟随”的核心问题,带领学生体验完成项目的一种方法——通过拆分项目、各个击破,逐步降低项目难度。
关键词:自动跟随;轻人工智能教育;初中
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2022)11-0049-03
人工智能作为计算机科学的一个分支,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。自2017年国务院印发《新一代人工智能发展规划》以来,全国各地积极探索人工智能教育开展模式,并将人工智能教育逐步纳入中小学课程当中。针对如何在中小学阶段开设人工智能课程这一问题,有研究者提出了“轻人工智能”的理念。所谓“轻人工智能”,即中小学生能够理解与实施的人工智能技术。该理念倡导教师在教学中结合中小学生的认知水平,侧重于让学生体验人工智能的应用,并选取相对容易的可视化的内容,让学生尝试实践。在这一理念的指引下,笔者通过学校日常开设的社团课程,发现一个教育平台的“智能”模块中封装了一些图像识别函数,学生通过借助这一模块,便可让机器人拥有相应的图像识别功能。这一发现让笔者认识到,学生可以通过调用一些封装好的函数,来避开超出他们认知水平的知识,他们只需增加一些功能,就能让原来的机器人拥有更丰富的“人工智能”。下面,笔者以“自动跟随”项目为例,详细阐述轻人工智能在初中阶段的教学与实施。
● 切身体验,引出问题
教育编程机器人RoboMaster S1配置了行人跟随功能,通过RoboMaster APP启用该功能后,机器人便可跟随指定行人,在跟随过程中,机器人与行人将保持2~5米的合适距离。课前,笔者利用课间休息时间,让部分学生体验了行人跟随功能,引起学生的好奇心。课中笔者通过播放行人跟随视频,为每一位学生提供了仔细观察机器人跟随行人效果的机会,吸引学生的注意力,并通过提出问题,激发学生的求知欲,进而引导学生思考:机器人是如何实现行人跟随功能的呢?能不能利用现有条件,通过编程实现这一功能?
● 溯本求源,模仿创新
要实现跟随功能,首先需要弄清楚跟随的本质是什么?为了帮助学生梳理思路,笔者设置了一个跟随教师的小游戏——在活动开始前,请执行跟随任务的学生闭上眼睛,当教师走到任意位置后,发出游戏开始的指令(在跟随过程中,学生与教师要保持1~2米的距离)。通过观察,学生们会发现:在活动开始后,执行跟随任务的学生做的第一件事就是转动脖子,寻找教师所在位置,当发现目标后,则根据自己与目标的距离,判断自己应该前进或后退。在清楚人类跟随目标的过程后,学生接下来需要做的就是把这一过程教给机器人,让机器人来完成这一任务。
1.分解任务,化繁为简
机器人自动跟随行人的过程,其实就是发现目标、跟随目标的过程。在行人跟随中,发现目标其实就是识别行人的过程。所以,第一个问题可以通过使用教育平台智能模块中的“开启行人识别”模块来解决。而跟随目标又可以进一步细化为前后跟随和左右跟随的问题。机器人通过判断与行人的距离(后续统一称为:人、机距离),决定应该前进或后退,再根据识别到的行人中心点偏离机器人视野中心点的情况,来选择进行左转跟随还是右转跟随。接下来,将通过获取、分析“人、机距离”和“人、机方向”信息,来解决前后跟随和左右跟随的问题。
机器人发现目标后,就可以定义目标所在的位置与目标和自己的距离。那么,它是如何记录这些信息的呢?
2.引入新知,解决问题
程序在存储或处理数据时,需要占用内存,所以,为了使用机器人识别到的行人信息,需要创建列表将相关数据存储起来。在RoboMaster S1中,列表将按如图1所示的格式存储识别到的行人信息。
列表第1项为识别到的物体数量N,后续项以4个数据为一组,这4个数据分别是:第1个物体中心点在机器人视野中位置的横坐标X、纵坐标Y、宽度W和高度H;第2个物体中心在机器人视野中位置的横坐标X、纵坐标Y、宽度W和高度H……依此类推。
然而,机器人记录的行人信息,与需要知道的方向和距离信息似乎没有直接关系,到底哪些数据可以用来解决问题呢?针对这一问题,笔者设计了如下活动:首先,让学生编程开启机器人的行人识别功能,并创建列表存储相关数据。其次,连接机器人,运行程序。此时,小组成员需要相互配合,一名成员充当样本,出现在机器人视野中,一名成员负责观察FPV界面(机器人视野),提醒“样本同学”的站位。其余成员仔细观察列表中的数据——当行人做前后运动或左右运动时,列表中哪些数据变化最明显?通过这个活动,学生们将意识到:机器人在识别到行人后,记录下的宽度和高度数据与人、机距离相关;而左右运动情况则可以通过行人中心点的横坐标来反映。
3.设计实验,采集数据
为帮助学生梳理实验思路,笔者设计了“前后跟随”与“左右跟随”的实验记录表(如图2、下页图3)。学生完成数据采集后,就可以根据实验记录表中的提示,开始归纳前后跟随的运动条件与左右跟随的算法。
4.分析数据,设计算法
首先,通过观察前后跟随实验采集的数据可以发现,随着人、机距离改变,列表中第四项与第五项数据的变化趋势符合“近大远小”这一视觉现象——当一个物体距离我们近时,看起来就会偏大;当一个物体距离我们远时,看起来就会偏小。所以,可以利用列表中第四项和第五项数据求出物体的周长或面积,再借助这一数据来反映行人与机器人距离的远近。
在解决前后跟随问题后,再来观察左右跟随实验记录表中的数据。在机器人坐标系中,机器人视野中心点为(0.5,0.5)。当目標向左偏离中心时,横坐标小于0.5,向右偏离中心时,横坐标大于0.5。对于“行人与机器人视野中心点的偏离距离”这一问题的求解,学生一般会采取两种计算方法:一种是用列表中的第二项数据减去0.5,另一种是用0.5减去列表中的第二项数据。虽然两种计算方法都可以求出偏离距离,但是却会得到相反的正负符号。究竟哪一种计算方法更合适?为解答这一问题,学生需要进一步思考求偏离距离的目的。
求偏离距离,是希望机器人能以此为依据,从而跟随行人转向对应的方向,实现左右跟随。而在教育平台中,机器人的左右运动方向是通过正负符号来辨识的:向左运动是负方向,向右运动是正方向。所以,“使用列表中的第二项数据减去0.5”得到的正负号和云台需要转动的方向一致。在底盘跟随云台的整机模式下,若云台已经能跟随识别到的行人转向对应方向,那最后仍待解决的问题就剩下云台该转动多少度。
通过观察求出的偏离距离,学生会发现这些数值都很小,直接作为云台的转动角度并不合适。所以,需要先将这个数值放大数倍,再将其作为云台的转动角度或转动速度。具体是放大多少倍与选择哪一语句更合适,则需要编程测试后再决定。
5.编写程序,调试运行
由于样本的差异,学生采集的实验数据与测试效果也会有所不同。所以,当根据前面分析、归纳的算法完成基础程序后,需要连接机器人测试效果,再根据效果逐渐调整参数,在实现小组成员都认可的跟随功能后,还可以根据自己的想法,增加灯效或一些简短的提示音,丰富行人跟随机器人的功能。图4、图5是基于RoboMaster S1实现行人跟随的基础程序示例。
● 降低难度,体验成功
“自动跟随”是一个综合性强、难度较大、涉及知识点较多的项目。在完成过程中,学生需要联系生活经验,综合运用前面学过的知识,并将项目拆分为几个子任务,从而降低难度。虽然项目难度较大,但是能给学生带来一次自己动手实现人工智能的全新体验,并能让学生进一步认识到,只要善于利用工具,初中生也能通过看似简短的语句实现有趣的人工智能。体验、观察、模仿、创新,每一步都是成长的必经之路。随着人工智能逐渐走进我们的生活,轻人工智能教育的探索,也会越来越值得期待。
参考文献:
[1]梁锦明.轻人工智能:聚焦中小学生的智能教育[J].中小学数字化教学,2021(04).
[2]魏烁佳.立足学生发展的计算思维培养模式探索[J].中国信息技术教育,2021(07).