5 理解ROS節點

2021-08-27 18:45:47 字數 4028 閱讀 6443

描述:這個教程介紹了ros圖表概念,討論了roscore,rosnode和rosrun命令列工具的使教程等級:初學者

下乙個教程:理解ros主題 內容

1.預先條件

2.圖表概念的快速瀏覽

3.節點

4.客戶庫

5.roscore

6.使用roscore

7.使用rosrun

8.複習

對於這份教程,我們將會使用輕量級的模擬器,安裝的命令如下:

$ sudo apt-get install ros--ros-tutorials

將你的ros的版本名(例如indigo, jade,kinetic)取代』< distro >』

乙個節點只不過是乙個ros package中的可執行檔案。ros節點使用乙個ros使用者庫來和其他節點通訊。節點可以發布或者訂閱乙個主題。節點也可以提供或使用服務。

ros使用者庫允許使用不同程式語言的節點相互通訊。

roscore是使用ros時首先應該執行的

請執行:

$ roscore

你將會見到類似的:

如果roscore沒有初始化,可能是網路設定問題,請看[network setup - single machine configuration](

如果roscore沒有初始化並傳送了一條關於缺少許可的資訊,可能是 ~/.ros資料夾被root擁有,遞迴地改變的資料夾的所有權:

$ sudo chown -r < your_username > ~/.ros

開啟乙個新的終端,讓我們使用rosnode來看看執行的roscore做了什麼,記住讓之前的終端開啟,通過開啟乙個新標籤頁或者簡單地最小化。

rosnode展示關於正在執行的ros節點的資訊。rosnode list命令列舉了這些活躍的節點:

$ rosnode list

你將會看見:

/rosout

這個向我們展示了這兒只有乙個節點在執行:rosout。這是一直在執行的,因為它收集並記錄節點的除錯輸出。

rosnode info命令返回關於某個明確節點的資訊。

$ rosnode info /rosout

這個給了我們更多關於rosout的資訊,比如它發布了/rosout_agg

現在,讓我們看一些其他的節點。為了這個,我們將會使用rosrun來建立另外乙個節點。

rosrun允許你使用package名,直接執行乙個節點,而不用乙個package(不需要知道package路徑)

用法:

$ rosrun [package_name] [node_name]

所以現在我們可以在turtlesim_node執行乙個turtlesim package

現在。在乙個新的終端中:

$ rosrun turtlesim turtlesim_node

你將會看見turtlesim window:

注意:這個turtle可能和你的視窗中看起來不一樣,別擔心,這兒有許多種類的turtle,你的是個驚喜。

在乙個新的終端中:

$ rosnode list

你將會看見類似於:

/rosout

/turtlesim

有乙個關於ros的特點是你可以從乙個命令列中重新命名。

$ rosrun turtlesim turtlesim_node __name:=my_turtle

現在,如果我們返回並使用rosnode list:

$ rosnode list

你將會看見一些類似於:

/my_turtle

/rosout

注意:如果你仍然看見/turtlesim在列表中,這可能意味著你通過在終端中輸入ctrl-c來停止節點,而不是關閉視窗,或者你沒有network setup - single machine configuration.中描述的$ros_hostname環境變數。你可以嘗試清除rosnode:$rosnode cleanup

我們看見我們新的/my_turtle節點。讓我們使用另外乙個rosnode命令,ping,來測試它已經執行了:

涉及的內容:

現在你已經理解了ros節點是如何工作的,讓我們看看ros主題是如何工作的。同樣地,請隨意按ctrl-c來停止turtlesim_node。

ROS節點理解 5

description 本教程主要介紹 ros 圖 graph 概念 並討論roscore rosnode和 rosrun 命令列工具的使用。1.先決條件 在本教程中我們將使用到乙個輕量級的模擬器,請使用以下命令來安裝 root zxwubuntu aspire v3 572g sudo apt g...

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 ...