当前位置:首页 > 工业技术
ROS机器人项目开发11例
ROS机器人项目开发11例

ROS机器人项目开发11例PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:(印度)朗坦·约瑟夫著;张瑞雷,刘锦涛,林远山译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111598176
  • 页数:286 页
图书介绍:本书的基本目标是通过项目实践讲解ROS,探讨具有ROS接口的各种新技术。例如,你将看到如何构建自动驾驶汽车的原型,如何使用ROS构建深度学习的应用程序,以及如何在ROS中构建虚拟现实(VR)应用程序。此外,还将介绍使用ROS及其库的大约多个项目和应用程序。
《ROS机器人项目开发11例》目录

第1章 入门ROS机器人应用程序开发 1

1.1 ROS入门 2

1.1.1 ROS发行版 2

1.1.2 支持ROS的操作系统 3

1.1.3 支持ROS的机器人和传感器 4

1.1.4 为什么选择ROS 5

1.2 ROS基础 6

1.2.1 文件系统级 7

1.2.2 计算图级 8

1.2.3 ROS社区级 9

1.2.4 ROS通信 9

1.3 ROS客户端库 10

1.4 ROS工具 11

1.4.1 Rviz(ROS可视化) 11

1.4.2 rqt_plot 11

1.4.3 rqt_graph 12

1.5 ROS仿真器 13

1.6 在Ubuntu 16.04 LTS上安装ROS Kinetic 13

1.7 在VirtualBox上设置ROS 17

1.8 设置ROS工作区 19

1.9 ROS在工业和研究中的机遇 20

1.10 问题 22

1.11 本章总结 22

第2章 使用ROS、OpenCV和Dynamixel伺服舵机进行人脸检测与跟踪 23

2.1 项目概述 23

2.2 硬件和软件需求 24

2.3 ROS与Dynamixel伺服舵机的接口 33

2.4 创建人脸跟踪ROS包 34

2.5 人脸跟踪功能包的工作原理 36

2.5.1 理解人脸跟踪代码 38

2.5.2 理解CMakeLists.txt 41

2.5.3 track.yaml文件 43

2.5.4 启动文件 43

2.5.5 运行人脸跟踪器节点 44

2.5.6 face tracker control功能包 45

2.5.7 云台控制器配置文件 46

2.5.8 舵机参数配置文件 47

2.5.9 人脸跟踪控制器节点 47

2.5.10 创建CMakeLists.txt 49

2.5.11 测试人脸跟踪控制功能包 49

2.5.12 集成所有节点 51

2.5.13 固定支架并安装电路 51

2.5.14 最终测试 52

2.6 问题 52

2.7 本章总结 53

第3章 在ROS中构建一个像Siri的聊天机器人 54

3.1 人机交互机器人 54

3.2 构建人机交互机器人 55

3.3 预备条件 56

3.4 AIML入门 57

3.4.1 AIML标签 57

3.4.2 PyAIML解释器 58

3.4.3 在Ubuntu 16.04 LTS上安装PyAIML 59

3.4.4 使用PyAIML 59

3.4.5 加载多个AIML文件 60

3.4.6 在ROS中创建AIML机器人 62

3.4.7 AIML ROS功能包 62

3.5 问题 70

3.6 本章总结 70

第4章 使用ROS控制嵌入式电路板 71

4.1 主流嵌入式电路板入门 71

4.1.1 如何选择Arduino开发板 71

4.1.2 RaspberryPi(树莓派)介绍 74

4.1.3 Odroid开发板 76

4.2 Arduino与ROS的接口 76

4.2.1 使用Arduino和ROS监控光线亮度 79

4.2.2 在PC上运行ROS串行服务器 81

4.2.3 通过mbed连接STM32开发板和ROS 82

4.2.4 使用Energia连接ROS与Tiva C Launchpad板 85

4.3 在Raspberry Pi和Odroid上运行ROS 87

4.3.1 将Raspberry Pi和Odroid连接到PC 88

4.3.2 ROS控制GPIO引脚 90

4.4 问题 94

4.5 本章总结 95

第5章 使用手势远程操作机器人 96

5.1 使用键盘遥控ROS龟 97

5.2 使用手势进行遥控 98

5.3 项目配置 100

5.4 MPU-9250、Arduino和ROS连接 101

5.5 在Rviz中可视化IMU TF 106

5.6 将IMU数据转换为twist消息 107

5.7 集成和最终运行 109

5.8 使用Android手机进行遥控 111

5.9 问题 113

5.10 本章总结 113

第6章 物体检测和识别 114

6.1 物体检测和识别的快速入门 114

6.2 ROS中的find_object_2d包 116

6.2.1 安装fin_object_2d包 116

6.2.2 运行find_object_2d节 点检测网络摄像头图像中的物体 117

6.2.3 使用深度传感器运行find_object_2d节 点 121

6.3 3D物体识别快速入门 124

6.4 ROS中3D物体识别包的介绍 125

6.5 从3D网格中检测和识别物体 127

6.5.1 使用物体的3D模型进行训练 127

6.5.2 使用捕获的3D模型进行训练 129

6.6 识别物体 132

6.7 问题 135

6.8 本章总结 135

第7章 使用ROS和TensorFlow进行深度学习 136

7.1 深度学习及其应用简介 136

7.2 深度学习机器人 137

7.3 深度学习库 138

7.4 TensorFlow入门 139

7.4.1 在Ubuntu 16.04 LTS上安装TensorFlow 139

7.4.2 TensorFlow的概念 141

7.4.3 在TensorFlow中编写我们的第一个程序 143

7.5 使用ROS和TensorFlow进行图像识别 146

7.5.1 前提条件 147

7.5.2 ROS图像识别节点 147

7.6 scikit-learn介绍 150

7.7 SVM及其在机器人中的应用 151

7.8 问题 154

7.9 本章总结 154

第8章 在MATLAB和Android上运行ROS 156

8.1 ROS-MATLAB接口入门 156

8.2 在MATLAB中设置机器人工具箱 157

8.2.1 MATLAB中的基本ROS功能 157

8.2.2 列出ROS节点、主题和消息 158

8.3 MATLAB与ROS网络通信 160

8.4 利用MATLAB控制ROS机器人 163

8.4.1 设计MATLAB GUI应用程序 164

8.4.2 解释回调 166

8.4.3 运行应用程序 168

8.5 Android及其ROS接口入门 169

8.5.1 安装rosjava 170

8.5.2 通过Ubuntu软件包管理器安装android-sdk 172

8.6 安装ROS-Android接口 174

8.7 使用ROS-Android应用程序 175

8.8 代码演练 180

8.9 使用ROS-Android接口创建基本应用程序 182

8.10 问题 183

8.11 本章总结 184

第9章 构建自主移动机器人 185

9.1 机器人规格和设计概述 185

9.2 设计和选择机器人的电动机和轮子 186

9.2.1 计算电动机扭矩 186

9.2.2 电动机转速的计算 186

9.2.3 设计总结 187

9.3 构建机器人本体的2D和3D模型 187

9.3.1 底盘 187

9.3.2 连接杆和空心管设计 188

9.3.3 电动机、轮子和电动机夹具设计 189

9.3.4 脚轮设计 189

9.3.5 中层板和顶层板设计 189

9.3.6 顶层板 190

9.3.7 机器人的3D建模 191

9.4 在Gazebo中进行机器人模型仿真 192

9.5 差速驱动机器人的数学模型 192

9.6 设计和建造实际的机器人 200

9.6.1 电动机和电动机驱动 201

9.6.2 电动机编码器 201

9.6.3 Tiva C Launchpad 201

9.6.4 超声波传感器 201

9.6.5 OpenNI深度传感器 201

9.6.6 英特尔NUC 201

9.6.7 使用Launchpad将传感器和电动机连接起来 201

9.6.8 Tiva C Launchpad编程 202

9.7 连接机器人硬件与ROS 205

9.8 在Chefbot中进行地图构建和定位 208

9.9 问题 210

9.10 本章总结 210

第10章 使用ROS创建自动驾驶汽车 211

10.1 自动驾驶汽车入门 211

10.2 典型自动驾驶汽车的功能框图 214

10.2.1 自动驾驶汽车的软件框图 218

10.2.2 在ROS中仿真和连接自动驾驶汽车传感器 219

10.3 在Gazebo中仿真一辆带有传感器的自动驾驶汽车 235

10.3.1 安装预备条件 235

10.3.2 可视化机器人车传感器数据 237

10.3.3 在Gazebo里移动一辆自动驾驶汽车 238

10.3.4 使用机器人车运行hectorSLAM 238

10.4 将DBW车与ROS连接 239

10.4.1 安装包 240

10.4.2 可视化自动驾驶汽车和传感器数据 240

10.4.3 DBW与ROS通信 242

10.5 Udacity开源自动驾驶汽车项目介绍 242

10.6 问题 245

10.7 本章总结 246

第11章 使用VR头戴设备和Leap Motion遥控机器人 247

11.1 VR头戴设备和Leap Motion入门 248

11.2 项目预备条件 249

11.3 项目的设计和工作原理 250

11.4 在Ubuntu 14.04.5上安装LeapMotion SDK 251

11.4.1 可视化Leap Motion控制器数据 252

11.4.2 使用Leap Motion可视化工具 252

11.4.3 安装Leap Motion控制器的ROS驱动程序 253

11.5 在Rviz中可视化Leap Motion数据 255

11.6 使用Leap Motion控制器创建遥控节点 256

11.7 构建ROS-VR Android应用程序 258

11.8 使用ROS-VR应用程序并与Gazebo进行连接 259

11.9 在VR中使用TurtleBot仿真 262

11.10 ROS-VR应用程序的故障排除 263

11.11 ROS-VR和Leap Motion遥控的集成应用 264

11.12 问题 264

11.13 本章总结 264

第12章 通过网络控制机器人 265

12.1 ROS Web入门 265

12.1.1 rosbridge_suite 265

12.1.2 roslibjs、ros2djs和ros3djs 266

12.1.3 tf2_web republisher 267

12.2 在ROS Kinetic上设置ROS Web 267

12.2.1 安装rosbridge_suite 267

12.2.2 设置rosbridge客户端库 268

12.3 在ROS Kinetic上安装tf2 webrepublisher 269

12.4 在Web浏览器上实现机器人遥控和可视化 269

12.4.1 项目开发 269

12.4.2 连接到rosbridge_server 271

12.4.3 初始化teleop 271

12.4.4 在Web浏览器中创建3D查看器 272

12.4.5 创建TF客户端 272

12.4.6 创建URDF客户端 272

12.4.7 创建文本输入 273

12.4.8 运行Web teleop应用程序 273

12.5 利用网络浏览器控制机器人关节 275

12.5.1 安装joint_state_publisher_js 275

12.5.2 运行网络关节状态发布器 276

12.5.3 解释代码 278

12.5.4 运行机器人监控应用程序 278

12.6 基于Web的语音控制机器人 279

12.6.1 前提条件 280

12.6.2 在Web应用程序中启用语音识别 280

12.7 运行语音控制机器人应用程序 282

12.8 问题 283

12.9 本章总结 284

相关图书
作者其它书籍
返回顶部