ROS節點理解 5

2021-09-07 04:51:05 字數 3701 閱讀 1265

)

description:本教程主要介紹 ros 圖(graph)概念 並討論roscore、rosnode和 rosrun 命令列工具的使用。

1.先決條件

在本教程中我們將使用到乙個輕量級的模擬器,請使用以下命令來安裝:

root@zxwubuntu-aspire-v3-572g:~#  sudo apt-get install ros--ros-tutorials
用你使用的ros發行版本名稱(例如electric、fuerte、groovy、hydro等)替換掉''。

2.圖概念概述

3.節點

乙個節點其實只不過是ros程式包中的乙個可執行檔案。ros節點可以使用ros客戶庫與其他節點

通訊。節點可以發布或接收乙個話題。節點也可以提供或使用某種服務。

4.客戶端庫

ros客戶端庫允許使用不同程式語言編寫的節點之間互相通訊:

5.roscore

roscore 是你在執行所有ros程式前首先要執行的命令。

root@zxwubuntu-aspire-v3-572g:~# roscore
然後你會看到類似下面的輸出資訊::

如果 roscore 執行後無法正常初始化,很有可能是存在網路配置問題。參見 :

如果 roscore 不能初始化並提示缺少許可權,這可能是因為~/.ros資料夾

歸屬於root使用者(只有root使用者才能訪問),修改該資料夾的使用者歸屬關係:

root@zxwubuntu-aspire-v3-572g:~# sudo chown -r ~/.ros
6.使用rosnode開啟乙個

新的終端, 可以執行 rosnode list

root@zxwubuntu-aspire-v3-572g:~# sudo rosnode list
這表示當前只有乙個節點在執行: rosout。因為這個節點用於收集和記錄節點調

試輸出資訊,所以它總是在執行的。

rosnode info 命令返回的是關於乙個特定節點的資訊。

root@zxwubuntu-aspire-v3-572g:~# rosnode info /rosout
這給了我們更多的一些有關於rosout的資訊, 例如,事實上由它發布/rosout_agg.

現在,讓我們看看更多的節點。為此,我們將使用rosrun 彈出另乙個節點。

7.使用 rosrun

rosrun 允許你使用包名直接執行乙個包內的節點(而不需要知道這個包的路徑)。

用法:

$ rosrun [package_name] [node_name]
現在我們可以執行turtlesim包中的 turtlesim_node。

然後, 在乙個新的終端:

root@zxwubuntu-aspire-v3-572g:~# rosrun turtlesim turtlesim_node
你會看到 turtlesim 視窗:

注意:這裡的 turtle 可能和你的 turtlesim 視窗不同。別擔心,這裡有許多版本的turtle ,而你的是乙個驚喜!

在乙個新的終端:

root@zxwubuntu-aspire-v3-572g:~# rosnode list
你會看見類似於:

ros的乙個強大特性就是你可以通過命令列重新配置名稱。

關閉 turtlesim 視窗停止執行節點 (或者回到rosrun turtlesim終端並使用`ctrl

root@zxwubuntu-aspire-v3-572g:~# rosrun turtlesim turtlesim_node __name:=my_turtle
現在,我們退回使用 rosnode list:

注意: 如果你仍看到 /turtlesim在列表中,這可能意味著你在終端中使用ctrl-c停

止節點而不是關閉視窗,或者你沒有$ros_hostname環境變數,這在

中有定義。你可以嘗試清除rosnode

列表,通過:

root@zxwubuntu-aspire-v3-572g:~# rosnode cleanup
我們可以看到新的/my_turtle 節點。使用另外乙個 rosnode 指令, ping,:

8.回顧

本節所涉及的內容:

到這裡,您已經了解了ros節點是如何工作的。

5 理解ROS節點

描述 這個教程介紹了ros圖表概念,討論了roscore,rosnode和rosrun命令列工具的使教程等級 初學者 下乙個教程 理解ros主題 內容 1.預先條件 2.圖表概念的快速瀏覽 3.節點 4.客戶庫 5.roscore 6.使用roscore 7.使用rosrun 8.複習 對於這份教程...

ROS5 理解ROS節點

這篇教程會介紹ros圖概念和並討論roscore rosnode和rosrun命令的使用。1.預備條件 這裡會使用輕量級的模擬器,先安裝 sudo apt get install ros ros tutorials 1將替換成你的ros版本名稱。2.圖概念的快速概覽 節點 nodes 節點是乙個利用...

5 理解ros服務

ros服務 service 是節點間交流的另外一種方式,服務類似於web中的服務端與客戶端的概念,節點類似乙個客戶端,可以發出乙個請求 request 然後接受乙個響應 response 此命令的用法如下 rosservice list print information about active ...