书籍详情

ROS机器人开发技术基础

ROS机器人开发技术基础

作者:蒋畅江、罗云翔、张宇航 等 编著

出版社:化学工业出版社

出版时间:2022-04-01

ISBN:9787122405203

定价:¥68.00

购买这本书可以去
内容简介
  本书是内容全面、偏重基础的ROS 机器人开发入门书籍,是作者总结多年科研教学成果并在吸收国内外理论、方法和技术的基础上完成的。本书详细介绍了ROS 机器人基础和ROS 常用开发工具,详细讲解了ROS系统架构、ROS 客户端库和机器人建模与仿真;以工程开发为重心,详细讲解机器视觉、机器语音、SLAM 和导航等多方面ROS 应用的实现原理和方法。本书结合大量实例,帮助读者在实现ROS 基础功能的同时深入理解基于ROS 的机器人开发技术,将书中的内容用于实践。本书注重运用CDIO 工程教育理念,立足培养实际动手能力、综合应用能力、创新思维能力。本书配有免费教学软件包,帮助读者更好理解和实践书中内容;配有免费电子课件,欢迎选用本书作教材的师生下载使用。本书可作为普通高等院校机器人工程、自动化、人工智能、电子信息工程、软件工程等相关专业的教材,也可供广大科技工作者和工程技术人员参考使用。
作者简介
暂缺《ROS机器人开发技术基础》作者简介
目录
第1 章 ROS 机器人基础
1.1 机器人时代与ROS 的诞生  001
1.2 初识ROS 002
1.3 ROS 的安装及测试 003
1.3.1 选择操作系统与ROS 版本 003
1.3.2 ROS 的安装步骤  004
1.3.3 测试ROS  007
1.4 安装教学包  008
1.5 二进制包与源代码包  010
1.6 本章小结  010
习题一  011

第2 章 ROS 系统架构
2.1 ROS 文件系统 012
2.1.1 catkin 工作空间  012
2.1.2 catkin 编译系统  013
2.1.3 package 功能包 015
2.1.4 CMakeLists.txt 文件 017
2.1.5 package.xml 文件  019
2.1.6 其他常见文件类型 022
2.1.7 Metapackage 元功能包 023
2.2 ROS 通信架构 024
2.2.1 Node 与Node Master 024
2.2.2 launch 启动文件 026
2.2.3 话题  028
2.2.4 服务  032
2.2.5 参数服务器 035
2.2.6 动作库 037
2.3 本章小结  039
习题二  039

第3 章 ROS 常用组件和开发工具
3.1 Gazebo 仿真工具 041
3.1.1 认识Gazebo  041
3.1.2 操作演示 042
3.2 Rviz 可视化平台 044
3.2.1 认识Rviz  044
3.2.2 操作演示 044
3.3 rqt 可视化工具 046
3.3.1 认识rqt 046
3.3.2 操作演示 046
3.4 rosbag 功能包  048
3.4.1 认识rosbag 048
3.4.2 操作演示 049
3.5 RoboWare Studio 集成开发环境  051
3.5.1 安装RoboWare Studio 051
3.5.2 操作演示 052
3.6 代码管理Git  058
3.6.1 认识Git 058
3.6.2 操作演示 058
3.7 本章小结  060
习题三  060

第4 章 ROS 客户端库
4.1 Client Library 简介  061
4.2 roscpp 062
4.2.1 节点 063
4.2.2 topic 065
4.2.3 service  068
4.2.4 param 070
4.2.5 时钟 073
4.2.6 日志和异常 075
4.3 rospy 075
4.3.1 rospy 与roscpp 的比较  075
4.3.2 rospy 结构 076
4.3.3 rospy API  076
4.3.4 topic  078
4.3.5 service 080
4.3.6 param 与Time  082
4.4 本章小结  084
习题四  084

第5 章 坐标变换TF 及编程
5.1 认识TF  086
5.1.1 简介 086
5.1.2 ROS 中的TF 086
5.1.3 ROS 中TF 坐标的基本规则  088
5.2 TF 原理和TF 消息  090
5.2.1 TF 基本原理 090
5.2.2 TF 数据类型 092
5.2.3 TF 特点 093
5.2.4 TF 消息 093
5.3 TF 编程基础  095
5.3.1 TF 功能包及官方实例  095
5.3.2 TF 编程基础 096
5.4 TF in C 097
5.4.1 简介  097
5.4.2 数据类型 097
5.4.3 数据转换 097
5.4.4 TF 类 100
5.5 TF in Python  101
5.5.1 简介  101
5.5.2 数据类型 101
5.5.3 TF 库 101
5.5.4 TF 类 102
5.6 TF 相关工具命令  103
5.7 本章小结  104
习题五  104

第6 章 机器人建模与仿真
6.1 机器人URDF 模型 105
6.2 创建与显示URDF 模型  108
6.2.1 机器人描述功能包 108
6.2.2 创建URDF 模型  108
6.2.3 解析URDF 模型  109
6.2.4 在Rviz 中显示模型 111
6.2.5 让机器人动起来 112
6.3 添加碰撞和物理属性  114
6.4 xacro 文件简化URDF 模型 115
6.5 添加传感器模型  118
6.5.1 添加摄像头 118
6.5.2 添加Kinect 120
6.5.3 添加激光雷达 121
6.6 ArbotiX Rviz 机器人运动仿真  121
6.6.1 安装ArbotiX 122
6.6.2 配置ArbotiX 控制器  122
6.6.3 运行仿真环境 123
6.7 ros_control  125
6.7.1 ros_control 框架  125
6.7.2 ros_control 安装  127
6.7.3 控制器 127
6.7.4 硬件接口 127
6.7.5 传动装置 128
6.7.6 关节约束 129
6.7.7 控制器管理器 130
6.8 机器人Gazebo 仿真  131
6.8.1 在Gazebo 中显示机器人模型 131
6.8.2 Gazebo 插件 132
6.8.3 Gazebo 传动装置 134
6.8.4 摄像头仿真 136
6.8.5 Kinect 仿真 139
6.8.6 激光雷达仿真 140
6.9 本章小结  143
习题六  143

第7 章 机器视觉开发技术
7.1 ROS 图像数据 145
7.1.1 二维图像数据 145
7.1.2 三维点云和深度图像 147
7.1.3 查看点云图像 149
7.1.4 ROS-PCL 开发接口  151
7.2 摄像头标定  152
7.2.1 camera_calibration 功能包  153
7.2.2 启动标定程序 153
7.2.3 标定摄像头 153
7.2.4 Kinect 相机的标定 155
7.2.5 加载标定参数的配置文件 155
7.2.6 校正图像 156
7.3 OpenCV 库和人脸识别 157
7.3.1 安装OpenCV 库 157
7.3.2 使用OpenCV 库  157
7.3.3 使用OpenCV 实现人脸识别 162
7.4 二维码识别  167
7.4.1 ar_track_alvar 功能包 167
7.4.2 创建二维码 168
7.4.3 摄像头识别二维码 169
7.4.4 物体姿态估计与AR 标记检测 171
7.5 物体检测  174
7.5.1 find_object_2d 功能包  174
7.5.2 物体检测实例 175
7.5.3 话题和参数 178
7.6 本章小结  178
习题七  179

第8 章 机器语音开发技术
8.1 语音识别  180
8.1.1 PocketSphinx 功能包  180
8.1.2 PocketSphinx 功能包测试  182
8.1.3 添加语音库 183
8.1.4 创建PocketSphinx 的launch 文件 185
8.2 语音播放  185
8.2.1 播放指定文件 185
8.2.2 将输入的文字转化为语音 186
8.3 通过语音控制机器人  186
8.3.1 语音控制小海龟 186
8.3.2 XBot 对话和语音控制 187
8.3.3 自定义对话内容 188
8.3.4 监控talker 功能包的运行状态  189
8.4 在ROS 上使用科大讯飞  190
8.4.1 下载科大讯飞SDK  190
8.4.2 SDK 包测试  191
8.4.3 ROS 结合科大讯飞进行语音听写 193
8.5 智能语音对话  195
8.5.1 tts 语音合成实现对话  195
8.5.2 通过图灵进行语义理解 202
8.5.3 与机器人对话 206
8.6 本章小结  208
习题八  208

第9 章 机器人SLAM 与自主导航开发技术
9.1 理论基础  210
9.1.1 传感器 210
9.1.2 地图 213
9.2 Gmapping 算法  215
9.2.1 Gmapping 功能包 215
9.2.2 Gmapping 计算图 218
9.2.3 话题和服务 219
9.2.4 参数 220
9.2.5 里程计误差及修正 221
9.3 Hector 算法  221
9.3.1 Hector 功能包 221
9.3.2 Hector 计算图 223
9.3.3 话题和服务 224
9.3.4 参数 224
9.4 Cartographer 算法  225
9.4.1 Cartographer 功能包 225
9.4.2 Cartographer 总体框架 226
9.4.3 Cartographer 测试 226
9.4.4 Cartographer 节点的配置与运行 228
9.5 自主导航  231
9.5.1 导航功能包 231
9.5.2 工作框架 232
9.5.3 move_base 233
9.5.4 move_base 的service 234
9.5.5 导航案例 234
9.6 costmap 和map_server  237
9.6.1 代价地图 238
9.6.2 地图插件的选择 238
9.6.3 map_server  239
9.7 AMCL 定位算法 240
9.7.1 AMCL 计算图  240
9.7.2 话题和服务 241
9.7.3 参数  242
9.7.4 AMCL 测试  243
9.8 本章小结  245
习题九  245

第10 章 ROS 机器人开发实例
10.1 TurtleBot  246
10.1.1 TurtleBot 的配置与使用 247
10.1.2 Gazebo 中的TurtleBot3 249
10.1.3 使用TurtleBot 实现导航功能  249
10.2 XBot-U 251
10.2.1 XBot-U 特点 251
10.2.2 初步上手XBot-U 机器人  252
10.2.3 智能交互 254
10.2.4 自主导航 254
10.2.5 XBot 仿真与教学 255
10.3 Unitree A1  257
10.3.1 Unitree A1 的功能与结构  257
10.3.2 Unitree A1 关节电机的配置  258
10.3.3 让Unitree A1 机器人站起来 260
10.4 本章小结  263

参考文献
 
猜您喜欢

读书导航