基于A—STEM的无人驾驶课程研究
2019-04-19叶小辉
叶小辉
2018年8月,广东省深圳市龙岗区教育局印发了关于《深圳市龙岗区A-STEM课程建设的指导意见》(以下简称《意见》),强调人文艺术和理工科之间的深度融合,是以发现和创造性地解决现实生活问题为核心内容的跨学科实践课程。在这个背景下,笔者所在学校结合实际,开展了“无人驾驶汽车设计”项目的课程教学研究。
注重项目实践
《意见》指出,A-STEM的项目实践是模仿科学家和工程师的,即科学家和工程师是怎样发现和解决问题,我们就让学生去真实地经历怎样发现和解决问题的过程。所以,项目实践是直面真实情境的,而不是剥离了这些真实情境的知识学习和解题训练。本课程正是利用虚拟仿真技术为载体来模拟真实生活情境从而开展教学研究的。
1.问题的提出
现实生活中,经常能看到各种因驾驶员操作不当导致交通事故的新闻,笔者常在想,假如汽车不需要人操作就能自动进行安全驾驶,那人们生活的幸福指数将能进一步提升。那如何设计无人驾驶汽车?如何实现无人驾驶汽车安全行驶?虽然中小学生对这些问题都很感兴趣,但如果要实地实物进行研究,目前对他们来说是遥不可及的,而通过虚拟仿真平台,则给了他们另外一种途径来研究。
2.建构任务模型
iRobotQ 3D是一个机器人在线仿真平台,在此平台上,我们建立起了无人驾驶研究任务的模型:在虚拟的城市环境中,由行车道、十字路口、丁字路口、封闭路口、道路围栏、斑马线、道路标线、路面干扰物以及行人、车辆等各种模拟元素构成主要的三维任务场景。学生需要自行设计一辆机器人汽车、安装各类传感器并编写相关程序,模拟实现无人驾驶的交通行为。任务要求机器人汽车在规定的时间内从起点出发,完成各类安全行车和技能挑战动作并抵达终点。
3.进行结构设计
有关结构的设计,教师可结合学生生活中的知识对其进行讲解,如关于重量和重心的问题,轮胎的选择涉及的摩擦力的问题等,这样他们能理解得更加深刻,对自己模型的选材也就更加明确了。
教学中笔者发现,学生搭建的汽车基本上都是不一样的,使用的传感器也不尽相同,安装的角度更是五花八门,而实际运行中的效果更是千差万别。众多不一样的设计想法,让他们形成了思维的碰撞,从而产生改进自己方案的想法,再根据仿真实践检测来不断调整,不断优化,寻求最优的解决问题的方案。在这个过程中,学生分析问题、解决问题的能力在不断地提升。
4.探寻合适的算法
算法是对解决问题的计算过程的具体方法和实现步骤的数学化描述,在给定有限的条件下,学生既要考虑效果,又要考虑准确性。怎样把算法的本质进行抽象化和自动化呢?这就涉及程序設计的问题。例如,围绕如何让汽车在赛道中间自动行走这个问题,学生展开了各种尝试,通过不断地改进算法,先后形成了四个版本。
学生把汽车在赛道上的位置状态抽象成为三种情况,分别是:在赛道中央,偏离赛道左边,偏离赛道右边。根据这三种情况进行分析,如下表。
根据以上分析,通过利用枚举法的设计思想设计出算法,学生可得出结论,进行程序的设计,这就有了走中间程序的第一代算法(如图1)。
第二代的算法给汽车在中间的位置的判断条件增加了100的容错值,在左右传感器读值相差100的范围内,都认为机器人是行驶在道路中央,不需调整位置。而当差值为500,则认为偏离得比较远,可通过左右轮子更大的速度差来实现修正(如图2)。
第三代算法则将各种条件判断语句整合成一条数学算式。实现将距离传感器的值通过除以100修正后,转化成和速度相匹配的值(如图3)。
前三代的算法,基本解决了车子自动在赛道中央行驶的问题,可是,这里用的是固定的速度,实际情况是:不同的路段,路况是不一样的。有的路段路况好,可以跑高速,有的路段路况差,有时候会撞到对向行驶而来的车,因此必须让车子偏离在某一侧行驶。这就提出了将整个赛道分成多个路段,每个路段用不同的策略行驶。
第四代算法,提出了变量,实现了不同路段速度可变,同时还引入了“偏转”变量,实现了汽车行驶位置可变(如图4)。
针对走中间算法的研究,进行了四次大讨论,每一次问题的解决,都让学生尝到了胜利的喜悦,同时又诱发了新的研究内容。一个个新问题的出现,让学生通过不断否定自己的方法、深化对需求的理解、跳出惯性思维,养成对算法不断优化的思维方法,促进了学生计算思维和创新思维的形成。
注重学科核心素养的落实
《意见》中明确提出,学科核心概念是基础,开发A-STEM课程时要依据国家课程标准落实各学科中的核心概念的学习,倡导学以致用,使知识活化为能力。信息技术学科核心素养包括“信息意识”“计算思维”“数字化学习与创新”及“信息社会责任”四个内容。
信息意识是指个体对信息的敏感度和对信息价值的判断力。本课程中,需要通过红外传感器监测的数值来识别是否有行人过马路,通过距离传感器的数值来识别车辆在道路的位置情况,学生要能够分析判断哪些信息是对该事件起影响作用的,哪些是不可靠的需舍弃的,还要能对信息可能产生的影响进行预期分析,为解决问题提供参考,同时要能够与团队成员共享信息,实现信息的价值最大化。
计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。在本课程中,重点培养学生的计算思维能力,通过虚拟平台,界定问题,抽象特征,建立结构模型,合理组织数据,通过判断、分析和综合各种信息资源,运用合理的算法形成解决问题的方案。
数字化学习与创新是指个体通过评估并选用常见的数字化资源与工具,有效地管理学习过程与学习资源,创造性地解决问题,从而完成学习任务,形成创新作品的能力。本课程的学习研究都是基于3D虚拟仿真数字化平台来开展学习研究的,学生通过开展自主学习,协同工作与知识分享,适应数字化学习环境,养成创新的习惯。
信息社会责任是指信息社会中的个体在文化修养、道德规范和行为自律等方面应尽的责任。本课程想通过学习研究,使学生具有信息安全意识,能够遵守信息法律法规,信守信息社会的道德与伦理准则,在现实空间和虚拟空间中遵守公共规范,积极维护合法权益和公共信息安全,关注信息技术革命带来的环境问题与人文问题。
注重跨学科融合
对于人文领域的跨学科概念,生活意义和正义是据以行动的大概念,仁爱和美是据以判断的大概念,而A-STEM提供了一整套的可以信赖的求真的方法和知识体系,与仁爱和美一起构成了我们据以判断的基础。
笔者在“无人驾驶汽车设计”课程教学实践中,始终把人文精神引领贯彻落实到课堂中,在解决问题的同时培养学生审美、创美能力,进而达到以美育人的目标。例如,设计的车辆模型必须遵循相关规定,不得超宽超长,同时,结构还要符合美学需求,尽可能设计得美观;无人驾驶的汽车必须在遵守交通规则的前提下行驶,必须以伦理道德为底线,以人为本,尊重生命,必须能合理礼让行人,必须要能安全会车。笔者在课上安排了分享环节,通过学生的展示分享,既锻炼了他们大胆地表达自己观点的能力,也让他们在欣赏别人作品的同时,能站在对方的角度去思考其设计背后的缘由,以同理心去理解他人,去認识别人设计的长处。
在A-STEM方面,反映的是“求真”。设计怎样的汽车结构?如何选取结构件?如何让汽车在路中央行走?如何推开路上的障碍物?如何避让行人?如何避让相向行驶的车辆?……围绕这些问题,学生需要在实践中一个个去“求真”。每一个问题学生都需要融合多个学科的知识点去解决。本课程是通过“系统和系统模型”及“结构和功能”这两个跨学科概念来实现跨学科融合的。一是通过虚拟仿真技术建立起无人驾驶的城市系统;二是通过汽车结构设计和程序设计,研究不同的结构和程序设计产生的不同功能。
注重多样化评价
基于“一切皆在形成中”的评价理念,本课程通过学习过程、学习成效、创新指数、小组合作的贡献等方面对学生加以评价。例如,解决路上障碍物的问题,有的采用叉车的结构,有的采用三角形箭头结构,有的在车头装了高速旋转的电机推开障碍物,有的选择用程序绕开,每一种方法都值得鼓励和肯定。又如,对小组合作的评价,更加注重学生在小组合作过程中贡献的力量大小,发挥了什么作用,表达自己的观点的明晰如否,与队员沟通是否有效,是否能有效合作等,这些都是评价的依据。
本课程深受学生的喜爱,起初只是以社团兴趣小组的形式开展,经过三个月的学习,学生陆续在各类大赛上获得不错的成绩,这些成绩激励了学生的学习热情,本课程在本学期开始了大班化的教学推广。实践证明,通过这个课程,学生的逻辑思维能力、综合应用能力、创新能力等各方面都得到了不同程度的提高。