ros多個小烏龜 ROS基本概念

2021-10-14 01:37:37 字數 1653 閱讀 6079

首先大家按照「ros 系統安裝與體驗」,按照命令執行的順序,將小烏龜程式啟動起來。

一. 節點管理器

啟動小烏龜程式,執行的第一條ros指令是roscore,此即啟動了乙個節點管理器,顧名思義,其作用就是用於節點管理,在乙個ros系統中,有且只有乙個,它是ros節點執行的前提,所以在執行啟動ros節點前,第一步都需要執行roscore。

roscore其實是啟動了三個程序,可以通過執行:

ps -ef|grep ros 命令,檢視程序資訊,如圖1:

乙個是roscore,乙個是rosmaster,乙個是rosout,roscore作為父程序,啟動後面兩個程序,rosmaster即為節點管理器,rosout是log輸出管理。

二 .node:

node 即節點,啟動小烏龜的第二條和第三條指令,分別啟動了兩個節點。節點是ros系統中兩大基本元件之一,乙個節點相當於乙個處理單元,其本質上是乙個程序。使用ps -ef|grep ros,如圖

執行結果如圖

總共三個節點,/rosout是roscore指令啟動的,用於log管理,下面兩個節點對應啟動小烏龜的兩個rosrun指令。

這裡啟動節點,使用的指令是rosrun,一條rosrun指令可以啟動乙個節點,其指令基本格式是:

rosrun package_name executable,

package_name為包名,executable為可執行程式名。rosrun本質是乙個shell指令碼,位於/opt/ros/kinetic/bin/rosrun,既然是指令碼,就方便支援一系列引數,這個後續用到在做介紹。

三. pacakge

pacakge即包,乙個包可以包含多個節點,ros應用程式發布時,通常都是以包為單位,在我們小烏龜例項中,包即是turtlesim,哪這個包中有幾個節點呢,可以通過如下指令檢視

rosrun turtlesim

然後按兩次tab鍵,如圖:

可以看到這個包中還有兩個節點,目前我們不需要,就不介紹了,有興趣可以自己研究下。

四. topic

topic 即話題,話題和節點是ros系統中兩大基本元件,節點是基本的處理單元,話題是基本的通訊單元,實現節點之間的通訊。和節點一樣,話題也有乙個專門的指令:rostopic,檢視目前系統有哪些話題,執行:

rostopic list

結果如圖:

可以看到,有五個話題。

五.訊息

訊息可視為話題的資料型別,每乙個話題都有乙個型別,其規定了乙個話題可以傳送什麼型別的資料,訊息也有其專有的指令rosmsg。

ROS小烏龜建立

ros啟動小烏龜 雖然過程還有很多failed沒完全看懂解決,但是還是記錄下來好好修正。以下逐條 實驗 建立ros工作環境 catkin 執行 mkdir p catkin ws src cd catkin ws src catkin init workspace cd catkin ws catk...

ROS 小烏龜測試

教程 1.維基 2.創客智造 1安裝環境配置 桌面進入命令列 echo source opt ros indigo setup.bash bashrc source bashrc2.1建立工作環境並編譯 生成的在home資料夾下 mkdir p catkin ws src cd catkin ws ...

ROS小烏龜測試

echo export display 0.0 bashrc source bashrc5 啟動ros master roscore6 另外開啟bash或cmder,輸入 rosrun turtlesim turtlesim node即可開啟乙個圖形視窗,並看到乙隻小烏龜。提示qstandardpa...