ROS 2 Humble + Gazebo Fortress + NVIDIA RTX 4070 Dockerfile
要讓 ROS 2 Humble + Gazebo Fortress 在 NVIDIA RTX 4070 上運行,需要使用 NVIDIA Docker(nvidia-container-toolkit),並確保容器內可使用 CUDA 和 NVIDIA 驅動。
🔹 Dockerfile 設計重點
- 基於
nvidia/cuda
官方映像,確保 CUDA 正確安裝。 - 安裝 ROS 2 Humble 和 Gazebo Fortress。
- 安裝
nvidia-container-toolkit
來支援 GPU 加速。 - 啟用 OpenGL 與 Vulkan,確保 GUI 可運行。
- 適用於 Ubuntu 22.04,並支援 NVIDIA RTX 4070。
🚀 Dockerfile:ROS 2 + Gazebo + NVIDIA GPU
🔹 建立 Docker 映像
在 Dockerfile
所在的目錄執行:
這將建立 支援 RTX 4070 GPU 的 ROS 2 Humble + Gazebo Fortress Docker 環境。
🔹 運行容器並使用 GPU
執行 Docker 容器,並確保使用 NVIDIA Docker:
📌 參數說明
--gpus all
:允許容器訪問所有 GPU。--net=host
:確保 Gazebo 和 ROS 2 通訊正常。-e DISPLAY=$DISPLAY
:允許 GUI(Gazebo 界面)顯示。-v /tmp/.X11-unix:/tmp/.X11-unix
:共享 X11 來顯示 Gazebo 界面。
🔹 測試 GPU 是否可用
在容器內執行:
如果能看到 GPU 設備資訊,表示 NVIDIA Docker 設定成功。
也可以測試 OpenGL:
如果回傳:
表示 GPU 可用。
🔹 測試 Gazebo
1️⃣ 啟動 Gazebo
在 Docker 容器內執行:
這將打開一個 Gazebo 模擬場景,如果畫面正常顯示,代表 Gazebo 與 GPU 配置成功。
2️⃣ 檢查 ROS 2 話題
開啟另一個終端,執行:
你應該會看到 Gazebo 發布的話題,例如:
📌 結論
這個 Dockerfile
建立了一個 支援 NVIDIA RTX 4070 的 ROS 2 Humble + Gazebo Fortress 環境,並確保:
- NVIDIA GPU(CUDA) 可用
- Gazebo Fortress 正確運行
- 支援 OpenGL、Vulkan
- 可以顯示 Gazebo GUI
🚀 現在你可以在 Docker 環境中使用 Gazebo 來進行 ROS 2 模擬了! 🎉
沒有留言:
張貼留言