背景
参数是节点的配置值。你可以将参数视为节点的设置。节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。在 ROS 2 中,每个节点维护其自己的参数。有关参数的更多背景,请参阅概念文档。
任务练习
2.1 setup
开启两个turtle节点 , /turtlesim and /teleop_turtle.
请打开一个新的终端,并输入以下命令:
ros2 run turtlesim turtlesim_node
请打开另一个新的终端,并输入以下命令:
ros2 run turtlesim turtle_teleop_key
2.2 查看参数列表
要查看属于你节点的参数,请打开一个新终端并输入以下命令:
ros2 param list

每个节点都有参数 use_sim_time;这并不是 turtlesim 独有的。
根据它们的名称,/turtlesim 的参数似乎是使用 RGB 颜色值来确定 turtlesim 窗口的背景颜色。
要确定参数的类型,你可以使用 ros2 param get。
2.3 参数查询
要显示参数的类型和当前值,请使用以下命令:
ros2 param get <node_name> <parameter_name>
让我们来查看 /turtlesim 的参数 background_g 当前的值:
ros2 param get /turtlesim background_g

现在你知道 background_g 保存的是一个整数值。
如果你对 background_r 和 background_b 运行相同的命令,你将分别得到 69 和 255 的值。
2.4 设置参数值
要在运行时更改参数的值,请使用以下命令:
ros2 param set <node_name> <parameter_name> <value>
让我们改变 /turtlesim 的背景颜色:
ros2 param set /turtlesim background_r 150

使用 set 命令设置参数只会更改当前会话中的参数,而不会永久更改。但是,你可以保存你的设置,并在下次启动节点时重新加载它们。
2.5 参数拷贝
您可以使用以下命令查看节点的所有当前参数值:
ros2 param dump <node_name>
该命令默认会打印到标准输出(stdout),但你也可以将参数值重定向到文件中以便日后保存。要将当前 /turtlesim 的参数配置保存到文件 turtlesim.yaml 中,请输入命令:
ros2 param dump /turtlesim > turtlesim.yaml
你会在当前你的终端正在运行的工作目录中找到一个新文件。如果你打开这个文件,你会看到以下内容:

导出参数很方便,如果你想在将来用相同的参数重新加载节点。
2.6 参数加载
您可以使用以下命令将参数从文件加载到当前运行的节点:
ros2 param load <node_name> <parameter_file>
要将使用 ros2 param dump 生成的 turtlesim.yaml 文件加载到 /turtlesim 节点的参数中,请输入以下命令:
ros2 param load /turtlesim turtlesim.yaml

注意:需要先启动node,然后在运行加载参数指令
2.7 在节点启动时加载参数文件
要使用您保存的参数值启动相同的节点,请使用:
ros2 run <package_name> <executable_name> --ros-args --params-file <file_name>
这是你平时启动 turtlesim 使用的相同命令,只是增加了 --ros-args 和 --params-file 参数,然后跟上你想加载的文件。
停止正在运行的 turtlesim 节点,然后尝试使用保存的参数重新加载它,命令如下:
ros2 run turtlesim turtlesim_node --ros-args --params-file turtlesim.yaml

turtlesim 窗口应该像往常一样出现,但背景是你之前设置的紫色。
总结
节点有参数来定义它们的默认配置值。你可以从命令行获取和设置参数值。你还可以将参数设置保存到文件中,以便在将来的会话中重新加载。