您正在阅读的是旧版本但仍受支持的 ROS 2 文档。 Jazzy.
使用变体
元软件包不直接提供软件,而是依赖于一组其他相关软件包,为整组软件包提供方便的安装机制。 [1] [2] 变体是一个官方元软件包列表,用于列出常用的 ROS 软件包组。
报告 2 中的不同变体在下列文件中作了说明 REP-2001.
除官方变体外,还可能有针对特定机构或机器人的元软件包,如 REP-108.
添加变体
如果您想提出更多对 ROS 社区有普遍意义的变体,请向以下网站提交更新内容 REP-2001 通过拉取请求 描述了新变体中包含的软件包。机构和机器人的特定变体可由其各自的维护者直接发布,无需对 REP-2001 进行更新。
创建项目专用变体
如果你正在创建 ROS 软件包,以便在自己的项目中单独使用,你可以以官方变体为例,创建专属于你的项目的变体。为此,你只需创建两个文件:
最小变体软件包创建为带有
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>;
一个最小的 ament_cmake 软件包包括一个
CMakeLists.txt
将 package.xml 注册为可在 ROS 2 中使用的附加软件包。cmake_minimum_required(版本 3.5) 项目(我的项目变量 无) 查找软件包(ament_cmake 要求) ament_package()
然后,您就可以将变体软件包与其他私有软件包一起构建和安装。
使用特定平台工具创建自定义变体
有些平台拥有创建基本软件包的工具,这些软件包不需要完整的 ROS 构建环境或同等的基础设施。可以使用这些工具来创建与平台相关的变体。这种方法不包括对 ROS 打包工具的支持,也依赖于平台,但如果你创建的是现有软件包的集合,而不是公共和私有 ROS 软件包的混合,那么制作这种软件包所需的基础架构就要少得多。例如,在 Debian 或 Ubuntu 系统上,你可以使用 等价物
实用工具。Debian 管理员手册中有一个 元软件包部分.