建立ROS工作空間 & 功能包簡介
- 1、工作空間
- 2、功能包
-
- 2.1、簡介
- 2.2、檔案結構
- 3、程式設計實作
1、工作空間
工作空間 (workspace) 是一個存放工程開發相關檔案的檔案夾。一個工作空間裡通常包含四個檔案夾:
src:代碼空間 (Source Space)
build:編譯空間 (Build Space)
devel:開發空間 (Development Space)
install:安裝空間 (Install Space)
2、功能包
2.1、簡介
功能包,又稱為 package,指的是一種特定的檔案結構和檔案夾組合。通常将實作同一個具體功能的程式代碼放到一個package中,比如實作相機資料采集這一功能。
2.2、檔案結構
- CMakeLists.txt: 定義package的包名、依賴、源檔案、目标檔案等編譯規則,是package不可少的成分;
- package.xml:描述package的包名、版本号、作者、依賴等資訊,是package不可少的成分 ;
- src:存放ROS的源代碼,包括C++的源碼和(.cpp)以及Python的module(.py) ;
- include:存放C++源碼對應的頭檔案 ;
- scripts:存放可執行腳本,例如shell腳本(.sh)、Python腳本(.py) ;
- msg:存放自定義格式的消息(.msg) ;
- srv:存放自定義格式的服務(.srv) ;
- models:存放機器人或仿真場景的3D模型(.sda, .stl, .dae等) ;
- urdf:存放機器人的模型描述(.urdf或.xacro) ;
-
launch:存放launch檔案(.launch或.xml)
通常ROS檔案組織都是按照以上的形式,這是約定俗成的命名習慣,建議遵守。以上路徑中,隻有 CMakeLists.txt 和 package.xml 是必須的,其餘路徑根據軟體包是否需要來決定。
3、程式設計實作
以下所用到的指令解釋清檢視我的另一篇文章《ROS常用指令》。
mkdir catkin_ws
cd catkin_ws/
mkdir src
cd src/
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash