ROS机器人高效编程(原书第3版)

ROS机器人高效编程(原书第3版) 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
阿尼尔·马哈塔尼(Anil Mahtani) 著,张瑞雷,刘锦涛 译



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-22

类似图书 点击查看全场最低价

图书介绍

出版社: 机械工业出版社
ISBN:9787111578468
版次:3
商品编码:12169587
品牌:机工出版
包装:平装
开本:16开
出版时间:2017-09-01
用纸:胶版纸


相关图书





图书描述

编辑推荐

  对于非专业人员,你将从本书了解如何安装ROS,如何开始使用ROS的基本工具和框架中不同的功能。

  对于专业人员,你将从本书学会如何使用硬件,如何将你的算法应用到现实环境中,从而创建一个满足你所有需求的功能齐全的机器人。


内容简介

  在本书中,你将了解如何安装ROS,如何开始使用ROS的基本工具和框架中不同的功能,并从不同方向探索如何创建机器人,例如使用计算机视觉或点云分析传感器感知的世界,使用强大的导航功能包集在环境中实现导航,甚至能够用MoveIt!控制机械臂与周围环境交互。读完本书后,你会发现已经可以使用ROS机器人进行工作了,并理解其背后的原理,我们衷心希望你能全面了解ROS在开发机器人系统时所提供的无限可能性。


目录

推荐序一

推荐序二

译者序

前言

作者简介

审校者简介

第1章 ROS入门 1

1.1 PC安装教程 3

1.2 使用软件库安装ROS Kinetic 3

1.2.1 配置Ubuntu软件库 4

1.2.2 添加软件库到sources.list

文件中 4

1.2.3 设置密钥 5

1.2.4 安装ROS 5

1.2.5 初始化rosdep 6

1.2.6 配置环境 6

1.2.7 安装rosinstall 7

1.3 如何安装VirtualBox和Ubuntu 8

1.3.1 下载VirtualBox 8

1.3.2 创建虚拟机 9

1.4 通过Docker镜像使用ROS 11

1.4.1 安装Docker 11

1.4.2 获取和使用ROS Docker

镜像和容器 11

1.5 在BeagleBone Black上安装

ROS Kinetic 12

1.5.1 准备工作 13

1.5.2 配置主机和source.list

文件 16

1.5.3 设置密钥 16

1.5.4 安装ROS功能包 17

1.5.5 为ROS初始化rosdep 17

1.5.6 在BeagleBone Black中

配置环境 18

1.5.7 在BeagleBone Black中

安装rosinstall 18

1.5.8 BeagleBone Black基本

ROS示例 18

1.6 本章小结 19

第2章 ROS架构及概念 20

2.1 理解ROS文件系统级 20

2.2 理解ROS计算图级 25

2.3 理解ROS开源社区级 31

2.4 ROS试用练习 32

2.5 本章小结 57

第3章 可视化和调试工具 58

3.1 调试ROS节点 60

3.2 日志消息 62

3.3 检测系统状态 69

3.4 设置动态参数 73

3.5 当出现异常状况时使用roswtf 75

3.6 可视化节点诊断 77

3.7 绘制标量数据图 78

3.8 图像可视化 81

3.9 3D可视化 83

3.10 保存与回放数据 88

3.11 应用rqt与rqt_gui插件 93

3.12 本章小结 93

第4章 3D建模与仿真 95

4.1 在ROS中自定义机器人的3D

模型 95

4.2 创建第一个URDF文件 95

4.3 xacro——一种更好的机器人

建模方法 102

4.4 在ROS中仿真 109

4.5 本章小结 118

第5章 导航功能包集入门 119

5.1 ROS导航功能包集 119

5.2 创建变换 120

5.3 发布传感器信息 124

5.4 发布里程数据信息 127

5.5 创建基础控制器 135

5.6 使用ROS创建地图 139

5.7 本章小结 142

第6章 导航功能包集进阶 144

6.1 创建功能包 144

6.2 创建机器人配置 144

6.3 配置全局和局部代价地图 147

6.4 为导航功能包集创建启动文件 150

6.5 为导航功能包集设置rviz 151

6.6 自适应蒙特卡罗定位 160

6.7 使用rqt_reconf?igure修改参数 161

6.8 机器人避障 162

6.9 发送目标 163

6.10 本章小结 166

第7章 使用MoveIt! 167

7.1 MoveIt!体系结构 167

7.2 在MoveIt!中集成一个机械臂 171

7.3 简单的运动规划 180

7.4 考虑碰撞的运动规划 184

7.5 抓取和放置任务 187

7.6 本章小结 199

第8章 在ROS下使用传感器

 和执行器 200

8.1 使用游戏杆或游戏手柄 200

8.2 使用Arduino添加更多的传感器

和执行器 206

8.3 使用9自由度低成本IMU 217

8.4 使用IMU——Xsens MTi 225

8.5 GPS的使用 226

8.6 使用激光测距仪——Hokuyo

URG-04lx 230

8.7 创建launch文件 234

8.8 使用Kinect传感器查看

3D环境中的对象 235

8.9 使用伺服电动机——Dynamixel 239

8.10 本章小结 243

第9章 计算机视觉 244

9.1 ROS摄像头驱动程序支持 245

9.2 ROS图像 255

9.3 ROS中的OpenCV库 256

9.4 使用rqt_image_view显示摄像头

输入的图像 257

9.5 标定摄像头 257

9.5.1 如何标定摄像头 258

9.5.2 双目标定 261

9.6 ROS图像管道 264

9.7 计算机视觉任务中有用的ROS

功能包 269

9.8 使用RGBD深度摄像头实现

9.9 计算两幅图像的单应性 278

9.10 本章小结 279

第10章 点云 280

10.1 理解点云库 280

10.2 我的第一个PCL程序 283

10.3 分割 305

10.4 本章小结 308


精彩书摘

  《ROS机器人高效编程(原书第3版)》:
  机器人学的工具中,点云(point cloud)是一种能够直观地表示和操作3D传感器所提供数据的方式,这类传感器包括飞行时间(Time of Flight)摄像头和激光扫描仪。该类传感器在3D坐标参考系下对空间进行有限点集采样构成点云。点云库(Point Cloud Library,PCL)提供了大量数据类型和数据结构,不但能够方便地表示采样空间中的点,而且可以表示采样空间的不同属性,比如颜色、法向量等。PCL同样提供了许多先进的算法对数据样本进行处理,比如滤波、模型估计、表面重建等。
  ROS提供了一种基于消息的接口(PCL点云可以通过该接口进行有效的通信),还有一组将本地的PCL类型转换到ROS消息的转换函数,这和处理OpenCV图像一样。除了ROS API的标准函数之外,还有一些标准的功能包可以用来与常见的3D传感器进行交互,比如广泛运用的微软的Kinect或者Hokuyo的激光功能,并且可以在RViz可视化程序的不同参考坐标系下实现数据可视化。
  本章首先介绍PCL库的背景、相关的数据类型,以及ROS接口消息,然后展示一些关于如何使用PCL库处理数据以及如何通过ROS发送和接收数据的技术。
  10.1 理解点云库
  在研究代码之前,理解点云库和ROS的PCL接口的基本概念很重要。就像前面提到的,前者为处理3D数据提供了一组数据结构和算法,后者提供了一组消息以及消息与PCL数据结构之间的转换函数。所有这些软件功能包和库,再结合ROS提供的分布式通信层的能力,扩展了机器人领域的众多新应用。
  ……

前言/序言

  Preface前言

  本书第3版全面地介绍了ROS和各种工具。ROS是一个先进的机器人操作系统框架,目前已有数百个研究团体和公司将其应用在机器人行业中。更重要的是,对于机器人技术的非专业人士和学生来说,它也相对容易上手。在本书中,你将了解如何安装ROS,如何使用ROS的基本工具和框架中不同的功能。

  在阅读本书的过程中无须使用任何特殊的设备。书中每一章都附带了一系列的源代码示例和教程,你可以在自己的计算机上运行。这是你唯一需要做的事情。

  当然,我们还会告诉你如何使用硬件,这样可以将你的算法应用到现实环境中。我们在选择设备时特意选择一些业余用户购买得起的设备,同时涵盖了在机器人研究中最典型的传感器和执行器。

  最后,展示ROS具有使整个机器人在实际或虚拟环境中工作的能力。你将学习如何创建自己的机器人并通过Gazebo仿真环境集成它。此外,如果使用Gazebo仿真环境,你将能够在虚拟环境中运行一切。本书将带你从不同方面探索如何创建机器人,例如使用计算机视觉或点云分析传感器感知世界,使用强大的导航功能包集在环境中实现导航,甚至能够用MoveIt!包控制机械臂与周围环境交互。读完本书后,你会发现已经可以使用ROS机器人进行工作了,并理解其背后的原理,我们衷心希望你能全面了解ROS在开发机器人系统时所提供的无限可能性。

  主要内容

  第1章介绍安装ROS最简单的方法,以及如何在不同平台上安装ROS,本书使用的版本是ROSKinetic。这一章还会说明如何从Debian包安装或从源代码进行编译安装,以及在虚拟机、Docker和ARMCPU中安装。

  第2章讨论ROS框架及相关的概念和工具。该章介绍节点、主题和服务,以及如何使用它们,还将通过一系列示例说明如何调试节点或利用可视化方法直观地查看通过主题发布的消息。

  第3章进一步展示ROS强大的调试工具,以及通过对节点主题的图形化将节点间的通信数据可视化。ROS提供了一个日志记录API来轻松地诊断节点的问题。事实上,在使用过程中,我们会看到一些功能强大的图形化工具(如rqt_console和rqt_graph),以及可视化接口(如rqt_plot和rviz)。最后介绍如何使用rosbag和rqt_bag记录并回放消息。

  第4章介绍在ROS中实现机器人的第一步是创建一个机器人模型,包括在Gazebo仿真环境中如何从头开始对一个机器人进行建模和仿真,并使其在仿真环境中运行。你也可以仿真摄像头和激光测距传感器等传感器,为后续学习如何使用ROS的导航功能包集和其他工具奠定基础。

  第5章是关于ROS导航功能包集中的其中一章。该章介绍如何为方便机器人使用导航功能包集进行初始化配置。然后用几个例子对导航功能包集进行说明。

  第6章延续第5章的内容,介绍如何使用导航功能包集使机器人有效地自主导航。该章介绍使用ROS的Gazebo仿真环境和RViz创建一个虚拟环境,在其中构建地图、定位机器人并用障碍回避做路径规划。

  第7章讨论ROS中移动机器人机械臂的一个工具包。该章包含安装这个包所需要的文档,以及使用MoveIt!操作机械臂进行抓取、放置、简单的运动规划等任务的演示示例。

  第8章介绍ROS与现实世界如何连接。这一章介绍在ROS下使用的一些常见传感器和执行器,如激光雷达、伺服电动机、摄像头、RGB-D传感器、GPS等。此外,还会解释如何使用嵌入式系统与微控制器(例如非常流行的Arduino开发板)。

  第9章介绍ROS对摄像头和计算机视觉任务的支持。首先使用FireWire和USB摄像头驱动程序将摄像头连接到计算机并采集图像。然后,就可以使用ROS的标定工具标定摄像头。该章会详细介绍和说明什么是图像管道,讨论如何使用集成了OpenCV的多个机器视觉API。最后,安装并使用一个视觉里程计软件。

  第10章将展示如何在ROS节点中使用点云库(PointCloudLibrary,PCL)。该章从基本功能入手,如读或写PCL数据片段以及发布或订阅这些消息所必需的转换。然后,将在不同节点间创建一个管道来处理3D数据,以及使用PCL进行缩减采样、过滤和搜索特征点。

  预备知识

  我们写作本书的目的是让每位读者都可以完成本书的学习并运行示例代码。基本上,你只需要在计算机上安装一个Linux发行版。虽然每个Linux发行版应该都能使用,但还是建议你使用Ubuntu16.04LTS。这样你可以根据第1章的内容安装ROSKinetic。

  对于硬件要求,一般来说,任何台式计算机或笔记本电脑都满足。但是,最好使用独立显卡来运行Gazebo仿真环境。此外,最好有足够的外围接口,因为这样你可以连接几个传感器和执行器,包括摄像头和Arduino开发板。

  你还需要Git(git-coreDebian包),以便从本书提供的源代码中复制软件库。同样,你需要具备Bash命令行、GNU/Linux工具的基本知识和一些C/C++编程技巧。

  目标读者

  本书的目标读者包括所有机器人开发人员,可以是初学者也可以是专业人员。它涵盖了整个机器人系统的各个方面,展示了ROS如何帮助开发人员完成使机器人真正自主化的任务。对于听说过却从未使用过ROS的机器人专业学生或科研人员来说,本书将是非常有益的。ROS初学者能从本书中学习ROS软件框架的很多先进理念和工具。不仅如此,经常使用ROS的用户也可能从某些章节中学习到一些新东西。当然,只有前3章是纯粹为初学者准备的,所以那些已经使用过ROS的人可以跳过这三章直接阅读后面的章节。

  源代码和彩色图片下载

  本书源代码可以从华章官网www.hzbook.com下载。

  作者简介AbouttheAuthors

  AnilMahtani是一名主要从事水下机器人工作研发的计算机科学家。他第一次在该领域工作是在完成硕士论文期间为低成本ROV开发软件架构。在此期间,他也成为AVORA的团队领导者和主要开发人员,这个大学生团队设计开发了一个自主水下航行器并参加了2012年的欧洲学生自主水下航行器设计挑战赛(StudentAutonomousUnderwaterChallenge-Europe,SAUC-E)。同年,他完成了论文并获得了拉斯帕尔马斯大学的计算机科学硕士学位。此后不久,他成为SeeByte公司的软件工程师,这家公司是水下系统智能软件解决方案的全球领导者。在2015年,他加入SecureWorks公司,任职软件工程师,在那里他应用相关知识和技术开发入侵检测和预防系统。

  在SeeByte公司工作期间,Anil参与了军方、石油和天然气公司的一些半自主和自主水下系统的核心开发。在这些项目中,他积极参与自主系统开发、分布式软件体系结构设计和底层软件开发,同时也为前视声呐图像提供计算机视觉解决方案。他还获得了项目经理职位,管理一个开发和维护内核C++库的工程师团队。

  他的专业兴趣主要包括软件工程、算法、数据结构、分布式系统、网络和操作系统。Anil在机器人方向主要负责提供高效和健壮的软件解决方案,不仅解决当前存在的问题,还预见未来的问题或可能的改进。鉴于他的经验,他在计算机视觉、机器学习和控制问题上也有独特的见解。Anil对DIY和电子学感兴趣,并且开发了一些Arduino库回馈社区。

  首先,我要感谢家人和朋友的支持,他们总是在我最需要的时候帮助我。我还要感谢我的女友Alex的耐心支持,她是我灵感的源泉。最后,我要感谢我的同事IhorBilyy和DanGood,在我软件工程师职业生涯中他们以专业的方式教会我很多知识。

  LuisSánchez在拉斯帕尔马斯大学获得了电子与电信工程的双硕士学位。他曾在技术开发和创新研究所(IDETIC)、加那利群岛海洋平台(PLOCAN)和应用微电子研究所(IUMA)与不同的研究小组合作,进行超分辨率算法成像研究。

  他的专业兴趣包括应用于机器人系统的计算机视觉、信号处理和电子设计。因此,他加入了AVORA团队,这批年轻的工程师和学生从零开始从事自主水下航行器(AUV)的开发工作。在这个项目中,Luis开始开发声学和计算机视觉系统,用于提取不同传感器的信息,例如水听器、声呐和摄像头。

  依托海洋技术的强大背景,Luis与人合作创办了一家新的初创公司SubseaMechatronics,致力于为水下环境开发遥控操作和自主航行器。

  下面是海洋技术工程师和企业家(LPAFabrika:GranCanariaMakerSpace的联合创始人和制造商)DarioSosaCabrera对Luis的评价:

  “他很热情,是一个跨多学科的工程师。他对工作负责,自制力强,并承担一个团队领导者的责任,这在euRathlon比赛中充分展现了出来。他在电子和电信领域的背景让其具备从信号处理和软件到电子设计和制造的广泛专业知识。”

  Luis作为技术审校者参与了Packt出版社出版的《LearningROSforRoboticsProgramming》的相关工作以及第2版的撰写工作。

  首先,我要感谢Aaron、Anil以及Enrique邀请我参与编写这本书。同他们一起工作非常快乐。同时,我也要感谢水下机电团队关于重型水下机器人的丰富经验,这些年我们一起成长。我必须提到LPAFabrika:GranCanariaMakerSpace,他们满腔热忱地准备和引导教学机器人及技术项目,与他们共同工作的时光也非常开心。

  最后,我要感谢家人和女友对我参与的每个项目的大力支持和鼓励。我以此书献给他们。

  EnriqueFernández具有计算机工程博士学位和机器人学研究背景。他的博士论文解决了自主水下滑翔器(AUG)的路径规划问题,他还研究了SLAM、感知、视觉、控制等机器人学课题。在读博士期间,他加盟了赫罗纳大学的CIRS/ViCOROB水下机器人研究中心,在那里他为AUV开发了视觉SLAM和INS模块。他在2012年参加了SAUC-E并获奖,在2013年作为合作者参与了SAUC-E。

  攻读博士学位期间,Enrique在机器人顶级会议和期刊上发表了多篇论文,其中包括国际机器人和自动化会议(InternationalConferenceofRoboticsandAutomation,ICRA)。他也合作编写了一些ROS书籍和章节。

  之后,Enrique作为SLAM工程师在2013年6月加盟PALRobotics公司。在那里,他开发了用于REEM、REEM-C仿人型机器人的ROS软件,也继续为开源社区(主要是ROS控制软件库)做贡献,目前仍是其中一名维护人员。在2015年,他加盟ClearpathRobotics公司的自主系统部门,从事感知算法开发相关工作。他曾经在通用电气公司(GeneralElectri ROS机器人高效编程(原书第3版) 下载 mobi epub pdf txt 电子书 格式


ROS机器人高效编程(原书第3版) mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

ROS机器人高效编程(原书第3版) 下载 mobi pdf epub txt 电子书 格式 2024

ROS机器人高效编程(原书第3版) 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

书不错

评分

老公买的专业书,老公很喜欢,送货及时

评分

目前正在看,书上对应的ros系统是hydro,书上对应的代码是c++。总体来说,对ros不熟的,可以先看看,有个大概了解。其实ros的官网上教程已经非常全了,也可以不用买本书。

评分

Gooooooooooooooood

评分

感觉没啥大用处

评分

好书好未来,花个几十块,买个月薪biubiu漲,你说值不值

评分

ROS设计,努力学习中

评分

公司采购的 图书,专业性还是不错的。

评分

买了好多次了,挺好的,下次再买

类似图书 点击查看全场最低价

ROS机器人高效编程(原书第3版) mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有