當然可以,這裡提供你一套 完整的 ORB-SLAM3 Docker 啟動與使用範例,適合你在乾淨環境中測試自有資料(像你之前處理的影片轉影格 + rgb.txt
)。
🧱 假設你的資料結構如下:
Docker 會以當前目錄 orbslam3_ws/
作為 build context,所以你必須確保:
🧩 修正步驟如下:
1️⃣ 複製 ORB-SLAM3 原始碼到該資料夾
這樣會產生:
2️⃣ 確認 Dockerfile
與 ORB_SLAM3
是同層
🧰 Dockerfile(支援 ORB-SLAM3 + GTSAM)
🏗️ 建立 Docker 映像
▶️ 啟動 Docker 容器並掛載資料
🚀 Docker 容器內啟動 ORB-SLAM3(Monocular)
🎥 建議影格大小與 fps 與 camera.yaml
中一致(640x480、30Hz 等)
📄 camera.yaml 範例
🧪 執行結果
你會看到:
-
OpenCV 視窗顯示影像與特徵點
-
Pangolin 視窗顯示相機軌跡與建圖結果
結束後按 Ctrl+C
,可在 terminal 中看到 summary 與儲存軌跡(可改程式匯出)
📁 Optional:將 pose 輸出為檔案
你可以編輯 Examples/Monocular/mono_tum.cc
:
然後重新 make
,即可輸出 .txt
軌跡供你做後續分析或轉成 /odom
✅ 總結:快速跑 ORB-SLAM3 流程
如果你要跑 stereo / RGB-D / Mono+IMU 模式,我也可以幫你整理範例指令,或者加入 rosbag
播放、ROS Bridge 支援。
你是否要我幫你整合 docker + rosbag + ORB-SLAM3 自動啟動腳本?還是打包你的影片流程成一鍵跑 slam 的容器?我可以幫你完成 ✅
=== use Docker image cchicc/orb_slam3_ubuntu20.04 =========================
你提到的 Docker 映像:
cchicc/orb_slam3_ubuntu20.04
包含ORB-SLAM3
+Ubuntu 20.04
+ROS Noetic
這是一個非常適合直接使用的容器環境,用來部署 ORB-SLAM3 到 ROS Noetic 專案中。
✅ 如何使用這個 Docker 映像
1️⃣ 拉取映像:
2️⃣ 執行容器(含 GUI 顯示與掛載)
這樣你就可以把你原本的影像資料(如 slam_frames
+ rgb.txt
)掛入 /root/my_dataset
使用。
3️⃣ 容器內使用範例
📁 相機設定 camera.yaml
範例
如果你沒有內參,可先用這個:
🎯 適合用於:
-
✅ 開箱即用 ORB-SLAM3 測試影片
-
✅ 配合 rosbag 播放
/camera/image_raw
-
✅ 快速接上 ROS Noetic 專案做導航、地圖、視覺處理
如果你希望我幫你整合:
-
把影片轉成
rgb.txt
+slam_frames
-
建立一鍵執行的 docker+bash 啟動腳本
-
撰寫 ROS Launch 自動播放 rosbag 並串 ORB-SLAM3
我可以幫你出完整的 run_slam.sh
+ launch
結構 ✅
是否要我幫你做一份範本?只要提供影片或 rosbag 名稱即可。
沒有留言:
張貼留言