Formato mappa a griglia di occupazione ROS
La mappa a griglia di occupazione ROS è una coppia di file — tipicamente map.pgm e map.yaml — che descrive una vista 2D dall’alto dell’ambiente di un robot. È il formato di mappa canonico consumato dagli stack di navigazione ROS (nav1 map_server, nav2 map_server) e prodotto dai pacchetti SLAM come gmapping, Cartographer e slam_toolbox.
Cosa contengono i due file
Sezione intitolata “Cosa contengono i due file”Il file .pgm è un’immagine in scala di grigi Portable Gray Map. I valori dei pixel codificano l’occupazione:
- Pixel scuri — occupato (ostacoli, pareti).
- Pixel chiari — spazio libero.
- Un grigio specifico (spesso 205) — sconosciuto.
Il file .yaml descrive come interpretare l’immagine in coordinate metriche:
image: map.pgmresolution: 0.05 # metri per pixelorigin: [-12.2, -28.5, 0.0] # angolo in basso a sinistra in (x, y, yaw)negate: 0occupied_thresh: 0.65free_thresh: 0.196resolution e origin insieme permettono a qualsiasi strumento a valle di convertire le coordinate pixel in coordinate mondo e viceversa.
Da dove proviene questo formato nella pratica
Sezione intitolata “Da dove proviene questo formato nella pratica”Le pipeline più comuni:
- Guidare il robot manualmente e fornire odometria + lidar 2D a gmapping o slam_toolbox; salvare la mappa risultante.
- Eseguire Cartographer offline su un file bag ed esportare la griglia di occupazione.
- Convertire da un altro formato —
.bt, proiezione OctoMap, o un formato personalizzato.
L’output viene poi caricato da map_server per la localizzazione (AMCL) e la pianificazione (nav2).
Dove si inserisce drawtonomy
Sezione intitolata “Dove si inserisce drawtonomy”drawtonomy importa coppie .pgm + .yaml e permette di annotare la griglia di occupazione nel browser:
- La mappa viene mostrata in scala sulla tela usando i metadati
resolutioneorigin. - Puoi disegnare corsie, incroci, veicoli, pedoni e segnali stradali sopra la mappa.
- Le annotazioni sono memorizzate separatamente come forme drawtonomy — il
.pgmoriginale non viene modificato. - Utile per figure di paper (una mappa SLAM con percorsi pianificati disegnati sopra), didattica (annotare cosa vede il pianificatore) e etichettatura rapida del ground truth.
Questo è intenzionalmente un import unidirezionale: drawtonomy non è un sostituto degli strumenti di editing mappe di nav2. È un’opzione conveniente quando vuoi un’annotazione visivamente pulita e pubblicabile di una mappa SLAM.
Vedi Importa griglia di occupazione ROS per il flusso di lavoro di import.
Letture correlate
Sezione intitolata “Letture correlate”- Caso d’uso: annotare mappe a griglia di occupazione ROS — flussi di lavoro tipici.