本书涵盖新的ROS发行版中的项目——ROS Melodic Morenia with Ubuntu Bionic(18.04)。从基本原理开始,本书向你介绍了ROS-2,并帮助你了解它与ROS-1的不同之处。你将能够在ROS中建模并构建工业移动机械手臂,并在Gazebo 9中进行模拟。然后,你将了解如何使用状态机处理复杂的机器人应用程序,以及一次处理多个机器人。本书还向你介绍了新的、流行的硬件,如Nvidia的Jetson Nano、华硕修补板和Beaglebone Black,并允许你探索与ROS的接口。 第1章主要向初学者概述ROS的基础知识。本章将帮助读者理解ROS软件框架的基本思想和概念。 第2章介绍ROS的*新框架——ROS-2。基于该框架,读者将能够使用ROS进行实时应用程序的开发。本章的结构与第1章类似,主要是帮助读者厘清ROS-1与ROS-2之间的区别,同时理解两个版本的能力与局限。 第3章介绍怎样在模拟环境下构建移动机器人以及机械臂,并将两者结合起来,通过ROS 对其进行控制。 第4章介绍基于状态机进行复杂机器人任务处理的技术,这些技术使得读者可以在使用机器人执行连续和复杂的任务管理时进行策略调整。 第5章是第3章、第4章内容的综合应用,基于这两章内容构建一个用户应用程序。该应用程序的功能是控制移动机械臂运送物品。本章将详细介绍上述应用程序的构建过程。 第6章介绍通过ROS在多个机器人间进行通信的方法,其中的机器人既可以是同类型的,也可以是不同类型的(即异构多机器人系统)。在此基础上,还将介绍对一组多机器人进行单独或同时控制的方法。 第7章介绍新型的嵌入式控制器及处理器板,例如基于STM32的控制器、Tinkerboard、Jetson Nano以及其他类似产品。本章还将介绍怎样通过ROS控制这些板卡的GPIO(General-Purpose Input/Output,通用输入/输出接口),以及如何通过Alexa提供的语音交互功能进行语音控制。 第8章介绍机器人学领域最重要的学习技术之一——强化学习。本章将介绍强化学习的内涵,并通过实例介绍强化学习背后的数学知识。此外,还将通过一系列实例展示强化学习技术是如何在ROS中进行应用的。 第9章介绍深度学习在机器人领域的应用。本章将介绍如何使用深度学习实现图像识别,还将介绍使用SVM(Support Vector Machine,支持向量机)的应用程序。 第10章是本书中最有趣的内容之一。本章将展示如何使用ROS和Gazebo构建一辆模拟的自动驾驶汽车。 第11章展示如何通过VR头盔和体感控制器Leap Motion实现对机器人的远程操控。本章将介绍VR头盔的应用,这是当前流行的技术之一。 第12章通过一个项目展示如何在ROS下使用OpenCV库。在本项目中,将构建一个最基本的人脸跟踪器,实现摄像头对人脸的实时跟踪。本章将使用诸如Dynamixel的智能伺服系统实现机器人的旋转。