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