1. 程式人生 > 其它 >ros工作空間中資料夾結構

ros工作空間中資料夾結構

1、build:編譯空間

存放CMake和catkin的快取資訊、配置資訊和其他中間檔案。

2、devel:開發空間

存放編譯後生成的目標檔案,包括標頭檔案、動態&靜態連結庫、可執行檔案等。

3、src:源空間

存放功能包(package)。

功能包是ROS檔案系統中組織程式檔案的基本單元,也就是catkin編譯的基本單元。一個 package 下必須包含 CMakeLists.txt 和 package.xml 兩個檔案:

  • CMakeLists.txt 檔案中規定了功能包的編譯規則,包括指定功能包名稱,指定編譯依賴項,指定要編譯的原始檔,指定要新增的訊息格式檔案/服務格式檔案/動作格式檔案
    ,指定生成的訊息/服務/動作,指定標頭檔案搜尋目錄,指定連結庫搜尋目錄,指定生成的靜態連結庫檔案,指定需要連結的庫檔案,指定編譯生成的可執行檔案以及路徑等等。
  • package.xml 檔案定義了功能包的屬性資訊,包括包名,版本號,作者,編譯依賴和執行依賴等。

另外,

  • include 和 src 分別存放標頭檔案(*.h)和源程式檔案(*.c/*.cpp等);
  • scripts 存放指令碼檔案(比如Python檔案 *.py,shell檔案 *.sh);
  • launch 存放 launch檔案(*.launch),用於批量執行多個可執行檔案
  • config 存放配置檔案(*.yaml等);
  • msg以及srv存放自定義的通訊格式檔案,包括訊息(*.msg)、服務(*.srv)
  • urdf存放定義機器人模型檔案(*.urdf

4、install:安裝空間

即開發完成後的安裝包。

我們嚮往遠方,卻忽略了此刻的美麗