警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 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 管理员手册中有一个 元软件包部分.