Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

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

  • ROS

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

Wikipedia

  • SLAM (robotica)

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.