ROS机器人程序设计

价格 59.00对比
发货 广东东莞市
销量 暂无
评价 已有 0 条评价
人气 已有 20 人关注
数量
+-
库存100
 
联系方式
加关注0

新图书资料发布

VIP   VIP会员第1年
资料未认证
保证金未缴纳

内容简介

本书涵盖了ROS软件架构中从初始设计到杂设计的全过程,自始至终,都用大量的实例帮助你理解ROS架构。该书用简单明了的叙述兼实用性的实例带你进入迷人的机器人世界,涉及传感器集成、建模、仿真、计算机视觉、语音识别、导航算法等诸多技术领域。

目录

Contents  目 录
译者序
前 言
第1章 ROS系统入门  1
1.1 使用软件源安装ROS Electric  3
1.1.1 添加软件源到sources.list文件中  4
1.1.2 设置密码  4
1.1.3 安装  4
1.1.4 环境配置  5
1.2 使用软件源安装ROS Fuerte   6
1.2.1 配置Ubuntu软件源  6
1.2.2 配置source.list文件  6
1.2.3 设置密码  7
1.2.4 安装  7
1.2.5 环境配置  8
1.2.6 独立工具  9
1.3 如何安装VirtualBox和Ubuntu  9
1.3.1 下载VirtualBox  9
1.3.2 创建虚拟机  10
1.4 本章小结  12
第2章 ROS系统架构及示例  13
2.1 理解ROS文件系统级  13
2.1.1 功能包  14
2.1.2 功能包集  16
2.1.3 消息类型  16
2.1.4 服务类型  17
2.2 理解ROS计算图级  18
2.2.1 节点  19
2.2.2 主题  20
2.2.3 服务  21
2.2.4 消息  22
2.2.5 消息记录包  22
2.2.6 节点管理器  22
2.2.7 参数服务器  22
2.3 理解ROS开源社区级  23
2.4 ROS系统试用练习  23
2.4.1 ROS文件系统导览  24
2.4.2 创建工作空间  24
2.4.3 创建ROS功能包  25
2.4.4 编译ROS功能包  26
2.4.5 使用ROS节点  26
2.4.6 使用主题与节点交互  28
2.4.7 学习如何使用服务  31
2.4.8 使用参数服务器  33
2.4.9 创建节点  34
2.4.10 编译节点  36
2.4.11 创建msg和srv文件  37
2.4.12 使用新建的srv和msg文件  38
2.5 本章小结  42
第3章 调试和可视化  43
3.1 调试ROS节点  44
3.1.1 使用GDB调试器调试ROS节点  45
3.1.2 ROS节点启动时调用GDB调试器  46
3.1.3 设置ROS节点core文件转存  47
3.2 调试信息  47
3.2.1 输出调试信息  47
3.2.2 设置调试信息级别  48
3.2.3 为特定节点配置调试信息级别  48
3.2.4 信息命名  50
3.2.5 条件显示信息与过滤信息  50
3.2.6 信息的更多功能——单次显示、可调、组合  51
3.2.7 使用rosconsole和rxconsole在运行时修改调试级别  52
3.3 监视系统状态  56
3.3.1 节点、主题与服务列表  56
3.3.2 使用rxgraph在线监视节点状态图  56
3.4 当奇怪的事情发生——使用roswtf  58
3.5 画标量数据图  58
3.5.1 用rxplot画出时间趋势曲线  59
3.5.2 另一个画图工具rxtools  60
3.6 图像可视化  61
3.6.1 显示单一图片  61
3.6.2 FireWire接口摄像头  62
3.6.3 使用双目立体视觉  63
3.7 3D可视化  64
3.7.1 使用rviz在3D世界中实现数据可视化  64
3.7.2 主题与坐标系的关系  66
3.7.3 可视化坐标变换  67
3.8 保存与回放数据  68
3.8.1 什么是消息记录包文件  69
3.8.2 使用rosbag在包文件中记录数据  69
3.8.3 回放消息记录文件  70
3.8.4 使用rxbag检查消息记录包的主题和消息  71
3.9 rqt插件与rx应用  72
3.10 本章小结  73
第4章 在ROS下使用传感器和执行机构  74
4.1 使用游戏杆或游戏手柄  74
4.1.1

摘要与插图

第1章
ROS系统入门
欢迎来到本书的第1章。本章会介绍如何安装ROS系统。与其说ROS是一个操作系统,不如说它是一种新的标准化机器人软件框架。通过ROS,你可以使用大量的示例代码和开源程序轻松地完成机器人编程和控制。同时,你还能够理解如何使用各种传感器与执行机构,并为你的机器人增加如自动导航和视觉定位等新的功能。在这里,我们要感谢相关的基金会及社区对开源软件的贡献,并不断地开发出的算法和功能使ROS系统不断进步。
本书包含以下知识:
在特定版本的Ubuntu系统下安装ROS框架
学习ROS的基本操作
调试数据和数据可视化
在ROS框架下对机器人编程
创造3D模型并进行仿真
使用导航功能包集使机器人进行自动导航
在本章中,先要在Ubuntu系统中安装完整版本的ROS。Ubuntu不仅能够全面支持ROS,而且它也是ROS官方的操作系统。当然,你也可以在其他的操作系统中安装ROS。但是在其他操作系统中,ROS大多是实验性质的移植版本,因此容易出现各种安装和程序执行错误。因此在学习和使用本书的过程中,使用Ubuntu。
在开始安装之前,先了解一下ROS的历史。
Robot Operating System(ROS)是一种得到广泛使用的机器人操作与控制系统软件框架。该框架使用了当前行的面向服务(SOA)的软件技术,通过网络协议将节点间数据通信解耦。这样就能够轻松地集成不同语言不同功能的代码。ROS的基本原理是无需改动就能够在不同的机器人上复用代码。基于这些,我们就可以在不同的机器人上分享和复用已经实现的功能,而不需要做太多的工作,避免了重复劳动。
2007年,斯坦福大学人工智能实验室(SAIL)在斯坦福AI机器人项目(Stanford AI Robot project)的支持下开发了ROS。2008年之后,则主要在Willow Garage公司支持下与其他20多家研究机构进行联合研发ROS。
现在已经有很多家研究机构通过增加ROS支持的硬件或开放软件源代码的方式加入ROS系统的开发中。同样,也有很多家公司将其产品逐步进行软件迁移并在ROS系统中应用。部分ROS系统支持的平台如下图所示。这些平台往往会开放大量的代码、示例和仿真环境,以便开发人员轻松地开展工作。
ROS系统已经支持这些机器人中的传感器和执行机构,同时每天ROS软件框架所支持的设备也在大量增加。
ROS提供了一个标准的操作系统环境,包括硬件抽象、底层设备控制、通用功能的实现、进程间消息转发和功能包管理等。它将多路复用传感器、控制器、运动状态、规划目标、执行机构及其他设备全部抽象成节点(node),并能对各个节点进程间消息的发生和接受的处理过程通过节点状态图展示。它的各种库都是面向类Unix系统的(ROS主要支持Ubuntu Linux,而其他系统如Fedora和Mac OS X则是实验性质的)。
*-ros-pkg包主要作为开发库的基础软件源。其很多功能是和ROS系统绑定的,如导航库和rviz可视化界面都基于这个源。其中的一些库包含很多强大的工具,可以帮助我们方便使用ROS并了解机器人的实时状态。其中,可视化工具、仿真环境和调试工具是要的几个。
ROS是一个使用BSD(Berkeley Software Distribution)开源协议的开源软件。无论是商业应用,还是科学研究,它都是免费的。*-ros-pkg包受到了多个开源协议的限制。
ROS致力于机器人的代码复用,这样每次研发新的机器人时,开发人员和科学家们再也不必全部推倒重来。通过ROS,你可以集中精力做更多的事情,应用不同代码库中的代码,再完善,并再次分享。
ROS已经发布了多个版本,的版本是Groovy。在本书中,我们使用的版本是Fuerte,因为这个版本更加稳定。因此需要说明的是,本书中的示例和教程不一定都能够
举报收藏 0
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2021111040号