Este proyecto se centra en el desarrollo de un planisferio celeste mediante Realidad Aumentada (usando proyector o gafas). Para ello se estima la posición del usuario mediante marcas en la superficie de proyección y se añaden las estrellas que estarían visibles con respecto a esta. Usando una marca tipo puntero se pueden seleccionar estrellas para resaltar a qué constelación pertenecen, su nombre y otros datos.
Bóveda celeste usando Realidad Aumentada (D. Berrocal)
1. Diseño de un observatorio celesteDiseño de un observatorio celeste
basado en Realidad Aumentadabasado en Realidad Aumentada
Autor: Daniel Berrocal RuizAutor: Daniel Berrocal Ruiz
Tutora: Cristina Urdiales GarcíaTutora: Cristina Urdiales García
Proyecto Fin de CarreraProyecto Fin de Carrera
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓNESCUELA TÉCNICA SUPERIOR DE INGENIERÍA DE TELECOMUNICACIÓN
UNIVERSIDAD DE MALAGAUNIVERSIDAD DE MALAGA
DEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICADEPARTAMENTO DE TECNOLOGÍA ELECTRÓNICA
4. 1.1.- Planetarios vs planisferios1.1.- Planetarios vs planisferios
1.- Introducción1.- Introducción
5. 1.2.- Realidad Aumentada1.2.- Realidad Aumentada
•Realidad Virtual: Modelo artificial de un entorno 3D
•Realidad Aumentada: Entorno real al que se le
añaden elementos virtuales.
1.- Introducción1.- Introducción
6. 1.2.- Objetivos de un sistema de1.2.- Objetivos de un sistema de
Realidad AumentadaRealidad Aumentada
Mezclar lo real con lo virtual en un entornoMezclar lo real con lo virtual en un entorno
realreal
Posicionamiento en 3DPosicionamiento en 3D
TrackingTracking
Técnicas de visiónTécnicas de visión Búsqueda de marcasBúsqueda de marcas
Interacción en tiempo realInteracción en tiempo real
1.- Introducción1.- Introducción
8. 2.- Posicionamiento2.- Posicionamiento
ObjetivoObjetivo: Calcular la posición y la orientación: Calcular la posición y la orientación
de la vista del usuario.de la vista del usuario.
Reconocimiento de marcas reales colocadasReconocimiento de marcas reales colocadas
artificialmente en el entorno.artificialmente en el entorno.
ARToolKitARToolKit: Librería software empleada: Librería software empleada
Libre distribuciónLibre distribución
VelocidadVelocidad
2.- Posicionamiento2.- Posicionamiento
9. 2.1.- ARToolKit (1)2.1.- ARToolKit (1)
FuncionamientoFuncionamiento
Binarización de la imagenBinarización de la imagen
Búsqueda de posibles marcasBúsqueda de posibles marcas
Cálculo transformaciónCálculo transformación
cámara-marcacámara-marca
Identificación de marcasIdentificación de marcas
Representación objeto virtualRepresentación objeto virtual
alineado con el entorno realalineado con el entorno real
2.- Posicionamiento2.- Posicionamiento
10. 2.1.- ARToolKit. (2)2.1.- ARToolKit. (2)
Sistemas de coordenadasSistemas de coordenadas
2.- Posicionamiento2.- Posicionamiento
11. 2.2.- Ubicación de un objeto virtual2.2.- Ubicación de un objeto virtual
sobre una marcasobre una marca
NecesidadesNecesidades
CalibraciónCalibración
Entrenamiento de patronesEntrenamiento de patrones
Parámetros de configuraciónParámetros de configuración
Umbral de luminosidad ( tresh)Umbral de luminosidad ( tresh)
Tamaño de la marcaTamaño de la marca
Origen de coordenadas de la marca.Origen de coordenadas de la marca.
2.- Posicionamiento2.- Posicionamiento
12. 2.3.- Ubicación de varios objetos2.3.- Ubicación de varios objetos
usando marcas (1)usando marcas (1)
ConfiguraciónConfiguración
2.- Posicionamiento2.- Posicionamiento
13. 2.3.- Ubicación de varios objetos2.3.- Ubicación de varios objetos
usando marcas (2)usando marcas (2)
ConclusionesConclusiones
Se identifican todas las marcas presentesSe identifican todas las marcas presentes
en la escena y se dibuja sobre cada una elen la escena y se dibuja sobre cada una el
objeto virtual correspondiente.objeto virtual correspondiente.
Cada objeto se referencia localmente a laCada objeto se referencia localmente a la
marca correspondiente.marca correspondiente.
Para que un objeto se dibuje su marcaPara que un objeto se dibuje su marca
debe estar visible.debe estar visible.
2.- Posicionamiento2.- Posicionamiento
14. 2.4.- Posicionamiento global (1)2.4.- Posicionamiento global (1)
Objetivo: Colocar los objetos respecto a unObjetivo: Colocar los objetos respecto a un
sistema de coordenadas global para todos y nosistema de coordenadas global para todos y no
respecto a cada marca.respecto a cada marca.
Solución: Marcas fijas cuya posición seráSolución: Marcas fijas cuya posición será
conocida en el sistema de coordenadas globalconocida en el sistema de coordenadas global
2.- Posicionamiento2.- Posicionamiento
15. 2.4.- Posicionamiento global (2)2.4.- Posicionamiento global (2)
ConfiguraciónConfiguración
2.- Posicionamiento2.- Posicionamiento
16. 2.4.- Posicionamiento global (3)2.4.- Posicionamiento global (3)
ComportamientoComportamiento
2.- Posicionamiento2.- Posicionamiento
18. AlternativasAlternativas
Programarlo todo.Programarlo todo.
Librerías gráficas (OpenGL, Direct·3D)Librerías gráficas (OpenGL, Direct·3D)
Motores gráficos (Genesis3D, GeoMod)Motores gráficos (Genesis3D, GeoMod)
Herramientas de diseño y modelado (3DStudio,Herramientas de diseño y modelado (3DStudio,
WorldToolKit,...)WorldToolKit,...)
3.-Diseño del mundo virtual3.-Diseño del mundo virtual
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
19. 3.1.- OpenGL. Introducción3.1.- OpenGL. Introducción
““Open Graphics Library”Open Graphics Library”
Multiplataforma.Multiplataforma.
Bajo nivel.Bajo nivel.
Máquina de estadosMáquina de estados
Librería auxiliar: GLUTLibrería auxiliar: GLUT
Gestión de eventos. Funciones ‘callback’Gestión de eventos. Funciones ‘callback’
Gestión de ventanasGestión de ventanas
Escritura de textoEscritura de texto
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
21. 3.2.- Diseño de las estrellas (1)3.2.- Diseño de las estrellas (1)
Para que no se resienta la velocidad de laPara que no se resienta la velocidad de la
aplicación, deben ser elementos no demasiadoaplicación, deben ser elementos no demasiado
complejos:complejos: uso de texturasuso de texturas..
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
22. Mezcla de la textura con la imagen de vídeo : BlendingMezcla de la textura con la imagen de vídeo : Blending
Sin BlendingSin Blending Con BlendingCon Blending
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
3.2.- Diseño de las estrellas (2)3.2.- Diseño de las estrellas (2)
23. 3.3.- Dibujo de la bóveda celeste3.3.- Dibujo de la bóveda celeste
Coordenadas del cieloCoordenadas del cielo
Ascensión RectaAscensión Recta
DeclinaciónDeclinación
Independientes de laIndependientes de la
posición y del momentoposición y del momento
Coordenadas ecuatorialesCoordenadas ecuatoriales
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
24. 3.2.- Dibujo de la bóveda celeste3.2.- Dibujo de la bóveda celeste
Cambio de coordenadasCambio de coordenadas
Esféricas-cartesianasEsféricas-cartesianas
x = cos DEC cos ARx = cos DEC cos AR
y = cos DEC sen ARy = cos DEC sen AR
z = sen DECz = sen DEC
3.- Diseño del mundo virtual3.- Diseño del mundo virtual
26. 4.4. Interacción con el entornoInteracción con el entorno
aumentadoaumentado
ObjetivoObjetivo :: selección de una estrella cualquiera,selección de una estrella cualquiera,
presentando información sobre la mismapresentando información sobre la misma
NecesidadesNecesidades
Interfaz ergonómicoInterfaz ergonómico
VelocidadVelocidad
PrecisiónPrecisión
4.- Interacción con el entorno aumentado4.- Interacción con el entorno aumentado
27. 4.1.- Diseño del interfaz4.1.- Diseño del interfaz
Usar la mano del usuarioUsar la mano del usuario Segmentación imagenSegmentación imagen
Usar un puntero artificialUsar un puntero artificial Uso de una marcaUso de una marca
4.- Interacción con el entorno aumentado4.- Interacción con el entorno aumentado
28. 4.2.- Presentación de la4.2.- Presentación de la
informacióninformación
4.- Interacción con el entorno aumentado4.- Interacción con el entorno aumentado
29. 4.3.- Selección de objetos4.3.- Selección de objetos
usando OpenGLusando OpenGL
Dos modos de operaciónDos modos de operación
Modo RENDERModo RENDER
Modo SELECTModo SELECT
Datos y operaciones de dibujoDatos y operaciones de dibujoDatos y operaciones de dibujoDatos y operaciones de dibujo Datos y operaciones de dibujoDatos y operaciones de dibujoDatos y operaciones de dibujoDatos y operaciones de dibujo
Buffer de tramasBuffer de tramasBuffer de tramasBuffer de tramas Buffer de selecciónBuffer de selecciónBuffer de selecciónBuffer de selección
Imagen en pantallaImagen en pantallaImagen en pantallaImagen en pantalla
SELECTSELECTRENDERRENDER
4.- Interacción con el entorno aumentado4.- Interacción con el entorno aumentado
30. Modo SELECTModo SELECT
Área de selecciónÁrea de selección Cambio de proyecciónCambio de proyección
Primitivas de dibujoPrimitivas de dibujo
Quitar detallesQuitar detalles
Identificar los objetosIdentificar los objetos
4.- Interacción con el entorno aumentado4.- Interacción con el entorno aumentado
4.3.- Selección de objetos usando4.3.- Selección de objetos usando
OpenGLOpenGL
32. 5.- Resultados y conclusiones5.- Resultados y conclusiones
Parámetros deParámetros de
inicializacióninicialización
CalibraciónCalibración
PatronesPatrones
Tamaño de la imagenTamaño de la imagen
TreshTresh
33. 5.- Resultados y conclusiones5.- Resultados y conclusiones
ResultadosResultados
VelocidadVelocidad
MovilidadMovilidad
Errores deErrores de
posicionamientoposicionamiento
ConclusionesConclusiones
Posicionamiento 3DPosicionamiento 3D
Mezcla mundo real-Mezcla mundo real-
mundo virtualmundo virtual
Interacción tiempo realInteracción tiempo real
35. 6.- Líneas futuras6.- Líneas futuras
Ampliación del entorno virtual y desarrollo de
contenidos
Automatización del proceso de calibración
Aumentar la interactividad
Reducción del error en la representación de
objetos alejados de las marcas