Sei sulla pagina 1di 3

Corso di Laurea Magistrale in Ingegneria Informatica (Computer Engineering) Tesi di Laurea Magistrale

Progettazione e sviluppo di un Framework per l'integrazione di dispositivi di interazione naturale con sistemi di proiezione olografica
Relatori: Andrea Sanna, Fabrizio Lamberti Marzo 2014 Negli ultimi anni, in virt dellenorme impulso che ha subito la ricerca nel campo della computer grafica, va crescendo la tendenza ad interfacciare lutente ad un sistema di elaborazione immergendolo in ambienti virtuali interattivi, basati su un paradigma di interazione naturale. Uninterfaccia naturale (NUI - Natural User Interface) per definizione risulta completamente invisibile ed estremamente intuitiva, in quanto priva di dispositivi di controllo artificiali il cui funzionamento deve essere appreso. In particolare, la recente diffusione di dispositivi di tracciamento ad alta precisione, ha invogliato lo sviluppo di interfacce basate su uninterazione di tipo gestuale, che, associata allutilizzo di sistemi di proiezione di immagini olografiche, rivoluziona completamente lapproccio di esposizione dei contenuti da parte di una macchina ai suoi utenti. Un dispositivo di tracciamento un componente hardware capace di rilevare la presenza di oggetti posti allinterno del suo volume di vista, fornendo in output informazioni che ne descrivono la morfologia e levoluzione temporale del moto. Equipaggiato di apposite librerie software, inoltre capace di effettuare, parallelamente al tracciamento del moto, unattivit di ricerca e riconoscimento di pattern motori considerati di particolare interesse. Nel contesto descritto si colloca il presente lavoro di tesi, il cui obiettivo la progettazione e lo sviluppo di un Framework che permetta lintegrazione delle funzionalit offerte da un dispositivo di tracciamento allinterno di ambienti virtuali di tipo olografico, permettendo allutente di interagire in modo del tutto naturale, mediante gesti. Viene proposto un workflow le cui fasi specificano il collegamento al dispositivo di tracciamento, la definizione ad alto livello della logica di interazione gestuale e la generazione della simulazione 3D finale. Candidato: Luigi Maggio

Il dispositivo di tracciamento utilizzato il Leap Motion, una piccola periferica USB che, avvalendosi di due telecamere e tre LED infrarossi, in grado di osservare un'area approssimativamente semisferica di circa un metro cubo, identificando e tracciando al suo interno dita o oggetti simili con una precisione di 0,01 mm. La piattaforma scelta per la realizzazione della logica di interazione, basata sui dati di tracciamento forniti, il motore di gioco di Blender. Questultimo anche lo strumento adoperato per la modellazione dei contenuti da proiettare. Il primo passo del lavoro di tesi consistito nella progettazione e sviluppo dello strato applicativo che realizzasse la comunicazione del dispositivo di tracciamento con il motore di gioco. In particolare stato implementato un socket di comunicazione bidirezionale attraverso il quale il Leap invia continuamente dei messaggi JSON contenenti i dati di tracciamento, mentre lapplicazione, quando se ne presenta il bisogno, invia dei messaggi di configurazione. I messaggi ricevuti sono consumati da un modulo apposito che ne esegue il parsing, elabora i dati grezzi contenuti (semplici coordinate di punti nella spazio ed entit vettoriali), e li utilizza per aggiornare lo stato corrente della simulazione 3D. Questi dati comprendono sia informazioni sulla localizzazione spaziale degli elementi tracciati allinterno del campo di vista, sia informazioni riguardanti la rilevazione di pattern gestuali mediante i quali lutente realizza linterazione. Indubbiamente, la qualit della simulazione dipende strettamente da quella della logica di interazione definita allinterno del motore di gioco. La necessit di padroneggiare ad un certo livello i costrutti di progettazione messi a disposizione dal motore, preclude a persone che non abbiano conoscenze dellambiente, e in generale di programmazione, la possibilit di realizzare una simulazione di questo tipo. Di conseguenza, ulteriore obiettivo del presente lavoro di tesi stato fornire, anche ad un utente che non avesse conoscenze avanzate di Python e del motore di gioco di Blender, gli strumenti per creare una simulazione interattiva basata su un meccanismo di interazione gestuale. Questo comporta la necessit di astrarre quanto pi possibile concetti strettamente legati alla programmazione e alle funzionalit specifiche messe a disposizione dalleditor di Blender, fornendo un modo per modellare i comportamenti desiderati che risulti quanto pi intuitivo possibile. Per assolvere al compito stata appositamente sviluppata unapplicazione, Leap Embedder. Questa offre la possibilit di definire graficamente linterazione dellutente con gli oggetti virtuali mediante un editor, nel quale le relazioni causa-effetto sono modellate attraverso la congiunzione di

nodi. La definizione della logica si basa su principi di associazione: associazione di eventi di tipo rilevazione gesture ad un nodo che rappresenta un oggetto e associazione di azioni (rappresentate da nodi attuatore) a nodi che rappresentano la rilevazione di una gesture. La logica cos definita pu essere esportata allinterno di un file XML, poi importabile allinterno del motore di gioco di Blender. Lesecuzione della fase di importazione ha richiesto la realizzazione di un apposito Blender Add-On. Questo, oltre che della generazione automatica della logica di interazione, si occupa anche di inizializzare opportunamente i parametri di rendering, della configurazione del motore di simulazione fisica e delle telecamere. Lutente pu scegliere di produrre una simulazione da visualizzare su un classico schermo 2D oppure una adatta alla proiezione dei contenuti allinterno di una teca 3D olografica. Il Framework realizzato permette, anche ad un utente con scarse conoscenze di programmazione e delle funzionalit offerte dal motore di gioco di Blender, di realizzare una propria simulazione interattiva 3D, basata su un paradigma di interazione naturale di tipo gestuale. In virt dellausilio degli applicativi sviluppati ad hoc per lo scopo, resa completamente trasparente allutente linterfaccia programmatica con il dispositivo di tracciamento Leap Motion, nonch la generazione della logica di interazione allinterno del motore di gioco di Blender. Per quanto riguarda utenti che hanno gi esperienza dellambiente Blender, lutilizzo degli strumenti sviluppati ha permesso loro di velocizzare sensibilmente la fase di definizione della logica di interazione, oltre che costituire un metodo immediato per includere, allinterno di una simulazione 3D realizzata in Blender, le funzionalit di tracciamento offerte dal Leap. Nei casi in cui lutente esperto fosse partito con la volont di realizzare dei comportamenti volutamente molto complessi, gli strumenti forniti sono risultati molto utili per la generazione automatica di una base logica di partenza, sulla quale poi andare ad effettuare modifiche puntuali per caratterizzarne il comportamento a proprio piacimento. Tale procedimento ha inoltre eliminato, allinterno della base logica, possibili errori umani che comportano tempo per essere rintracciati e corretti. Sviluppi futuri del lavoro potrebbero riguardare lutilizzo di altri dispositivi di tracciamento (ad esempio il Kinect), lestensione del set di gesture riconosciute mediante algoritmi di DTW Dynamic Time Warping, lutilizzo di un motore di gioco pi potente e versatile quale Unity 3D e lestensione del paradigma di interazione verso un approccio multimodale che preveda anche uninterazione basata su comandi vocali, oltre che gestuali.