Sviluppo di ambienti in realtà virtuale per il monitoraggio remoto di Robot Articolati Relatore: Prof. Luca Zaccarian Laureando: Roberto Antonelli Obiettivo Sviluppo di una libreria grafica per la rappresentazione prospettica di robot antropomorfi in ambiente Linux Scortec-ER I Scorbot-ER Campi di Applicazione • Monitoraggio Remoto Verifica del comportamento del robot senza essere vincolati alla vicinanza fisica • Azionamento Remoto Specificazione dei compiti assegnati al robot in ambiente user friendly • Simulazione Simulazione del comportamento del robot in seguito ad uno spostamento, prima di compierlo realmente Legge Prospettica • Intuizione: Più un oggetto è lontano, più tende a rimpicciolirsi • Formalizzazione: Trasformazione Prospettica Rappresentazione Prospettica Struttura Complessa Ciascun Elemento Insieme di Elementi Insieme di Vertici Rappresentazione dei Robot Articolati • Scomposizione dei robot in elementi • Scomposizione degli elementi in vertici Scorbot-ER 15 Elementi 2170 vertici Scortec-ER I 12 Elementi 1036 vertici Rappresentazione dei Robot Articolati Rappresentazione tridimensionale del robot Scorbot-ER Rappresentazione tridimensionale del robot Scortec-ER I Robot tridimensionale Elementi Costituenti del Robot 3D Vertici di ciascun elemento Libreria OpenGL • Insieme di funzioni chiamabili da un programma personalizzato • Permette di produrre su un display una rappresentazione di una scena tridimensionale. • Per creare una scena, la libreria OpenGL si basa su due concetti fondamentali: Forme Primitive Sorgenti di Illuminazione Direzionale: la sorgente viene considerata •Punti •Linee •Quadrilateri •Poligoni come un punto all’infinito Puntiforme: i raggi vengono generati uniformemente in tutte le direzioni a partire da un punto Spot: come le sorgenti puntiformi ma l’emissione dei raggi è limitata ad un cono con vertice nel punto della sorgente Framebuffer • Finestra di memoria mappata sulla scheda video • Per rendere fluida la visualizzazione del movimento si lavora in parallelo su due pagine video, utilizzando il “framebuffer”: Pagina 1 Schermo effettivo Pagina 0 Schermo virtuale • Nella pagina 2 si traccia il fotogramma; a tracciamento completato si scambiano le due pagine ottenendo visualizzazione immediata: Pagina 1 Schermo virtuale Pagina 0 Schermo effettivo Generazione di un frame del Robot Inizializzazione Vertici Ricostruzione Elementi Lettura Encoder NO Vengono caricati in memoria tutti i vertici Si raggruppano i vertici di tutti gli elementi in insiemi prestabiliti Viene l’ordine dirobot 3D perdeterminato ricostruire Gli elementi del verifica se ilschermo robot visualizzazione sullo ogniSielemento Peracquisite ogni elemento vengono tracciati sullo del Vengono fisico e la sua degli elementischermo in modo da ottenere robot si calcola la virtuale le posizioni angolari rappresentazione 3D Trasferimento del framebuffer una sovrapposizione corretta posizione e l’orientamento nell’ordine prestabilito dei giunti del robot si trovano nella stessa sullo schermo nello spazio 3D posizione Verifica Movimento SI Coordinate 3D degli elementi Tabella Precendenze Rappresentazione 3D sul framebuffer Swap Utilizzo esterno della libreria • La libreria è costruita per essere facilmente impiegata in un programma C • Due modalità di impiego: 1. Modalità Statica: • Inizializzazione: viene inserita nel main() del programma principale ScortInitGrafica(parametri della finestra di visualizzazione) • Tracciamento frame: viene inserita quando si vuole visualizzare il robot ScortMovimento(Angoli di giunto, Stato effettore) 2. Modalità Dinamica: • Inizializzazione: viene inserita nel main() del programma principale ScortInitGrafica(parametri della finestra di visualizzazione) • Impostazione animazione: per creare una scena animata si deve inserire il tracciamento del frame in una procedura dedicata void ScortMain() • Tracciamento frame: viene inserita quando si vuole visualizzare il robot ScortMovimento(Angoli di giunto, Stato effettore) Esempio di Applicazione Ripresa da Webcam posizionata davanti allo Scortec-ER I Ripresa da Webcam posizionata davanti allo schermo del PC Conclusioni • Rappresentazione 3D robot Scortec-ER I • Rappresentazione 3D robot Scorbot-ER • Creazione libreria Grafica interfacciabile Scortec-ER I virtuale Scorbot-ER virtuale