赞
踩
系统Ros1到Ros2是一个迭代过程,ROS2做为全新得技术非常值得学习和领悟,本文介绍了统一这些构建工具以及扩展应用领域的步骤,以及设计原则。
在 ROS 生态系统中,软件被分成许多包。开发人员同时处理多个包是很常见的。这与开发人员一次只在一个软件包上工作的工作流程形成对比,并且所有依赖项都提供一次但不会被迭代。
构建一组包的“手动”方法包括:按拓扑顺序一个接一个地构建所有包。对于每个包,文档通常会描述依赖项是什么,如何设置环境来构建包以及如何设置环境以使用包。如果无将该过程自动化的工具,这样的工作流程在规模上是不切实际的。
构建工具执行通过一次调用构建一组包的任务。对于 ROS 1,有多种不同的工具对此提供支持,即 catkin_make、catkin_make_isolated 和 catkin_tools。对于 ROS 2 到 Ardent 版本,提供此功能的构建工具称为 ament_tools。
统一构建工具的目标是通过一次调用构建一组包。它应该与 ROS 1 包以及在其清单文件中提供必要信息的 ROS 2 包一起使用。它还应该与本身不提供清单文件的包一起使用,因为可以推断和/或从外部提供必要的元信息。这将允许构建工具用于非 ROS 包(例如 Gazebo,包括其启动依赖项、sdformat 等)。
在 ROS 生态系统中,已经存在一些支持此用例的工具(见下文)。每个现有工具都执行类似的任务并复制大量逻辑。由于是单独开发的,某些功能仅在某些工具中可用,而其他工具则缺乏这些功能。
使用单一通用构建工具的原因归结为减少开发和维护所需的工作量。此外,这使得新开发的功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。