《基于ROS的机器人理论与应用》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:何炳蔚,张立伟,张建伟著
  • 出 版 社:北京:科学出版社
  • 出版年份:2017
  • ISBN:9787030530578
  • 页数:174 页
图书介绍:自2010年开源机器人操作系统ROS(RobotOperatingSystem)发布第一个版本以来,截至本书成稿时已经发布了10个版本,ROS也已经成为机器人研发领域的通用性软件平台。ROS是建立在开源操作系统Ubuntu系统之上的开源的机器人操作系统,其主要目标是为机器人研究和开发提供代码复用的支持。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,共用功能的执行,进程间消息传递,以及包管理。ROS的官方网站也提供了各种支持文档,相关资源构成了一个强大的生态系统,使得学习和使用ROS非常方便。本书通过介绍ROS和实际机器人为平台,展示机器人主要功能模块涉及到的相关理论和应用场景,可作为机器人研究者和爱好者应用ROS构建机器人软件系统的参考手册,也可以做本科生和研究生的教材。

第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