理解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:一个节点就是一个可执行文件,用来与 ...
随机推荐
- 畅通工程续(dijskra+SPFA)
畅通工程续 Time Limit : 3000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submiss ...
- andengine游戏引擎总结进阶篇1
本篇包括虚拟键盘,粒子系统 1虚拟键盘 分为两种,一种是单个虚拟键盘,另一种是多个方位虚拟键盘 1)加载虚拟键盘所需要的图片资源 private BitmapTextureAtlas mOnScree ...
- 百度Android语音识别SDK语义理解与解析方法
百度语义理解开放平台面向互联网开发人员提供自然语言文本的解析服务,也就是能够依据文本的意图解析成对应的表示. 为了易于人阅读,同一时候也方便机器解析和生成,意图表示协议採用 json 语言进行描写叙述 ...
- wcf系列学习5天速成——第五天 服务托管
今天是系列的终结篇,当然要分享一下wcf的托管方面的知识. wcf中托管服务一般有一下四种: Console寄宿: 利于开发调试,但不是生产环境中的最佳实践. winform寄 ...
- iOS退出键盘的两种方式
1,可以让叫出键盘的那个控件,退出第一响应者; 例如:textField叫出的键盘,那么就可以调用textField.resignFirstResponder,达到谁叫出的键盘谁退回去 2,可以让叫出 ...
- 《转载》深入理解 CSS 中的行高与基线
这篇文章总结的很好,故转载收藏. 1.基本概念 1. 基线.底线.顶线.中线 注意:基线(base line)并不是汉字文字的下端沿,而是英文字母“x”的下端沿. 2. 内容区 内容区是指底线和顶线 ...
- Swift 3.0第1步,面向所有开发者开源
在移动开发中,Android开发一直比较受欢迎的原因之一就是其是一个开源的,有很多开源项目.代码可以用,这也是很多iOS开发者羡慕不已的地方.但值得庆贺的是,随着swift编程语言的发展,北京时间12 ...
- Javascript基础示例:用JS写简易版贪吃蛇(面向对象)
废话不多说,代码如下: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
- CSS 技术关键字
CSS 技术关键字 元素 替换元素 非替换元素------替换元素和非替换元素的分类是CSS范畴内的,其它的分类都不属于CSS定义的 替换元素和非替换元素的定义是出于“我 ...
- 勉強すべきURL
http://www.atmarkit.co.jp/ait/articles/1403/19/news034_2.html http://webdesignerwork.jp/web/responsi ...