Salta ai contenuti

Annotare mappe a griglia di occupazione ROS

Dopo alcune ore di tuning SLAM hai una bellissima griglia di occupazione. Ora devi inserirla in un paper, un rapporto o una presentazione, con il percorso pianificato disegnato sopra, le pose target etichettate, le zone no-go ombreggiate. Per questo serve l’import di mappe ROS di drawtonomy.

drawtonomy legge una coppia di mappe ROS (immagine .pgm + metadati .yaml) e:

  • Posiziona la griglia di occupazione sulla tela alla scala metrica corretta.
  • Usa i campi resolution e origin dallo YAML in modo che le coordinate del mondo facciano il round-trip.
  • Permette di disegnare corsie, incroci, veicoli, pedoni, semafori e frecce/testo a forma libera sopra.

Il livello di disegno è un insieme separato di forme; il .pgm originale non viene mai modificato.

  • Figure di paper. “Figura 3: pianificazione nav2 intorno agli ostacoli.” Una griglia di occupazione nuda è a malapena leggibile; una griglia con percorsi pianificati e pose target racconta la storia.
  • Documenti interni. Una mappa SLAM annotata con zone no-go, posizioni della stazione di ricarica e sottozone nominate è il tipo di artefatto che sopravvive al turnover del team.
  • Materiale per le lezioni. Quando si insegna nav2 o AMCL, una griglia annotata permette agli studenti di vedere cosa vede il pianificatore.
  • Riproduttori di bug. “Il robot si è bloccato qui, ecco la griglia, ecco il percorso pianificato che fallisce.”
  1. Import. Import → mappa ROS. Trascina sia .pgm che .yaml (o comprimili insieme).
  2. Verifica la scala. La resolution e origin dello yaml vengono applicate automaticamente. Il righello drawtonomy mostra i metri.
  3. Annota. Usa le forme Lane, Vehicle, Path, Polygon e Text. Lo strumento Polygon con bassa opacità funziona bene per ombreggiare le zone no-go.
  4. Salva come .drawtonomy.svg (il formato SVG nativo di drawtonomy). Le annotazioni su una mappa SLAM sono quasi mai un’operazione unica — vengono aggiunte nuove zone no-go, le sottozone nominate cambiano, a volte la mappa stessa viene reregistrata. .drawtonomy.svg si riapre con ogni annotazione al suo posto, quindi l’iterazione è una modifica invece di un ridisegno.
  5. Esporta per la distribuzione. Dalla stessa scena, esporta PNG per documentazione che non ha bisogno di vettori scalabili, o un SVG piatto (con la griglia come sfondo raster e le tue annotazioni come vettori) per paper e slide.
  • Usa un singolo colore di accento per il livello di annotazione. Più colori su una griglia in scala di grigi creano rumore visivo.
  • Aggiungi una barra di scala manualmente con una Linestring e una forma Text — drawtonomy non ne renderizza una automaticamente, ma i righelli ti dicono esattamente quanti metri è una data lunghezza.
  • Drawtonomy non è un sostituto degli strumenti di editing della mappa di nav2 (utilità CLI per ritagliare/gonfiare/ruotare la griglia). Per quelli, rimani nella toolchain ROS.
  • Il livello di annotazione è nativo di drawtonomy; tieni il file .drawtonomy.svg come sorgente di verità ed esporta un SVG piatto solo quando hai bisogno della geometria dell’annotazione in un altro strumento.

Vedi la guida Import griglia di occupazione ROS per i dettagli dell’import.