【ROS2 入门】ROS 2 参数服务器(parameters)概述

这篇具有很好参考价值的文章主要介绍了【ROS2 入门】ROS 2 参数服务器(parameters)概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        大家好,我是虎哥,从今天开始,我将花一段时间,开始将自己从ROS1切换到ROS2,在上一篇中,我们一起了解ROS 2中Topic, 这一篇,我们主要会围绕ROS中另外一个重要的概念“Parameters ”,了解如何在ROS 2中获取、设置、保存和重新加载参数。

目录

1 、启动模拟节点

2、ros2 param list(参数列表)

3、 ros2 param get(获取参数值)

4、 ros2 param set(设置参数值)

5 、ros2 param dump(参数转存)

6 、Load parameter file(参数载入)


        参数是节点的配置值。可以将参数视为节点设置。节点可以将参数存储为整数、浮点数、布尔值、字符串和列表。在ROS 2中,每个节点都维护自己的参数。所有参数都可动态重新配置,并基于ROS 2服务构建。节点具有用于定义其默认配置值的参数。可以从命令行获取和设置参数值。也可以保存参数设置以在新任务中重新加载。

1 、启动模拟节点

到现在,你应该可以轻松地启动turtlesim。打开一个终端,执行如下命令:

ros2 run turtlesim turtlesim_node

打开一个新的终端,启动遥控节点:

ros2 run turtlesim turtle_teleop_key

【ROS2 入门】ROS 2 参数服务器(parameters)概述

2、ros2 param list(参数列表)

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

ros2 param list

您将看到节点子节点空间/teolep_turtle和/turtlesim,后跟每个节点的参数:

nvidia@ubuntu:~$ ros2 param list
/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 param get(获取参数值)

要获取参数的当前值,请使用以下命令:

ros2 param get <node_name> <parameter_name>

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

ros2 param get /turtlesim background_g

我们将得到如下回复:

nvidia@ubuntu:~$ ros2 param get /turtlesim background_g
Integer value is: 86

现在您知道background_g包含一个整数值。如果在background_r和background_b上运行相同的命令,将分别获得值69和255。

nvidia@ubuntu:~$ ros2 param get /turtlesim background_r
Integer value is: 69
nvidia@ubuntu:~$ ros2 param get /turtlesim background_b
Integer value is: 255

4、 ros2 param set(设置参数值)

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

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

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

ros2 param set /turtlesim background_r 150

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

【ROS2 入门】ROS 2 参数服务器(parameters)概述

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

5 、ros2 param dump(参数转存)

您可以使用以下命令将节点的所有当前参数值“转储”到一个文件中,以供以后保存:

ros2 param dump <node_name>

要保存/turtlesim参数的当前配置,请输入以下命令:

ros2 param dump /turtlesim

将得到如下回复:

nvidia@ubuntu:~$ ros2 param dump /turtlesim
Saving to:  ./turtlesim.yaml

您将在工作区运行的目录中找到一个新文件。如果打开此文件,您将看到以下内容:

【ROS2 入门】ROS 2 参数服务器(parameters)概述

#文件内容如下
turtlesim:
  ros__parameters:
    background_b: 255
    background_g: 86
    background_r: 150
    use_sim_time: false

如果您希望在将来重新加载具有相同参数的节点,转储参数非常有用。

6 、Load parameter file(参数载入)

刚才我们转存了某个节点的所有参数,如果你想以这个参数打开一个新的节点,执行如下命令:

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

【ROS2 入门】ROS 2 参数服务器(parameters)概述

turtlesim窗口应该像往常一样出现,但背景是您之前设置的紫色。

以上就是我今天要分享的内容。纠错,疑问,交流: 911946883@qq.com文章来源地址https://www.toymoban.com/news/detail-478281.html

到了这里,关于【ROS2 入门】ROS 2 参数服务器(parameters)概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [ROS 系列学习教程] ROS参数服务器(Param):通信模型、Hello World与拓展

    ROS 系列学习教程(总目录) 参数服务器在ROS中主要用于实现不同节点之间的数据共享。 参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据。 使用场景一般存储一些机器人的固有参数,

    2024年02月01日
    浏览(37)
  • 【ROS】如何让ROS中节点获取数据 III --参数服务器通信及ros常用工具指令介绍

    Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法…感兴趣就关注我吧!你定不会失望。 相较于之前的通信模型,参数服务器是最为简单的。在之前的模型中,ROSMASTER都是扮演一个帮二者连接在一起的桥梁。 而在参数服务器中: ROSMASTER变为了一个存储消息的容器 ,

    2024年02月04日
    浏览(40)
  • 【ROS2机器人入门到实战】ROS2服务入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 大家好,帅鱼又蹬蹬蹬的游回来了。本节小鱼将要带大家一起了解

    2024年02月07日
    浏览(43)
  • ROS2从入门到精通1-2:详解ROS2服务通信机制与自定义服务

    本专栏旨在通过对ROS2的系统学习,掌握ROS2底层基本分布式原理,并具有机器人建模和应用ROS2进行实际项目的开发和调试的工程能力。 🚀详情:《ROS2从入门到精通》 服务 是 ROS 图中节点之间的另一种通信方法。服务基于 服务器-客户端 模型,不同于话题的 发布者-订阅者

    2024年04月09日
    浏览(29)
  • ROS2--概述

    多机器人系统 :未来机器人一定不会是独立的个体,机器人和机器人之间也需要通信和协作,ROS2为多机器人系统的应用提供了标准方法和通信机制。 跨平台 :机器人应用场景不同,使用的控制平台也会有很大差异,比如自动驾驶汽车中的算力性能肯定比AMR机器人强很多,为

    2024年02月07日
    浏览(23)
  • 【ROS2机器人入门到实战】ROS2话题入门

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 话题是ROS2中最常用的通信方式之一,话题通信采取的是订阅发布

    2024年02月04日
    浏览(48)
  • 【ros2】ros2环境安装与基础入门

    😏 ★,° :.☆( ̄▽ ̄)/$: .°★ 😏 这篇文章主要介绍ros2环境安装与基础入门。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路🥞 ROS 2 (Robot Operating System 2)是一个开源的机器人操作系统,它是ROS(Robot

    2024年02月09日
    浏览(35)
  • 【ROS2机器人入门到实战】2.ROS与ROS2对比

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 经过上一节的学习,相信你已经对ROS和ROS2的发展有了一定的了解

    2024年02月04日
    浏览(31)
  • 【ROS2机器人入门到实战】ROS2节点介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn ROS2中每一个节点也是只负责一个单独的模块化的功能(比如一个

    2024年02月06日
    浏览(40)
  • 【ROS2机器人入门到实战】ROS2接口介绍

    当前平台文章汇总地址:ROS2机器人从入门到实战 获取完整教程及配套资料代码,请关注公众号鱼香ROS获取 教程配套机器人开发平台:两驱版| 四驱版 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn 本节小鱼将会带你学习认识一个新的概念,叫做interface,即接口。

    2024年02月05日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包