ROS學習(六)—— 理解ROS節點


一、准備工作

    下載一個輕量級的模擬器

sudo apt-get install ros-kinetic-ros-tutorials

 

 

二、圖概念的理解

1、Nodes:一個節點就是一個可執行文件,用來與其他節點進行通信

2、Topic:話題,節點可以發布消息到話題,也可以訂閱話題以接受消息。

3、Master:節點管理器,幫助節點找到彼此

4、rosout:

5、roscore:主機 + rosout + 參數服務器

 

三、節點

     一個節點不過是ROS程序包中的一個可執行文件

(1)ROS節點可以使用ROS客戶庫與其他節點通信

(2)節點可以發布或者接受一個話題。

(3)節點可以提供或使用某項服務

 

四、客戶端庫

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

  • rospy = python 客戶端庫

  • roscpp = c++ 客戶端

 

五、Roscore

   是執行所有ROS程序前必須執行的指令,執行后會出現如圖信息

 

六、使用rosnode

     打開新的終端,使用rosnode去看看運行orscore所做的。(什么鬼)

1、rosnode顯示當前運行的ROS節點信息。

rosnode list       列出活躍的節點

 

    此時應該會看到

   這表示只有一個節點在運行,而rosout是用來收集和記錄節點調試輸出信息的,所以它總是運行。

 

2、rosnode info  這條命令可以返回一個特定節點的信息。

rosnode info /rosout

 

   這樣返回了很多關於rosout的相關信息

 

 

七、使用rosrun

1、作用:

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

2、用法:

rosrun [package_name] [node_name]

 

3、一個例子

   運行:

rosrun turtlesim turtlesim_node

 

   出現

在一個新的終端中運行:

rosnode list

 

     可以看到有2個節點在運行

 

然后重要的是ROS一個很強大特性:可以通過命令行重新配置名稱

     首先,關閉前面所有的終端(使用Ctrl +C),關閉之后運行

rosrun turtlesim turtlesim_node __name:=my_turtle

 

  現在,我們退回使用 rosnode list,會輸出

 

/rosout
/my_turtle

 

 

 八、rosnode全部api

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM