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

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

相關文章
相關標籤/搜索