ROS5 理解ROS節點

2021-08-28 17:04:58 字數 2800 閱讀 4447

這篇教程會介紹ros圖概念和並討論roscore、rosnode和rosrun命令的使用。

1.預備條件

這裡會使用輕量級的模擬器,先安裝

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

1將替換成你的ros版本名稱。

2.圖概念的快速概覽

節點(nodes):節點是乙個利用ros來與其他節點通訊的可執行檔案。

訊息(messages):在頂閱或推送乙個主題(topic)時使用的ros資料型別。

主題(topics):節點可以向主題公布(publish)訊息或向主題訂閱(subscribe)來接受其訊息。

主控(master):ros的名稱服務。

rosout:stdout/stderr的ros等價物。

roscore:master+rosout+引數(parameter)伺服器。

3.節點

節點僅是ros包中的乙個可執行檔案。ros節點利用乙個ros客戶端庫(client library)來與其他節點通訊。節點可以向乙個主題(topic)公布或訂閱訊息;也能利用或提供乙個服務(service)。

4.客戶端庫

ros客戶端庫允許節點被寫入不同的程式語言來通訊:

5.roscore

在使用ros時首先執行roscore。

roscore

1你會看到類似這樣的訊息:

若roscore未初始化,則需進行網路配置。

若roscore沒有初始化並傳送了缺少許可權的訊息,則~/.ros資料夾被root所有,遞迴地改變那個資料夾的所屬:

$ sudo chown -r ~/.ros

16.使用rosnode

新開啟乙個終端,使用rosnode來看執行的roscore做的。。。

rosnode顯示關於現在執行的ros節點的資訊。rosnode list命令累出這些活動的節點。

$ rosnode list

1你會看到

/rosout

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

接下來用rosrun來建立另乙個節點。

7使用rosrun

rosrun使用包的名稱來直接在乙個包內執行乙個節點(而不必知道包的路徑)。

$ rosrun [package_name] [node_name]

1現在執行turtlesim包中的turtlesim_node。開啟乙個新的終端,並執行:

$ rosrun turtlesim turtlesim_node

1就可以看到一下視窗:

你看到的turtlesim可能會不同。

在新終端中輸入rosnode list就會看到多了turtlesim節點。

可以在命令列給節點重新命名。關閉turtlesim視窗一結束該節點並使用乙個重對映引數重新執行此命令來改變節點的名稱:

$ rosrun turtlesim turtlesim_node --name:=my_turtle

1$ rosnode ping my_turtle

1這會看到:

8.回顧

這篇教程包含了:

5 理解ROS節點

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

ROS節點理解 5

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

5 理解ros服務

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