警告

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

从 ROS 1 迁移 YAML 参数文件到 ROS 2

本教程介绍如何为 ROS 2 调整 ROS 1 的参数文件。

YAML 文件示例

在 ROS 1 和 ROS 2 中,YAML 都用于编写参数文件。 ROS 2 的主要区别在于必须使用节点名来称呼参数。除了节点全称外,我们还使用 "ros__parameters "键来表示节点参数的开始。

例如,下面是 ROS 1 中的一个参数文件:

lidar_name: 动物
lidar_id: 10
港口: [11312, 11311, 21311]
排错: 

假设前两个参数是针对一个名为 /lidar_ns/lidar_node_name,第二个参数是一个名为 /imu,以及我们要在两个节点上设置的最后一个参数。

我们将按如下方式构建 ROS 2 的参数文件:

/lidar_ns:
  节点名称:
    参数:
      lidar_name: 动物
      本我: 10
伊木:
  参数:
    港口: [2438, 2439, 2440]
/**:
  参数:
    排错: 

注意使用通配符 (/**) 表示参数 排错 应在任何命名空间的任何节点上设置。

功能奇偶校验

ROS 1 参数文件的某些功能在 ROS 2 中并不存在:

  • 还不支持列表中的混合类型 (相关问题)

  • 退化辐射 不支持替换