一、背景知识
系统Ros1到Ros2是一个迭代过程,ROS2做为全新得技术非常值得学习和领悟,本文介绍了统一这些构建工具以及扩展应用领域的步骤,以及设计原则。
在 ROS 生态系统中,软件被分成许多包。开发人员同时处理多个包是很常见的。这与开发人员一次只在一个软件包上工作的工作流程形成对比,并且所有依赖项都提供一次但不会被迭代。
构建一组包的“手动”方法包括:按拓扑顺序一个接一个地构建所有包。对于每个包,文档通常会描述依赖项是什么,如何设置环境来构建包以及如何设置环境以使用包。如果无将该过程自动化的工具,这样的工作流程在规模上是不切实际的。
构建工具执行通过一次调用构建一组包的任务。对于 ROS 1,有多种不同的工具对此提供支持,即 catkin_make、catkin_make_isolated 和 catkin_tools。对于 ROS 2 到 Ardent 版本,提供此功能的构建工具称为 ament_tools。
二、工程目标
统一构建工具的目标是通过一次调用构建一组包。它应该与 ROS 1 包以及在其清单文件中提供必要信息的 ROS 2 包一起使用。它还应该与本身不提供