welcom ! Handel home

2025年6月23日 星期一

ROS2 建立 my_maze_world 迷宮模型的 package

以下是你要建立 my_maze_world 這個 ROS 2 Humble 套件的完整流程與建議放置位置,包含:

  1. 建立 ROS 2 package

  2. 放置 STL 模型、SDF 檔、world 檔、launch 檔

  3. 編譯與啟動


✅ 1. 推薦放置目錄

請在你的 ROS 2 開發空間(通常是 ~/ros2_ws)中操作:

bash
cd ~/ros2_ws/src ros2 pkg create --build-type ament_cmake my_maze_world

這會產生以下目錄結構:

css
ros2_ws/ └── src/ └── my_maze_world/ ├── CMakeLists.txt ├── package.xml

✅ 2. 加入 STL / SDF / world / launch 等資源檔案

建議加入以下資料夾結構:

lua
my_maze_world/ ├── CMakeLists.txt ├── package.xml ├── launch/ │ └── maze_world.launch.py ├── meshes/ │ └── maze_model.stl ├── models/ │ └── maze/ │ ├── model.config │ └── model.sdf ├── worlds/ │ └── maze.world ├── resource/ │ └── ...

✅ 3. 修改 CMakeLists.txt(加入安裝設定)

請在 CMakeLists.txt 加入:

cmake
install(DIRECTORY launch models meshes worlds DESTINATION share/${PROJECT_NAME} )

✅ 4. 修改 package.xml(加入依賴)

加入 gazebo 相關依賴(必要時):

xml
<exec_depend>gazebo_ros</exec_depend>

✅ 5. 編譯套件

bash
cd ~/ros2_ws colcon build --packages-select my_maze_world source install/setup.bash

✅ 6. 啟動模擬環境

bash
ros2 launch my_maze_world maze_world.launch.py

確保你有正確安裝 Gazebo 並設好環境變數(如:GAZEBO_MODEL_PATH


✅ 7. 設定 GAZEBO_MODEL_PATH(讓 Gazebo 找到模型)

bash
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/ros2_ws/install/my_maze_world/share/my_maze_world/models

建議你可以加入 .bashrc

bash
echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$HOME/ros2_ws/install/my_maze_world/share/my_maze_world/models' >> ~/.bashrc source ~/.bashrc

✅ 範例專案完成後執行畫面

成功後你會看到:

  • Gazebo 啟動,載入 ground_plane、sun、maze.stl 迷宮模型

  • 可手動放入機器人進行 SLAM、Nav2 等應用


如果你需要我幫你建立這個 ROS 2 my_maze_world package 的初始專案 zip 包,包含:

  • STL 測試模型

  • Gazebo 世界檔

  • SDF 模型定義

  • 含啟動 launch 的完整專案

也可以提供,請告訴我你要的格式。

沒有留言: