警告
您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.
了解 ROS 2 参数
目标 了解如何在 ROS 2 中获取、设置、保存和重新加载参数。
辅导水平: 初学者
时间 5 分钟
背景介绍
参数是节点的配置值。可以把参数看作节点的设置。节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。在 ROS 2 中,每个节点都维护自己的参数。所有参数都可动态重新配置,并以 ROS 2 服务.
先决条件
本教程使用 海龟模拟软件包.
与往常一样,别忘了在 您打开的每个新终端.
任务
1 设置
启动两个海龟模拟节点、 /turtlesim
和 /teleop_turtle
.
打开一个新终端并运行
ros2 运行 turtlesim turtlesim_node
打开另一个终端并运行:
ros2 run turtlesim turtle_teleop_key
2 ros2 参数表
要查看属于节点的参数,请打开一个新终端并输入命令:
ros2 参数列表
您将看到节点子命名空间、 /teleop_turtle
和 /turtlesim
,然后是每个节点的参数:
/teleop_turtle:
缩放矩形
线性比例
使用模拟时间
/turtlesim:
背景_b
背景_g
背景_r
使用模拟时间
每个节点都有参数 使用模拟时间
这并不是乌龟模型所独有的。
从他们的名字来看,好像是 /turtlesim
的参数使用 RGB 颜色值决定海龟模拟窗口的背景颜色。
要确定参数类型,可以使用 玫瑰2 停止 获取
.
3 ros2 参数获取
要获取参数的当前值,请使用命令:
ros2 param get <node_name> <parameter_name>;
让我们找出 /turtlesim
的参数 背景_g
:
ros2 param get /turtlesim background_g
将返回值:
整数值为: 86
现在你知道了 背景_g
持有一个整数值。
如果在 背景_r
和 背景_b
您将得到以下值 69
和 255
分别为
4 ros2 参数集
要在运行时更改参数值,请使用命令
ros2 param set <node_name> <parameter_name> <value>;
让我们改变 /turtlesim
的背景颜色:
ros2 参数设置 /turtlesim background_r 150
您的终端应返回该信息:
设置参数成功
然后,Turtlesim 窗口的背景颜色就会改变:

使用 设置
命令只会在当前会话中更改设置,而不会永久更改。不过,您可以保存设置更改,下次启动节点时重新加载。
5 ros2 参数转储
潇洒没有 停止 转储
命令。不过,也可以运行已保存参数的节点。相当于 停止 转储
将当前参数值手动记录到 YAML 文件中。
将以下内容保存到一个名为 ./turtlesim.yaml
:
海龟:
参数:
背景_b: 255
背景_g: 86
背景_r: 150
使用模拟时间: 错误
6 加载参数文件
要使用上一节中手动 "转储 "的参数设置启动节点,请运行命令
ros2 run turtlesim turtlesim_node __params:=./turtlesim.yaml
地点 __参数:
是参数文件的路径。
摘要
节点有定义默认配置值的参数。您可以 获取
和 设置
参数值。您还可以保存参数设置,以便在新会话中重新加载。
下一步工作
回到 ROS 2 的通信方法,在下一个教程中,您将学习到 行动.