机器人操作系统ROS原理及应用 / 职业教育智能制造领域高素质技术技能人才培养系列教材
定价:¥45.00
作者: 余永洪
出版时间:2024-11-04
最新印次日期:2025-8
出版社:机械工业出版社
试读
- 机械工业出版社
- 9787111766032
- 1-4
- 69260824-3
- 16开
- 2024-11-04
- 装备制造大类
- 自动化类
- 智能制造
- 高职
内容简介
本书介绍了机器人操作系统ROS的基本概念及开发调试方法。全书分5章:第1章为Ubuntu操作系统,介绍了Ubuntu 20.04的使用、文件与目录操作、vi编辑器和包管理;第2章为ROS概述与环境设置,介绍了如何在虚拟机上安装ROS和设置VSCode开发环境;第3章为ROS系统架构,介绍了ROS系统的构成与目录结构;第4章为ROS通信机制,介绍了ROS话题、消息、服务、参数,并在ROS自带的仿真海龟示例基础上,通过大量例子讲述ROS通信命令的用法和Python程序实现;第5章为ROS运行管理,介绍了ROS的运行调试工具及用法,包括计算图资源命名与重命名、分布式通信设置、消息录制与回放、日志消息、可视化与仿真。本书内容切合实际、图文并茂、通俗易懂。
本书可作为高等职业院校智能机器人、人工智能等相关专业的教材,也可作为智能机器人系统开发技术人员的参考用书。
为方便教学,本书植入二维码微课,并配有免费电子课件、示例代码、习题答案、模拟试卷及答案等。凡选用本书作为授课教材的老师,可登录机械工业出版社教育服务网(www.cmpedu.com),注册后免费下载电子资源。本书咨询电话:010-88379564。
本书可作为高等职业院校智能机器人、人工智能等相关专业的教材,也可作为智能机器人系统开发技术人员的参考用书。
为方便教学,本书植入二维码微课,并配有免费电子课件、示例代码、习题答案、模拟试卷及答案等。凡选用本书作为授课教材的老师,可登录机械工业出版社教育服务网(www.cmpedu.com),注册后免费下载电子资源。本书咨询电话:010-88379564。
目录
目 录
前言
二维码索引
第1章 Ubuntu操作系统 // 1
1.1 Ubuntu简介 // 1
1.1.1 Ubuntu起源与发展 // 1
1.1.2 Ubuntu组成 // 2
1.1.3 Ubuntu目录结构 // 3
1.1.4 Ubuntu操作技巧 // 5
1.2 文件与目录操作 // 6
1.2.1 特殊目录 // 6
1.2.2 pwd命令 // 6
1.2.3 cd命令 // 7
1.2.4 ls命令 // 7
1.2.5 touch命令 // 8
1.2.6 mkdir命令 // 8
1.2.7 cp命令 // 8
1.2.8 mv命令 // 9
1.2.9 rm命令 // 9
1.2.10 clear命令 // 10
1.3 文件内容 // 10
1.3.1 cat命令 // 10
1.3.2 less命令 // 11
1.3.3 head命令 // 11
1.3.4 tail命令 // 12
1.3.5 grep命令 // 12
1.3.6 wc命令 // 13
1.4 重定向与文件编辑 // 13
1.4.1 重定向 // 13
1.4.2 重定向输出 // 14
1.4.3 追加到文件 // 14
1.4.4 重定向输入 // 15
1.4.5 管道 // 16
1.4.6 vim编辑器 // 16
1.5 文件权限、进程与系统管理 // 18
1.5.1 通配符 // 18
1.5.2 文件命名 // 18
1.5.3 命令帮助 // 19
1.5.4 文件权限 // 19
1.5.5 ps命令 // 21
1.5.6 kill命令 // 21
1.5.7 df命令 // 22
1.5.8 du命令 // 22
1.5.9 重启与关机 // 22
1.6 文件查找、打包与压缩 // 23
1.6.1 文件查找 // 23
1.6.2 打包与压缩 // 24
1.7 管理软件包 // 27
1.7.1 管理在线包 // 27
1.7.2 安装/卸载离线包 // 28
1.7.3 管理Python功能包 // 28
本章小结 // 31
习题 // 31
第2章 ROS概述与环境设置 // 33
2.1 了解ROS // 33
2.1.1 ROS的产生背景 // 33
2.1.2 ROS的概念 // 34
2.1.3 ROS的特点 // 34
2.1.4 ROS的版本 // 35
2.2 安装ROS // 36
2.2.1 Windows系统的虚拟机软件 // 36
2.2.2 macOS系统的虚拟机软件 // 39
2.2.3 创建虚拟机 // 40
2.2.4 虚拟机安装Ubuntu // 41
2.2.5 双系统安装Ubuntu // 54
2.2.6 安装ROS // 56
2.2.7 测试ROS // 59
2.3 搭建ROS集成开发环境 // 59
2.3.1 安装Terminator // 59
2.3.2 安装VSCode // 60
本章小结 // 62
习题 // 63
第3章 ROS系统架构 // 64
3.1 ROS文件系统 // 64
3.1.1 工作空间 // 64
3.1.2 软件包 // 65
3.1.3 ROS文件管理 // 67
3.2 ROS架构 // 70
3.2.1 节点 // 70
3.2.2 节点管理器 // 70
3.2.3 计算图 // 71
3.2.4 客户端库 // 71
3.2.5 运行与查看节点 // 72
本章小结 // 76
习题 // 76
第4章 ROS通信机制 // 77
4.1 话题 // 77
4.1.1 话题通信流程 // 78
4.1.2 节点计算图 // 79
4.1.3 话题信息 // 80
4.2 消息 // 81
4.2.1 消息文件与类型 // 81
4.2.2 常用消息类型 // 82
4.2.3 rosmsg命令 // 86
4.2.4 rostopic命令 // 87
4.2.5 使用rostopic绘图 // 90
4.3 编写发布/订阅程序 // 94
4.3.1 Hello World // 94
4.3.2 发布/订阅字符消息 // 97
4.3.3 海龟做圆周运动 // 102
4.3.4 海龟绘图示例 // 104
4.3.5 获取海龟位姿 // 108
4.3.6 调整包依赖项 // 110
4.4 创建自定义消息 // 111
4.4.1 自定义消息类型 // 111
4.4.2 使用自定义消息 // 113
4.5 服务 // 117
4.5.1 服务通信 // 117
4.5.2 相关服务命令 // 118
4.5.3 命令行调用海龟服务 // 121
4.5.4 常见服务消息类型 // 125
4.5.5 程序调用海龟服务 // 126
4.5.6 自定义服务 // 129
4.5.7 调用自定义服务 // 132
4.5.8 自定义服务移动海龟 // 135
4.6 参数服务器 // 140
4.6.1 参数数据类型 // 141
4.6.2 设置与读取参数 // 141
4.6.3 改变背景颜色 // 143
本章小结 // 145
习题 // 146
第5章 ROS运行管理 // 150
5.1 计算图资源命名 // 150
5.1.1 命名规范 // 150
5.1.2 全局名称 // 151
5.1.3 相对名称 // 151
5.1.4 私有名称 // 152
5.1.5 匿名名称 // 153
5.1.6 多工作空间 // 153
5.2 launch文件 // 154
5.2.1 launch文件标签 // 154
5.2.2 编写launch文件 // 156
5.2.3 launch文件远程启动 // 158
5.3 节点重命名 // 158
5.3.1 节点重命名示例 // 158
5.3.2 命名空间 // 159
5.3.3 launch文件设置重命名 // 160
5.3.4 程序设置重命名 // 161
5.4 话题重命名 // 161
5.4.1 rosrun命令重命名话题 // 161
5.4.2 launch文件重命名话题 // 162
5.4.3 程序重命名话题 // 162
5.4.4 反向海龟 // 163
5.5 设置修改参数 // 165
5.5.1 rosrun命令设置参数 // 165
5.5.2 launch文件设置参数 // 166
5.5.3 程序设置参数 // 167
5.6 ROS分布式通信设置 // 170
5.6.1 环境变量设置 // 170
5.6.2 SSH远程登录 // 171
5.6.3 SSH无密码登录 // 171
5.6.4 远程文件传输 // 173
5.7 消息录制与回放 // 174
5.7.1 rosbag命令 // 174
5.7.2 录制与回放示例 // 175
5.7.3 rosbag功能包 // 177
5.8 日志消息 // 177
5.8.1 日志级别 // 177
5.8.2 生成日志消息 // 178
5.8.3 查看日志消息 // 178
5.8.4 启用和禁用日志 // 181
5.8.5 rqt工具箱 // 182
5.9 可视化与仿真 // 183
5.9.1 RViz // 183
5.9.2 Gazebo // 188
5.9.3 SLAM建图与导航 // 191
本章小结 // 195
习题 // 195
参考文献 // 197
前言
二维码索引
第1章 Ubuntu操作系统 // 1
1.1 Ubuntu简介 // 1
1.1.1 Ubuntu起源与发展 // 1
1.1.2 Ubuntu组成 // 2
1.1.3 Ubuntu目录结构 // 3
1.1.4 Ubuntu操作技巧 // 5
1.2 文件与目录操作 // 6
1.2.1 特殊目录 // 6
1.2.2 pwd命令 // 6
1.2.3 cd命令 // 7
1.2.4 ls命令 // 7
1.2.5 touch命令 // 8
1.2.6 mkdir命令 // 8
1.2.7 cp命令 // 8
1.2.8 mv命令 // 9
1.2.9 rm命令 // 9
1.2.10 clear命令 // 10
1.3 文件内容 // 10
1.3.1 cat命令 // 10
1.3.2 less命令 // 11
1.3.3 head命令 // 11
1.3.4 tail命令 // 12
1.3.5 grep命令 // 12
1.3.6 wc命令 // 13
1.4 重定向与文件编辑 // 13
1.4.1 重定向 // 13
1.4.2 重定向输出 // 14
1.4.3 追加到文件 // 14
1.4.4 重定向输入 // 15
1.4.5 管道 // 16
1.4.6 vim编辑器 // 16
1.5 文件权限、进程与系统管理 // 18
1.5.1 通配符 // 18
1.5.2 文件命名 // 18
1.5.3 命令帮助 // 19
1.5.4 文件权限 // 19
1.5.5 ps命令 // 21
1.5.6 kill命令 // 21
1.5.7 df命令 // 22
1.5.8 du命令 // 22
1.5.9 重启与关机 // 22
1.6 文件查找、打包与压缩 // 23
1.6.1 文件查找 // 23
1.6.2 打包与压缩 // 24
1.7 管理软件包 // 27
1.7.1 管理在线包 // 27
1.7.2 安装/卸载离线包 // 28
1.7.3 管理Python功能包 // 28
本章小结 // 31
习题 // 31
第2章 ROS概述与环境设置 // 33
2.1 了解ROS // 33
2.1.1 ROS的产生背景 // 33
2.1.2 ROS的概念 // 34
2.1.3 ROS的特点 // 34
2.1.4 ROS的版本 // 35
2.2 安装ROS // 36
2.2.1 Windows系统的虚拟机软件 // 36
2.2.2 macOS系统的虚拟机软件 // 39
2.2.3 创建虚拟机 // 40
2.2.4 虚拟机安装Ubuntu // 41
2.2.5 双系统安装Ubuntu // 54
2.2.6 安装ROS // 56
2.2.7 测试ROS // 59
2.3 搭建ROS集成开发环境 // 59
2.3.1 安装Terminator // 59
2.3.2 安装VSCode // 60
本章小结 // 62
习题 // 63
第3章 ROS系统架构 // 64
3.1 ROS文件系统 // 64
3.1.1 工作空间 // 64
3.1.2 软件包 // 65
3.1.3 ROS文件管理 // 67
3.2 ROS架构 // 70
3.2.1 节点 // 70
3.2.2 节点管理器 // 70
3.2.3 计算图 // 71
3.2.4 客户端库 // 71
3.2.5 运行与查看节点 // 72
本章小结 // 76
习题 // 76
第4章 ROS通信机制 // 77
4.1 话题 // 77
4.1.1 话题通信流程 // 78
4.1.2 节点计算图 // 79
4.1.3 话题信息 // 80
4.2 消息 // 81
4.2.1 消息文件与类型 // 81
4.2.2 常用消息类型 // 82
4.2.3 rosmsg命令 // 86
4.2.4 rostopic命令 // 87
4.2.5 使用rostopic绘图 // 90
4.3 编写发布/订阅程序 // 94
4.3.1 Hello World // 94
4.3.2 发布/订阅字符消息 // 97
4.3.3 海龟做圆周运动 // 102
4.3.4 海龟绘图示例 // 104
4.3.5 获取海龟位姿 // 108
4.3.6 调整包依赖项 // 110
4.4 创建自定义消息 // 111
4.4.1 自定义消息类型 // 111
4.4.2 使用自定义消息 // 113
4.5 服务 // 117
4.5.1 服务通信 // 117
4.5.2 相关服务命令 // 118
4.5.3 命令行调用海龟服务 // 121
4.5.4 常见服务消息类型 // 125
4.5.5 程序调用海龟服务 // 126
4.5.6 自定义服务 // 129
4.5.7 调用自定义服务 // 132
4.5.8 自定义服务移动海龟 // 135
4.6 参数服务器 // 140
4.6.1 参数数据类型 // 141
4.6.2 设置与读取参数 // 141
4.6.3 改变背景颜色 // 143
本章小结 // 145
习题 // 146
第5章 ROS运行管理 // 150
5.1 计算图资源命名 // 150
5.1.1 命名规范 // 150
5.1.2 全局名称 // 151
5.1.3 相对名称 // 151
5.1.4 私有名称 // 152
5.1.5 匿名名称 // 153
5.1.6 多工作空间 // 153
5.2 launch文件 // 154
5.2.1 launch文件标签 // 154
5.2.2 编写launch文件 // 156
5.2.3 launch文件远程启动 // 158
5.3 节点重命名 // 158
5.3.1 节点重命名示例 // 158
5.3.2 命名空间 // 159
5.3.3 launch文件设置重命名 // 160
5.3.4 程序设置重命名 // 161
5.4 话题重命名 // 161
5.4.1 rosrun命令重命名话题 // 161
5.4.2 launch文件重命名话题 // 162
5.4.3 程序重命名话题 // 162
5.4.4 反向海龟 // 163
5.5 设置修改参数 // 165
5.5.1 rosrun命令设置参数 // 165
5.5.2 launch文件设置参数 // 166
5.5.3 程序设置参数 // 167
5.6 ROS分布式通信设置 // 170
5.6.1 环境变量设置 // 170
5.6.2 SSH远程登录 // 171
5.6.3 SSH无密码登录 // 171
5.6.4 远程文件传输 // 173
5.7 消息录制与回放 // 174
5.7.1 rosbag命令 // 174
5.7.2 录制与回放示例 // 175
5.7.3 rosbag功能包 // 177
5.8 日志消息 // 177
5.8.1 日志级别 // 177
5.8.2 生成日志消息 // 178
5.8.3 查看日志消息 // 178
5.8.4 启用和禁用日志 // 181
5.8.5 rqt工具箱 // 182
5.9 可视化与仿真 // 183
5.9.1 RViz // 183
5.9.2 Gazebo // 188
5.9.3 SLAM建图与导航 // 191
本章小结 // 195
习题 // 195
参考文献 // 197











