2rosservice
24 rosservice find
25 rosservice uri
3rosparam
服務(services)是節點之間通訊的另一種方式。服務允許節點傳送請求(request) 並獲得乙個響應(response)
rosservice可以很輕鬆的使用 ros 客戶端/伺服器框架提供的服務。rosservice提供了很多可以在topic上使用的命令輸出可用服務的資訊,即節點可以做出的行為
比如當turtlesim執行時新開乙個終端輸入該命令,返回有若干若干種服務可供挑選。
*話說 沒有說明為什麼會指向turtlesim?《試驗了開啟節點turtle_teleop_key>然而還是返回turtlesim的服務
呼叫帶引數的服務,args就是引數=-=,只是標誌不用打
輸出服務型別
比如
$ rosservice type /turtle1/set_pen
返回
turtlesim/setpen
服務的型別為setpen,這表明在呼叫請求這個服務需要遞交setpen資料,這就是小烏龜走路那個路徑的筆刷啦=-=不過我也不知道setpen型別資料在哪看呢還
*服務前的路徑要一行一行抄,不然會返回unknow service[啥啥啥]
1.2.3.1)an example of spawn
spawn是再生,在turtlesim裡生乙隻新小烏龜。(總是小烏龜小烏龜的好煩(這輸入法好煩我為什麼懶得去弄輸入法。
之前list指令知道了都有哪些服務,樓下這個指令是為了看spawn的引數型別。就跟看乙個結構體裡面的變數一樣。
$ rosservice type
spawn| rossrv
show
然後會返回
float32 x 初始座標x
float32 y 初始座標y
float32 theta 初始朝向
string name xx名字
...string name yy名字
看完以後就可以使用它了。
$ rosservice call spawn 2
20.2
""
依照型別尋找服務
輸出服務的rosrpc uri
rosparam使得我們能夠儲存並操作ros 引數伺服器(parameter server)上的資料(比如剛剛那個set_pen現在能看有什麼顏色可以選了)。引數伺服器能夠儲存整型、浮點、布林、字串、字典和列表等資料型別。rosparam使用yaml標記語言的語法。一般而言,yaml的表述很自然:1 是整型, 1.0 是浮點型, one是字串, true是布林, [1, 2, 3]是整型列表, 是字典. rosparam有很多指令可以用來操作引數,如下所示:設定引數
*在修改了引數後,要$ rosservice call clear
才能使其生效
獲取引數
*如果是$ rosparam get /
可以顯示引數伺服器上的所有內容
從檔案讀取引數(將yaml檔案重載入新的命名空間,比如說copy空間:
$ rosparam load
params.yaml copy
$ rosparam get copy/background_b
向檔案中寫入引數,將所有的引數寫入params.yaml檔案:
$ rosparam dump params.yaml
刪除引數
列出引數名,官例:
$ rosparam list
返回顯示turtlesim節點在引數伺服器上有3個引數用於設定背景顏色
*所以為什麼直接指向turtlesim=-=為什麼直接顯示背景色
/background_b //藍通道
/background_g //綠
/background_r //紅
/roslaunch/uris/aqy:51932
/run_id
ROS服務和引數
根據小海龜的例子講解ros服務和引數。首先啟動 roscore rosrun turtlesim turtlesim node rosrun turtlesim turtle teleop key 一 ros服務 服務是節點相互通訊的另一種方式。服務允許節點傳送請求並接收響應。二 rosservic...
ROS入門 1 10 理解ROS服務和引數
目錄 ros services 使用rosservice rosservice list rosservice type rosservice call using rosparam rosparam list rosparam set and rosparam get rosparam dump ...
ROS服務和引數的分析
目錄 準備 ros services 使用rosservice rosservice list 輸出可用服務的資訊 rosservice call 呼叫帶引數的服務 rosservice type 輸出服務型別 rosservice find 依據型別尋找服務find services by ser...