SLAM: come i robot navigano su terreni sconosciuti

Immaginate di esservi persi nel deserto e di dover trovare la via per uscirne sani e salvi. Muoversi in un contesto sconosciuto è da tempo una sfida sia per l'uomo che per i robot. I metodi di navigazione tradizionali per un robot o un veicolo a guida autonoma richiedono che esista già una mappa ma, se un territorio non è stato ancora mappato, per poterne avere la mappa bisogna prima attraversarlo. In robotica ciò pone il classico dilemma dell'uovo e della gallina. Come fa un robot a muoversi in un ambiente che non conosce se non può contare su una mappa? E come fa a creare una mappa se prima non naviga nell'ambiente?

Mappa SLAM visiva 3D o mappa SLAM creata con SLAM visivo. (Figura tratta da www.flyability.com. Immagine per gentile concessione di Sigmoidal.ai)

Ed è qui che entra in gioco il concetto di localizzazione e mappatura simultanee (SLAM). Sviluppata da ricercatori come Hugh Durrant-Whyte e John J. Leonard, SLAM è una tecnica che consente ai robot navigare in modo autonomo e mappare in tempo reale ambienti sconosciuti. Invece di fare affidamento su mappe pre-esistenti, SLAM permette ai robot di creare mappe dell'ambiente circostante e di stabilire allo stesso tempo la propria posizione all'interno di esse. Fondamentalmente, SLAM implica due processi principali: mappatura e localizzazione. Mappatura si riferisce alla creazione di una rappresentazione spaziale dell'ambiente, mentre localizzazione implica stabilire la posizione del robot all'interno di quella mappa. Si tratta di processi strettamente collegati fra loro, in cui il robot aggiorna in modo continuo la sua mappa in base ai dati dei sensori e corregge la stima della sua posizione di conseguenza.

L'implementazione della SLAM implica diversi passaggi chiave, ognuno dei quali svolge un ruolo cruciale nel processo complessivo. Fra questi passaggi vi sono l'estrazione dei punti di riferimento, l'associazione dei dati, la stima dello stato e gli aggiornamenti. L'estrazione dei punti di riferimento implica identificare le caratteristiche o i punti di riferimento specifici nell'ambiente che possono essere utilizzati per la mappatura e la localizzazione. L'associazione dei dati implica l'abbinamento delle misurazioni dei sensori a caratteristiche nella mappa, mentre la stima dello stato implica stimare la posizione del robot e l'orientamento in base ai dati dei sensori. Infine, gli aggiornamenti implicano la messa a punto della mappa e delle stime della posizione sulla base delle nuove misurazioni dei sensori.

Uno dei fattori chiave che determinano l'efficienza della SLAM è il tipo di sensori utilizzati. Sensori diversi offrono livelli diversi di precisione e di informazioni che possono incidere sulla qualità della mappa risultante e delle stime di localizzazione. Ad esempio, la Visual SLAM (vSLAM) utilizza videocamere come sensore primario, il che permette al robot di estrarre informazioni visive dall'ambiente circostante. Queste informazioni visive possono comprendere caratteristiche come bordi, spigoli e texture, utilizzabili come punti di riferimento per la mappatura e la localizzazione. Inoltre, le videocamere offrono informazioni semantiche utili che possono agevolare le attività, come il rilevamento di un oggetto e il suo riconoscimento. La SLAM basata su LiDAR, invece, utilizza sensori LiDAR (come SLAMTEC SEN-15870 di SparkFun), che emette raggi laser per misurare le distanze dagli oggetti presenti nell'ambiente. I sensori LiDAR offrono un elevato grado di accuratezza e precisione, per cui sono particolarmente idonei per la mappatura di ambienti con geometrie complesse. Tuttavia, i sensori LiDAR potrebbero essere costosi e richiedere molti calcoli, il che può limitarne l'applicazione in certi scenari.

Esistono diverse sottocategorie per vSLAM in base al tipo di videocamera utilizzata, ad esempio SLAM Monoculare, SLAM Stereo e SLAM RGB-D. La SLAM Monoculare utilizza un'unica videocamera per stimare il movimento del robot e la struttura dell'ambiente. La SLAM Stereo utilizza una configurazione a videocamere stereo che consiste in due videocamere posizionate a una specifica distanza di base l'una dall'altra. Questa configurazione consente la triangolazione delle caratteristiche visive, con conseguente miglioramento della stima della profondità e della precisione di mappatura. Infine, la SLAM RGB-D combina una videocamera RGB tradizionale con un sensore di profondità come Kinect di Microsoft o la videocamera RealSense di Intel. Queste informazioni aggiuntive sulla profondità consentono una mappatura e una localizzazione 3D più accurate.

Ogni sottocategoria di vSLAM ha i propri vantaggi e le proprie limitazioni, a seconda di fattori come costo, complessità computazionale e condizioni ambientali. La SLAM Monoculare, ad esempio, è ampiamente usata perché è semplice ed economica. Soffre tuttavia di ambiguità di scala e non è in grado di stimare direttamente la scala dell'ambiente. La SLAM Stereo supera questo problema grazie alla triangolazione di caratteristiche visive per stimare profondità e scala. La SLAM RGB-D, da parte sua, offre il livello massimo di precisione e dettagli, grazie alla combinazione di immagini RGB e informazioni sulla profondità.

Oltre alle applicazioni nella robotica, la SLAM si presta per numerose applicazioni del mondo reale in vari settori. In campo robotico, la SLAM permette ai robot di navigare in modo autonomo e di esplorare ambienti dinamici come magazzini, stabilimenti e zone disastrate. Nel veicoli a guida autonoma, la SLAM è utilizzata per creare mappe ad alta definizione delle strade e per localizzare il veicolo all'interno di quelle mappe. La SLAM ha applicazioni anche nella realtà aumentata (AR) e nella realtà virtuale (VR), dove è utilizzata per creare esperienze immersive sovrapponendo oggetti virtuali su ambienti del mondo reale.

Malgrado i suoi molteplici vantaggi, la SLAM non è esente da difetti e lati negativi. Una delle sfide principali della SLAM è la complessità computazionale insita nell'elaborazione dei dati dei sensori e nell'aggiornamento della mappa in tempo reale. Se un ambiente presenta enormi quantità di dati o se le risorse computazionali sono limitate, tale complessità può rappresentare un grande ostacolo. Inoltre, la SLAM si affida pesantemente alla disponibilità di caratteristiche e punti di riferimento specifici nell'ambiente. In ambienti uniformi o il cui terreno manca di specificità, la SLAM potrebbe avere difficoltà a creare mappe accurate o a localizzare il robot in modo efficiente.

Per concludere, la SLAM (localizzazione e mappatura simultanee) è una tecnica potente che consente ai robot di navigare in modo autonomo e mappare in tempo reale ambienti sconosciuti. Combinando mappatura e localizzazione in un unico processo, la SLAM permette ai robot di esplorare e comprendere l'ambiente circostante anche se è ancora sconosciuto e privo di mappe. La SLAM non è esente da sfide e limitazioni ma ha numerose applicazioni in diversi settori che vanno dalla robotica, ai veicoli a guida autonoma, dalla realtà aumentata alla realtà virtuale. Dato che la tecnologia continua ad avanzare, la SLAM svolge un ruolo sempre più importante nel plasmare il futuro della robotica e dell'automazione.

Riferimenti:

  1. Cos'è la SLAM? (localizzazione e mappatura simultanee) (vercator.com)
  2. Introduzione alla SLAM (localizzazione e mappatura simultanee) | Ouster
  3. Da zero alla SLAM in 30 minuti: un workshop interattivo | Ouster
  4. Cos'è la SLAM (localizzazione e mappatura simultanee) – MATLAB e Simulink - MATLAB e Simulink (mathworks.com)
  5. SLAM; definizione ed evoluzione - ScienceDirect
  6. Un'introduzione agli algoritmi chiave utilizzati nella SLAM - Articoli tecnici (control.com)
  7. Localizzazione — Introduzione alla robotica e percezione (roboticsbook.org)

Informazioni su questo autore

Image of Aswin S Babu

Aswin is a software engineer with specialization in robotics and AI. He has a passion for applying these skills for social good. His experience ranges from social entrepreneurship in home automation to robotics engineer. He has worked on innovative projects like monocular visual odometry systems for robot localization. Additionally, he has experience in teaching robotics and AI to students of various ages. He enjoys public speaking, bee keeping, gardening, and volunteering for social causes.

More posts by Aswin S Babu
 TechForum

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.

Visit TechForum