一、ROS 服务

  服务(services)是节点之间通讯的另一种方式。服务允许节点发送请求(request) 并获得一个响应(response)

二、rosservice

1、用途

  rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。

2、语法:

rosservice list         print information about active services  输出可用的服务信息
rosservice call call the service with the provided args  调用服务
rosservice type print service type               打印服务参数类型
rosservice find find services by service type        
rosservice uri print service ROSRPC uri

3、rosservice list

rosservice list

rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。
-->

4、rosservice type

(1)语法:

rosservice type [service]

(2)demo

rosservice type /clear

   返回std_srvs/Empty

5、rosservice call

(1)语法:

rosservice call [service] [args]

(2)demo:

rosservice call /clear

  正如我们所期待的,服务清除了turtlesim_node的背景上的轨迹。

(3)demo2:

rosservice type /spawn| rossrv show

  返回:

float32 x
float32 y
float32 theta
string name
---
string name

  然后我们再创建一个乌龟,命令为:

rosservice call /spawn   0.2 ""

  返回给我们新的乌龟的名字:

name: turtle2

三、rosparam

  rosparam使得我们能够存储并操作ROS 参数服务器(Parameter Server)上的数据。参数服务器能够存储整型、浮点、布尔、字符串、字典和列表等数据类型。rosparam使用YAML标记语言的语法。一般而言,YAML的表述很自然:1 是整型, 1.0 是浮点型, one是字符串, true是布尔, [1, 2, 3]是整型列表, {a: b, c: d}是字典. rosparam有很多指令可以用来操作参数,如下所示:

1、用法:

rosparam set            set parameter
rosparam get get parameter
rosparam load load parameters from file
rosparam dump dump parameters to file
rosparam delete delete parameter
rosparam list list parameter names

2、rosparam list

rosparam list

我们可以看到服务器参数上的参数:

/background_b
/background_g
/background_r
/roslaunch/uris/aqy:51932
/run_id

3、使用rosparam set和rosparam get

(1)语法:

rosparam set [param_name]
rosparam get [param_name]

(2)demo:改变背景颜色

rosparam set /background_r
rosservice call /clear

(3)得到全部参数

rosparam get /

4、参数保存和载入

(1)语法:

rosparam dump [file_name] [namespace]
rosparam load [file_name] [namespace]

(2)demo:

  保存:

rosparam dump params.yaml

  载入:可以载入到另一个名字空间(好像可以随便取,即可生成新的名字空间)

rosparam load params.yaml copy
rosparam get /copy/background_b

ROS学习(八)—— 理解ROS服务和参数的更多相关文章

  1. ROS学习笔记7-理解服务(services)和参数(parameter)

    本文内容来自官方wiki:http://wiki.ros.org/ROS/Tutorials/UnderstandingServicesParams ROS服务(service)服务也是ROS中一种通 ...

  2. JVM学习八:常用JVM配置参数

    前面学习的都是和类加载相关的知识,接下来学习的则和GC相关的知识,都是JVM的几个重点块. 零.在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是 ...

  3. Linux系统学习 八、SSH服务—SSH远程管理服务

    1.SSH简介 ssh(安全外壳协议)是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.传输的时候是经过加密的,防止信息泄露,比telnet(明文传递)要安全很多. ftp安装 ...

  4. 理解ros服务和参数 ---- 7

    原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/  周学伟 Description: 本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservi ...

  5. ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters

    上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameters 我不理解为何 ROS wiki 要把service与parameter放在一起介绍, 很想分 ...

  6. ROS学习笔记(一) # ROS参数服务器

    参考 roscpp/Overview/Parameter Server 0. 概述 ROS参数服务器能够保存 string, int, float, double, bool, list, dicti ...

  7. ROS学习笔记八:基于Qt搭建ROS开发环境

    1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...

  8. ROS学习笔记9-创建ros消息和服务

    该节内容主要来自于官方文档的两个小节:1.使用rosed来编辑2.创建ros消息的服务 先来看rosed: rosedrosed命令是rosbash的一部分,使用rosed可以直接编辑包中的一个文件, ...

  9. SLAM+语音机器人DIY系列:(二)ROS入门——8.理解roslaunch在大型项目中的作用

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  10. ROS知识(2)----理解ROS系统结构

    学习新事物,方法高于技术本身,如果没有把握"BIG PICTURE"的话很难理解进去.通过以下几点进行理解ROS: ROS实际上不是操作系统,他只是一个通信的框架,一个代码管理的架 ...

随机推荐

  1. VS2008中MFC对话框界面编程Caption中文乱码的解决办法

    文章转载自http://blog.csdn.net/ajioy/article/details/6877646 最近在使用VS2008编写一个基于对话框的程序时,在对话框中添加Static控件,编写其 ...

  2. 【Android开发VR实战】二.播放360°全景视频

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53924006 本文出自[DylanAndroid的博客] [Android开发 ...

  3. Direct2D教程III——几何(Geometry)对象

    目前博客园中成系列的Direct2D的教程有 1.万一的 Direct2D 系列,用的是Delphi 2009 2.zdd的 Direct2D 系列,用的是VS中的C++ 3.本文所在的 Direct ...

  4. 微信小程序开发-滑动操作

    在实际应用中,当某种手势被触发后,在用户没有放开鼠标或手指前,会一直识别为该手势.比如当用户触发左滑手势后,这时再向下滑动,仍要按照左滑手势来处理. 可以定义一个标记来记录第一次识别到的手势,如果已识 ...

  5. Getting in Line UVA 216

     Getting in Line  Computer networking requires that the computers in the network be linked. This pro ...

  6. iSCSI Network Designs: Part 5 – iSCSI Multipathing, Host Bus Adapters, High Availability and Redundancy

    iSCSI Network Designs: Part 5 – iSCSI Multipathing, Host Bus Adapters, High Availability and Redunda ...

  7. VB操作EXCEL文件大全

    Private Sub writeToExcel(strTmp1() As String, colTmp1 As Collection)'' Dim tmp1 Dim i1 As Integer, i ...

  8. tcp线程聊天

    .ServerThread package serverclient; import java.io.BufferedReader; import java.io.InputStreamReader; ...

  9. BIO、NIO和AIO的区别(简明版)

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6543960.html 一:事件分离器 在IO读写时,把 IO请求 与 读写操作 分离调配进行,需要用到事件分离 ...

  10. Html Agility Pack - API

    Html Agility Pack - APIParserSelectorsManipulationTraversingWriterUtilitiesAttributes HTML Parser HT ...