ROS机器人编程:原理与应用

ROS机器人编程:原理与应用
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Wyatt Newman)
2019-05
版次: 1
ISBN: 9787111625766
定价: 199.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 450页
字数: 230千字
67人买过
  • 本书共分为六部分。*部分介绍了如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分是用ROS进行模拟和可视化,其中包括坐标转换。第三部分讨论了ROS的感知过程。第四部分介绍了ROS中的移动机器人控制和导航。第五部分介绍了ROS机器人臂的相关知识。第六部分涉及系统集成和更高级别的控制,包括基于感知的移动操作。 译者序

    前言

    第一部分 ROS基础  / 1

    第1章 概述:ROS工具和节点  / 2

    1.1 ROS基础概念  / 2

    1.2 编写ROS节点  / 5

    1.2.1 创建ROS程序包  / 5

    1.2.2 编写一个最小的ROS发布器  / 8

    1.2.3 编译ROS节点  / 11

    1.2.4 运行ROS节点  / 12

    1.2.5 检查运行中的最小发布器节点  / 13

    1.2.6 规划节点时间  / 15

    1.2.7 编写一个最小ROS订阅器  / 17

    1.2.8 编译和运行最小订阅器  / 19

    1.2.9 总结最小订阅器和发布器节点  / 21

    1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag  / 21

    1.3.1 用catkin_simple简化CMakeLists.txt  / 21

    1.3.2 自动启动多个节点  / 23

    1.3.3 在ROS控制台观察输出  / 25

    1.3.4 使用rosbag记录并回放数据  / 26

    1.4 最小仿真器和控制器示例  / 28

    1.5 小结  / 32

    第2章 消息、类和服务器  / 33

    2.1 定义自定义消息  / 33

    2.1.1 定义一条自定义消息  / 34

    2.1.2 定义一条变长的消息  / 38

    2.2 ROS服务介绍  / 43

    2.2.1 服务消息  / 43

    2.2.2 ROS服务节点  / 45

    2.2.3 与ROS服务手动交互  / 47

    2.2.4 ROS服务客户端示例  / 48

    2.2.5 运行服务和客户端示例  / 50

    2.3 在ROS中使用C  类  / 51

    2.4 在ROS中创建库模块  / 56

    2.5 动作服务器和动作客户端介绍  / 61

    2.5.1 创建动作服务器包  / 62

    2.5.2 定义自定义动作服务器消息  / 62

    2.5.3 设计动作客户端  / 68

    2.5.4 运行示例代码  / 71

    2.6 参数服务器介绍  / 80

    2.7 小结  / 84

    第二部分 ROS中的仿真和可视化  / 85

    第3章 ROS中的仿真  / 86

    3.1 简单的2维机器人仿真器  / 86

    3.2 动力学仿真建模  / 93

    3.3 统一的机器人描述格式  / 95

    3.3.1 运动学模型  / 95

    3.3.2 视觉模型  / 98

    3.3.3 动力学模型  / 99

    3.3.4 碰撞模型  / 102

    3.4 Gazebo介绍  / 104

    3.5 最小关节控制器  / 112

    3.6 使用Gazebo插件进行关节伺服控制  / 118

    3.7 构建移动机器人模型  / 124

    3.8 仿真移动机器人模型  / 132

    3.9 组合机器人模型  / 136

    3.10 小结  / 139

    第4章 ROS中的坐标变换  / 141

    4.1 ROS中的坐标变换简介  / 141

    4.2 转换侦听器  / 149

    4.3 使用Eigen库  / 156

    4.4 转换ROS数据类型  / 161

    4.5 小结  / 163

    第5章 ROS中的感知与可视化  / 164

    5.1 rviz中的标记物和交互式标记物  / 168

    5.1.1 rviz中的标记物  / 168

    5.1.2 三轴显示示例  / 172

    5.1.3 rviz中的交互式标记物  / 176

    5.2 在rviz中显示传感器值  / 183

    5.2.1 仿真和显示激光雷达  / 183

    5.2.2 仿真和显示彩色相机数据  / 189

    5.2.3 仿真和显示深度相机数据  / 193

    5.2.4 rviz中点的选择  / 198

    5.3 小结  / 201

    第三部分 ROS中的感知处理  / 203

    第6章 在ROS中使用相机  / 204

    6.1 相机坐标系下的投影变换  / 204

    6.2 内置相机标定  / 206

    6.3 标定立体相机内参  / 211

    6.4 在ROS中使用OpenCV  / 217

    6.4.1 OpenCV示例:寻找彩色像素  / 218

    6.4.2 OpenCV示例:查找边缘  / 223

    6.5 小结  / 224

    第7章 深度图像与点云信息  / 225

    7.1 从扫描LIDAR中获取深度信息  / 225

    7.2 立体相机的深度信息  / 230

    7.3 深度相机  / 236

    7.4 小结  / 237

    第8章 点云数据处理  / 238

    8.1 简单的点云显示节点  / 238

    8.2 从磁盘加载和显示点云图像  / 244

    8.3 将发布的点云图像保存到磁盘  / 246

    8.4 用PCL方法解释点云图像  / 248

    8.5 物体查找器  / 257

    8.6 小结  / 261

    第四部分 ROS中的移动机器人  / 263

    第9章 移动机器人的运动控制  / 264

    9.1 生成期望状态  / 264

    9.1.1 从路径到轨迹  / 264

    9.1.2 轨迹构建器库  / 268

    9.1.3 开环控制  / 273

    9.1.4 发布期望状态  / 274

    9.2 机器人状态估计  / 282

    9.2.1 从Gazebo获得模型状态  / 282

    9.2.2 里程计  / 286

    9.2.3 混合里程计、GPS和惯性传感器  / 292

    9.2.4 混合里程计和LIDAR  / 297

    9.3 差分驱动转向算法  / 302

    9.3.1 机器人运动模型  / 303

    9.3.2 线性机器人的线性转向  / 304

    9.3.3 非线性机器人的线性转向  / 306

    9.3.4 非线性机器人的非线性转向  / 308

    9.3.5 仿真非线性转向算法  / 309

    9.4 相对于地图坐标系的转向  / 312

    9.5 小结  / 317

    第10章 移动机器人导航  / 318

    10.1 构建地图  / 318

    10.2 路径规划  / 323

    10.3 move_base客户端示例  / 328

    10.4 修改导航栈  / 331

    10.5 小结  / 335

    第五部分 ROS中的机械臂  / 337

    第11章 底层控制  / 338

    11.1 单自由度移动关节机器人模型  / 338

    11.2 位置控制器示例  / 339

    11.3 速度控制器示例  / 342

    11.4 力控制器示例  / 344

    11.5 机械臂的轨迹消息  / 349

    11.6 7自由度臂的轨迹插值动作服务器  / 353

    11.7 小结  / 354

    第12章 机械臂运动学  / 355

    12.1 正向运动学  / 356

    12.2 逆向运动学  / 360

    12.3 小结  / 365

    第13章 手臂运动规划  / 366

    13.1 笛卡儿运动规划  / 36
  • 内容简介:
    本书共分为六部分。*部分介绍了如何编写ROS节点和ROS工具,也覆盖了消息、类和服务器。第二部分是用ROS进行模拟和可视化,其中包括坐标转换。第三部分讨论了ROS的感知过程。第四部分介绍了ROS中的移动机器人控制和导航。第五部分介绍了ROS机器人臂的相关知识。第六部分涉及系统集成和更高级别的控制,包括基于感知的移动操作。
  • 目录:
    译者序

    前言

    第一部分 ROS基础  / 1

    第1章 概述:ROS工具和节点  / 2

    1.1 ROS基础概念  / 2

    1.2 编写ROS节点  / 5

    1.2.1 创建ROS程序包  / 5

    1.2.2 编写一个最小的ROS发布器  / 8

    1.2.3 编译ROS节点  / 11

    1.2.4 运行ROS节点  / 12

    1.2.5 检查运行中的最小发布器节点  / 13

    1.2.6 规划节点时间  / 15

    1.2.7 编写一个最小ROS订阅器  / 17

    1.2.8 编译和运行最小订阅器  / 19

    1.2.9 总结最小订阅器和发布器节点  / 21

    1.3 更多的ROS工具:catkin_simple、roslaunch、rqt_console和rosbag  / 21

    1.3.1 用catkin_simple简化CMakeLists.txt  / 21

    1.3.2 自动启动多个节点  / 23

    1.3.3 在ROS控制台观察输出  / 25

    1.3.4 使用rosbag记录并回放数据  / 26

    1.4 最小仿真器和控制器示例  / 28

    1.5 小结  / 32

    第2章 消息、类和服务器  / 33

    2.1 定义自定义消息  / 33

    2.1.1 定义一条自定义消息  / 34

    2.1.2 定义一条变长的消息  / 38

    2.2 ROS服务介绍  / 43

    2.2.1 服务消息  / 43

    2.2.2 ROS服务节点  / 45

    2.2.3 与ROS服务手动交互  / 47

    2.2.4 ROS服务客户端示例  / 48

    2.2.5 运行服务和客户端示例  / 50

    2.3 在ROS中使用C  类  / 51

    2.4 在ROS中创建库模块  / 56

    2.5 动作服务器和动作客户端介绍  / 61

    2.5.1 创建动作服务器包  / 62

    2.5.2 定义自定义动作服务器消息  / 62

    2.5.3 设计动作客户端  / 68

    2.5.4 运行示例代码  / 71

    2.6 参数服务器介绍  / 80

    2.7 小结  / 84

    第二部分 ROS中的仿真和可视化  / 85

    第3章 ROS中的仿真  / 86

    3.1 简单的2维机器人仿真器  / 86

    3.2 动力学仿真建模  / 93

    3.3 统一的机器人描述格式  / 95

    3.3.1 运动学模型  / 95

    3.3.2 视觉模型  / 98

    3.3.3 动力学模型  / 99

    3.3.4 碰撞模型  / 102

    3.4 Gazebo介绍  / 104

    3.5 最小关节控制器  / 112

    3.6 使用Gazebo插件进行关节伺服控制  / 118

    3.7 构建移动机器人模型  / 124

    3.8 仿真移动机器人模型  / 132

    3.9 组合机器人模型  / 136

    3.10 小结  / 139

    第4章 ROS中的坐标变换  / 141

    4.1 ROS中的坐标变换简介  / 141

    4.2 转换侦听器  / 149

    4.3 使用Eigen库  / 156

    4.4 转换ROS数据类型  / 161

    4.5 小结  / 163

    第5章 ROS中的感知与可视化  / 164

    5.1 rviz中的标记物和交互式标记物  / 168

    5.1.1 rviz中的标记物  / 168

    5.1.2 三轴显示示例  / 172

    5.1.3 rviz中的交互式标记物  / 176

    5.2 在rviz中显示传感器值  / 183

    5.2.1 仿真和显示激光雷达  / 183

    5.2.2 仿真和显示彩色相机数据  / 189

    5.2.3 仿真和显示深度相机数据  / 193

    5.2.4 rviz中点的选择  / 198

    5.3 小结  / 201

    第三部分 ROS中的感知处理  / 203

    第6章 在ROS中使用相机  / 204

    6.1 相机坐标系下的投影变换  / 204

    6.2 内置相机标定  / 206

    6.3 标定立体相机内参  / 211

    6.4 在ROS中使用OpenCV  / 217

    6.4.1 OpenCV示例:寻找彩色像素  / 218

    6.4.2 OpenCV示例:查找边缘  / 223

    6.5 小结  / 224

    第7章 深度图像与点云信息  / 225

    7.1 从扫描LIDAR中获取深度信息  / 225

    7.2 立体相机的深度信息  / 230

    7.3 深度相机  / 236

    7.4 小结  / 237

    第8章 点云数据处理  / 238

    8.1 简单的点云显示节点  / 238

    8.2 从磁盘加载和显示点云图像  / 244

    8.3 将发布的点云图像保存到磁盘  / 246

    8.4 用PCL方法解释点云图像  / 248

    8.5 物体查找器  / 257

    8.6 小结  / 261

    第四部分 ROS中的移动机器人  / 263

    第9章 移动机器人的运动控制  / 264

    9.1 生成期望状态  / 264

    9.1.1 从路径到轨迹  / 264

    9.1.2 轨迹构建器库  / 268

    9.1.3 开环控制  / 273

    9.1.4 发布期望状态  / 274

    9.2 机器人状态估计  / 282

    9.2.1 从Gazebo获得模型状态  / 282

    9.2.2 里程计  / 286

    9.2.3 混合里程计、GPS和惯性传感器  / 292

    9.2.4 混合里程计和LIDAR  / 297

    9.3 差分驱动转向算法  / 302

    9.3.1 机器人运动模型  / 303

    9.3.2 线性机器人的线性转向  / 304

    9.3.3 非线性机器人的线性转向  / 306

    9.3.4 非线性机器人的非线性转向  / 308

    9.3.5 仿真非线性转向算法  / 309

    9.4 相对于地图坐标系的转向  / 312

    9.5 小结  / 317

    第10章 移动机器人导航  / 318

    10.1 构建地图  / 318

    10.2 路径规划  / 323

    10.3 move_base客户端示例  / 328

    10.4 修改导航栈  / 331

    10.5 小结  / 335

    第五部分 ROS中的机械臂  / 337

    第11章 底层控制  / 338

    11.1 单自由度移动关节机器人模型  / 338

    11.2 位置控制器示例  / 339

    11.3 速度控制器示例  / 342

    11.4 力控制器示例  / 344

    11.5 机械臂的轨迹消息  / 349

    11.6 7自由度臂的轨迹插值动作服务器  / 353

    11.7 小结  / 354

    第12章 机械臂运动学  / 355

    12.1 正向运动学  / 356

    12.2 逆向运动学  / 360

    12.3 小结  / 365

    第13章 手臂运动规划  / 366

    13.1 笛卡儿运动规划  / 36
查看详情
相关图书 / 更多
ROS机器人编程:原理与应用
ROS 2机器人编程实战:基于现代C++和Python 3
徐海望 高佳丽 著
ROS机器人编程:原理与应用
ROS机器人操作系统原理与应用
张云洲;王军义;韩泉城
ROS机器人编程:原理与应用
ROS与ROS2开发指南
张锐
ROS机器人编程:原理与应用
ROS机器人设计实训教程
余承健;黄人薇
ROS机器人编程:原理与应用
ROE预算管理:培养经营干部
付小平 著
ROS机器人编程:原理与应用
ROS机械臂开发与实践(王晓云)
蒋畅江 编著;王晓云;武延军;常先明
ROS机器人编程:原理与应用
ROS机器人理论与实践
张新钰;赵虚左;邱楠;郭世纯
ROS机器人编程:原理与应用
ROS地面无人系统开发实践和进阶
编者:谷玉海|责编:雷桐辉
ROS机器人编程:原理与应用
ROS机器人编程实践
[西]伯纳多·朗奎洛·贾蓬(Bernardo Ronquillo Japón)
ROS机器人编程:原理与应用
ROS机器人开发技术基础(蒋畅江)
张宇航 编著;蒋畅江;罗云翔
ROS机器人编程:原理与应用
ROS教育机器人实训教程
尤涛 等
ROS机器人编程:原理与应用
ROS机器人编程零基础入门与实践
刘伏志 朱有鹏 著
您可能感兴趣 / 更多
ROS机器人编程:原理与应用
语言恶女:女性如何夺回语言
[美]阿曼达·蒙特尔/著李辛/译
ROS机器人编程:原理与应用
过劳:好工作是如何变坏的
[美]艾琳·L.凯利(Erin;L.Kelly;[美]菲利斯·莫恩((Phyllis;Moen
ROS机器人编程:原理与应用
雪花的故事(用照片展示雪花的秘密,为你揭开冬日奇景的奥秘)
[美]马克·卡西诺[美]乔恩·尼尔森
ROS机器人编程:原理与应用
进阶书系-国际史的技艺
[美] 马克·特拉亨伯格
ROS机器人编程:原理与应用
杜甫传
[美]弗洛伦斯.艾思柯
ROS机器人编程:原理与应用
神奇的数字零:从数字0开始的极简数学史和人类发展史
[美]查尔斯·塞弗(Charles Seife)著 杨杨立汝 译
ROS机器人编程:原理与应用
爵士乐史(精装本)
[美]泰德·乔亚 著
ROS机器人编程:原理与应用
作家榜名著:夏日走过山间(王芳推荐版本!与《瓦尔登湖》齐名的经典名作!心浮气躁想要逃离现实生活?让大自然的神奇力量瞬间治愈你!)
[美]约翰·缪尔、作家榜经典名 著;刘子超 译
ROS机器人编程:原理与应用
环境的科学 (平装版)
[美]威廉·坎宁安 后浪
ROS机器人编程:原理与应用
数学侦探 游乐园里的古怪笑脸
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
ROS机器人编程:原理与应用
读懂经济学:提升“财商”、塑造价值观念的经济学读本,一本书参破瞬息万变的经济世界底层逻辑!
[美]霍华德·亚鲁斯 著;赵善江 译;斯坦威 出品
ROS机器人编程:原理与应用
数学侦探 神秘路线上的连环追踪
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品