Navigazione naturale e AMR: Scan matching vs Feature matching

La navigazione naturale nei robot mobili o AMR è quel sistema che permette ai robot di navigare in modo autonomo in un ambiente, semplicemente “guardando” l’ambiente circostante per definire dove si trovano e dove stanno andando. Esistono diverse tecniche per la navigazione naturale, prime fra tutte lo scan matching e il feature matching. Questo breve articolo si pone l’obiettivo di spiegare in modo semplice e concreto la navigazione naturale e le sue due tecniche principali, per far comprendere il ruolo fondamentale che hanno queste tecnologie in un qualsiasi progetto di automazione con AMR.

Contenuti

Lo Scan matching per la navigazione naturale degli AMR

Lo Scan matching è una tecnica utilizzata nella localizzazione e navigazione dei robot mobili a guida autonoma, i cosiddetti AMR. Lo scan matching viene anche definito “navigazione SLAM”, acronimo di Simultaneous Localization And Mapping, poiché prevede sia operazioni di localizzazione sia di mappatura.

Grazie alla tecnologia dello scan matching l’AMR utilizza i sensori installati a bordo, ad esempio fotocamere e scanner laser o gli encoder presenti sulle ruote, per effettuare delle misurazioni che gli permettono di localizzarsi nell’ambiente. Gli stessi sensori di bordo vengono utilizzati dal robot per rilevare gli oggetti, e dunque gli ostacoli, presenti nell’ambiente circostante; con queste informazioni il robot esegue la mappatura dell’ambiente in cui naviga.

Per navigare, quindi, l’AMR confronta in tempo reale le misurazioni dell’ambiente rilevate dai propri sensori con una mappa di riferimento, in genere creata in fase di installazione del sistema AMR e poi aggiornata quando necessario per includere eventuali cambiamenti ambientali (ad esempio la presenza di un nuovo ostacolo fisso come una scaffalatura o un macchinario).

Questa tecnica può essere implementata utilizzando algoritmi come l’equazione di Gauss-Newton; allo stesso tempo, si fa riferimento anche all’odometria, che misura il cambiamento di posizione del veicolo calcolandone il movimento.

In altre parole, con lo scan matching il sistema di navigazione calcola l’effettiva posizione del robot sfruttando il matching tra la mappa misurata e la mappa di riferimento; ciò permette di determinare la posizione e l’orientamento effettivo del robot. Una volta calcolata la posizione dell’AMR nello spazio, il sistema di navigazione utilizza l’abbinamento dei punti della mappa per muoversi correttamente nell’ambiente.

 

Il Feature matching per la navigazione naturale degli AMR

In ambito di robotica mobile a guida autonoma, il Feature matching si riferisce a un tipo di navigazione naturale che si basa sul riconoscimento e la localizzazione da parte del robot di specifiche caratteristiche dell’ambiente circostante, al fine di calcolare di conseguenza la propria posizione e orientamento nella mappa.

Per orientarsi durante la navigazione l’AMR cerca delle caratteristiche distintive dell’ambiente, come ad esempio le pareti o altri ostacoli fissi, a volte segnalati tramite adesivi catarifrangenti o in un’altra maniera evidente per i sensori, così che l’occhio meccanico dell’AMR li possa individuare agevolmente. Sapendo sia dove si trovano questi oggetti distintivi nell’ambiente, sia dove si trovano rispetto a sé, il robot utilizza queste caratteristiche per localizzarsi e navigare.

In questo caso, quindi, il robot rileva l’ambiente circostante utilizzando i propri sensori e confronta la mappa misurata con la mappa di riferimento, ma esclude dai propri calcoli tutti gli oggetti “dinamici” che potrebbero esserci durante una missione ed essere stati tolti o spostati durante la missione successiva, come pallet, scatole o altri ingombri temporanei.

 

Differenze e applicazioni di Scan matching e Feature matching

La differenza principale tra le due tecniche appena descritte è che lo scan matching confronta e considera l’intero ambiente circostante inserendolo in una mappa a griglia, mentre il feature matching si concentra sul riconoscimento di singole caratteristiche permanenti dell’ambiente per creare la mappa. Siccome quest’ultima contiene solo le coordinate di determinati elementi statici permanenti, la mappa risultante è molto più piccola, in termini di dimensioni del file, rispetto a una mappa usata per lo scan matching, ma allo stesso tempo si appoggia anche a meno elementi critici che pertanto devono risultare sempre a vista. D’altro lato, dal momento che il processo di scansione dell’ambiente per il matching rileva tutti gli elementi, inclusi quelli che possono esser spostati, come ad esempio dei pallet su una banchina di carico, si possono verificare problemi quando questi oggetti non sono sempre nella stessa posizione; anche una leggera deviazione dalla posizione corretta può portare erroneamente il veicolo ad adattare la mappa circostante, creando imprecisioni nel posizionamento degli altri punti.

Le due tecniche presentano approcci diversi per la navigazione autonoma e ognuna ha i propri vantaggi e limitazioni in termini di precisione, affidabilità e requisiti tecnologici. Una navigazione naturale ideale prevede l’utilizzo di entrambe le tecniche, in particolare facendo riferimento allo scan matching e sfruttando il feature matching per navigare con precisione in ambienti molto ampi o con altre difficoltà logistiche: ad esempio, in aree nei cui pressi vengono lasciati grandi ingombri temporanei che potrebbero impedire lo scanning delle pareti e quindi inficiare il riferimento della mappa, si potrebbe utilizzare il feature matching per riconoscere un qualche oggetto fisso specifico, sempre a vista e con caratteristiche note, come dimensioni o un angolo particolare.

In genere i robot mobili utilizzano anche sensori di prossimità, come i sensori a ultrasuoni o a infrarossi, per rilevare la presenza di oggetti o ostacoli nelle vicinanze e per evitare collisioni. Inoltre, per una navigazione più precisa possono utilizzare anche sensori ottici o magnetici per individuare e seguire tracce o altri punti di riferimento posti sul pavimento.

 

Che sensori sono utilizzati nella navigazione naturale dei robot mobili?

Per la navigazione naturale gli AMR fanno riferimento a tutta una serie di sensori specifici, che possono variare a seconda del tipo di robot e dell’applicazione specifica in cui l’AMR viene integrato. Questi sensori forniscono dati affidabili per la misurazione della distanza, consentendo ai robot di navigare in modo autonomo e di evitare ostacoli.

Di seguito, un breve elenco della sensoristica più comunemente utilizzata nei robot mobili per la navigazione naturale:

  • Scanner laser: questi sensori vengono utilizzati per mappare l’ambiente circostante e per rilevare la posizione del robot all’interno della mappa. Contribuiscono alla ricostruzione bidimensionale e tridimensionale dell’ambiente, consentendo ai robot di mappare l’ambiente circostante e di evitare collisioni durante la navigazione. In altre parole, i dati raccolti dai sensori laser vengono elaborati dal software di navigazione per creare una mappa dell’ambiente e per localizzare il robot all’interno di essa. In alcuni AMR gli scanner laser si distinguono tra scanner laser di sicurezza, dedicati al rilevamento di ostacoli e situazioni di pericolo, e scanner laser dedicati specificatamente alla navigazione, ma nella maggior parte dei modelli sono gli stessi scanner laser di sicurezza a essere impiegati anche come ausilio alla navigazione.
  • Sensori di prossimità: questi sensori, come i sensori a ultrasuoni o a infrarossi, vengono utilizzati per rilevare la presenza di oggetti o ostacoli nelle vicinanze del robot e per evitare collisioni.
  • Sensori ambientali: questi sensori raccolgono informazioni relative a temperatura, umidità e pressione dell’ambiente circostante, e vengono utilizzati per adattare il comportamento del robot alle effettive condizioni ambientali.
  • Encoder: vengono utilizzati per misurare la posizione e la velocità delle ruote del robot e di conseguenza per calcolare la reale posizione del robot all’interno dell’ambiente.
  • Sensori ottici o magnetici: questi sensori vengono utilizzati per seguire tracce magnetiche o individuare altri punti di riferimento, ad esempio per ottenere una navigazione incredibilmente precisa in punti con ridotti spazi di manovra e di ri-aggiustamento della posizione.

Tech curiosity

Quanto deve “vedere” un AMR per essere preciso?

Ovviamente la precisione di un AMR da diversi fattori, tra cui il sensore utilizzato, il sistema di localizzazione e navigazione, e le condizioni ambientali, tuttavia non serve che il robot veda l’intero ambiente in cui si muove per poter navigare autonomamente con precisione.

Sembra un ossimoro, ma come abbiamo visto, i robot che utilizzano la tecnologia di navigazione naturale possono navigare con precisione anche senza una visuale completa al 100%, ossia “vedendo” e riconoscendo nell’ambiente solo una percentuale ridotta di caratteristiche. In genere per ottenere un posizionamento accurato si parla di un 5% con feature matching, a fronte di un 60% con solo scan matching. Le tecniche sopra descritte, infatti, consentono all’AMR di confrontare la posizione di singoli punti sulla mappa per orientarsi durante la navigazione, per cui anche quando non riescono a rilevare completamente l’ambiente possono muoversi lungo il percorso previsto, persino nel caso in cui non vengano rilevate tutte le caratteristiche dell’ambiente presenti sulla mappa per alcuni secondi.

Se desideri saperne di più sui robot autonomi o sulle loro possibili applicazioni all’interno della tua realtà aziendale, contattaci: saremo lieti di aiutarti ad affrontare tecnicamente i tuoi dubbi.