当前位置:
首页 > 互联网+ > 人工智能 > ROS机器人高效编程(原书第3版)pdf/doc/txt格式电子书下载

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

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

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

书名:ROS机器人高效编程(原书第3版)pdf/doc/txt格式电子书下载

推荐语:

作者:(西)阿尼尔·马哈塔尼(AnilMahtani),张瑞雷,刘锦涛等译

出版社:机械工业出版社

出版时间:2017-09-01

书籍编号:30362286

ISBN:9787111578468

正文语种:中文

字数:105675

版次:1

所属分类:互联网+-人工智能

全书内容:

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







推荐序一


2006年,在好奇心的驱使下,一帮人走在一起,组建了一个机器人研究实验室Willow Garage。他们利用开源软件吸引他人,使人们加入一个创造个人机器人的宏伟计划中。机器人操作系统(ROS)正是这一宏伟计划的一部分。


ROS打开了一个潘多拉魔盒,可是很多人还没有做好准备,还完全没有意识到是怎么回事,就不得不与ROS牵连在一起,卷入到一个洪流中。刘锦涛博士和张瑞雷博士将本书翻译成中文,帮助大家突破语言障碍,从而在洪流中更好地奋勇前进。


刘锦涛博士和张瑞雷博士都是易科(Exbot)机器人实验室的成员,是机器人技术普及的积极推动者。从2010开始,易科机器人实验室利用互联网、社交网络、博客,积极开展机器人技术和ROS的在线教育、互动问答,使上万人受益。


2013年,当我回到国内开始我的职业生涯时,第一件事就是寻找机器人相关的研究者和爱好者,也是那时,通过易科机器人实验室建立的QQ群,结识了后来一帮志同道合的老师、学生和朋友。


2015年,我们实验室组织了全国第一届机器人操作系统暑期学校,希望有更多的人通过线下的互动促进交流,激发合作的热情,碰撞出创业的激情。我们的活动信息也通过易科机器人实验室建立的社交网络传递到全国的各个角落。


在本书再版之际,我想,对所有热爱科技,热爱机器人技术,热爱这块我们所赖以生存的土地的人来说,无论未来多么不可预测,只要像刘锦涛博士和张瑞雷博士这样,不懈地努力,大家团结在一起,都会成为洪流中的勇士。


张新宇博士


华东师范大学智能机器人运动与视觉实验室负责人


机器人操作系统(ROS)暑期学校创办人

推荐序二


记得第一次接触ROS的时候我还在学校做研究,是当时与一些海外学者交流时得知有这个专为机器人设计的操作系统。得知其特色及相关工具后,我非常兴奋,一心想把ROS用在我们最新研发的机器人上,于是就马上动手玩起来。由于当时ROS刚处在起步阶段,说明文档不太全面,同时社区支持又很少,不知道经过多少折腾才好不容易把它运行起来。体验后发现它的设计框架确实很合适作为机器人敏捷开发工具,算法及控制等代码都能很容易复用,减少了很多重复性的工作。但奈何当时的功能包不多,而且系统对运算资源要求高,最终也没有在当时的机器人项目中使用上。


由于其开源性以及对商用友好的版权协议,ROS很快得到越来越多的关注及支持。现在,ROS已有飞快的发展,越来越多机器人相关的软件工具亦加入ROS的行列。国外一些商用的机器人也开始支持ROS,甚至基于ROS进行开发。相信这个趋势会一直持续下去并且蔓延到全球各地。而我亦深深体会到国内对ROS的关注也在近年有显著的上升。


几年前,在国内学习ROS可谓孤军作战,身边没几个人听说过ROS,而且只能从国外网站上学习ROS的相关知识,完全没有中文数据可以查看。幸好在国内也有不少有心人积极推动国内ROS的发展,不遗余力地对国外ROS相关的文章进行翻译,并且发表一些原创的文章,丰富ROS的中文资源,使学习ROS变得更方便。


我与本书译者通过共同举办ROS国内培训课程而结缘。过去一年我们一起推动的国内线下ROS实战培训课程星火计划已遍布全国,渐见成效。他在推动ROS在国内发展方面也有着举足轻重的地位,运营着国内著名的ROS交流社区——易科机器人实验室(exbot.net)。本书亦是他贡献ROS中文社群的作品之一。而本书的作者同样是ROS界的权威,有丰富的ROS实战经验,使用ROS进行过多种机器人的开发。书中从ROS的架构概念到常用的调试工具、功能包及传感器的信息处理都有所涉及,是一本ROS入门必看书。希望本书能帮助你快速进入ROS的世界,探索ROS的精彩。


林天麟博士


NXROBO创始人&CEO

译者序


机器人的时代已经到来!机器人正在变得越来越灵活、智能。机器人已经从传统的工业应用开始加速进入千家万户,正从方方面面改变着人们的工作和生活,例如,扫地机器人能在清扫过程中自主绘制室内地图并智能规划路径,京东的包裹小车已经开始在校园中穿梭并投身到快递服务的行业中,这样的智能机器人已经越来越多。


那么智能机器人的程序究竟是如何设计出来的呢?


智能机器人需要具备强健的“肢”、明亮的“眼”、灵巧的“嘴”以及聪慧的“脑”,这一切的实现实际上涉及诸多技术领域,需要艰辛的设计、开发与调试过程,必然会遇到棘手的问题和挑战。而一个小型的开发团队难以完成机器人各个方面的开发工作,因而需要一套合作开发的框架与模式,这样就能够快速集成已有的功能,省却重复劳动的时间。早在2008年,我们在与澳大利亚的布劳恩教授交流时,就得知他们开发了一套商业化的“RoBIOS”机器人操作系统,这套系统对一些常用的机器人底层功能进行了封装,可极大简化高级功能的开发。据他们介绍,这是最早的“机器人操作系统”,但由于产品不开源且价格昂贵,我们最终未能一试为快。后来在网络中不断地寻觅,最终发现了ROS,由于其开源、开放的特性,一下子就引起了我们极大的兴趣。


我们于2010年建立了易科机器人QQ群进行讨论,从而结识了国内最早期的一些机器人研究者和ROS探索者。由于早期相关资料非常匮乏,我们于2012年创建了博客(blog.exbot.net)用于进行技术分享与交流,我们的队伍也在不断发展壮大。易科机器人开发组成员在此期间贡献了大量的教程和开发笔记,在此向他们的无私奉献表示感谢与敬意!近年来,随着机器人的迅猛发展,ROS得到了更为广泛的使用,国内也出现了一些优秀的项目,包括“星火计划”ROS公开课(blog.exbot.net/spark)、“HandsFree”ROS机器人开发平台(wiki.exbot.net)等。


出版界近年来也是硕果累累,本书第1版便是国内第一本ROS译著,由于实用性强,已经多次重印。第2版补充了点云和MoveIt!方面的内容。第3版则对ROS版本进行了升级,采用目前ROS最新长期支持的版本Kinetic进行介绍;并针对ROS的最新进展,继续完善,增加了Docker和设计开发真实机器人的示例;同时对章节结构进行了调整。第3版涵盖了使用ROS进行机器人编程的最新知识与方法,通过ROS编程实践能够帮助你理解机器人系统设计与应用的现实问题。在机器人开发实践中,我们认为除了成功的喜悦外,还应看到机器人学目前所处的发展阶段:核心技术尚未成熟、诸多功能尚不完备、bug多……但我们相信,有了ROS的开源精神和日益完善的合作开发框架,很多问题会逐步迎刃而解。唯一迫切需要的就是,期待你加入到机器人的设计、开发和研究中来,一起推动开源机器人技术的发展与普及。


本书第3版与第2版的重叠部分主要沿用了第2版中的翻译,个别词汇根据习惯进行了修改。具体来说,张瑞雷对书中内容进行梳理补充,刘锦涛对全书进行了修改润色和统稿整理。


我们将会在books.exbot.net发布本书的其他相关资源。

前言


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


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


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


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


主要内容


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


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


预备知识


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


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


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


目标读者


本书的目标

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示