ROS学习记录(四)服务与参数

ROS学习笔记系列是对 ROS中文教程的记录总结。
笔记四包括:

  • 4.1 ROS服务
  • 4.2 ROS参数

4.1 ROS 服务和参数

4.1.1 ROS服务概念

思考话题 是怎样的一种模式呢?大家“各抒己见”、“各取所需”,但是发的消息有没有人听,能不能读到消息,那是另外一回事。

服务(service) 模式是怎样的呢?简单说,一个请求(request) ,一个响应(response)。值得注意的是,这里的请求是指重置 (reset), 清除 (clear), 再生 (spawn), 终止 (kill) 等,响应即完成对应的操作。

4.1.2 ROS服务指令: rosservice

指令功能
rosservice list输出当前各节点可用的服务
rosservice call [服务] [服务所需参数]调用服务
rosservice type [服务]输出服务类型
rosservice find [服务类型]根据服务类型寻找服务
rosservice uri [服务]输出服务

如果您刚刚打开终端,需要先运行ROS并创建一个小海龟节点,在不同终端运行以下指令:

$ roscore 
$ rosrun turtlesim turtlesim_node

在新的终端输入以下指令

rosservice list                   #查看可用服务
rosservice type spawn             #查看 再生 指令的用法
rosservice call spawn 2 2 0.2 ""  #再生一只小乌龟,位置为 (2, 2) ,头转动 0.2rad,名称默认(为turtle2)

ROS服务指令可见,当前有 clear 等一系列服务可以用;spwan 是turtlesim 库的一个Spawn 类;执行再生指令后生成了一只新的小乌龟。


4.2 ROS参数指令: rosparam

如果说ROS服务用来让节点完成指定的操作,那么ROS参数用来设计一些细节。

ROS方法如下:

指令功能
rosparam list列出可用的参数
rosparam set [参数] [值]设置参数
rosparam get [参数]获取参数
rosparam load [文件名]从文件读取参数
rosparam dump [文件名] [命名空间]向文件写入参数
rosparam delete [参数]删除参数

执行以下指令

$ rosparam list                  #查看当前可用参数方法
$ rosparam set background_r 150  #设置背景红色分量为150
$ rosservice call clear          #清空刷新服务器,设置才有效
$ rosparam get background_r      #查看红色分量值

rosparam测试rosparam list 返回可见,前三个都是设置背景颜色的;我们把红色分量修改为 150,清空服务,然后就可以看到背景颜色变了;我们也可以使用 rosparam get查看当前的值。

我们也可以把当前数据写入文件,指令如下:

$ rosparam dump params.yaml       #将所有参数写入params.yaml 文件
$ gedit params.yaml               #查看params.yaml 文件
$ rosparam load params.yaml copy  #将params.yaml 文件加入 copy 命名空间
$ rosparam get copy/background_b  #放在命名空间之后,可以更加方便获取数据

小结
ROS话题(上一节)、ROS服务和ROS参数 分别用于实现哪些功能?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大强强小强强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值