ROS檔案系統 catkin工作空間及程式包

2021-08-07 02:07:19 字數 1832 閱讀 8514

1.  檔案系統概念,包含兩部分:

(1)packages: 軟體包,是ros應用程式**的組織單元,每個軟體包都可以包含程式庫、可執行檔案、指令碼或者其它手動建立的東西。

(2)manifest (package.xml): 清單,是對軟體包相關資訊的描述,用於定義軟體包相關元資訊之間的依賴關係,這些資訊包括版本、維護者和許可協議等。

2. 檔案系統工具,專門的命令工具

(1)rospack find eg: rospack find roscpp

(2)roscd eg: roscd roscpp

(3)rosls eg: rosls roscpp_tutorials

1.建立catkin工作空間

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/src

2. 編譯該工作空間

cd ~/catkin_ws/src

catkin_make

3. 將該工作空間設定在ros工作環境的最頂層

source devel/setup.zsh

1.乙個catkin程式包的組成

a.該程式包必須包含catkin compliant package.xml檔案,這個package.xml檔案提供有關程式包的元資訊。

b.程式包必須包含乙個catkin 版本的cmakelists.txt檔案,而catkin metapackages中必須包含乙個對cmakelist.txt檔案的引用。

每個目錄下只能有乙個程式包,這意味著在同乙個目錄下不能有巢狀的或者多個程式包存在。

最簡單的程式包舉例;

my_package/

cmakelists.txt

package.xml

在catkin工作空間中的程式包
workspace_folder/        -- workspace

src/ -- source space

cmakelists.txt -- 'toplevel' cmake file, provided by catkin

package_1/

cmakelists.txt -- cmakelists.txt file for package_1

package.xml -- package manifest for package_1

...package_n/

cmakelists.txt -- cmakelists.txt file for package_n

package.xml -- package manifest for package_n

2.建立catkin程式包

cd ~/catkin_ws/src

catkin_create_pkg beginner_tutorials std_msgs rospy roscpp

格式為:catkin_create_pkg [depend1] [depend2] [depend3]

3.編譯caktin程式包

catkin_make

需要注意:build 目錄是build space的預設所在位置,同時cmake 和 make也是在這裡被呼叫來配置並編譯你的程式包。

devel 目錄是devel space的預設所在位置, 同時也是在你安裝程式包之前存放可執行檔案和庫檔案的地方。

建立ROS的catkin工作區

mkdir p catkin ws src cd catkin ws catkin make sudo gedit bashrc在.bashrc檔案中新增 source catkin ws devel setup.bash echo ros package path我的執行結果如下 記錄乙個疑惑 在...

ROS檔案系統

mkdir p catkin ws src cd catkin ws src catkin make echo source 路徑 bashrc ros中的package它不僅是linux上的軟體包,更是catkin編譯的基本單元,我們呼叫catkin make編譯的物件就是乙個個ros的packa...

ros 檔案系統

1.檔案系統概念 packages 軟體包,是ros應用程式 的組織單元,每個軟體包都可以額包含程式庫,可執行檔案,指令碼或者其它手動建立的東西。manifest package.xml 清單,是對於軟體包相關資訊的描述,用於定義軟體包相關元資訊之間的依賴關係,這些資訊包括版本,維護者和許可協議等。...