De la Penna y De Nigris

Manuel De la Penna y Agustin De Nigris desarrollaron recientemente su tesis de grado sobre Navegación 3D. La misma consistió en el desarrollo de una aplicación web de navegación de interiores en tres dimensiones utilizando el estándar WebGL.

Título

«Navegación en 3D en espacios indoor»

Autores Manuel De la Penna y Agustin De Nigris
 Carrera Licenciatura en Sistemas
Fecha de Presentación 17.06.2014
Presentación Descargar PDF

Entrevista

¿Cómo fue el desarrollo de su tesis?

 El proyecto planteado surge como una continuación de la tesis de grado realizada por los ex-alumnos Luciano Appathie y Claudio Borre en su tesina de grado del año 2012 “Navegación Indoor 2D/3D en dispositivos móviles”. Dicha implementación consta de un navegador de interiores en dos dimensiones, la cual no pudo ser implementada en tres dimensiones debido a diversos inconvenientes como la compatibilidad de browsers y las librerías encargadas de abstraer el uso de WebGL, sumado al bajo rendimiento de estas librerías en dispositivos móviles en ese año.

Los objetivos principales fueron dos, el primero consistió en definir un Modelo de Navegación 3D (Extendiendo el Modelo 2D existente) y el segundo, implementar un prototipo de Navegación 3D (a partir de un prototipo 2D existente) que contara con las siguientes características:

▫      Orientar al usuario física y lógicamente dentro de un espacio.

▫      Interfaz gráfica de tipo “Street View”.

▫     Utilización del estándar WebGL para mostrar los gráficos en 3D dentro del navegador Web.

▫    Lectura de códigos QR dentro del prototipo para ubicar físicamente al usuario.

▫     Utilización de herramientas Open Source.

▫    Acceso desde distintos Sistemas Operativos sin necesidad de instalar software adicional.

 ¿Qué los motivó a trabajar sobre este tema?

 Lo que nos motivó principalmente fue la aparición de nuevos frameworks que gestionan el manejo de WebGL y las actualizaciones de los diferentes browsers respetando nuevos estándares, tanto en computadoras, notebooks, netbooks, tablets y celulares. Además de la consolidación de HTML5 en los últimos años, la evolución de los dispositivos móviles (GPS, acceso a internet, procesadores de varios núcleos, aceleradores gráficos, etc.), el soporte en navegadores y dispositivos para ejecutar tecnologías, y el creciente desarrollo de aplicaciones de posicionamiento.

 ¿Cuáles son las ventajas que presenta este modelo de Navegación 3D?

 El modelo de Navegación 3D que propusimos es general, esto quiere decir que si bien nosotros lo instanciamos en el edificio de la Facultad de Informática, el mismo puede ser instanciado en cualquier espacio. Posee flexibilidad en cuanto a la instanciación de estructuras (por ejemplo aulas). Por otra parte, permite agregar estrategias de recorrido, en nuestro caso particular utilizamos la del «camino mínimo» para dirigirse de un punto del edificio de la facultad hacia otro, pero gracias a la utilización del patrón de diseño «Strategy» pueden agregarse todas las que se desee.

¿En qué aspectos creen que ayudaría a mejorar la experiencia del usuario?

Creemos que mejoraría mucho la experiencia de los usuarios ya que se les permite observar el recorrido virtual de nuestra facultad, y podría extenderse mostrando otras estructuras conocidas e importantes de nuestro país y de todo el mundo.

Esta aplicación puede llegar a brindar muchos beneficios, ya sea conocer un espacio antes de visitarlo, su fachada, ver cómo es un hotel o una casa antes de hacer la reserva, y a partir de allí tomar decisiones o como evaluar diferentes destinos de viaje. También podría proporcionar a comercios, hoteles, inmobiliarias la capacidad de mostrar sus interiores, los servicios que brindan.

Y otro beneficio muy importante que puede brindar, es su utilización como servicio cultural y educativo, ya que podrían mostrarse lugares en los cuales ocurrieron acontecimientos históricos.

¿Con qué obstáculos se encontraron en el desarrollo de la tesis?

Tuvimos muchos obstáculos durante el desarrollo de la Tesis, pero nos interesa destacar los dos principales.

El primero fue la lectura de códigos QR que se utiliza para reconocer la posición física de la persona que está utilizando la aplicación. Esta lectura es necesaria para determinar la posición física del usuario y para luego seleccionar un destino. La aplicación original no disponía de un lector de códigos QR integrado y en su lugar utilizaba una simulación de este. En el caso de la navegación en tres dimensiones de nuestra tesis la posición física se actualiza constantemente, con lo cual llevó a analizar la forma en la que se leían los códigos QR y plantear la idea de integrar un lector de códigos QR dentro de la aplicación.

Al realizar lecturas fuera de la aplicación hacía necesario salir de la aplicación para utilizar otra que lea códigos QR, lo cual produce que sea tedioso su uso, y hace que sea necesario software adicional para correr la aplicación. Por todo ello decidimos utilizar un lector de códigos QR integrado.

El otro gran obstáculo surgió en el momento de intentar implementar la lógica de las funciones de animación, es decir el traslado de la cámara de un punto a otro dentro del plano de tres dimensiones. Primero era necesario girar la cámara que gestiona la vista hasta el punto anterior o siguiente según correspondiera, y luego hacerla mover linealmente hasta el punto destino. Por más que fuera sencillo calcular el ángulo de giro y la distancia a recorrer, la implementación no era simple ya que las herramientas disponibles (básicamente funciones como setInterval y setTimeout nativas de Javascript) no garantizaban que el giro fuera siempre igual en distintas ejecuciones, y esto mismo se repetía con los avances. A partir de esta problemática, se buscó una solución y tras investigar sobre el tema, se dio con un framework implementado en Javascript que funciona como motor de animaciones, llamado Tweenjs. El mismo se integra de manera muy simple (sólo alcanza con agregar el archivo js al proyecto) y provee una simple interfaz para gestionar las animaciones. De esta manera se pudo realizar de una manera exitosa y eficiente todas las animaciones necesarias para realizar el desarrollo de nuestra aplicación.

¿Qué diferencias tiene su desarrollo en comparación con otros desarrollos predecesores?

 En comparación con el trabajo de tesis usado como base, la principal diferencia es la utilización del estándar WebGL, una especificación estándar desarrollada para mostrar gráficos en 3D acelerados por hardware en navegadores Web. WebGL posee una API para Javascript incorporada en los navegadores más modernos, y la principal ventaja que tiene es que no es necesario instalar plugins ni software adicional en los dispositivos cliente. Además se integra un lector de códigos QR dentro de la aplicación para leer los diferentes puntos de navegación.

  ¿Están interesados en difundir tu desarrollo? ¿Cuál creen que es su potencialidad?

 Sin dudas estamos interesados. Nos dijeron que ya hay gente interesada en continuar nuestro trabajo y eso nos alegra mucho, dado que si bien los Sistemas de Posicionamiento de Interiores son cada vez más utilizados aún no poseen el mismo nivel de maduración que los Sistema de Posicionamiento en Exteriores.

 ¿Qué influencia tuvo el desarrollo de la tesina para su desempeño laboral?

Dado que ambos trabajamos en el ámbito estatal, estaría bueno trasladar este tipo de aplicaciones a organismos públicos, pudiendo orientar al usuario a la hora de encontrar un lugar determinado y, por ejemplo, realizar un trámite, detallando toda la información complementaria pertinente como puede ser, papeles a llevar, horarios de atención, novedades, etc.

DSC_0786 (1)

Vuelve al inicio