展开全部

主编推荐语

本书的基本目标是通过项目实践讲解ROS,这里讨论的项目也可以在学术或工业项目中重复使用。

内容简介

本书的基本目标是通过项目实践讲解ROS,探讨具有ROS接口的各种新技术。例如,你将看到如何构建自动驾驶汽车的原型,如何使用ROS构建深度学习的应用程序,以及如何在ROS中构建虚拟现实(VR)应用程序。此外,还将介绍使用ROS及其库的大约多个项目和应用程序。

目录

  • 版权信息
  • 译者序
  • 推荐序一
  • 推荐序二
  • 作者简介
  • 审校者简介
  • 前言
  • 致谢
  • 第1章 入门ROS机器人应用程序开发
  • 1.1 ROS入门
  • 1.1.1 ROS发行版
  • 1.1.2 支持ROS的操作系统
  • 1.1.3 支持ROS的机器人和传感器
  • 1.1.4 为什么选择ROS
  • 1.2 ROS基础
  • 1.2.1 文件系统级
  • 1.2.2 计算图级
  • 1.2.3 ROS社区级
  • 1.2.4 ROS通信
  • 1.3 ROS客户端库
  • 1.4 ROS工具
  • 1.4.1 Rviz(ROS可视化)
  • 1.4.2 rqt_plot
  • 1.4.3 rqt_graph
  • 1.5 ROS仿真器
  • 1.6 在Ubuntu 16.04 LTS上安装ROS Kinetic
  • 1.7 在VirtualBox上设置ROS
  • 1.8 设置ROS工作区
  • 1.9 ROS在工业和研究中的机遇
  • 1.10 问题
  • 1.11 本章总结
  • 第2章 使用ROS、OpenCV和Dynamixel伺服舵机进行人脸检测与跟踪
  • 2.1 项目概述
  • 2.2 硬件和软件需求
  • 2.3 ROS与Dynamixel伺服舵机的接口
  • 2.4 创建人脸跟踪ROS包
  • 2.5 人脸跟踪功能包的工作原理
  • 2.5.1 理解人脸跟踪代码
  • 2.5.2 理解CMakeLists.txt
  • 2.5.3 track.yaml文件
  • 2.5.4 启动文件
  • 2.5.5 运行人脸跟踪器节点
  • 2.5.6 face_tracker_control功能包
  • 2.5.7 云台控制器配置文件
  • 2.5.8 舵机参数配置文件
  • 2.5.9 人脸跟踪控制器节点
  • 2.5.10 创建CMakeLists.txt
  • 2.5.11 测试人脸跟踪控制功能包
  • 2.5.12 集成所有节点
  • 2.5.13 固定支架并安装电路
  • 2.5.14 最终测试
  • 2.6 问题
  • 2.7 本章总结
  • 第3章 在ROS中构建一个像Siri的聊天机器人
  • 3.1 人机交互机器人
  • 3.2 构建人机交互机器人
  • 3.3 预备条件
  • 3.4 AIML入门
  • 3.4.1 AIML标签
  • 3.4.2 PyAIML解释器
  • 3.4.3 在Ubuntu 16.04 LTS上安装PyAIML
  • 3.4.4 使用PyAIML
  • 3.4.5 加载多个AIML文件
  • 3.4.6 在ROS中创建AIML机器人
  • 3.4.7 AIML ROS功能包
  • 3.5 问题
  • 3.6 本章总结
  • 第4章 使用ROS控制嵌入式电路板
  • 4.1 主流嵌入式电路板入门
  • 4.1.1 如何选择Arduino开发板
  • 4.1.2 Raspberry Pi(树莓派)介绍
  • 4.1.3 Odroid开发板
  • 4.2 Arduino与ROS的接口
  • 4.2.1 使用Arduino和ROS监控光线亮度
  • 4.2.2 在PC上运行ROS串行服务器
  • 4.2.3 通过mbed连接STM32开发板和ROS
  • 4.2.4 使用Energia连接ROS与Tiva C Launchpad板
  • 4.3 在Raspberry Pi和Odroid上运行ROS
  • 4.3.1 将Raspberry Pi和Odroid连接到PC
  • 4.3.2 ROS控制GPIO引脚
  • 4.4 问题
  • 4.5 本章总结
  • 第5章 使用手势远程操作机器人
  • 5.1 使用键盘遥控ROS龟
  • 5.2 使用手势进行遥控
  • 5.3 项目配置
  • 5.4 MPU-9250、Arduino和ROS连接
  • 5.5 在Rviz中可视化IMU TF
  • 5.6 将IMU数据转换为twist消息
  • 5.7 集成和最终运行
  • 5.8 使用Android手机进行遥控
  • 5.9 问题
  • 5.10 本章总结
  • 第6章 物体检测和识别
  • 6.1 物体检测和识别的快速入门
  • 6.2 ROS中的find_object_2d包
  • 6.2.1 安装find_object_2d包
  • 6.2.2 运行find_object_2d节点检测网络摄像头图像中的物体
  • 6.2.3 使用深度传感器运行find_object_2d节点
  • 6.3 3D物体识别快速入门
  • 6.4 ROS中3D物体识别包的介绍
  • 6.5 从3D网格中检测和识别物体
  • 6.5.1 使用物体的3D模型进行训练
  • 6.5.2 使用捕获的3D模型进行训练
  • 6.6 识别物体
  • 6.7 问题
  • 6.8 本章总结
  • 第7章 使用ROS和TensorFlow进行深度学习
  • 7.1 深度学习及其应用简介
  • 7.2 深度学习机器人
  • 7.3 深度学习库
  • 7.4 TensorFlow入门
  • 7.4.1 在Ubuntu 16.04 LTS上安装TensorFlow
  • 7.4.2 TensorFlow的概念
  • 7.4.3 在TensorFlow中编写我们的第一个程序
  • 7.5 使用ROS和TensorFlow进行图像识别
  • 7.5.1 前提条件
  • 7.5.2 ROS图像识别节点
  • 7.6 scikit-learn介绍
  • 7.7 SVM及其在机器人中的应用
  • 7.8 问题
  • 7.9 本章总结
  • 第8章 在MATLAB和Android上运行ROS
  • 8.1 ROS-MATLAB接口入门
  • 8.2 在MATLAB中设置机器人工具箱
  • 8.2.1 MATLAB中的基本ROS功能
  • 8.2.2 列出ROS节点、主题和消息
  • 8.3 MATLAB与ROS网络通信
  • 8.4 利用MATLAB控制ROS机器人
  • 8.4.1 设计MATLAB GUI应用程序
  • 8.4.2 解释回调
  • 8.4.3 运行应用程序
  • 8.5 Android及其ROS接口入门
  • 8.5.1 安装rosjava
  • 8.5.2 通过Ubuntu软件包管理器安装android-sdk
  • 8.6 安装ROS-Android接口
  • 8.7 使用ROS-Android应用程序
  • 8.8 代码演练
  • 8.9 使用ROS-Android接口创建基本应用程序
  • 8.10 问题
  • 8.11 本章总结
  • 第9章 构建自主移动机器人
  • 9.1 机器人规格和设计概述
  • 9.2 设计和选择机器人的电动机和轮子
  • 9.2.1 计算电动机扭矩
  • 9.2.2 电动机转速的计算
  • 9.2.3 设计总结
  • 9.3 构建机器人本体的2D和3D模型
  • 9.3.1 底盘
  • 9.3.2 连接杆和空心管设计
  • 9.3.3 电动机、轮子和电动机夹具设计
  • 9.3.4 脚轮设计
  • 9.3.5 中层板和顶层板设计
  • 9.3.6 顶层板
  • 9.3.7 机器人的3D建模
  • 9.4 在Gazebo中进行机器人模型仿真
  • 9.5 差速驱动机器人的数学模型
  • 9.6 设计和建造实际的机器人
  • 9.6.1 电动机和电动机驱动
  • 9.6.2 电动机编码器
  • 9.6.3 Tiva C Launchpad
  • 9.6.4 超声波传感器
  • 9.6.5 OpenNI深度传感器
  • 9.6.6 英特尔NUC
  • 9.6.7 使用Launchpad将传感器和电动机连接起来
  • 9.6.8 Tiva C Launchpad编程
  • 9.7 连接机器人硬件与ROS
  • 9.8 在Chefbot中进行地图构建和定位
  • 9.9 问题
  • 9.10 本章总结
  • 第10章 使用ROS创建自动驾驶汽车
  • 10.1 自动驾驶汽车入门
  • 10.2 典型自动驾驶汽车的功能框图
  • 10.2.1 自动驾驶汽车的软件框图
  • 10.2.2 在ROS中仿真和连接自动驾驶汽车传感器
  • 10.3 在Gazebo中仿真一辆带有传感器的自动驾驶汽车
  • 10.3.1 安装预备条件
  • 10.3.2 可视化机器人车传感器数据
  • 10.3.3 在Gazebo里移动一辆自动驾驶汽车
  • 10.3.4 使用机器人车运行hector SLAM
  • 10.4 将DBW车与ROS连接
  • 10.4.1 安装包
  • 10.4.2 可视化自动驾驶汽车和传感器数据
  • 10.4.3 DBW与ROS通信
  • 10.5 Udacity开源自动驾驶汽车项目介绍
  • 10.6 问题
  • 10.7 本章总结
  • 第11章 使用VR头戴设备和Leap Motion遥控机器人
  • 11.1 VR头戴设备和Leap Motion入门
  • 11.2 项目预备条件
  • 11.3 项目的设计和工作原理
  • 11.4 在Ubuntu 14.04.5上安装Leap Motion SDK
  • 11.4.1 可视化Leap Motion控制器数据
  • 11.4.2 使用Leap Motion可视化工具
  • 11.4.3 安装Leap Motion控制器的ROS驱动程序
  • 11.5 在Rviz中可视化Leap Motion数据
  • 11.6 使用Leap Motion控制器创建遥控节点
  • 11.7 构建ROS-VR Android应用程序
  • 11.8 使用ROS-VR应用程序并与Gazebo进行连接
  • 11.9 在VR中使用TurtleBot仿真
  • 11.10 ROS-VR应用程序的故障排除
  • 11.11 ROS-VR和Leap Motion遥控的集成应用
  • 11.12 问题
  • 11.13 本章总结
  • 第12章 通过网络控制机器人
  • 12.1 ROS Web入门
  • 12.1.1 rosbridge_suite
  • 12.1.2 roslibjs、ros2djs和ros3djs
  • 12.1.3 tf2_web_republisher
  • 12.2 在ROS Kinetic上设置ROS Web
  • 12.2.1 安装rosbridge_suite
  • 12.2.2 设置rosbridge客户端库
  • 12.3 在ROS Kinetic上安装tf2_web_republisher
  • 12.4 在Web浏览器上实现机器人遥控和可视化
  • 12.4.1 项目开发
  • 12.4.2 连接到rosbridge_schmerver
  • 12.4.3 初始化teleop
  • 12.4.4 在Web浏览器中创建3D查看器
  • 12.4.5 创建TF客户端
  • 12.4.6 创建URDF客户端
  • 12.4.7 创建文本输入
  • 12.4.8 运行Web teleop应用程序
  • 12.5 利用网络浏览器控制机器人关节
  • 12.5.1 安装joint_state_publisher_js
  • 12.5.2 运行网络关节状态发布器
  • 12.5.3 解释代码
  • 12.5.4 运行机器人监控应用程序
  • 12.6 基于Web的语音控制机器人
  • 12.6.1 前提条件
  • 12.6.2 在Web应用程序中启用语音识别
  • 12.7 运行语音控制机器人应用程序
  • 12.8 问题
  • 12.9 本章总结
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社有限公司

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。