跳转至

param参数

param参数

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

param参数命令

参数列表:

ros2 param list

获取参数值:

ros2 param get <node_name> <parameter_name>

设置参数值:

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

参数存储:

ros2 param dump <node_name>

参数加载:

ros2 param load <node_name> <parameter_file>

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

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

节点中添加和获取参数

定义参数

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

修改参数

class MyNode(Node):
    def __init__(self):
        super(MyNode, self).__init__('param_node')
        my_new_param = rclpy.parameter.Parameter(
            'my_parameter',
            rclpy.Parameter.Type.STRING,
            'world'
        )
        params = [my_new_param]
        self.set_parameters(params)

节点中获取参数

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