基本信息
- 作者: 拉姆库玛·甘地那坦 郎坦·约瑟夫 阿尼尔·马哈塔尼
- 译者: 张瑞雷 刘锦涛
- 丛书名: 机器人设计与制作系列
- 出版社:机械工业出版社
- ISBN:9782101251526
- 上架时间:2021-1-25
- 出版日期:2021 年1月
- 开本:16开
- 页码:308
- 版次:1-1
- 所属分类:计算机 > 人工智能 > 智能机器人

编辑推荐
---------------------------ROS机器人项目开发11例(原书第2版)---------------------------
ROS机器人项目开发11例(原书第2版)
ROS Robotics Projects, Second Edition
[印度]?拉姆库玛·甘地那坦(Ramkumar Gandhinathan) 朗坦 · 约瑟夫(Lentin Joseph)?著
潘丽陈媛媛徐茜 吴中红译
内容简介
计算机书籍
---------------------------ROS机器人项目开发11例(原书第2版)---------------------------
本书涵盖新的ROS发行版中的项目——ROS Melodic Morenia with Ubuntu Bionic(18.04)。从基本原理开始,本书向你介绍了ROS-2,并帮助你了解它与ROS-1的不同之处。你将能够在ROS中建模并构建工业移动机械手臂,并在Gazebo 9中进行模拟。然后,你将了解如何使用状态机处理复杂的机器人应用程序,以及一次处理多个机器人。本书还向你介绍了新的、流行的硬件,如Nvidia的Jetson Nano、华硕修补板和Beaglebone Black,并允许你探索与ROS的接口。
---------------------------ROS机器人高效编程(原书第3版)---------------------------
本书包含了大量示例,帮助你开发机器人程序,并为你提供使用开源ROS库和工具的完整解决方案。本书主要内容包括:ROS的概念、命令行工具、可视化GUI以及如何调试ROS,如何将机器人传感器和执行器连接到ROS,如何从摄像头和3D传感器获取数据并分析数据,如何在机器人/传感器和环境仿真中使用Gazebo,如何设计机器人,如何使用OpenCV3.0为机器人添加视觉功能,如何使用新版本的PCL向机器人添加3D感知功能。本书适合各个阶层的机器人开发人员和机器人爱好者阅读。
作译者
---------------------------ROS机器人项目开发11例(原书第2版)---------------------------
关于我们
客户服务
友情链接
---------------------------ROS机器人高效编程(原书第3版)---------------------------
Anil Mahtani是一名主要从事水下机器人工作研发的计算机科学家。他第一次在该领域工作是在完成硕士论文期间为低成本ROV开发软件架构。在此期间,他也成为AVORA的团队领导者和主要开发人员,这个大学生团队设计开发了一个自主水下航行器并参加了2012年的欧洲学生自主水下航行器设计挑战赛(Student Autonomous Underwater Challenge-Europe,SAUC-E)。同年,他完成了论文并获得了拉斯帕尔马斯大学的计算机科学硕士学位。此后不久,他成为SeeByte公司的软件工程师,这家公司是水下系统智能软件解决方案的全球领导者。在2015年,他加入SecureWorks公司,任职软件工程师,在那里他应用相关知识和技术开发入侵检测和预防系统。
在SeeByte公司工作期间,Anil参与了军方、石油和天然气公司的一些半自主和自主水下系统的核心开发。在这些项目中,他积极参与自主系统开发、分布式软件体系结构设计和底层软件开发,同时也为前视声呐图像提供计算机视觉解决方案。他还获得了项目经理职位,管理一个开发和维护内核C++库的工程师团队。
他的专业兴趣主要包括软件工程、算法、数据结构、分布式系统、网络和操作系统。Anil在机器人方向主要负责提供高效和健壮的软件解决方案,不仅解决当前存在的问题,还预见未来的问题或可能的改进。鉴于他的经验,他在计算机视觉、机器学习和控制问题上也有独特的见解。Anil对DIY和电子学感兴趣,并且开发了一些Arduino库回馈社区。
首先,我要感谢家人和朋友的支持,他们总是在我最需要的时候帮助我。我还要感谢我的女友Alex的耐心支持,她是我灵感的源泉。最后,我要感谢我的同事Ihor Bilyy和Dan Good,在我软件工程师职业生涯中他们以专业的方式教会我很多知识。
Luis Sánchez在拉斯帕尔马斯大学获得了电子与电信工程的双硕士学位。他曾在技术开发和创新研究所(IDETIC)、加那利群岛海洋平台(PLOCAN)和应用微电子研究所(IUMA)与不同的研究小组合作,进行超分辨率算法成像研究。
目录
---------------------------ROS机器人项目开发11例(原书第2版)---------------------------
译者序
前言
作者简介
第1章 ROS入门 1
1.1 技术要求 2
1.2 ROS概述 2
1.2.1 ROS发行版 3
1.2.2 支持的操作系统 3
1.2.3 支持的机器人及传感器 4
1.2.4 为什么选择ROS 5
1.3 ROS基础 6
1.3.1 文件系统层级 7
1.3.2 计算图层级 7
1.3.3 ROS社区层级 9
译者序
---------------------------ROS机器人高效编程(原书第3版)---------------------------
机器人的时代已经到来!机器人正在变得越来越灵活、智能。机器人已经从传统的工业应用开始加速进入千家万户,正从方方面面改变着人们的工作和生活,例如,扫地机器人能在清扫过程中自主绘制室内地图并智能规划路径,京东的包裹小车已经开始在校园中穿梭并投身到快递服务的行业中,这样的智能机器人已经越来越多。
那么智能机器人的程序究竟是如何设计出来的呢?
智能机器人需要具备强健的“肢”、明亮的“眼”、灵巧的“嘴”以及聪慧的“脑”,这一切的实现实际上涉及诸多技术领域,需要艰辛的设计、开发与调试过程,必然会遇到棘手的问题和挑战。而一个小型的开发团队难以完成机器人各个方面的开发工作,因而需要一套合作开发的框架与模式,这样就能够快速集成已有的功能,省却重复劳动的时间。早在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发布本书的其他相关资源。
前言
---------------------------ROS机器人项目开发11例(原书第2版)---------------------------
机器人操作系统(Robot Operating System,ROS),是目前最流行的机器人学中间件,在全世界诸多大学和与机器人相关的行业中得到了广泛应用。自从ROS推出以来,许许多多搭载了ROS的机器人进入市场,用户能够通过其应用程序轻松使用这些机器人。ROS的一个主要特点是它的开源特性。ROS不需要用户重新发明“轮子”;相反,ROS中标准化的机器人操作和应用程序开发十分简单。
本书全面更新和修订了第1版,将介绍更新的ROS功能包、更引人入胜的项目案例以及一些新增特性。本书中的项目案例均基于ROS Melodic Morenia,对应的Ubuntu版本为Ubuntu Bionic 18.04。
通过本书,读者将理解机器人是怎样应用于各行各业的,并将一步步地了解构建异构机器人解决方案的流程与步骤。除了介绍ROS中的服务调用和动作特性之外,本书还将介绍一些更酷的技术,让机器人以智能的方式处理复杂的任务。这些知识将为读者构建更智能、更具自主化能力的机器人铺平道路。此外,我们还将介绍ROS-2,以便读者能够了解此版本与以前的ROS版本之间的差异,并在为应用程序选择特定中间件方面提供帮助。
企业和研究机构主要关注计算机视觉和自然语言处理领域。虽然本书的第1版介绍了一些简单的视觉应用程序,如物体检测和人脸跟踪,但本版还将介绍行业中使用最广泛的智能扬声器平台之一——亚马逊的Alexa,以及如何使用它控制机器人。同时,我们将引入新的硬件,如NVIDIA Jetson Nano、华硕Tinkerboard和BeagleBone Black,并探索它们与ROS融合应用的能力。
虽然人们可能知道如何控制单台机器人,但ROS社区用户面临的最常见问题之一是使用多个机器人协同工作,无论它们是否属于同一类型。在这种情况下,控制问题将变得十分复杂,因为机器人可能遵循相似的话题名称,并可能导致操作序列的混乱。本书将重点针对可能的冲突提出相应的解决方案。
本书还涉及强化学习,包括如何将强化学习应用于机器人学和ROS之中。此外,读者还将发现其他更有趣的项目,如构建自动驾驶汽车、使用ROS进行深度学习,以及使用虚拟现实头盔(VR头盔)和Leap Motion(一种体感控制器)构建遥操作解决方案。目前这些领域的技术还处于发展之中,相应的研究人员正在不断地进行研究。
读者对象
本书主要面向学生、机器人技术爱好者、相关领域的专业人员。此外,本书还适用于那些对从头开始学习和编写运动控制与传感器感知程序、算法感兴趣的人。本书甚至可能有助于初创企业开发新产品,或帮助研究人员利用现有资源创造新的创新成果。本书也适用于那些想在软件领域工作或成为机器人软件工程师的人。
本书主要内容
第1章主要向初学者概述ROS的基础知识。本章将帮助读者理解ROS软件框架的基本思想和概念。
第2章介绍ROS的最新框架——ROS-2。基于该框架,读者将能够使用ROS进行实时应用程序的开发。本章的结构与第1章类似,主要是帮助读者厘清ROS-1与ROS-2之间的区别,同时理解两个版本的能力与局限。
第3章介绍怎样在模拟环境下构建移动机器人以及机械臂,并将两者结合起来,通过ROS 对其进行控制。
第4章介绍基于状态机进行复杂机器人任务处理的技术,这些技术使得读者可以在使用机器人执行连续和复杂的任务管理时进行策略调整。
第5章是第3章、第4章内容的综合应用,基于这两章内容构建一个用户应用程序。该应用程序的功能是控制移动机械臂运送物品。本章将详细介绍上述应用程序的构建过程。
序言
---------------------------ROS机器人高效编程(原书第3版)---------------------------
推荐序一
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机器人项目开发11例(原书第2版)---------------------------
如今,放置在工作间的重型工业机器人正在被新时代的机器人所取代,这种机器人不需要工作间,它们被广泛应用于制造业、零售业、银行、能源和医疗保健等领域。机器人市场快速增长的主要原因之一是引入了一种叫作机器人操作系统(ROS)的开源机器人技术框架。
本书涵盖的项目使用了ROS发行版ROS Melodic Morenia以及Ubuntu Bionic 18.04操作系统。本书将从基本原理开始介绍ROS-2,并阐述它与ROS-1的不同之处。你将能够在ROS中建模和构建工业移动机械臂,并在Gazebo 9中进行模拟。然后,你将了解如何使用状态机处理复杂的机器人应用,以及一次控制多个机器人。本书还将介绍新的流行硬件,如NVIDIA Jetson Nano、华硕Tinkerboard和BeagleBone Black,并介绍其与ROS的接口。你将在构建有趣的ROS项目(如自动驾驶汽车)的同时学习深度学习、强化学习和其他关键的人工智能概念。通过学习本书,你将能够使用ROS建立有趣而复杂的项目。
通过阅读本书,你将学到:
ROS的基本知识及应用。
ROS- 2与ROS- 1的区别。
使用状态机处理复杂的机器人任务。
实现多个机器人的通信,并构建多机器人协作应用程序。
使用新型嵌入式板(如Tinkerboard S和Jetson Nano)探索ROS功能。
将机器学习和深度学习技术与ROS结合使用。
构建基于ROS的自动驾驶汽车。
使用Leap Motion和VR头盔远程操作机器人。