ROS基礎入門——實操教程
前言
本教程實操為主,少說書。可供參考的文件中詳細的記錄了ROS的實操和理論,只是過於詳細繁雜了,看得腦殼疼,於是做了這個筆記。
前言:本文初編輯於2024年10月24日
CSDN主頁:https://blog.csdn.net/rvdgdsva
部落格園主頁:https://www.cnblogs.com/hassle
一、安裝【virtualbox】【Ubuntu】【ROS】
前人栽樹,後人乘涼
安裝virtualbox教程
安裝Ubuntu教程
安裝ROS教程
測試ROS教程
二、檔案建立
2.1建立工作空間和初始化
此處參考(選看)
在ubuntu主介面按下(ctrl + alt + T)開啟命令列,然後依次輸入下面的命令
mkdir -p test(這是自定義空間名稱,愛叫什麼叫什麼)/src
cd test(這是自定義空間名稱,愛叫什麼叫什麼)
catkin_make
生成了下面的檔案樹
....
└── test(資料夾,意為工作空間,第一行程式碼執行時被建立)
├── build(資料夾,意為編譯空間,第三行程式碼執行時被建立)
│ ├── ...
├── devel(資料夾,意為開發空間,第三行程式碼執行時被建立)
│ ├── setup.bash
│ ├── setup.sh
│ ├── ...
└── src(資料夾,第一行程式碼執行時被建立)
└── CMakeLists.txt (別動這個)
2.2匯入包
生成一個基於三個庫的ROS包,其中:roscpp是使用C++實現的庫,rospy是使用python實現的庫,std_msgs是標準訊息庫
cd src
catkin_create_pkg testpkg(這是ROS包名,愛叫什麼叫什麼) roscpp rospy std_msgs
此時src檔案樹變動
....
└── test
├── build
│ ├── ...
├── devel
│ ├── setup.bash
│ ├── setup.sh
│ ├── ...
└── src
└── CMakeLists.txt (別動這個!!!動的是下面那個同名檔案,別搞錯了)
└── testpkg
├── CMakeLists.txt(執行cpp和py程式碼需要修改此處)(2.4涉及此處)
├── include
│ └── testpkg
├── package.xml
└── src(此處存放cpp程式碼)(2.3涉及此處)
2.3 編寫Cpp與Py程式
Cpp詳細教程(教程濃縮成下面一句話了,看完教程感覺腦子很亂的話照著下面的話去做就行)
一句話概括:需要在src(原始檔空間)······> testpkg(ROS包名,愛叫什麼叫什麼)······> src資料夾(用於存放cpp檔案)中存放編寫好的cpp檔案
Py詳細教程(同上)
一句話概括:需要在src(原始檔空間)······> testpkg(ROS包名,愛叫什麼叫什麼)······> scripts資料夾(用於存放py檔案,需要手動建立該資料夾)中存放編寫好的py檔案
2.4 Cmakelist.txt檔案改寫
2.4.1Cpp程式:
在自定義命名包的 CMakeLists.txt(執行cpp和py程式碼需要修改此處)內修改第136行和第149-151行 為
具體行數因版本不同可能有所變動
注意對映名(對映名就是隨便寫的名,別寫test就行)可與cpp原始檔名相同
add_executable(對映名
src/原始檔名.cpp
)
target_link_libraries(對映名
${catkin_LIBRARIES}
)
2.4.2python程式:
在自定義命名包的 CMakeLists.txt(執行cpp和py程式碼需要修改此處)內修改第162-165行 為
具體行數因版本不同可能有所變動
注意這裡Py程式是不需要對映名的
catkin_install_python(PROGRAMS scripts/原始檔名.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
2.5編譯並執行程式
2.5.1Cpp程式:
在自定義空間名稱(2.1中建立的)中按下(ctrl + alt + T)開啟命令列,依次輸入
catkin_make
roscore
在自定義空間名稱(2.1中建立的)中按下(ctrl + alt + T)開啟另一個命令列,依次輸入
source ./devel/setup.bash
rosrun 包名(2.2中建立的) 對映名(2.4中建立的)
2.5.2Python程式:
在自定義空間名稱(2.1中建立的)中按下(ctrl + alt + T)開啟命令列,依次輸入
chmod +x 原始檔名.py
catkin_make
roscore
在自定義空間名稱(2.1中建立的)中按下(ctrl + alt + T)開啟另一個命令列,依次輸入
source ./devel/setup.bash
rosrun testpkg(ROS包名,愛叫什麼叫什麼,2.2中建立的) 原始檔名.py(2.4中建立的)