ROS机器人程序设计部分大纲-适用于蓝桥云课及ROS1 KINETIC/MELODIC/NOETIC
【摘要】
ROS机器人程序设计
ROS robot programming
课程编号 16300021 学分 3 开课学期 6 学时 讲课:32学时 实验:16 学时 实践:0学时 课程类型 ...
ROS机器人程序设计
ROS robot programming
一、课程说明
本课程包含实际动手操作的示例,帮助学生快速入门开发机器人程序,并提供使用开源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 |
了解机器人操作系统发展动态和最新进展 |
课堂讨论 |
作业 |
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/125373362
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)