依旧是上一期指路:ROS wiki系列|通过ROS wiki-tutorials学习话题
前面讲了节点和话题,我们接下来讲服务和参数,走你~
同样甩上我们今天的教程页面链接:Understanding ROS Services and Parameters
本教程介绍了ROS服务、参数以及rosservice和rosparam命令行工具的使用。
老规矩 roscore 小海龟 键盘控制 跑起来(ROS wiki连贯性真强哈哈)

1.ROS Services

除了话题之外,服务是节点可以相互通信的另一种方式。服务允许节点发送请求并接收响应。

2.Using rosservice

rosservice可以通过服务轻松地附加到ROS的客户端/服务框架上。rosservice有很多命令可以在服务上使用,如下所示:

rosservice list         打印活跃服务的信息
rosservice call         使用提供的参数调用服务
rosservice type         打印服务类型
rosservice find         按服务类型查找服务
rosservice uri          打印服务ROSRPC uri

2.1 rosservice list

在终端运行rosservice list(小海龟开着对吧 别忘记开啊)
list命令向我们显示 turtlesim 节点提供的九种服务,还有两个与单独的rosout节点相关的服务:/rosout/get_loggers和/rosout/set_logger_level。

2.2 rosservice type

使用方法:rosservice type [服务名]
举例:rosservice type /clear
终端将会打印:std_srvs/Empty
此服务为空,这意味着当服务调用时,它不带任何参数(即,它在发出请求时不发送任何数据,在接收响应时不接收任何数据)。
我们可以试下使用rosservice call来调用此服务。

2.3 rosservice call

使用方法:rosservice call [service] [args]
举例:rosservice call /clear(在这里,我们将不带任何参数调用,因为服务类型为空)
效果:清除了turtlesim_node的背景
让我们通过查看服务spawn的信息来看看服务有参数的情况:rosservice type /spawn | rossrv show

这项服务允许我们在给定的位置和方向生成一只新的海龟,名称字段是可选的,所以这里我们不要给我们的新海龟起一个名字,让 turtlesim 为我们创建一个。
运行:rosservice call /spawn 2 2 0.2 “”
终端返回:name: turtle2
你将会看到两只龟龟be like:

3.Using rosparam

rosparam允许您在ROS参数服务器上存储和操作数据。参数服务器可以存储整数、浮点数、布尔值、字典和列表。rosparam使用YAML标记语言进行语法。在简单的情况下,YAML看起来非常自然:1是一个整数,1.0是一个浮点数,1是一个字符串,true是一个布尔值,[1,2,3]是一个整数列表,{a: b, c: d}是一个字典。rosparam有很多命令可以用于参数,如下所示:

rosparam set            设置参数
rosparam get            获取参数
rosparam load           从文件加载参数
rosparam dump           转储参数到文件
rosparam delete         删除参数
rosparam list           列出参数名称

3.1 rosparam list

运行:rosparam list
在这里,我们可以看到 turtlesim 节点在参数服务器上有三个参数用于背景颜色:

接下来我们来搞搞颜色~

3.2 rosparam set and rosparam get

使用方法:
rosparam set [param_name]
rosparam get [param_name]
首先我们改一下背景颜色中的红色:
rosparam set /turtlesim/background_r 150
参数值更改后,我们必须调用 clear 服务使参数更改生效:
rosservice call /clear
然后就变色啦~

我们看一下参数服务器上其他参数的值,让我们来获取绿色背景通道的值:
rosparam get /turtlesim/background_g
you will get:86
我们还可以使用rosparam get / 显示整个参数服务器的内容:rosparam get /
您可能希望将其存储在文件中,以便可以在其他时间重新加载它,简单,rosparam一样可以满足你

3.3 rosparam dump and rosparam load

使用方法:
rosparam dump [file_name] [namespace]
rosparam load [file_name] [namespace]
我们将所有参数写入文件params.yaml:
rosparam dump params.yaml
我们甚至可以将这些yaml文件加载到新的命名空间中,例如copy_turtle:
rosparam load params.yaml copy_turtle
rosparam get /copy_turtle/turtlesim/background_b
get:255

ok,今天就到这里,下篇再见朋友们!

ROS wiki系列|通过ROS wiki-tutorials学习服务和参数相关推荐

  1. ROS wiki系列|通过ROS wiki-tutorials学习话题

    上一期指路:ROS wiki系列|通过ROS wiki-tutorials学习节点 这一期我们就用ROS wiki中的tutorials来学习ROS中另外一个重要的概念:topic--话题 在前面讲解 ...

  2. ROS wiki系列|通过ROS wiki-tutorials学习节点

    前面几期我们讲的都是一些入门相关的内容-- ROS wiki系列|ROS wiki初探(自用) ROS wiki系列|Documentation-ROS部分讲解 ROS wiki系列|ROS入门基础概 ...

  3. ROS导航系列(四):全局路径规划器的参数配置分析

    全局路径规划器global_planner的参数配置与分析 一.global_planner相关参数 二.测试 nav_core中提供了对应的全局路径规划接口.要想使用机器人move_base提供的便 ...

  4. ROS wiki系列|Documentation-ROS部分讲解

    上一篇文章介绍了ROS wiki的大体结构,回顾戳→ROS wiki系列|ROS wiki初探 接下来的内容就是分模块介绍啦,首先是重头戏Documentation中的ROS部分,上一篇文章讲到这部分 ...

  5. ROS wiki系列|ROS wiki初探(自用)

    在进行ROS学习的过程中,我们总是需要借助一些资料来进行学习,其中,ROS wiki是每个ROS人都必不可少会使用到的工具,在ROS学习中我们也经常要使用ROS wiki来查阅一些语法的解析.功能包的 ...

  6. ROS wiki系列|ROS入门基础概念讲解

    上一期我们对ROS wiki中ROS部分进行了着重讲解,回顾戳这 这一期我们主要介绍ROS-getting started部分的一些基本概念 相关wiki页面:http://wiki.ros.org/ ...

  7. 【ROS wiki】利用ros wiki寻求问题答案

    ROS wiki系列文章简介:ROS wiki系列文章是本人ROS专栏下的子专题.该系列文章主要用来介绍:ROS初学者如何利用好ROS官方提供的ROS wiki平台,来查询ROS资料,了解ROS包的功 ...

  8. ros入门--中科院软件所ros学习笔记

    视频链接: 中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili 中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili 另外有一个不错的 学习网址: ...

  9. 古月居《ROS入门21讲》零基础学习笔记

    文章目录 前言 1.课程简介 2.Linux系统介绍及安装 3.Linux基础操作(操作集) 命令结构 常用命令 快捷操作 4.cpp&python极简基础(操作集) 简单对比 安装编译器 编 ...

最新文章

  1. mysql常用命令汇总
  2. python的面向对象编程学生成绩_python的类_面向对象编程
  3. Docker之docker简介及其优势
  4. Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)
  5. php发送验证码短信,php发送短信验证码
  6. XML解析(一),SAX解析XML
  7. 去哪儿-05-recommendDev
  8. mysql not in 性能_SQL中Execpt和not in 性能区别
  9. 微服务主见传递ID还是json_Feign实现微服务间文件传递
  10. C# 7.0 新特性3: 模式匹配
  11. asp.net数据库连接php代码,ASP.NET 数据库连接
  12. linux java 选择题_java面试题:Linux
  13. 亲身体验 DDOS(拒绝服务)攻击硬防DIY
  14. Ubuntu20.4 ODBC连接数据库
  15. QTreeView 和QTreeWidget
  16. Excel数据分析系列之用好底层分析工具统计分析功能
  17. 开博第一天,在日本做开发的日子(生活-吃货篇)
  18. 004.麻雀虽小五脏俱全--最简单的JavaWeb
  19. ubuntu14.04掉nividia驱动问题及其解决方法
  20. 计算机主机自动关机如何设置,电脑怎么设置自动关机?电脑自动关机方法教程 电脑维修技术网...

热门文章

  1. 实现机器人避障的全套解决方案
  2. 了解EOS超级节点,这篇文章就够了
  3. 爱数之Oracle备份与恢复
  4. NLP 处理文本解决emoji、空白符及特殊字符问题
  5. 关于UEditor与Bootstrap结合使用时产生的工具栏边距错乱现象的解决方法
  6. 幸福 兴趣 工作 心态
  7. java ssl是什么意思_java中SSL是什么?包括哪些内容?
  8. electron-vue跨平台桌面应用开发实战教程(三)——动态修改窗口大小
  9. 物联网通信知识点总结
  10. CSDN Markdown 去除图片水印——最新方法