ROS學習筆記(2)之建立我的第乙個ros工程

2021-09-26 00:09:30 字數 1956 閱讀 3639

雖然這時候工作區是空的,但是我們依然可以進行編譯:

$ cd ~/catkin_ws/  

$ catkin_make  

這時候,會在當前資料夾下生成devel,build這兩個子資料夾,在devel資料夾下能看到幾個setup.*s**件。 

接下來把工作區在bash中註冊

$ source devel/setup.bash 

上面這句話只是將bas**件註冊到了當前終端裡,如果重新重新開啟乙個新的終端,必須重新註冊。還有乙個一勞永逸的做法,就是將這句話直接寫進.bashrc中,這樣每次開啟終端,就會自動執行上面的那句話,具體操作如下:

$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

注意:如果你的路徑跟我的不一樣請按照你自己的路徑來寫。

我們也可自己來驗證一下是否新增成功:

$ vim ~/.bashrc

你會在bashrc檔案的最後一行看到你新增的語句:

我寫了三次這裡就出現了三句話。

切換到工作區:

$ cd ~/catkin_ws/src

建立乙個名叫first_pkg的工程包,並依賴於roscpp

$ catkin_create_pkg first_pkg roscpp

這個時候src目錄先就會出現乙個叫做first_pkg的資料夾,這就是我們的工程包目錄,可以直接一直這個工程包目錄的。工程包目下面同樣也自動生成了一些檔案:

這個src資料夾就是我們放原始檔的地方。在裡面建立乙個hello.cpp的原始檔,編譯器就根據自己的喜好,內容如下:

#include int main(int argc,char ** ar**)
這個時候我們從終端進入到原始檔的路徑,並ls進行檢視:

如果原始檔的名字是白色,那麼就說明這個檔案沒有可執行許可權,如下語句給檔案可執行許可權:

$ chmod +x hello,cpp

如果源檔名變成彩色,就說明此原始檔有可執行許可權。

注意修改的是first_pkg資料夾下的cmakelist.txt檔案

當你開啟這個檔案的時候可能有點懵,裡面的內容有很多,但是大部分都被注釋掉了,你不用管別的,只需在檔案的末尾新增兩句;

add_executable(hello ./src/hello.cpp)

target_link_libraries(hello $)

注意:如果你是新手,只需將這兩句放到檔案的最後就行了,因為裡面的語句有一定的先後順序。

$ cd ~/catkin_ws

$ catkin_make

$ roscore

重新開啟乙個新的終端:

$ rosrun first_pkg hello

[ info] [1565320144.849849081]: hello,ros!

注釋:聽說,這行輸出的數字代表時間,從2023年1月1號開始以秒計時。

ROS2學習筆記之建立啟動檔案篇

3 ros2 launch 4.用rqt graph檢視節點關係圖 總結學習目標 能夠通過啟動檔案啟動乙個複雜的ros系統 在前面的教程當中我們每次都要開啟兩個終端去啟動節點,今後我們會有越來越多的節點,這種操作將會變得十分無聊。啟動檔案可以同時啟動多個節點,同時對他們進行配置。通過ros2 lau...

ROS2學習筆記之了解ros2doctor篇

總結學習目標 學會使用ros2doctor工具分析出現的問題 當ros2沒有安裝我們預期的設定執行的時候,我們可以用ros2doctor工具檢查ros2的設定。ros2doctor對ros2全面的檢查,包括平台 版本 連線情況 環境 執行的系統等等。然後給出可能的錯誤和原因。ros2doctor是乙...

ROS2學習筆記之rosbag篇

總結後續 學習目標 記錄發布在話題上的訊息,方便我們後期檢視 ros2 bag是乙個命令列工具用於記錄話題上發布的訊息。他可以儲存任意數量話題上的訊息內容。我們可以通過資料回放實現實驗場景的重現。同時這也是和他人分享資料的好方法。我們首先安裝ros2 bag sudo apt install ros...