机器人操作系统程序设计仿真实验课程探索
2020-07-04卢宇申远陈晓婷韦颖
卢宇 申远 陈晓婷 韦颖
摘要:机器人操作系统程序设计是一项新兴工业技术,其利用代码技术和软件工具实现对工业机器人的控制,在各种工业领域均有广泛应用,具有良好的发展前景。但是目前该实验课程在高校本科专业中开展较少,并且该实验课程需要配置众多机器人运动控制、视觉方面设备、仪器,无法开展实体实验,影响机器人工程专业人才培养质量。本实验课程基于学校已有的实验室硬件条件,结合行业实际需求,针对机器人操作系统程序设计理论与实践要点,设计了仿真实验环境与教学平台,完成人才培养专业训练。实验课程结果证明本实验课程可以满足学生对该课程知识点的需求,达到实验教学目的。
关键词:人才培养;教学;虚拟仿真;实验课程;机器人操作系统
中图分类号:G642 文献标识码:A
文章编号:1009-3044(2020)15-0208-02
1引言
为了应对新经济的挑战,从服务国家战略、满足产业需求和面向未来发展的高度,需要有效开展理论与实践教学活动。其中机器人工程专业的技能培养目标可描述为:培养机器人应用技术、技能;具有在机器人生产单位进行机器人应用系统的设计和开发的能力,可承担系统集成、维护、编程、调试等工作。
随着机器人技术的不断发展,机器人工程研究领域已经由自动化或机械专业为主,计算机专业为辅,发展为以算法和软件开发为主。这就使得算法和软件开发越来越重要。机器人操作系统(Robot Operating System,ROS)就是一个专门为机器人软件开发设计的开源操作系统架构。ROS最初是作为科研辅助工具由斯坦福大学开发,与其说是一个操作系统,不如说是一种分布式模块化软件框架。它提供异构计算机集群上操作系统功能的框架和工具集。ROS提供了硬件抽象、设备驱动、多台机器上进程之间的通信、测试和可视化工具等功能,可引入第三方组件,它的出现提高机器人研发领域的代码重复率。
学习ROS前至少需要有C/C++语言基础,Linux操作和编程基础。但是由于机器人工程专业是一门融合了多门学科知识的交叉学科,因此还需要懂得机械设计、传感器、机器视觉等方面相关知识。
2人才培养对RoS程序设计实验课程的需求
对人才的培养是能力的培养、素质的培养。在工科领域,对学生的动手能力要求很高。学生不仅要学习本专业的各种理论知识,更重要的是实践动手能力的培养。这种能力决定了对本学科知识的深入理解,以及学生毕业后的就业前景。实验课程的开设需要依据本专业人才培养的需求、教学科研客观需求而确定。但同时也需要考虑学校的财力和人力状况,实验室原有条件及配套基础设施等情况。
ROS程序设计理论课的教材选用机械工业出版社发行的《ROS机器人程序设计》第二版。该教材主要内容包括:ROS系统架构,ROS程序设计、调试和可视化方法,在ROS下使用传感器和执行机构,ROS下3D建模与仿真,使用导航功能包集等。教材中使用的ROS的版本为ROS Hydro,推荐的Linux系统为Ubuntu 12.04。我们选用的实验仿真环境是在个人电脑上安装Ubuntu 12.04+ROS Hydro.
3实验课内容
实验课程方面没有现成的教材,需要教师根据理论课内容补充。由于ROS环境中已经可对实验涉及的摄像头、激光雷达等设备进行了仿真,因此可以在ROS环境中仿真实验。
通过精心选取,实验课内容包括:Linux和ROS的安装,ROS中GDB调试,传感器与执行机构仿真三个部分内容。实验内容安排由入门实验到应用型实验。其中第一个实验是入门实验,可描述如下:
实验目标:
(1)掌握Ubuntu系统的安装;
(2)掌握ROS Hydro的安装。
实验内容及步骤:
(1)实验设备及器材:联想台式机,Intel i5处理器,4GRAM内存。
(2)实验内容及流程:
检查台式机是否能正常启动。
下载Ubuntu 12.04的is0安装镜像,并安装。
待安装完Ubuntu 12.04后,配置Ubuntu软件库。
安装ROS Hydro。包括设置密钥、使用desktop-full方式安装、初始化rosdep、配置环境、安装rosinstall等。
检查ROS安装是否正确。
常见问题:安装ROSHydro时为什么有时下载速度非常缓慢?
(3)原始数据或信息记录
Ubuntu 12.04安装成功后,进入Ubuntu系统,并可打开ter-minal,可使用常见的Linux命令,如ls、pwd、mkdir等。
安装Hydro后输入roseore、rosrun turtlesim turtlesim_node,屏幕弹出对话框,显示海龟图标。
(4)数据或信息处理及实验结果:
在运行Hydro后,显示小海龟图标。海龟可按照指定方向移动。
(5)对实验结果的讨论:
安装Hydro时下载速度慢,可以切换下载地址,如国内的地址,这样可提高速度。
Linux操作以命令行形式为主,需要多熟悉。
后续实验中,学生还将ROS下使用传感器和执行机构,包括1.掌握仿真游戏手柄和连接和编程。2.掌握仿真环境中USB Camera的连接和视频图像查看。学生需要通过实验,调整优化关键操作参数,建立模拟小车运动模型,实现實验目标。在完成每部分实验后,学生需要记录实验步骤结果,并可根据需要扩展实验内容。
4结束语
ROS程序设计实验课程涉及专业广,内容不宜过于复杂,主要是使学生适应操作系统环境和简单编程调试方法,为今后工作打下基础,推进技能提升,激发学习积极性。上述课程设计方案不仅借鉴了其他高校关于ROS程序设计课程的开设方案,还依托本校实际情况。只有这样才能真正促进实验课程的良好有效运行,提高学生学习主动性和效率,使学生的动手能力得到增强。