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

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM