1.概述node
首先温习服务术语。网络
命令 | 详细说明 |
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:显示活动的服务信息3d
显示活动中的服务的信息。会显示在同一网络中使用的全部服务。code
rosservice list
3.rosservice info [服务名称]:显示指定服务的信息blog
如下是使用rosservice的info选项查看/turtle1/set_pen服务的节点名称、URI、类型和参数的示例。table
rosservice info /turtle1/set_pen
4.rosservice type [服务名称]:显示服务类型class
在如下示例中,能够看到/turtle1/set_pen服务是turtlesim/SetPen类型。bfc
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 示例