以下是對你這個 ros2_ws3
工作區結構的解析與說明:
scssros2_ws3
├── build
│ ├── roscar4wheel
│ ├── roscar4wheel2
│ ├── roscar4wheel3
│ ├── roscardemo4wh_full
│ └── ros_maze_house_world
├── install
│ ├── roscar4wheel
│ ├── roscar4wheel2
│ ├── roscar4wheel3
│ ├── roscardemo4wh_full
│ └── ros_maze_house_world
├── log
│ ├── build_YYYY‑MM‑DD_HH‑MM‑SS (一長串的建置記錄)
│ └── latest → 指向最新一次的建置
└── src
├── roscar4wheel
├── roscar4wheel2
├── roscar4wheel3
├── roscardemo4wh_full
└── ros_maze_house_world
1. src/
:原始程式碼
-
每個子資料夾就是一個 ROS 2 套件
-
roscar4wheel
、roscar4wheel2
、roscar4wheel3
:漸進式開發的差速四輪車套件版本 -
roscardemo4wh_full
:教學範例整合了 IMU、LiDAR、Nav2、SLAM Toolbox -
ros_maze_house_world
:典型的 Gazebo 世界場景模擬
-
-
在
src/
下編輯、加入或刪除程式碼後,只要 re‐build,改動就會生效。
2. build/
:中繼編譯檔案
-
colcon build
時,所有 CMake/gcc 產生的中間檔都會放在這裡,分套件管理。 -
如果你想清除編譯緩存,可刪除整個
build/
(或單一子資料夾)。
3. install/
:最終安裝輸出
-
每個套件編譯並安裝後的結果(library、執行檔、launch、URDF、config 等)都在這裡。
-
source install/setup.bash
後,ROS 2 就會把這些內容納入環境變數(AMENT_PREFIX_PATH
、ROS_PACKAGE_PATH
)中。
4. log/
:建置日誌
-
每一次
colcon build
都會產生一個 timestamped 的 log 資料夾,存放詳細的編譯錯誤、警告,以及測試輸出。 -
latest
這個符號連結指向最近一次建置的日誌,方便你快速查閱最新錯誤。
🛠️ 常用操作
-
全新編譯
[bash]$cd ros2_ws3 $colcon build --symlink-install # 建議開發時加上 --symlink-install
-
清理重建
[bash]$rm -rf build/ install/ log/ $colcon build
-
啟用環境
[bash]$source install/setup.bash $ros2 run <package_name> <executable> $ros2 launch <package_name> <launch_file>.launch.py
🔍 小結
-
src/
放所有套件原始碼 -
build/
放編譯時的中間檔 -
install/
放最終安裝成果,透過source
即可使用 -
log/
放每次建置的詳細紀錄
這種標準的 ROS 2 工作區結構,讓你能夠輕鬆地在同一個工作區裡並行開發、測試多個不同版本或範例套件。
任何更動都在 src/
,一鍵 colcon build
,快速迭代!
沒有留言:
張貼留言