CÓRDOBA AUMENTADA Sistema de Realidad

Transcripción

CÓRDOBA AUMENTADA Sistema de Realidad
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
CÓRDOBA AUMENTADA
Sistema de Realidad Aumentada aplicado a la
Ciudad de Córdoba, Argentina
__________________________________________
Trabajo de Especialización en Ingeniería en Sistemas de Información
Ignacio Cano
[email protected]
2011
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Agradecimientos
Al Dr. Mario A. Groppo, por su gran colaboración y ayuda para mejorar el presente.
1
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Dedicatorias
A mi gran amigo Agustín, que en paz descanses titán.
A Laura, el amor de vida.
2
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Resumen
El presente trabajo, requisito para la finalización de la Especialización en Ingeniería en
Sistemas de Información, propone el desarrollo de un prototipo de Realidad Aumentada
con la plataforma Layar1, que añada meta información a determinados puntos de interés
de la ciudad de Córdoba, Argentina, para mejorar la experiencia de los usuarios al
momento de recorrer la mencionada localidad.
A lo largo del trabajo, se introducirán los conceptos relacionados al campo de la Realidad
Aumentada, conocido comúnmente como Augmented Reality, sus características principales
y usos más frecuentes. También se describirán las diversas tecnologías necesarias para la
creación del prototipo, se incluirá fundamentación y descripción de las elegidas para la
elaboración del sistema.
En base a los análisis previos, se procederá al diseño y construcción de una prueba de
concepto que permitirá crear una “Córdoba Aumentada”.
1
Navegador de Realidad Aumentada disponible en distintas plataformas móviles, como Android, IPhone. Se puede
obtener información adicional de este framework en http://www.layar.com
3
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Tabla de Contenidos
Introducción ................................................................................................................................... 6
Marco Teórico ................................................................................................................................ 7
Realidad Aumentada ............................................................................................................................... 7
Reseña Histórica .................................................................................................................................. 8
Dominios de Aplicación ...................................................................................................................... 9
Objetivos y Justificación .............................................................................................................. 13
EcoTurismo ............................................................................................................................................ 13
Importancia de la Realidad Aumentada .............................................................................................. 14
Aplicaciones Sensibles a la Localización.............................................................................................. 16
Aplicaciones Móviles ............................................................................................................................. 16
Alternativas de Solución ............................................................................................................. 17
Diseño e Implementación ........................................................................................................... 18
Arquitectura de la Plataforma Layar ................................................................................................... 19
Diseño de Alto Nivel .............................................................................................................................. 20
Diagrama de Paquetes....................................................................................................................... 20
Casos de Uso ...................................................................................................................................... 21
Diseño de Bajo Nivel ............................................................................................................................. 24
Cálculo de Distancia – Fórmula de Haversine ..................................................................................... 25
Tecnologías y Frameworks Utilizados ................................................................................................. 25
Análisis de Costos Indicativo ................................................................................................................ 26
Capturas de Pantalla del Prototipo ...................................................................................................... 27
Conclusiones ................................................................................................................................ 31
Trabajos Futuros ......................................................................................................................... 32
Bibliografía................................................................................................................................... 33
Apéndices ..................................................................................................................................... 36
Apéndice A: Diagrama de Clases .......................................................................................................... 36
Apéndice B: Diagrama de Secuencia .................................................................................................... 37
Apéndice C: Snippets de Código ........................................................................................................... 38
4
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Tabla de Figuras
Figura 1: Realidad-Virtualidad de Milgran .................................................................................................... 8
Figura 2: Cirugías guiadas por imágenes....................................................................................................... 9
Figura 3: ARQuake....................................................................................................................................... 10
Figura 4: Aplicaciones militares .................................................................................................................. 10
Figura 5: Reconstrucciones de entorno utilizando robots con RA [Stilman, 2005] .................................... 11
Figura 6: Realidad aumentada en BMW y Boeing ...................................................................................... 11
Figura 7: Aplicaciones de consumo............................................................................................................. 12
Figura 8: Magic Book y sus aplicaciones en materias de ciencias sociales ................................................. 12
Figura 9: Aplicación para la enseñanza de geometría basada en la plataforma Studierstube ................... 12
Figura 10: Actividades de turistas en su visita a la ciudad de Córdoba ...................................................... 13
Figura 11: Gartner Hype Cycle general ....................................................................................................... 14
Figura 12: Gartner Hype Cycle 2010 ........................................................................................................... 15
Figura 13: Requerimientos del Smartphone ............................................................................................... 18
Figura 14: Arquitectura de la Plataforma Layar .......................................................................................... 19
Figura 15: Diagrama de Paquetes ............................................................................................................... 20
Figura 16: Diagrama de Casos de Uso ......................................................................................................... 21
Figura 17: Fórmula Haversine ..................................................................................................................... 25
Figura 18: Pantalla inicial ............................................................................................................................ 27
Figura 19: Imagen del Buen Pastor y de la Catedral ................................................................................... 28
Figura 20: Más Información de la Catedral de Córdoba ............................................................................. 29
Figura 21: Vista lejana y cercana del POI UTN ............................................................................................ 30
Figura 22: Lista de Acciones de UTN y Ejecución de Llamar UTN ............................................................... 30
Figura 23: Diagrama de Clases .................................................................................................................... 36
Figura 24: Diagrama de Secuencia Caso Feliz ............................................................................................. 37
Figura 25: Implementación de la Interfaz RESTful getPois ......................................................................... 38
Figura 26: Snippets de los POJOs Poi y PoiAction ....................................................................................... 39
5
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Introducción
Cada objeto o lugar tiene una historia o contexto. Hacer disponible ese contenido a
individuos que interactúan con esos sitios o cosas provee una experiencia más enriquecedora al
usuario [Educause, 2005]. De la misma manera, Sinclair afirma que contar con información
sobre el entorno que nos rodea influye en la percepción de las personas, les permite comprender
más profundamente la historia de los lugares que visitan, lo que termina impactando en la
experiencia de usuario [Sinclair, 2000].
El Ecoturismo es un enfoque para las actividades turísticas en el que se privilegia, entre
otras cosas, el interés cultural por el medio [Wood, 2002]. Sinclair, al igual que Wood, dos
refentes en el área, afirman que el “eco turista” es una persona que no sólo quiere contemplar
sectores naturales o culturas diferentes, sino más bien, es alguien que prefiere aprender tanto
como pueda de los lugares que visita para así poder sacar un mayor provecho y obtener una
mejor apreciación. Alegan que la satisfacción de este tipo de turistas depende en gran medida de
la información suministrada por los guías turísticos al momento de hacer las visitas. Sin
embargo, muchas personas no cuentan con los recursos necesarios para contratar tours guiados.
El trabajo final aquí propuesto, motivado por lo antepuesto, propone el desarrollo de un
sistema de Realidad Aumentada que permita al usuario contar con información del entorno a la
hora de recorrer la ciudad de Córdoba, Argentina, sin necesidad de contratar los servicios
turísticos de alguna empresa.
El prototipo consistirá en un sistema distribuido con arquitectura cliente-servidor basado
en la plataforma Layar. El cliente Layar correrá en un celular con sistema operativo Android 2.x
y enviará información de localización (latitud, longitud, etc.) al servidor. Éste, recibirá dicha
información y consultará a su base de datos para obtener meta información de la ubicación en
cuestión, la cual será debidamente codificada en formato JSON2 y enviada nuevamente al cliente
para su visualización (la información se verá superpuesta sobre la imagen real).
2
Formato ligero para el intercambio de datos, el cual es un subconjunto de la notación literal de objetos de
Javascript. Se puede obtener información adicional accediendo a http://www.json.org/
6
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Marco Teórico
A continuación se define el marco teórico que servirá de respaldo conceptual a la
implementación del prototipo. Cabe destacar que no se pretende realizar un desarrollo exhaustivo
de las disciplinas relacionadas, sino más bien una reducida introducción al marco de trabajo
indispensable para el desarrollo del prototipo.
Realidad Aumentada
Un sistema de realidad aumentada es aquel que crea una vista de una escena real
incorporando objetos virtuales generados por computadora, ya sean 2D o 3D. A medida que el
usuario de dichos sistemas se mueve alrededor de la escena real, los objetos virtuales aparecen
como si efectivamente existieran en la escena real. Idealmente, los objetos virtuales deben
interactuar naturalmente con el usuario y los objetos reales [Vallino, 1998].
La realidad aumentada proporciona una vista compuesta al usuario, que resulta de la
combinación de una escena real vista por el usuario y una escena virtual generada por
computadora que añade al ambiente real información adicional [Rozier, 1999]; superpone un
mundo virtual sobre el mundo real [Avery, 2008].
A diferencia de la realidad virtual, la realidad aumentada no crea una simulación de la
realidad, sino que toma un objeto o espacio real como base e incorpora tecnologías que agregan
datos contextuales para mejorar la comprensión del sujeto en cuestión [Educause, 2005]. La
realidad virtual permite la inmersión del usuario en el mundo artificial que sustituye
completamente al mundo real del usuario; mientras que la realidad aumentada mantiene el
mundo real del usuario enriqueciéndolo con la presencia de elementos virtuales [Jordá, 2006].
Milgram [Milgram, 1994] describe una taxonomía que identifica como se relacionan la
realidad aumentada y la realidad virtual. Esta relación se ilustra en la Figura 1.
7
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 1: Realidad-Virtualidad de Milgran
Reseña Histórica
Dan Sung [Sung, 2011] escribió un artículo muy interesante sobre la historia de la
Realidad Aumentada. A continuación, ddetallo algunas de las ideas fundamentales:
fundamentales
Se considera que la RA tuvo sus comienzos allá por eell año 1962, cuando Morton Heilig
Heili
creó y patentó
tentó un simulador llamado “Sensorama” [Heilig, 1962],, el cual contaba con efectos
visuales, sonidos, oloress y vibración. Hacia el año 1968
1968,, Ivan Sutherland inventó un casco visor
al que consideró una puerta al mundo virtual [Sutherland, 1968].. Diversas invenciones
in
le
sucedieron.
En el año 1992, Tom Caudell y David Mizell, dos ingenieros de la Boeing propusieron
por primera vez el término Realidad Aumentada cuando se encontraban ayudando a armar una
aeronave. El término se refería a superponer material gene
generado
rado por computadora sobre el mundo
real [Caudell, 1992].
En el 99, Hirokazu Kato y Mark Billinghurst crean ARToolKit3, una librería para crear
aplicaciones de realidad aumentada. En 2009 este framework fue portado a Adobe Flash
(FLARToolKit), incorporando la realidad aumentada al browser.
En la actualidad, diversos proyectos de investigación se están llevando a cabo en
prestigiosas universidades alrededor del mundo, tales como MIT, con su proyecto SixthSense4
presentado recientemente en las conferencias TE
TED,
D, Carnegie Mellon, con su proyecto
5
MagicEye , Columbia, Delf University, etc.
3
Librería para la creación de aplicaciones de Realid
Realidad
ad Aumentada. Para más información dirigirse a
http://www.hitl.washington.edu/artoolkit/
4
Interfaz gestual que aumenta la información del mundo físico con información digita
digital.l. Para más información
dirigirse a http://www.pranavmistry.com/projects/sixthsense/
5
Proyecto
oyecto para desarrollar sistemas de Realidad Aumentada basados en visión computacional. Para más
información dirigirse a http://www.cs.cmu.edu/afs/cs/user/mue/www/magiceye.html
8
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Dominios de Aplicación
En su tesis de doctorado, James Vallino [Vallino, 1998] propone áreas de aplicación de
realidad aumentada que van desde entretenimiento a entrenamien
entrenamiento
to militar, pasando por campos
medicinales,, robótica, manufactura, etc. A continuación, se hará una breve reseña sobre estos
dominios de aplicación.
Medicina
Este campo es visto como uno de los más importantes para sistemas de realidad aumentada. Esta
tecnología permite realizar cirugías guiadas por imágenes
imágenes, superponiendo en tiempo real la
reconstrucción 3D de las estructuras internas del paciente sobre la imagen de video del mismo
[MIT, 1999].
Figura 2: Cirugías guiadas por imágenes
Entretenimiento
Existen
xisten varias aplicaciones de realidad aumentada dedicadas al entretenimiento. Un clásico
ejemplo es el proyecto ARQuake6 del Wearable Computer Lab, versión de RA del popular juego
Quake, en donde los jugadores enfrentan monstruos vi
virtuales
rtuales en el mundo real. Sin embargo,
Avery afirma que el hardware disponible para crear juegos de realidad aumentada es aún
demasiado costoso para ser usado en productos para el consumidor final [Avery, 2005].
2005]
6
Sistema interactivo de Realidad Aumentada. Para obtener más información se puede acceder a
http://wearables.unisa.edu.au/projects/arquake/
9
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 3: ARQuake
Militar
Los militares utilizan esta tecnología en diversas áreas, proyectando información en el parabrisas
del avión o el visor del casco del piloto
piloto, generando marcas de referencia en imágenes de
reconocimiento aéreo,, dotando a soldados de infantería con equipamiento para la visualización
de objetos sospechosos [Urban, 1995]
1995].
Figura 4: Aplicaciones militares
Robótica
En el dominio de la robótica y tele robótica
robótica, pantallas de realidad aumentada asisten al usuario
del sistema [Milgram, 1993]. Una tele operadora de un robot utiliza la imagen aumentada del
lugar remoto para poder guiarlo.
10
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 5:: Reconstrucciones de entorno utilizando robots con RA [Stilman, 2005]
Manufactura, Mantenimiento y Reparac
Reparación
Cuando un técnico de mantenimiento se acerca a un nuevo equipo, en vez de abrir manuales de
reparación, se pone anteojos de realidad aumentada, los cuales muestran
muestra imágenes del
dispositivo con anotaciones e información pertinente a la reparación (como se ilustra en la Figura
6). Cabe destacar que uno
no de los pioneros en incorporar sistemas de realidad aumentada en sus
actividades de manufactura y mantenimiento fue la Boeing de la mano de Tom Caudell [Caudell,
1994].
Figura 6: Realidad aumentada en BMW y Boeing
Aplicaciones de Consumo
Diversas industrias se nutren de las ventajas de la realidad aumentada. En la industria de la
moda, un usuario puede utilizarr estos sistemas para probarse ropa online antes de efectuar la
compra [Kuang, 2009]. Enn la industria turística, se está comenzando a utilizar para aumentar la
información de puntos históricos de ciudades [Lucier, 2009]. El marketing es un área en el que
qu la
publicidad basada en realidadd aumentada está cobrado gran impulso [Ewen, 2011].
2011]
11
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 7: Aplicaciones de consumo
Educación
Basogain, Olabe et al. en su trabajo sobre realidad aumentada en la educación [Basogain, 2007],
2007]
enumeran ejemplos de aplicaciones act
actuales como Magic Book,, en donde el alumno lee un libro
real a través de un visualizador de mano y ve sobre las páginas reales contenidos virtuales,
virtuales como
se ilustra en la Figura 8.
Figura 8: Magic Book y sus aplicaciones en materias de ciencias sociales
Instituciones de la talla del MIT y Harvard han desarrollado aplicaciones para la enseñanza de
conceptos de ingeniería mecánica, la enseñanza de matemáticas y la enseñanza de la geometría,
geometría
como se muestra en la Figura 9.
Figura 9: Aplicación para la eenseñanza de geometría basada en la plataforma Studierstube
12
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Objetivos y Justificación
Como se menciona en la introduccción, el objetivo de este trabajo es diseñar e
implementar un prototipo de Realidad Aumentada que permita a los turistas obtener información
adicional de determinados lugares de la ciudad de Córdoba, brindando así una mejor experiencia
de usuario, sin coste alguno.
Dicho objetivo abarca grandes temas de la actualidad, el ecoturismo, la realidad
aumentada, aplicaciones móviles
iles y aplicaciones sensibles a la localización
localización. Considero que la
l
importancia de cada área y la relación que aquí se propone, justifican la realización
ización del prototipo
que ofrecerá una nueva forma de hacer turismo
turismo.
EcoTurismo
El ecoturismo es el sector con m
mayor crecimiento de la industria de servicios más grande
del mundo, el turismo.. Muchos países en vías de desarrollo están tratando de monetizar
monetiza la gran
demanda por esta nueva tendencia en los viajes [Dasenbrock, 2002].
El gobierno de la ciudad
iudad de Córdoba suele publicar encuestas a turistas que visitan la
ciudad. La Figura 10 muestra las actividades que rrealizaron los visitantes durante su estadía7.
Figura 10:: Actividades de turistas en su visita a la ciudad de Córdoba
7
Datos correspondientes a Enero-Febrero
Febrero 2007, extraídos
dos de la página oficial de la ciudad de Córdoba:
http://www.cordoba.gov.ar
13
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Del gráfico, notamos que un 88,9% o 78,4% de turistas extranjeros y nacionales
respectivamente se interesaron en pasear por la ciudad.
Como
omo se mencionó anteriormente, uno de los pilares del
el ecoturismo hace hincapié en el
interés cultural por el medio [Wood, 2002]
2002]. Mediante laa utilización del prototipo,
prototipo los turistas
podrán pasear por la ciudad de una manera diferente
diferente, sin visitas guiadas ni libros turísticos, sólo
con un celular con conexión a internet.
Importancia de la Realidad Aumentada
Esta sección pretende evidenciar la importancia que tiene hoy en día la realidad
aumentada. Para ello, nos basaremos en estudios de la compañía Gartner, líder mundial en
asesoramiento tecnológico.
El Gartner Hype Cycle es una representación gráfica de la madurez y el grado de
adopción de tecnologías y aplicaciones; prove
provee una vista de cómo una tecnología o aplicación
puede evolucionar
nar a través del tiempo [GartnerHC, 2011]. Diversas empresas utilizan este
gráfico para comprender las promesas y riesgos que ofrecen las tecnologías emergentes en el
contexto de sus industrias.
A continuación, describo el Gartner Hype Cycle con información obtenida
obtenid de la página
8
oficial de la consultora .
Figura 11: Gartner Hype Cycle general
8
Gartner es la empresa líder
der mundial en consultoría de IT. Para obtener más información de la consultora se
puede acceder a la página http://www.gartner.com/technology/home.jsp
14
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
La Figura 11 muestra el gráfico con 5 áreas bien diferenciadas:
- Disparador Tecnológico: Pruebas de concepto e interés de los medios disparan un potencial
boom tecnológico.. A esta altura los pproductos
oductos no son generalmente usables ni comercialmente
viables.
- Pico de Expectativas Infladas
Infladas: La publicidad produce varias victorias. Algunas empresas
intervienen, otras no.
- Desilusión: El interés decrece a medida que los experimentos e implementaciones fallan.
fallan
Algunos productores de la tecnología se apartan, los inversores continúan
an sólo si los proveedores
sobrevivientes mejoran sus productos
productos.
- Rampa de Iluminación: Se descubren nuevas formas de obtener beneficios a partir de la
tecnología. Aparecen productos de segunda y tercera generación
generación,, más compañías invierten en
pruebas piloto, mientras que las más conservadoras se mantienen en alerta.
- Meseta de Productividad: La adopción masiva empieza a despegar. Las dudas se disiparon y el
consumidor final comienza a dar sus frutos.
En la Figura 12 se muestra el ciclo de Gartner de 2010 donde la Realidad Aumentada se
sitúa entre el área de Disparador Tecnológico y el de Pico de Expectativas Infladas.
Infladas
Figura 12: Gartner Hype Cycle 2010
Esta información no sólo evidencia a la Realidad Aumentada como un boom tecnológico
sino que recalca su importancia
ia y vigencia como tecnología innovadora.
15
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Aplicaciones Sensibles a la Localización
Hacia fines de 2011, más del 75% de los dispositivos moviles fabricados incluirán GPS.
Éste será el principal medio para determinar la localización del handset. ID de celdas y Wi-Fi
seguirán utilizándose en aquellas situaciones en que el GPS no esté disponible. La popularidad
de location-aware handsets permitirá crear una amplia gama de aplicaciones sensibles a la
localización, y servirán como base para más sofisticadas aplicaciones sensibles al contexto en el
futuro. Sin embargo, las organizaciones estarán sujetas a las leyes locales, y deberán asegurar
que cada location-aware application que realicen actúen conforme a la ley [GartnerMO, 2010].
Gartner también predice que para el 2013, más de la mitad de las compañías Fortune 500
tendrán sistemas de computación sensibles al contexto. Context-aware Computing se centra en el
concepto de usar información del usuario final, de su entorno, localización, preferencias, para
mejorar la interacción con el mismo. A su vez, afirma que para fines de 2016, un tercio del
mercado de marketing mundial de celulares será basado en el contexto [GartnerST, 2010].
Aplicaciones Móviles
La venta de smartphones a nivel mundial alcanzará 468 millones de unidades en 2011, un
57,7% más que en 2010, según Gartner Inc. Hacia fines de 2011, Android se convertirá en el OS
más popular y tendrá un 49% del mercado de smartphones para el 2012, brindando un entorno
ideal para la convergencia de la movilidad y la Web [GartnerAN, 2011].
La experiencia del usuario en estos dispositivos, de los que se puede obtener información
de localización, movimiento y contexto, está llevando a los clientes a interactuar con las
compañías preferentemente a través de ellos. Todo esto ha permitido el desarrollo de
aplicaciones móviles como una herramienta competitiva para mejorar las relaciones y obtener
ventaja sobre competidores cuyas interfaces son puramente basadas en el browser [GartnerST,
2010].
16
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Alternativas de Solución
En la actualidad, exiten varias frameworks para desarrollar aplicaciones móviles de
Realidad Aumentada, entre los que se pueden destacar Wikitude9 y Layar.
Como todavía no existe un estándar de facto, ambas compañías están tratando de imponer
los suyos. A fines de 2009, Wikitude definió ARML (Augmented Reality Markup Language)
v1.0, un lenguage descriptivo, basado en XML, para mapear POIs a sus metadatos.
En Septiembre del presente año, se reunirá el Open Geospatial Consortium (OCG) para la
formación del OCG ARML 2.0 Standars Working Group (SWG). La idea de este grupo es
expandir la definición de ARML 1.0 en varios aspectos, como ser, habilitando la modificación
dinámica de propiedades, manejo de eventos, visualizaciones 3D, entre otros10.
Por su parte, Layar, el pionero en este segmento, utiliza un formato JSON propietario
más light-weight que ARML, que ya cuenta con la mayoría de las mejoras que propone el
ARML 2.0. Provee una infraestructura simple para el desarrollador, en la que varias aspectos
aparecen resueltos (ver más detalles en la sección Arquitectura de la Plataforma Layar).
Otra alternativa es ARToolkit, una librería multiplataforma que permite crear objetos
virtuales 3D en marcas reales utilizando algoritmos de visión computacional. Cuenta con una
API en C, aunque existen proyectos que lo han portado a Java y Matlab. Para el propósito del
presente, si bien es una opción muy interesante, es de más bajo nivel que Wikitude y Layar, por
lo que decidí no utilizarlo en pos de favorecer una implementación más rápida.
Luego de evaluar los pros y contras de cada alternativa, se eligió utilizar Layar por
diversos motivos, pero principalmente por los que se mencionan a continuación:
•
•
•
•
•
•
Se pueden crear experiencias de realidad aumentada de una manera simple y económica.
Cuenta con una comunidad de más de 9000 desarrolladores, que comparten sus
conocimientos y experiencias.
Tiene más de 1.5 millones de usuarios activos alrededor del mundo.
Provee un entorno de testing.
Ofrece una API simple y flexible.
Utiliza un protocolo light-weight para la comunicación entre el cliente y servidor.
9
Navegador de Realidad Aumentada disponible en diversas plataformas móviles, que permite crear mundos
aumentados. Para más información se puede consultar la página http://www.wikitude.com/
10
El OCG es un foro que incentiva la creación de un lenguaje de etiquetas para aplicaciones de realidad
aumentada. Se puede obtener más detalles en http://www.opengeospatial.org/pressroom/pressreleases/1473
17
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Diseño e Implementación
Como se mencionó en la sección anterior, eel prototipo que se desarrolló como parte de
este trabajo utiliza la plataforma más popular de Realidad Aumentada dee la actualidad, Layar, la
cual cuenta con miles de desarrolladores y capas de contenido, conocidas comúnmente como
layers.
El Layar Reality Browser es una aplicación móvil de RA disponible para usuarios de
smartphones, incluyendo el iPhone y dispositivos Android.
Esta plataforma muestra layers de información digital en los celulares de los usuarios.
Permite
ermite publicar, descubrir y buscar capas de realidad aumentada.
En la Figura 13 (extraída de la página oficial de L
Layar) se muestran las características que
debe poseer el smartphone para poder correr correctamente el Layar Reality Browser.
Browser Para el
prototipo, las pruebas se realizaron con dos dispositivos Motorola, el Defy, con Android OS 2.1,
y el Milestone, con OS Android
droid 2.3.
Figura 13: Requerimientos del Smartphone
18
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Arquitectura de la Plataforma Layar
La arquitectura de esta plataforma consiste en 5 componentes principales, que se aprecian
en la Figura 1411. Ellos son:
•
•
•
•
•
Aplicación Layar: Es el cliente en el dispositivo móvil del usuario.
Servidor Layar:: Es el corazón de la plataforma, el cual provee las interfaces a la
Aplicación Layar, la Plataforma de Aprovisionamiento y los Proveedores de Servicio.
Serv
Plataforma de Aprovisionamiento
Aprovisionamiento: Un sitio web en donde los desarrolladores pueden
crear sus cuentas y administrar sus layers.
Proveedores de Servicio:: Infraestructura provista por los desarrolladores, en el ejemplo se
ilustra una capa de Flickr.
Contenidos de las Capas:: Proveen el contenido a la Aplicación Layar.. No necesariamente
estan separados de los Proveedores
roveedores de Servicio.
Figura 14: Arquitectura de la Plataforma Layar
11
La información de arquitectura de Layar se eextrajo
xtrajo de la página oficial de la compañía. Para mayor detalle se
puede consultar http://layar.pbworks.com/w/page/7783214/Layar%20Platform%20Architecture%20Overview
http://layar.pbworks.com/w/page/7783214/Layar%20Platform%20Architecture%20Over
19
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Diseño de Alto Nivel
Diagrama de Paquetes
Como parte del prototipo, se desarroll
desarrollaron los componentes de Proveedores de Servicio y
Contenidos de las Capas,, mencionados en la sección anterior
anterior.
La Figura 15 muestra el diagrama de paquetes del componente implementado.
implementa
Figura 15: Diagrama de Paquetes
com.augmentedcba.ws: Contiene el servicio REST al cual se conecta el servidor Layar.
com.augmentedcba.service: Abstrae
bstrae la capa de servicio y utiliza los DAOs para obtener
información de los puntos
ntos de interés en base a los datos recibidos por el web service.
com.augmentedcba.service.impl: Contiene la implementación de la capa de servicio.
com.augmentedcba.dao: Capa de acceso a datos.
com.augmentedcba.dao.impl: Contiene la implementación de la ca
capa
pa de acceso a datos.
com.augmentedcba.model: Contiene los POJOs del modelo, como ser: Poi, PoiAction,
GetPoisResponse, etc.
com.augmentedcba.exception: Paquete que encapsula las excepciones que maneja el
componente.
com.augmentedcba.utils: Paquete de uti
utilidades.. Se utiliza para hacer el cálculo de distancia,
obtener coordenadas decimales GPS, etc.
20
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Casos de Uso
La Figura 16 muestra los principales casos de uso identificados del sistema.
sistema
Figura 16: Diagrama de Casos de Uso
Nombre:
Buscar Capas
Descripción:
Permite buscar capas disponibles de acuerdo a diferentes criterios de búsqueda
búsqueda.
Actores:
Usuario del sistema.
Precondiciones:
1- El usuario debe poseer un celular con Layar instala
instalado.
2- El usuario debe haber abierto la aplicación Layar.
Flujo Normal:
1- El usuario selecciona la sección de Capas.
2- El sistema muestra una caja de texto para introducir el nombre de la capa a buscar. También muestra
tres botones, Destacados, Populares
es y Nuevo. Finalmente muestra una lista de Categorías de Capas para
buscar.
21
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
3- El usuario introduce texto en el TextField y presiona buscar.
4- El sistema muestra todas las capas que contienen el texto buscado.
5- El usuario selecciona una capa.
Flujo Alternativo:
3- El usuario selecciona la Categoría “Información Turística”.
4- El sistema muestra todas las capas pertenecientes a la mencionada categoría.
Poscondiciones:
El sistema muestra la información de la capa buscada.
Nombre:
Detectar POIs
Descripción:
Permite detectar los pois cercanos de una capa seleccionada.
Actores:
Usuario del sistema.
Precondiciones:
1- El usuario debe poseer un celular con Layar instalado.
2- El usuario debe haber abierto la aplicación Layar.
3- El usuario ejecutó satisfactoriamente el caso de uso Buscar Capas.
Flujo Normal:
1- El usuario ingresa a la capa seleccionada.
2- El sistema prende la cámara de fotos y se contacta con el servidor Layar para detectar pois dentro del
rango por defecto (1 km).
3- El sistema encuentra un POI.
Flujo Alternativo:
3- El sistema no encuentra un POI dentro del rango por defecto. El sistema informa al usuario del
problema.
4- El usuario selecciona “Menú” “Ajustes”.
5- El sistema muestra la pantalla de ajustes de la capa con un indicador para cambiar el rango por
defecto.
6- El usuario selecciona el máximo rango que permite la capa y selecciona “Aceptar”.
7- El sistema encuentra un POI.
Poscondiciones:
El sistema muestra la información del POI encontrado, junto con la acciones que en él se pueden
22
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
ejecutar.
Nombre:
Ejecutar Acción sobre POI
Descripción:
Permite ejecutar diversas acciones sobre un POI seleccionado.
Actores:
Usuario del sistema.
Precondiciones:
1- El usuario debe poseer un celular con Layar instalado.
2- El usuario debe haber abierto la aplicación Layar.
3- El usuario ejecutó satisfactoriamente el caso de uso Detectar POIs.
4- El POI encontrado ofrece acciones para ejecutar.
Flujo Normal:
1- El usuario visualiza las acciones del POI encontrado. Dicho POI contiene las siguientes acciones: “Más
Información”, “Llamar”, “Cómo Llegar”, “Mail”.
2- El usuario selecciona la acción “Más Información”.
3- El sistema abre el browser del equipo y muestra la página web del POI en cuestión.
Flujo Alternativo:
2- El usuario selecciona la acción “Cómo Llegar”.
3- El sistema abre la aplicación GoogleMaps del equipo con la ubicación actual y el destino (latitud y
longitud del POI).
4- GoogleMaps muestra el trayecto necesario para llegar a destino.
Poscondiciones:
El usuario pudo ejecutar una acción sobre el POI.
Nombre:
Compartir POI en Redes Sociales
Descripción:
Permite compartir información del POI en Facebook o Twitter.
Actores:
23
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Usuario del sistema.
Precondiciones:
1- El usuario debe poseer un celular con Layar instalado.
2- El usuario debe haber abierto la aplicación Layar.
3- El usuario ejecutó satisfactoriamente el caso de uso Detectar POIs.
4- El usuario debe haberse logueado en Facebook o Twitter a través de Layar.
Flujo Normal:
1- El usuario visualiza la información del POI encontrado.
2- El usuario selecciona “Menú” “Acciones de Capa”.
3- El sistema muestra las siguientes acciones de capa: “Capturar Pantalla”, “Compartir”, “Enviar por email”.
4- El usuario selecciona Compartir.
5- El sistema muestra una pantalla en donde se puede ingresar el texto a compartir y dónde compartirlo
(Facebook y/o Twitter).
6- El usuario selecciona Facebook y Twitter y luego “Compartir”.
Flujo Alternativo:
N/A
Poscondiciones:
El sistema postea en el muro de Facebook y twittea en el Twitter del usuario la información
recientemente compartida.
Diseño de Bajo Nivel
Debido a razones de legibilidad, se incluyeron los Diagramas de Clases y de Secuencia
(con diferente formato de página) en los Apéndices A y B respectivamente.
Asimismo, el Apéndice C cuenta con dos snippets de código, que forman parte del
prototipo implementado. Se incluyeron partes de la interfaz REST12 y de dos POJOs13 del
modelo.
12
Representational State Transfer, acrónimo que se utiliza para describir cualquier interfaz web simple que utiliza
XML y HTTP, sin las abstracciones adicionales de los protocolos basados en patrones de intercambio de mensajes
como el protocolo de servicios web SOAP.
13
Plain Old Java Object, acrónimo utilizado por programadores Java para enfatizar el uso de clases simples y que
no dependan de un framework en especial.
24
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Cálculo de Distancia – Fórmula de Haversine
Una de las piezas fundamentales de este trabajo es el algoritmo utilizado para el cálculo
de distancia entre dos puntos. En base a la latitud y longitud actual, se desea conocer la distancia
a un punto conocido (con latitud y longitud conocido)
conocido). Para ello se utilizó la Fórmula Haversine:
Figura 17: Fórmula Haversine
Donde:
- haversin es la función haversine: haversin(θ) = sin2(θ/2) = (1−cos(θ))/2 (con θ en radianes)
- d es la distancia entre dos puntos (a lo largo de un círculo máximo de la esfera).
- R es el radio de la esfera (consideramos a la tierra esférica con un radio de 6.356,78 km).
- φ 1 es la latitud del punto 1.
- φ 2 es la latitud del punto 2.
- ∆ λ es la diferencia de longitud.
Mediante operaciones matemáticas
matemáticas, se puede obtener la distancia entre la ubicación
actual y un determinado POI. Si el rango de búsqueda, configura
configurado en el cliente, es mayor que la
distancia, se incluye el POI en la respuesta, en caso contrario, se lo omite.
Tecnologías y Frameworks Utilizados
Para el desarrollo del componente web se utilizaron los siguientes frameworks y
tecnologías:
Java 6: Lenguaje utilizado para la creación del componente web (war).
MySQL: Motor de base de datos utilizado para persistir información de los puntos de interés.
25
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Tomcat 7: Contenedor utilizado para el deployment del war.
Maven: Se utilizó como herramienta de building.
SVN: Software utilizado para el control de versiones.
CXF: Framework open source utilizado para la implementación del servicio RESTful.
Log4j: Utilizado para insertar logs en el código. Resultó muy útil para el debugging.
Spring: Framework base utilizado en el desarrollo del componente. Se utilizaron diversos
módulos, tales como: spring-core, spring-jdbc, spring-beans, spring-context, etc.
Ehcache: Utilizado para el caching de los puntos de interés.
JAXB: Utilizado para mapear las clases Java a representaciones XML y a formato JSON.
Apache-commons: Set de utilidades de la fundación apache utilizado en la validación de
parámetros, hashcode builders, equality builders, etc.
Análisis de Costos Indicativo
Como se puede apreciar en la sección anterior, para el desarrollo del prototipo no se
realizaron gastos en Software, se utilizaron solamente frameworks open-source. En cuanto al
hosting de la aplicación, se contrató un servidor privado virtual (Virtual Private Server) a la
empresa Dattatec14. Dicho servidor cuesta U$S 20 x mes aproximadamente, y ofrece, entre otras
cosas, lo siguiente:
-
IP pública
Apache Tomcat
Acceso remoto a MySQL
Acceso root vía SSH
512 MB RAM
10 GB HD
Soporte
Si bien estas prestaciones son suficientes para cumplir con los objetivos del prototipo
actual, si éste llegara a convertirse en un proyecto con clientes reales (por ejemplo el Gobierno
14
Empresa Argentina que ofrece servicios de Web Hosting. Para mayor información se puede acceder a
http://dattatec.com/site/sp/argentina/home
26
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
de la Provincia de Córdoba),, se podrían ofrecer distintas alternativas de deployment,
deployment desde
escenarios con disponibilidad limitada ((como el actual), pasando por escenarios con mayor
availability, hasta llegar a utilizar íntegramente la infraestructura del cliente. Por supuesto, cada
uno de ellos implicará precios diferentes
diferentes.
En cuanto al costo para los usuarios, el sistema es totalmente gratuito. El usuario sólo
deberá tener un celular con Layar instalado y acceso a Internet.
Capturas de Pantalla del Prototipo
En esta sección se incluyen algunas capturas de pantalla del prototipo implementado. En
la Figura 18 se muestra la pantalla inicial del layer implementado, con su nombre, autor, imagen
y una breve descripción.
En la Figura 19 se ilustra una imagen del Paseo del Buen Pastor y otra con la dirección de
la Catedral de Córdoba.
Figura 18: Pantalla inicial
27
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 19: Imagen del Buen Pastor y de la Catedral
Al seleccionar una de las acciones de los POIs (en la imagen anterior “Más
Más Información”
Información y
“Cómo llegar”), el teléfono abrirá determinada aplicació
aplicación con los metadatos correspondientes.
Por ejemplo, laa siguiente figura muestra el resultado de hacer click en “Más Información
nformación” del
POI Catedral.
28
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 20: Más Información de la Catedral de Córdoba
La Figura 21 muestra una vista lejana y otra cercana del punto de interés UTN
UTN.. En la primera se
pueden apreciar las acciones aplicables a este POI, expandidas dentro de la vista.
En la Figura 22 se ilustran las acciones en forma de lista y el resultado de ejecutar la acción
“Llamar UTN”.
29
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 21: Vista lejana y cercana del POI UTN
Figura 22:: Lista de Acciones de UT
UTN y Ejecución de Llamar UTN
30
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Conclusiones
La aplicación de la Realidad Aumentada en el sector turístico, más precisamente el
Ecoturismo, fue el eje principal de este trabajo.
Para alcanzar el objetivo central del presente, el desarrollo de un prototipo de Realidad
Aumentada que brinde una mejor experiencia de usuario a los turistas que recorran la ciudad de
Córdoba, se definió el marco teórico, en el que se hizo hincapié en conceptos fundamentales y
usos actuales de Realidad Aumentada.
Se analizó la importancia de las áreas involucradas, Ecoturismo, Realidad Aumentada,
Aplicaciones Sensibles a la Localización, Aplicaciones Móviles. Se hizo foco principalmente en
la actual vigencia de las disciplinas mencionadas, utilizando principalmente estudios recientes de
la consultora Gartner.
Se realizó un sondeo general sobre los frameworks y alternativas existentes. Layar resultó
la plataforma elegida para la implementación del prototipo, el cual se diseñó y desarrolló
íntegramente como parte de este trabajo final integrador. Finalmente, se mostraron algunas
capturas del sistema andando.
Se intentó plantear una solución original, utilizando tecnologías aún no tan maduras, pero
con enormes expectativas de crecimiento. El prototipo aquí propuesto, nos ofrece la posibilidad
de realizar guías turísticas interactivas a través de nuestros dispositivos móviles. Tan sólo basta
con que el usuario enfoque un lugar para que la aplicación nos brinde datos del sitio al que
estamos apuntando.
No sólo se pensó en la facilidad de uso, sino que también se favoreció un desarrollo
escalable, fácilmente ampliable, modificable y configurable mediante la utilización de diversos
frameworks de caching, de IoC15, de logging, entre otros.
Esta tecnología ofrece un sinfín de oportunidades para Córdoba, no sólo para la capital
sino también para la provincia. El turismo constituye una de las principales y más importantes
actividades económicas de la zona. Existen muchísimos circuitos turísticos en la provincia,
Punilla, Traslasierra, Calamuchita, Sierras Chicas, cada uno con sus atractivos indiscutidos que
los hacen únicos. “Aumentar” estas atracciones con este tipo de sistemas será un claro
diferenciador en el futuro.
15
Principio de Inversión de Control, es un método de programación en el que el flujo de ejecución de un programa
se invierte respecto a los métodos de programación tradicionales. Con IoC, se especifican respuestas deseadas a
sucesos, dejando que una arquitectura externa lleve a cabo las acciones de control que se requieran en el orden
necesario.
31
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Estoy convencido que extender este sistema a toda Córdoba, ofreciendo, además,
respuestas a preguntas tales como ¿Cuál es la parada de colectivo más cercana? ¿Cuáles son los
hoteles con mejor reputación? ¿Cuáles son los mejores lugares para comer?, será una manera de
cuidar al turista y hacer que los que ya nos conocen vuelvan a visitarnos.
Trabajos Futuros
Indudablemente, futuros trabajos y mejoras aparecen a partir del presente.
En la implementación actual, sólo el administrador del sistema puede agregar POIs
mediante scripts que se ejecutan en la base de datos. Una mejora sustancial consistiría en crear
una interfaz gráfica web, con manejo de permisos, roles, etc., que permita la Creación, Lectura,
Actualización y Borrado (CRUD) de POIs.
Otro aspecto a tener en cuenta es la automatización en la obtención de la meta
información. Si bien es importante proveer una UI web para la carga manual de datos, consultar
APIs de enciclopedias online, como ser Wikipedia, favorecerá notablemente al rápido
incremento de POIs en la base, y la consecuente potencialidad de la aplicación.
Resueltos ambos puntos anteriores, creo que el paso a seguir sería ofrecer la información
internacionalizada. Agregando como parámetro opcional a la interfaz REST el locale code
obtenido de las preferencias del teléfono, se podría mejorar la difusión del sistema a usuarios no
hispanohablantes.
Si bien este trabajo se planteó con foco en el sector turístico, las posibilidades de negocio
de esta tecnología son relativamente infinitas.
La misma aplicación web se podría ofrecer al sector comercial de la ciudad de Córdoba.
Por ejemplo, se podrían mostrar los descuentos y ofertas del día de grandes tiendas como
Garbarino, Frávega y Falabella. Se podría saber si el local tiene algún artículo que buscamos.
De la misma manera, el sector gastronómico podría ser un potencial cliente, se
visualizaría información de restaurantes, sus platos, precios, promociones, etc.
Ambos casos abrirían un abanico de alternativas de cobro, que permitirían obtener
ganancias a partir de la inversión:
-
Tasa Fija (TF).
Tasa Variable en base a clientes que se acercaron atraídos por la aplicación y
consumieron los productos ofrecidos por las tiendas, restaurantes (TV).
TF + %TV
32
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Bibliografía
[Avery, 2008] Avery, B., Thomas, B., & Piekarski, W. (2008). User Evaluation of See-Through
Vision for Mobile Outdoor Augmented. University of South Australia.
[Avery, 2005] Avery, B., Thomas, B., Velikovsky, J., & Piekarski, W. (2005). Outdoor
augmented reality gaming on five dollars a day. AUIC Proceedings of the Sixth Australasian
conference on User interface.
[Basogain, 2007] Basogain, X., Olabe, M., Espinosa, K., Rouèche, C., & Olabe, J. (2007).
Realidad Aumentada en la Educación: una tecnología emergente. Libro de Actas ONLINE
EDUCA MADRID - 7ª Conferencia Internacional de la Educación y Formación basada en las
Tecnologías.
[Caudell, 1994] Caudell, T. P. (1994). Introduction to Augmented Reality. In SPIE Proceedings
Vol. 2351: Telemanipulator and Telepresence Technologies.
[Caudell, 1992] Caudell, T., & Mizell, D. (1992). Augmented reality: an application of heads-up
display technology to manual manufacturing processes. Proceedings of the Twenty-Fifth Hawaii
International Conference on System Sciences.
[Dasenbrock, 2002] Dasenbrock, J. (Enero de 2002). The Pros and Cons of Ecotourism in Costa
Rica. Recuperado el 1 de Septiembre de 2011, de http://www1.american.edu/ted/costa-ricatourism.htm
[Educause, 2005] Educause. (2005). 7 things you should know about Augmented Reality.
Educause Learning Initiative.
[Ewen, 2011] Ewen, S. (8 de Junio de 2011). Why Augmented Reality Is Poised To Change
Marketing. Recuperado el 29 de Agosto de 2011, de
http://mashable.com/2011/06/08/augmented-reality-marketing-2/
[GartnerHC, 2011] Gartner. (2011). Gartner Hype Cycle. Recuperado el 30 de Agosto de 2011,
de http://www.gartner.com/technology/research/methodologies/hype-cycle.jsp
[GartnerMO, 2010] Gartner. (24 de Marzo de 2010). Gartner Outlines 10 Mobile Technologies
to Watch in 2010 and 2011. Recuperado el 2 de Octubre de 2011, de Gartner NewsRoom:
http://www.gartner.com/it/page.jsp?id=1328113
[GartnerAN, 2011] Gartner. (7 de Abril de 2011). Gartner Says Android to Command Nearly
Half of Worldwide Smartphone Operating System Market by Year-End 2012. Recuperado el 1
de Octubre de 2011, de Gartner NewsRoom: http://www.gartner.com/it/page.jsp?id=1622614
33
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
[GartnerST, 2010] Gartner. (19 de Octubre de 2010). Top 10 Strategic Technologies for 2011.
Recuperado el 17 de Septiembre de 2011, de Gartner Newsroom:
http://www.gartner.com/it/page.jsp?id=1454221
[Heilig, 1962] Heilig, M. L. (1962). Patent No. 3.050.870. US.
[Jordá, 2006] Jordá, S. (2006). Taller de Sistemes Interactius. Universitat Pompeu Fabra.
[Kuang, 2009] Kuang, C. (29 de Julio de 2009). Five To-Die-For Augmented Reality Shopping
Apps. Recuperado el 29 de Agosto de 2011, de http://www.fastcompany.com/blog/cliffkuang/design-innovation/shopping-augmented-reality
[Lucier, 2009] Lucier, T. (3 de Septiembre de 2009). Augmented Reality in Travel and Tourism:
merging digital information with the real world. Recuperado el 29 de Agosto de 2011, de
http://www.tourismkeys.ca/blog/2009/09/augmented-reality-travel-and-tourism-merging-digitalinformation-with-the-real-world/
[Milgram, 1994] Milgram, P., & Kishino, F. (1994). A taxonomy of mixed reality visual
displays. IEICE Transactions on Information Systems , Vol E77-D, No.12.
[Milgram, 1993] Milgram, P., & Zhai, S. (1993). Applications of augmented reality for humanrobot communication. IEEE/RSJ International Conference on Intelligent Robots and Systems.
[MIT, 1999] MIT AI Lab and Brigham and Women's Surgical Planning Laboratory. (5 de
Febrero de 1999). Project on Image Guided Surgery. Recuperado el 14 de Agosto de 2011, de
http://www.ai.mit.edu/projects/medical-vision/surgery/surgical_navigation.html
[Rozier, 1999] Rozier, J. (1999). Hear&There: An Augmented Reality System of Linked Audio.
[Sinclair, 2000] Sinclair, J. (2000). Recuperado el 20 de Julio de 2011, de Ecotourism — An
overview: http://www.sinclair.org.au/thailand/OverviewOfEcotourism.html
[Stilman, 2005] Stilman, M., Michel, P., Chestnutt, J., Nishiwaki, K., Kagami, S., & Kuffner, J.
(2005). Augmented Reality for Robot Development and Experimentation. Carnegie Mellon
University, Advanced Industrial Science and Technology.
[Sung, 2011] Sung, D. (1 de Marzo de 2011). The history of augmented reality. Recuperado el
30 de Julio de 2011, de Pocket-lint: http://www.pocket-lint.com/news/38803/the-history-ofaugmented-reality
[Sutherland, 1968] Sutherland, I. (1968). A head-mounted three dimensional display. AFIPS
computer conference, part I.
[Urban, 1995] Urban, E. (1995). The Information Warrior. IEEE Spectrum.
[Vallino, 1998] Vallino, J. (1998). Interactive Augmented Reality. University of Rochester.
34
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
[Wood, 2002] Wood, M. (2002). Ecotourism: principles, practices & policies for sustainability.
United Nations Environment Programme.
35
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Apéndices
Apéndice A: Diagrama de Clases
La Figura 23 muestra un diagrama de clases del componente implementado. Por razones de legibilidad, se omitieron algunos atributos, métodos y asociaciones entre clases.
Figura 23: Diagrama de Clases
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Apéndice B: Diagrama de Secuencia
La Figura 24 muestra un diagrama de secuencia del caso feliz. Por legibilidad, se omitió el chequeo en cache y la comunicación con la base de datos.
Figura 24: Diagrama de Secuencia Caso Feliz
37
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Apéndice C: Snippets de Código
Todo trabajo de implementación requiere mostrar parte del código realizado. El presente Apéndice ofrece una vista parcial de la interfaz REST (Figura 25) y dos de los objetos del modelo (Figura 26). Por
idénticas razones a los Apéndices
péndices anteriores, no se incluyó la totalidad
talidad del código. Si el lector necesita mayor detalle, no deje de contactarse vía e-mail
e
con el autor.
Figura 25: Implementación de la Interfaz
terfaz RESTful getPois
TRABAJO DE ESPECIALIZACIÓN EN INGENIERÍA EN SISTEMAS DE INFORMACIÓN
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL CÓRDOBA
Figura 26: Snippets de los POJOs Poi y PoiAction
39

Documentos relacionados