welcom ! Handel home

2025年11月13日 星期四

ROS1 catkin build 介紹



🛠️ catkin build 介紹

catkin build 是一個用於建構(build)ROS (Robot Operating System) 專案的指令。它是 catkin_make 的一個更現代、更強大的替代品,設計用於建構大型的 Catkin 工作空間(workspace)。

核心功能與優勢

  1. 平行建構 (Parallelism):

    • catkin build 最重要的優勢之一是它能自動利用您的電腦的多核處理器,同時建構多個套件 (packages)。這顯著加快了大型工作空間的建構時間。

  2. 單一套件建構 (Isolating Package Builds):

    • 如果某個套件建構失敗,catkin build 通常可以更清楚地指示是哪個套件出錯,而且只會嘗試重新建構失敗的套件及其相依項,而不是整個工作空間。

  3. 更清晰的輸出 (Better Output):

    • 它提供了一個更簡潔、更具組織性的終端機輸出,讓您可以一目了然地看到哪些套件正在建構、哪些已完成,以及建構所需的時間。

  4. 隔離的建構空間 (Isolated Build Space):

    • catkin build 會在工作空間(通常是 src 資料夾的父目錄)中建立一個獨立的 build 資料夾來存放所有中間建構檔案,而不是像 catkin_make 一樣將所有東西都放在一個 devel 資料夾中。

    • 它還提供一個隔離的安裝空間 (isolated install space),這對於建立發行版或測試單一套件的安裝效果很有幫助。

基本使用

1. 安裝 (如果尚未安裝)

catkin build 並不屬於 ROS 的核心安裝,但通常會隨 ROS 系統一起安裝。如果沒有,您可能需要安裝它:

Bash
sudo apt update
sudo apt install python3-catkin-tools

或對於舊版 ROS (如 Melodic/Kinetic):

Bash
sudo apt update
sudo apt install python-catkin-tools

2. 建立 Catkin 工作空間

您需要一個標準的 Catkin 工作空間結構。

Bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace # 建立一個空的 CATKIN_IGNORE 檔案
cd ..

3. 執行建構

在您的工作空間根目錄(例如 ~/catkin_ws)下執行:

Bash
catkin build
  • 建構特定的套件:

    Bash
    catkin build <package_name>
    
  • 清除並重新建構 (Clean and Build):

    Bash
    catkin clean # 清除建構檔案
    catkin build
    

4. 設定環境

建構完成後,您需要將新的執行檔路徑加入到您的終端機環境中,這樣您才能執行您建構的節點 (nodes):

Bash
source ~/catkin_ws/devel/setup.bash
# 如果您使用了 --install 選項,則改為
# source ~/catkin_ws/install/setup.bash

總結

特性catkin buildcatkin_make
平行建構預設啟用,效率更高需手動使用 -j 參數
工作空間結構有單獨的 build 資料夾,更乾淨建構結果都放在 devel
指令介面提供更多選項,更清晰的輸出較為基本
推薦用途推薦用於所有 Catkin 工作空間適用於簡單、單一套件的建構

您是否希望我進一步介紹 catkin build 的常用選項(例如:-j--install--cmake-args)或是說明 如何將現有的 catkin_make 工作空間轉換為使用 catkin build 呢?

沒有留言: