开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-07-16
详细说明:近年来,机器人领域取得了举世瞩目的进展。性价比较高的
机器人平台,包括地面移动机器人、旋翼无人机和类人机器人等,
得到了广泛应用。更令人感到振奋的是,越来越多的高级智能算
法让机器人的自主等级逐步提高。
尽管如此,对于机器人软件开发人员来说,仍然存在着诸多
挑战。本书主要介绍一个软件平台,即机器人操作系统 1 (Robot
Operating System, 或简称 ROS),它可以帮助提高机器人软件的
开发效率。前
因为集成了仝世界机器人领域顶级科研机构,包括斯坦福大
学、麻省理工学院、慕尼黑工业大学、加州大学伯克利分校、佐
治亚理工大学、弗莱堡大学、东京大学等多年的研究成果,开源
机器人操作系统( Robot Operating system,简称ROS)甫一问世
便受到了科研人员的广泛关注。随后,ROS又借助开源的魅力吸
引了世界各地机器人领域的仁人志士群策群力,推动其不断进步。
2013年麻省理工学院科技评论( MIT Technology review)指出
“从2010年发布10版本以来,ROS已经成为机器人软件的事实
标准( de facto standard)”。
译者在德国汉堡大学攻读博士学位期间,有幸于2010年成
为ROS的第一批用户,并将其介绍给身边的同事以及国防科技大
学的老师和同学。2013年,译者所在研究团队将 NuBot中型组足
球机器人的软件系统移植到了ROS框架下,并于2014年和2015
年分别参加了在巴西若昂佩索阿和中国合肥举办的机器人足球世
界杯。使用ROS后№uBot足球机器人软件系统的鲁棒性、易用性
和可维护性均有大幅度提高。对我们将ROS用于中型组足球机器
人的工作,国际同行给予了非常积极的评价
译者连续两年将ROS的使用作为国防科技大学高年级本科生
实践教学的重要环节,发现一个普遍问题:学生能够迅速理解ROS
的框架结构和基本概念,但是实际使用时问题却层出不穷,而其
中大部分是共性问题! O'Kane教授这本
A Gentle Introduction to
ROs”对ROS初学过程中的常见问题做了全面的总结。当然,这
本书不仅仅是常见问题汇编,它还对概念和工具做了比在线文档
更深入的剖析!故而,译者在征求 O'Kane教授的同意后,将该书
译为中文,供中国的ROS初学者在实际使用时参考。
首先,感谢 O'Kane教授对于本书翻译工作的的肯定和支持。
其次,本书的翻译得到国防科学技术大学“控制科学与工程高级
专题”课程师生的大力支持,其中赵云云、李峻翔、肖志鹏、贾
凡、朱琪、郭昭宇、王志强、陈春玉、魏翔宇分别参与了部分章
节的翻译工作。此外,王祥科博士审阅了初稿并提出了许多宝贵
的意见,对此,译者表示诚挚的谢意。最后,感谢 NuBot研究团
队全体成员对于本书的支持和帮助。
狠于译者水平,书中难免会有不足之处,热切地希望得到各
位读者的宝贵意见。作者的Emal地址是: junhao. xiaoaiee:org
译者
2015年9月于长沙
目录
第1章绪论
1.1选择ROS的理由
12内容概述
13行文约定
14更多信息
15下一章简介
第2章门概述
11
21安装ROS
22配置账户
14
23使用 TURTLESIN的小例子
16
24功能包/软件包( PACKAGES)
25节点管理器( THE MASTER)
22
26节点( NODES)
27话题和消息
26
28一个更复杂的例子
39
29问题检查…43
210展望.
第3章编写RoS程序
自。看。看自看自。。。。看自鲁。自。看自看自。自自。。。看非。看香自自。看音。看香看鲁自自。看
45
31创建工作区和功能包…
45
32你好,ROS!
48
33发布者程序..55
34订阅者程序
65
35展望.
第4章日志消息
41严重级别
73
4.2示例程序
74
4.3生成日志消息
4.4查看日志消息
81
4.5启用和禁用日志消息
4.6展望
92
第5章计算图源命名
n93
5.1全局名称
93
5.2相对名称
95
5.3私有名称
97
54匿名名称( ANONYMOUS NAMES)
98
5.5展望.
100
第6章动文件
101
6.1使用启动文件
101
62创建启动文件……105
63在命名空间内启动节点
110
64名称重映射( REMAPPING NAMES)
113
65启动文件的其他元素
119
66展望
126
第7章参数.…127
7.1通过命令行获取参数
.127
72例: TURTLESIM中的参数
131
7.3使用C++获取参数.
34
74在启动文件中设置参数
37
7.5展望.140
第8章服务
141
81服务的专用术语
141
82从命令行查看和调用服务
142
83客户端程序
148
84服务器程序
153
85展望
159
第9章消息录制与回放
161
91录制与回放包文件……161
92示例:正方形运动轨迹的包文件
163
93启动文件里面的包文件……………………167
94展望
170
第10章总结
………171
01下一步
171
102展望
第1章绪论t
合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。
老子
本章主要个绍ROS系统的优势和本书的框架结构。
1.1选择ROS的理由
近年来,机器人领域取得了举世瞩目的进展。性价比较高的
机器人平台,包括地面移动机器人、旋翼无人机和类人机器人等,
得到了广泛应用。更令人感到振奋的是,越来越多的高级智能算
法让机器人的自主等级逐步提高
尽管如此,对于机器人软件开发人员来说,仍然存在着诸多
挑战。本书主要介绍一个软件平台,即机器人操作系统1( Robot
Operating Systen,或简称RoS),它可以帮助提高机器人软件的
开发效率。ROS系统的官方定义如下
ROS是面向机器人的开源的元操作系统( meta -operating
system)1。它能够提供类似传统操作系统的诸多功能,
如硬件抽象、底层设备控制、常用功能实现、进程间消
息传递和程序包管理等。此外,它还提供相关工具和库,
用于获取、编译、编辑代码以及在多个计算机之间运
程序完成分布式计算。
虽然上述定义很准确,强调了ROS与传统操作系统的异同,
本章由肖军浩、赵云云翻译。
但可能仍然无法让读者抓住ROS的核心要义,尤其是使用ROS能
够给机器人软件开发带来哪些优势。一般而言,学习一个新的系
统框架,特别是RoS这样复杂多样的框架,往往要耗费大量的时
间和精力,因此我们必须确保付出这个代价是有意义的。下面简
单列举几个使用ROS能够解决的机器人软件开发问题
分布式计算现代机器人系统往往需要多个计算机同时运行多个
进程,例如:
一些机器人搭载多台计算机,每台计算机用于控制机器人的
部分驱动器或传感器;
即使只有一台计算机,通常仍将程序划分为独立运行且相互
协作的小的模块来完成复杂的控制任务,这也是常见的做法;
当多个机器人需要协同完成一个任务时,往往需要互相通信
来支撑任务的完成;
用户通常通过台式机、笔记本或者移动设备发送指令控制枳
器人,这种人机交互接口可以认为是机器人软件的一部分。
单计算机或者多计算机不同进程间的通信问题是上述例子中
的主要挑战。ROS为实现上述通信提供两种相对简单、完备的机
制,我们将在第三章和第八章进行详细讨论
软件复用随着机器人研究的快速推进,诞生了一批应对导航、路
径规划、建图等通用任务的算法。当然,任何一个算法实用的前
提是其能够应用于新的领域,且不必重复实现。事实上,如何将
现有算法快速移植到不同系统一直是一个挑战,ROS通过以下两
种方法解决这个问题
⑦RoS标准包( Standard Packages)提供稳定、可调式的各类重
要机器人算法实现。
GROS通信接口正在成为机器人软件互操作的享实标淮,也就是
说绝大部分最新的硬件驱动和最前沿的算法实现都可以在
ROS中找到。例如,在ROS的官方网页2上有着大量的开源软
件库,这些软件使用ROS通用接口,从而避免为了集成它们而
重新开发新的接口程序
综上所述,开发人员如果使用ROS可以一一当然,在具备ROS
基础知识后一一将更多的时间用于新思想和新算法的设计与实现,
尽量避免重复实现已有的研究结果。
快速测试为机器人开发软件比其他软件开发更具挑战性,主要是
因为调试准备时间长,且调试过程复杂。况且,因为硬件维修、
经费有限等因素,不一定随时有机器人可供使用。ROS提供两种
策略来解决上述问题
精心设计的RoS系统框架将底层硬件控制模块和顶层数据处
理与决策模块分离,从而可以使用模拟器替代底层硬件模块,
独立测试顶层部分,提高测试效率
ROS另外提供了一种简单的方法可以在调试过程中记录传感
器薮据及其他类型的消息数据,并在试验后按时间戳回放。
通过这种方式,每次运行机器人可以获得更多的测试机会
例如,可以记录传感器的数据,并通过多次回放测试不同的
数据处理算法。在ROS术语中,这类记录的数据叫作包(bag),
个被称为 rosbag的工具可以用于记录和回放包数据,见第
9章
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.