第1章 ROS简介 1
1.1 ROS的历史 1
1.2 ROS的安装 5
1.2.1 ROS Fuerte Turtle的安装 5
1.2.2 ROS Indigo Igloo安装 6
第2章 ROS框架 8
2.1 ROS总体框架 8
2.1.1文件系统级 8
2.1.2计算图级 9
2.1.3社区级 11
2.2 ROS功能包 11
2.3 ROS基本命令 15
2.3.1 ROS文件系统命令 15
2.3.2 ROS核心命令 18
第3章 仿真与可视化工具RViz与Gazebo 27
3.1 RViz 27
3.1.1 RViz的安装 27
3.1.2 RViz的使用 27
3.2 Gazebo 30
3.2.1安装Gazebo 30
3.2.2运行Gazebo 31
3.2.3 Gazebo的组成 31
3.2.4 URDF模型文件使用实例 33
3.2.5 SolidWorks导出URDF模型 47
第4章 语音识别及语音合成 55
4.1语音识别原理简介 55
4.2语音合成原理简介 56
4.3应用实例 57
4.3.1 CMU Sphinx英文语音识别 57
4.3.2 CMU Festival英文语音合成 67
4.3.3家度机器人中文语音交互 71
第5章 视觉系统 82
5.1 OpenCV库 82
5.1.1 OpenCV库简介 82
5.1.2 OpenCV库与ROS的接口 83
5.2 PCL库 86
5.2.1 PCL库简介 86
5.2.2 PCL库与ROS的接口 87
5.3体感相机在TurtleBot上的应用 89
5.3.1体感相机简介 89
5.3.2 OpenCV人脸检测 92
5.3.3 PCL点云滤波 97
第6章 导航定位 101
6.1同时定位与建图 101
6.1.1 SLAM问题的概率模型 101
6.1.2 SLAM问题的解 103
6.1.3基于TurtleBot平台的SLAM实验 106
6.2导航 113
6.2.1导航简介 113
6.2.2已知地图的导航实验 114
第7章 运动规划 119
7.1背景与动机 119
7.2 MoveIt!介绍 120
7.2.1 MoveIt!结构 120
7.2.2 MoveIt!安装 121
7.2.3 MoveIt!运动规划 121
7.2.4 MoveIt!场景规划 122
7.2.5 MoveIt!运动学求解器 122
7.2.6 MoveIt!碰撞检测 122
7.3创建MoveIt!功能包 123
7.4使用RViz插件测试MoveIt!功能包 132
7.4.1 MoveIt!的RViz插件 132
7.4.2路径规划 134
7.5使用命令行测试MoveIt!功能包 135
7.6使用MoveIt!API接口实现路径规划 138
第8章 MATLAB机器人工具箱 148
8.1系统工具箱简介 148
8.2 连接到ROS网络 149
8.2.1 MATLAB中创建ROS主机 149
8.2.2 连接到现有的ROS主机 150
8.2.3多种网络连接的情况 150
8.2.4验证连接情况 151
8.3 MATLAB与Gazebo交互 152
8.3.1安装MATLAB官方提供的虚拟机 152
8.3.2 MATLAB和ROS、Gazebo连接配置 153
8.3.3 MATLAB读取和修改Gazebo的参数和模型 155
8.3.4添加、建立和删除Gazebo中的项目 159
8.4 MATLAB与TurtleBot交互 162
8.4.1连接TurtleBot 163
8.4.2控制TurtleBot移动并获取相关信息 164
8.4.3键盘控制TurtleBot 166
8.4.4 VFH+避障算法 168
8.5小结 172
参考文献 173