zoukankan      html  css  js  c++  java
  • 理解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 150

    这条命令执行完成后,我们会发现背景颜色并没有发生变化,对了我们得刷新一下,怎么刷新呢,这条命令我们已经学过了哦:

    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等命令行工具.

  • 相关阅读:
    ABP框架插件开发
    ionic 向路由中的templateUrl(模板页)传值
    EFT4 生成实体类
    mvc 下的 signalR使用小结
    利用javascript实现页面截图
    linux定时任务php
    PHPCMSV9的CKEDITOR编辑器增加行距
    上传网站后建议执行:chown www:www -R /path/to/dir 对网站目录进行权限设置,/path/to/dir替换为你网站目录。
    centOS7下安装GUI图形界面
    虚拟机中的Linux安装VMware Tools的方法
  • 原文地址:https://www.cnblogs.com/stemon/p/4188149.html
Copyright © 2011-2022 走看看