使用 ros2 param
命令行工具 [待校准@6597]
目录
ROS 2中的参数可以通过一组服务获取、设置、列出和描述,如 the concept document 中所述。 ros2 param
命令行工具是围绕这些服务调用的包装,使从命令行操作参数变得容易。 [待校准@6598]
ros2 param list
[待校准@6599]
此命令将列出给定节点上的所有可用参数,如果未给出节点,则列出所有可发现节点上的所有可用参数。 [待校准@6600]
获取给定节点上的所有参数: [待校准@6601]
ros2 param list /my_node
要获取系统中所有节点上的所有参数 (这在复杂的网络上可能需要很长时间): [待校准@6602]
ros2 param list
ros2 param get
[待校准@6603]
此命令将获取特定节点上特定参数的值。 [待校准@6604]
获取节点上参数的值: [待校准@6605]
ros param get /my_node use_sim_time
ros2 param set
[待校准@6606]
此命令将在特定节点上设置特定参数的值。对于大多数参数,新值的类型必须与现有类型相同。 [待校准@6607]
设置节点上参数的值: [待校准@6608]
ros param set /my_node use_sim_time false
在命令行中传递的值在YAML中,允许使用任意YAML表达式。然而,这也意味着某些表达将会被解释,而不是预期。例如,如果节点 my_node
上的参数 my_string
是string型,以下将不起作用: [待校准@6609]
ros param set /my_node my_string off
这是因为YAML将 "off" 解释为bool,而 my_string
是string。 [待校准@6610]
ros2 param delete
[待校准@6611]
此命令将从特定节点中删除参数。但是,请注意,这只能删除动态参数 (未声明的参数)。有关更多信息,请参见 the concept document 。 [待校准@6612]
ros param delete /my_node my_string
ros2 param describe
[待校准@6613]
此命令将提供特定节点上特定参数的文本描述: [待校准@6614]
ros param describe /my_node use_sim_time
ros2 param dump
[待校准@6615]
此命令将以YAML文件格式打印出特定节点上的所有参数。然后可以使用此命令的输出重新运行具有相同参数的节点: [待校准@6616]
ros param dump /my_node
ros2 param load
[待校准@6617]
此命令会将参数的值从YAML文件加载到特定节点中。也就是说,此命令可以在运行时重新加载由 ros2 param dump
转储的值: [待校准@6618]
ros param load /my_node my_node.yaml