ROS 2 简介
在本章中,我们将介绍机器人操作系统 (ROS) 的基础知识,并为您提供构建、调试和理解机器人应用程序所需的所有工具。本章从决策者做出合理决策所需的最一般概念,到工程师开发新机器人应用程序所需的特定 API 参考。在高级概念和低级 API 命令之间,存在着维护和支持现场多机器人部署所需的知识。
学习 ROS 的一个很好的类比是学习机动车辆的过程。在实际的日常层面上,大多数人会学习如何启动车辆并在高速公路上安全使用它。对于这些人来说,学习 ROS 背后的高级概念以及特定于应用程序的命令可能就足够了。喜欢开车的人经常选择学习如何修理和保养他们的车辆。如果这是您的兴趣水平,我们建议您学习 ROS 命令行界面的基础知识。这将允许您“检查机器人系统的油”,并确保一切正常运行。最后,如果您是那种想要用更强大的引擎更换车辆引擎的人,或者可能从头开始制造一辆全新的车辆,那么 ROS API 就是一套可以实现这一目标的工具。一般来说,汽车工程师并不是完全成熟的,机器人专家也是如此。建议您在培养 ROS 技能的过程中 逐步理解每个阶段。
根据我们上面的类比,学习如何使用基于 ROS 构建的机器人系统的过程大致可以分为四个部分。本章使用 ROS 2 介绍这四个部分。后续章节将在此知识的基础上讨论具体应用的微妙之处。本章的四个部分如下。
-
对可用于帮助您学习过程的工具和资源进行元讨论。
-
对 ROS 中使用的设计模式进行高层次讨论。这些模式 大致类似于车辆中的子系统(发动机、 刹车、安全、气候控制等)。
-
ROS 的命令行界面 (CLI) 处理。CLI 是一组用于启动、检查、控制和监控 ROS 机器人的程序。您可以将本主题视为教您如何检查机器人的油,以及阅读仪表板。
-
ROS 应用程序编程接口简介。本节将向您展示如何创建自己的应用程序并修改现有软件以适应您的特定应用程序。
虽然本书旨在涵盖基础知识,但应该明确的是,ROS 与几乎所有软件一样,是一个不断变化的目标。技术发展迅速,虽然印刷媒体有助于提供高保真度的指导,但这种指导很快就会过时。因此,我们在本章的开头对可用于帮助您学习过程的 ROS 资源进行了元讨论。