****:ziyuanw#foxmail.com(#換成@)除了上篇文章中節點之間通過訊息通訊之外,服務是使節點之間相互通訊的另一種方法。服務允許節點傳送請求和接收響應。
命令工具:
rosservice [parameter]
可接受引數:
①rosservice list:列出活動服務
②rosservice call/service:根據命令列引數呼叫服務
③rosservice find msg-type:根據服務型別查詢服務
④rosservice info /service:輸出服務資訊
⑤rosservice args/service:輸出服務引數
⑥rosservice type/service:輸出服務型別
⑦rosservice uri/service:輸出rosrpc uri 服務
同樣以小海龜案例做演示:
開啟ctrl+shift+t兩個新終端,執行小海龜案例:
roscore
rosrun turtlesim turtlesim_node
ctrl+shift+t開啟第三個終端,鍵盤方向鍵控制小海龜移動:
rosrun turtlesim turtle_teleop_key
ctrl+shift+t開啟第四個終端,檢視服務列表:
rosservice type /clear
呼叫服務:
rosservice call /clear
會發現剛才小海龜的移動軌跡線被清除了。
檢視服務型別:
rosservice type /spawn
檢視訊息引數:
rossrv show turtlesim/spawn
呼叫服務:在不同方向的另外乙個位置建立另外乙隻名為"my_turtle"的小海龜。
rosservice call /spawn 4 4 0.4 "my_turtle"
儲存著所有當前工作空間節點均可訪問的資料。ros中使用rosparam工具來對其進行管理。
rosparam [param]
可用引數如下:①rosparam list:列出所有引數
②rosparam get /:獲取引數值《預設後獲得所有引數值》
③rosparam set parameter value:設定引數值
④rosparam load file:從檔案載入引數
⑤rosparam dump [filename]:將引數轉儲到檔案
⑥rosparam delete parameter:刪除引數
檢視引數列表:
rosparam list
檢視所有引數值:
設定畫布背景色r通道為255:
rosparam set /background_r 255
執行修改了引數的值,需要呼叫清除服務使得修改後的引數生效:
儲存引數伺服器:
rosparam dump myparam.yaml
載入資料引數檔案:
rosparam load [file_name] [namespace]
載入資料引數到命名空間(我這裡起名為new):
rosparam load myparam.yaml new
檢視新的引數空間中引數(因為載入的引數來自我儲存的myparam.yaml,所以引數值相同):
至此,使用服務與引數伺服器基本完畢。
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 六 服務與引數
服務是節點之間可以相互通訊的另一種方式。服務允許節點傳送請求並接收響應。rosservice可以通過服務輕鬆附加到ros的客戶端 服務框架。rosservice有許多可用於服務的命令,如下所示 rosservice list 列印資訊活動服務 rosservice call 使用所提供的引數呼叫服務...
ROS引數伺服器(引數使用詳細介紹)
引數伺服器是可通過網路訪問的共享的多變數字典。它是節點儲存引數的地方 用於配置引數 全域性共享引數。引數伺服器使用網際網路傳輸,在節點管理器中執行,實現整個通訊過程。它使用xmlrpc資料型別為引數賦值,包括以下型別 32位整數 布林值 字串 雙精度浮點 iso 8601日期 列表 list 基於6...