章ROS简介 1
1.1ROS概述 2
1.2Ubuntu系统 3
1.2.1Ubuntu系统的安装 3
1.2.2树莓派安装Ubuntu 10
1.3ROS的安装 11
1.4常用的操作命令 13
1.4.1Ubuntu系统的常用命令 13
1.4.2常用的ROS操作命令 14
第2章ROS基础 15
2.1开发工具IDE 16
2.1.1RoboWare Studio的安装 16
2.1.2卸载 17
2.1.3使用 18
2.2节点 22
2.2.1发布端 23
2.2.2接收端 24
2.2.3CMakeLists.txt文件 24
2.2.4测试 25
2.3消息 26
2.3.1自定义消息 26
2.3.2编写自定义消息发布端 27
2.3.3编写自定义消息接收端 28
2.3.4CMakeLists.txt文件 29
2.3.5测试 30
2.4服务 31
2.4.1服务通信 31
2.4.2自定义srv 31
2.4.3创建服务器 32
2.4.4创建客户端 33
2.4.5CMakeLists.txt文件 34
2.4.6测试 35
2.5参数 36
2.5.1编写参数设置获取节点 36
2.5.2CMakeLists.txt文件 39
2.5.3测试 39
2.6动态参数设置 41
2.6.1创建cfg文件 41
2.6.2创建动态参数设置可执行文件 42
2.6.3CMakeLists.txt文件 43
2.6.4测试 44
2.7ROS类编程思想 45
2.7.1创建类头文件 45
2.7.2创建类应用可执行文件 47
2.7.3CMakeLists.txt文件 49
2.7.4测试 50
第3章调试及仿真工具 52
3.1Rviz 53
3.2Gazebo 56
3.2.1安装与更新 57
3.2.2Gazebo环境 58
3.2.3选项卡与工具条 59
3.2.4模拟场景组成元素 62
3.2.5搭建简单机器人模型 64
3.3rqt的调试 72
3.4rosbag的使用 76
3.5rosbridge的开发 78
3.5.1rosbridge_suite的安装 78
3.5.2测试html通信 79
第4章TF简介及应用 87
4.1TF包概述 88
4.2TF包的简单使用 88
4.3编写TF发布与接收程序 93
第5章SLAM简介及应用 100
5.1SLAM概述 101
5.2gmapping建图功能应用 102
5.3ROS gmapping功能包解读 103
5.4openslam源码解读 108
5.5ROS建图实战 119
5.5.1ROS地图发布 119
5.5.2TF坐标变换发布 124
5.5.3模拟激光数据 126
5.5.4建图 129
5.5.5建图测试 138
第6章ROS navigation及算法简介 140
6.1ROS navigation stack概述 141
6.2move_base的配置 142
6.3navigation源码解读 150
6.4A-Star算法原理与实现 155
6.5dwa算法 166
第7章基于V-rep的ROS开发 176
7.1V-rep机器人仿真软件概述 177
7.1.1V-rep与Gazebo的区别 178
7.1.2V-rep与ROS通信机制 178
7.2V-rep安装与ROS配置 179
7.2.1环境要求 179
7.2.2V-rep的安装 179
7.2.3配置RosInterface 180
7.3运行V-rep自带ROS控制场景 182
7.3.1熟悉V-rep基本操作 182
7.3.2运行ROS控制场景 183
7.3.3ROS发送数据到V-rep 185
7.4V-rep环境搭建与ROS控制开发 190
7.4.1V-rep环境搭建 190
7.4.2激光雷达ROS参数配置 199
7.5V-rep与ROS联合仿真实验 201
7.5.1gmapping建图测试 201
7.5.2导航测试 204