×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
精通ROS机器人编程(原书第3版)

精通ROS机器人编程(原书第3版)

1星价 ¥90.3 (7.0折)
2星价¥90.3 定价¥129.0
暂无评论
图文详情
  • ISBN:9787111750383
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:395
  • 出版时间:2024-05-01
  • 条形码:9787111750383 ; 978-7-111-75038-3

本书特色

机器人操作系统(ROS)是一个用于复杂机器人编程的软件框架,你无须从头开始编写代码,即可用它开发用于构建复杂机器人的软件,从而节省宝贵的开发时间。本书通过通俗易懂的实用示例和对基本概念的逐步解释,全面介绍了可应用于ROS 机器人项目的高级概念。 本书首先帮助你掌握使用ROS对机器人进行编程所需的基本概念。然后带你探索开发仿真机器人和实际机器人,以及从头开始应用导航和操纵等高级功能。随着阅读的深入,你将学习如何创建 ROS 控制器和插件,并探索 ROS 的工业应用程序及其与空中机器人的交互。*后,你将了解高效使用 ROS 的*佳实践和方法。 *终,你将学会如何在 ROS 中创建各种应用程序,并构建自己的**个ROS机器人。 阅读本书,你将学到: ·使用7自由度机械臂和差动轮式移动机器人创建机器人模型。 ·使用Gazebo、CoppeliaSim和Webots等机器人模拟器。 ·使用SLAM和AMCL软件包实现差动驱动机器人的自主导航。 ·使用ROS与空中机器人进行并对它进行仿真。 ·探索ROS pluginlib、ROS nodelets 和 Gazebo等插件。 ·连接Arduino、机器人传感器和高端执行器等I/O板。

内容简介

本书提供了实用且易于理解的示例,对ROS机器人编程的高级概念进行了全面的介绍。本书首先介绍用ROS进行机器人编程所需的基本概念和ROS框架,讨论了如何用运动规划库和ROS导航栈对机器人进行仿真和交互,还讨论了ROS插件、控制器和节点、各种ROS接口(如何把I/O开发板、传感器和执行器等与ROS连接起来),以及如何用ROS和ROS-Industrial对复杂机器人进行仿真。*后,本书介绍了ROS的故障排除和很好实践。

目录

目 录  Contents
前言
作者简介
审校者简介
**部分 ROS编程基本技能
第1章 ROS简介 2
1.1 为什么选择ROS 2
1.2 理解ROS文件系统级别 3
1.2.1 ROS功能包 4
1.2.2 ROS元功能包 5
1.2.3 ROS消息 6
1.2.4 ROS服务 7
1.3 理解ROS计算图级别 8
1.3.1 ROS节点 9
1.3.2 ROS信息 11
1.3.3 ROS主题 11
1.3.4 ROS服务 12
1.3.5 ROS bag文件 12
1.3.6 ROS节点管理器 13
1.3.7 使用ROS参数 14
1.4 ROS社区级别 15
1.5 准备工作 15
1.5.1 ROS发行版 15
1.5.2 运行ROS节点管理器和
ROS参数服务器 16
1.5.3 检查roscore命令的输出 18
1.6 总结 19
1.7 问题 19
第2章 ROS编程入门 20
2.1 创建ROS功能包 20
2.1.1 使用ROS主题 22
2.1.2 创建ROS节点 22
2.1.3 编译节点 25
2.2 添加自定义的.msg文件和.srv
文件 26
2.3 使用ROS 服务 29
2.3.1 使用ROS actionlib 33
2.3.2 编译ROS动作服务器和
客户端 36
2.4 创建启动文件 38
2.5 主题、服务和actionlib的应用 40
2.6 总结 40
2.7 问题 41
第二部分 ROS机器人仿真
第3章 使用ROS进行3D建模 44
3.1 用于机器人建模的ROS软件包 44
3.2 使用URDF理解机器人建模 45
3.3 为机器人描述创建ROS软件包 47
3.4 创建我们的**个URDF模型 48
3.5 解析URDF文件 49
3.6 在RViz中可视化3D机器人模型 51
3.7 向URDF模型添加物理属性和碰撞
属性 53
3.8 使用xacro理解机器人建模 54
3.8.1 使用属性 55
3.8.2 使用数学表达式 55
3.8.3 使用宏 55
3.9 将xacro转换为URDF 56
3.10 为7-DOF机械臂创建机器人
描述 56
3.11 解析7-DOF机械臂的xacro
模型 58
3.11.1 使用常量 58
3.11.2 使用宏 58
3.11.3 包含其他xacro文件 59
3.11.4 在连杆中使用网格模型 59
3.11.5 使用机器人夹爪 60
3.11.6 在RViz中查看7-DOF
机械臂 61
3.12 为差速驱动机器人创建机器人
模型 63
3.13 总结 66
3.14 问题 67
第4章 使用ROS和Gazebo
进行机器人仿真 68
4.1 使用Gazebo 和ROS仿真机械臂 68
4.2 为Gazebo创建机械臂仿真模型 69
4.2.1 为Gazebo机器人模型添加
颜色和纹理 70
4.2.2 添加transmission标签来
驱动模型 71
4.3 添加gazebo_ros_control插件 71
4.4 仿真装有Xtion Pro的机械臂 73
4.5 在Gazebo中使用ROS控制器
移动机器人关节 76
4.5.1 理解ros_control
软件包 76
4.5.2 不同类型的ROS控制器与
硬件接口 76
4.5.3 ROS控制器如何与Gazebo
交互 77
4.5.4 将关节状态控制器和关节
位置控制器连接到机械臂 78
4.5.5 在Gazebo中启动ROS
控制器 79
4.5.6 移动机器人关节 81
4.6 在Gazebo中仿真差速轮式
机器人 82
4.6.1 向Gazebo中添加激光
雷达 83
4.6.2 在Gazebo中控制机器人
移动 85
4.6.3 为启动文件添加关节状态
发布者 86
4.7 添加ROS遥控节点 86
4.8 总结 88
4.9 问题 88
第5章 使用ROS、CoppeliaSim和Webots进行机器人仿真 89
5.1 使用ROS配置CoppeliaSim 89
5.1.1 理解RosInterface插件 92
5.1.2 处理ROS消息 95
5.2 使用CoppeliaSim和ROS仿真机
械臂 96
5.3 使用ROS设置Webots 99
5.3.1 Webots仿真器简介 100
5.3.2 使用Webots仿真移动
机器人 101
5.4 编写**个控制器 103
5.5 使用webots_ros编写遥控节点 107
5.6 总结 110
5.7 问题 111
第6章 使用ROS MoveIt!与Navigation栈 112
6.1 MoveIt!架构 113
6.1.1 move_group节点 113
6.1.2 基于MoveIt!的运动规划 114
6.1.3 运动规划请求适配器 115
6.1.4 MoveIt!规划场景 116
6.1.5 MoveIt!运动学处理 117
6.1.6 MoveIt!碰撞检测 117
6.2 基于设置助手生成MoveIt!
配置包 117
6.3 在RViz中使用MoveIt!配置包
进行机器人运动规划 123
6.3.1 使用RViz的运动规划
插件 124
6.3.2 MoveIt!配置包与Gazebo
交互 127
6.4 理解ROS导航栈 132
6.4.1 导航栈的硬件需求 132
6.4.2 使用导航软件包 133
6.4.3 使用导航栈 134
6.5 使用SLAM构建地图 135
6.5.1 为gmapping创建启动
文件 136
6.5.2 在差速驱动机器人上运行SLAM 137
6.5.3 基于amcl和静态地图实现
自主导航 140
6.5.4 创建amcl启动文件 140
6.6 总结 143
6.7 问题 143
第7章 探索ROS MoveIt!的高级
功能 144
7.1 使用move_group的C 接口
进行运动规划 144
7.1.1 使用MoveIt! C API规划
随机路径 144
7.1.2 使用MoveIt! C API规划
自定义路径 145
7.1.3 使用MoveIt!进行机械臂的
碰撞检测 147
7.2 使用MoveIt!和Gazebo进行
感知 153
7.3 使用MoveIt!操作对象 158
7.3.1 使用MoveIt!执行拾取和
放置任务 158
7.3.2 在Gazebo和真实的机器人
中应用抓取和放置动作 162
7.4 了解用于机器人硬件接口的DYNAMIXEL ROS伺服控制器 162
7.4.1 DYNAMIXEL伺服舵机 163
7.4.2 DYNAMIXEL-ROS接口 164
7.5 7-DOF机械臂与ROS MoveIt! 164
7.5.1 为COOL机械臂创建一个
控制器软件包 165
7.5.2 COOL机械臂的MoveIt!
配置 168
7.6 总结 170
7.7 问题 170
第8章 ROS在空中机器人上的
应用 171
8.1 使用空中机器人 171
8.1.1 UAV硬件 172
8.1.2 Pixhawk自动驾驶仪 172
8.2 使用PX4飞行控制栈 173
8.2.1 PX4固件架构 176
8.2.2 PX4 SITL 178
8.3 PC/自动驾驶仪通信 179
8.4 编写ROS-PX4应用程序 181
8.4.1 编写轨迹流线 186
8.4.2 PX4的外部位姿估计 187
8.5 使用RotorS仿真框架 188
8.5.1 安装RotorS  188
8.5.2 RotorS软件包 190
8.5.3 创建一种新的无人机
模型 192
8.5.4 与RotorS电机模型交互 199
8.6 总结 200
8.7 问题 200
第三部分 ROS机器人硬件
原型开发
第9章 将I/O板传感器和执行器
连接到ROS 202
9.1 理解Arduino-ROS接口 202
9.2 Arduino-ROS接口 203
9.2.1 理解ROS中的
rosserial包 203
9.2.2 理解Arduino中的ROS
节点API 207
9.2.3 ROS-Arduino发布者和
订阅者示例 210
9.2.4 ROS-Arduino示例:用按钮
闪烁LED 213
9.2.5 ROS-Arduino示例:加速度
计ADXL 335 215
9.2.6 ROS-Arduino示例:超声波
距离传感器 216
9.2.7 ROS-Arduino示例:里程计
数据发布器 220
9.3 将非Arduino板连接到ROS 222
9.3.1 设置Odroid-C4、树莓派4
和Jetson Nano用于安装
ROS 222
9.3.2 在树莓派4上使用ROS
闪烁LED 228
9.3.3 在树莓派2上使用ROS
通过按钮闪烁LED 230
9.3.4 在树莓派4上运行示例 233
9.4 将DYNAMIXEL执行器连接到
ROS 234
9.5 总结 235
9.6 问题 235
第10章 使用ROS、OpenCV和PCL编程视觉传感器 236
10.1 软硬件需求 236
10.2 理解ROS-OpenCV接口
软件包 236
10.3 理解ROS-PCL接口软件包 237
10.4 连接ROS与USB网络摄像头 239
10.5 校准ROS摄像机 241
10.6 将Kinect和Asus Xtion Pro与
ROS连接 249
10.7 连接Intel RealSense摄像机与
ROS 251
10.8 连接Hokuyo激光雷达与ROS 255
10.9 使用点云数据 257
10.9.1 如何发布点云 257
10.9.2 如何订阅和处理点云 259
10.9.3 从PCD文件读取和
发布点云 262
10.10 总结 264
10.11 问题 265
第11章 在ROS中构建
与连接差速驱动
移动机器人硬件 266
11.1 技术要求 266
11.1.1 软件要求 267
11.1.2 网络设置 268
11.1.3 硬件要求 268
11.2 一款DIY自主移动机器人—
Remo简介 268
11.2.1 Remo硬件组件 269
11.2.2 ROS Navigation Stack的
软件需求  271
11.3 为差速驱动机器人开发底层
控制器和ROS Control高级
硬件接口 272
11.3.1 为Remo实现底层基本
控制器  274
11.3.2 用于差速驱动机器人
的ROS Control高级
硬件接口 278
11.3.3 Remo机器人的ROS
节点和主题概述 280
11.4 配置和使用Navigation Stack 283
11.4.1 配置gmapping节点并
创建地图 284
11.4.2 使用gmapping节点  284
11.4.3 配置move_base节点 285
11.4.4 配置AMCL节点 286
11.4.5 AMCL规划 287
11.4.6 在仿真环境中使用Remo
机器人 289
11.5 总结 291
11.6 问题 291
第四部分 高级ROS编程
第12章 使用pluginlib、nodelet
和Gazebo插件 294
12.1 理解pluginlib 294
12.2 理解ROS小节点 300
12.3 理解并创建Gazebo插件 306
12.4 总结 309
12.5 问题 310
第13章 编写ROS控制器
和可视化插
展开全部

作者简介

朗坦·约瑟夫(Lentin Joseph)是一名来自印度的作家、创业者。他是印度Qbotics实验室的创始人兼CEO,在机器人领域已经有7年的从业经验,主要研究方向包括机器人操作系统(ROS)、OpenCV、PCL等。
乔纳森·卡卡切(Jonathan Cacace)在意大利那不勒斯腓特烈二世大学获计算机科学硕士学位及信息与自动化工程博士学位。目前,乔纳森是那不勒斯腓特烈二世大学PRISMA实验室的博士后,主要研究工业机器人和服务机器人,曾经开发了几款基于ROS且集成了机器人感知控制的机器人应用。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航