• 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 示例

     

    作者:kay
    出处:https://www.cnblogs.com/kay2018/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    msfvenom常用脚本生成
    CC攻击防护方法
    上传漏洞分类
    cmd下载文件(利用powershell)
    发送HTTP请求的新姿势
    (转载).NET Core 深度克隆对象,引用类型的平行世界
    使用VMware安装centos7并配置网络
    (转载)这才是真正的远程开发——VS Code Remote 环境搭建
    (转载)基于Vue,ElementUI开发的一款表单设计器
    (转载)VMWare VMNet 8 的配置使用
  • 原文地址:https://www.cnblogs.com/kay2018/p/10319624.html
Copyright © 2020-2023  润新知