将YAML参数文件从ROS 1迁移到ROS 2 [待校准@6401]

本指南介绍了如何适应ROS 2的ROS 1参数文件。 [待校准@6402]

YAML文件示例 [待校准@6403]

YAML用于写入ROS 1和ROS 2中的参数文件。ROS 2的主要区别在于必须使用节点名称来寻址参数。除了完全限定的节点名称之外,我们还使用键 "ros__parameters" 来表示节点参数的开始。 [待校准@6404]

例如,这里有一个ROS 1的参数文件: [待校准@6405]

lidar_name: foo
lidar_id: 10
ports: [11312, 11311, 21311]
debug: true

假设前两个参数用于一个名为 /lidar_ns/lidar_node_name 的节点,第二个参数用于一个名为 /imu 的节点,最后一个参数我们要在两个节点上设置。 [待校准@6406]

我们将构建ROS 2参数文件,如下所示: [待校准@6407]

/lidar_ns:
  lidar_node_name:
    ros__parameters:
      lidar_name: foo
      id: 10
imu:
  ros__parameters:
    ports: [2438, 2439, 2440]
/**:
  ros__parameters:
    debug: true

请注意通配符 ( /** ) 的使用,以指示应在任何命名空间中的任何节点上设置参数 debug[待校准@6408]

特征奇偶校验 [待校准@6409]

ROS 2中不存在ROS 1参数文件的某些功能: [待校准@6410]