虚实结合的无人机控制实验课程教学设计与实践

2022-03-23 06:42杜楠楠
实验室研究与探索 2022年1期
关键词:实验课积木本科生

陈 建, 杜楠楠, 曹 毅, 韩 宇

(1.中国农业大学a.工学院;b.水利与土木工程学院,北京 100083;2.北京航空航天大学a.自动化科学与电气工程学院;b.前沿科学技术创新研究院,北京 100191;3.东南大学仪器科学与工程学院,南京 210096)

0 引 言

随着人工智能技术的发展,以机器人、无人驾驶汽车和无人机为代表的无人系统开始代替人类完成各项工作[1-2]。无人系统集机械化、电气化、信息化和智能化为一体[3],涉及机械、控制、计算机和通信等多个学科。在“中国制造2025”战略目标的指引下,该领域已经成为社会重点推广领域和提升国家智能化水平的重要标志之一。在无人系统中,较为典型的是无人机系统,其中民用无人机在农业植保[4-5]、教育[6]、电力巡线、地理测绘与环境遥感[7-10]、影视航拍等方面应用潜力巨大,特别是近年来伴随着人工智能技术的跨越式发展,无人机已成为应用智能技术的理想载体[11]。在农业领域,十九大报告指出,要加快推进农业农村现代化发展,推动我国从农业大国向农业强国加快迈进[12]。智能无人系统可以推动农业的规模化发展,2017年我国农作物耕、种、收综合机械化水平达到了67%[13],在此基础上推动农业智能化发展是实现农村农业现代化的重要技术途径。

无人系统领域涉及的知识和机械电子工程专业课程的重合度较高,以无人系统为载体开展实验课,可以在实验中融合控制工程基础、工程测试技术、传感器技术与应用和计算机测控技术等多门课程的内容,通过实验加深同学们对理论知识的理解。以无人机为载体开展实验课,一方面可以帮助同学们了解无人机及无人系统相关技术,另一方面无人机可开发空间大,体积较小,适用于室内实验课学习。

此外,Python逐渐发展为工程中常用的编程语言。在2019年7月发布的编程语言流行指数排行榜中,Python在趋势、开源和职位需求等方面均位居第一[14]。其功能强大,语法清晰简洁,容易入门,能够帮助学生摆脱语法细节的困扰,而关注程序的逻辑和算法本身[15],对学生编程思维的训练帮助较大。教育部考试中心也决定自2018年起,在计算机二级考试中加入“Python语言程序设计”科目[16]。此外,在工程实践中去学习一门编程语言,对语言的理解会更加深刻。目前在机械电子工程专业的课程培养中,编程语言的培养以C语言为主,C语言也是目前我国大学针对非计算机专业普遍开设的课程,但由于非计算机专业的学生相关编程课程开设较少,不太满足当前就业市场对计算机体系结构的系统需求,难有机会将其应用在日后的工作中[17]。此外,机电专业结合工程应用进行编程训练的课程较少。据此在本门实验课中,将Python编程应用于无人机开发中,在训练学生编程思维的同时,提高其工程实践开发能力。由于目前很多科技公司也正逐渐将Python作为主要编程语言,因此本门课还可为学生日后工作做准备。

1 教学目的与教学设计

1.1 教学目的

针对本科生开设无人机控制实验课程,以多旋翼无人机为平台,结合农业应用的广阔背景,在实验过程中应用人工智能与智能控制的先进方法和技术,对机械电子工程学科的实践环节进行进一步拓深,使得机电专业学生能够深刻感悟和理解智能无人机技术的先进性和前沿性,认识到民用无人机研究方向的重要性,全方位满足本科生机电控制理论实验环节的教学和研究需要。本课程坚持以虚实结合为原则,首先搭建多台室内多旋翼无人机为智能控制实验平台,同时开设适合于虚拟仿真教学的实验环节,方便学生练习和试错,实现虚拟仿真实验教学资源的共享,之后基于Python语言对无人机进行开发。以培养本科生科研创新精神和实践能力为目的,利用智能无人机平台作为机电控制前沿技术的实验载体,将创新意识、创新能力培养融入无人机控制实验教学,以打造实验教学“金课”。并且该课程对于本科生而言难度适中,不会出现课程内容无法完成的现象。

最终目标为调动本科生从事科研创新的兴趣和积极性,通过此门课激发鼓励其参加无人系统智能控制相关的科创项目、参加国内外智能机器人创新竞赛、撰写高水平科研论文并参加国内外智能无人系统高水平学术会议等。希望通过本课程,不仅使得学生了解无人机、人工智能、智能控制领域的专业术语和概念,还使得部分同学对智能无人系统与智能控制产生强烈兴趣,未来能够继续深造智能无人系统与智能控制研究方向的硕士、博士,或者从事智能无人系统产学研方面的工作。

1.2 授课方式设计

通过以往对机械电子工程专业本科生实验课表现的观察,发现在实验课上存在学生状态松散的问题。一方面由于实验课和理论课不同,实验课上对理论知识的讲解相对较少,并且老师不会带着一步一步完成,更多时候需要学生主动思考,部分学生在实验中遇到困难不积极想办法解决。另一方面,由于实验仪器的限制等原因,多数实验课需要以多人1个小组的方式进行,在实验过程中存在部分学生袖手旁观的现象,常出现每个小组只有一两个人在动手动脑,这样不仅对部分学生的锻炼不够,而且在后期评分时也无法保证公平。

针对以上现状,根据实验场地和无人机数量,为了保证每个同学的实验参与度,本门课限定小组人数为3人。为了及时给每个同学提供指导,提高实验效率,同时为了记录每个同学在实验中的参与度,每2个小组安排1个助教,负责课堂记录和现场答疑。此外,为了保证评分的公平性,将此门课的评分分为课上表现、实验演示和课程论文3个部分。“课上表现”体现了学生课上的参与度;“实验演示”体现了学生实验结果水平的高低;“课程论文”体现了学生对无人机知识理解认知的深入程度。此外,由于实验具有一定难度,并且为了保证学生能及时掌握实验内容,以防遗忘,特将课程分为4节课,每节课时长4学时。

1.3 课程内容设计

基于教学目的,本着以兴趣为引导,由浅入深进行实践的设计初衷,本课程从无人机基础知识介绍、无人机虚拟仿真飞行和无人机实际飞行3个方面进行展开。课程按照了解无人机、操作无人机、开发无人机的思路循序渐进,尽量让同学们在熟悉本堂课讲授内容的同时,能够对无人机的下一步开发产生兴趣。

根据课程节数,每节课教学内容如下:①多旋翼飞行器的结构和工作原理;②仿真实验:虚拟仿真实现无人机积木编程;③飞行实验:编程实现单架无人机飞行控制;④飞行实验:自主设计多架无人机编队飞行。图1所示为课程进展安排。

图1 课程进度安排

在实验课无人机平台选择方面,应当考虑其安全性、飞行占地面积、可供开发空间等多方面因素。最终选择的Tello无人机,是一款专门针对教育行业设计的小型四旋翼无人机。该无人机的飞控系统由大疆公司授权使用,同时搭载高性能处理器及视觉定位系统。开发者可通过移动设备上的Tello APP来控制无人机起飞、降落及拍照等,也可将程序写入飞控系统来控制无人机的飞行路径。其体积约为175 mm×175 mm×115 mm,起飞质量为87 g,体积小,质量轻,适合在实验室环境飞行。其最长飞行时间为13 min,在多块电池配备充足的情况下,可满足上课需求。此外,Tello配备桨叶保护罩和整机保护罩,并具备失控保护功能,在受到意外碰撞时将自动停转电动机,因此可保证学生在实验中的安全性。图2所示为Tello无人机结构示意图。

图2 Tello无人机结构示意图

2 课程内容介绍

首先了解无人机的发展历史及关键技术等,这部分主要通过教师的讲解、学生对无人机的组装、以及学生自学基础知识组成。之后进行无人机飞行实验,这部分分为虚拟仿真和实际操作两部分。虚拟仿真实验的目的是首先建立起无人机飞行的空间概念,设计仿真无人机的飞行轨迹,可以在引发学生兴趣的同时,用作实际飞行的预演。之后无人机的实际飞行主要基于Python编程开发,从单机飞行控制和多机编队飞行控制两方面展开。这部分是对学生的创新能力、编程能力和团队合作能力等多方面的综合考察。每节课的具体内容展开如下。

2.1 多旋翼飞行器的结构和工作原理

教师首先讲解无人机的发展历史、应用现状、关键技术以及现阶段存在的问题,这部分主要以农业无人机为背景进行展开。之后学生通过拆解和组装Tello无人机,熟悉其机架、电动机、电调、飞控、摄像头、红外传感器等各配件的功能与结构。图3所示为学生在拆解无人机并向助教提问。

图3 学生拆解无人机课堂现场

2.2 仿真实验:虚拟仿真实现无人机积木编程

下载Tello及Tello EDU APP,通过WiFi建立与无人机的通信,首先通过APP操作无人机在一键智能飞行方式下的平稳飞行和降落,并利用无人机进行航拍,之后利用升降控制、偏航控制、滚转控制、陀螺仪控制、俯仰横滚控制等手柄界面来实操无人机飞行,让学生初步感受操作无人机的乐趣。图4(a)所示为APP操控无人机飞行的界面,图4(b)所示为学生课上操作无人机飞行的画面。

APP中的虚拟现实仿真关卡为一个具有虚拟飞行器的编程接口,利用此接口,通过编辑器来控制虚拟的飞行器,在虚拟现实3D场景中,完成任务。进入虚拟关卡,拖曳积木控制虚拟飞行器挑战。虚拟关卡如图5所示。熟悉各个积木编程的代码并使用积木编程,实现无人机定点降落、躲避障碍物、空中画矩形等简单模式;最后运用逻辑积木、飞行积木、感应积木、变量积木规划飞行路径,4种积木以不同的形式设计无人机路径,可组合开发,可发挥空间较大。关卡挑战的形式在引起学生对实验课兴趣的同时,建立了无人机路径规划的空间感;积木编程规划飞行路径的方式可为之后的无人机实际飞行路径设计提供仿真试错。图5(a)所示为虚拟现实仿真关卡编辑器部分界面,图5(b)所示为积木编程中飞行积木的编辑界面。

图5 虚拟仿真界面及积木编程界面

2.3 飞行实验1:编程实现单架无人机飞行控制

搭建Python编程环境,建立PC或移动设备与无人机WiFi通信架构,通过Python编程使无人机实现识别、旋转、弧线飞行、最终降落等任务。通过Python读取无人机运行速度、电池电量、电动机运转时间等参数;运用Python编程使无人机自动快速识别挑战卡,并能按照输入指令在挑战卡构成的坐标系中定点降落以及执行一些任务。图6(a)所示为挑战卡示意图,图6(b)所示为学生编程操控无人机飞行。

图6 Python编程操控现场及挑战卡

2.4 飞行实验2:自主设计多架无人机编队飞行

基于Tello示例程序进行无人机编队飞行开发。首先将编队无人机建立在同一个局域网下,之后编程控制每架无人机的飞行轨迹形成队形。以编队飞行作业的方式来模拟农业应用场景,实现多智能体编队集群控制。其中,学生不仅可以使用Python编程进行路径规划,还可借助挑战卡来进行定点作业,从而增加难度。在演示中,有同学利用多架无人机在空中画出了“圣诞树”等更为复杂的图形;有同学借助无人机,在空中画出了朋友的名字;有同学借助挑战卡,规划出无人机在不同地点的悬停作业路径。图7(a)所示为借助挑战卡的实验演示,图7(b)所示为学生在设计方案时遇到问题后和助教讨论。

图7 实验演示及课堂讨论现场

2.5 实验课前、课后的安排

为使课程衔接流畅,保证学生在课上的效率,需安排课前预习。基于上述每堂课的课程内容,课前预习内容如图8所示。

图8 每堂课及课前预习内容

此外,限于课时,实验课对无人机理论知识的讲解较少,并且考虑到实验课的主要内容是无人机控制实践,因此将对无人机理论知识的巩固和对实验内容的总结转化为对课程论文的要求,以此来督促学生在自学中巩固知识,在总结中牢靠掌握。

3 课程评价及教学效果

在课程结束后,通过对实验课上学生表现的总结反思以及对8个实验小组对本门课的效果反馈,总结本课程教学效果有以下几点。

3.1 专业相关性强

8个小组的同学均认为本门课和机械电子工程专业的相关度较高。随着无人系统及无人机技术的快速发展,机械电子工程专业学生的培养也应该结合新兴领域的应用。首先,本门课的课程设计和题材选择比较新颖,是平常同学们很少接触到的无人机领域;其次,本课程也与机电专业的智能测控和机器人专业方向有比较大的联系。本门课作为一个了解无人机知识的途径,实践性强,需要同学自己选定题目,确定飞行路线,选择合适的飞行距离、飞行方式,有比较大的发挥空间。Python编程内容的加入也帮助同学们在编程方面有了更多的训练。

3.2 课程安排合理

50%以上的小组提到本课程的进度安排合理,使学生按照了解无人机、操作无人机、开发无人机等环节循序渐进。不断加深对无人机功能的了解并熟悉Python的编程思维,让同学们经过整个课程的学习,不仅体会到课程的乐趣,还能够激发自身的创造力。本课程安排的助教保证了实验中遇到的问题可以及时解决,并保证了每位同学都能够深入地参与到课程中。此外,学生自主开发为主、老师讲解为辅的上课模式,也给同学们比较多的思考机会和不受束缚展现能力的机会。

3.3 趣味性强

8个小组均认为本门课的趣味性较强,从虚拟仿真环境到无人机实操,每一步都以趣味性为引导。教学APP的虚拟环境使同学们在游戏的过程中掌握无人机的基本操作,学习编程的逻辑思维。无人机基本的飞行操作能让同学们在没有掌握无人机操作技术的情况下快速地体会到无人机飞行的乐趣,吸引同学们对无人机飞行操控技术的进一步开发。此外,在无人机编队飞行方面,无人机能够做出的动作多,组合花样多,设计方案的多样性体现了课程的趣味性。

3.4 实践性及创新性强

6个小组的同学提到本门课的实践性较强,充分体现了对学生创新能力的培养。在本实验课中,无论是在上课环节还是考试环节,学生始终是课程的主导者,老师与助教只是课程的协助者。这种方式可以增强学生对知识获取的主动性。在上课环节,老师与助教讲解完实验要求后,其他的实验步骤主要是由小组成员协作完成;在考试环节,本实验课是开放式命题,无论是单架无人机执行复杂任务,还是多架无人机编队飞行,无论是无人机的飞行路线,还是无人机的飞行模式,都由各个小组独立设计。这充分体现了该实验课的实践性强。

3.5 评分方案合理

2个小组的同学提到了本门课的“课上表现+实验结果演示+个人论文”的评分方案合理。课上表现体现了学生课上的积极性和参与度;实验结果演示体现了小组合作的结果,对程序的理解,创新的水平;个人论文的部分体现了学生个人对无人机相关知识的理解和学习的程度。

3.6 对团队合作精神的培养

此外,小组合作设计方案并实现无人机路径规划和编队飞行的过程,可以使得同学们充分讨论,深度协作。小组成员之间思维火花的碰撞和融合,培养了组员之间的合作能力。

4 教学问题分析

根据最终的教学效果和对学生课上表现的观察,也反映出一些在教学过程中存在的问题,总结为如下几点:

4.1 教学难度难以掌握

本课程虽针对的是本科生,但在课上发现,本门课对于本次授课学生而言难度一般,部分学生“吃不饱”。但当难度增加之后可能会使学生失去对课程的兴趣。因此,对于课程难度的把握,如何在兴趣吸引和能力培养之间平衡是下一步课程迭代需要思考的问题。下一步可考虑开发无人机携带的传感器,例如相机,融入图像处理的内容,将路径规划与视频的获取和处理融合,在保证兴趣引导的同时适当增加课程难度。

4.2 小组分工不易平衡

涉及分组进行的实验课都需要思考的问题是,如何在培养团队精神的同时协调小组成员之间的分工。既保证每个同学的参与度,也降低评分过程中的主观成分。在之后的课程中,可进一步细化评分标准,在每组的实验报告中体现出每个同学的分工,以此在督促学生积极参与的同时提高评分的公平性。

4.3 理论教学和实验教学的平衡

如何平衡实验课中的实验教学和理论教学部分的比例也是需要思考的问题。本门课中关于无人机的理论知识讲解较少,这也是由于课时的限制。在之后的改进中,一方面可以增加课时,另一方面可单独开设一门关于无人机控制技术的理论课,再将本门实验课设置为理论课对应的实验课。

5 教学成果列举

5.1 提升本科生专业能力及科创兴趣

对于本科生,通过此次实验课,对无人机的知识有一定的了解,并熟悉Python编程的基本语言和逻辑。此外通过本实验课的影响,提高了本科生对科创比赛的热情,该无人机平台也吸引了很多没有选这门课的低年级本科生,来申请参与该实验课内容相关的科创项目。选修本门课的同学人数为23人,在课程结束后有9名同学申报了无人机技术相关的毕业设计或科技创新项目。此外,90%以上选修本实验课的同学都继续深造,这门实验课也让他们在选择之后的研究方向时注意到了无人系统这一新兴且有发展的领域,有多名同学直升读博、保研或考研进入北京航空航天大学、华中科技大学、同济大学、中科院沈阳自动化所、中国农业大学等无人系统相关研究机构。

5.2 促进研究生科技创新

此外,本门课的助教均为研究生,助教在带实验课的过程中,根据实验内容,发现了新的问题和研究方向。首先,其中一名研究生想到如何使无人机在躲避障碍物的同时追踪动态目标物,并以此为研究内容进行深入探究,其题为“基于仿生避障和鹰眼追踪的无人机路径规划”的参赛作品获得了第一届中国研究生机器人创新设计大赛全国三等奖以及中国自动化学会机器人竞赛全国一等奖。此外,由于四旋翼无人机是一个欠驱动强耦合非线性系统[18],在飞行中对姿态的调节控制缺乏抗扰反馈机制。基于此,另一名研究生在助教的过程中发现阵风干扰对无人机姿态的控制影响很大,因此开展了题为“基于ADRC迭代学习控制的四旋翼无人机姿态控制”的研究[19],设计ADRC抗扰控制器较好地解决了无人机飞行过程受气流影响的问题。

5.3 专业宣传

最后,在实验过程中,一些同学将课上炫酷的无人机飞行视频发布到短视频平台,获得较高的关注。这也是学校招生专业宣传的一个好途径,通过学生自己发布的视频,展现了学校在本科生培养中主动将理论和实践相结合,不再拘泥于抽象的课本知识。

6 结 语

我校工学院针对机械电子专业本科生开设的专业选修课无人机控制实验,结合无人系统领域关键技术的发展和农用无人机的广阔应用背景,考虑到对学生编程思维的训练,以兴趣为引导,以虚实结合为原则,以循序渐进的方式设计教学方案。本门课程专业相关度高,趣味性强,可供学生自由发挥的空间大,创新性和实践性强,且课程安排和考核方案合理。最终本门课程起到了对本科生在科技创新方面的引导和对研究生在研究思路上的灵感激发,以及对学校招生宣传3个方面的作用。

猜你喜欢
实验课积木本科生
One Heath视角下昆明市高年级本科生抗生素认知与行为
这块积木能给我吗
星钻积木
密林深处——“从写生到创作”的水墨实验课
“Without Contraries is No Progression”: Contraries in William Blake’s “The Sick Rose”
An Analysis of the Absence of Maternal Care in The Bluest Eye
有趣的实验
有趣的积木
玩积木
行业特色院校本科生拔尖创新人才培养的探讨