ROS机器人程序设计部分大纲-适用于蓝桥云课及ROS1 KINETIC/MELODIC/NOETIC
ROS机器人程序设计ROS robot programming本课程包含实际动手操作的示例,帮助学生快速入门开发机器人程序,并提供使用开源ROS1[KINETIC/MELODIC/NOETIC]库和工具的完整解决方案。本课程还介绍如何使用虚拟机和Docker容器来简化Ubuntu和ROS1[KINETIC/MELODIC/NOETIC]框架的安装,可以在隔离和可控的环境中开始工作,而无须更改常规的
ROS机器人程序设计
ROS robot programming
课程编号 | 16300021 | 学分 | 3 | 开课学期 | 6 | ||||||||
学时 | 讲课:32学时 实验:16 学时 实践:0学时 | ||||||||||||
课程类型 | 专业选修课程 | 课程性质 | 限选 | 考核形式 | 考查 | ||||||||
先修课程 | 《单片机技术理论与实验》、《电力拖动与运动控制》、《电力电子技术》、《大学物理》、《机械基础》 | ||||||||||||
适用专业 | 机器人工程/智能制造 | 开课学院 | 电气与机器人化工程学院 | ||||||||||
建议教材 |
| ||||||||||||
主要参考书 | (1)蓝桥云课: ROS机器人操作系统初级教程 | ||||||||||||
修订时期 | 2020年9月 | 版本 | 2020版 | ||||||||||
一、课程说明
本课程包含实际动手操作的示例,帮助学生快速入门开发机器人程序,并提供使用开源ROS1[KINETIC/MELODIC/NOETIC]库和工具的完整解决方案。本课程还介绍如何使用虚拟机和Docker容器来简化Ubuntu和ROS1[KINETIC/MELODIC/NOETIC]框架的安装,可以在隔离和可控的环境中开始工作,而无须更改常规的计算机设置。本课程首先介绍ROS1[KINETIC/MELODIC/NOETIC]的安装和基本概念,然后讲述ROS1[KINETIC/MELODIC/NOETIC]支持的更复杂的模块,如传感器和执行器集成模块(驱动程序)、导航和地图构建模块(创建自主移动机器人)、操作模块、计算机视觉模块、3D感知模块等。完成本课程后,将能够使用ROS1[KINETIC/MELODIC/NOETIC]的全部功能来设计和开发一个满足个性需求的功能齐全的机器人。
二、课程目标
1.了解机器人操作系统编程设计的基本方法。(对应毕业要求5.1:能够应用专业知识对机器人工程问题进行软硬件分析与设计。)
2. 能够使用机器人操作系统各组件进行系统集成设计。(对应毕业要求5.2:理解现代工程工具的特点,能够选择恰当的工具将其应用于元件选型、模块设计和系统集成等工程实践关键环节。)
3. 能够使用机器人操作系统如Gazebo进行相应项目开发和设计。(对应毕业要求5.3:能够运用适当的现代工程工具进行仿真,用于复杂工程问题的模拟与预测,并能够理解其局限性。)
4. 了解机器人操作系统发展动态和最新进展(对应毕业要求10.3:了解国际本行业发展动态,关注本专业国际热点问题。)
三、教学内容及基本要求
- 机器人操作系统知识和入门
1.课程教学内容
机器人操作系统安装、虚拟机、Docker、嵌入式系统,本课程的内容、性质与任务。
2.课程重点、难点
机器人操作系统安装、虚拟机、Docker、嵌入式系统。
3.课程教学要求
了解本课程的性质、任务、内容和学习方法。了解ROS1[KINETIC/MELODIC/NOETIC]的基本构成、类型及主要参数,掌握ROS1[KINETIC/MELODIC/NOETIC]开发环境、程序设计基础。
- ROS1[KINETIC/MELODIC/NOETIC]架构及概念
1.课程教学内容
机器人操作系统文件系统级、计算图级、社区级、创建功能包并实现功能等
2.课程重点、难点
机器人操作系统的核心概念和具体使用方法。
3.课程教学要求
了解机器人操作系统内涵,熟悉机器人操作系统功能并能够编写对应功能的函数语句。
- 可视化和调试工具
1.课程教学内容
调试ROS1[KINETIC/MELODIC/NOETIC]节点、日志消息、检测系统状态、设置动态参数、roswtf、可视化节点诊断、绘制标量数据图、图像可视化、3D可视化、保存与回放数据、插件
2.课程重点、难点
机器人操作系统的调试工具和各种可视化方法
3.课程教学要求
通过ROS1[KINETIC/MELODIC/NOETIC]可视化和调试工具学习,掌握其使用方法和编程方法。
- 3D建模与仿真
1.课程教学内容
自定义机器人3D模型,创建一个URDF文件、xacro文件、ROS1[KINETIC/MELODIC/NOETIC]仿真。
2.课程重点、难点
机器人三维模型的构建。
3.课程教学要求
通过仿真模型搭建熟悉各模块连接方法和运行程序编写方法。
- 导航功能
1.课程教学内容
创建变换、发布传感器消息、里程数据信息、创建基础控制器、创建地图,机器人配置、全局和局部代价地图、rviz详细配置、自适应蒙特卡洛定位,避障,目标发送。
2.课程重点、难点
正确运用相关导航功能包进行机器人控制。
3.课程教学要求
了解导航功能包的工作原理;通过软件编程,掌握机器人的控制方法和控制程序编写方法。
- 使用MoveIt!
1.课程教学内容
机械臂、体系结构、简单运动规划、抓取放置任务。
2.课程重点、难点
正确连接机械臂编写运行程序。
3.课程教学要求
了解机械臂的控制方法和控制程序编写方法。
- ROS1[KINETIC/MELODIC/NOETIC]外设
1.课程教学内容
使用游戏手柄、使用RGBD传感器,ROS1[KINETIC/MELODIC/NOETIC]摄像头驱动、ROS1[KINETIC/MELODIC/NOETIC]与OpenCV库、标定摄像头、视觉里程计,点云库、可视化点云、滤波和缩减采样、配准与匹配、点云分区。
2.课程重点、难点
正确外设编写运行程序。
3.课程教学要求
了解ROS1[KINETIC/MELODIC/NOETIC]外设的控制方法和相关程序编写方法。
四、课程学时分配
ROS1[KINETIC/MELODIC/NOETIC]机器人程序设计根据教学计划规定的学时数,理论课20学时,实验12学时,具体学时分配如下表,供参考。
教学内容概要 | 学时 | 教学方式 | 对应 课程目标 | ||
讲课 | 实践 | 实验 | |||
1 ROS1[KINETIC/MELODIC/NOETIC]入门 机器人操作系统安装、虚拟机、Docker、嵌入式系统 | 4 | 2 | 讲授 实验 | ||
2 ROS1[KINETIC/MELODIC/NOETIC]架构及概念 机器人操作系统文件系统级、计算图级、社区级、创建功能包并实现功能等 | 4 | 2 | 讲授 实验 | ||
3 可视化和调试工具 调试ROS1[KINETIC/MELODIC/NOETIC]节点、日志消息、检测系统状态、设置动态参数、roswtf、可视化节点诊断、绘制标量数据图、图像可视化、3D可视化、保存与回放数据、插件 | 4 | 2 | 讲授 实验 | ||
4 3D建模与仿真 自定义机器人3D模型,创建一个URDF文件、xacro文件、ROS1[KINETIC/MELODIC/NOETIC]仿真 | 4 | 2 | 讲授 实验 | ||
5 导航功能 创建变换、发布传感器消息、里程数据信息、创建基础控制器、创建地图,机器人配置、全局和局部代价地图、rviz详细配置、自适应蒙特卡洛定位,避障,目标发送 | 6 | 4 | 讲授 实验 | ||
6 使用MoveIt! 机械臂、体系结构、简单运动规划、抓取放置任务 | 4 | 2 | 讲授 实验 | ||
7 ROS1[KINETIC/MELODIC/NOETIC]外设 使用游戏手柄、使用RGBD传感器,ROS1[KINETIC/MELODIC/NOETIC]摄像头驱动、ROS1[KINETIC/MELODIC/NOETIC]与OpenCV库、标定摄像头、视觉里程计,点云库、可视化点云、滤波和缩减采样、配准与匹配、点云分区。 | 6 | 2 | 讲授 实验 | ||
合 计 | 32 | 16 |
五、其他教学环节
1. 实验项目与内容
实验项目与内容一览表
序号 | 实验项目名称 | 内容提要 | 实验学时 | 每组人数 | 实验类型 | 实验类别 | 实验要求 |
1 | 实验一、ROS1[KINETIC/MELODIC/NOETIC]入门 | 机器人操作系统安装、虚拟机、Docker、嵌入式系统 | 2 | 2 | 验证性 | 专业基础 | 必修 |
2 | 实验二、ROS1[KINETIC/MELODIC/NOETIC]架构及概念 | 机器人操作系统文件系统级、计算图级、社区级、创建功能包并实现功能等 | 2 | 2 | 验证性 | 专业基础 | 必修 |
3 | 实验三、可视化和调试工具 | 调试ROS1[KINETIC/MELODIC/NOETIC]节点、日志消息、检测系统状态、设置动态参数、roswtf、可视化节点诊断、绘制标量数据图、图像可视化、3D可视化、保存与回放数据、插件 | 2 | 2 | 验证性 | 专业基础 | 必修 |
4 | 实验四、3D建模与仿真 | 自定义机器人3D模型,创建一个URDF文件、xacro文件、ROS1[KINETIC/MELODIC/NOETIC]仿真 | 2 | 2 | 验证性 | 专业基础 | 必修 |
5 | 实验五、导航功能 | 创建变换、发布传感器消息、里程数据信息、创建基础控制器、创建地图,机器人配置、全局和局部代价地图、rviz详细配置、自适应蒙特卡洛定位,避障,目标发送 | 4 | 2 | 验证型 | 专业 | 必修 |
6 | 实验六、使用MoveIt! | 机械臂、体系结构、简单运动规划、抓取放置任务 | 2 | 2 | 验证型 | 专业 | 必修 |
7 | 实验七、ROS1[KINETIC/MELODIC/NOETIC]外设 | 使用游戏手柄、使用RGBD传感器,ROS1[KINETIC/MELODIC/NOETIC]摄像头驱动、ROS1[KINETIC/MELODIC/NOETIC]与OpenCV库、标定摄像头、视觉里程计,点云库、可视化点云、滤波和缩减采样、配准与匹配、点云分区 | 2 | 2 | 验证型 | 专业 | 必修 |
2.说明
本课程实验是理论教学的辅助内容,本课程实验具有较强的实验性,是加强课程教学的必要环节。本课程实验的目的是让学生认识机器人相关硬件模块的基本原理、性能指标、控制方法以及基于ROS1[KINETIC/MELODIC/NOETIC]如何编程实现对其控制;提高学生分析、设计和操作的能力;培养实事求是、严谨的科学作风和良好的实验习惯,为从事机器人系统的分析设计及集成开发奠定基础。实验基本要求为:
(1)通过实验加深对智能机器人系统的基本概念、分析设计和控制方法的理解和掌握,提高综合运用所学知识解决问题的能力。
(2)掌握ROS1[KINETIC/MELODIC/NOETIC]编程环境和编程方法,能够对机器人传感器模块、运动模块、无线模块进行控制。
(3)能够综合运用所学知识设计机器人系统的控制器,结合相关模块和设备设计有一定功能的机器人。
六、教学管理
1.《ROS机器人程序设计》课程以项目化教学方式开展,项目难度由简到繁,将理论教学与实践教学相融合,边讲边做,边做边学。
2. 在本课程前学生须先修完《信号与系统分析》、《单片机技术理论与实践》、《电力拖动与运动控制》、《电力电子技术》等课程,掌握C语言编程能力和硬件电路设计方法,为《ROS机器人程序设计》课程的开展奠定基础。《ROS机器人程序设计》课程是将课堂教学与模拟工程项目实践结合的综合性应用课程,通过本课程的学习使学生掌握ROS1[KINETIC/MELODIC/NOETIC]机器人控制器的基本技术技能和工程应用,为后续的《机器人综合创新课程》以及未来职业发展打下良好基础。
3. 建议使用蓝桥云课,课程结构合理,突出了基础性、先进性和易读性。内容叙述力求深入浅出、层次分明。
七、考核方法
课程名称:ROS机器人程序设计 课程号:16300182
考核方式:考查
考核形式:平时成绩10%、实验成绩30%、期中考试10%、期末考查50%
1、考核说明
本课程的学生成绩由平时成绩、实验成绩、期中考试、期末考查成绩四部分组成,其中平时成绩占总成绩的10%,实验成绩占总成绩的30%、期中10%、期末考查成绩占总成绩的50%。具体考核环节和考核比例见下表。
考核环节 | 平时+期中(20%) | 实验成绩 (30%) | 期末考核 (50%) | 合计 | |
平时测评 | 期中 | ||||
考核比例 | 10% | 10% | 30% | 50% | 100% |
实验项目(实际操作和实验报告)成绩考核标准
考核实验操作评分表 | 实验报告评分标准 | ||
操作表现 | 等级(分) | 报告内容 | 得分 |
在规定时间的2/3时间内完成,独立完成操作,设备、工具和组件等ROS相关使用合理规范,环境整洁。 | A(90-100) | 1.报告主要内容(满分90分) | (1)实验目的和要求(10分):遗漏1个实验目的和要求扣5分。 (2)实验器材(5分):按撰写完备情况给分,若此项空缺按零分计算。 (3)实验原理和方法(25分): ①实验原理和方法描述完整,无错误与遗漏之处。(25分) ②实验原理和方法描述基本完整、正确,存在个别遗漏之处或错误的地方。(20-24分) ③实验原理和方法描述较为完整、正确,存在少数遗漏之处或错误的地方。(15-19分) ④实验原理和方法描述不完整、正确,存在较多遗漏之处或错误的地方。(<15分) (4)实验数据和结果(50分) ①实验数据和结果介绍完整,分析到位,无错误与遗漏之处。(50分) ②实验数据和结果介绍基本完整、正确,分析较为到位,存在个别遗漏之处或错误的地方。(40-49分) ③实验数据和结果分析较为完整、正确,分析较为到位,存在少数遗漏之处或错误的地方。(25-39分) ④实验数据和结果分析不完整、正确,分析不到位,存在较多遗漏之处或错误的地方。(<25分) |
在规定时间内完成,最多经一次个别指导完成操作,设备、工具和组件等ROS相关使用基本合理规范,环境整洁。 | B(80-89) | 2. 思考分析(满分10分) | ①无思考分析题或实验心得体会,扣10分; ②主要内容分析不到位,扣5分; ③主要内容分析正确,但不全面,扣5分; ④字迹潦草扣5分; |
在规定时间内完成,经多次个别指导完成操作,设备、工具和组件等ROS相关使用基本合理规范,环境整洁。 | C(70-79) | 实验报告合计得分 | ①报告主要内容项得分与思考分析项得分之和,为实验报告合计得分; ②无实验数据记录,或实验数据作假,实验报告合计得分为零分。 |
在规定时间内完成,经多次个别指导完成操作,设备、工具、元件和环境整理不到位。 | D(60-69) | ||
在规定时间内未完成操作。 | E(<60) |
考核说明:《课程考核方案一览表》表达的对应关系,能够证明学生通过本课程考核成绩合格,即可达到课程目标的要求。
2、课程目标考核方案一览表
考核说明:《课程目标考核方案一览表》表达的对应关系,能够证明学生通过本课程考核成绩合格,即可达到课程目标的要求。
课程目标考核方案一览表
课程支撑的毕业要求序号 | 课程目标序号 | 考核内容 | 考核形式 | 考核原始材料(说明:试卷、作业、实验报告、技术报告、过程记录、实习总结等,纸质或电子) |
5.1 | 课程目标1 | 了解机器人操作系统编程设计的基本方法 | 课堂任务 | 作业 |
5.2 | 课程目标2 | 能够使用机器人操作系统各组件进行系统集成设计。 | 实验+试卷 | 实验报告+试卷 |
5.3 | 课程目标3 | 能够使用机器人操作系统进行相应项目开发和设计 | 实验+试卷 | 实验报告+试卷 |
10.3 | 课程目标4 | 了解机器人操作系统发展动态和最新进展 | 课堂讨论 | 作业 |
更多推荐
所有评论(0)