# 中国大学MOOC---《机器人操作系统入门》课程讲义
![封面](https://img.kancloud.cn/89/73/897384fd7588d6b9f9017bfaac52f645_4096x2304.jpg)
## 前言
欢迎来到中国大学MOOC---[《**机器人操作系统入门**》](https://www.icourse163.org/)课程,本书是课程的配套讲义,由[中科院软件所](http://www.is.cas.cn/)和[重德智能公司](http://www.droid.ac.cn/)共同推出,课程分为十个章节,与视频课程相对应,介绍ROS的基本原理和用法。欢迎各位朋友在中国大学MOOC平台上选修这门课程。
本讲义希望带给读者最**准确**、**生动**、**易懂**的ROS入门指导,为了方便读者操作练习,我们同时附有配套的[**教学代码示例**](https://github.com/DroidAITech/ROS-Academy-for-Beginners),欢迎各位下载、学习和分享。
本讲义将**长期维护**,**永久公开**。如果你有任何问题,可在Github的issues里提出,也可以直接联系我们的邮箱。由于我们课程团队的精力实在有限,本书难免存在错误和瑕疵,欢迎各位朋友拍砖,我们将不断更新,一直努力。
## 出品
![封面](https://img.kancloud.cn/10/44/1044d85c31b755e53b767e7dd21cd324_795x123.png)
## 作者
* 柴长坤 [chaichangkun@droid.ac.cn](chaichangkun@droid.ac.cn)
* 武延军 [yanjun@iscas.ac.cn](yanjun@iscas.ac.cn)
* 常先明 [cxm@droid.ac.cn](cxm@droid.ac.cn)
## 致谢
* 安传旭 [1179735683@qq.com](1179735683@qq.com)
* 韩昊旻 [hanhaomin008@126.com](hanhaomin008@126.com)
* 韩锦飞 [hanjf\_robin@163.com](hanjf_robin@163.com)
- 前言
- 第一章 ROS简介
- 机器人时代的到来
- ROS发展历程
- 什么是ROS
- 安装ROS
- 安装ROS-Academy-for-Beginners教学包
- 二进制与源码包
- 安装RoboWare Studio
- 单元测试一
- 第二章 ROS文件系统
- Catkin编译系统
- Catkin工作空间
- Package软件包
- CMakeLists.txt
- package.xml
- Metapacakge软件元包
- 其他常见文件类型
- 单元测试二
- 第三章 ROS通信架构(一)
- Node & Master
- Launch文件
- Topic
- Msg
- 常见msg类型
- 单元测试三
- 第四章 ROS通信架构(二)
- Service
- Srv
- Parameter server
- Action
- 常见srv类型
- 常见action类型
- 单元测试四
- 第五章 常用工具
- Gazebo
- RViz
- Rqt
- Rosbag
- Rosbridge
- moveit!
- 单元测试五
- 第六章 roscpp
- Client Library与roscpp
- 节点初始、关闭与NodeHandle
- Topic in roscpp
- Service in roscpp
- Param in roscpp
- 时钟
- 日志与异常
- 第七章 rospy
- Rospy与主要接口
- Topic in rospy
- Service in rospy
- Param与Time
- 第八章 TF与URDF
- 认识TF
- TF消息
- tf in c++
- tf in python
- 统一机器人描述格式
- 附录:TF数学基础
- 三维空间刚体运动---旋转矩阵
- 三维空间刚体运动---欧拉角
- 三维空间刚体运动---四元数
- 第九章 SLAM
- 地图
- Gmapping
- Karto
- Hector
- 第十章 Navigation
- Navigation Stack
- move_base
- costmap
- Map_server & Amcl
- 附录:Navigation工具包说明
- amcl
- local_base_planner
- carrot_planner
- clear_costmap_recovery
- costmap_2d
- dwa_local_planner
- fake_localization
- global_planner
- map_server
- move_base_msg
- move_base
- move_slow_and_clear
- navfn
- nav_core
- robot_pose_ekf
- rotate_recovery