【ROS2指南-6】理解ROS2参数

目标:了解如何在 ROS 2 中获取、设置、保存和重新加载参数。

教程级别:初学者

时间: 5分钟

背景

参数是节点的配置值。您可以将参数视为节点设置。节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。在 ROS 2 中,每个节点都维护自己的参数。所有参数都可动态重新配置,并基于ROS 2 服务构建。

先决条件

本教程使用turtlesim 包

任务

1 设置

启动两个 turtlesim 节点,/turtlesim/teleop_turtle

打开一个新的终端并运行:

ros2 run turtlesim turtlesim_node

打开另一个终端并运行:

ros2 run turtlesim turtle_teleop_key

2 ros2参数列表

要查看属于您的节点的参数,请打开一个新终端并输入命令:

ros2 param list

您将看到节点命名空间,/teleop_turtle/turtlesim,后跟每个节点的参数:

/teleop_turtle:
  scale_angular
  scale_linear
  use_sim_time
/turtlesim:
  background_b
  background_g
  background_r
  use_sim_time

每个节点都有参数use_sim_time;它不是 turtlesim 独有的。

根据它们的名称,看起来/turtlesim的参数使用 RGB 颜色值确定 turtlesim 窗口的背景颜色。

要确定参数的类型,您可以使用 :ros2 param get

3 ros2参数获取

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

ros2 param get <node_name> <parameter_name>

让我们找出 的/turtlesim参数的当前值background_g

ros2 param get /turtlesim background_g

这将返回值:

Integer value is: 86

现在你知道background_g拥有一个整数值。

background_r如果您对和运行相同的命令background_b,您将分别获得值69255

4 ros2 参数集

要在运行时更改参数的值,请使用以下命令:

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

让我们改变 的/turtlesim背景颜色:

ros2 param set /turtlesim background_r 150

您的终端应返回消息:

Set parameter successful

你的 turtlesim 窗口的背景应该改变颜色:

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

5 ros2 参数转储

Dashing 没有命令。但是,可以使用保存的参数运行节点。相当于将您当前的参数值手动记录到 YAML 文件中。param dump param dump

将以下内容保存在名为的文件中./turtlesim.yaml

turtlesim:
  ros__parameters:
    background_b: 255
    background_g: 86
    background_r: 150
    use_sim_time: false

6 加载参数文件

要使用您在上一节中手动“转储”的参数设置启动节点,请运行命令

ros2 run turtlesim turtlesim_node __params:=./turtlesim.yaml

__params:你的参数文件的路径在哪里。

概括

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

下一步

回到 ROS 2 通信方法,在下一个教程中您将了解操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值