Salta ai contenuti

Annotare le griglie di occupazione ROS

Dopo qualche ora di ottimizzazione SLAM hai una bella griglia di occupazione. Ora devi inserirla in un articolo, un rapporto o una presentazione, con il percorso pianificato tracciato sopra, i target pose etichettati, le zone di non accesso ombreggiate. È proprio per questo che serve l’importazione di mappe ROS di drawtonomy.

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

  • Posiziona la griglia di occupazione sulla canvas alla scala metrica corretta.
  • Utilizza i campi resolution e origin dal YAML in modo che le coordinate del mondo facciano il percorso di andata e ritorno.
  • Ti permette di tracciare corsie, incroci, veicoli, pedoni, semafori e frecce libere / testo sovrastante.

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

  • Figure per articoli. “Figura 3: pianificazione nav2 intorno agli ostacoli.” Una griglia di occupazione nuda è appena leggibile; una griglia con percorsi pianificati e target pose racconta la storia.
  • Documentazione interna. Una mappa SLAM annotata con zone di non accesso, posizioni di stazioni di ricarica e aree nominate è il tipo di artefatto che sopravvive ai cambi di team.
  • Materiale didattico. Quando insegni nav2 o AMCL, una griglia annotata permette agli studenti di vedere cosa vede il planner.
  • Riproducer di bug. “Il robot si è bloccato qui, ecco la griglia, ecco il percorso pianificato che fallisce.”
  1. Importa. Importa → Mappa ROS. Trascina sia .pgm che .yaml (o zip insieme).
  2. Verifica la scala. La resolution e l’origin dello yaml vengono applicate automaticamente. Il righello di drawtonomy mostra i metri.
  3. Annota. Usa forme Lane, Vehicle, Path, Polygon e Text. Lo strumento Polygon con bassa opacità funziona bene per ombreggiar le zone di non accesso.
  4. Salva come .drawtonomy.svg (formato SVG nativo di drawtonomy). Le annotazioni su una mappa SLAM non sono quasi mai una cosa unica — vengono aggiunte nuove zone di non accesso, le aree nominate cambiano, la mappa stessa a volte viene ri-registrata. .drawtonomy.svg si riapre con ogni annotazione in posizione, quindi l’iterazione è una modifica anziché un ridisegno.
  5. Esporta per la distribuzione. Dalla stessa scena, esporta PNG per la documentazione che non ha bisogno di vettori scalabili, oppure un SVG piatto (con la griglia come sfondo raster e le tue annotazioni come vettori) per articoli e diapositive.
  • Usa un colore di accento singolo per il livello di annotazione. Più colori sopra una griglia in scala di grigi creano rumore visivo.
  • Aggiungi manualmente una barra di scala con una Linestring e una forma Text — drawtonomy non ne renderizza una automaticamente, ma i righelli ti dicono esattamente quanti metri è una determinata lunghezza.
  • Drawtonomy non è un sostituto degli strumenti di modifica di map_server di nav2 (utilità CLI per ritagliare / gonfiare / ruotare la griglia). Per quelli, rimani nella catena di strumenti ROS.
  • Il livello di annotazione è nativo di drawtonomy; mantieni il file .drawtonomy.svg come fonte di verità e esporta un SVG piatto solo quando hai bisogno della geometria di annotazione in un altro strumento.

Consulta la guida all’importazione della griglia di occupazione ROS per i dettagli dell’importazione.