1. 程式人生 > >ROS學習之路(二)檔案系統

ROS學習之路(二)檔案系統

    在ROS的檔案包裡面,有純粹的程式碼,也有編譯後的二進位制檔案。如何將這些檔案有條不紊的整理起來呢?於是就有了下面這種檔案系統:

  1. 對於每一個特定的功能,用一個資料夾包起來,就是所謂的功能包: (1)config:放置功能包中的配置檔案,由使用者建立,檔名可以不同 (2)include:放置需要的標頭檔案 (3)scripts:放置可以直接執行的python指令碼 (4)src:放置需要編譯的C++原始碼 (5)launch:放置功能包中所有的啟動檔案 (6)msg:放置功能包中自定義的訊息型別 (7)srv:放置功能包中自定義的服務型別 (8)action:放置功能包中自定義的動作型別 (9)CMakeList.txt:編譯器編譯功能包的規則 (10)package.xml:功能包清單,用於記錄功能包基本資訊,如作者、許可、依賴選項、編譯標誌資訊等。
  2. 當需要執行一系列功能以達到某種效果時(例如導航效果:需要建模,定位,控制小車行走等多個功能包),就需要一個清單檔案把這些相關的功能包都組織起來,就是所謂的元功能包。元功能包中只有一清單(.xml檔案),與功能包清單類似。

    值得注意的是:

功能包清單中有<build_depend>和<run_depend>標籤,分別是編譯所需要的和執行所需要的檔案

元功能包清單中在結尾有一個:

<export>
    <matepackage/>
</export>

另外,元功能包清單不需要<build_depend>,只需要<run_depend>。