Parte del problema risiede nel tempo necessario per produrre e interpretare i dati della telecamera. Un veicolo autonomo che utilizza una telecamera standard per monitorare l'ambiente circostante avrebbe bisogno di circa un quinto di secondo per aggiornare la propria posizione. Questo è sufficiente per le normali condizioni operative, ma non abbastanza veloce per gestire gli imprevisti.
Andrea Censi, ricercatore presso il Laboratorio per i Sistemi Informativi e Decisionali del MIT, ritiene che la soluzione potrebbe essere quella di integrare le telecamere con un nuovo tipo di sensore "basato sugli eventi" (o "neuromorfico"), in grado di effettuare misurazioni un milione di volte al secondo.
Alla Conferenza Internazionale sulla Robotica e l'Automazione di quest'anno, Censi e Davide Scaramuzza dell'Università di Zurigo presenteranno il primo algoritmo di stima dello stato – del tipo utilizzato dai robot per calibrare la propria posizione – per l'elaborazione dei dati provenienti da sensori basati sugli eventi. Un robot che esegue il loro algoritmo potrebbe aggiornare la propria posizione ogni millisecondo circa, consentendogli di eseguire manovre più agili.
"In una normale fotocamera, si ha una serie di sensori e poi c'è un orologio", spiega Censi. "Se si ha una fotocamera a 30 fotogrammi al secondo, ogni 33 millisecondi l'orologio blocca tutti i valori, che vengono poi letti in sequenza." Con un sensore basato sugli eventi, invece, "ogni pixel agisce come un sensore indipendente", afferma Censi. "Una variazione di luminosità, sia positiva che negativa, è superiore a una soglia per il pixel, che quindi dice 'Vedo qualcosa di interessante' e comunica questa informazione come un evento. E poi attende di percepire un'altra variazione.".
Evento chiave:
Quando un algoritmo standard di stima dello stato riceve un'immagine da una telecamera montata su un robot, identifica innanzitutto le "caratteristiche": gradazioni di colore o tonalità necessarie per determinare i confini tra gli oggetti. Quindi seleziona un sottoinsieme di queste caratteristiche che ritiene improbabile che cambino significativamente con nuove prospettive.
Trenta millisecondi dopo, quando la telecamera scatta di nuovo, l'algoritmo esegue lo stesso tipo di analisi e inizia cercando di abbinare le caratteristiche tra le due immagini. Si tratta di un processo per tentativi ed errori, che può richiedere dai 50 ai 250 millisecondi, a seconda di quanto drasticamente la scena sia cambiata. Una volta abbinate le caratteristiche, l'algoritmo può dedurre dai cambiamenti di posizione del robot di quanto si è spostato.
L'algoritmo di Censi e Scaramuzza integra i dati della telecamera con gli eventi segnalati da un sensore basato sugli eventi, progettato dal loro collaboratore Tobi Delbrück dell'Istituto di Neuroinformatica di Zurigo. Il primo vantaggio del nuovo algoritmo è che non deve identificare le caratteristiche: ogni evento è intrinsecamente una variazione di luminosità, che è ciò che definisce una caratteristica. E poiché gli eventi vengono segnalati così rapidamente – ogni milionesimo di secondo – il problema dell'abbinamento diventa molto più semplice. Non ci sono molte caratteristiche candidate da considerare, perché il robot non può essersi spostato molto.
Inoltre, l'algoritmo non tenta di abbinare tutte le caratteristiche di un'immagine contemporaneamente. Per ogni caso, genera una serie di ipotesi sulla distanza percorsa dal robot, corrispondenti a diverse funzioni candidate. Dopo che si sono accumulati un numero sufficiente di eventi, seleziona semplicemente l'ipotesi che più frequentemente corrisponde all'immagine.
In esperimenti condotti con un robot dotato di telecamera e di un sensore basato su eventi, il suo algoritmo si è dimostrato altrettanto preciso degli algoritmi di stima dello stato esistenti.
Arrivo a bordo:
una delle ispirazioni per il nuovo lavoro, afferma Censi, è stata una serie di recenti esperimenti di Vijay Kumar dell'Università della Pennsylvania, che hanno dimostrato che i quadricotteri – elicotteri robotici con quattro serie di rotori – possono eseguire manovre molto agili. Ma in quegli esperimenti, Kumar misurava la posizione dei robot utilizzando una serie di telecamere esterne che catturavano 1.000 esposizioni al secondo. Censi ritiene che il suo algoritmo, sviluppato insieme a quello di Scaramuzza, consentirebbe a un quadricottero con sensori di bordo di replicare i risultati di Kumar.
Ora che lui e i suoi colleghi dispongono di un algoritmo affidabile per la stima dello stato, afferma Censi, il passo successivo è sviluppare un algoritmo di controllo corrispondente, ovvero un algoritmo che decida cosa fare in base alle stime dello stato. Questo è l'oggetto di una collaborazione in corso con Emilio Frazzoli, professore di aeronautica e astronautica al MIT.
Articolo a cura di Larry Hardesty, Ufficio Stampa del MIT
