ROS occupancy grid-kaartformaat
De ROS occupancy grid-kaart is een paar bestanden — doorgaans map.pgm en map.yaml — die een 2D-bovenaanzicht beschrijven van de omgeving van een robot. Het is het canonieke kaartformaat dat door ROS-navigatiestacks (nav1 map_server, nav2 map_server) wordt verwerkt en geproduceerd door SLAM-pakketten zoals gmapping, Cartographer en slam_toolbox.
Wat de twee bestanden bevatten
Section titled “Wat de twee bestanden bevatten”Het .pgm-bestand is een grijswaardenafbeelding in Portable Gray Map-formaat. Pixelwaarden coderen bezetting:
- Donkere pixels — bezet (obstakels, muren).
- Lichte pixels — vrije ruimte.
- Een specifiek grijs (vaak 205) — onbekend.
Het .yaml-bestand beschrijft hoe de afbeelding in metrische coördinaten moet worden geïnterpreteerd:
image: map.pgmresolution: 0.05 # meter per pixelorigin: [-12.2, -28.5, 0.0] # linkeronderhoek in (x, y, yaw)negate: 0occupied_thresh: 0.65free_thresh: 0.196resolution en origin samen stellen elke downstreamtool in staat pixelcoördinaten naar wereldcoördinaten om te zetten en terug.
Waar dit formaat in de praktijk vandaan komt
Section titled “Waar dit formaat in de praktijk vandaan komt”De meest voorkomende pipelines:
- Rijd de robot handmatig en voer odometrie + 2D-lidar in aan gmapping of slam_toolbox; sla de resulterende kaart op.
- Voer Cartographer offline uit op een bagbestand en exporteer het occupancy grid.
- Converteer vanuit een ander formaat —
.bt, OctoMap-projectie of een aangepast formaat.
De uitvoer wordt vervolgens geladen door map_server voor lokalisatie (AMCL) en planning (nav2).
De positie van drawtonomy
Section titled “De positie van drawtonomy”drawtonomy importeert .pgm + .yaml-paren en laat je het occupancy grid in de browser annoteren:
- De kaart wordt op schaal weergegeven op het canvas met de
resolution- enorigin-metadata. - Je kunt rijstroken, kruispunten, voertuigen, voetgangers en verkeersborden bovenop de kaart tekenen.
- De annotaties worden apart opgeslagen als drawtonomy-vormen — het oorspronkelijke
.pgm-bestand wordt niet gewijzigd. - Nuttig voor paperfiguren (een SLAM-kaart met geplande routes erop), onderwijs (annoteer wat de planner ziet) en snelle ground-truth-labelling.
Dit is bewust een eenrichtingsimport: drawtonomy is geen vervanging voor de kaartbewerkingstools van nav2. Het is een handige optie wanneer je een visueel schone, publiceerbare annotatie van een SLAM-kaart wilt.
Zie ROS occupancy grid importeren voor de importworkflow.
Verwante pagina’s
Section titled “Verwante pagina’s”- Use case: ROS occupancy grid-kaarten annoteren — typische workflows.