ROS学习笔记(十三)

目录

前言

概念

作用

一、参数服务器理论模型

 整个流程由以下步骤实现

参数可以使用的数据类型

注意


前言

参数服务器在ROS中主要用于实现不同节点之间的数据共享,参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据

导航实现时,会进行路径规划,比如: 全局路径规划,设计一个从出发点到目标点的大致路径。本地路径规划,会根据当前路况生成时时的行进路径

上述场景中,全局路径规划和本地路径规划时,就会使用到参数服务器:

  • 路径规划时,需要参考小车的尺寸,我们可以将这些尺寸信息存储到参数服务器,全局路径规划节点与本地路径规划节点都可以从参数服务器中调用这些参数

参数服务器,一般适用于存在数据共享的一些应用场景。

概念

共享的方式实现不同节点之间数据交互的通信模式。

作用

存储一些多节点共享的数据,类似于全局变量

一、参数服务器理论模型

参数服务器实现是最简单的,该模型如下图所示,该模型涉及三个角色:

  • ROS Master (管理者)
  • Talker (参数设置者)
  • Listener (参数调用者)

这里的参数列表是ROS Master (管理者)的一部分。为了表述清楚,把他和管理者分开。

ROS Master 作为一个公共容器保存参数,Talker 可以向容器中设置参数,Listener 可以获取参数。

 整个流程由以下步骤实现

  • 1、2步骤:Talker 通过RPC向参数服务器发送参数(包括参数名和参数值),ROS Master将参数保存在参数列表中。
  • 3步骤:Listener 通过RPC向参数服务器发送参数查找请求,请求中包含要查找的参数名。
  • 4、5步骤:ROS Master 根据上述步骤3请求提供的参数名查找参数值,并将查询结果通过RPC发送到Listener。

参数可以使用的数据类型

  • 32-bit integers:32位整数

  • booleans:布尔型

  • strings:字符串

  • doubles:浮点数

  • iso8601 dates:以iso8601为标准的时间数据

  • lists:列表

  • base64-encoded binary data:以base64为标准的二进制数

  • 字典

Base64编码,是我们程序开发中经常使用到的编码方法。它是一种基于用64个可打印字符来表示二进制数据的表示方法。它通常用作存储、传输一些二进制数据编码方法!也是MIME(多用途互联网邮件扩展,主要用作电子邮件标准)中一种可打印字符表示二进制数据的常见编码方法!它其实只是定义用可打印字符传输内容一种方法,并不会产生新的字符集!

注意

参数服务器不是为了高性能而设计的,最好用于存储静态的非二进制的简单数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lbuera

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值