ROS 学习应用篇(六)参数的使用与编程

19 篇文章 0 订阅

 node可能不在一个电脑里但是这些服务的参数信息是共享的,因为话题Topic是异步的所以只有服务Service有实时参数信息可以调用。

接下来将演示服务参数信息的调用与修改。

创建功能包(工作空间src文件夹下)

catkin_create_pkg learning_parameter roscpp rospy std_srvs

想要运行下面这些代码首先要先开启一个rosmaster

  • rosparam list % 列出当前包有多少参数
  • rosparam get param_key % 显示某一个参数的值
  • rosparam set param_key  param_value % 更改param_key的值为param_value
  • rosparam dump file_name % 保存参数到file_name文件,应该是.yaml格式
  • rosparam load file_name % 读入file_name文件中的参数
  • rosparam delete param_key %删除某一个参数
  • rosparam add param_key % 添加某一个参数,没有这个指令,应该是因为这些指令都要在rosmaster开启通信的状态下进行,这个过程是不能添加参数的。

以小海龟为例,打开一个小海龟节点

rosrun turtlesim turtlesim_node

rosparam list %结果如下:

获取某一个参数

rosparam get /turtlesim/background_b % 要按照给出的目录级别来输入参数。

更改参数

rosparam set /turtlesim/background_g 255

清除旧版设置

只有清除旧版的设置才能改变小海龟的北背景颜色。


保存参数

rosparam dump param.yaml% 可以在文件名字前添加制定的文件目录,如果没加就是保存到当前的目录下。

也可以修改yaml文件,然后通过load加载命令加载,同样需要再输入一次clear命令才会更新更改后的参数。

接下来是以代码的方式获取参数、更改参数、上传参数。

引入库

C++                                                                                 Python

这里的empty是用来送入空服务以实现刷新功能的包

节点初始化

C++                                                                                 Python

参数读取

C++                                                                                 Python

参数修改

C++                                                                                 Python

 参数再次读取

C++                                                                                 Python

 调用服务

调用服务送入空数据以实现刷新

 C++                                                                                 Python

确定主函数段

C++                                                                                 Python

CMakelist.tx

备注

所有的参数前要加/turtlesim ,因为我的版本是ros1,我的小海龟的参数是有一个前缀文件夹的要不补齐,背景才会变色。

更多内容见Parameter Server - ROS Wiki

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值