《ROS机器人编程实践》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:MorganQuigley,BrianGerkey,WilliamD.Smart著;张天雷等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111585299
  • 页数:366 页
图书介绍:本书通过将ROS社区的宝贵开发经验和现实案例相结合,为你在机器人开发过程中遇到的问题提供切实可行的指南。不论你是机器人俱乐部的学生,还是专业的机器人科学家和工程师,都可以在本书中找到你想要的内容。书中的每部分都提供了使用ROS工具实现各类机器人系统的完整解决方案,不仅包括实现各种单一机器人任务,也包括将不同模块结合完成组合任务。在本书中,只要你熟悉Python,就可以开始动手实践。

前言 1

第一部分 基础知识 9

第1章 概述 9

简史 9

理念 10

安装 11

小结 12

第2章 预备知识 13

ROS图 13

roscore 15

catkin、工作区以及ROS程序包 16

rosrun 19

命名、命名空间以及重映射 24

roslaunch 25

tab键 26

tf:坐标系转换 27

小结 30

第3章 话题 31

将消息发布到话题上 32

订阅一个话题 36

锁存话题 38

定义自己的消息类型 39

让发布者和订阅者协同工作 46

小结 47

第4章 服务 48

定义服务 48

实现服务 51

使用服务 54

小结 56

第5章 动作 57

动作的定义 58

实现一个基本的动作服务器 59

动作的使用 62

实现一个更复杂的动作服务器 64

使用更复杂的动作 66

小结 69

第6章 机器人与仿真器 71

子系统 71

机器人系统举例 79

仿真器 83

小结 86

第7章 Wander-bot 88

创建包 88

读取传感器数据 91

感知环境并移动:Wander-bot 94

小结 96

第二部分 使用ROS驱动机器人行走 99

第8章 遥控机器人 99

开发模式 100

键盘驱动 100

运动生成器 102

参数服务器 107

速度斜坡曲线 109

开车 111

rviz 113

小结 120

第9章 创建环境地图 121

ROS中的地图 121

使用rosbag记录数据 124

创建地图 125

启动地图服务器以及查看地图 131

小结 133

第10章 在真实环境中的导航 135

在地图中定位机器人 135

使用ROS的导航软件包 139

在代码中进行导航 144

小结 145

第11章 下棋机器人 146

关节、连接以及传动链 147

成功的关键 150

安装和运行一台仿真R2 152

在命令行中移动R2 155

在棋盘上移动R2的机械臂 156

操作机械手 158

对棋盘建模 159

重演著名的棋局 163

小结 167

第三部分 感知和行为 171

第12章 循线机器人 171

采集图像 171

检测指示线 177

循线运动 182

小结 184

第13章 巡航 185

简单巡航 185

状态机 186

用smach构建状态机 188

用状态机实现巡航 195

小结 198

第14章 仓储机器人 199

仓库模拟环境 199

驶入隔间 210

拾取物体 214

小结 224

第四部分 添加自定义ROS组件 227

第15章 添加你自己的传感器和执行器 227

添加你自己的传感器 227

添加你自己的执行器 234

小结 240

第16章 添加你自己的移动机器人:第一部分 242

小龟机器人 242

ROS消息接口 244

硬件驱动 247

使用URDF对机器人建模 247

在Gazebo中进行仿真 255

小结 261

第17章 添加你自己的移动机器人:第二部分 262

验证坐标变换信息 262

添加激光传感器 266

配置导航程序栈 270

使用rviz定位和控制导航中的机器人 275

小结 278

第18章 添加你自己的机械臂 279

猎豹机械臂 279

ROS消息接口 281

硬件驱动 282

对机器人建模:使用URDF 282

在Gazebo中进行仿真 287

验证坐标变换信息 294

配置MoveIt 297

使用rviz控制机械臂 301

小结 303

第19章 添加软件库 305

让你的机器人开口说话:使用pyttsx 305

小结 312

第五部分 ROS使用小知识 315

第20章 ROS小工具 315

主机及其相关组件:roscore 315

参数管理:rosparam 316

文件系统导航:roscd 317

节点启动:rosrun 318

多节点启动:roslaunch 318

多节点系统测试:rostest 321

系统监控:rosnode、rostopic、rosmsg、rosservice和rossrv 324

小结 327

第21章 机器人行为调试 329

日志消息:/rosout和rqt_console 329

节点、话题和连接:rqt_graph和rosnode 336

传感器融合:使用rviz 343

绘制数据图表:使用rqt_plot 344

数据记录和分析:使用rosbag和rqt_bag 346

小结 350

第22章 ROS在线社区 351

社区的礼仪 351

ROS维基 352

ROS Answers:一个ROS问答社区 353

bug追踪与新特性请求 354

邮件列表与ROS兴趣小组 354

查找和分享代码 354

小结 355

第23章 用C++编写ROS程序 356

C++(或其他语言)的使用场景 356

使用catkin编译C++ 357

在Python和C++之间来回移植程序 359

小结 364