130 likes | 242 Vues
Sviluppo di ambienti in realtà virtuale per il monitoraggio remoto di Robot Articolati. Relatore: Laureando: Prof. Luca Zaccarian Roberto Antonelli. Obiettivo. Sviluppo di una libreria grafica per la rappresentazione prospettica di robot antropomorfi in ambiente Linux.
E N D
Sviluppo di ambienti in realtà virtuale per il monitoraggio remoto di Robot Articolati Relatore: Laureando: Prof. Luca Zaccarian 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 Verifica del comportamento del robot senza essere vincolati alla vicinanza fisica • Monitoraggio Remoto Specificazione dei compiti assegnati al robot in ambiente user friendly • Azionamento Remoto Simulazione del comportamento del robot in seguito ad uno spostamento, prima di compierlo realmente • Simulazione
Legge Prospettica • Intuizione:Più un oggetto è lontano, più tende a rimpicciolirsi • Formalizzazione:Trasformazione Prospettica
Rappresentazione Prospettica Struttura Complessa Insieme di Elementi Ciascun Elemento Insieme di Vertici
Rappresentazione dei Robot Articolati • Scomposizione dei robot in elementi • Scomposizione degli elementi in vertici Scorbot-ER Scortec-ER I 15 Elementi 2170 vertici 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 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 • Punti • Linee • Quadrilateri • Poligoni
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 Vengono caricati in memoria tutti i vertici di tutti gli elementi Si raggruppano i vertici in insiemi prestabiliti per ricostruire ogni elemento Viene determinato l’ordine di visualizzazione sullo schermo degli elementi in modo da ottenere una sovrapposizione corretta Ricostruzione Elementi Gli elementi del robot 3D vengono tracciati sullo schermo virtuale nell’ordine prestabilito Si verifica se il robot fisico e la sua rappresentazione 3D si trovano nella stessa posizione Per ogni elemento del robot si calcola la posizione e l’orientamento nello spazio 3D Vengono acquisite le posizioni angolari dei giunti del robot Lettura Encoder Trasferimento del framebuffer sullo schermo NO 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(Angolidi 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(Angolidi 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