Maggiore fiducia nei robot per esplorare nuovi spazi

Nuovo algoritmo aumenta la robustezza della percezione dei robot


Quando Vasileios Tzoumas, ricercatore scientifico presso il Massachusetts Institute of Technology (MIT), visita una nuova città e gli piace esplorarla andando a correre. E a volte si perde. Qualche anno fa, durante una lunga corsa mentre ero a Osaka per una conferenza, accadde l'inevitabile. Ma poi Tzoumas vide un 7-Eleven che ricordava di aver superato subito dopo aver lasciato il suo hotel. Questa consapevolezza gli ha permesso di “chiudere il loop” mentalmente, di collegare l'estremità libera della sua traiettoria a un luogo che conosceva e di cui era sicuro, consolidando così la sua mappa mentale e consentendogli di tornare all'hotel.

L'algoritmo di non convessità graduata (GNC) potrebbe aiutare le macchine ad attraversare terra, acqua, cielo e spazio e a tornare indietro per raccontarne la storia.

Chiudere il loop è in realtà un termine tecnico per indicare qualcosa che i robot devono fare frequentemente quando si muovono in nuovi ambienti. Fa parte di un processo chiamato localizzazione e mappatura simultanea (SLAM). SLAM non è una novità. Viene utilizzato per aspirapolvere robot, auto a guida autonoma, droni aerei per la ricerca e il soccorso e robot in fabbriche, magazzini e miniere. Mentre dispositivi e veicoli autonomi esplorano nuovi spazi, dal soggiorno al cielo, costruiscono una mappa durante il loro viaggio. Devono anche capire dove si trovano sulla mappa utilizzando sensori come telecamere, GPS e LiDAR.

Poiché la tecnologia SLAM trova sempre più applicazioni, è più importante che mai garantire che gli algoritmi SLAM producano risultati corretti in condizioni reali difficili. Gli algoritmi SLAM spesso funzionano bene con sensori perfetti o in condizioni di laboratorio controllate, ma si perdono facilmente quando vengono implementati con sensori imperfetti nel mondo reale. Non sorprende che i clienti industriali si preoccupino spesso di potersi fidare di tali algoritmi.

I ricercatori del MIT hanno sviluppato diversi algoritmi SLAM robusti, nonché metodi per dimostrare matematicamente quanto possiamo fidarci di essi. Il laboratorio di Luca Carlone, professore assistente di Leonardo Career Development al MIT, ha pubblicato un articolo sul loro algoritmo di non convessità graduata (GNC), che riduce gli errori casuali e le incertezze nei risultati SLAM. Ancora più importante, l’algoritmo produce risultati corretti laddove i metodi esistenti “si perdono”. L'articolo, redatto da Carlone, Tzoumas e dagli studenti di Carlone Heng Yang e Pasquale Antonante, ha ricevuto il premio per il miglior articolo sulla visione robotica alla International Conference on Robotics and Automation (ICRA). Questo algoritmo GNC aiuterà le macchine ad attraversare terra, acqua, cielo e spazio e a tornare indietro per raccontare la storia.

Tutto è allineato

La percezione dei robot si basa su sensori che spesso forniscono input rumorosi o fuorvianti. L'algoritmo GNC del MIT consente al robot di decidere di quali punti dati fidarsi e quali scartare. Un'applicazione dell'algoritmo GNC è chiamata allineamento delle forme. Un robot stima la posizione e l'orientamento 3D di un'auto utilizzando le immagini 2D della telecamera. Il robot riceve un'immagine dalla telecamera con molti punti etichettati da un algoritmo di rilevamento delle caratteristiche: fari, ruote, specchietti. Contiene anche un modello 3D di un'auto nella sua memoria. L'obiettivo è ridimensionare, ruotare e posizionare il modello 3D in modo che le sue caratteristiche siano allineate con quelle dell'immagine. “Questo è facile se l'algoritmo di rilevamento delle caratteristiche ha svolto perfettamente il suo lavoro, ma raramente è così,” afferma Carlone. Nelle applicazioni reali, il robot si imbatte in numerosi valori anomali, ovvero caratteristiche etichettate in modo errato, che possono costituire oltre il 90% di tutte le osservazioni. Ed è qui che entra in gioco l'algoritmo GNC, che supera tutti i concorrenti.

I robot risolvono questo problema utilizzando una funzione matematica che tiene conto della distanza tra ciascuna coppia di caratteristiche, ad esempio il faro destro nell'immagine e il faro destro nel modello. Cercano di “ottimizzare” questa funzione, ovvero di orientare il modello in modo da ridurre al minimo tutte queste distanze. Più funzionalità ci sono, più difficile è il problema.

Un modo per risolvere il problema sarebbe quello di provare tutte le possibili soluzioni alla funzione e vedere quale funziona meglio, ma ce ne sono troppe da provare. Un metodo più comune, spiegano Yang e Antonante, “è quello di provare una soluzione e continuare a modificarla, ad esempio allineando i fari nel modello con i fari nell'immagine 2D, finché non è più possibile migliorarla.” Con dati rumorosi, il risultato non sarà perfetto (forse i fari si allineano ma le ruote no), quindi è possibile ricominciare con un'altra soluzione e perfezionarla il più possibile, ripetendo il processo più volte per trovare il risultato migliore. Tuttavia, le possibilità di trovare la migliore soluzione possibile sono scarse.

Nelle applicazioni reali, il robot si imbatte in numerosi valori anomali, che possono costituire oltre il 90% di tutte le osservazioni. Ed è qui che entra in gioco l'algoritmo GNC, che supera tutti i concorrenti.

Mesh e nuvola di punti con corrispondenze (70% di outliner)
Registrazione riuscita tramite GNC-TLS
Registrazione non corretta da parte degli algoritmi SLAM comuni

L'algoritmo GNC trova l'allineamento ottimale nonostante le misurazioni rumorose con valori anomali fino al 70-90%. Crediti dell’immagine: MIT.

L'idea alla base di GNC è innanzitutto semplificare il problema. Riducono la funzione che stanno cercando di ottimizzare, quella che descrive le differenze tra il modello 3D e l'immagine 2D, a una con un'unica soluzione migliore. Ora, quando scelgono una soluzione e la migliorano, alla fine troveranno la soluzione migliore. Quindi reintroducono un po' della complessità della funzione originale e perfezionano la soluzione appena trovata. Continuano a farlo finché non ottengono la funzione originale e la sua soluzione ottimale. I fari sono ben allineati, così come le ruote e i paraurti.

Ripetizione del processo

Il documento applica l'algoritmo GNC per allineare la forma e SLAM, tra gli altri problemi. Nel caso di SLAM, il robot usa dati del sensore per determinare la sua traiettoria e costruire una mappa. Ad esempio, un robot che vaga per il campus universitario raccoglie dati di odometria suggerendo quanto lontano e in quale direzione è andato tra le 8:00 e le 8:15 del mattino, tra le 8:15 e le 8:30 del mattino, e così via. Presenta anche dati LiDAR e della telecamera alle 8:00, 8:15, e così via. Occasionalmente, completerà i loop, notando la stessa cosa in due momenti diversi, come ha fatto Tzouma quando ha corso di nuovo davanti 7-Eleven.

I ricercatori hanno scoperto che l'algoritmo GNC era più accurato delle tecniche più avanzate e riusciva a gestire una percentuale maggiore di valori anomali.

Proprio come nell'allineamento delle forme, c'è un problema di ottimizzazione da risolvere. Yang, il primo autore dell'articolo, spiega: “Per SLAM, invece di allineare le caratteristiche per farle corrispondere a un modello 3D, il sistema piega la traiettoria che pensa di aver percorso per allineare gli oggetti sulla mappa.” In primo luogo, il sistema lavora per ridurre al minimo le differenze tra i percorsi percepiti dai diversi sensori, poiché è probabile che ogni sensore presenti errori nelle misurazioni. Ad esempio, se il contachilometri del robot indica che ha percorso 100 metri tra le 8:00 e le 8:15, la traiettoria aggiornata in base alle misurazioni del LiDAR e della telecamera dovrebbe riflettere quella distanza, o qualcosa di simile. Il sistema riduce inoltre al minimo le distanze tra posizioni che sembrano coincidere. Se il robot vede lo stesso 7-Eleven alle 8:00 e alle 10:00, l'algoritmo proverà a modificare la traiettoria richiamata, regolando ciascun segmento, in modo che le posizioni richiamate alle 8:00 e alle 10:00 siano allineate, chiudendo il loop.

Robot che mappa l'interno di un edificio. GNC sbroglia gradualmente i dati confusi. In relativamente pochi passaggi, l'algoritmo arriva a una mappa accurata dell'interno di un edificio. Crediti dell’immagine: MIT.

Nel frattempo, l'algoritmo identifica e scarta i valori anomali, punti dati errati, dove pensava di ripercorrere i suoi passi, ma non lo stava facendo, proprio come le caratteristiche etichettate erroneamente nell'allineamento delle forme. Non si vuole chiudere un loop in modo errato. Tzoumas ricorda che, mentre correva nei boschi del Maine, gli capitò di passare accanto a una serie di tronchi d'albero caduti che gli sembravano familiari. Pensò di aver chiuso il loop e, servendosi di questo presunto punto di riferimento, fece una svolta. Solo dopo aver perso ogni traccia di familiarità per 20 minuti sospettò il suo errore e tornò indietro.

Una traiettoria ricordata prima dell'ottimizzazione potrebbe apparire come un gomitolo di spago aggrovigliato. Una volta districato, assomiglia a un insieme di linee ad angolo retto che rispecchiano la forma dei percorsi e dei corridoi del campus attraversati dal robot. Il termine tecnico per questo processo SLAM è ottimizzazione del grafico di posa.

Nel documento, i ricercatori hanno confrontato il loro algoritmo GNC con altri algoritmi in diverse applicazioni, tra cui l'allineamento delle forme e l'ottimizzazione del grafico delle pose. Hanno scoperto che il loro metodo era più accurato delle tecniche più avanzate e riusciva a gestire una percentuale maggiore di valori anomali. Per quanto riguarda SLAM, ha funzionato anche se tre chiusure di loop su quattro erano errate, ovvero molti più casi anomali di quanti ne riscontrerebbe in un'applicazione reale. Inoltre, il loro metodo è spesso più efficiente di altri algoritmi, poiché richiede meno passaggi computazionali. Tzoumas afferma: “Una delle difficoltà è stata trovare un algoritmo di uso generale che funzionasse bene in molte applicazioni.” Yang afferma di averlo provato su più di 10 persone. Alla fine, dice Tzoumas, hanno trovato “il punto debole”.

L'algoritmo GNC ricostruisce correttamente una mappa dell'interno del Great Dome del MIT.

MATLAB ha generato mappe create a partire dai dati ricavati da un robot che taglia l'erba. Sinistra: mappa originale del prato. Centro: mappa ottimizzata con algoritmi SLAM comuni, che includono dati etichettati in modo errato da chiusure di loop anomale sconosciute. Destra: mappa ottimizzata con algoritmo GNC.

Passare dalla ricerca alla produzione è un passaggio importante affinché i risultati della ricerca facciano la differenza su larga scala, afferma Roberto G. Valenti, ricercatore scientifico in robotica presso MathWorks. MathWorks ha collaborato con il laboratorio di Carlone per integrare gli algoritmi GNC in MATLAB come parte di Navigation Toolbox™, che le aziende utilizzano per implementare SLAM su sistemi autonomi commerciali e industriali.

Risoluzione dei problemi

Il laboratorio di Carlone sta lavorando su come estendere le capacità del proprio algoritmo GNC. Ad esempio, Yang si propone di progettare algoritmi di percezione la cui correttezza può essere certificata. E Antonante sta trovando modi per gestire l'incoerenza tra diversi algoritmi: Se il modulo SLAM di un veicolo autonomo rileva che la strada procede dritta, ma il modulo di rilevamento della corsia rileva che curva a destra, allora c'è un problema.

L'algoritmo GNC è il nuovo punto di riferimento che consente ai robot di individuare i propri errori.

Tzoumas sta studiando come ampliare non solo l'interazione tra più algoritmi in un unico robot, ma anche la collaborazione tra più robot. In lavori precedenti, ha programmato droni volanti per seguire bersagli, come criminali che cercano di fuggire a piedi o in auto. In futuro, più macchine potrebbero forse eseguire collettivamente l'algoritmo GNC. Ognuno di loro avrebbe fornito informazioni parziali ai propri vicini e insieme avrebbero costruito una mappa globale, delle località sulla Terra e altrove. Quest'anno si trasferirà al dipartimento di ingegneria aerospaziale dell'Università del Michigan per lavorare sull'autonomia affidabile per la pianificazione e l'autonavigazione di più robot, anche in ambienti difficili, come campi di battaglia e altri pianeti.

“Non sapere come si comporteranno gli algoritmi di intelligenza artificiale e di percezione è un enorme deterrente al loro utilizzo,” afferma Antonante. Fa notare che non ci si può fidare delle guide robotiche dei musei se c'è il rischio che si schiantino contro i visitatori o contro la Monna Lisa: “Si desidera che il proprio sistema abbia una profonda comprensione sia dell'ambiente che di se stesso, in modo da poter individuare i propri errori.” L'algoritmo GNC è il nuovo punto di riferimento che consente ai robot di individuare i propri errori e, cosa più importante, come afferma Tzoumas, “ti aiuta a uscire dai guai.”

Altri articoli di approfondimento sulla robotica

ETH Zürich

Un team di nove studenti universitari realizza un innovativo robot in grado di saltare come progetto finale

Weston Robot

Solo 10 giorni per realizzare robot in grado di combattere il COVID-19

Corindus

Nuove frontiere nel campo della telemedicina

Drexel University

Da provare: abbigliamento griffato conferisce il senso del tatto ai robot


Altri casi

Navigazione nel pannello

Accademia / AI

L’IA svela i segreti di antichi artefatti

Utilizzo del Deep Learning e dell'elaborazione delle immagini per restaurare e preservare le opere d'arte

Navigazione nel pannello

Tecnologia verde / Sistemi di controllo

Rimozione di milioni di tonnellate di emissioni CO2 nei porti marittimi ogni anno

Elettrificazione dei veicoli commerciali con celle a combustibile a idrogeno

Navigazione nel pannello

STEM / Accademia

Realizzazione del futuro delle discipline STEM

Uno studente delle superiori scopre che la programmazione non si limita allo schermo del computer