1. 程式人生 > >ROS 服務和引數:ROS Services and Parameters

ROS 服務和引數:ROS Services and Parameters

1,ROS 服務是另一種節點通訊方式;允許節點之間傳送請求和接收回復。

2,rosservice命令可以很容易通過services建客戶端/伺服器通訊架構(C/S);

      rosservice命令下有很多子命令可用:

rosservice list         print information about active services
rosservice call         call the service with the provided args
rosservice type         print service type
rosservice find         find services by service type
rosservice uri          print service ROSRPC uri

3,rosservice list檢視服務清單命令:

$ rosservice list

4,rosservice type型別服務:

格式:

rosservice type [service]

舉例1:

$ rosservice type /clear

舉例2:

 (例2是針對我自己電腦服務中個例,命令細節可能不適合你)

$  rosservice type /rostopic_4115_1534565720508/get_loggers

5,rosservice call呼叫服務:

格式:

rosservice call [service] [args]

命令:

$ rosservice call /clear

就是呼叫清屏命令,可以發現前面軌跡被清除掉了(圓圈軌跡是清屏命令之後還在轉圈產生的新軌跡)

再調一個機器人turtle2:
$ rosservice type /spawn | rossrv show
$ rosservice call /spawn 2 2 0.2 ""

6,rosparam 引數命令:

[email protected]:~$ rosparam  
rosparam is a command-line tool for getting, setting, and deleting parameters from the ROS Parameter Server.

Commands:
    rosparam set    set parameter
    rosparam get    get parameter
    rosparam load    load parameters from file
    rosparam dump    dump parameters to file
    rosparam delete    delete parameter
    rosparam list    list parameter names

7,rosparam list:引數列表

$  rosparam list

[email protected]:~$  rosparam list
/background_b
/background_g
/background_r
/rosdistro
/roslaunch/uris/host_uu_hp_elitebook_6930p_notebook_pc__39289
/rosversion
/run_id
[email protected]:~$

8,rosparam set and rosparam get引數設定和獲取

改變背景顏色:

$ rosparam set /background_r 150

呼叫重新整理服務:
$ rosservice call /clear

獲取背景引數:

$ rosparam get /background_g 

   $ rosparam get /background_r

獲取引數:

   $ rosparam get /

***********************************************************************************

[email protected]:~$ rosparam get /background_g
86
[email protected]:~$ rosparam get /background_r
150
[email protected]:~$ rosparam get /background
ERROR: Parameter [/background] is not set
[email protected]:~$ rosparam get /
background_b: 255
background_g: 86
background_r: 150
rosdistro: 'melodic

  '
roslaunch:
  uris: {host_uu_hp_elitebook_6930p_notebook_pc__39289: 'http://uu-HP-EliteBook-6930P-Notebook-PC:39289/'}
rosversion: '1.14.2

  '
run_id: 61dd105e-a293-11e8-90ab-00216a949182

[email protected]:~$

******************************************************************************

9,rosparam dump and rosparam load引數下載和載入:

格式:

rosparam dump [file_name] [namespace]
rosparam load [file_name] [namespace]

命令:

下載儲存引數到*.yaml檔案

$ rosparam dump params.yaml

載入引數

$ rosparam load params.yaml copy
$ rosparam get /copy/background_b

****************************************

[email protected]:~$ rosparam dump uu.yaml
[email protected]:~$ rosparam load uu.yaml copy
[email protected]:~$ rosparam get /copy/background_b
255
[email protected]:~$ rosparam get /copy/background_r
150
[email protected]:~$ rosparam get /copy/background_g
86
[email protected]:~$

*****************************************

通過上面下載儲存載入後,可以看到RGB引數對應數值還是正確的。