ROS机器人程序设计(原书第2版) 补充资料 教学大纲

针对该书稍后会补充教学大纲、教案、多媒体课件以及练习题等。


《ROS机器人程序设计》课程简介

课程编号:XXXXXX

课程名称:ROS机器人程序设计

学分/学时:3/48

开课学期:第 2学期

课程类型:专业选修

课程性质:选修

先修课程:Linux基础、单片机、C++、Python等

适用专业:自动化专业—机器人方向

课程性质:选修

考核方式:考查

考核形式:实验测试、平时成绩、专题研究报告

建议教材:ROS机器人程序设计(原书第2版),机械工业出版社,2016年11月

内容简介:(200字以内)

《ROS机器人程序设计》课程是自动化专业的一门主要专业选修课程,是自动化专业机器人方向一门重要的理论实践相结合的课程,为后续机器人方向课程的学习打好坚实的基础。课程内容包括:机器人系统主要构成;常见移动机器人设计方案;机器人操作系统(ROS);机器人系统编程语言;机器人系统控制算法C++与Python实现;传感器和执行器使用;机器人视觉理解和点云;机器人三维建模与仿真技术;机器人系统导航控制;机械臂运动控制等方面。通过该课程的学习可以让学生掌握并完成小型机器人系统的开发和编程工作,理解ROS的软件框架,同时在仿真环境中自动构建机器人相应的功能程序,编写机器人程序。

 

 

ROS机器人程序设计

Learning ROS for RoboticsProgramming

课程编号:xxxxxx

学    分:3

学    时:48(其中:讲课学时:32      实验学时:16       上机学时:0)

开课学期:第 2 学期

课程类型:专业选修

课程性质:选修

先修课程:Linux基础、单片机、C++、Python等

适用专业:自动化专业—机器人方向

建议教材:ROS机器人程序设计(原书第2版),机械工业出版社,2016年11月

主要参考书:

(1)《嵌入式机器人学》,刘锦涛译,西安交通大学出版社,2012 年7月第1版。

   (2) Learning ROS for Robotics Programming,Second Edition,PACKT Publishing,2015。

开课单位:电气与自动化工程学院

修订日期:2016年12月

一、课程说明

《ROS机器人程序设计》课程是基于计算机(PC)和微控制器(MCU)技术,结合多种传感器和执行器,进行机器人系统设计、仿真和控制的理论实践相结合课程,是自动化专业机器人方向的一门重要专业选修课,是运用控制理论、人工智能、传感器技术等多种学科知识进行机器人系统设计的一门重要的课程(基于ROS框架),为进一步学习复杂机器人系统设计、控制和程序编写打好坚实的基础。

二、课程目标

1. 掌握机器人系统主要构成和常用的设计方案;理解机器人设计的一般流程;掌握机器人操作系统(ROS)及相关编程方法;理解机器人系统控制算法实现过程,传感器和执行器工作方式,机器人三维仿真建模技术,机器人导航控制技术和机械臂控制技术;

2. 了解机器人方向重要资料来源及获取方法;

3. 针对一个模拟复杂工程问题(机器人系统),综合应用数学与自然科学等相关知识,对解决方案进行分析;(对应毕业要求1.5)

4. 针对一个模拟复杂工程问题(机器人系统),通过文献研究分析,以获得有效结论。(对应毕业要求2.3)

 

三、教学内容及基本要求

(一)  机器人系统基础

1.课程教学内容

(1)   机器人与控制器;

(2)   中央处理器;

(3)   传感器和执行器;

(4)   控制;

(5)   多任务处理;

(6)   通信。

2.课程的重点、难点

机器人系统主要构成,各子模块的功能作用及常用方法。

3.课程教学要求

掌握机器人系统基本概念,了解机器人系统发展现状及应用,掌握机器人系统各组成功能特点,了解主流的机器人产品。

(二)  移动机器人设计案例

1.课程教学内容

(1)   行驶机器人;

(2)   全向机器人;

(3)   平衡机器人;

(4)   步行机器人;

(5)   空中机器人;

(6)   水上和水下机器人;

(7)   机械手臂。

2.课程的重点、难点

       掌握常见机器人设计的一般流程,了解多种不同类型结构机器人的设计方案,并能设计和改进简单的机器人。

3.课程教学要求:

掌握不同机器人设计的结构特点,功能模块,理解不同类型机器人的设计时需要考虑的因素,依据不同的需求和环境要求,能够掌握相应的设计流程。

(三)  机器人操作系统(ROS)基础

1.课程教学内容

(1) ROS简介;

(2) ROS安装和使用;

(3) ROS基本操作

(4)   调试以及数据可视化

2.课程的重点、难点

重点是ROS的基本操作;难点是ROS的调试。

3.课程教学要求

掌握Ubuntu和ROS的基本安装和使用,理解并熟练应用ROS的基本操作,熟悉ROS调试方法和数据可视化。

(四)  在ROS框架下进行机器人编程控制

1.课程教学内容

(1)   使用摇杆操作机器人

(2)   使用激光雷达

(3)   使用RGBD传感器构建3D环境

(4)   使用伺服电机

(5)   使用Arduino添加更多的传感器和执行机构

(6)   GPS系统使用

(7)   视觉系统使用

(8)   点云

2.课程的重点、难点

       重点是ROS中常用外设的使用方法,传感器数据采集处理,执行器的控制等。

3.课程教学要求

掌握常见的传感器和执行器的配置方法、理解传感器数据采集和处理,执行器控制的常用方法和步骤。

(五)  机器人系统三维仿真技术

1.课程教学内容

(1)   机器人3D模型建立;

(2)   URDF文件;

(3)   Xaxro建模;

(4)   Gazebo仿真。

2.课程的重点、难点

重点是机器人3D模型的建立;难点是Gazebo仿真。

3.课程教学要求

掌握机器人3D模型的建立和Gazebo仿真。

(六)  移动机器人导航控制技术

1.课程教学内容

(1)   ROS导航功能包集;

(2)   机器人坐标转换;

(3)   发布传感器信息和里程数据;

(4)   创建基础控制器;

(5)   使用ROS创建地图;

(6)   配置全局和局部代价地图

(7)   自适应蒙特卡罗定位

(8)   机器人避障

(9)   路径规划

2.课程的重点、难点

重点是移动机器人导航控制的原理及使用,难点是机器人坐标转换、地图创建、地图理解、蒙特卡洛定位、避障和路径规划等。

3.课程教学要求

    掌握ROS系统机器人导航控制的使用,能够理解机器人坐标转换、地图创建、地图理解、蒙特卡洛定位、避障和路径规划等。

(七)  机械臂运动控制技术

1.课程教学内容

(1)   机械臂控制简介;

(2)   MoveIt!体系结构;

(3)   在MoveIt!导入机械臂;

(4)   环境中运动规划;

(5)   抓取和放置任务。

2.课程的重点、难点

    重点是Moveit!使用,难点是机械臂环境中运动规划和抓取放置任务。

3.课程教学要求

掌握MoveIt!的配置和使用方法,理解机械臂环境中运动规划和抓取放置任务。

四、课程学时分配

机器人系统设计与控制技术根据教学计划规定的学时数,理论课32学时,实验16学时,具体学时分配如下表,供参考。

课程学时分配表

教学内容概要

学时

教学方式

对应

课程目标

讲课

实验

实践

1 机器人系统基础

(1)   机器人与控制器;

(2)   中央处理器;

(3)   传感器和执行器;

(4)   控制;

(5)   多任务处理;

(6)   通信。

4

 

 

讲授

 

2 移动机器人设计案例

(1)   行驶机器人;

(2)   全向机器人;

(3)   平衡机器人;

(4)   步行机器人;

(5)   空中机器人;

(6)   水上和水下机器人;

(7)   机械手臂。

4

 

 

讲授

 

3 机器人操作系统(ROS)基础

(1) ROS简介;

(2) ROS安装和使用;

(3) ROS基本操作

(4) 调试以及数据可视化

4

 

 

讲授

 

4 ROS安装使用和基本操作(1)

(1) ROS安装和使用;

(2) ROS基本操作

(3) 调试以及数据可视化

 

 

4

讲授

实践

 

5 在ROS框架下进行机器人编程控制

(1) 使用摇杆操作机器人

(2) 使用激光雷达

(3) 使用RGBD传感器构建3D环境

(4) 使用伺服电机

(5) 使用Arduino添加更多的传感器和执行机构

(6) GPS系统使用

(7) 视觉系统使用

(8) 点云

6

 

 

讲授、实验

 

6 ROS机器人编程实践(2)

(1) 使用摇杆操作机器人

(2) 使用激光雷达

(3) 使用RGBD传感器构建3D环境

(4) 使用伺服电机

(5) 使用Arduino添加更多的传感器和执行机构

(6) GPS系统使用

(7) 视觉系统使用

(8) 点云

 

 

4

讲授实践

 

7 机器人系统三维仿真技术

(1)   机器人3D模型建立;

(2)   URDF文件;

(3)   Xaxro建模;

(4)   Gazebo仿真。

4

 

 

讲授

 

8 机器人系统三维仿真技术实践(3)

(1)   机器人3D模型建立;

(2)   URDF文件;

(3)   Xaxro建模;

(4)   Gazebo仿真。

 

 

4

讲授

实践

 

9 移动机器人导航控制技术

(1)   ROS导航功能包集;

(2)   机器人坐标转换;

(3)   发布传感器信息和里程数据;

(4)   创建基础控制器;

(5)   使用ROS创建地图;

(6)   配置全局和局部代价地图

(7)   自适应蒙特卡罗定位

(8)   机器人避障

(9)   路径规划

6

 

 

讲授

 

10 移动机器人导航控制技术实践(4)

(1)   ROS导航功能包集;

(2)   机器人坐标转换;

(3)   发布传感器信息和里程数据;

(4)   创建基础控制器;

(5)   使用ROS创建地图;

(6)   配置全局和局部代价地图

(7)   自适应蒙特卡罗定位

(8)   机器人避障

(9)   路径规划

 

 

4

讲授

实践

 

11 机械臂运动控制技术

(1)   机械臂控制简介;

(2)   MoveIt!体系结构;

(3)   在MoveIt!导入机械臂;

(4)   环境中运动规划;

(5)   抓取和放置任务。

4

 

 

讲授

 

 

 

 

 

 

 

合计

32

 

16

 

 

更多文章请关注《万象专栏》