Przejdź do głównej zawartości

Format mapy siatki zajętości ROS

Mapa siatki zajętości ROS to para plików — zazwyczaj map.pgm i map.yaml — opisująca dwuwymiarowy widok z góry środowiska robota. Jest to kanoniczny format mapy konsumowany przez stosy nawigacyjne ROS (nav1 map_server, nav2 map_server) i produkowany przez pakiety SLAM takie jak gmapping, Cartographer i slam_toolbox.

Plik .pgm to obraz w skali szarości w formacie Portable Gray Map. Wartości pikseli kodują zajętość:

  • Ciemne piksele — zajęte (przeszkody, ściany).
  • Jasne piksele — wolna przestrzeń.
  • Określony odcień szarości (często 205) — nieznane.

Plik .yaml opisuje interpretację obrazu we współrzędnych metrycznych:

image: map.pgm
resolution: 0.05 # metry na piksel
origin: [-12.2, -28.5, 0.0] # lewy dolny narożnik w (x, y, odchylenie)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

Pola resolution i origin razem pozwalają każdemu narzędziu przeliczać współrzędne pikseli na współrzędne świata i odwrotnie.

Najczęstsze potoki:

  1. Manualne przejechanie robotem z odometrią i lidarem 2D przez gmapping lub slam_toolbox; zapis mapy wynikowej.
  2. Uruchomienie Cartographera offline na pliku bag i eksport siatki zajętości.
  3. Konwersja z innego formatu.bt, rzut OctoMap lub format własny.

Wynik jest następnie ładowany przez map_server do lokalizacji (AMCL) i planowania (nav2).

drawtonomy importuje pary .pgm + .yaml i umożliwia adnotację siatki zajętości w przeglądarce:

  • Mapa jest wyświetlana w skali na płótnie z użyciem metadanych resolution i origin.
  • Można rysować pasy, skrzyżowania, pojazdy, pieszych i znaki drogowe na mapie.
  • Adnotacje są przechowywane osobno jako kształty drawtonomy — oryginalny plik .pgm nie jest modyfikowany.
  • Przydatne do rysunków w publikacjach (mapa SLAM z narysowanymi trasami planowanymi), nauczania (adnotacja tego, co widzi planer) i szybkiego etykietowania ground truth.

Jest to celowo import jednostronny: drawtonomy nie zastępuje narzędzi do edycji map nav2. To wygodna opcja, gdy potrzebujesz wizualnie czystej, gotowej do publikacji adnotacji mapy SLAM.

Patrz Import mapy siatki zajętości ROS dla szczegółów importu.