7.2 使用rosservice
rosservice可以很轻松的使用 ROS 客户端/服务器框架提供的服务。rosservice提供了很多可以在topic上使用的命令,如下所示:
使用方法:
7.2.1 rosservice list
list 命令显示turtlesim节点提供了9个服务:重置(reset), 清除(clear), 再生(spawn), 终止(kill), turtle1/set_pen, /turtle1/teleport_absolute, /turtle1/teleport_relative, turtlesim/get_loggers, and turtlesim/set_logger_level.
同时还有另外两个rosout节点提供的服务: /rosout/get_loggers and /rosout/set_logger_level.
我们使用rosservice type命令更进一步查看clear服务:
7.2.2 rosservice type
使用方法:
我们来看看clear服务的类型:
服务的类型为空(empty),这表明在调用这个服务是不需要参数(比如,请求不需要发送数据,响应也没有数据)。下面我们使用rosservice call命令调用服务:
7.2.3 rosservice call
使用方法:
因为服务类型是空,所以进行无参数调用:
正如我们所期待的,服务清除了turtlesim_node的背景上的轨迹。 通过查看再生(spawn)服务的信息,我们来了解带参数的服务:
这个服务使得我们可以在给定的位置和角度生成一只新的乌龟。名字参数是可选的,这里我们不设具体的名字,让turtlesim自动创建一个。
服务返回了新产生的乌龟的名字:
现在我们的可以看到2只乌龟
Last updated