使用 玫瑰2 停止
命令行工具
ROS 2 中的参数可以通过一系列服务来获取、设置、列出和描述,详情请参见 概念文件.......。 玫瑰2 停止
命令行工具是对这些服务调用的一个封装,可以方便地从命令行操作参数。
玫瑰2 停止 清单
该命令将列出给定节点上的所有可用参数,如果没有给定节点,则列出所有可发现节点上的可用参数。
获取指定节点上的所有参数:
ros2 参数列表 /my_node
获取系统中所有节点的所有参数(这在复杂的网络中可能需要很长时间):
ros2 参数列表
玫瑰2 停止 获取
该命令将获取特定节点上特定参数的值。
获取节点上的参数值:
ros2 param get /my_node use_sim_time
玫瑰2 停止 设置
这条命令将设置特定节点上某个参数的值。对于大多数参数,新值的类型必须与现有类型相同。
在节点上设置参数值:
ros2 param set /my_node use_sim_time false
命令行上传递的值是 YAML 格式,因此可以使用任意的 YAML 表达式。不过,这也意味着某些表达式的解释会与预期不同。例如,如果参数 my_string
关于节点 我的节点
类型为字符串,则以下指令将不起作用:
ros2 param set /my_node my_string off
这是因为 YAML 将 "off "解释为布尔值,而 my_string
是字符串类型。这可以通过使用 YAML 语法显式设置字符串来解决,例如
ros param set /my_node my_string '!!str off';
此外,YAML 还支持异构列表,例如包含一个字符串、一个布尔值和一个整数。但是,ROS 2 参数不支持异构列表,因此任何具有多种类型的 YAML 列表都会被解释为字符串。假设参数 my_int_array
关于节点 我的节点
类型为整数数组,则以下指令将不起作用:
ros param set /my_node my_int_array '[foo,off,1]';
以下字符串类型的参数也可以使用:
ros param set /my_node my_string '[foo,off,1]';
玫瑰2 停止 删去
这条命令将从某个节点上删除一个参数。但请注意,该命令只能删除动态参数(不能删除已声明的参数)。参见 概念文件 了解更多信息。
ros2 param delete /my_node my_string
玫瑰2 停止 描绘
该命令将提供特定节点上特定参数的文字说明:
ros2 param describe /my_node use_sim_time
玫瑰2 停止 转储
该命令将以 YAML 文件格式打印出特定节点上的所有参数。该命令的输出结果可用于以后使用相同参数重新运行节点:
ros2 param dump /my_node
玫瑰2 停止 负荷
该命令将把 YAML 文件中的参数值加载到特定节点中。也就是说,该命令可以在运行时重新加载由 玫瑰2 停止 转储
:
ros2 param load /my_node my_node.yaml