基本信息
目录
前言 1
一部分 基础知识
1章 概述 9
简史 9
理念 10
安装 11
小结 12
2章 预备知识 13
ROS图 13
roscore 15
catkin、工作区以及ROS程序包 16
rosrun 19
命名、命名空间以及重映射 24
roslaunch 25
tab键 26
tf:坐标系转换 27
小结 30
3章 话题 31
将消息发布到话题上 32
订阅一个话题 36
基本信息
书名:ROS机器人程序设计(原书第2版)
:69.00元
作者:恩里克·费尔南德斯
出版社:机械工业出版社
出版日期:2016-10-01
ISBN:9787111551058
字数:
页码:
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
内容提要
无论是业余爱好者还是专业的机器人开发人员,在开始进行机器人系统及程序设计时,首先要面对的问题都是基本的如何驱动机器人的轮子的设计。ROS通过软件代码复用集成了众多已经开发完成的功能组件。本书专门帮助读者从对ROS一无所知到能够通过ROS系统完成小型机器人系统的开发和编程工作。本书提供了各种实际的示例代码供读者学习和理解ROS的软件框架。你可以在仿真环境中自行构建机器人相应的功能程序。本书第2版在第1版的基础上增加了与ROSHydro一起工作,如何创建、可视化和处理不同传感器的点云信息,如何控制和利用多关节机械臂,并提供简单易懂的实用教程编写自己的机器人。
目录
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中配置环境
基本信息
原书名:Effective Robotics Programming with ROS,Third Edition
作者: (西)阿尼尔·马哈塔尼(Anil Mahtani)
译者: 张瑞雷 刘锦涛
丛书名: 机器人设计与制作系列
出版社:机械工业出版社
ISBN:9787111578468
定价 69元
出版日期:2017 年9月
开本:16开
版次:1-1
所属分类:计算机
目录
推荐序一
推荐序二
译者序
前言
作者简介
审校者简介
第1章 ROS入门 1
1.1 PC安装教程 3
1.2 使用软件库安装ROS Kinetic 3
1.2.1 配置Ubuntu软件库 4
1.2.2 添加软件库到sources.list文件中 4
1.2.3 设置密钥 5
1.2.4 安装ROS 5
1.2.5 初始化rosdep 6
1.2.6 配置环境 6
1.2.7 安装rosinstall 7
1.3 如何安装VirtualBox和Ubuntu 8
1.3.1 下载VirtualBox 8
1.3.2 创建虚拟机 9
1.4 通过Docker镜像使用ROS 11
1.4.1 安装Docker 11
1.4.2 获取和使用ROS Docker镜像和容器 11
1.5 在BeagleBone Black上安装ROS Kinetic 12
1.5.1 准备工作 13
1.5.2 配置主机和source.list文件 16
1.5.3 设置密钥 16
1.5.4 安装ROS功能包 17
1.5.5 为ROS初始化rosdep 17
1.5.6 在BeagleBone Black中配置环境 18
1.5.7 在BeagleBone Black中安装rosinstall 18
1.5.8 BeagleBone Black基本ROS示例 18
1.6 本章小结 19
第2章 ROS架构及概念 20
2.1 理解ROS文件系统级 20
2.1.1 工作空间 21
2.1.2 功能包 22
2.1.3 元功能包 23
2.1.4 消息 24
2.1.5 服务 25
2.2 理解ROS计算图级 25
2.2.1 节点与nodelet 27
2.2.2 主题 28
2.2.3 服务 29
2.2.4 消息 29
2.2.5 消息记录包 30
2.2.6 节点管理器 30
2.2.7 参数服务器 30
2.3 理解ROS开源社区级 31
2.4 ROS试用练习 32
2.4.1 ROS文件系统导览 32
2.4.2 创建工作空间 32
2.4.3 创建ROS功能包和元功能包 33
2.4.4 编译ROS功能包 34
2.4.5 使用ROS节点 35
2.4.6 如何使用主题与节点交互 37
2.4.7 如何使用服务 39
2.4.8 使用参数服务器 41
2.4.9 创建节点 42
2.4.10 编译节点 44
2.4.11 创建msg和srv文件 45
2.4.12 使用新建的srv和msg文件 48
2.4.13 launch文件 51
2.4.14 动态参数 53
2.5 本章小结 57
第3章 可视化和调试工具 58
3.1 调试ROS节点 60
3.1.1 使用gdb调试器调试ROS节点 60
3.1.2 在ROS节点启动时调用gdb调试器 61
3.1.3 在ROS节点启动时调用valgrind分析节点 62
3.1.4 设置ROS节点core文件转储 62
3.2 日志消息 62
3.2.1 输出日志消息 62
3.2.2 设置调试消息级别 63
3.2.3 为特定节点配置调试消息级别 64
3.2.4 消息命名 65
3.2.5 按条件显示消息与过滤消息 65
3.2.6 显示消息的方式——单次、可调以及其他组合 66
3.2.7 使用rqt_console和rqt_logger_level在运行时修改调试级别 66
3.3 检测系统状态 69
3.4 设置动态参数 73
3.5 当出现异常状况时使用roswtf 75
3.6 可视化节点诊断 77
3.7 绘制标量数据图 78
3.8 图像可视化 81
3.9 3D可视化 83
3.9.1 使用rqt_rviz在3D世界中实现数据可视化 83
3.9.2 主题与坐标系的关系 86
3.9.3 可视化坐标变换 87
3.10 保存与回放数据 88
3.10.1 什么是消息记录包文件 89
3.10.2 使用rosbag在消息记录包文件中记录数据 89
3.10.3 回放消息记录包文件 90
3.10.4 查看消息记录包文件的主题和消息 91
3.11 应用rqt与rqt_gui插件 93
3.12 本章小结 93
第4章 3D建模与仿真 95
4.1 在ROS中自定义机器人的3D模型 95
4.2 创建,个URDF文件 95
4.2.1 解释文件格式 97
4.2.2 在rviz里查看3D模型 98
4.2.3 加载网格到机器人模型中 100
4.2.4 使机器人模型运动 100
4.2.5 物理和碰撞属性 101
4.3 xacro——一种更好的机器人建模方法 102
4.3.1 使用常量 102
4.3.2 使用数学方法 103
基本信息
书名;机器人操作系统ROS原理与应用
书号;9787111568360
目录
前言
第1章智能机器人及其发展概述 1
1.1智能机器人概念及其特点 1
1.1.1智能机器人概念 1
1.1.2智能机器人的发展 2
1.1.3智能机器人的特点 3
1.2智能机器人的组成 3
1.2.1智能机器人的硬件组成 3
1.2.2智能机器人的软件系统 7
1.3智能机器人的分类 10
1.3.1服务智能机器人 11
1.3.2工业智能机器人 14
第2章ROS体系架构 18
2.1ROS框架 18
2.1.1ROS简介 18
2.1.2ROS整体架构分析 20
2.1.3名称系统 27
2.2ROS 2.0框架 28
2.2.1ROS 2.0简介 28
2.2.2ROS与ROS 2.0之间的主要区别 29
2.3本章小结 31
第3章ROS通信机制 32
3.1ROS通信机制概述 32
3.1.1ROS通信机制概念 32
3.1.2ROS通信机制的基本要素 32
3.1.3ROS通信机制的分类 33
3.2基于主题的异步数据流通信 33
3.2.1简介 33
3.2.2异步数据流的实现基础 34
3.2.3异步数据流的实现过程 42
3.2.4回调函数处理 47
3.3基于服务的同步RPC通信 50
3.3.1简介 50
3.3.2同步RPC通信的实现过程 51
3.4基于参数服务器的数据传递 55
3.4.1简介 55
3.4.2具体实现过程 57
3.5本章小结 58
第4章ROS坐标变换体系及其实现 60
4.1机器人运动学基本原理 60
4.1.1空间坐标系的描述和转换 60
4.1.2机器人的正运动学 65
4.2ROS tf 69
4.3tf原理分析 70
4.3.1相关数据结构 70
4.3.2tf关键模块的实现 80
4.4特定机器人的ROS tf应用实例 85
4.4.1tf外部接口 85
4.4.2ROS tf在UR5上的应用 85
4.5本章小结 87
第5章ROS任务调度与有限状态机实现 88
5.1ROS 任务调度接口设计 88
5.1.1action的设计与编译 88
5.1.2基于主题的ActionClient与ActionServer的交互设计 89
5.1.3ActionClient与ActionServer的交互过程 90
5.1.4action状态变换 91
5.1.5actionlib的任务调度策略 93
5.1.6actionlib接口的具体实现 95
5.2ROS有限状态机的SMACH 98
5.2.1有限状态机的基本原理 98
5.2.2SMACH概述 100
5.2.3SMACH状态描述 102
5.2.4SMACH容器设计与实现 107
5.2.5SMACH主要处理构件分析 111
5.2.6状态机的具体实现 113
5.3本章小结 115
第6章ROS运动规划及其实现 116
6.1智能机器人运动控制概述 116
6.2ROS MoveIt包介绍 117
6.2.1用户接口 117
6.2.2ROS MoveIt参数配置 118
6.2.3ROS MoveIt机器人接口 119
6.2.4ROS MoveIt运动规划实现 120
6.3运动规划库 121
6.3.1运动规划库概述 121
6.3.2MoveIt运动规划
编程用例 122
6.3.3规划接口定义 123
6.3.4OMPL接口分析 124
6.4RRT算法 125
6.4.1基本RRT算法描述 125
6.4.2RRT算法的性能分析 127
6.4.3RRT算法的几种优化 128
6.4.4CRRT算法 129
6.5本章小结 130
这本书的“程序设计”部分,给我带来了很多启发。我之前接触过一些程序设计方面的知识,但总是感觉和机器人编程的实际应用有些脱节。这套书将程序设计的原理和ROS机器人编程紧密结合起来,让我看到了理论与实践的完美融合。 它详细讲解了面向对象设计、设计模式在ROS节点开发中的应用,比如如何利用单例模式管理全局资源,如何使用工厂模式创建不同类型的机器人组件,以及如何利用观察者模式实现事件驱动的机器人行为。这些概念虽然在通用程序设计中很常见,但在ROS环境中应用起来,能够极大地提升代码的可扩展性和可维护性。 我特别喜欢书中关于状态机和行为树在机器人行为控制方面的讲解。它用清晰的图示和代码示例,展示了如何利用这些高级程序设计技术来构建复杂的机器人决策系统,例如路径规划、避障、任务调度等。这让我对如何设计出更智能、更灵活的机器人程序有了更深入的理解。这本书不仅仅是教你如何写ROS代码,更是教你如何用优秀的程序设计思想来构建强大的机器人系统。
评分这本书的内容实在是太扎实了!我刚拿到手的时候,就被它厚重的分量和精美的排版惊艳到了。我是一个刚入门ROS的菜鸟,之前看了一些网上的零散教程,总是感觉抓不住重点,知识点之间也缺乏连贯性。这套书的出现,简直就像在我迷茫的航线上点亮了一盏明灯。 我特别喜欢它在讲解基础概念时的循序渐进。从ROS的安装配置,到工作空间的创建、软件包的组织,再到消息、服务、动作等核心通信机制的详细阐述,每一步都讲解得非常清晰透彻,配以丰富的图示和代码示例,让我这个新手也能快速理解。而且,它没有一上来就抛出复杂的理论,而是从最实用的角度出发,让你先动手跑起来,在实践中学习,这种学习方式对我来说特别有效。 书中关于“包邮ROS 机器人编程实践+程序设计”的部分,让我对ROS的编程有了全新的认识。它不仅仅是API的堆砌,更注重讲解背后的设计理念和常用的设计模式。我学会了如何使用C++和Python进行ROS节点的开发,如何编写发布者和订阅者,如何创建自定义消息类型,这些都是实打实的技术硬实力。而且,它还提供了很多实际的机器人应用场景作为案例,比如激光雷达数据处理、导航算法实现等,让我能够将所学知识融会贯通,真正做到学以致用。
评分我一直在寻找一本能够帮助我深入理解机器人操作系统背后原理的深度书籍,而这套书的“机器人操作系统ROS原理与应用”部分,完全满足了我的需求。它没有停留在简单的API调用层面,而是深入剖析了ROS的各个核心组件,比如ROS Master、节点通信机制(TCP/UDP)、参数服务器、TF变换等。作者用非常生动形象的比喻,将这些抽象的概念解释得清晰易懂,让我仿佛置身于ROS的内部运作之中。 我尤其对ROS的实时性、分布式特性以及它如何管理复杂的机器人系统产生了浓厚的兴趣。书中对这些方面的讲解,打破了我之前的一些误解,让我对ROS的强大之处有了更深刻的体会。它不仅讲“是什么”,更讲“为什么”,让我理解了ROS在机器人开发中的关键作用和它的设计哲学。阅读这部分内容,我感觉自己对ROS的理解上升到了一个全新的维度,从一个使用者变成了一个更能理解其内在机制的开发者。 而且,它还提及了一些ROS在实际工程项目中的应用案例,以及如何针对不同的机器人硬件平台进行优化,这对我将来在实际项目中应用ROS提供了宝贵的参考。这本书不仅仅是技术手册,更像是一本引人入胜的ROS探索之旅。
评分我一直对如何编写高效、可维护的机器人代码感到困惑,而这套书中的“高效编程(原书3版)”章节,简直是为我量身定做的。在接触ROS之前,我以为编程就是把功能实现就行,但这本书让我意识到,代码的质量、效率和可读性同样至关重要,尤其是在资源有限的嵌入式机器人系统中。 书中讲解了很多通用的 C++ 和 Python 编程技巧,并且结合 ROS 的实际场景进行了深入的阐述。例如,如何利用智能指针管理内存,如何编写线程安全的 ROS 节点,如何优化消息的序列化和反序列化速度,以及如何利用 C++11/14/17 的新特性提升代码的性能和可读性。这些内容对于提升我的编程能力非常有帮助。 它还强调了代码的可复用性和模块化设计,让我学会如何将复杂的机器人功能分解成独立的小模块,并通过 ROS 的接口进行交互,这样不仅提高了开发效率,也使得代码更容易测试和维护。书中提供的很多实践建议,都源于作者在实际项目中的经验积累,非常具有指导意义。我感觉我的代码质量和开发效率都得到了显著提升,写出来的代码也更加“健壮”了。
评分我一直觉得,学习ROS不仅仅是掌握API,更重要的是理解整个生态系统以及它背后的哲学。这套书的“原书2版”和“原书3版”的结合,让我看到了ROS从早期版本到更成熟版本的演进过程,以及在新版本中引入的改进和优化。 书中对ROS 1和ROS 2的一些关键区别进行了比较,让我更清晰地认识到ROS 2在分布式通信、实时性、安全性和跨平台支持方面的优势。它并没有回避ROS 1的一些不足,而是通过讲解ROS 2的解决方案,让我们更深入地理解ROS的不断发展和进步。 我特别欣赏书中对于ROS工具链的讲解,比如RViz、Gazebo、rqt等,这些工具是ROS开发中不可或缺的助手。它不仅仅是介绍这些工具的功能,更是讲解了如何有效地利用它们来调试、可视化和仿真机器人系统。这对于提高开发效率,减少调试时间非常有帮助。总而言之,这套书提供了一个全面、深入的ROS学习体验,让我从一个初步了解者,逐渐成长为一个对ROS有深刻理解的开发者。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有