ROS 2 Humble 與 Gazebo 版本對應
在 ROS 2 Humble 版本中,推薦使用 Gazebo Fortress 或 Ignition Gazebo Fortress 來進行模擬。
- Gazebo Classic(Gazebo 11) 仍然可以與 ROS 2 Humble 搭配,但 Gazebo Classic 逐步被 Ignition Gazebo(現在改名為 Gazebo)取代。
- Gazebo Fortress 是 Ignition Gazebo 系列的 LTS 版本,與 ROS 2 Humble 兼容性最佳,並且會持續獲得官方支持。
對應表
ROS 2 版本 | 建議 Gazebo 版本 | 備註 |
---|---|---|
Humble | Gazebo Fortress (Ignition) | 建議使用 |
Humble | Gazebo 11 (Gazebo Classic) | 仍可使用,但未來不建議 |
官方建議新專案使用 Gazebo Fortress,因為 Gazebo Classic(Gazebo 11)未來可能不再更新。
Dockerfile:ROS 2 Humble + Gazebo Fortress
以下 Dockerfile
會:
- 基於 ROS 2 Humble 建立 Docker 環境。
- 安裝 Gazebo Fortress。
- 安裝
ros_gz
(Gazebo 與 ROS 2 的整合工具)。 - 測試 Gazebo 來確保安裝成功。
🔹 Dockerfile
構建 Docker 映像
在 Dockerfile
所在的目錄執行:
這將建立 包含 ROS 2 Humble 和 Gazebo Fortress 的 Docker 映像。
測試 Gazebo
1️⃣ 啟動 Docker 容器
運行 ROS 2 和 Gazebo 容器:
使用 --net=host
可以讓 Gazebo 使用 X11 來顯示 GUI(如果在 Linux 環境下運行)。
2️⃣ 測試 Gazebo
在 Docker 內執行:
這將打開一個簡單的 Gazebo 模擬場景。
3️⃣ 測試 ROS 2 與 Gazebo 通訊
運行 Gazebo
在新終端檢查 ROS 2 話題
你應該會看到一些 Gazebo 發布的話題,例如:
結論
這個 Dockerfile
能夠快速建立 ROS 2 Humble + Gazebo Fortress 環境,並測試 ROS 2 與 Gazebo 的通訊。
📌 適用場景
- 開發 ROS 2 與 Gazebo 整合的機器人模擬
- 確保 Gazebo 在 Docker 內可正常運行
- 減少在本機安裝 Gazebo 的負擔
🚀 現在你可以使用 Gazebo Fortress 來模擬 ROS 2 機器人了! 🎉
沒有留言:
張貼留言