在线客服
ROS机器人程序设计(原书第2版)图书
人气:20

ROS机器人程序设计(原书第2版)

前 言 Preface本书第2版概括性地介绍了ROS系统的各种工具。ROS是一个先进的机器人操作系统框架,现今已有数百个研究团体和公司将其应用在机器人行业中。对于机器人技术的非专业人士来说,它也相对容易上手。在本书...
  • 所属分类:图书 >计算机/网络>人工智能  
  • 作者:[恩里克·费尔南德斯]
  • 产品参数:
  • 丛书名:机器人设计与制作系列
  • 国际刊号:9787111551058
  • 出版社:机械工业出版社
  • 出版时间:2016-10
  • 印刷时间:2016-10-31
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装
  • 套装:

内容简介

无论是业余爱好者还是专业的机器人开发人员,在开始进行机器人系统及程序设计时,首先要面对的问题都是基本的如何驱动机器人的轮子的设计。ROS通过软件代码复用集成了众多已经开发完成的功能组件。本书专门帮助读者从对ROS一无所知到能够通过ROS系统完成小型机器人系统的开发和编程工作。本书提供了各种实际的示例代码供读者学习和理解ROS的软件框架。你可以在仿真环境中自行构建机器人相应的功能程序。本书第2版在第1版的基础上增加了与ROSHydro一起工作,如何创建、可视化和处理不同传感器的点云信息,如何控制和利用多关节机械臂,并提供简单易懂的实用教程编写自己的机器人。

作者简介

About the Authors 作者简介Enrique Fernández在拉斯帕尔马斯大学获得计算机工程博士学位,目前是Clearpath Robotics公司高级机器人工程师。2009年他完成了关于SLAM的硕士学位论文。2013年他的博士论文解决了自主水下滑翔器(AUG)的路径规划问题。那段时间,他还研究了计算机视觉、人工智能以及其他机器人学课题,例如赫罗纳大学的CIRS/ViCOROB研究实验室AUV的惯性导航系统和视觉SLAM。他在2012年参加了欧洲学生自主水下航行器设计挑战赛(Student Autonomous Underwater Challenge-Europe,SAUC-E)并获奖,在2013年作为合作者参与了SAUC-E。 获得博士学位后,Enrique作为高级机器人工程师在2013年6月加入PAL Robotics公司的自主导航部门。在那里,他开发了用于REEM、REEM-C和移动机器人以及相关项目的软件,如使用ROS框架的Stockbot。他的研究方向包括运动规划(路径规划和移动机器人控制)、机器人定位和SLAM。在2015年,他作为高级自主系统开发人员加盟Clearpath Robotics公司的自主系统部门从事SLAM相关工作。 在学术方面,Enrique发表了多篇会议论文,其中两篇于2011年发表在《International Conference of Robotics and Automation》(ICRA)上。他是Packt Publishing出版的第1版《ROS机器人程序设计》和其他一些书部分章节的作者。他的硕士学位论文是关于室内机器人的FastSLAM算法,此机器人装备了SICK激光扫描仪以及Pioneer差动平台的轮式里程计。他的博士学位论文是关于AUG的路径规划算法和工具。他还拥有电子和嵌入式系统(如PC104和Arduino)的开发经验。他的研究背景包括SLAM、计算机视觉、路径规划、优化、机器人学和人工智能。 我要感谢这本书的合著者,感谢他们为完成这本书所付出的努力以及提供了无数示例的代码。我还要感谢博士论文期间大学智能系统和计算工程研究所(University Institute of Intelligent Systems and Computational Engineering,SIANI)和水下机器人研究中心(Center of Underwater Robotics Research,CIRS/ViCOROB)的研究小组成员。我也要感谢在PAL机器人公司的同事,在那里我学到很多关于ROS、机器人运动以及仿人双足机器人的知识,不仅有软件,还有电子和硬件设计。后,我要感谢我的家人和朋友的帮助与支持。 Luis Sánchez Crespo在拉斯帕尔马斯大学获得了电子与电信工程的双硕士学位。他曾在技术开发和创新研究所(IDETIC)、加那利群岛海洋平台(PLOCAN)和应用微电子研究所(IUMA)与不同的研究小组合作,进行超分辨率算法成像研究。 他的专业兴趣包括应用于机器人系统的计算机视觉、信号处理和电子设计。因此,他加入了AVORA团队,这批年轻的工程师和学生从零开始从事自主水下航行器(AUV)的开发工作。在这个项目中,Luis开始开发声学和计算机视觉系统,用于提取不同传感器的信息,例如水听器、声呐和摄像头。 依托海洋技术的强大背景,Luis与人合作创办了一家新的初创公司Subsea Mechatronics,致力于为水下环境开发遥控操作和自主航行器。 下面是海洋技术工程师和企业家(LPA Fabrika:Gran Canaria Maker Space的联合创始人和制造商)Dario Sosa Cabrera对Luis的评价: “他很热情,是一个多学科的工程师。他对工作负责。他可以自我管理,并承担一个团队领导者的责任,如在SAUC-E竞赛中领导了AVORA团队。他在电子和电信领域的背景让其具备从信号处理和软件到电子设计和制造的广泛专业知识。” Luis作为技术审校者参与了Packt Publishing出版的第1版《ROS机器人程序设计》的相关工作。 首先,我要感谢Aaron、Anil以及Enrique邀请我参与编写这本书。和他们一起工作非常快乐。同时,我也要感谢水下机电团队关于重型水下机器人的丰富经验,这些年我们一起成长。我必须提到LPA Fabrika:Gran Canaria Maker Space,他们备课和讲授教育机器人及技术项目极富热情,与他们共享工作环境也非常令人激动。 后,我要感谢我的家人和女朋友对我参与的每个项目的大力支持和鼓励。 Anil Mahtani是一名从事水下机器人工作5年的计算机科学家。他在该领域工作是在完成硕士论文期间为低成本ROV开发软件架构。在此期间,他也成为AVORA的团队领导者和主要开发人员,这个团队的高校学生设计和开发了一个自主水下航行器并参加了2012年的SAUC-E。同年,他完成了论文并获得了拉斯帕尔马斯大学的计算机科学硕士学位。此后不久,他成为SeeByte公司的软件工程师,这家公司是水下系统智能软件解决方案的全球领导者。 在SeeByte公司工作期间,Anil参与了军方、石油和天然气公司的一些半自主和自主水下系统的核心开发。在这些项目中,他积极参与自主系统开发、分布式软件体系结构设计和底层软件开发,同时也为前视声呐图像提供计算机视觉解决方案。他还获得了项目经理职位,管理一个开发和维护内核C 库的工程师团队。 他的专业兴趣主要包括软件工程、算法、分布式系统、网络和操作系统。Anil在机器人方向主要负责提供高效和健壮的软件解决方案,不仅解决当前存在的问题,还预见未来的问题或可能的改进。鉴于他的经验,他在计算机视觉、机器学习和控制问题上也有独特的见解。Anil对DIY和电子学有兴趣,并且开发了一些Arduino库回馈社区。 首先,我要感谢我的家人和朋友的支持,他们总是在我需要的时候帮助我。我也要感谢我的同事和朋友David Rubio Vidal、Emilio Miguelá?ez Martín和John Brydon给我大的支持,他们以专业的方式教我很多知识。我还要感谢我在SeeByte和AVORA团队的同事,这些年从他们那里学习并经历很多。后,我要特别感谢Jorge Cabrera Gámez,他的指导和建议成就了我自己从未想象到的职业生涯。 Aaron Martinez是数字化制造领域的电脑工程师、企业家和专家。他于2010年在拉斯帕尔马斯大学的Instituto Universitario de Cienciasy Tecnologias Ciberneticas(IUCTC)完成硕士论文。他在远程监控领域使用沉浸式设备和机器人平台准备硕士论文。得到学位后,他参加了在奥地利林茨开普勒大学研究所的机器人学实习计划。在实习期间,他作为团队的一员使用ROS和导航包集进行移动平台开发。之后,他参与了有关机器人的项目,其中一个是拉斯帕尔马斯大学的AVORA项目。在这个项目中,他参与自主水下航行器制作,并参与意大利的SAUC-E。2012年,他负责维护这个项目;2013年,他帮助从ROS向机器人平台移植导航包集和其他算法。 近,Aaron与人共同创立了一家名为SubSeaMechatronics SL的公司。这家公司从事与水下机器人和遥控系统相关的项目,还设计和制造水下传感器。公司的主要目标是开发用于研发原型和重型机械手的定制解决方案。 Aaron有许多领域的经验,比如编程、机器人、机电一体化、数字化制造以及Arduino、BeagleBone、服务器和激光雷达等设备。如今,他在SubSeaMechatronics SL公司从事水下和空中环境的机器人平台设计。 我要感谢我的女朋友,她在我写这本书时给我支持以及给我继续成长的动力。我还要感谢Donato Monopoli(加那利群岛技术研究所(ITC)生物医学工程部门的主管),以及ITC所有的工作人员,感谢他们使我懂得数字制造、机械以及组织工程,我在此度过了生命中美好的时光。 感谢我大学的同事,特别是Alexis Quesada,他给了我在准备硕士论文时创建我第壹个机器人的机会。和他们一起工作,使我学习到很多关于机器人的知识。 后,我要感谢家人和朋友的帮助与支持。

目录

Contents 目 录推荐序一推荐序二译者序前言作者简介审校者简介第1章 ROS Hydro系统入门 11.1 PC安装教程 31.2 使用软件库安装ROS Hydro 31.2.1配置Ubuntu软件库 41.2.2添加软件库到sources.list文件中 41.2.3设置密钥 51.2.4安装ROS 51.2.5初始化rosdep 61.2.6配置环境 61.2.7安装rosinstall 71.3 如何安装VirtualBox和Ubuntu 81.3.1下载VirtualBox 81.3.2创建虚拟机 81.4在BeagleBone Black上安装ROS Hydro 111.4.1准备工作 121.4.2配置主机和source.list文件 131.4.3设置密钥 141.4.4安装ROS功能包 141.4.5初始化rosdep 151.4.6在BeagleBone Black中配置环境 151.4.7在BeagleBone Black中安装rosinstall 151.5 本章小结 15第2章 ROS系统架构及概念 162.1 理解ROS文件系统级 162.1.1工作空间 172.1.2功能包 182.1.3综合功能包 192.1.4消息 202.1.5服务 212.2 理解ROS计算图级 222.2.1节点与nodelet 232.2.2主题 242.2.3服务 252.2.4消息 262.2.5消息记录包 262.2.6节点管理器 262.2.7参数服务器 272.3 理解ROS开源社区级 272.4 ROS系统试用练习 282.4.1ROS文件系统导览 282.4.2创建工作空间 292.4.3创建ROS功能包和综合功能包 302.4.4编译ROS功能包 302.4.5使用ROS节点 312.4.6如何使用主题与节点交互 332.4.7如何使用服务 362.4.8使用参数服务器 382.4.9创建节点 382.4.10 编译节点 412.4.11创建msg和srv文件 422.4.12使用新建的srv和msg文件 442.4.13启动文件 482.4.14动态参数 502.5 本章小结 54第3章 可视化和调试工具 553.1 调试ROS节点 573.1.1使用gdb调试器调试ROS节点 573.1.2ROS节点启动时调用gdb调试器 583.1.3ROS节点启动时调用valgrind分析节点 593.1.4设置ROS节点core文件转储 593.2 日志信息 593.2.1输出日志信息 593.2.2设置调试信息级别 603.2.3为特定节点配置调试信息级别 613.2.4信息命名 623.2.5按条件显示信息与过滤信息 623.2.6显示信息的方式——单次、可调、组合 633.2.7使用rqt_console和rqt_logger_level在运行时修改调试级别 633.3 检测系统状态 663.3.1检测节点、主题、服务和参数 673.3.2使用rqt_graph在线检测节点状态图 703.4 设置动态参数 713.5 当出现异常状况时使用 roswtf 723.6 可视化节点诊断 743.7 绘制标量数据图 753.8 图像可视化 773.9 3D可视化 793.9.1使用rqt_rviz在3D世界中实现数据可视化 793.9.2主题与坐标系的关系 823.9.3可视化坐标变换 823.10 保存与回放数据 833.10.1什么是消息记录包文件 843.10.2使用rosbag在消息记录包中记录数据 843.10.3回放消息记录包文件 853.10.4检查消息记录包文件的主题和消息 863.11 应用rqt与rqt_gui插件 883.12 本章小结 88第4章 在ROS下使用传感器和执行器 904.1 使用游戏杆或游戏手柄 904.1.1joy_node如何发送游戏杆动作消息 914.1.2使用游戏杆数据在turtlesim中移动海龟 924.2 使用激光雷达——Hokuyo URG-04lx 954.2.1了解激光雷达如何在ROS中发送数据 964.2.2访问和修改激光雷达数据 984.3 使用Kinect传感器查看3D环境中的对象 1004.3.1如何发送和查看Kinect数据 1014.3.2创建使用Kinect的示例 1024.4 使用伺服电动机——Dynamixel 1044.5 使用Arduino添加更多的传感器和 执行器 1074.6 在Arduino上使用超声波传感器 1114.7 距离传感器如何发送消息 1134.7.1创建使用超声波的示例 1134.7.2Xsens如何在ROS中发送数据 1164.7.3创建使用Xsens的示例 1164.8 使用10自由度低成本惯性测量模组IMU 1184.8.1下载加速度传感器库 1194.8.2Arduino Nano和10自由度传感器编程 1204.8.3创建ROS节点以使用10自由度传感器数据 1214.9 GPS的使用 1234.9.1GPS如何发送信息 1254.9.2创建一个使用GPS的工程实例 1264.10 本章小结 127第5章 计算机视觉 1285.1 连接和运行摄像头 1295.1.1FireWire IEEE1394摄像头 1295.1.2USB摄像头 1335.2 使用OpenCV制作USB摄像头 驱动程序 1345.2.1通过cv_bridge使用OpenCV处理ROS图像 1395.2.2使用image transport图像 1395.2.3在ROS中使用OpenCV 1405.2.4显示摄像头输入的图像 1405.3 标定摄像头 1415.4 ROS图像管道 1485.5 计算机视觉任务中有用的ROS功能包 1525.6 使用viso2实现视觉里程计 1535.6.1摄像头位姿标定 1545.6.2运行viso2在线演示 1575.6.3使用低成本双目摄像头运行viso2 1595.7 使用RGBD深度摄像头实现视觉里程计 1605.7.1安装fovis 1605.7.2用Kinect RGBD深度摄像头运行fovis 1605.8 计算两幅图像的单应性 1615.9 本章小结 162第6章 点云 1636.1 理解点云库 163

网友评论(不代表本站观点)

来自匿名用**的评论:

送货服务态度好,送货超快的,东西经济实惠,非常满意!已经在当当买了很多个本了,质量都很好。

2017-02-08 22:50:29
来自匿名用**的评论:

这本书是必须学的,加油

2017-02-14 23:01:24
来自无昵称**的评论:

送货速度非常快

2017-02-24 10:28:32
来自匿名用**的评论:

对入门的菜鸟很有帮助

2017-05-01 12:39:26
来自y***9(**的评论:

还不错…………

2017-05-16 21:16:39
来自赵***7(**的评论:

当当买书很实惠,发货快,值得信赖。

2017-06-23 07:23:07
来自无昵称**的评论:

很好的一本书

2017-10-24 08:15:45
来自无昵称**的评论:

紧跟技术发展 对工作帮助大 实用性强

2017-11-14 15:23:17
来自匿名用**的评论:

ros的书现在还是太少了,这本已经算里面还不错的了

2017-07-14 09:28:48
来自余生的**的评论:

还不错 有ROS 的实例和hydro的安装教程 可惜我买错了 本来想买indigo 的

2017-10-30 23:03:14

免责声明

更多相关图书