以下是對你這個 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,快速迭代!
沒有留言:
張貼留言