demo robot_arm ROS prj 詳細分析 catkin build
的輸出結果,並解釋其中包含的資訊:
=====================================
$ catkin build
- ---------------------------------------------------------------------------------------------------------------
- Profile: default
- Extending: [cached] /home/ubuntu/data/moveit_ws/devel:/home/ubuntu/data/test2_ws/devel:/opt/ros/noetic
- Workspace: /home/ubuntu/data/robotxtest5_ws
- ---------------------------------------------------------------------------------------------------------------
- Build Space: [exists] /home/ubuntu/data/robotxtest5_ws/build
- Devel Space: [exists] /home/ubuntu/data/robotxtest5_ws/devel
- Install Space: [unused] /home/ubuntu/data/robotxtest5_ws/install
- Log Space: [exists] /home/ubuntu/data/robotxtest5_ws/logs
- Source Space: [exists] /home/ubuntu/data/robotxtest5_ws/src
- DESTDIR: [unused] None
- ---------------------------------------------------------------------------------------------------------------
- Devel Space Layout: linked
- Install Space Layout: None
- ---------------------------------------------------------------------------------------------------------------
- Additional CMake Args: None
- Additional Make Args: None
- Additional catkin Make Args: None
- Internal Make Job Server: True
- Cache Job Environments: False
- ---------------------------------------------------------------------------------------------------------------
- Buildlisted Packages: None
- Skiplisted Packages: None
- ---------------------------------------------------------------------------------------------------------------
- Workspace configuration appears valid.
- ---------------------------------------------------------------------------------------------------------------
- [build] Found 2 packages in 0.0 seconds.
- [build] Package table is up to date.
- Starting >>> robot_arm_urdf
- Finished <<< robot_arm_urdf [ 0.2 seconds ]
- Starting >>> movit_robot_arm_sim
- Finished <<< movit_robot_arm_sim [ 0.1 seconds ]
- [build] Summary: All 2 packages succeeded!
- [build] Ignored: None.
- [build] Warnings: None.
- [build] Abandoned: None.
- [build] Failed: None.
- [build] Runtime: 0.3 seconds total.
工作區配置 (Workspace Configuration):
- 配置檔 (Profile):
default
- 表示使用的是 catkin 建構的預設配置。 - 擴充 (Extending):
/home/ubuntu/data/moveit_ws/devel:/home/ubuntu/data/test2_ws/devel:/opt/ros/noetic
- 這表示您的工作區正在擴充其他 ROS 工作區的devel
目錄,以及系統範圍的 ROS Noetic 安裝。這意味著如果您的當前工作區中找不到套件,它將使用在這些位置找到的套件。 - 工作區 (Workspace):
/home/ubuntu/data/robotxtest5_ws
- 您的 catkin 工作區的根目錄。 - 建構空間 (Build Space):
/home/ubuntu/data/robotxtest5_ws/build
- CMake 在此產生建構檔案。 - 開發空間 (Devel Space):
/home/ubuntu/data/robotxtest5_ws/devel
- 建構的可執行檔和程式庫放置在此處以進行開發。 - 安裝空間 (Install Space):
/home/ubuntu/data/robotxtest5_ws/install
- 如果您使用catkin install
,套件將安裝在此處。 - 日誌空間 (Log Space):
/home/ubuntu/data/robotxtest5_ws/logs
- 建構日誌儲存在此處。 - 原始碼空間 (Source Space):
/home/ubuntu/data/robotxtest5_ws/src
- 您的套件原始碼所在的位置。 - 開發空間佈局 (Devel Space Layout):
linked
-devel
空間已連結,表示它使用指向建構空間的符號連結。 - 安裝空間佈局 (Install Space Layout):
None
- 未使用安裝空間佈局。
建構過程 (Build Process):
[build] Found 2 packages in 0.0 seconds.
- Catkin 在您的工作區中找到了兩個套件。Starting >>> robot_arm_urdf
-robot_arm_urdf
套件的建構過程已開始。Finished <<< robot_arm_urdf [ 0.2 seconds ]
-robot_arm_urdf
套件在 0.2 秒內成功建構。Starting >>> movit_robot_arm_sim
-movit_robot_arm_sim
套件的建構過程已開始。Finished <<< movit_robot_arm_sim [ 0.1 seconds ]
-movit_robot_arm_sim
套件在 0.1 秒內成功建構。[build] Summary: All 2 packages succeeded!
- 您工作區中的所有套件都已成功建構。[build] Runtime: 0.3 seconds total.
- 總建構時間為 0.3 秒。
重點總結:
- 您的 catkin 工作區已正確配置。
- 兩個套件 (
robot_arm_urdf
和movit_robot_arm_sim
) 均成功建構,沒有錯誤。 - 建構時間非常快,表示套件可能很小或依賴項很少。
- 系統找到了你之前建立的工作空間,並對其進行擴充。如果多個工作空間中存在相同的套件,這可能會導致問題,因此請注意這一點。
總而言之,您的 catkin build
操作完全成功。
您現在可以使用 robotxtest5_ws/devel
目錄中的套件。
catkin install
的主要作用是將您的 ROS catkin 工作區中編譯好的套件,從 devel
開發空間複製到 install
安裝空間。
這個過程有以下幾個關鍵作用:
1. 建立可部署的套件:
devel
空間主要用於開發階段,其中包含的是連結到建構空間的符號連結和未完全整理的檔案。install
空間則提供了一個乾淨、獨立的套件安裝目錄,其中包含了所有需要的檔案(可執行檔、程式庫、設定檔等),方便您將這些套件部署到其他系統或分享給他人。
2. 簡化套件的發布和分享:
- 透過
catkin install
,您可以將工作區中的套件打包成一個易於管理的安裝目錄。 - 這使得您可以輕鬆地將套件複製到其他 ROS 環境,而無需重新編譯。
3. 整合到系統環境:
- 在某些情況下,您可能希望將 ROS 套件整合到系統的標準安裝目錄中。
catkin install
可以幫助您實現這一點,儘管通常 ROS 套件最好保持在 ROS 工作區內。
4. 區分開發與安裝:
- 將開發檔案和安裝檔案分開,有助於保持工作區的整潔和組織性。
- 這也避免了在開發過程中意外修改已安裝的套件。
總結來說:
catkin install
是一個將 ROS catkin 工作區中編譯好的套件進行「安裝」的過程,使其成為可以獨立部署和分享的套件。- 它主要用於建立一個乾淨、獨立的套件安裝目錄,方便您將這些套件部署到其他系統或分享給他人。
沒有留言:
張貼留言