martedì 1 settembre 2009

Visual Servoing mediante un sistema di visione stereoscopica

0 commenti
Visual Servoing mediante un sistema di visione stereoscopica
Tesi di laurea in Ingegneria dell'Automazione 2009/2010
Università degli studi di Roma Tor Vergata
Relatore: Ing. Daniele Carnevale
Correlatore: Ing. Francesco Martinelli

Abstract: Negli ultimi decenni la robotica si sta diffondendo sempre maggiormente nella vita quotidiana e industriale. Fondamentale per questo sviluppo è la capacità da parte degli apparati meccanici di poter interagire con il mondo che li circonda. Ha quindi un'importanza essenziale nella robotica lo studio di sistemi percettivi sempre più precisi. Le tecniche utilizzate possono essere basate su vari tipi di sensori: ad ultrasuoni, ad infrarossi, laser, odometrici ecc. Inoltre recentemente, grazie alla sempre maggior potenza di calcolo dei moderni elaboratori si sta diffondendo l'uso del Visual Servoing (o Vision-Based Robot Control) per il controllo degli apparati robotici. Il Visual Servoing è una tecnica innovativa di controllo, nata e sviluppatasi negli ultimi 15 anni, che basa il suo feedback sulle immagini
acquisite da un sistema video. Le tecniche di Visual Servoing possono essere classificate in tre tipi: Image Based (IBVS), Position Based (PBVS) e ibrida. L'IBVS sfrutta l'errore individuato sul piano immagine senza effettuare una stima della posizione dell'oggetto. La PBVS invece stima la posizione 3D del target rispetto alle telecamere e impartisce di conseguenza i comandi al robot. Le tecniche ibride combinano i due precedenti metodi ed in particolare l'informazione 2D con la 3D. Il Visual Servoing quindi si basa sulle tecniche di visione computazionale,
una branca dell'informatica che si occupa dell'acquisizione digitale e delle elaborazioni delle immagini. Un affascinante oggetto di studio della visione computazionale, che consente di mettere appunto un efficace e preciso PBVS 3D, è la visione stereoscopica. La stereopsi (da stereo che significa solido e opsis che significa sguardo) è la capacità naturale di molti animali di percepire la distanza e la struttura tridimensionale di un oggetto a partire dalla disparità di posizione che quest'ultimo ha nelle due immagini acquisite dai due occhi. E' proprio grazie a questa capacità, che l'occhio umano è in grado di avere una visione tridimensionale del mondo esterno. Nonostante il principio di funzionamento della stereopsi e le trasformazioni geometriche che a partire dallo scostamento che c'è tra le due posizioni rilevate del medesimo oggetto siano conosciute da tempo, solo negli ultimi quindici anni si è potuto iniziare a sfruttare la visione stereoscopica. Questo è dovuto principalmente alla grandissima quantità di calcoli real-time che sono necessari per avere una percezione utilizzabile del mondo
esterno. E' altresì vero che la precisione nell'individuazione di un target da parte di un sistema stereoscopico è incredibilmente alta e dipende in ultima analisi solo dalla qualità hardware del sistema che si sta utilizzando. Inoltre la visione stereoscopica è un'ottima soluzione al problema dell'individuazione di particolari target che non possono essere avvicinati o alterati, come oggetti ad altissima temperatura o talmente freddi da avere una bassa emissione di radiazione infrarossa o che semplicemente si trovano ad una distanza troppo elevata per sensori classici.
La visione stereoscopica nei prossimi anni sarà sicuramente uno dei metodi di localizzazione ed autolocalizzazione più utilizzato negli apparati robotici proprio grazie alla sua grande precisione e basso costo rispetto a sensori più sofisticati come i laser. Non è un caso che milioni di anni di evoluzione hanno fatto della visione binoculare il principale mezzo di percezione del mondo esterno di una grandissima varietà di animali.

In questo lavoro di tesi sarà descritta la progettazione di un sistema di visione stereoscopica sia dal punto di vista hardware che software e la sua applicazione al problema del Visual Servoing. La tesi si soffermerà soprattutto sull'aspetto implementativo. Infatti, nonostante non sarà tralasciato l'irrinunciabile e ampio corpus teorico necessario alla comprensione del lavoro svolto, a questo sarà dato meno peso in quanto ampiamente descritto già da una decina di anni [1], [2], [3]. Su questo aspetto si cercherà principalmente di colmare le lacune, modernizzare e uniformare il disparato insieme di teorie della visione computazionale che sono necessarie alla particolare applicazione della visione stereoscopica in modo da rendere più chiara quest'ultima ai futuri lettori.
La struttura della tesi seguirà un approccio standard al problema e ripercorrerà cronologicamente le soluzioni trovate e gli algoritmi implementati. Nel primo capitolo saranno descritti i robot utilizzati per i test, l'apparato stereoscopico costruito, i parametri di progetto scelti e le librerie software utilizzate. E' da sottolineare fin da subito che l'apparato sarà montato su due sistemi robotici totalmente diversi. Un robot rover costruito in laboratorio appositamente e uno scorbot, un robot antropomorfo da studio. E' stata fatta questa scelta per dimostrare l'estrema portabilità del sistema stereoscopico.
Nel secondo capitolo sarà affrontato il problema dell'object detection applicato alla visione monoscopica. Saranno descritte le fasi di preprocessing dell'immagine, di estrazioni dei contorni e di individuazione dell'oggetto. Sarà dato particolare risalto alle diverse possibilità e soluzioni che si possono seguire e saranno giustificate le particolari scelte fatte.
Nel terzo capitolo sarà descritto il modello teorico e corretto della telecamera, la calibrazione del sistema stereoscopico, il metodo della rettificazione epipolare e la stereo-triangolazione
vera e propria. Contemporaneamente all'esposizione teorica seguirà una dettagliata relazione del lavoro pratico svolto e delle difficoltà reali affrontate.
Nel quarto capitolo saranno mostrate alcune applicazioni del sistema stereoscopico ottenuto mediante l'uso di tecniche di Visual Servoing. Dato che il primo passo nella prova del sistema è
l'individuazione corretta della posizione di un oggetto sarà fatta inseguire al robot una palla tramite la stima della posizione di questa rispetto alle telecamere (PBVS). Ci si soffermerà in particolare sulle problematiche di elaborazioni real-time. In secondo luogo sarà affrontato il problema dell'autolocalizzazione del robot in un ambiente conosciuto stimando la posizione di quest'ultimo rispetto a dei tag di posizione nota (PBVS). Infine il sistema sarà utilizzato per il controllo di uno scorbot attraverso il calcolo relativo tra la posizione dell'effettore e del target (PBVS).

[1] D. Scaramuzza, “Progetto e Realizzazione di un Sistema di Visione Stereoscopica per la Robotica, con Applicazione all’inseguimento di Corpi in Moto e
all’Autolocalizzazione”, Università Degli Studi di Perugia, 2004.
[2] S. Pietrosanti, “Riconoscimento e localizzazione di oggetti mediante visione stereoscopica”, Università Degli Studi di Roma Tor Vergata, 2009.
[3] A. Fusiello, “Visione Computazionale. Appunti delle lezioni”, 2010.

Link
PDF: Online - Download
File di lavoro: DownloadVideo: Inseguimento - Navigazione - Scorbot

0 commenti:

Posta un commento