理解ROS的参数
记住每次操作之前都要在一个单独的终端中运行ros的核心.
roscore
rosparam命令允许你在ROS的参数服务器上操作和存储数据,参数服务器可以存储整数,浮点数,布尔类型,字典,列表。ROS使用YAML标记语言作为语法,在简单的情况下,YAML看起来是非常自然的:1是整数,1.0是浮点数,one是字符串,true是布尔类型,[1,2,3]是一个列表,{a:b,c:d}是一个字典。我们使用rosparam list 命令可以查看参数服务器上的内容:
rosparam list
返回的结果如下:
/rosdistro
/roslaunch/uris/host_ununtu__49327
/rosversion
/run_id
上面的这些是运行roscore后参数服务器上的内容。然后运行小乌龟的节点,再次查看参数服务器上的内容:
/background_b
/background_g
/background_r
/rosdistro
/roslaunch/uris/host_ununtu__49327
/rosversion
/run_id
我们可以看到turtlesim_node节点在参数服务器上存储了三个表示背景颜色的参数。
使用rosparam set可以改变参数服务器上的参数,而rosparam get可以获取参数服务器上参数的值,它的使用方法如下:
rosparam set [param_name]
rosparam get [param_name]
我们改变背景颜色如下:
rosparam set background_r
这条命令执行完成后,我们会发现背景颜色并没有发生变化,对了我们得刷新一下,怎么刷新呢,这条命令我们已经学过了哦:
rosservice call /clear
执行完这条命令之后就能看到小乌龟的背景颜色变化了(小乌龟本身没有任何变化)。
使用下面的命令:
rosparam get /background_r
可以获得修改过的/background_r的值,我们也可以使用
rosparam get /
一次性获取所有参数的值.
你可能希望存储参数服务器上的这些值,然后在某个时候直接reload这些数据就可以直接使用了.
使用命令rosparam dump可以将参数服务器的内容写到一个文件中,它的使用方法如下:
rosparam dump [file_name]
例如:
rosparam dump params.yaml
我们将参数服务器的内容写到params.yaml的文件中。
在reload这些数据的时候,你甚至可以load到另外的命名空间去:
rosparam load params.yaml copy
然后查看:
rosparam get copy/background_b
总结:ROS的节点node可以把自己的数据已YAML的形式存放到ROS的参数服务器上去,然后利用一些命令行工具操作这些数据.如rosparam list, rosparam get, rosparam set, rosparam dump,rosparam load等命令行工具.
理解ROS的参数的更多相关文章
- ROS知识(2)----理解ROS系统结构
学习新事物,方法高于技术本身,如果没有把握"BIG PICTURE"的话很难理解进去.通过以下几点进行理解ROS: ROS实际上不是操作系统,他只是一个通信的框架,一个代码管理的架 ...
- 理解ros话题--6
理解ROS话题(原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/) Description: 本教程介绍ROS话题(topics)以及如何使用ro ...
- 理解JavaScript函数参数
前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型,甚至可以不传参数. arguments javascri ...
- 由浅到深理解ROS(1)
ROS机器人操作系统 ( Robot Operating System 或简称 ROS),可以帮助提高机器人软件的开发效率.ROS能够提供类似传统操作系统的诸多功能,如硬件抽象.底层设备控制.常用功能 ...
- 理解ros服务和参数 ---- 7
原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 周学伟 Description: 本教程介绍了ROS 服务和参数的知识,以及命令行工具rosservi ...
- ROS学习(八)—— 理解ROS服务和参数
一.ROS 服务 服务(services)是节点之间通讯的另一种方式.服务允许节点发送请求(request) 并获得一个响应(response) 二.rosservice 1.用途 rosservic ...
- 理解ROS话题
首先需要打开一个终端在里面运行roscore: roscore 再打开一个终端,在里面运行一个turtlesim_node节点: rosrun turtlesim turtlesim_node 打开另 ...
- ROS学习手记 - 5 理解ROS中的基本概念_Services and Parameters
上一节完成了对nodes, Topic的理解,再深入一步: Services and Parameters 我不理解为何 ROS wiki 要把service与parameter放在一起介绍, 很想分 ...
- ROS学习(六)—— 理解ROS节点
一.准备工作 下载一个轻量级的模拟器 sudo apt-get install ros-kinetic-ros-tutorials 二.图概念的理解 1.Nodes:一个节点就是一个可执行文件,用来与 ...
随机推荐
- SQL Server:SQL Like 通配符特殊用法:Escape 【转】
SQL中escape的主要用途 1.使用 ESCAPE 关键字定义转义符.在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符.例如,要搜索在任意位置包含字符串 5% 的字符串 ...
- list 去重复
两层遍历,如果后面的元素和前面的相同,就把后面的删除,达到去重复的目的. 比较的元素可以是list中含有的任意唯一性的元素. for(int x = 0;x < xglist.size()-1; ...
- datagrid指定行合并导出
导出代码: public void GridViewToExcel(GridView ctrl, string FileType, string FileName) { HttpContext.Cur ...
- WGS84、GCJ-02(火星坐标)、百度坐标,Web墨卡托坐标
GCJ-02坐标系统(火星坐标)简介:http://blog.csdn.net/giswens/article/details/8775121(存档:http://mapbd.com/cms/2012 ...
- C#学习日志 day 5 plus------ interface 数组及stringBuilder相关
interface 接口interface可以理解为两个程序达成的协议. 实际就是一个留给后续开发的框架.若想继承这个interface,就必须实现interface规定的 函数及结构等.一般会以大写 ...
- hdu 2222 Keywords Search ac自动机模板
题目链接 先整理一发ac自动机模板.. #include <iostream> #include <vector> #include <cstdio> #inclu ...
- mini-httpd源码分析-match.h
//字符串匹配,匹配返回 1,否则返回 0. //pattern可以通过任意个 | 字符,组合match_one中pattern的功能 int match(const char* pattern, c ...
- 使用verilog实现4选1数据选择器的几种方法
第一种方法module mux( d1, d2, d3, d4, se1, se2, dout ); input d1; input d2; input d3; input d4; input se1 ...
- 基本数据结构简介--ath9k网卡驱动开发总结(二)
ath9k驱动代码主要数据结构概览. (1)在ath9k的驱动中,几乎是最顶层的数据结构是ath_softc,这个数据结构几乎随处可见.ath_softc是硬件与MAC层进行交互的中间载体,很多有用的 ...
- Oracle EBS-SQL (SYS-3):sys_人员用户名对应关系查询.sql
select fu.user_name 用户名, fu.description 描述, (select ppf.FULL_NAME from per_peop ...