ros机器人程序设计

ros机器人程序设计 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:Aaron Martinez
出品人:
页数:312
译者:刘品杰
出版时间:2014-10-1
价格:59
装帧:平装
isbn号码:9787111473961
丛书系列:
图书标签:
  • ROS
  • 机器人
  • 计算机
  • 机器学习与人工智能
  • 互联网
  • 11
  • ROS
  • 机器人
  • 机器人程序设计
  • 机器人开发
  • Linux
  • C++
  • Python
  • SLAM
  • 路径规划
  • 传感器
  • 控制系统
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

无论是业余爱好者还是专业的机器人开发人员,在开始进行机器人系统及程序设计时,首先要面对的问题都是最基本的驱动机器人的轮子的设计。ROS通过软件代码复用集成了众多已经开发完成的功能组件。而本书就是专门帮助读者从对ROS一无所知到能够通过ROS系统完成小型机器人系统的开发和编程工作的。

本书提供了各种实际的示例代码供读者学习和理解ROS的软件框架。你可以在仿真环境中自行构建机器人相应的功能程序,并在ROS社区中分享你的学习心得和知识。

作者简介

Aaron Martinez是一个计算机工程师、企业家和数字化制造专家。他硕士毕业于拉斯帕尔马斯大学的IUCTC(科学与网络技术研究所)。之后,参与过拉斯帕尔马斯大学AVORA项目。在这个项目中,他负责设计AUV (自主式水下机器人),并在意大利参加了欧洲学生自主式水下挑战(SAUC-E)。

Enrique Fernández是一名计算机工程师和机器人专家。他硕士毕业于拉斯帕尔马斯大学智能系统与计算工程学院。在2012年参加了欧洲学生自主式水下挑战(SAUC-E),并作为合作者参加了2013年的比赛。 2012年,他因开发水下云台视觉系统而获奖。现在,他是Pal-Robotics实验室的SLAM工程师。Enrique在博士学习期间发表了数篇学术论文和专著。其中,有两篇论文在2011年被国际机器人与自动化会议(ICRA 2011)所收录。

刘品杰,硕士,技术方向工业为自动化控制、DCS/PLC/SCADA系统研发、机器人技术等。先后参与过国产化核电站DCS控制系统研发、国产化油气管道大型SCADA系统研发。历任系统开发工程师、产品经理、项目经理。

目录信息

译者序
前 言
第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 joy_node如何发送游戏杆动作消息 75
4.1.2 使用游戏杆数据在turtlesim中移动海龟 76
4.2 使用激光雷达——Hokuyo URG-04lx 79
4.2.1 了解激光雷达如何在 ROS 中发送数据 80
4.2.2 访问和修改激光雷达数据 82
4.3 使用Kinect传感器查看3D环境 84
4.3.1 如何发送和查看Kinect数据 85
4.3.2 创建和使用Kinect示例 86
4.4 使用伺服电动机——Dynamixel 88
4.4.1 Dynamixel如何发送和接收运动命令 89
4.4.2 创建和使用伺服电动机示例 90
4.5 使用Arduino添加更多的传感器和执行机构 91
4.6 使用惯性测量模组——Xsens MTi 94
4.6.1 Xsens如何在ROS中发送数据 95
4.6.2 创建和使用Xsens示例 96
4.7 使用低成本惯性测量模组IMU-10自由度 98
4.7.1 下载加速度传感器库 99
4.7.2 Arduino Nano和10自由度传感器编程 99
4.7.3 创建ROS节点并使用10自由度传感器数据 101
4.8 本章小结 103
第5章 3D建模与仿真 104
5.1 自定义机器人在ROS中的3D模型 104
5.2 创建第一个URDF文件 104
5.2.1 解释文件格式 106
5.2.2 在rviz里查看3D模型 107
5.2.3 加载图形到机器人模型 109
5.2.4 使机器人模型运动 109
5.2.5 物理和碰撞属性 110
5.3 xacro——一个写机器人模型的更好方法 111
5.3.1 使用常量 111
5.3.2 使用数学方法 112
5.3.3 使用宏 112
5.3.4 使用代码移动机器人 112
5.3.5 使用SketchUp进行3D建模 116
5.4 在ROS中仿真 117
5.4.1 在Gazebo中使用URDF3D模型 117
5.4.2 在Gazebo中添加传感器 120
5.4.3 在Gazebo中加载和使用地图 121
5.4.4 在Gazebo中移动机器人 123
5.5 本章小结 125
第6章 机器视觉 126
6.1 连接和运行摄像头 128
6.1.1 FireWire IEEE1394 摄像头 128
6.1.2 USB摄像头 132
6.2 使用OpenCV制作USB摄像头驱动程序 133
6.2.1 创建 USB 摄像头驱动功能包 134
6.2.2 使用ImageTransport API发布摄像头帧 135
6.2.3 使用 cv_bridge 进行OpenCV 和 ROS 图像处理 138
6.2.4 使用ImageTransport 发布图像 139
6.2.5 在ROS中使用OpenCV 139
6.2.6 显示摄像头输入的图像 140
6.3 如何标定摄像头 140
6.4 ROS 图像管道 147
6.5 对于计算机视觉任务有用的 ROS功能包 152
6.6 使用viso2执行视觉测距 153
6.6.1 摄像头位姿标定 154
6.6.2 运行 viso2 在线演示 156
6.6.3 使用低成本双目摄像头运行 viso2 158
6.7 本章小结 159
第7章 导航功能包集入门 160
7.1 ROS导航功能包集 160
7.2 创建转换 161
7.2.1 创建广播机构 162
7.2.2 创建侦听器 162
7.2.3 查看坐标变换树 164
7.3 发布传感器信息 165
7.4 发布里程数据 168
7.4.1 Gazebo如何获取里程数据 169
7.4.2 创建自定义里程数据 171
7.5 创建基础控制器 175
7.5.1 使用Gazebo 创建里程数据 176
7.5.2 创建基础控制器 178
7.6 使用ROS创建地图 180
7.6.1 使用map_server保存地图 181
7.6.2 使用map_server加载地图 182
7.7 本章小结 183
第8章 导航功能包集进阶 184
8.1 创建功能包 184
8.2 创建机器人配置 184
8.3 配置全局和局部代价地图 187
8.3.1 基本参数的配置 187
8.3.2 全局代价地图的配置 188
8.3.3 局部代价地图的配置 189
8.4 基本局部规划器配置 189
8.5 为导航功能包集创建启动文件 190
8.6 为导航功能包集设置rviz 191
8.6.1 2D位姿估计 191
8.6.2 2D导航目标 192
8.6.3 静态地图 193
8.6.4 点云 193
8.6.5 机器人立足点 193
8.6.6 障碍 194
8.6.7 膨胀障碍 194
8.6.8 全局规划 195
8.6.9 局部规划 195
8.6.10 规划器规划 196
8.6.11 当前目标 196
8.7 自适应蒙特卡罗定位 197
8.8 避免障碍 199
8.9 发送目标 200
8.10 本章小结 202
第9章 在实践中学习 203
9.1 REEM——类人形PAL机器人 204
9.1.1 从官方软件源安装REEM 205
9.1.2 使用Gazebo仿真环境运行REEM 208
9.2 PR2——柳树车库机器人 210
9.2.1 安装 PR2仿真环境 210
9.2.2 在仿真环境中运行PR2 211
9.2.3 生成地图与定位 214
9.2.4 在仿真环境中运行PR2演示程序 216
9.3 Robonaut 2——NASA的敏捷型人形机器人 217
9.3.1 从软件源安装Robonaut 2 217
9.3.2 在国际空间站的固定支座上运行Robonaut2 218
9.4 Husky——Clearpath的轮式机器人 222
9.4.1 安装Husky仿真环境 222
9.4.2 运行Husky仿真环境 222
9.5 TurtleBot——低成本移动机器人 224
9.5.1 安装TurtleBot仿真环境 224
9.5.2 运行TurtleBot仿真环境 224
9.6 本章小结 225
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

我最看重的是这本书在解决实际问题上的落地能力。很多理论书籍读完后感觉自己学富五车,但一上手实际操作就束手无策,总感觉和书本描述的“理想状态”相去甚远。这本书在这方面做得非常出色,它似乎预见到了读者在实际部署中可能遇到的所有“坑”。书中不仅提供了标准的解决方案,还深入分析了不同硬件平台可能出现的兼容性问题以及调试的技巧。比如,在涉及实时控制和并行处理的部分,作者没有回避其中的复杂性,反而详细阐述了如何使用成熟的工具链进行高效的性能优化和故障排查。我尝试着按照书中的步骤去配置了一个中等难度的任务,结果比我预想的要顺利得多,很多原本困扰我的小Bug,在参考了书中的特定章节后茅塞顿开。这哪里是一本教材,分明是一位身经百战的老兵在传授压箱底的秘笈。

评分

这本书的语言风格非常成熟稳重,带着一种令人信服的专业气息,但又不失温度。作者在叙述过程中,时不时会穿插一些个人在项目实践中总结出来的“经验之谈”和“避坑指南”,这些非正式的插叙,极大地增强了阅读的亲切感和代入感。与其说是在阅读一本冰冷的技术手册,不如说是在听一位经验丰富的专家与你进行一对一的深入交流。这种叙事方式,使得原本可能枯燥的算法推导过程也变得生动有趣起来。每当遇到一个特别精妙的设计或者一个高效的编程技巧时,都能感受到作者那份对工程艺术的热爱和执着。读完之后,我不仅在技术能力上获得了质的飞跃,更在对待工程问题的态度上受到了潜移默化的影响,这是一种更深层次的精神收获。

评分

从内容涵盖的广度来看,这本书展现了作者深厚的行业洞察力。它并非只局限于某一个特定的机器人应用领域,而是横跨了感知、决策和执行这三大核心模块,并对它们之间的协同工作机制进行了详尽的探讨。特别是对于新兴的传感器融合技术和基于机器学习的路径规划算法的介绍,既有扎实的数学基础支撑,又不乏对前沿研究的跟踪。这种平衡感把握得非常好,既保证了技术的深度和严谨性,又避免了内容过于陈旧或过于超前以至于难以掌握。对于一个希望系统性提升自己技术栈的工程师来说,这本书提供了一个非常全面的知识地图,让我清楚地知道自己目前处于哪个阶段,下一步应该着重弥补哪方面的知识短板,其规划和指导价值是无可替代的。

评分

这本书的封面设计着实吸引人,那种深邃的蓝与机械的线条交织在一起,一下子就把我拉进了一个充满探索欲的未来世界。拿到手里沉甸甸的感觉,就知道里面内容绝对是干货满满。我原本对机器人编程这块知识有些零散的了解,总觉得像是一堆散落的珍珠,串不成一条完整的项链。这本书的结构安排非常巧妙,它没有一上来就抛出复杂的代码和晦涩的理论,而是像一位经验丰富的导师,循序渐进地引领我们从最基础的概念开始搭建认知框架。特别是它对核心概念的解释,那种深入浅出的笔法,让我这个初学者也能迅速抓住重点,不再感觉高深莫测。我特别欣赏它在理论阐述后紧跟着的实践案例,那种“知其所以然”的学习过程,远比单纯的死记硬背来得有效得多。读完前几章,我已经对整个机器人系统的工作流程有了一个宏观且清晰的认识,这为后续深入学习打下了极其坚实的地基。

评分

这本书的排版和印刷质量绝对是业内顶尖水平,这一点对技术书籍来说至关重要。很多技术书为了追求速度和成本,纸张泛光或者字体模糊,导致长时间阅读眼睛非常疲劳。但这本书的用纸非常考究,哑光处理,即便是长时间对着屏幕和书本对比学习,眼睛的负担也减轻了不少。更值得称赞的是图示的质量。在讲解复杂的运动学模型或者传感器数据处理时,如果图示不够清晰,理解起来就会事倍功半。这本书中的插图,无论是流程图还是结构示意图,线条都极为精细,色彩的运用也恰到好处地突出了关键信息,辅助理解的效果达到了极致。我甚至会把某些复杂的架构图打印出来贴在工作台边上,随时可以瞥一眼,那种直观的冲击力是纯文字描述无法替代的。这种对细节的极致追求,体现了作者和出版方对读者的尊重。

评分

推荐看完wiki之后,再看一遍

评分

这本书谁写的!出来我保证不打死你

评分

名不副实的典范。原来歪果仁也会这样骗钱。本书教的是实践教程例子以及配置环境,最后一些真真的干活来自于出现问题后的解决思路,但是这些玩意儿如何整合在一起能有几页呢?这是例子实践,不是程序设计,不是程序编写。相对于帮助你过了一遍。应该叫做《ROS机器人系统配置实践》。

评分

这本书谁写的!出来我保证不打死你

评分

推荐看完wiki之后,再看一遍

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有