ROS2-Beginner:6-理解参数

发布时间 2023-06-01 18:01:18作者: gary_123

目标:学习怎样获得,设置,保存以及加载参数。

背景

参数是节点的配置值。可以将参数视为节点设置。节点可以将参数存储为整数、浮点值、布尔值、字符串和列表。在ROS 2中,每个节点都维护自己的参数。对于更多的背景参数,please see the concept document

任务

1、运行turtlesim仿真器

ros2 run turtlesim turtlesim_node

ros2 run turtlesim turtle_teleop_key

2、ros2参数列表

要查看属于节点的参数,

ros2 param list

节点的命名空间/teleop_turtle and /turtlesim

每个节点都有use_sim_time;

3、ros2 param get

要显示参数的类型和当前值,请使用以下命令:

ros2 param get <node_name> <parameter_name>

例如

ros2 param get /turtlesim background_g

background_g是一个整型值

4、ros2 param set

改变参数的值

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

改变/turtlesim的背景:

ros2 param set /turtlesim background_r 150

使用set命令设置参数只会在当前会话中更改它们,而不会永久更改。但是,您可以保存设置,并在下次启动节点时重新加载它们。

5 ros2 param dump

可以使用以下命令查看节点的所有当前参数值:

ros2 param dump <node_name>

将参数值保存到本地:

ros2 param dump /turtlesim > turtlesim.yaml

6 ros2 param load

以使用以下命令将参数从文件加载到当前运行的节点:

ros2 param load <node_name> <parameter_file>
ros2 param load /turtlesim turtlesim.yaml

只读参数在启动的时候可以更改,在之后就不能更改了,如上面的警告。

7、节点启动时加载参数文件

要使用保存的参数值启动同一节点,请使用:

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

这与您通常用于启动turtlesim的命令相同,添加了标志--ros args和--params文件,然后是要加载的文件。

停止运行您的turtlesim节点,并尝试使用保存的参数重新加载它,使用:

ros2 run turtlesim turtlesim_node --ros-args --params-file turtlesim.yaml

总结

节点具有用于定义其默认配置值的参数。可以从命令行获取和设置参数值。还可以将参数设置保存到文件中,以便在将来的会话中重新加载它们。