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