SLAM
- Detto anche: Simultaneous Localization and Mapping
- Categoria: State estimation & navigation › Localisation
- Tag: perception, navigation, mapping, localization, autonomous
Algoritmo che costruisce mappe e allo stesso tempo tiene traccia della posizione del robot.
Definizione
SLAM (Simultaneous Localization and Mapping, localizzazione e mappatura simultanee) è il problema computazionale di costruire una mappa di un ambiente sconosciuto e allo stesso tempo tenere traccia della posizione del robot al suo interno. Risolve il classico dilemma dell'uovo e della gallina: un robot ha bisogno di una mappa per localizzarsi, ma deve conoscere la propria posizione per costruire una mappa accurata. I sistemi SLAM elaborano i dati dei sensori (telecamere, LiDAR, IMU) per generare in tempo reale sia mappe dell'ambiente sia stime della posa. Gli approcci più comuni sono lo SLAM visivo (con telecamere), lo SLAM LiDAR (con laser scanner) e lo SLAM visivo-inerziale (che combina telecamere e IMU per un tracciamento robusto).
Perché è importante
Lo SLAM risolve un problema circolare: per costruire una mappa bisogna sapere dove ci si trova, e per sapere dove ci si trova serve una mappa. Risolvere entrambe le cose insieme è ciò che permette a un robot di entrare in un edificio sconosciuto e uscirne con una mappa utilizzabile e una posizione al suo interno, senza radiofari rilevati in precedenza né un'infrastruttura preinstallata. Ogni aspirapolvere autonomo, robot da magazzino e macchina per consegne al chiuso dipende da esso. È anche il punto in cui scelta dei sensori, budget di calcolo e ambiente si scontrano più duramente: lo stesso algoritmo che funziona in un laboratorio ingombro può fallire del tutto in un lungo corridoio privo di elementi distintivi.
Applicazioni principali
- Robot mobili per interni: aspirapolvere, robot di servizio e piattaforme di ispezione che mappano gli spazi senza un rilievo preliminare
- Flotte per magazzini e logistica: mantenere mappe condivise di ambienti ampi e in continuo cambiamento
- Navigazione di droni in spazi senza GPS: al chiuso, sotto i ponti o all'interno di strutture
- Sistemi di scansione portatili e a zaino per rilievi di edifici e documentazione as-built
- Robot agricoli e da campo che operano tra i filari, dove il solo GPS non basta
- Visori per realtà aumentata, che risolvono lo stesso problema con un altro nome
In pratica
Un robot per interni esegue tipicamente un pacchetto SLAM con LiDAR 2D come SLAM Toolbox o Cartographer sotto ROS 2, fondendo le scansioni con l'odometria delle ruote e una IMU. La chiusura del loop è la parte che conta di più ed è la meno visibile: quando il robot riconosce un luogo in cui è già stato, l'intera mappa viene corretta per far coincidere le due osservazioni, ed è per questo che una mappa può allinearsi di scatto, in modo visibile, dopo un lungo giro. I sistemi di SLAM visivo come ORB-SLAM3 svolgono lo stesso compito a partire dalle immagini delle telecamere, scambiando la certezza metrica del LiDAR con un hardware molto più economico e una sensibilità molto maggiore a illuminazione e texture.
Idee sbagliate comuni
- Lo SLAM è un problema risolto: è risolto per spazi interni ben strutturati; folle in movimento, corridoi ripetitivi e ambienti privi di elementi distintivi mettono ancora in crisi i sistemi in produzione
- Lo SLAM richiede il LiDAR: lo SLAM visivo e visivo-inerziale funzionano con le sole telecamere, a scapito della robustezza con scarsa illuminazione e pareti spoglie
- Una mappa, una volta costruita, resta valida: mobili, pallet e persone si spostano, e la maggior parte dei sistemi deve aggiornarla continuamente o ricostruirla periodicamente
- Sensori migliori risolvono i fallimenti dello SLAM: corridoi lunghi e stanze simmetriche mettono in crisi lo SLAM per mancanza di strutture distintive, che nessun aggiornamento dei sensori può fornire
Chi dovrebbe saperlo
- Chiunque metta in funzione un robot mobile in uno spazio che cambia o che non è mai stato rilevato
- Sviluppatori che scelgono uno stack di navigazione e i relativi requisiti di sensori
- Ingegneri che diagnosticano robot che si perdono in corridoi, atri o corsie di magazzino
- Facility manager che valutano che cosa serve a un robot da un edificio prima di poterci lavorare
- Studenti che imparano perché localizzazione e mappatura si insegnano come un unico problema e non come due
Tecnologie correlate
- LiDAR
- Odometria visiva
- Rilevamento della chiusura del loop (loop closure)
- Mappatura con griglia di occupazione
- ORB-SLAM
- Cartographer (Google)
- Ottimizzazione su factor graph
- Fusione dei sensori
Termini correlati
Progetti correlati
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
Video
- SLAM Robot Mapping - Computerphile: Computerphile
- SLAM - 5 Minutes with Cyrill: Cyrill Stachniss