ROS机器人编程实践

ROS机器人编程实践

课程内容
共12个章节 12个实验
1 第1章 ROS简介

ROS简介

实验1 实验1:ROS简介
本章介绍ROS的产生、发展、特点和安装方法,带给你一个简单直观的ROS介绍。
2 第2章 ROS文件系统

ROS文件系统

实验1 实验2:ROS文件系统
本章主要介绍了ROS的工程结构,也就是ROS的文件系统结构。要学会建立一个ROS工程,首先要认识一个ROS工程,了解它们的组织架构,从根本上熟悉ROS项目的组织形式,了解各个文件的功能和作用,才能正确的进行开发和编程。
3 第3章 ROS通信架构(一)

ROS通信架构(一)

实验1 实验3:ROS通信架构(一)
ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在。ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等。本章主要介绍了通信架构的基础通信方式和相关概念。其中首先介绍了最小的进程单元节点Node,和节点管理器Node master。了解了ROS中的进程都是由很多的Node组成,并且由Node master来管理这些节点。
4 第4章 ROS通信架构(二)

ROS通信架构(二)

实验1 实验4:ROS通信架构(二)
继上一章节介绍了ROS通信架构中最常见的话题通信方式,本章节将继续介绍ROS通信方式中的service、parameter server、actionlib。通过学习这四种通信方式,了解他们的通信原理和参数命令。当然还有各自的优缺点和不同的适用方面。通过这两章的学习,大致上会对于ROS的通信架构有一个宏观的理解,为后面的学习和实际应用提供了理论基础。
5 第5章 常用工具

常用工具

实验1 实验5:常用工具
本章主要介绍了ROS开发时常常使用的工具,分别是:
* Gazebo
* RViz
* rqt
* rosbag
* rosbridge
* moveit!

6 第6章 roscpp

roscpp

实验1 实验6:roscpp
从本章开始,我们就要正式的接触ROS编程了。在之前的章节,你了解到用命令行启动ROS程序、发送指令消息,或使用可视化界面来调试机器人。你可能很想知道,这些工具到底是如何实现这些功能的。起始这些工具本质上都是基于ROS的客户端库(Client Libarary)实现的,所谓客户端库,简单的理解就是一套接口,ROS为我们机器人开发者提供了不同语言的接口,比如roscpp是C++语言ROS接口,rospy是python语言的ROS接口,我们直接调用它所提供的函数就可以实现topic、service等通信功能。
7 第7章 rospy

rospy

实验1 实验7:rospy
我们学习了C++语音的ROS接口roscpp,本章我们来学习ROS的另一个接口rospy,也即是Python语音的接口。客户端库(Client Libarary)不仅仅指的是C++、Python语言的接口,其实是各种语言的接口统称。rospy中函数的定义,函数的用法都和roscpp不相同。
8 第8章 TF与URDF

TF与URDF

实验1 实验8:TF与URDF
机器人的坐标变换一直以来是机器人学的一个难点,我们人类在进行一个简单的动作时,从思考到实施行动再到完成动作可能仅仅需要几秒钟,但是机器人来讲就需要大量的计算和坐标转换。其中的坐标转换TF和URDF是本章要详细介绍的内容。
9 第9章 TF附录

TF附录

实验1 实验9:TF附录
机器人的坐标变换一直以来是机器人学的一个难点,我们人类在进行一个简单的动作时,从思考到实施行动再到完成动作可能仅仅需要几秒钟,但是机器人来讲就需要大量的计算和坐标转换。其中的坐标转换TF和统一机器人描述格式URDF就是本章要详细介绍的内容。
本章的主要内容,首先是坐标转换的前提数学知识:三维空间刚体运动,包括旋转矩阵、欧拉角、四元数等。之后详细介绍了TF和URDF,最后介绍了制作URDF模型的过程。

10 第10章 SLAM

SLAM

实验1 实验10:SLAM
机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion Planning)也是重要的一个环节。而同步定位与建图(SLAM)问题位于定位和建图的交集部分。

SLAM需要机器人在未知的环境中逐步建立起地图,然后根据地区确定自身位置,从而进一步定位。

11 第11章 Navigation

Navigation

实验1 实验11:Navigation
Navigation是机器人最基本的功能之一,ROS为我们提供了一整套Navigation的解决方案,包括全局与局部的路径规划、代价地图、异常行为恢复、地图服务器等等,这些开源工具包极大地减少了我们开发的工作量,任何一套移动机器人硬件平台经过这套方案就可以快速部署实现。
12 第12章 常见问题与解决

常见问题与解决

实验1 实验12:常见问题与解决
在ROS的学习过程中,总会遇到这样或者那样的问题,我们在不断的解决问题过程中认识和了解ROS,使用ROS。
本章主要搜集了一些ROS安装或者操作中出现的一些问题,以及解决方案。主要内容包括ROS安装过程需要注意的一些要点,ROS环境配置和ROS操作使用的时候可能出现的一些问题等。当然问题总是罗列不完的,我们能做的就是坚持学习,去克服ROS学习道路上的一个又一个的困难。

ROS机器人编程实践

共12个实验

参加本课程
ROS机器人编程实践