ROS 佔據網格地圖格式
ROS 佔據網格地圖由一對檔案組成——通常是 map.pgm 與 map.yaml——描述機器人環境的二維俯視圖。這是 ROS 導航堆疊(nav1 map_server、nav2 map_server)所消費的標準地圖格式,由 gmapping、Cartographer 與 slam_toolbox 等 SLAM 套件產生。
兩個檔案各自包含什麼
Section titled “兩個檔案各自包含什麼”.pgm 檔案是一張灰階的 Portable Gray Map 影像。像素值編碼佔用狀態:
- 深色像素 — 已佔用(障礙物、牆壁)。
- 淺色像素 — 自由空間。
- 特定灰度(通常為 205)— 未知。
.yaml 檔案描述如何在公制座標中解讀影像:
image: map.pgmresolution: 0.05 # 每像素代表的公尺數origin: [-12.2, -28.5, 0.0] # 左下角 (x, y, yaw)negate: 0occupied_thresh: 0.65free_thresh: 0.196resolution 與 origin 共同讓下游工具能在像素座標與世界座標之間相互轉換。
這個格式在實際中的來源
Section titled “這個格式在實際中的來源”最常見的處理流程:
- 手動駕駛機器人,並將里程計與二維雷射資料輸入 gmapping 或 slam_toolbox,然後儲存產生的地圖。
- 離線執行 Cartographer,處理 bag 檔案並匯出佔據網格。
- 從其他格式轉換 —
.bt、OctoMap 投影,或自訂格式。
輸出結果由 map_server 載入,用於定位(AMCL)與規劃(nav2)。
drawtonomy 在其中的定位
Section titled “drawtonomy 在其中的定位”drawtonomy 可匯入 .pgm + .yaml 配對,讓您在瀏覽器中對佔據網格進行標註:
- 地圖依
resolution與origin元資料以正確比例顯示在畫布上。 - 您可以在地圖上方繪製車道、路口、車輛、行人與交通標誌。
- 標註以獨立的 drawtonomy 形狀儲存;原始
.pgm不會被修改。 - 適合論文配圖(帶有規劃路徑的 SLAM 地圖)、教學(標註規劃器所見的內容)與快速基準標記。
這刻意設計為單向匯入:drawtonomy 不是 nav2 地圖編輯工具的替代品。當您需要製作視覺上整潔、可發表的 SLAM 地圖標註時,它是一個方便的選擇。
詳見匯入 ROS 佔據網格了解匯入流程。
- 使用情境:標註 ROS 佔據網格地圖 — 典型工作流程。