基本信息
商品名称: | ROS机器人开发(实用案例分析原书第2版)/机器人设计与制作系列 | 开本: | |
作者: | (美)卡罗尔·费尔柴尔德//托马斯L.哈曼|责编:李忠明|译者:吴中红//石章松//潘丽 | 页数: | |
定价: | 99 | 出版时间: | 2020-04-01 |
ISBN号: | | 印刷时间: | 2020-04-01 |
出版社: | 机械工业 | 版次: | 1 |
商品类型: | 图书 | 印次: | 1 |
内容提要:本书不仅涵盖ROS的基础知识,还循序渐进地讲解了ROS机器人的 应用特性。书中首先对ROS的基本配置进行介绍,内容包括ROS的安装、基本概念、主要的功能包与工具等。然后对相应的故障排查方法进行了论述。之后通过模拟的方式,先对Tu rtIesim的ROS组成模块进行描述,再对其他几类典型机器人的ROS组成模块进行相应的介绍。对ROS组成模块的介绍,一般遵循的流程是首先介绍基本的ROS命令,然后对ROS的功能包、节点、主题以及消息进行论述,以此来对ROS机器人操作系统的整体内容进行详细的阐述。为了对书中选用的机器人的整体性能进行描述,书中还给出了相关机器人的技术资料。
......
精 彩 页:
......
作者简介:卡罗尔•费尔柴尔德(Carol Fairchild)是费尔柴尔德机器人公司的所有人、首席工程师,该公司致力于机器人技术的开发与集成。她是休斯顿大学明湖分校巴克斯特机器人实验室的一名研究人员和兼职教授。她的研究领域主要是基于Baxter机器人的扩展应用开发。她在得州农工大学获得工程技术学士学位,在休斯顿大学明湖分校获得计算机工程硕士学位。
托马斯•L. 哈曼(Thomas L. Harman)是休斯顿大学明湖分校工程系的主任。他的研究领域主要是控制系统、机器人技术与微处理器技术的应用等。他和同事关于机器人和激光的论文已经应用在了医学领域。2005年,他当选为休斯顿大学明湖分校的特聘教授。他曾担任FIRST机器人大赛的裁判与安全顾问。他已经出版的专著、合著书籍有18本,主题包括微处理器技术、MATLAB与仿真以及美国 电气规程等。
......
目录:译者序
前言
作者简介
审校者简介
第1章 ROS初体验 1
1.1 ROS的用途以及学习ROS的好处 1
1.2 哪些机器人采用了ROS 2
1.3 安装并启动ROS 4
1.3.1 配置Ubuntu系统的软件源 4
1.3.2 设置Ubuntu系统软件源列表 5
1.3.3 设置Ubuntu系统密钥 5
1.3.4 安装ROS Kinetic 5
1.3.5 初始化rosdep 6
1.3.6 环境设置 6
1.3.7 安装 rosinstall 6
1.3.8 故障排除—ROS环境测试 7
1.4 创建catkin工作空间 7
1.5 ROS的功能包与清单 8
1.5.1 ROS清单 8
1.5.2 探索ROS功能包 8
1.6 ROS节点、话题与消息 10
1.6.1 ROS节点 11
1.6.2 ROS话题 11
1.6.3 ROS消息 11
1.6.4 ROS节点管理器 12
1.6.5 确定节点和话题的ROS命令 13
1.7 个ROS机器人模拟程序turtlesim 15
1.7.1 启动turtlesim节点 15
1.7.2 turtlesim节点 16
1.7.3 turtlesim话题与消息 18
1.7.4 通过发布/turtle1/cmd_vel话题控制乌龟运动 20
1.7.5 通过键盘或游戏手柄控制乌龟移动 22
1.7.6 turtlesim的参数服务器 22
1.7.7 控制乌龟移动的ROS服务 24
1.8 ROS命令小结 25
1.9 本章小结 26
第2章 构建一个模拟的两轮ROS机器人 27
2.1 Rviz简介 27
2.1.1 安装和启动Rviz 28
2.1.2 熟悉Rviz界面 29
2.2 生成并构建ROS功能包 32
2.3 构建差分驱动的机器人URDF 33
2.3.1 创建机器人底座 33
2.3.2 使用roslaunch 34
2.3.3 添加轮子 37
2.3.4 添加小脚轮 39
2.3.5 添加颜色 41
2.3.6 添加碰撞属性 42
2.3.7 移动轮子 43
2.3.8 tf和robot_state_publisher简介 44
2.3.9 添加物理学属性 45
2.3.10 URDF工具 46
2.4 Gazebo 47
2.4.1 安装并启动Gazebo 48
2.4.2 使用roslaunch启动Gazebo 49
2.4.3 熟悉Gazebo界面 50
2.4.4 机器人URDF的修改 54
2.4.5 Gazebo模型验证 55
2.4.6 在Gazebo中查看URDF 56
2.4.7 机器人模型调整 57
2.4.8 移动机器人模型 58
2.4.9 其他的机器人模拟环境 59
2.5 本章小结 60
第3章 TurtleBot机器人操控 61
3.1 TurtleBot 2机器人简介 61
3.2 下载TurtleBot 2模拟器软件 63
3.3 在Gazebo中启动TurtleBot 2模拟器 63
3.3.1 常见问题与故障排除 65
3.3.2 ROS命令与Gazebo 66
3.3.3 模拟环境下使用键盘远程控制TurtleBot 2 68
3.4 控制真正的TurtleBot 2机器人的设置 69
3.5 连接上网本与远程计算机 71
3.5.1 网络类型 71
3.5.2 网络地址 72
3.5.3 远程计算机网络设置 73
3.5.4 上网本网络设置 73
3.5.5 SSH连接 74
3.5.6 网络设置小结 74
3.5.7 排查网络连接中的故障 75
3.5.8 TurtleBot 2机器人系统测试 75
3.6 TurtleBot 2机器人的硬件规格参数 76
3.7 移动真实的TurtleBot 2机器人 78
3.7.1 采用键盘远程控制TurtleBot 2机器人移动 78
3.7.2 采用ROS命令控制TurtleBot 2机器人移动 79
3.7.3 编写 个Python脚本程序控制TurtleBot 2机器人移动 80
3.8 rqt工具简介 83
3.8.1 rqt_graph 83
3.8.2 rqt的消息发布与话题监控 86
3.9 TurtleBot机器人的测程 87
3.9.1 模拟的TurtleBot 2机器人的测程 91
3.9.2 Rviz下真实的TurtleBot 2机器人的测程显示 93
3.10 TurtleBot机器人的自动充电 95
3.11 TurtleBot 3介绍 96
3.12 下载TurtleBot 3模拟软件 98
3.13 在Rviz中启动TurtleBot 3模拟软件 99
3.14 在Gazebo中启动TurtleBot 3模拟软件 100
3.15 硬件装配与测试 103
3.16 下载TurtleBot 3机器人软件包 103
3.16.1 在远程计算机上安装软件 103
3.16.2 在SBC上安装软件 104
3.17 TurtleBot 3与远程计算机的网络连接 107
3.17.1 远程计算机网络设置 108
3.17.2 TurtleBot 3网络设置 108
3.17.3 SSH通信测试 110
3.17.4 网络连接的故障处理 110
3.18 控制真实的TurtleBot 3移动 111
3.19 本章小结 113
第4章 TurtleBot机器人导航 114
4.1 TurtleBot机器人的3D视觉系统 115
4.1.1 3D视觉传感器原理 115
4.1.2 3D传感器对比 116
4.2 配置TurtleBot机器人并安装3D 传感器软件 123
4.2.1 Kinect 123
4.2.2 ASUS与PrimeSense 123
4.2.3 Intel RealSense 124
4.2.4 摄像头软件结构 124
4.2.5 术语定义 125
4.3 独立模式下测试3D传感器 125
4.4 运行ROS节点进行可视化 126
4.4.1 使用Image Viewer可视化数据 126
4.4.2 使用Rviz可视化数据 128
4.5 TurtleBot机器人导航 131
4.5.1 采用TurtleBot 2机器人构建房间地图 132
4.5.2 采用TurtleBot 2机器人实现自 航 136
4.5.3 导航至 目标点 142
4.5.4 基于Python脚本与地图实现航路点导航 144
4.5.5 TurtleBot 3机器人的SLAM 151
4.5.6 使用TurtleBot 3进行自 航 152
4.5.7 rqt_reconfigure 153
4.5.8 进一步探索ROS导航 155
4.6 本章小结 155
第5章 构建模拟的机器人手臂 156
5.1 Xacro的特点 156
5.2 采用Xacro建立一个关节式机器人手臂URDF 157
5.2.1 名空间 158
5.2.2 使用Xacro属性标签 158
5.2.3 扩展Xacro 161
5.2.4 使用Xacro的包含与宏标签 163
5.2.5 给机器人手臂添加网格 166
5.3 在Gazebo中控制关节式机器人手臂 171
5.3.1 添加Gazebo特性元素 171
5.3.2 将机器人手臂固定在世界坐标系下 173
5.3.3 在Gazebo中查看机器人手臂 173
5.3.4 给Xacro添加控制组件 174
5.3.5 采用ROS命令行控制机器人手臂 178
5.3.6 采用rqt控制机器人手臂 179
5.4 本章小结 182
第6章 机器人手臂摇摆的关节控制 183
6.1 Baxter简介 184
6.1.1 研究型机器人Baxter 185
6.1.2 Baxter模拟器 186
6.2 Baxter的手臂 186
6.2.1 Baxter的俯仰关节 187
6.2.2 Baxter的滚转关节 188
6.2.3 Baxter的坐标系 188
6.2.4 Baxter手臂的控制模式 189
6.2.5 Baxter手臂的抓手 189
6.2.6 Baxter手臂的传感器 190
6.3 下载Baxter软件 190
6.3.1 安装Baxter SDK软件 190
6.3.2 安装Baxter模拟器 192
6.3.3 配置Baxter shell 193
6.3.4 安装MoveIt! 194
6.4 在Gazebo中启动Baxter模拟器 195
6.4.1 启动Baxter模拟器 196
6.4.2 “热身”练习 199
6.4.3 弯曲Bax
......