警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

使用变体

元软件包不直接提供软件,而是依赖于一组其他相关软件包,为整组软件包提供方便的安装机制。 [1] [2] 变体是一个官方元软件包列表,用于列出常用的 ROS 软件包组。

报告 2 中的不同变体在下列文件中作了说明 REP-2001.

除官方变体外,还可能有针对特定机构或机器人的元软件包,如 REP-108.

添加变体

如果您想提出更多对 ROS 社区有普遍意义的变体,请向以下网站提交更新内容 REP-2001 通过拉取请求 描述了新变体中包含的软件包。机构和机器人的特定变体可由其各自的维护者直接发布,无需对 REP-2001 进行更新。

创建项目专用变体

如果你正在创建 ROS 软件包,以便在自己的项目中单独使用,你可以以官方变体为例,创建专属于你的项目的变体。为此,你只需创建两个文件:

  1. 最小变体软件包创建为带有 ament_cmake 构建类型 buildtool_depend 关于 ament_cmake执行依赖 条目。

<?xml版本="1.0"?>;
<?xml-model href="http://download.ros.org/schema/package_format2.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>;
<package 格式="2";>;
  <名称>;我的项目变量</名称>;
  版本>;1.0.0</version>;
  <描述>;A 包装  总计 一应俱全 套餐  我的项目</description>;
  维护者 电子邮件="maintainer-email";>;维护员 名称维护人员</maintainer>;
  许可证阿帕奇 许可证 2.0</license>;
  <!-- my_project 中的软件包 -->;
  执行依赖关系;my_project_msgs</exec_depend>;
  执行依赖关系;我的项目服务</exec_depend>;
  执行依赖关系;我的项目示例</exec_depend>;

  <export>;
    <构建类型>;ament_cmake</build_type>;
  </export>;
</package>;
  1. 一个最小的 ament_cmake 软件包包括一个 CMakeLists.txt 将 package.xml 注册为可在 ROS 2 中使用的附加软件包。

cmake_minimum_required(版本 3.5)

项目(我的项目变量 )
查找软件包(ament_cmake 要求)
ament_package()
  1. 然后,您就可以将变体软件包与其他私有软件包一起构建和安装。

使用特定平台工具创建自定义变体

有些平台拥有创建基本软件包的工具,这些软件包不需要完整的 ROS 构建环境或同等的基础设施。可以使用这些工具来创建与平台相关的变体。这种方法不包括对 ROS 打包工具的支持,也依赖于平台,但如果你创建的是现有软件包的集合,而不是公共和私有 ROS 软件包的混合,那么制作这种软件包所需的基础架构就要少得多。例如,在 Debian 或 Ubuntu 系统上,你可以使用 等价物 实用工具。Debian 管理员手册中有一个 元软件包部分.