Classificazione del terreno basata sull'analisi della tessitura per la navigazione outdoor mediante un sensore visivo ibrido Candidato: FEDERICO SASSI Relatore: Prof. S. Cagnoni Correlatori: Prof. M. Mordonini, Dott. L. Ascari, Ing. L. Mussi, Ing. M. Ziegenmeyer La robotica mobile sta acquisendo sempre maggiore importanza nello svolgimento di compiti, in sostituzione dell’uomo, in ambienti pericolosi o inadatti alla sua presenza; si richiede quindi ai robot di esibire una sempre maggiore autonomia nei task che devono svolgere, per essere in grado di affrontare condizioni di cui, a priori, si ha una limitata conoscenza. Un’abilità fondamentale che i robot devono acquisire è quella della locomozione autonoma all’interno di tali ambienti. Per introdurre un sufficiente grado di autonomia nel processo di assunzione delle decisioni è necessario l’utilizzo di tecniche di controllo che permettano di realizzare vari comportamenti, a differenti livelli di complessità. E’ inoltre essenziale mettere in grado il robot di reperire costantemente informazioni dall'ambiente circostante tramite l’elaborazione di dati sensoriali, oltre a fornirlo dei relativi sensori e di una piattaforma hardware che faciliti la locomozione su terreni sconnessi e sconosciuti a priori. Una tipologia di sensori molto importante è quella dei sensori esplorativi, ovvero sensori che permettono di acquisire conoscenza dell'ambiente circostante “a distanza”, fra i quali i sensori visivi occupano un posto predominante; basti pensare come l'uomo riesca, principalmente tramite il senso della vista, ad orientarsi, ad evitare gli ostacoli o a riconoscere la natura del terreno su cui cammina. Nonostante ciò, l'utilizzo della sola visione non è sufficiente; è quindi fondamentale integrare la percezione visiva utilizzando anche altri sensori e giungere ad una fusione delle informazioni così raccolte. Per sperimentare sensori visivi innovativi e sistemi di sensori visivi su piattaforme robotiche mobili adatte all’uso anche in esterno è recentemente iniziata una collaborazione con il laboratorio Interaktive Diagnose und Servicesysteme (IDS) del Forschungszentrum Informatik (FZI) di Karlsruhe (Germania). Punto di partenza della ricerca è stato lo sviluppo, presso l'Università di Parma, del sensore HOPS, un sensore visivo ibrido costituito dall’unione di una telecamera tradizionale motorizzata ed una omnidirezionale catadiottrica in grado di riprendere una scena a 360°. Tramite questo sensore è possibile monitorare tutto l'ambiente circostante con la telecamera omnidirezionale, per focalizzare l'attenzione sulle regioni di interesse ed osservarle poi, a maggiore definizione, mediante la telecamera tradizionale. Dal punto di vista della piattaforma robotica, si è scelto di utilizzare Lauron IVc, la quarta generazione di un robot a forma di insetto esapode, sviluppato dal laboratorio IDS; questo robot è in grado di muoversi con agilità su terreno anche sconnesso o accidentato, grazie a un sistema di controllo “reattivo” in grado di adattarsi alle condizioni del terreno. Per quanto riguarda la sensoristica, attualmente Lauron IVc è dotato di tre telecamere (una coppia stereo di telecamere tradizionali sulla testa ed una omnidirezionale sulla “coda”), laser scanner, sensori di forza su ogni piede, inclinometro e GPS, oltre ai sensori necessari per conoscere lo stato interno del robot. Lo svolgimento di questa tesi ha consentito di gettare le basi della collaborazione tra i due laboratori verificando le potenzialità della piattaforma robotica, dei suoi sensori e di HOPS relativamente al raggiungimento degli obiettivi sopra descritti. Nel corso di questa tesi, in particolare, è stata definita e integrata nella piattaforma MCA2, usata per il controllo del robot, l'architettura software che permetterà l'integrazione dei dati sensoriali; questi saranno elaborati mediante algoritmi in grado di analizzare l'ambiente e guidare Lauron IVc verso il raggiungimento della sua missione in maniera autonoma. E’ stato inoltre sviluppato un primo algoritmo basato sull'analisi dei dati provenienti dai sensori visivi. L’algoritmo analizza il terreno circostante il robot, riconoscendo sezioni di terreno di diversa natura, utilizzando come elemento discriminante le tessiture che le caratterizzano. Questo algoritmo analizza l'immagine proveniente dal sensore visivo omnidirezionale per riconoscere la composizione del terreno e genera una mappa che indica le zone circostanti il robot su cui è più agevole camminare, al fine di pianificare il percorso ottimale per raggiungere l'obiettivo. Un ulteriore modulo, realizzato nel corso della tesi, imita la struttura del sistema visivo umano che identifica la presenza di un oggetto “interessante” a bassa risoluzione (visione periferica) e focalizzare poi l'attenzione su di esso per analizzarlo ad alta risoluzione (visione foveale). Il modulo realizzato analizza le immagini provenienti dalla telecamera omnidirezionale, a minore risoluzione, per selezionare la regione di interesse corrispondente su cui dirigere la(e) telecamera(e) frontale(i), a maggiore definizione, per un’analisi più accurata. Si sono inoltre eseguiti test dell'architettura software e degli algoritmi, sia a Karlsruhe, utilizzando Lauron IVc, che a Parma sul sensore HOPS. I test riguardanti Lauron IVc si sono svolti in ambiente esterno. La risoluzione e la sensibilità della telecamera omnidirezionale attualmente montata sul robot si sono rivelate insufficienti per fornire immagini di qualità tale da consentire un’analisi accurata. Questo richiederà la sostituzione della telecamera con una più performante di cui sono state definite le specifiche. I test hanno comunque consentito di verificare il buon funzionamento dell’architettura software realizzata. Successivamente sono stati effettuati test sul sensore HOPS ricreando uno scenario naturale all'interno del laboratorio con differenti tessiture naturali (sabbia, sassi, paglia e foglie). Grazie alla buona qualità della telecamera omnidirezionale di questo sensore è stato possibile acquisire immagini che hanno costituito un training set finalizzato allo sviluppo di un classificatore affidabile. Per realizzare il classificatore sono stati presi in considerazione due algoritmi, le Support Vector Machines e la OptimumSize Learning Vector Quantisation. Essi hanno consentito di ottenere, su un insieme di immagini di test distinto dal training set, una precisione nella classificazione che, per alcune classi, è superiore al 95%; ciò ha consentito di calcolare una mappa di traversabilità del terreno circostante, ovvero una mappa nella quale il livello di grigio di ciascun punto rappresenta la facilità di attraversamento del terreno, in quel punto, da parte del robot. Questa mappa costituisce quindi un ausilio importante per individuare il percorso ottimale da compiere per raggiungere un determinato obiettivo. È importante osservare come i risultati raggiunti siano stati ottenuti solamente tramite l'analisi delle tessiture; l'architettura software, tuttavia, prevede l'utilizzo di numerosi altri canali sensoriali che permetteranno di migliorare ancora l'affidabilità dei risultati consentendo, al termine del progetto, la realizzazione di un sistema completo di movimento autonomo del robot.