param参数

参数是节点的配置值。您可以将参数视为节点设置。节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。在 ROS 2 中,每个节点都维护自己的参数。

param参数命令

参数列表:

  1. ros2 param list

获取参数值:

  1. ros2 param get <node_name> <parameter_name>

设置参数值:

  1. ros2 param set <node_name> <parameter_name> <value>

参数存储:

  1. ros2 param dump <node_name> > 文件名.yaml

参数加载:

  1. ros2 param load <node_name> <parameter_file>

节点启动时加载参数文件:

  1. ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>

节点中添加和获取参数

定义参数

  1. class MyNode(Node):
  2. def __init__(self):
  3. super(MyNode, self).__init__('param_node')
  4. self.declare_parameter('my_parameter', 'world123')

修改参数

  1. class MyNode(Node):
  2. def __init__(self):
  3. super(MyNode, self).__init__('param_node')
  4. my_new_param = rclpy.Parameter(
  5. 'my_parameter',
  6. rclpy.Parameter.Type.STRING,
  7. 'world'
  8. )
  9. params = [my_new_param]
  10. self.set_parameters(params)

节点中获取参数

  1. class MyNode(Node):
  2. def __init__(self):
  3. super(MyNode, self).__init__('param_node')
  4. my_param = self.get_parameter('my_parameter').get_parameter_value().string_value