Zum Inhalt springen

ROS-Belegungsgitterkarten

Die ROS-Belegungsgitterkarte ist ein Dateienpaar — typischerweise map.pgm und map.yaml — das eine 2D-Vogelperspektive der Roboterumgebung beschreibt. Es ist das kanonische Kartenformat, das von ROS-Navigationsstacks (nav1 map_server, nav2 map_server) konsumiert und von SLAM-Paketen wie gmapping, Cartographer und slam_toolbox erzeugt wird.

Die .pgm-Datei ist ein Graustufen-Portable-Gray-Map-Bild. Pixelwerte codieren die Belegung:

  • Dunkle Pixel — belegt (Hindernisse, Wände).
  • Helle Pixel — freier Bereich.
  • Ein spezifisches Grau (häufig 205) — unbekannt.

Die .yaml-Datei beschreibt, wie das Bild in metrischen Koordinaten zu interpretieren ist:

image: map.pgm
resolution: 0.05 # Meter pro Pixel
origin: [-12.2, -28.5, 0.0] # untere linke Ecke in (x, y, yaw)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution und origin zusammen ermöglichen es nachgelagerten Werkzeugen, Pixelkoordinaten in Weltkoordinaten umzurechnen und umgekehrt.

Die häufigsten Pipelines:

  1. Roboter manuell fahren und Odometrie + 2D-Lidar an gmapping oder slam_toolbox übergeben; die resultierende Karte speichern.
  2. Cartographer offline auf einer Bag-Datei ausführen und das Belegungsgitter exportieren.
  3. Aus einem anderen Format konvertieren.bt, OctoMap-Projektion oder ein proprietäres Format.

Die Ausgabe wird anschließend von map_server für die Lokalisierung (AMCL) und die Planung (nav2) geladen.

drawtonomy importiert .pgm+.yaml-Paare und ermöglicht das Annotieren des Belegungsgitters im Browser:

  • Die Karte wird mithilfe der resolution- und origin-Metadaten maßstabsgetreu auf dem Canvas angezeigt.
  • Fahrspuren, Kreuzungen, Fahrzeuge, Fußgänger und Verkehrszeichen lassen sich auf die Karte zeichnen.
  • Die Annotationen werden separat als drawtonomy-Shapes gespeichert — die ursprüngliche .pgm-Datei wird nicht verändert.
  • Nützlich für Paper-Abbildungen (SLAM-Karte mit eingezeichneten geplanten Routen), Lehre (annotieren, was der Planer sieht) und schnelle Ground-Truth-Beschriftung.

Dies ist absichtlich ein Einweg-Import: drawtonomy ersetzt nicht die Kartenbearbeitungswerkzeuge von nav2. Es ist eine praktische Option, wenn Sie eine visuell saubere, publizierbare Annotation einer SLAM-Karte erstellen möchten.

Weitere Informationen zum Import-Workflow finden Sie unter ROS-Belegungsgitter importieren.