ROS學習筆記(六) ROS服務與引數 命令列總結

2021-10-07 09:46:48 字數 3451 閱讀 6487

roscore:為ros提供名稱服務+rosout+引數伺服器

usage:

$ roscorerosnode:用於獲取節點資訊的ros工具

usage:

$ rosnode再根據提示輸入命令列

rosrun:從給定軟體包中執行節點

usage:

$ rosrun [package_name] [node_name]rqt_graph:能夠建立乙個顯示當前系統運**況的動態圖形

usage:

$ rosrun rqt_graph rqt_graph

ros topics:

通過鍵盤遠端控制節點和node_name節點之間是通過乙個ros話題來互相通訊的。通過鍵盤遠端控制在乙個話題上發布按鍵輸入訊息,而package_name則訂閱該話題以接收該訊息。下

rostopic echo:可以顯示在某個話題上發布的資料

usage:

$ rostopic echo [topic]

rostopic list:能夠列出所有當前訂閱和發布的話題

usage:

$ rostopic list -h

rostopic type:用來檢視所發布話題的訊息型別

usage:

$ rostopic type [topic]

rostopic pub:可以把資料發布到當前某個正在廣播的話題上

usage:

$rostopic pub [topic] [msg_type] [args]

示例:rostopic pub -1 /turtle1/cmd_vel geometry_msgs/twist -- '[2.0, 0.0, 0.0]' '[0.0, 0.0, 1.8]'

以上命令會傳送一條訊息給turtlesim,告訴它以2.0大小的線速度和1.8大小的角速度開始移動

解釋:rostopic pub:這條命令將會發布訊息到某個給定的話題;

-1 :(單個破折號)這個引數選項使rostopic發布一條訊息後馬上退出;

/turtle1/command_velocity:這是訊息所發布到的話題名稱;

turtlesim/velocity:這是所發布訊息的型別(rostopic type檢視);

「- -」:(雙破折號)這會告訴命令選項解析器接下來的引數部分都不是命令選項。這在引數裡面包含有破折號-(比如負號)時是必須要新增的;

2.0 1.8:正如之前提到的,在乙個turtlesim/velocity訊息裡面包含有兩個浮點型元素:linear和angular。在本例中,2.0是linear的值,1.8是angular的值。這些引數其實是按照yaml語法格式編寫的,這在yaml文件中有更多的描述;

rostopic pub -r:發布乙個穩定的命令流;

如果想維持乙個運動狀態,需要乙個穩定的頻率為1hz的命令流來保持移動狀態:

usage:

$ rostopic pub /turtle1/command_velocity turtlesim/velocity -r 1--

2.0-

1.8

rostopic hz:可以用來檢視資料發布的頻率

usage:

$rostopic hz [topic]
rqt_plot:可以實時顯示乙個發布到某個話題上的資料變化圖形

usage:

$ rosrun rqt_plot rqt_plot
這會彈出乙個新視窗,在視窗左上角的乙個文字框裡面你可以新增需要繪製的話題。在裡面輸入/turtle1/pose/x後之前處於禁用狀態的加號按鈕將會被使能變亮。

ros services:

服務(services)是節點之間通訊的另一種方式。服務允許節點傳送請求(request) 並獲得乙個響應(response)

rosservice:可以很輕鬆的使用 ros 客戶端/伺服器框架提供的服務

usage:

rosservice list         輸出可用服務的資訊

rosservice call 呼叫帶引數的服務

rosservice type 輸出服務型別

rosservice find 依據型別尋找服務find services by service type

rosservice uri 輸出服務的rosrpc uri

rosservice list : 輸出可用服務的資訊

usage:

$ rosservice list
rosservice type:輸出服務型別

usage:

rosservice type

[service]

rosservice call:呼叫帶引數的服務

usage:

rosservice call [service]

[args]

16.rosparam:使得我們能夠儲存並操作ros 引數伺服器(parameter server)上的資料

usage:

rosparam set            設定引數

rosparam get 獲取引數

rosparam load 從檔案讀取引數

rosparam dump 向檔案中寫入引數

rosparam delete 刪除引數

rosparam list 列出引數名

17.rosparam set and rosparam get

usage:

rosparam set

[param_name]

rosparam get [param_name]

示例:

修改背景顏色的紅色通道:

$ rosparam set background_r 150

上述指令修改了引數的值,現在我們呼叫清除服務使得修改後的引數生效:

$ rosservice call clear

18.rosparam dump and rosparam load

usage:

rosparam dump [file_name]

rosparam load [file_name]

[namespace]

ROS學習筆記(六)理解ROS服務和引數

1.ros 服務 服務 services 是節點間通訊的另一種方法,服務允許節點傳送乙個服務或者接收乙個服務 2.使用rosservice 一些相關用法 rosservice list print information about active services rosservice call c...

ros學習筆記 ros的服務

服務 services 是節點之間通訊的另一種方式。服務允許節點傳送請求 request 並獲得乙個響應 response rosservice 可以很輕鬆的使用 ros 客戶端 伺服器框架提供的服務。rosservice 提供了很多可以在 topic 上使用的命令,如下所示 使用方法 rosser...

初探ros 六 服務與引數

服務是節點之間可以相互通訊的另一種方式。服務允許節點傳送請求並接收響應。rosservice可以通過服務輕鬆附加到ros的客戶端 服務框架。rosservice有許多可用於服務的命令,如下所示 rosservice list 列印資訊活動服務 rosservice call 使用所提供的引數呼叫服務...