irobot 发表于 2015-11-21 12:16:49

机器人操作系统(ROS)浅析(附全书下载)

本帖最后由 morinson 于 2015-11-23 08:52 编辑

机器人操作系统(ROS)浅析(附全书下载)
[美] Jason M. O'Kane 著
肖军浩 译

static/image/hrline/5.gifstatic/image/hrline/5.gifstatic/image/hrline/5.gif
在和本书译者肖博士联系后,按照他的要求,在这里提供他官方的统一下载地址http://books.exbot.net/gentleros

static/image/hrline/5.gifstatic/image/hrline/5.gifstatic/image/hrline/5.gif


前 言
      因为集成了全世界机器人领域顶级科研机构,包括斯坦福大学、麻省理工学院、慕尼黑工业大学、加州大学伯克利分校、佐治亚理工大学、弗莱堡大学、东京大学等多年的研究成果,开源机器人操作系统(Robot Operating System,简称ROS)甫一问世便受到了科研人员的广泛关注。随后,ROS又借助开源的魅力吸引了世界各地机器人领域的仁人志士群策群力,推动其不断进步。2013年麻省理工学院科技评论(MIT Technology Review)指出:“从2010年发布1.0版本以来,ROS已经成为机器人软件的事实标准(de facto standard)”。
      译者在德国汉堡大学攻读博士学位期间,有幸于2010年成为ROS的第一批用户,并将其介绍给身边的同事以及国防科技大学的老师和同学。2013年,译者所在研究团队将NuBot中型组足球机器人的软件系统移植到了ROS框架下,并于2014年和2015年分别参加了在巴西若昂佩索阿和中国合肥举办的机器人足球世界杯。使用ROS后NuBot足球机器人软件系统的鲁棒性、易用性和可维护性均有大幅度提高。对我们将ROS用于中型组足球机器人的工作,国际同行给予了非常积极的评价。
      译者连续两年将ROS的使用作为国防科技大学高年级本科生实践教学的重要环节,发现一个普遍问题:学生能够迅速理解ROS的框架结构和基本概念,但是实际使用时问题却层出不穷,而其中大部分是共性问题!O’Kane教授这本“A Gentle Introduction to ROS”对ROS初学过程中的常见问题做了全面的总结。当然,这本书不仅仅是常见问题汇编,它还对概念和工具做了比在线文档更深入的剖析!故而,译者在征求O'Kane教授的同意后,将该书译为中文,供中国的ROS初学者在实际使用时参考。
iv
      首先,感谢O’Kane教授对于本书翻译工作的的肯定和支持。其次,本书的翻译得到国防科学技术大学“控制科学与工程高级专题”课程师生的大力支持,其中赵云云、李峻翔、肖志鹏、贾凡、朱琪、郭昭宇、王志强、陈春玉、魏翔宇分别参与了部分章节的翻译工作。此外,王祥科博士审阅了初稿并提出了许多宝贵的意见,对此,译者表示诚挚的谢意。最后,感谢NuBot研究团队全体成员对于本书的支持和帮助。
      限于译者水平,书中难免会有不足之处,热切地希望得到各位读者的宝贵意见。作者的E-mail地址是:junhao.xiao@ieee.org。

      译者
2015年9月于长沙




作者通讯地址:
国防科学技术大学机电工程与自动化学院
肖军浩 博士
地址:湖南省长沙市开福区砚瓦池正街137号
邮编:410073
版权信息:
©2015,肖军浩,版权所有。
本书上传至互联网供读者免费下载,版权归肖军浩个人所有。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容用于商业目的。




目 录
第1章 绪论 .......................................................................................... 1
1.1 选择ROS的理由 .............................................................................. 1
1.2 内容概述 .......................................................................................... 5
1.3 行文约定 .......................................................................................... 7
1.4 更多信息 .......................................................................................... 7
1.5 下一章简介 .................................................................................... 10
第2章 入门概述 ................................................................................ 11
2.1 安装ROS ............................................................................................. 11
2.2 配置账户 ............................................................................................. 14
2.3 使用TURTLESIM的小例子 .................................................................... 16
2.4 功能包/软件包(PACKAGES).............................................................. 18
2.5 节点管理器(THE MASTER) ............................................................... 22
2.6 节点(NODES) ................................................................................... 23
2.7 话题和消息 ......................................................................................... 26
2.8 一个更复杂的例子 ............................................................................. 39
2.9 问题检查 ............................................................................................. 43
2.10 展望 ................................................................................................... 43
第3章 编写ROS程序 ........................................................................ 45
3.1 创建工作区和功能包 ......................................................................... 45
3.2 你好,ROS! ......................................................................................... 48
3.3 发布者程序 ......................................................................................... 55
vi
3.4 订阅者程序 ......................................................................................... 65
3.5 展望 ..................................................................................................... 71
第4章 日志消息 ................................................................................ 73
4.1 严重级别 ............................................................................................. 73
4.2 示例程序 ............................................................................................. 74
4.3 生成日志消息 ..................................................................................... 76
4.4 查看日志消息 ..................................................................................... 81
4.5 启用和禁用日志消息 ......................................................................... 88
4.6 展望 ..................................................................................................... 92
第5章 计算图源命名 ........................................................................ 93
5.1 全局名称 ............................................................................................. 93
5.2 相对名称 ............................................................................................. 95
5.3 私有名称 ............................................................................................. 97
5.4 匿名名称(ANONYMOUS NAMES) ........................................................ 98
5.5 展望 ................................................................................................... 100
第6章 启动文件 .............................................................................. 101
6.1 使用启动文件 ................................................................................... 101
6.2 创建启动文件 ................................................................................... 105
6.3在命名空间内启动节点 ................................................................... 110
6.4 名称重映射(REMAPPING NAMES) .................................................... 113
6.5 启动文件的其他元素 ....................................................................... 119
6.6 展望 ................................................................................................... 126
vii
第7章 参数 ...................................................................................... 127
7.1 通过命令行获取参数 ....................................................................... 127
7.2 例:TURTLESIM中的参数 ................................................................... 131
7.3 使用C++获取参数 ............................................................................ 134
7.4 在启动文件中设置参数 ................................................................... 137
7.5 展望 ................................................................................................... 140
第8章 服务 ...................................................................................... 141
8.1 服务的专用术语 ............................................................................... 141
8.2 从命令行查看和调用服务 ............................................................... 142
8.3 客户端程序 ....................................................................................... 148
8.4 服务器程序 ....................................................................................... 153
8.5 展望 ................................................................................................... 159
第9章 消息录制与回放 ................................................................... 161
9.1录制与回放包文件 ........................................................................... 161
9.2 示例:正方形运动轨迹的包文件 ................................................... 163
9.3启动文件里面的包文件 ................................................................... 167
9.4 展望 ................................................................................................... 170
第10章 总结 ...................................................................................... 171
10.1 下一步 ............................................................................................. 171
10.2 展望 ................................................................................................. 174




页: [1]
查看完整版本: 机器人操作系统(ROS)浅析(附全书下载)