三 理解ROS Nodes(節點)

2021-06-28 00:24:12 字數 1700 閱讀 7362

1.首先安裝一款輕型**器

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

用自己當前安裝的ros版本替換,如hydro、groovy、electric、fuerte、indigo等。

2.基本概念

nodes:節點,一種可執行檔案,在ros中與其他nodes進行交流。

messages:ros中的一種資料型別,用於發布或訂閱topics。

topics:nodes將messages發布或到某個topic,或者訂閱topic以接受messages。

masters:ros中名稱伺服器,用於通過名稱找到各節點。

rosout:等價於標準輸出/標準錯誤輸出。

roscore:master+rosout+parameter server.

3.roscore

使用ros時,首先執行roscore,這是個好習慣。

$ roscore

如果roscore沒有初始化,則可能是網路配置出了問題。

4.使用rosnode

新建乙個terminal(ctrl+shift+t),執行 $ rosnode list,檢視當前執行的所有節點。

再執行 $ rosnode info [node_name]可以檢視詳細資訊。

5.使用rosrun

用法: $ rosrun [package_name] [node_name]

此時執行, $ rosnode list

$ rosnode ping [node_name]

補充:1. $ rosrun [package_name] [node_name],其中的 node_name 實際上是 package_name中的乙個可執行檔案。node一般與graph結合,通過topics, rpc services, parameter server相互交流。nodes在乙個細分的量級上執行,乙個機械人控制系統通常包含很多nodes。

例如,乙個node

控制雷射測距儀,乙個

node

控制機械人輪子電機,乙個

node

執行定位,乙個

node

執行路徑規劃,乙個

node

提供系統的圖形檢視,等等。

為解析node

型別,ros

搜查package

中的所有含指定名稱的可執行檔案,並選擇它找到的第乙個。因此,我們要注意,不要在相同

package

下生成同名的不同內容的可執行檔案。

ros node使用

ros client library

編寫,比如

roscpp

、rospy.

2.node重新命名

語法: node_name:=new_name.

注意: 上文提到的$ rosrun [package_name] [node_name],此處的[node_name]並不是真正的節點名,而是生成的可執行檔案的名稱。

以 $rosrun turtlesim turtlesim_node _name:=my_turtle為例,此處使用了特殊名稱_name,表示專案中的節點名(該用法僅適用於專案中只有乙個節點的情況);實際上真正的節點名為turtlesim,我們可以用turtlesim代替_name.

而ros中類似的用法除了_name外,還有_log, _ip&_hostname, _master, _ns.一般不支援使用。

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

節點操作 (三)

遍歷節點樹 function function css dom function 設定元素的color input eq 1 click function 設定元素的fontsize和backgroundcolor input eq 2 click function 獲取元素的高度 input eq...