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
******************************************************************************
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引數對應數值還是正確的。