[spa] El objetivo de este proyecto, es la creación de una app experimental para dispositivos Android que permita maquetar el entorno del usuario utilizando un sistema de Realidad aumentada (RA). Una app o aplicación es un programa informático diseñado como herramienta para permitir a un usuario realizar uno o diversos tipos de tareas. Esta aplicación va dirigida a la planificación urbana de exteriores, por ejemplo, para poder comprobar el impacto visual de añadir un nuevo elemento decorativo a un parque público. La aplicación tiene que permitir al usuario, añadir y eliminar imágenes alrededor del usuario, creando así una maquetación para ese entorno.
Esta maquetación tiene que realizarse en exteriores, permitiendo al usuario guardar imágenes en su proximidad que puedan ser visualizadas en tiempo real en la pantalla del dispositivo. También, la aplicación tiene que ser capaz de guardar esta maquetación del entorno en la localización donde se ha realizado. De tal forma que un usuario, al volver a esta localización, pueda volver a visualizar esta maquetación.
Este proyecto no incluye la implementación de un servidor para compartir las maquetaciones entre distintos dispositivos, debido al ya amplio volumen de trabajo de este TFG. De esta manera, las maquetaciones realizadas por un usuario solo se guardarán en su propio dispositivo. El objetivo de este proyecto es crear una app con estas capacidades:
1. Capacidad de almacenamiento de las imágenes junto a su localización.
2. Capacidad de localizar el dispositivo, para detectar automáticamente la localización de las imágenes respecto a este.
3. Capacidad de interconectar los sensores de orientación del dispositivo junto a la cámara y un motor gráfico para la creación de un sistema de RA en tiempo real.
4. Capacidad de interacción del usuario con la aplicación.
La app para este proyecto ha sido creada con Android Studio usando Java como único lenguaje de programación junto a XML para la parte de maquetación de los componentes interactivos de la aplicación.
Esta app usa la geolocalización vía GPS como método principal de localización del dispositivo, debido a la necesidad de poder obtener una localización en exteriores de manera automática. Para detectar la orientación del dispositivo se ha utilizado una combinación de diferentes sensores basada en una modificación propia de la implementación de código de libre uso por Alexander Pacha.
Para el apartado visual de la aplicación se ha utilizado una combinación del sensor de la cámara junto a OpenGL ES, para la correcta visualización de las imágenes virtuales en el dispositivo.
Finalmente se ha creado el sistema de guardado de imágenes en memoria utilizando SQLite. La estructura de la aplicación usa un diseño MVP, capaz de en un futuro o en próximas versiones de la aplicación, poder compartir las maquetaciones del entorno entre múltiples dispositivos usando un servidor.
La app funciona en dispositivos Android que cumplen estos requisitos. No se asegura el correcto funcionamiento en todos los dispositivos que los cumplan, debido a la inmensa cantidad de dispositivos Android que existen actualmente en el mercado con diferentes especificaciones.