Hoppa till innehåll

ROS occupancy grid-kartformat

ROS occupancy grid-kartan är ett par filer — typiskt map.pgm och map.yaml — som beskriver en 2D-vy uppifrån av en robots miljö. Det är det kanoniska kartformatet som konsumeras av ROS navigationsstack (nav1 map_server, nav2 map_server) och produceras av SLAM-paket som gmapping, Cartographer och slam_toolbox.

.pgm-filen är en gråskalig Portable Gray Map-bild. Pixelvärden kodar ockupans:

  • Mörka pixlar — ockuperat (hinder, väggar).
  • Ljusa pixlar — fri yta.
  • En specifik grå nyans (ofta 205) — okänt.

.yaml-filen beskriver hur bilden ska tolkas i metriska koordinater:

image: map.pgm
resolution: 0.05 # meter per pixel
origin: [-12.2, -28.5, 0.0] # nedre vänstra hörnet (x, y, yaw)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution och origin tillsammans låter vilket nedströms­verktyg som helst omvandla pixelkoordinater till världskoordinater och tillbaka.

Var det här formatet kommer ifrån i praktiken

Section titled “Var det här formatet kommer ifrån i praktiken”

De vanligaste pipelines:

  1. Kör roboten manuellt och mata odometri + 2D-lidar till gmapping eller slam_toolbox; spara den resulterande kartan.
  2. Kör Cartographer offline på en bag-fil och exportera occupancy grid.
  3. Konvertera från ett annat format.bt, OctoMap-projektion eller ett eget format.

Resultatet laddas sedan av map_server för lokalisering (AMCL) och planering (nav2).

drawtonomy importerar .pgm + .yaml-par och låter dig annotera occupancy grid i webbläsaren:

  • Kartan visas i skala på arbetsytan med hjälp av resolution- och origin-metadata.
  • Du kan rita körfält, korsningar, fordon, fotgängare och trafikskyltar ovanpå kartan.
  • Annoteringarna lagras separat som drawtonomy-former — den ursprungliga .pgm-filen ändras inte.
  • Användbart för pappersfigurer (en SLAM-karta med planerade rutter inritade), undervisning (annotera vad planeraren ser) och snabb referensmärkning.

Det är avsiktligt en envägsimport: drawtonomy är inte ett substitut för nav2:s kartverktygslådor. Det är ett bekvämt alternativ när du vill ha en visuellt ren, publiceringsklar annotering av en SLAM-karta.

Se Importera ROS occupancy grid för importflödet.