ROS-ROS命令(五) rosservice:ROS服务

1.概述

  首先温习服务术语。

命令详细说明
rosservice list显示活动的服务信息
rosservice info [服务名称] 显示指定服务的信息
rosservice type [服务名称] 显示服务类型
rosservice find [服务类型] 查找指定服务类型的服务
rosservice uri [服务名称] 显示ROSRPC URI服务
rosservice args [服务名称] 显示服务参数
rosservice call [服务名称] [参数]用输入的参数请求服务

  在运行ROS服务相关例子之前先关闭所有节点。通过在不同的终端窗口中运行以下命令来运行turtlesim_node和turtle_teleop_key。

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

2.rosservice list:显示活动的服务信息

  显示活动中的服务的信息。会显示在同一网络中使用的所有服务。

rosservice list

3.rosservice info [服务名称]:显示指定服务的信息

  以下是使用rosservice的info选项查看/turtle1/set_pen服务的节点名称、URI、类型和参数的示例。

rosservice info /turtle1/set_pen

4.rosservice type [服务名称]:显示服务类型

  在以下示例中,可以看到/turtle1/set_pen服务是turtlesim/SetPen类型。

 rosservice type /turtle1/set_pen

5.rosservice find [服务类型]:查找指定服务类型的服务

  以下示例搜索turtlesim/SetPen类型的服务。因此,可以看到搜索出/turtle1/set_pen。

 rosservice find turtlesim/SetPen

 6.rosservice uri [服务名称]:显示ROSRPC uri服务

  用户也可以使用rosservice的uri选项来检查/turtle1/set_pen服务的ROSRPC URI,如下所示:

 rosservice uri /turtle1/set_pen

7.rosservice args [服务名称]:服务参数输出

  我们来看看/turtle1/set_pen服务的每个参数,如下例所示,该命令显示在/turtle1/set_pen服务中使用r、g、b、width和off参数。

 rosservice args /turtle1/set_pen

8.rosservice call [服务名称] [参数]:用输入的参数服务请求

  以下示例是请求/turtle1/set_pen服务的命令。所使用的“255 0 0 5 0”是对应于用于/turtle1/set_pen服务的参数(r,g,b,width,off)的值。红色的r的最大值是255,因为g和b都是0,所以笔的颜色是红色的。width设置为5,off为0(假)。rosservicecall是一个非常有用的命令,通常用于测试服务。

 rosservice call /turtle1/set_pen 255 0 0 5 0

  通过使用前面的命令,发送了服务请求,更改了turtlesim中使用的笔的属性,并且从turtle_teleop_key中下达了下移命令。作为结果,可以从下面图中看到原来是白色的笔色显示为红色。

rosservice call 示例

 

 

转载于:https://www.cnblogs.com/kay2018/p/10319624.html

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值