ROS服务和参数


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

1.使用rosservice

rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。rosservice提供了很多可以在topic上使用的命令,如下所示:

  • rosservice list 输出可用服务的信息
  • rosservice call 调用带参数的服务
  • rosservice type 输出服务类型
  • rosservice find 依据类型寻找服务find services by service type
  • rosservice uri 输出服务的ROSRPC uri
1.1 rosservice list

$ rosservice list

1.2 rosservice type

rosservice type [service]

1.3 rosservice call

rosservice call [service] [args]

带参数的服务:
显示服务所需的参数格式:
rosservice type [service]| rossrv show

调用服务:
rosservice call [service] 参数

2.使用rosparam

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

  • rosparam set 设置参数
  • rosparam get 获取参数
  • rosparam load 从文件读取参数
  • rosparam dump 向文件中写入参数
  • rosparam delete 删除参数
  • rosparam list 列出参数名
2.1 rosparam list

查看参数服务器都有那些参数:
$ rosparam list

2.2 rosparam set and rosparam get

rosparam set [param_name]
rosparam get [param_name]
使用方法:
rosparam set [param_name] 参数
参数重置之后需要刷新:
rosservice call clear
查看参数服务器上的参数值:
rosparam get [param_name]
显示参数服务器上的所有内容:
$ rosparam get /

2.3 rosparam dump and rosparam load

rosparam dump [file_name]
rosparam load [file_name] [namespace]
存储这些信息以备今后重新读取,将所有的参数写入params.yaml文件:
$ rosparam dump params.yaml

甚至可以将yaml文件重载入新的命名空间,比如说copy空间:
$ rosparam load params.yaml copy

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值