ROS學習(三)了解ROS節點

2021-10-25 15:22:31 字數 2917 閱讀 1173

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

訊息(messages):訂閱或發布主題(topic)時使用的ros資料型別。

主題(topic):節點可以將訊息發布到主題,也可以訂閱主題以接收訊息。

節點管理器(master):ros的名稱服務(即幫助節點相互查詢)

rosout:等效於stdout / stderr的ros

roscore:master + rosout +引數伺服器(引數伺服器將在以後介紹)

節點實際上只不過是ros包中的可執行檔案而已。ros節點使用ros客戶端庫與其他節點進行通訊。節點可以發布或訂閱主題。節點也可以提供或使用服務。

ros客戶端庫允許使用不同程式語言編寫的節點進行通訊:

roscore是使用ros時應該執行的第一件事。

執行:

$ roscore
你會看到類似的內容:

開啟乙個新的終端,讓我們使用rosnode來檢視執行roscore所做的。請記住,通過開啟新選項卡或將其最小化來保持前乙個終端處於開啟狀態。

rosnode 顯示有關當前正在執行的ros節點的資訊。該***rosnode list*** 命令列出了這些活動節點:

$ rosnode list
你將會看到:

/rosout
這向我們顯示只有乙個節點在執行:rosout。它在收集並記錄節點的除錯輸出時始終處於執行狀態。

該***rosnode info*** 命令返回有關特定節點的資訊。

$ rosnode info /rosout
這給了我們更多關於rosout的資訊,例如它發布了***/ rosout_agg***

rosrun 允許您使用功能包名稱直接執行功能包內的節點(而不必知道程式包路徑)。

用法:

$ rosrun [功能包名稱]

[節點名稱]

現在,我們可以執行turtlesim功能包中的turtlesim_node節點。

然後,在新的終端中(確保roscore要還在執行):

$ rosrun turtlesim turtlesim_node
你將會看到:

注意:在您的turtlesim視窗中,烏龜看起來可能有所不同。

新終端中

$ rosnode list
你會看到:

ros的一項強大功能是您可以從命令列重新分配名稱。

關閉turtlesim視窗以停止該節點(或返回rosrun turtlesim終端並使用ctrl-c)。現在讓我們重新執行它,但是這次使用「重對映引數」更改節點的名稱:

$ rosrun turtlesim turtlesim_node __name:

=my_turtle

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

你會看到:

/my_turtle

/rosout

我們看到了新的/ my_turtle節點。讓我們使用另乙個rosnode命令ping來測試它是否啟動:

ROS5 理解ROS節點

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

ROS學習筆記 三 ROS關鍵元件

介紹 描述一組節點及其話題重對映和引數的xml檔案 功能 實現多節點的配置和啟動 包括ros master的啟動 免去手動rosrun逐個啟動node的重複步驟 by xml檔案方式 launch檔案 基本格式 標籤 name node name 為節點指派名稱,這將會覆蓋掉ros init 定義的...

ROS建立節點

首先是自己第一次接觸ros遇到了好多的坑就想讓大家避免入坑,還有就是普及正確的東西首先我要抨擊一下這篇文章,讓許多人走了彎路浪費了大家的時間,對待發部落格一點都不嚴謹錯誤太多以下是位址按照我的做你會發現其實錯誤很簡單。很簡單就是幾條linux命令 mkdir p catkin ws src cd c...