基于实践的自主移动机器人教学改革探索

2017-11-15 21:27陈灵徐昱琳
科技视界 2017年20期
关键词:实践能力教学改革

陈灵 徐昱琳

【摘 要】自主移动机器人是一门涉及机械、电子、计算机科学、通信及智能控制的机电一体化综合课程,是服务机器人发展的重要部分。以提高学生实践能力为出发点,本文探索了自主移动机器人课程在教学内容、教学方法等方面的改革,对于提升工科学生理论联系实践解决实际工程技术问题的能力、提高学生综合素质和在相关技术领域内的创新实践能力具有重要意义。

【关键词】自主移动机器人;实践能力;机器人操作系统;教学改革

中图分类号: TP242 文献标识码: A 文章编号: 2095-2457(2017)20-0014-003

Exploration of Teaching Reform of Autonomous Mobile Robotics based on Practice

CHEN Ling XU Yu-lin

(School of Mechatronic Engineering and Automation, Shanghai, 200072,China)

【Abstract】Autonomous mobile robotics is a mechanotronics and comprehensive course that involves mechanical, electronics, computer science, communication and intelligent control, and it is a vital part of the development of service robotics. For the purpose of improving the practicing ability of the students, this paper explores the reform of the aspects teaching content and methodology of the autonomous mobile robots course. It will play a significant role in improving the ability of engineering students to address real engineering problems, enhancing the comprehensive quality of the students and strengthening the ability of innovation in related technological area.

【Key words】Autonomous mobile robots; Practicing ability; Robot operating system; Teaching reform

0 引言

机器人技术被称为制造业皇冠顶端的明珠,同时也是改善人类生活方式的重要切入点,在现代国民经济生活中占据非常重要的地位。为贯彻落实好《中国制造2025》将机器人作为重点发展领域的总体部署,工业和信息化部、发展改革委、财政部发布的《机器人产业发展规划(2016-2020年)》对我国机器人发展作出重要部署,可见国家对机器人技术发展的高度重视。机器人总体上可分为适用于结构化环境中作业的工业机器人和在非结构化中工作的服务机器人,而服务机器人中种类最多的是移动机器人,主要是因为服务机器人的一个最基本的功能是能在非结构化环境中自主运动,因此区别于结构化环境中的机器人,移动机器人因需和非结构化环境交互而更具挑战性。

移动机器人是一个集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统。随着机器人性能不断地完善,移动机器人的应用范围大为扩展,不仅在工业、农业、医疗、服务等行业中得到广泛的应用,而且在城市安全、国防和空间探测领域等有害与危险环境中得到很好的应用。因此,移动机器人技术已经得到世界各国的普遍关注。本课程是国内外高等院校高年级本科生和硕士研究生必修或选修课程,它集中了传感器技术、信息处理、电子工程、计算机工程、自动化控制工程以及人工智能等多学科的研究成果,代表机电一体化的最高成就,是目前科学技术发展最活跃的领域之一。因此,该课程教学可以使学生充分学习机电一体化系统的理论和实践知识,对于提升学生理论联系实践解决实际工程技术问题的能力,提高学生综合素质和在相关技术领域内的创新实践能力具有重要意义。

自主移动机器人课程内容丰富,涉及理论教学和实践内容,先修课程包括电工理论、数字/模拟电子技术、自动控制原理、现代控制理论与传感器技术、程序设计、算法导论、人工智能等,对学生的基础知识要求较高,尤其对实践动手能力要求更高,学生往往理论成绩不错但运用理论知识动手真正解决实际问题的能力欠缺[1],造成渐渐失去对该课程学习的兴趣。因此为进一步提高该课程教学质量和教学效果,培养学生对自主移动机器人课程的兴趣,本文以实践项目为导向,对自主移动机器人课程在内容和教学方法上进行探索和研究。

1 自主移动机器人教学现状分析

本文首先针对目前自主移动机器人教学现状进行分析,以期为教学改革措施提供依据。目前自主移动机器人课程主要存在如下问题:

1.1 课程内容大多为概述内容

国内自主移动机器人相关课程内容大多以概述内容为主,理论知识传授占据大部分课堂时間,主要讲述移动机器人的基本原理与概念,包括移动机器人运动学建模、环境感知、定位、路径规划与导航、自动控制等,较少涉及这些具体内容在实践中如何程序代码实现。尽管基本原理与概念在后期实践过程中具有基础性作用,但过多的该属性内容和少量的实践内容令学生兴趣不高。

1.2 现有实验仿真软件不能精确仿真真实环境endprint

本课程的实验教学环节对于培养学生运用理论知识的能力至关重要,实验仿真是很多高校采取的实验环节的一部分。仿真平台或仿真软件是否能较真实的模拟真实环境在一定程度上决定了培养学生解决实际问题的能力的有效性。而现有机器人相关课程很多是基于MATLAB仿真[2-3],或者MobileRobot公司的MobileSim[4]仿真软件,前者的可视化效果和运行速度都不尽人意,而后者缺乏许多物理特性(如碰撞、摩擦等)的仿真,缺乏物理引擎。

1.3 由于条件限制无法让学生真正动手实践

尽管仿真实验对培养学生的动手实践能力发挥了一定的重要作用,但仿真毕竟不能完全模拟现实世界的环境,比如现实世界中的许多不确定性因素较难用数学模型表达。因此,让学生真正动手在现实世界中运行真实移动机器人并實现一定功能才能切实提高学生分析问题和解决问题的能力,从而提高教学质量。但由于软硬件成本过高,许多高校无法满足让每个学生都有机会使用移动机器人的相关设备,造成无法让学生真正动手实践。

2 课程改革探索

针对上述自主移动机器人课程尚存问题,通过对国外自主移动机器人课程的观察学习,将国际先进教学方式、方法和理念引入到本课程教学中,以期本课程能紧跟国际潮流,提升教学质量。笔者在英国埃塞克斯大学求学期间,有幸作为该校课程《Mobile Robotics》的助教,了解到课程教授非常注重理论与实践的结合,课堂上深入浅出地介绍移动机器人相关理论,实验中则要求学生先通过仿真编程实现一个具体任务,然后再在真实的先锋机器人上实现同样的任务,以培养学生动手实践能力。瑞士联邦理工大学机器人系统实验室则为了提升学生机器人软件开发能力专门开设了《Programming for Robotics》的课程,可见其对学生动手实践的能力。美国宾夕法尼亚大学为研究生开设了《Robotics》的课程,主要涉及移动机器人的运动规划,控制和视觉等方面的内容,同样非常注重学生理论和应用实践的平衡,课程的作业分个人项目和团体项目,以培养学生独立思考和团队协作的能力。

综合考虑以上各国际高校在移动机器人课程的教学经验以及国内课程的诸多不足,在课程内容和教学方法两大方面进行改革探索。

2.1 课程内容改革

2.1.1 以点带面,学生触类旁通

选择一款具有广大用户群的移动机器人产品,详细全面介绍其硬件组成,包括动力驱动、传感器和计算单元等。本课程将采用广受国内外高校欢迎的移动机器人平台TurtleBot[5],如图1所示。 选择该平台的理由如下:(1)成本不高。相比于其他产品如MobileRobot公司的Pioneer机器人动辄10万人民币甚至更高的价格,TurtleBot价格只有数千元,如此亲民的价格,对于教学经费有限的高校甚至学生个人来说都可以负担得起;(2)虽然成本不高,但丝毫不因此而减少移动机器人所需的最基本的组件。所谓“麻雀虽小,五脏俱全”;(3)该产品有个非常活跃的社区平台。该社区平台资源丰富,且都可免费获取;由于用户群众多,社区平台上总有人遇到和学生相同的问题且有众多同行解答,因此,通过该平台学生能迅速找到解决问题的方案;(4)原生态支持目前国内外最为流行的机器人程序开发平台“机器人操作系统(Robot Operating System, ROS) [6]”。通过对该产品的学习和实践,可以掌握ROS,有助于提高学生的就业竞争力和科研能力。

通过对该产品的详细介绍,使学生能较为透彻地掌握移动机器人的硬件组成的基本概念和原理,以点带面,再简单拓展到其他类似产品,学生便可触类旁通,甚至可通过自己查阅资料对一款移动机器人有较全面的认识。

2.1.2 以ROS为开发平台,坚持原理和实践结合,全面掌握知识点

传统的课程大多只介绍硬件或者算法原理,并未涉及实践中应该如何用具体的代码实现硬件驱动和算法,学生往往对概念和原理一知半解。ROS 是一个开源机器人软件系统开发框架,于2010年对外正式发布,很多高校、机器人研究单位开始重视机器人开发框架的应用。2012年以来,随着ROS框架的逐步完善,全球开始有越来越多的开发者学习并将其应用于自己的机器人开发项目中。2013年,越来越多的企业开始重视ROS开发框架的应用,并招募相关人才,近年来的ROS使用量和下载量呈指数级增长,已然成为机器人软件开发事实标准。为了使学生能够对知识点融会贯通,同时紧跟先进技术潮流,将以ROS为开发平台,介绍和讲解硬件驱动和算法原理对应的兼容ROS的代码实现。在课程的前期,首先安排课时讲解ROS相关基础知识,包括ROS的特性、基本概念、常用命令和基本的ROS应用程序结构及编程方法,以期为后续的理论的实现打好良好的基础。

2.2 教学方法改革

2.2.1 以项目为依托,切实提高动手能力

以轮式移动机器人导航项目为依托,要求学生在TurtleBot移动机器人平台上实现移动机器人自主导航功能,即当给定机器人在环境中的某个目标位置后,机器人便能首先规划好一条最短路径,然后自主沿着最短路径移动到目标位置,并且在移动过程中如果遇到障碍物,则能主动实现避障。

整个项目的软件系统采用ROS框架开发。由于ROS框架原生态支持软件开发模块化,在项目完成过程中,教学中,按照传感器驱动模块、电机驱动模块、定位模块、地图构建模块、路径规划和控制模块等逐个讲解;学生项目实践中,也同样按照以上各模块单独实现与调试,并灌输软件模块化编写与调试的思想。每完成某个模块的教学和讲解就进行该模块的具体代码编程实现的讲解,编程实现的讲解只涉及算法核心代码部分的实现,完整的代码编写以及代码修改作为学生的课后作业由学生自己完成,并在下一模块学习之前进行检查,以看到订阅和发布的话题是否正确作为评价标准。通过完成该项目,学生们可熟练掌握基于ROS的机器人软件系统开发,包括Rviz,TF,rosnode, rostopic, rosservice,roslaunch等工具的使用,虽然该项目是以轮式移动机器人为平台,但是其中有关机器人和ROS的基本概念、原理知识和ROS使用方法、技巧等都可举一反三,触类旁通地扩展至其他移动机器人类型,如步行移动机器人、履带式移动机器人、爬行机器人、蠕动机器人和游动式机器人等,从而切实提高学生机器人软件系统开发的动手能力。endprint

2.2.2 仿真和实物相结合,提升学生软件测试和调试能力

学生首先在仿真器中完成该项目。采用兼容ROS的仿真器Gazebo[7],如图2所示。选用Gazebo仿真器的原因在于:不同于前述MATLAB仿真,以及MobileRobot的MobileSim移动机器人仿真软件,Gazebo是个开源软件,内含复杂物理引擎,支持复杂物理现象的精确模拟,能够较精确再现现实世界环境;另外,Gazebo原生态支持ROS,并且已有许多现有机器人和各类传感器模块插件可用,包括本课程使用的TurtleBot的模块。在仿真器中,学生能在不用TurtleBot实物的情况下调试各软件模块以及整体软件系统,为后续在实物上的实现奠定基础。完成在仿真器上的软件调试后,学生转移到在TurtleBot实物上继续实现移动机器人的自主导航功能,和仿真器中不同的是,传感器和电机驱动程序需要另外编写和测试;另外,现实世界的环境含有更多不确定因素,需要学生遇到问题时解决。通过仿真和实物的结合,能有效提升学生机器人软件测试与调试能力。

2.2.3 参观博览会,开拓视野

带领学生参观上海每年举行的中国机器人博览会和工业博览会,一方面开拓学生视野,了解机器人领域现状,另一方面进行现场教学和讲解,巩固课堂所学,以进一步培养学生兴趣和理论结合实际的能力。

2.2.4 课程设计-学生搭建自己的移动机器人平台

课程设计目标是搭建自己的移动机器人,并实现该机器人的自主导航功能:

首先,让学生完成机器人关节、结构和外观的设计,并通过设计URDF(Unified Robot Description Format)文件对该机器人进行描述,然后编写驱动算法,传感器驱动和电机驱动模型插件,导入至Gazebo进行仿真验证,接着在课程教学中的TurtleBot的自主导航项目的基础上,实现自建机器人在Gazebo仿真器中的自主导航。

其次,在课程经费的支持下,将学习班学生分成若干个小团队,每个团队一起合作搭建一个实物移动机器人,并在该机器人上实现自主导航功能。计算平台拟采用Nvidia 公司基于Tegra K1芯片的Nvidia Jetson TK1开发板,如图3所示。该开发板以革命性的Tegra K1 SoC为基础构建,使用KeplerTM计算核心,该核心专为超级计算机所设计,用于快速开发和部署面向机器视觉,机器人、医疗和其他更多领域的计算密集系统。传感器和电机控制与Nvidia Jetson TK1开发板之間的通信通过常用通信接口如串口和USB接口等实现。传感器和电机控制驱动程序开发可参考课程教学中的TurtleBot的对应的驱动程序。最后,同样地,在TurtleBot的自主导航项目的基础上实现该自建实物移动机器人在某未知环境中的自主导航。通过自己搭建仿真和实物移动机器人并实现自主导航,学生们才算真正掌握了课程所学,有助于培养和锻炼自主学习、分析问题和解决问题的能力。

4 结束语

针对目前自主移动机器人课程重理论和概述而轻实践的现状,对该课程在内容和教学方法上进行基于实践的教学改革探索。课程内容上,采用广受国内外高校欢迎的移动机器人平台TurtleBot进行系统性介绍,以点带面;采用机器人操作系统ROS这个堪称机器人程序开发的标准框架作为课程软件开发工具,坚持原理和实践结合;教学方法上,以实现轮式机器人TurtleBot自主导航功能项目为依托,切实提高学生动手能力;引导学生仿真和实物相结合实现项目功能,提升学生软件测试和调试能力;带领学生参观机器人相关博览会,开拓学生本领域内的视野;指导学生以团队形式搭建自己的移动机器人平台,使学生真正掌握课程所学。

【参考文献】

[1]金明.工科大学生实践教学中几个基本问题的初步探索[J].高教学刊,2016(05):87-88.

[2]张泉,张健滔,陈江萍,蔡红霞.基于实践与创新驱动的《机器人学》教学改革探索[J].大学(研究版),2017(04):38-45.

[3]张奇志,周亚丽.机器人学教学内容改革与实践[J].计算机教育,2012(18):67-70.

[4]MobileRobots,2017.MobileSim,http://www.mobilerobots.com/Software/MobileSim.aspx,August 19,2017.

[5]Open Robotics Software Foundation.TurtleBot2,http://www.turtlebot.com/turtlebot2/,August 29,2017.

[6]Open Robotics Software Foundation,2017.Robot Operating System (ROS),https://www.ros.org/,August 19,2017.

[7]Open Robotics Software Foundation,2017.Gazebo,http://www.gazebosim.org/,August19,2017.endprint

猜你喜欢
实践能力教学改革
高校单片机课程设计教学方法探讨
刍议大学生实践创新训练计划项目