ROS wiki系列|通过ROS wiki-tutorials学习服务和参数
依旧是上一期指路: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学习服务和参数相关推荐
- ROS wiki系列|通过ROS wiki-tutorials学习话题
上一期指路:ROS wiki系列|通过ROS wiki-tutorials学习节点 这一期我们就用ROS wiki中的tutorials来学习ROS中另外一个重要的概念:topic--话题 在前面讲解 ...
- ROS wiki系列|通过ROS wiki-tutorials学习节点
前面几期我们讲的都是一些入门相关的内容-- ROS wiki系列|ROS wiki初探(自用) ROS wiki系列|Documentation-ROS部分讲解 ROS wiki系列|ROS入门基础概 ...
- ROS导航系列(四):全局路径规划器的参数配置分析
全局路径规划器global_planner的参数配置与分析 一.global_planner相关参数 二.测试 nav_core中提供了对应的全局路径规划接口.要想使用机器人move_base提供的便 ...
- ROS wiki系列|Documentation-ROS部分讲解
上一篇文章介绍了ROS wiki的大体结构,回顾戳→ROS wiki系列|ROS wiki初探 接下来的内容就是分模块介绍啦,首先是重头戏Documentation中的ROS部分,上一篇文章讲到这部分 ...
- ROS wiki系列|ROS wiki初探(自用)
在进行ROS学习的过程中,我们总是需要借助一些资料来进行学习,其中,ROS wiki是每个ROS人都必不可少会使用到的工具,在ROS学习中我们也经常要使用ROS wiki来查阅一些语法的解析.功能包的 ...
- ROS wiki系列|ROS入门基础概念讲解
上一期我们对ROS wiki中ROS部分进行了着重讲解,回顾戳这 这一期我们主要介绍ROS-getting started部分的一些基本概念 相关wiki页面:http://wiki.ros.org/ ...
- 【ROS wiki】利用ros wiki寻求问题答案
ROS wiki系列文章简介:ROS wiki系列文章是本人ROS专栏下的子专题.该系列文章主要用来介绍:ROS初学者如何利用好ROS官方提供的ROS wiki平台,来查询ROS资料,了解ROS包的功 ...
- ros入门--中科院软件所ros学习笔记
视频链接: 中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili 中科院软件所-机器人操作系统入门(ROS入门教程)_哔哩哔哩_bilibili 另外有一个不错的 学习网址: ...
- 古月居《ROS入门21讲》零基础学习笔记
文章目录 前言 1.课程简介 2.Linux系统介绍及安装 3.Linux基础操作(操作集) 命令结构 常用命令 快捷操作 4.cpp&python极简基础(操作集) 简单对比 安装编译器 编 ...
最新文章
- mysql常用命令汇总
- python的面向对象编程学生成绩_python的类_面向对象编程
- Docker之docker简介及其优势
- Py之matplotlib:在matplotlib库中利用legend函数创建自定义图例(代码实现)
- php发送验证码短信,php发送短信验证码
- XML解析(一),SAX解析XML
- 去哪儿-05-recommendDev
- mysql not in 性能_SQL中Execpt和not in 性能区别
- 微服务主见传递ID还是json_Feign实现微服务间文件传递
- C# 7.0 新特性3: 模式匹配
- asp.net数据库连接php代码,ASP.NET 数据库连接
- linux java 选择题_java面试题:Linux
- 亲身体验 DDOS(拒绝服务)攻击硬防DIY
- Ubuntu20.4 ODBC连接数据库
- QTreeView 和QTreeWidget
- Excel数据分析系列之用好底层分析工具统计分析功能
- 开博第一天,在日本做开发的日子(生活-吃货篇)
- 004.麻雀虽小五脏俱全--最简单的JavaWeb
- ubuntu14.04掉nividia驱动问题及其解决方法
- 计算机主机自动关机如何设置,电脑怎么设置自动关机?电脑自动关机方法教程 电脑维修技术网...