Un proyecto realizado utilizando las ARToolKit para la RA, VRML para los modelos 3D y Python en conjunto con Glade para la interfaz.
source: http://ubuntuone.com/27ha7Ms6Wx5R145ZLjEHdn
soporte: ofstoneage@gmail.com
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
1. UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO
INSTITUTO DE CIENCIAS BÁSICAS E INGENIERÍA
ÁREA ACADÉMICA DE COMPUTACIÓN
CENTRO DE INVESTIGACIÓN EN TECNOLOGÍAS
DE INFORMACIÓN Y SISTEMAS
Herramientas ARToolKit Implementadas en el
Proyecto de Realidad Aumentada TApir para
Sistemas Operativos de Código Abierto
QUE PARA OBTENER EL TÍTULO DE
LICENCIADO EN SISTEMAS COMPUTACIONALES
PRESENTA:
AGUSTÍN HERNÁNDEZ VÁZQUEZ
ASESOR:
M. EN C. ARTURO CURIEL ANAYA
M. EN C. MARIANO POZAS CÁRDENAS
Mineral de la Reforma, Hidalgo. Mayo de 2012
2.
3. Índice
Índice Página
Introducción ............................................................................................................ I
Organización ........................................................................................................ IV
Capítulo 1. Antecedentes de la Realidad Aumentada. ........................................ 1
1.1. Definiciones ..................................................................................................... 7
1.2. IEEE: Realidad Aumentada ............................................................................. 9
1.3. Ventajas y desventajas de la Realidad Aumentada ....................................... 18
1.4. Aplicaciones .................................................................................................. 19
1.4.1. Proyectos educativos .............................................................................. 19
1.4.2. Medicas .................................................................................................. 20
1.4.3. Entretenimiento ....................................................................................... 21
1.4.4. Simulación .............................................................................................. 22
1.4.5. Militar ...................................................................................................... 22
1.4.6. Publicidad ............................................................................................... 23
1.4.7. Aplicaciones Futuras ............................................................................... 24
Capítulo 2. Proyecto TApir. ................................................................................. 26
2.1. Breve explicación sobre el desarrollo ............................................................ 26
2.2. ARToolKit....................................................................................................... 31
2.2.1. Detección de marcadores mediante ARToolKit ....................................... 32
2.3. Librerías y software ...................................................................................... 34
2.3.1. OpenCV .................................................................................................. 35
2.3.2. GLUT ...................................................................................................... 36
2.3.3. OpenVRML ............................................................................................. 36
2.3.4. Python..................................................................................................... 37
2.3.5. Glade ...................................................................................................... 38
2.3.6. VRML ...................................................................................................... 39
2.2. Marcadores RA ............................................................................................. 40
4. Índice
Página
Capítulo 3. Integración del Proyecto TApir. ...................................................... 43
3.1. Identificación de factores ............................................................................... 43
3.2. Interfaz de TApir ............................................................................................ 46
3.3. Compilación de programas ............................................................................ 48
3.4. Ejecución de programas ................................................................................ 49
3.5. Integración de modelos tridimensionales complejos ...................................... 54
3.6. Árbol de dependencias .................................................................................. 57
3.7. Comandos y archivos .................................................................................... 58
Capítulo 4. Evaluación, Pruebas y Análisis de Resultados. ............................ 61
4.1. Pruebas TApir ................................................................................................ 63
Capítulo 5. Conclusión y Aplicaciones Futuras................................................ 69
5.1. Conclusiones ................................................................................................. 71
5.2. Tendencias y problemas ................................................................................ 73
Bibliografía y Referencias Electrónicas ............................................................ 75
Glosario................................................................................................................ 81
Apéndice A. ............................................................................................................. i
A1. Manual para el uso de TApir............................................................................ iii
A1.1. Requerimientos del Sistema ..................................................................... iv
A1.2. Instalación................................................................................................. iv
A1.3. Características de los algoritmos ............................................................... v
A2. Problemas de ejecución al lanzar TApir .......................................................... vi
5. Índice
Página
Apéndice B. ........................................................................................................... ix
B1. Acerca de TApir ................................................................................................xi
B2. Algoritmos TApir .............................................................................................. xii
Índice de Figuras
Figura 1. Head Mounted Display (HMD) para RV y RA. ............................................ 3
Figura 2. Sensorama "Cine de Experiencia”. ............................................................. 4
Figura 3. Videoplace: un sistema de reconocimiento de movimientos y gestos. ....... 4
Figura 4. Interacción virtual usando guantes y anteojos especiales. ......................... 5
Figura 5. RA basada en el conocimiento para el mantenimiento asistido. ................ 5
Figura 6. ARToolKit ejecutándose. ............................................................................. 6
Figura 7. Logo con el slogan "cam' on This is Augmented Reality". .......................... 6
Figura 8. Dinosaurio RA, portal web "Museo del Jurásico de Asturias" ................... 20
Figura 9. Tomografía cerebral con RA. .................................................................... 20
Figura 10. Juego de tiro al blanco de la portátil 3DS. .............................................. 21
Figura 11. Sistema de evaluación de partículas en movimiento. ............................. 22
Figura 12. Desplegar información en aeronaves. .................................................... 23
Figura 13. Visualizar productos armados de LEGO. ................................................ 23
Figura 14. Centro de RA situada en el mundo ficticio de Star Trek.......................... 26
Figura 15. Realidad Aumentada en telefonía celular. ............................................... 26
Figura 16. Logo TApir. ............................................................................................. 29
Figura 17. Estructura del reconocimiento de marcadores. ....................................... 32
Figura 18 Logo Python............................................................................................. 37
Figura 19. Interfaz de Glade. ................................................................................... 39
Figura 20. Logo VRML. ............................................................................................ 39
Figura 21. Marcadores para el uso de RA. .............................................................. 41
Figura 22. Diagrama de bloques: Relación TApir, Python y Glade. ......................... 47
6. Índice
Página
Figura 23. Ejecución en terminal del comando make. .............................................. 50
Figura 24. Archivo sh................................................................................................ 51
Figura 25. Ejecución del programa simpletest.c. ...................................................... 52
Figura 26. Efecto de umbral para identificar marcadores. ........................................ 52
Figura 27. Posición del marcador. ............................................................................ 53
Figura 28. Integración de modelos complejos sobre video en directo. ..................... 56
Figura 29. Referencias indefinidas: simpletest.c. ..................................................... 58
Figura 30. Gedit es el editor para crear un makefile................................................. 58
Figura 31. Gedit mostrando un sh. ........................................................................... 60
Figura 32. Reconocimiento de marcador usando el filtro umbral. ............................ 64
Figura 33. Comparación entre software. .................................................................. 67
Figura 34. Interfaz TApir. ........................................................................................... iii
Figura 35. Marcadores utilizados por TApir. .............................................................. iii
Figura 36. Ventana para crear un lanzador. ............................................................... v
Figura 37. Terminar proceso usando una terminal. .................................................. vii
Figura 38. Ventana Añadir al panel. ......................................................................... vii
Figura 39. Forzar terminación. .................................................................................viii
Figura 40. Lanzador o acceso directo a TApir. .......................................................... xi
Figura 41. Interfaz TApir. ........................................................................................... xi
Figura 42. Ventana "Acerca de TApir". ..................................................................... xii
Figura 43. Programa simpletest.c............................................................................. xii
Figura 44. Piloto de la interfaz final y prueba de conexiones. ..................................xiii
Figura 45. Algoritmo RA que reconoce un patrón y renderiza un grillo. ...................xiii
Figura 46. Renderizado de 2 modelos sobre video en directo. ............................... xiv
Figura 47. Mosca incrustada sobre video en directo ............................................... xiv
7. Introducción
Introducción
Este documento hace referencia a un sistema basado en RA (Realidad
Aumentada) llamado TApir, en el cual se utilizó el lenguaje de programación C y
C++ en el compilador “GCC” (por sus siglas en ingles GNU Compiler Collection)
de la plataforma Linux con la distribución Ubuntu 9.04. El motivo para desarrollar
el proyecto en sistemas de código abierto es la flexibilidad del entorno; el sistema
pretende ser implementado en diferentes equipos con diferencias marcadas en
hardware, pero con el mismo software tanto en sistema operativo como con
dependencias.
El sistema surge de la iniciativa de comprender los sistemas aumentados es por
mi parte crear el nombre del proyecto y logotipo los cuales son atractivos para la
aplicación; pero la piedra angular es el desarrollo, ya que fue necesario identificar
los componentes principales que integran el sistema para posteriormente utilizar
las herramientas ideales que resuelvan los problemas que lleguen a presentarse,
de tal manera establecer las bases con la información recopilada y crear las
especificaciones del sistema.
El proyecto TApir es el resultado de un análisis que surge de varios software en el
entorno RA como es el caso de AMIRE y ATOMIC; los cuales son programas de
RA; el primero fue desarrollado en Visual Basic y el segundo en Java, ambos
utilizan librerías ARToolKit al igual que TApir. Las herramientas ARToolKit son la
mejor opción hasta el momento para el desarrollo de aplicaciones de este tipo,
además, al ser creadas en el lenguaje C y C++ es posible compilarlas en los
diferentes sistemas operativos existentes.
TApir esta integrado por varias herramientas, es evidente la presencia de
ARToolKit ya que es el alma del sistema, pero aun con ARToolKit solo es posible
lanzar los algoritmos desde una terminal con una robusta sintaxis; lo ideal es
invocar el algoritmo desde una interfaz para que un usuario logre visualizar el
contenido, y para ello se utilizo Python integrado a Glade además de scripts para
I
8. Introducción
invocar un algoritmo de RA con un click del mouse.
El sistema mantiene un entorno austero pero de fácil comprensión con la principal
característica de ser un software demostrativo, pero que manifiesta de manera
concreta diferentes algoritmos de la librería ARToolKit.
Objetivo General
Conocer y manejar aplicaciones de RA, ya que esta tecnología aun no es un
campo tan explorado como la realidad virtual (RV); dado a que la RA es un
área derivada de la virtual y en base a que el desarrollo de aplicaciones
virtuales se ha masificado para diversos usos, métodos o procesos; se pretende
analizar el uso y características que forman una aplicación de RA, mediante el
análisis y compilación de ARToolKit e implementar un desarrollo en donde sea
posible establecer una aproximación a este tipo de tecnología.
Objetivos específicos
Desarrollar una aplicación a manera de prueba de lo que es una
herramienta de RA utilizando ARToolKit.
Desplegar un entorno de RA donde se logre interactuar fácilmente;
usando herramientas graficas así como la disposición de hardware que
permita un buen desarrollo.
Examinar estructuras y fundamentos de las herramientas de RA
implementadas en ARToolKit.
Interpretar las librerías así como funciones y dependencias de las
herramientas utilizadas en ARToolKit.
Compilar librerías ARToolKit en el sistema operativo Ubuntu.
Identificar factibilidad de software para la creación de desarrollo.
Integrar software destacado.
Realizar pruebas sobre el software integrado.
II
9. Introducción
Definición del problema
En la actualidad las nuevas tecnologías son el próximo eslabón para alcanzar un
nivel tanto intelectual como social; las tecnologías son necesarias para el
desarrollo de un país es por eso que la falta de construcción de nuevas
tecnologías afecta a un país, pero la construcción de estas contribuye al desarrollo
de la economía. Queda entendido que el desarrollo de tecnología es una forma de
facilitar métodos o procesos a la sociedad.
La Realidad Aumentada es una tecnología que ya está repercutiendo en la
sociedad pero aún es un área de investigación y desarrollo, además, para que las
aplicaciones de Realidad Aumentada se logren ejecutar en medios informáticos es
necesario un hardware potente y dispositivos externos; sin embargo el principal
problema en el cual se centra este documento es compilar herramientas ARToolKit
(que son una colección de librerías para la creación de programas de RA) en un
sistema operativo de código abierto como Linux, añadiendo que en la plataforma
del sistema abierto es posible modificar fácilmente el entorno del escritorio a
diferencia de Windows o MacOS.
Es por ello que surge la iniciativa de evaluar la factibilidad de la creación de una
interfaz en un entorno GDM (gestor de ventanas que utiliza la distribución Ubuntu)
para crear una aplicación que demuestre el potencial de una aplicación de RA
como AMIRE o ATOMIC, aplicaciones que logran dar una perspectiva sobre RA de
una forma muy intuitiva hacia el usuario, pero además de crear el ambiente al
usuario, es necesario conocer que procesos se están ejecutando y que recursos
son necesarios para la vinculación entre hardware y software de la RA en
sistemas abiertos.
III
10. Introducción
Justificación
Generar una aplicación para mostrar Realidad Aumentada (RA) en sistemas
operativos de código abierto (Ubuntu 9.04), mediante la modificación y
compilación de librerías ARToolKit, con la finalidad de aportar una herramienta
demostrativa de RA en sistemas opensource.
La aplicación en conjunto pretende demostrar el concepto de herramientas RA y
caracterizar los conflictos que puedan surgir para la creación del proyecto en base
a software; se pretende estudiar las distintas opciones a las que se puede acceder
según el nivel de hardware que se desee implementar.
Organización
La estructura de este documento está organizada en cinco capítulos, dos
apéndices y un apartado de referencias bibliográficas. La descripción de los
capítulos es la siguiente:
Capítulo 1. Antecedentes de la Realidad Aumentada.- Se exponen los
antecedentes de la RA, y se abordará en documentos sobre el estudio del arte de
Realidad Aumentada y funcionamiento de la misma.
Capítulo 2. Proyecto TApir.- En este capítulo se describe la creación del proyecto
TApir y el análisis de requerimientos así como el software para el desarrollo de la
aplicación.
Capítulo 3. Integración del Sistema TApir.- Este apartado está dedicado a
introducir y explicar los aspectos teórico-prácticos que deben considerarse para la
realización de una aplicación en RA. Es necesario mencionar que los métodos que
aquí se presentan son los que el autor de este documento considero idóneos para
IV
11. Introducción
el proyecto, pero existen muchos otros métodos iguales de atractivos y
funcionales.
Capítulo 4. Evaluación, Pruebas y Análisis de Resultados.- Este capítulo presenta
los resultados obtenidos al implementar las herramientas para la creación del
sistema en RA.
Capítulo 5. Conclusión y Aplicaciones Futuras.- consumación acerca de las
tecnologías de RA así como respuesta al sistema implementado, además de
incluir las tecnologías Futuras o propuestas de software en el área de Realidad
Aumentada.
Referencias Bibliográficas y Electrónicas.- Fuentes de información de manos de
expertos, una colección de autores especializados en realidad aumentada, los
cuales son comentados en este documento.
Glosario.- Contiene palabras con su significado para facilitar el entendimiento de
conceptos de este documento.
Apéndice A. Manual de Usuario.- Esta sección se encarga de ayudar al usuario
para facilitarle el manejo de la herramienta desarrollada. Entre otros aspectos se
describen las características de la interfaz, la estructura necesaria de los archivos
de entrada y las funciones que se pueden realizar con el sistema.
Apéndice B. Colección de Escenas.- Exhibe una pequeña colección de imágenes
generadas con la herramienta TApir.
V
12.
13. Capítulo 1. Antecedentes de la Realidad Aumentada
Capítulo 1.
Antecedentes de la
Realidad
Aumentada
14.
15. Capítulo 1. Antecedentes de la Realidad Aumentada
Realidad Aumentada en inglés “Augmented Reality”, es un campo de investigación
computacional que trata de combinar el mundo real con datos generados por
computadora, a diferencia de la Realidad Virtual que trata de introducir al usuario
en un mundo simulado. El campo de estudio principal trata sobre integrar
imágenes virtuales sobre video digitalmente procesado, para “aumentar” la
percepción del mundo real. Es necesario entender que la Realidad Virtual y
Realidad Aumentada han ido prácticamente de la mano.
El origen de la Realidad Aumentada es consecuencia directa de los estudios
generados por Ivan Sutherland, creador entre otras cosas de la primera interfaz
gráfica de usuario (GUI), padre del concepto mundo virtual y precursor de la
mayoría de las interfaces de comunicación que hoy se conocen. Este hombre por
sí solo merece un artículo, pero por ahora este documento solo se centrará en la
idea de su enorme importancia en el mundo de la informática.
En 1968, Ivan Sutherland, con la ayuda de su estudiante Bob Sproull,
construyeron lo que sería ampliamente considerado el primer visor montado en la
cabeza o “Head Mounted Display“ también llamado “HMD” por sus siglas en
inglés, para Realidad Virtual y Realidad Aumentada (ver Figura 1) era muy
primitivo en términos de Interfaz de usuario y realismo y el “HMD” usado por el
usuario era tan grande y pesado que debía colgarse del techo, y los gráficos que
hacían al ambiente virtual eran simples modelos de alambres [21].
Figura 1. Head Mounted Display (HMD) para RV y RA.
3
16. Capítulo 1. Antecedentes de la Realidad Aumentada
En 1950 Morton Heilig escribió sobre un “Cine de Experiencia”, que logrará
acompañar a todos los sentidos de una
manera efectiva integrado al espectador
con la actividad en la pantalla. Construyó
un prototipo llamado Sensorama (ver
Figura 2) en 1962 el cual incluía cinco
filmes cortos que permitían aumentar la
experiencia del espectador a través de sus
sentidos (vista, olfato, tacto, y oído) [35].
Figura 2. Sensorama "Cine de Experiencia”.
Myron Krueger dio el siguiente paso al crear en 1972 [15] Videoplace, un sistema
que permitía a los usuarios interactuar con objetos. Dicho sistema no incluía
sistemas informáticos, realmente
utilizaba tecnologías alternativas de
vídeo y sistemas de reconocimiento
de movimientos y gestos (ver
Figura 3) desarrollados por el
mismo Kruege.
Fue el primer artista que se centró Figura 3. Videoplace: un sistema de
en la interactividad como un medio reconocimiento de movimientos y gestos.
para composición creativa. Fue el pionero del desarrollo de la participación
inalámbrica y corporalmente integral en los experimentos de telecomunicación
originados por computadora, y acuñó en 1973 el término "realidad artificial" para
aludir a las últimas manifestaciones de este tipo de tecnología. Ha recibido varios
premios entre los que se puede destacar el primer Golden Nica del Prix Ars
Electronic. Sus obras han tenido una gran difusión internacional, pasando por
museos de arte, galerías y congresos científicos.
4
17. Capítulo 1. Antecedentes de la Realidad Aumentada
A finales de los 80 se popularizó el término Realidad Virtual por Jaron Lanier, cuya
compañía fundada por él creó los
primeros guantes y anteojos con es
posible ver en la Figura 4, los cuales
servían para la interacción de la
Realidad Virtual [20].
Haciendo un pequeño salto hasta 1990,
un investigador llamado Tom Caudell usó
el término "Realidad Aumentada" para
describir una pantalla que usarían los
técnicos electricistas de Boeing y que Figura 4. Interacción virtual usando guantes y
anteojos especiales.
mezclaba gráficos virtuales con la
realidad física, este sistema les permitiría aumentar la eficiencia de su trabajo al
facilitarles de alguna forma la operación sobre las tareas a realizar. Caudell fue
contratado para encontrar una alternativa a los tediosos tableros de configuración
de cables que utilizan los trabajadores. Salió con la idea de anteojos especiales y
tableros virtuales sobre tableros reales genéricos, es así que se le ocurrió que
estaba “aumentando” la realidad del usuario [33].
Steven Feiner, Blair MacIntyre y Doree Seligmann en 1992 realizan la primera
utilización importante de un sistema de Realidad Aumentada en un prototipo
llamado KARMA, presentado en una
conferencia y ampliamente citado en la
publicación “Communications of the
ACM” al siguiente año. El sistema ofrecía
mantenimiento para impresoras sin la
necesidad de un técnico para realizarlo,
en la Figura 5 se puede apreciar el
sistema en ejecución. Figura 5. RA basada en el conocimiento para el
mantenimiento asistido.
5
18. Capítulo 1. Antecedentes de la Realidad Aumentada
En 1999, Hirozaku Kato desarrolla ARToolKit [19] en el
HitLAB de la Universidad de Washington, una de las
aplicaciones de software libre más potente hasta la fecha
para la creación de aplicaciones en Realidad Aumentada.
En la Figura 6 se muestra el potencial de estas
herramientas.
Desde entonces, el desarrollo de plataformas de
aplicaciones de Realidad Aumentada no ha parado de
Figura 6. ARToolKit
crecer y ha tenido especial relevancia en aplicaciones para
ejecutándose.
smartphones y móviles de última generación, con mejoras
significativas en la capacidad de procesamiento y en la calidad de las cámaras
integradas que permiten que las aplicaciones basadas en la Realidad Aumentada
tengan cada vez mayor robustez.
Para el año 2009 se crea el logo oficial de la Realidad Aumentada [5] con el fin de
estandarizar la identificación de la tecnología aplicada en cualquier soporte o
medio por parte del público general, en la Figura 7 se presenta el logo de la RA.
Figura 7. Logo con el slogan "cam' on This is Augmented Reality".
6
19. Capítulo 1. Antecedentes de la Realidad Aumentada
1.1. Definiciones
La Realidad Aumentada es el término que se usa para definir una visión directa o
indirecta de un entorno físico del mundo real, cuyos elementos se combinan con
elementos virtuales para la creación de una realidad mixta a tiempo real. Consiste
en un conjunto de dispositivos que añaden información virtual a la información
física ya existente, es decir, añadir una parte sintética virtual a lo real; la principal
diferencia con la realidad virtual, puesto que no sustituye la realidad física, sino
que sobreimprime los datos informáticos al mundo real. Con la ayuda de la
tecnología (por ejemplo, añadiendo la visión por computadora y reconocimiento de
objetos) la información sobre el mundo real alrededor del usuario se convierte en
interactiva y digital. La información artificial sobre el medio ambiente y los objetos
pueden ser almacenados y recuperados como una capa de información en la parte
superior de la visión del mundo real.
La Realidad Aumentada explora la aplicación de imágenes generadas por
computadora en tiempo real a secuencias de video como una forma de ampliar el
mundo real. La investigación incluye el uso de pantallas colocadas en la cabeza,
un display virtual colocado en la retina para mejorar la visualización, y la
construcción de ambientes controlados a partir sensores y actuadores.
Caudell y Mizell en 1992 [4] definen a la RA como la capacidad de proyección o de
combinación de gráficos o de texto con imágenes del mundo real, esta es una
característica de la Realidad Aumentada, de la misma forma Barfield, Rosenberg y
Lotens en 1995 llegan a la misma definición. Feiner, MacIntyre, y Seligmann en
1993 se refieren a esta capacidad como "mejora de los conocimientos" del mundo.
Rekimoto [30] en 1997 a modo de ejemplo, nos comenta que un transmisor de
infrarrojos se puede colocar en un objeto de interés y una vez detectada por un
receptor de infrarrojos usado por una persona, la información sobre el objeto se
puede acceder a través de una base de datos y proyectarla directamente sobre el
objeto. Otros sistemas de sensores, tales como cámaras CCD, utilizando técnicas
7
20. Capítulo 1. Antecedentes de la Realidad Aumentada
de visión por computadora puede detectar los códigos de barras u otras
características de un objeto lo que permite la misma funcionalidad o aumento del
conocimiento.
Hay diferentes tipos de tecnologías de visualización portátil, que puede ser
utilizada para combinar los objetos del mundo real con imágenes generadas por
computadora para formar una escena aumentada. Los dos tipos principales de
sistemas de pantallas de visualización de apoyo a las computadoras portátiles y
de Realidad Aumentada se muestran a continuación.
Los sistemas ópticos. Estos sistemas permiten al observador ver el mundo
real directamente con uno o ambos ojos, utilizando gráficos por
computadora o superponer texto en el mundo real, a través de HMD o gafas
con un sistema óptico.
Los sistemas de vídeo. Estos sistemas se pueden utilizar para ver el video
en vivo de las escenas del mundo real, junto con gráficos de computadora o
el texto superpuesto. Además, utiliza visualización monocular (un ojo) o
binocular (dos ojos). El video consiste en mostrar secuencia de imágenes a
través de pantallas, las cámaras toman la secuencia de imágenes para
capturar el video, para posteriormente mostrárselo al usuario. Utilizando
técnicas de croma o luminancia, el equipo, mediante algoritmos, fusiona el
vídeo con la imagen virtual para crear un entorno de Realidad Aumentada
basada en video.
Hay dos definiciones comúnmente aceptadas de la Realidad Aumentada en la
actualidad.
Una de ellas fue dada por Ronald Azuma en 1997 [1]. La definición de Azuma dice
que la Realidad Aumentada:
Combina elementos reales y virtuales.
Es interactiva en tiempo real.
8
21. Capítulo 1. Antecedentes de la Realidad Aumentada
Está registrada en 3D.
Mientras que Paul Milgram y Fumio Kishino en su investigación “Virtuality
Continuum” [28] la describen como un continuo que abarca desde el entorno real a
un entorno virtual puro. En medio hay Realidad Aumentada (más cerca del entorno
real) y Virtualidad Aumentada (está más cerca del entorno virtual).
Recientemente, el término Realidad Aumentada se ha difundido por el creciente
interés del público en general.
1.2. IEEE: Realidad Aumentada
Las investigaciones en Realidad Aumentada tiene sus primeras aportaciones
desde 1992 de acuerdo con los registros de la IEEE; a continuación se describen
algunos proyectos, prototipos y aplicaciones en Realidad Aumentada.
En el documento llamado “La Realidad Aumentada: una aplicación sobre la
tecnología de pantallas de visualización frontal para los procesos de fabricación
manual” (Augmented reality: an application of heads-up display technology to
manual manufacturing processes) se pretende utilizar pantallas de visualización
las cuales puedan ser operadas con el movimiento de la cabeza con el diseño y
creación de prototipos mediante la implementación de “heads-up” (pantalla de
visualización frontal), “see-through” (ver a través de), “head-mounted display”
(casco de visualización frontal), “HMDset” (set de herramientas para visualización).
Combinando los sistemas “HMD” con la detección de posición de la cabeza y un
sistema de registro del mundo real, esta tecnología permite a la computadora
establecer un diagrama que superpone y estabiliza en una posición específica un
objeto del mundo real.
9
22. Capítulo 1. Antecedentes de la Realidad Aumentada
El desarrollo exitoso de la tecnología “HMDset” permitirá la reducción de costos y
mejoras de la eficiencia en muchas de las operaciones humanas que intervienen
en la fabricación de aeronaves, mediante la eliminación de las plantillas,
diagramas, y otros dispositivos de enmascaramiento. El desarrollo de esta
tecnología aun trae consigo problemas en el reconocimiento del movimiento de
cabeza así como las coordenadas precisas de los objetos con los que se va a
interactuar [9].
“Mundos virtuales para la visualización de la información” (Virtual worlds for
visualizing information) es un documento de Feiner S, en donde se crean mundos
virtuales con entornos generados por computadora creados por muestra de
acoplamiento en 3D y dispositivos de interacción para estaciones de trabajo con
gráficos de gran alcance.
Feiner comenta sobre el diseño de mundos virtuales que se están llevando a cabo
por el equipo de Columbia's Computer Graphics y User Interfaces Group Two; de
los temas principales de la investigación de este grupo son la explotación de una
verdadera interacción en 3D y dispositivos de pantalla para visualizar y manipular
los espacios ricos en información, además del uso de técnicas de inteligencia
artificial para automatizar la generación de gráficos.
Los proyectos de discusión son: dirección de los mundos virtuales para la
visualización de datos multivalentes, interfaces de usuario híbridos que combinan
2D y 3D, dispositivos de interacción y realidad aumentada en el que se anota un
mundo circundante físico con gráficos en 3D basados en el conocimiento. La
integración de realidades es evidente y la exploración en RA solo era hipotética
puesto que el proyecto estaba en discusión en 1992 [10].
“Realidad virtual y Realidad Aumentada en el diseño y fabricación de aeronaves”
(Virtual reality and augmented reality in aircraft design and manufacturing) trabajo
realizado por Mizell, D.W, el autor está trabajando en dos proyectos de
investigación en “Boeing Computer Services” que tienen que ver con la tecnología
10
23. Capítulo 1. Antecedentes de la Realidad Aumentada
de realidad virtual. La primera consiste en la importación de aeronaves de datos
CAD en un entorno de realidad virtual. Las aplicaciones incluyen una amplia parte
de las actividades de ingeniería y diseño, todo lo cual implica ser capaz de ver e
interactuar con la geometría CAD como si uno estuviera dentro de una maqueta
física real de la aeronave.
Con respecto a la tecnología que se exploró en el segundo proyecto como
"Realidad Aumentada"; esto implica el uso de “see-through head-mounted display”
(HMD) con una longitud focal óptica de 20 pulgadas, junto con la posición de “VR-
style” sistema de orientación/detección. El área de aplicación previsto es en la
manofactura: la superposición de diagramas o texto sobre la superficie de una
pieza de trabajo y la estabilización de coordenadas determinadas, de modo que la
información adecuada que necesita un trabajador de una fábrica para cada paso
de una operación de fabricación o montaje aparece en la superficie de la pieza
como si estuviera pintado en ella.
El problema más difícil de la Realidad Aumentada es el seguimiento del
movimiento, posición a largo plazo y sistemas de detección de la orientación es
por ello que no pueda funcionar en ambientes como una fábrica. Este requisito y
otros dan lugar a algunos problemas computacionales interesantes, como usuario
de registro y detección de posición mediante el procesamiento de imágenes [26].
El proyecto titulado “Telerobot controlado con Realidad Aumentada” (Telerobotic
control using augmented reality) por Milgram, P. Rastogi, A. Grodski, J.J se
propone una taxonomía para la clasificación de control humano mediado de los
sistemas de manipulación a distancia, basado en tres dimensiones: el grado de
autonomía de la máquina, el nivel de la estructura del medio ambiente a distancia,
y el grado de conocimiento, o modelabilidad, del mundo remoto. Para ciertos
ambientes no estructurados el modelo resulta ser un tanto difícil, un caso que se
haga para la manipulación a distancia por medio del director y de control del
agente, en lugar de telepresencia.
11
24. Capítulo 1. Antecedentes de la Realidad Aumentada
El conjunto de herramientas de Realidad Aumentada ARGOS que se presentan,
como un medio para reunir información cuantitativa de entrada, de forma
interactiva a la creación de un modelo parcial de un sitio de trabajo de forma
remota en vista 3D. Esta información se utiliza para que la programación fuera de
línea local por parte del manipulador, es decir, cuando el telerobot virtual este listo,
los comandos finales se transmitirán para su ejecución en el sistema de control
mandando respuesta al operador de su posición [27].
Por otro lado en el documento titulado “Dinámica de corrección de registro en los
sistemas de video basados en la Realidad Aumentada” (Dynamic registration
correction in video-based augmented reality systems) Bajura, M. Neumann, U
comienza a definir y pulir el concepto de RA: los sistemas de Realidad Aumentada
permiten a los usuarios interactuar con objetos reales y generados por
computadora, mostrando objetos 3D virtuales en el entorno natural de un usuario.
Las aplicaciones de esta potente herramienta de visualización incluyen una vista
previa propuesta de los edificios en su entorno natural, interactuando con
maquinaria pesada para los propósitos de la construcción o de formación de
mantenimiento, y la visualización de los datos médicos de pacientes, tales como el
ultrasonido. En todas estas aplicaciones, los objetos generados por computadora
deben ser visualmente registradas con respecto a los objetos del mundo real en
cada imagen que ve el usuario.
Si la aplicación no mantiene un registro preciso, los objetos generados por
computadora pueden parecer que flotan en el ambiente natural del usuario, sin
tener una determinada posición en el espacio 3D. EL error de registro parece ser
el desplazamiento observado en la imagen entre las posiciones reales y el destino
de los objetos virtuales [2].
El problema de lograr ubicar los objetos de la realidad y mezclarlos con los
virtuales se ha vuelto el principal problema es por eso que en la investigación
llamada “Representaciones de objetos afines por detección de marcos para
12
25. Capítulo 1. Antecedentes de la Realidad Aumentada
realidad aumentada” (Affine object representations for calibration-free augmented
reality) trabajo realizado por Kutulakos, K.N. Vallino, J, se describe el diseño e
implementación de un sistema de vídeo basado en Realidad Aumentada capaz de
superponer tres objetos gráficos tridimensionales en video en vivo de entornos
dinámicos. La característica clave del sistema es que está completamente
descalibrado: no utiliza ningún tipo de información métrica sobre los parámetros de
calibración de la cámara o la ubicación 3D ni en las dimensiones de los objetos del
entorno.
El único requisito es la capacidad de Rastrear a través de marcos por lo menos
cuatro puntos característicos, los cuales son especificados por el usuario en
tiempo de inicialización del sistema y cuyas coordenadas del mundo son
desconocidos. Este enfoque se basa en la siguiente observación: dado un
conjunto de cuatro o más puntos 3D escalonados y la proyección de todos los
puntos en el conjunto, se puede calcular como una combinación lineal de las
proyecciones de sólo cuatro de los puntos.
Aprovechado esta observación: las líneas de seguimiento y fudicial points en la
velocidad de fotogramas, la representación de objetos virtuales en una línea no
euclidiana, contado con la continuidad en el marco de referencia que permite hacia
la proyección una aproximación como una combinación lineal de la proyección de
los fudicial points. Ahora ya no depende de realizar cálculos o reconocer todo el
entorno ya que haciendo la detección de marcos, mediante el uso de puntos
característicos es posible la incrustación de elementos en 3D [16].
El sistema de detección de marcos dio un gran avance en el área de RA y en el
documento “Adición de conocimiento a través de la animación en la realidad
aumentada” (Adding insight through animation in augmented reality) Feiner, S.K
hace un análisis a la mayoría de los sistemas de realidad virtual que han sido
publicados en los últimos diez años y revela que el uso del casco virtual bloquea al
usuario del mundo real y la manera más eficaz de inmersión en un entorno de
síntesis es la RA.
13
26. Capítulo 1. Antecedentes de la Realidad Aumentada
Feiner afirma que estos sistemas tienen un enorme potencial para ciertas
aplicaciones que van desde juegos de video hasta la investigación científica. Por
otra parte, la creencia de que los mundos virtuales más potentes y comunes en
un futuro reemplazarán al mundo real, sino que lo aumentaran con información.
A este enfoque se le llama Realidad Aumentada y fue por primera vez con Ivan
Sutherland, quien, hace más de un cuarto de siglo, desarrolló el primer casco
virtual. Sutherland, cuando termino su sistema, presentaba gráficos al usuario en
un par de pantallas estéreo, que el usuario llevaba en la cabeza. La imagen
producida por la muestra se combinó con la opinión del usuario del mundo y
divisores de haz de espejo. Su sistema de seguimiento 3D determinaba la posición
y orientación de la cabeza del usuario. Esto permitió al sistema cambiar el punto
de vista, basándose en la dirección en la que el usuario esta enfocándose [8].
Los avances en RA siguen con el proyecto “Un rastreador óptico para Realidad
Aumentada y computadoras portátiles” (An optical tracker for augmented reality
and wearable computers) Kim, D. Richards, S.W. Caudell, T.P que expone dentro
de su documento que la realidad aumentada proporciona a trabajadores de fábrica
y a personal laboral y contacto con la información visual superpuesta a la célula de
trabajo para ayudar en el desempeño de sus tareas.
Esta aplicación de la tecnología de realidad virtual requiere una alta precisión,
portabilidad, robusto mecánicamente y ligero de seguimiento en los sistemas que
operan en un entorno muy ruidoso. En el documento se describe un prototipo de
sistema de seguimiento en cabeza, actualmente en fase de desarrollo y pruebas,
que se basa en un pequeño detector sin cristalino, de cuatro células, un conjunto
de ubicación fija y balizas ópticas, que potencialmente pueden cumplir estos
requisitos [17].
Thomas, B. Demczuk, V. Piekarski, W. Hepworth, D. Gunther, B desarrollan un
sistema informático portátil con la Realidad Aumentada para apoyar la navegación
terrestre (“A wearable computer system with augmented reality to support
14
27. Capítulo 1. Antecedentes de la Realidad Aumentada
terrestrial navigation”) hasta la fecha la Realidad Aumentada normalmente se
opera sólo en una pequeña área definida. Este documento informa la investigación
sobre la expansión de Realidad Aumentada para ambientes al aire libre.
El proyecto consiste en proporcionar ayudas visuales para la navegación a los
usuarios. Un sistema informático portátil con una pantalla, brújula digital y un GPS,
herramientas que se utilizan para proporcionar señales visuales al realizar una
tarea de orientación estándar. En el artículo se reportan los resultados de una
serie de ensayos utilizando un equipo fuera de la plataforma portátil, equipado con
un paquete personalizado de construcción de software de navegación, llamado
"mapa sombrero" [34].
“Realidad Aumentada en telerobótica a través de Internet usando múltiples puntos
de vista monoscópica” (Augmented reality in Internet telerobotics using multiple
monoscopic views) Friz, H. Elzer, P. Dalton, B. Taylor, K crean Usher, un interfaz
de usuario para un telerobot de Internet que se ha desarrollado. En la interfaz se
superponen varias imágenes monoscópicas (imágenes proporcionadas por un
display en las que el usuario sólo dispone de entradas de profundidad
monoculares) del medio ambiente del robot con una visualización de tres
dimensiones con 5 grados de libertad. El operador arrastra los elementos de la
visualización de imágenes a un dispositivo de señalización adicionales para
obtener claves de profundidad, el tamaño de la medida, la ubicación y orientación
de los objetos.
Friz, H. Elzer, P. Dalton, B. Taylor, K describen el diseño de la interfaz desde la
perspectiva de la interacción humano-computadora. El diseño de la interfaz de
usuario ha sido desarrollado mediante la aplicación del enfoque ecológico de la
percepción visual a una visualización de datos de los 5 grados de libertad. Esto
lleva a una estructura simple similar a un palillo, que se puede utilizar para
especificar una pose en el espacio 3D utilizando solamente dispositivos de entrada
de dos dimensiones. La interfaz de usuario se implementa como un applet de Java
15
28. Capítulo 1. Antecedentes de la Realidad Aumentada
y se puede utilizar para controlar telerobot de Australia de la página web en
http://telerobot.mech.uwa.edu.au/ [12].
“Sistemas de Realidad Aumentada para aplicaciones médicas” (Augmented reality
systems for medical applications) Son-Lik Tang, Chee-Keong Kwoh, Ming-Yeong
Teo Ng Wan Sing y Keck-Voon Ling aportan sobre la realidad aumentada
aclarando que es una tecnología en la que se superpone una imagen generada
por computadora en la visión del usuario del mundo real, dando al usuario
información adicional generada por el modelo de computadora. Esta tecnología es
diferente de la realidad virtual, en el que se sumerge al usuario en un mundo
virtual generado por la computadora. Por el contrario, el sistema RA acerca el
"mundo" de los usuarios al aumentar el entorno real con objetos virtuales. Usando
un sistema de RA, la vista del usuario del mundo real es mayor. Esta mejora
puede ser en forma de etiquetas, modelos en 3D prestados, o las modificaciones
sombra.
Son-Lik Tang, Chee-Keong Kwoh, Ming-Yeong Teo, Ng Wan Sing y Keck-Voon
Ling revisan algunas de las investigaciones con los sistemas de RA, las
configuraciones de sistema básicos, los enfoques de registro de la imagen y los
problemas técnicos relacionados con la tecnología RA que son la luz y el grado de
calibración libre en el ambiente. También menciona algunos requisitos para un
sistema de RA intervencionista, que puede ayudar a los cirujanos mediante la guía
de un plan quirúrgico en un sistema aumentado [32].
El método de reconocimiento de fudicial points de Kutulakos, K.N. Vallino, J.R
agrega el uso de marcos para la orientación, en el documento “Calibration-free
augmented reality” (Detección de marcos para la Realidad Aumentada) hasta
ahora han tenido en cuenta los requisitos necesarios para la superposición de
objetos gráficos en tres dimensiones sobre vídeo en directo.
Se describe un nuevo enfoque de la Realidad Aumentada de vídeo basado en que
evita los requisitos que en 1992 se trazaron: no utiliza ningún tipo de información
16
29. Capítulo 1. Antecedentes de la Realidad Aumentada
métrica sobre los parámetros de calibración de la cámara o la ubicación sobre las
dimensiones de los objetos del entorno 3D. El único requisito es la capacidad de
rastrear a través de marcos, al menos cuatro fudicial points que son especificados
por el usuario durante la inicialización del sistema y cuyas coordenadas del mundo
son desconocidos.
El enfoque de Kutulakos se basa en la siguiente observación: dado un conjunto de
cuatro o más puntos no coplanares 3D, la proyección de todos los puntos en el
conjunto se puede calcular como una combinación lineal de las proyecciones de
sólo cuatro de ellos. Aprovechando esta observación: las regiones de seguimiento
y el color de los fudicial points en la velocidad de fotogramas, y que representan
objetos virtuales en un no euclidiana, contado con la continuidad de referencia que
permite su proyección, se calcula como una combinación lineal de la proyección
de los fudicial points.
Los resultados experimentales en dos sistemas de Realidad Aumentada, basada
en un monitor y una cabeza montada, demuestran que el enfoque es fácilmente
realizable, impone un mínimo de requisitos de cómputo y hardware además de
ejecutarse en tiempo real, incluye vídeo que se superpone incluso cuando los
parámetros de la cámara varían dinámicamente [18].
DiVerdi, S. Nurmi, D. Hollerer, T presenta el documento “Un marco genérico para
las aplicaciones de interacción en entornos 3D y RA” originalmente llamado “A
framework for generic inter-application interaction for 3D AR environments”. El
frame o cuadro en español, se construye dentro de una ventana en torno a las
herramientas ARToolKit. La interfaz ofrece a los usuarios un mecanismo visual
simple para establecer comunicaciones entre las aplicaciones de un modo
genérico.
La interfaz que ofrece DiVerdi, S. Nurmi, D. Hollerer está diseñada para facilitar el
desarrollo y la máxima flexibilidad para el usuario final. El frame mostrará
aplicaciones en 3D y sus interacciones en el frame, lo que demuestra las nuevas
17
30. Capítulo 1. Antecedentes de la Realidad Aumentada
posibilidades creadas por las interfaces 3D. Se centra en clasificar las funciones
de las aplicaciones de estas interacciones, que sirva para orientar el desarrollo.
Finalmente, se discuten las posibilidades futuras de las aplicaciones e
interacciones dentro de ese frame [7].
Existen aportaciones importantes de la RA como lo es el software pero sobre este
destacan los métodos y técnicas que se emplean para la misma, las cuales son
diversas y cada una contiene su grado de complejidad, así como su lógica en
cuanto a resolver la detección de formas e incrustar objetos a la realidad, en
principio parece ser que la RA simple, pues a algunas personas no se les hace
muy diferente a los efectos de cine o televisión, pero no es así la RA no es una
tarea fácil los procesos que se necesitan son muy elevados computacionalmente
hablando, además que a diferencia de la televisión o el cine no es video editado
,sino que, se trata de integrar información adicional a la realidad sin la necesidad
de algún editor o postproducción ya que todo se hace en tiempo real, pero aun con
software con aportaciones importantes las aplicaciones son visualizadas en
dispositivos externos, aunque los diversos componentes son necesarios, el efecto
que logra la RA es muy impresiónate a pesar la interacción con pantallas.
1.3. Ventajas y desventajas de la Realidad
Aumentada
Ventajas:
Enriquece y mejora la experiencia del usuario,
Mejora el conocimiento de un entorno y proporciona un aumento del
mismo,
Permite al usuario sumergirse en información adicional con la que
cuenta en su entorno,
Se adapta al usuario en función del tiempo y profundidad en el
mundo real,
Es una herramienta innovadora para realizar campañas de
18
31. Capítulo 1. Antecedentes de la Realidad Aumentada
Marketing. Esta tecnología permite una gran interactividad entre el
usuario y el producto y ofrece a las empresas una herramienta muy
potente para que sus consumidores potenciales jueguen con los
productos y disfruten de una experiencia única.
Desventajas:
Altos costos en cuanto a hardware,
Actualmente el mejor método es de detección de marcas para
realizar aplicaciones RA, por esto es necesario ubicarse en un
ambiente en condiciones a los requerimientos del sistema; ya que es
necesario un lugar con buena iluminación puesto que es un factor
importante para reconocer las marcas y si no se cuenta con el
ambiente especificado la aplicación no alcanza su potencial,
Solo es posible visualizar el contenido RA en dispositivos externos,
esto es una limitante ya que la integración solo se hace a través de
una pantalla en una perspectiva ajena a la del usuario, pero existen
HMD en los cuales son muy útiles ya que dibujan sobre el casco del
usuario y en su perspectiva, solo que el equipo HMD es muy grande
aún.
1.4. Aplicaciones
La Realidad Aumentada ofrece infinidad de nuevas posibilidades de interacción,
las cuales hacen que esté presente en muchos y varios ámbitos, como son la
arquitectura, el entretenimiento, la educación, el arte, la medicina por mencionar
algunos.
1.4.1. Proyectos educativos
La idea básica de la Realidad Aumentada es superponer objetos virtuales en miles
de imágenes del mundo real para así "aumentar" la perspectiva del mundo.
Zagoranski, S. Divjak, S. presenta la primera experiencia con diseño e
19
32. Capítulo 1. Antecedentes de la Realidad Aumentada
implementación a un usuario, una herramienta en Realidad Aumentada que podría
servir como un laboratorio virtual interactivo.
El objetivo de la investigación de Zagoranski es implementar este sistema en los
procesos educativos.
La página del “Museo del Jurásico de Asturias” ofrece una serie de recursos en
realidad aumentada donde es
posible observar un dinosaurio el
cual se mueve, ruge, cambia la
perspectiva desde la que se le
observa y la cuenta con la posibilidad
de controlar sus movimientos con el
teclado, en la Figura 8 se puede ver
un dinosaurio del portal web.
Figura 8. Dinosaurio RA, portal web "Museo del Jurásico de
Asturias"
1.4.2. Médicas
La aplicación de Realidad Aumentada en operaciones permitirá al cirujano
superponer datos visuales como por ejemplo tomografías o la delimitación de los
bordes limpios de un tumor, invisibles a simple vista, tal como se muestra en la
Figura 9, minimizando el impacto
de la cirugía de acuerdo a los
investigadores Son-Lik Tang,
Chee-Keong Kwoh, Ming-Yeong
Teo, Ng Wan Sing y Keck-Voon
Ling.
La RA superpone en tiempo real
la reconstrucción 3D de las Figura 9. Tomografía cerebral con RA.
estructuras internas del paciente sobre vídeo en directo, además supone
reducción de costos [22] (entre 1000 y 5000 dólares) y reducción en el tiempo de
20
33. Capítulo 1. Antecedentes de la Realidad Aumentada
intervención. Las tomografías podrían ser mas accesibles ya que el hardware es
de menor costo que los equipos médicos.
1.4.3. Entretenimiento
Lyu, M.R. King, I. Wong, T.T. Yau, E y Chan, P.W. [23] Comentan que la tecnología
para la composición digital de la animación con escenas reales, es traer una
nueva experiencia de entretenimiento digital a los espectadores. La realidad
aumentada es una forma de interacción hombre-máquina. La característica de la
tecnología de RA es presentar información auxiliar en el campo de visión de un
individuo de forma automática sin intervención humana.
El efecto es similar a la composición por procesamiento digital de imágenes
animadas con escenas reales. Para conseguir una nueva experiencia de realidad
aumentada, los autores apoyan la creación de aplicaciones de RA para el
entretenimiento. Por otra parte, también están desarrollando nuevas formas de
seguimiento de marcadores más definidos, como por ejemplo el reconocimiento de
cabeza la humana y el seguimiento de la cara.
Nintendo ha desarrollado
aplicaciones con fines de
entretenimiento para su consola
portátil 3DS [29], las posibilidades
van desde mostrar cubos hasta un
juego de disparos en donde se
interactúa con movimiento y los
cuadros de RA, en la Figura 10 se
puede ver el juego de tiro al blanco. Figura 10. Juego de tiro al blanco de la portátil 3DS.
21
34. Capítulo 1. Antecedentes de la Realidad Aumentada
1.4.4. Simulación
Malkawi, A. Srinivasan, R. Jackson, B. y Yun Yi Kin Chan [24] desarrollan un
sistema de Realidad Aumentada al que se le integró, con un motor de simulación
para facilitar la manipulación de datos y aumentar el control del medio ambiente
envolvente y un nuevo método intuitivo de la interacción humano-máquina.
La simulación de Malkawi, A. Srinivasan, R. Jackson, B. y Yun Yi Kin Chan se
utiliza para predecir los ambientes interiores y evaluar su respuesta a
determinadas condiciones internas y
externas, en la Figura 11 se puede
apreciar el registro de partículas
virtuales y objetos gráficos en el
espacio real. Para facilitar la
manipulación de datos de manera
eficiente, la simulación de
procesado de datos aumenta la
facilidad de control del medio
Figura 11. Sistema de evaluación de partículas en
ambiente envolvente. movimiento.
Un sistema de reconocimiento de gestos se integró con la realidad aumentada
para transformar la estructura de los datos en una descripción generada a través
de la cinemática hacia adelante y el cálculo de las posiciones del segmento y sus
ángulos de las articulaciones. Esto permitió dar resultados en tiempo real de las
interacciones entre los usuarios y el simulador.
1.4.5. Militar
En el campo militar [11], es posible desplegar información de mapas, localización
de los enemigos también la posibilidad de tener controlada en todo momento la
posición de sus compañeros, consultar mapas del terreno, calcular y adjudicarse
22
35. Capítulo 1. Antecedentes de la Realidad Aumentada
objetivos o enviar y recibir órdenes precisas. Otra aplicación de utilidad es para los
aviones de combate, sobre el parabrisas se proyecta toda la información necesaria
para el piloto ver Figura 12, que
se superpone sobre la vista
hacia el exterior, esto permite
seguir simultáneamente lo que
ocurre en el exterior del avión y
tener a la mano los indicadores
del avión sin desviar la mirada.
Figura 12. Desplegar información en aeronaves.
1.4.6. Publicidad
Existen diferentes campañas publicitarias que utilizan este recurso para llamar la
atención del cliente. Una de estas es el desarrollo de un sistema de marketing
para el E-commerce [6]. El sistema consta de un conjunto de señales especiales
además de la capacidad para calibrar una cámara y seguir el movimiento de
marcadores para presentar modelos de productos de ropa y accesorios. No hay
ningún hardware especial requerido para este sistema, excepto una cámara para
PC.
La compañía LEGO [25] también utiliza RA para sus productos, lego pensó en
darle al comprador una perspectiva mas elaborada de su producto, de tal manera
que, implemento en tiendas una pantalla
en donde un cliente muestra la caja de
LEGO y sobre esta se visualiza un
modelo del producto armado ver Figura
13, aunque en la caja hay una imagen del
producto armado, con la RA es posible
observarlo en diferentes ángulos y
perspectivas haciendo mas llamativo e
incitando a su compra. Figura 13. Visualizar productos armados de LEGO.
23
36. Capítulo 1. Antecedentes de la Realidad Aumentada
1.4.7. Aplicaciones Futuras
La Realidad Aumentada puede tener más ejemplos de modelos informáticos de
lugares y sonidos relacionados con la realidad física, así como determinar la
situación exacta de cada usuario, y ser capaz de mostrar al usuario una
representación realista del entorno que se ha añadido virtualmente. Es muy
importante determinar la orientación y posición exacta del usuario, sobre todo en
las aplicaciones que así lo requieran: uno de los retos más importantes a la hora
de desarrollar proyectos de Realidad Aumentada son los elementos visuales ya
que deben estar coordinados a la perfección con los objetos reales, puesto que un
pequeño error de orientación puede provocar un desalineamiento perceptible entre
los objetos virtuales y físicos.
En zonas muy amplias los sensores de orientación usan magnetómetros,
inclinómetros, sensores inerciales, entre otros que pueden verse afectados
gravemente por campos magnéticos, y por lo tanto se ha de intentar reducir al
máximo este efecto. Sería interesante que una aplicación de Realidad Aumentada
lograra localizar elementos naturales (como árboles o rocas) que no hubieran sido
catalogados previamente, sin que el sistema tuviera que tener un conocimiento
previo del territorio.
Como reto a largo plazo es posible sugerir el diseño de aplicaciones en los que la
Realidad Aumentada fuera un poco más allá, de lo que es llamado "Realidad
Aumentada retroalimentada", esto es, que la "descoordinación" resultante del uso
de sensores de posición/orientación, fuera corregida midiendo las desviaciones
entre las medidas de los sensores y las del mundo real. Imagina un sistema de
Realidad Aumentada que partiendo de pares de imágenes estéreo obtenidas de
dos cámaras solidarias al usuario (head-mounted) y de la posición del mismo,
fuera capaz de determinar la posición y orientación exacta del que mira.
Es importante señalar que la Realidad Aumentada es un desarrollo costoso de la
24
37. Capítulo 1. Antecedentes de la Realidad Aumentada
tecnología. Debido a esto, el futuro de la RA depende de si esos costos se pueden
reducir de alguna manera. Si la tecnología RA se hace asequible, podría ser muy
amplia, pero por ahora las principales industrias son los únicos compradores que
tienen la oportunidad de utilizar este recurso. En el futuro podríamos encontrar
aplicaciones de este estilo:
• Aplicaciones de multimedia mejoradas, como pseudopantallas holográficas
virtuales, sonido envolvente virtual de cine, "holodecks" virtuales (que
permiten imágenes generadas por computadora para interactuar con
artistas en vivo y la audiencia).
• Conferencias virtuales en estilo "holodeck" (ver Figura 14) como en la
serie de televisión Star Trek.
• Sustitución de teléfonos celulares (ver Figura 15) y pantallas de navegador
de coche inserción de la información directamente en el medio ambiente.
Por ejemplo, las líneas de guía directamente en la carretera.
• Plantas virtuales, fondos de escritorio, vistas panorámicas, obras de arte,
decoración, iluminación, la mejora de la vida cotidiana, entre otros.
• Con los sistemas de RA se puede entrar en el mercado de masas, viendo
los letreros virtualmente, carteles, señales de tráfico, las decoraciones de
Navidad, las torres de publicidad y mucho más. Éstos pueden ser
totalmente interactivos, incluso a distancia [31].
25
38. Capítulo 1. Antecedentes de la Realidad Aumentada
Figura 14. Centro de RA situada en el mundo ficticio de Star Trek.
Figura 15. Realidad Aumentada en telefonía celular.
26
41. Capítulo 2. Proyecto TApir
2.1. Breve explicación sobre el desarrollo
Es importante evaluar las aplicaciones de RA con la construcción de una
herramienta que logre acercar al conocimiento de esta tecnología además de
caracterizar que problemas pueden surgir al desarrollarla. Es por esto que surge la
iniciativa de desarrollar el proyecto TApir; el proyecto pretende alcanzar las
tecnologías de aumento del conocimiento con la creación de un software
demostrativo el cual pueda vincular la RA y el
usuario final, la aplicación requiere demostrar
los diferentes algoritmos de la librería
ARToolKit; con la finalidad de que el
desarrollo desemboque como un software de
RA, nace la creación del proyecto y logotipo Figura 16. Logo TApir.
para solidificarlo (ver Figura 16).
TApir recibe el nombre de una canción llamada “Tapir's Flown Away” de la banda
de Noise Japonés Melt Banana, fue por esta canción y por una parte de la letra
que dice lo siguiente: ”close to the fact, fill-up 50/50” la traducción de esa frase es
“cerca de la realidad, hasta un 50/50” por ello se le llamo al proyecto TApir; que
es lo que la RA representa 50% es la realidad y el otro 50% es lo virtual; y para
hacer más atractivo el nombre se colocaron las dos primeras letras en mayúscula
las cuales representan T.- traspasar y A.- aumentar.
Fue necesario para la investigación y desarrollo del proyecto TApir:
Desarrollar una aplicación a manera de prueba de lo que es una
herramienta de RA utilizando ARToolKit.
Desplegar un entorno de RA donde se logre interactuar fácilmente;
usando herramientas graficas así como la disposición de hardware que
permita un buen desarrollo.
Examinar estructuras y fundamentos de las herramientas de RA
29
42. Capítulo 2. Proyecto TApir
implementadas en ARToolKit.
Interpretar las librerías así como funciones y dependencias de las
herramientas utilizadas en ARToolKit.
Compilar librerías ARToolKit en el sistema operativo Ubuntu.
Identificar factibilidad de software para la creación de desarrollo.
Integrar software destacado.
Realizar pruebas sobre el software integrado.
Los puntos anteriores son conjunto de acciones que se realizaron para que el
proyecto culminara como TApir, hay que destacar que en principio el proyecto no
tenia nombre, pero una vez que fue tomando bases decidí tomar en serio el
proyecto para plasmar al final una aplicación, que aunque austera, formara parte
de los entornos de RA.
El desarrollo e implementación de la herramienta en RA pretende generar
antecedentes para programadores, diseñadores gráficos y desarrolladores en el
campo de la realidad virtual que en un futuro contemplen realizar y/o enfocarse en
la tecnología o herramientas de RA; la cual se encuentra en crecimiento como una
forma alterna para la realidad virtual ya que amplifica el nivel de interacción con el
usuario, además, de lograr el grandioso efecto de mezclar objetos en 3D con la
realidad.
Es por ello que por medio de un análisis de las herramientas y/o aplicaciones de
esta tecnología se planea desarrollar un entorno de RA en donde se logre
interactuar con estas aplicaciones, usando herramientas graficas así como la
disposición de hardware que permita el buen desarrollo del proyecto.
Para el desarrollo del proyecto, el sistema operativo en el que se elabore no
depende mucho ya que es posible compilar las herramientas de RA en cualquier
sistema operativo, puesto que se usarán las librerías ARToolKit, pero esta
situación no es igual con en el hardware ya que el rendimiento de los
componentes dependen mucho para la realización de una aplicación de RA.
30
43. Capítulo 2. Proyecto TApir
TApir utiliza el método de detección de marcos con el reconocimiento de los
fudicial points ya que es la mejor opción para desarrollar una herramienta de este
tipo, además de que la ARToolKit contiene de ante mano este método; el proyecto
es la suma de software tanto de diseño como de desarrollo, la modularidad fue la
clave para concretar el sistema; a continuación se describen las herramientas que
se utilizaran para el proyecto TApir.
2.2. ARToolKit
ARToolKit es una biblioteca de software para la creación de aplicaciones de
Realidad Aumentada. Estas aplicaciones implican la superposición de imágenes
virtuales en el mundo real.
Una de las principales dificultades en el desarrollo de aplicaciones de Realidad
Aumentada es el problema de seguimiento del punto de vista de los usuarios, con
el fin de saber qué punto de vista tiene el usuario, para dibujar las imágenes
virtuales frente a él, la aplicación necesita saber dónde está el usuario en el
mundo real, ARToolKit utiliza algoritmos de visión por computadora para resolver
este problema, las bibliotecas de video ARToolKit calculan la posición de la
cámara y orientación relativa a los marcadores en tiempo real. Esto permite un
fácil desarrollo de una amplia gama de aplicaciones de Realidad Aumentada.
Algunas de las características de ARToolKit son:
Posición de la cámara: seguimiento/orientación.
El código de seguimiento que utiliza son cuadrados de color negro.
La capacidad de utilizar cualquier patrón cuadrado.
Fácil calibración del código de la cámara.
Lo suficientemente rápido como aplicaciones en tiempo real.
SGI IRIX, Linux, MacOS y distribuciones del sistema operativo Windows
son compatibles.
31
44. Capítulo 2. Proyecto TApir
Se distribuye con código fuente completo.
ARToolKit será la piedra angular para el desarrollo del proyecto, ya que por su
flexibilidad y fácil acceso es posible utilizarla, además su código fuente es abierto
dejando la senda abierta para masificar el uso de aplicaciones de RA.
2.2.1. Detección de marcadores mediante ARToolKit
Figura 17. Estructura del reconocimiento de marcadores.
Abstracción de la Figura 17:
Captura de video desde cámara
En el momento de la activación de la cámara el sistema ya fue
cargado con variables de entorno, ya que así es como ARToolKit lo
establece en sus algoritmos; independientemente del algoritmo a
tratar, la cámara busca en el entorno un arreglo de cuatro puntos
32
45. Capítulo 2. Proyecto TApir
característicos pertenecientes a los marcadores de RA, los cuales
son cuadros con borde color negro exterior y un cuadrado interior de
color blanco con un símbolo, por ahora solo se abordara en esa
descripción sobre los marcadores, mas adelante en la lectura se
indagara en la metodología de estos.
Secuencia de vídeo desde la cámara.
Para la búsqueda del marcador ARToolKit primero busca el arreglo y
para ello utiliza un filtro de video sobre la imagen saturando el
ambiente creando un efecto similar a una escala de grises y se
convierten los fotogramas a binario para verificar la existencia de un
conjunto de puntos correspondientes a un arreglo cuadrado, en este
punto solo se comprueba si hay algún marcador en el campo de
visión de la cámara y es entonces cuando solo se verifica el borde
exterior del marcador.
Marcadores.
Si existe un arreglo de puntos pertenecientes al borde exterior,
entonces se calcula la posición de dicho marcador y se le aplican las
trasformaciones geométricas de escala, rotación y movimiento
tomando como referencia el arreglo que se analizo para detectar el
borde, después se compara el símbolo central con la base de
conocimiento del algoritmo.
.
Posiciones y orientaciones de las marcas.
33
46. Capítulo 2. Proyecto TApir
Cuando el símbolo coincide con la base del conocimiento, los valores
del arreglo a los cuales ya se les había dado tratamiento son
aplicados sobre el modelo 3D para alinearlo con el marcador.
Objetos virtuales.
Una vez que los objetos virtuales están en armonía con el marcador,
el sistema de renderizado lo sobrepone en el arreglo, el cual es el
conjunto de puntos del borde exterior.
Secuencia de vídeo para el usuario.
Cuando el objeto se encuentra alineado y esta sobrepuesto en el
marcador, se integra sobre el video y lo muestra al usuario, después
el sistema continúa analizando el comportamiento del marcador, para
así, aplicarle el tratamiento necesario en caso de moverlo.
2.3. Librerías y software
Las herramientas ARToolKit pueden compilarse en casi todas las distribuciones de
sistemas operativos existentes, es por eso que para el desarrollo del proyecto
TApir, una de las oportunidades fue usar un sistema operativo de código abierto,
además el sistema operativo abierto concede una manipulación completa en la
administración del entorno del sistema a diferencia de otros sistemas operativos
en donde la modificación del sistema es muy complicada o inaccesible, además en
estos sistemas es necesario instalar software privativo y existen diversas opciones
o versiones para compilar programas, algo útil pero tedioso, ya que, puede ser
difícil compilar las herramientas debido a la variedad de librerías y dependencia de
las ARToolKit y es fácil perderse si no se define de manera correcta el path de
referencias en sistemas como Windows o MacOS, en el sistema abierto el instalar
34
47. Capítulo 2. Proyecto TApir
software es muy fácil y es muy fácil definir path para las dependencias o
cabeceras de los algoritmos de RA.
2.3.1. OpenCV
OpenCV (por sus siglas en ingles “Open Source Computer Vision”) es una
biblioteca de funciones de programación para la visión por computadora en tiempo
real.
OpenCV es liberado bajo una licencia BSD, es gratuito tanto para uso académico
como comercial. Fue originalmente escrito en C, pero consta de una completa
interfaz en C++ y todos los nuevos desarrollos se encuentran en este último
lenguaje. También cuenta con una interfaz en Python. La biblioteca cuenta con
más de 2000 algoritmos optimizados. Se utiliza en todo el mundo y sus
aplicaciones van desde el arte interactivo, a la inspección de minas, construir
mapas en la web a través de la robótica avanzada, entre muchas otras
aplicaciones y áreas.
OpenCV resuelve un gran número de problemas relacionados con la
entrada/salida e interfaz de usuario las cuales son:
Funciones de creación de imágenes
Funciones de lectura/escritura de ficheros de imágenes
Operaciones de creación y uso de ventanas
Acceso a los píxeles de las imágenes
Ofrece funciones para entrada de vídeo (desde cámara y desde archivos
AVI, MPG, WMV y MOV, según los codecs instalados en el sistema) y
salida de vídeo (en formato AVI).
OpenCV es de gran ayuda para el proyecto, puesto que es necesario sus librerías
35
48. Capítulo 2. Proyecto TApir
para que ciertos algoritmos de la ARToolKit logren interactuar de forma fluida
sobre video en directo.
2.3.2. GLUT
GLUT (del inglés “OpenGL Utility Toolkit”) es una librería de utilidades para
programas OpenGL que principalmente proporciona diversas funciones de
entrada/salida con el sistema operativo. Entre las funciones que ofrece se incluyen
declaración, manejo de ventanas, interacción por medio de teclado y ratón.
También posee rutinas para el dibujado de diversas primitivas geométricas (tanto
sólidas como en modo wireframe) que incluyen cubos, esferas y teteras. También
tiene soporte para creación de menús emergentes.
La librería que se usará para el proyecto TApir es freeglut la cual permite al
usuario crear y gestionar las ventanas que contienen contextos OpenGL.
2.3.3. OpenVRML
OpenVRML es de ejecución libre y multiplataforma para el soporte de VRML y
X3D esta disponible bajo la licencia GNU. La distribución OpenVRML incluye
librerías que pueden usarse para agregar soporte a VRML/X3D. En las
plataformas donde GTK+ (entorno de escritorio GNOME) está disponible,
OpenVRML ofrece un plug-in para representar mundos VRML/X3D en los
navegadores Web.
A pesar de la presencia de GLUT en el proyecto se integran modelos en formato
.wrl, es por esta motivo el cual se incluye VRML, además de que al desarrollador
del proyecto TApir le pareció un lenguaje agradable, puesto que tiene mas
conocimiento sobre este a diferencia de GLUT; hay que resaltar que GLUT ofrece
mejor soporte en cuanto a gráficos pero al final VRML por su sencillez y
familiaridad con el software fue elegido.
36
49. Capítulo 2. Proyecto TApir
2.3.4. Python
En el proyecto TApir se desea incluir una pequeña interfaz de usuario para facilitar
la invocación de las aplicaciones, ya que el uso de ARToolKit y dependencias solo
hacen posible la compilación y creación de aplicaciones en RA, es por ello que se
integrarán más programas para el desarrollo de la pequeña interfaz.
Python es un lenguaje de programación de alto nivel cuya filosofía hace hincapié
en una sintaxis muy limpia y que favorezca un código legible, permite trabajar con
mayor rapidez e integrar sistemas con mayor eficacia, en la Figura 18 se es
posible ver el logotipo.
Se trata de un lenguaje de programación multiparadigma (permite implementar
programación estructurada y/u orientada a objetos en el mismo código fuente) ya
que soporta orientación a objetos, programación imperativa y, en menor medida,
programación funcional. Es un lenguaje interpretado, usa tipificación dinámica, es
fuertemente tipificado y multiplataforma. Posee una licencia de código abierto,
denominada “Python Software Foundation License” que es compatible con la
Licencia pública general de
GNU.
Se ocupa Python en este
proyecto porque es capaz de
Figura 18 Logo Python.
integrar sentencias desde un
shell, ya que para la invocación de los algoritmos RA se hace por medio de una
terminal o shell, Python será el encargado de llamar y compilar en shell con un
click.
37
50. Capítulo 2. Proyecto TApir
2.3.5. Glade
Para la parte del lienzo en donde se dibujarán los botones y se conectaran las
señales de Python se utilizara el software Glade ya que éste utiliza una integración
con Python, es muy fácil de programar y además de crear su estructura en un
archivo xml.
Glade es una herramienta RAD (en ingles “Rapid Application Development”) para
permitir el desarrollo rápido y fácil de interfaces de usuario para GTK+ toolkit y el
entorno de escritorio GNOME.
Las interfaces de usuario diseñada en Glade se guardan como xml, y usando los
escritorios GTK+ y GtkBuilder estos pueden ser cargados por las aplicaciones de
forma dinámica según sea necesario.
Mediante el uso de los entornos GtkBuilder y archivos xml de Glade es posible
utilizar varios lenguajes de programación como C, C++, Java, Perl, Python entre
otros.
Glade es un software libre publicado bajo la Licencia GPL (General Public
Licence) además su interfaz es muy intuitiva para desarrollar entornos de
escritorio, en la Figura 19 se puede ver las ventanas del software.
38
51. Capítulo 2. Proyecto TApir
Figura 19. Interfaz de Glade.
2.3.6. VRML
VRML (sigla del inglés “Virtual Reality Modeling Language”. "Lenguaje para
Modelado de Realidad Virtual") es un formato de archivo normalizado que tiene
como objetivo la representación de escenas u objetos interactivos
tridimensionales; diseñado particularmente para su empleo en la web.
El lenguaje VRML posibilita la descripción de una escena compuesta por objetos
3D a partir de prototipos basados en formas geométricas básicas o de estructuras
en las que se especifican los vértices y las aristas de cada polígono tridimensional
y el color de su superficie. VRML
permite también definir objetos 3D
multimedia, a los cuales se puede
asociar un enlace de manera que el
usuario pueda acceder a una página
web, imágenes, vídeos o archivos
VRML de Internet por medio de un Figura 20. Logo VRML.
39
52. Capítulo 2. Proyecto TApir
plug-in en el navegador web. En la Figura 20 esta el logo de VRML.
La función de VRML en el proyecto TApir es definir los modelos 3D que se usaran
para integrar en la realidad, esto fue por la estructura y portabilidad que ofrece el
software.
2.2. Marcadores RA
La idea básica de la Realidad Aumentada es la de superponer gráficos, audio y
otro tipo de archivos o información a un ambiente real en tiempo real. Podría sonar
bastante simple, pero no lo es. Aunque hace décadas que las cadenas de
televisión vienen haciendo esto, lo hacen con una imagen estática que no se
ajusta al movimiento de las cámaras.
La Realidad Aumentada es muy superior a lo que se viene utilizando en televisión,
si bien, ediciones iníciales de Realidad Aumentada se muestran actualmente en
eventos deportivos televisados, para mostrar información importante en pantalla,
como los nombres de los pilotos de carreras, repeticiones de jugadas polémicas o
principalmente, para desplegar publicidad. Estos sistemas despliegan gráficos solo
desde un punto de vista. La próxima generación de sistemas de realidad
aumentada desplegará gráficos para la perspectiva de cada espectador.
El punto principal dentro del desarrollo de la RA es un sistema de seguimiento de
movimiento o “Tracking System”. Desde el principio hasta ahora la RA se apoya en
“Marcadores” o un arreglo de marcos como se muestra en la Figura 21, es una
parte importante dentro del campo de visión de las cámaras, ya que es en donde
la computadora toma el punto de referencia sobre el cual superponer los datos.
Estos marcadores son predefinidos por el usuario y pueden ser pictogramas
exclusivos para cada imagen a ser superpuestas, o formas simples, como marcas
de cuadros, o simplemente texturas dentro del campo de visión. Recientemente en
40
53. Capítulo 2. Proyecto TApir
los últimos años el desarrollo de RA “markerless” esta madurando, añadiendo un
grado más a la inmersión al no tener que trabajar con tarjetas o cosas extrañas el
ambiente.
Los marcos tienen establecido un tamaño para mejorar el desempeño al
reconocerlo, aunque cambiarlo no afecta en gran medida, ya que, el programa
interpretaría que esta alejado o muy cerca de la cámara y en consecuencia
tomaría la referencia del tamaño incrustando de manera equivalente en el marco
los datos, ese sería el único inconveniente.
La estructura del marcador es muy simple, pero contiene una pictografía única,
creando así perspectivas diferentes para lograr las trasformaciones geométricas.
El diseño consta de un cuadro de 8cm con
otro cuadro interior de 4cm de color blanco y
un símbolo, creando en el exterior del
marcador un margen el cual es de color
negro; la funcionalidad del símbolo es
referenciar el punto pivote en el cual se
aplicaran las transformaciones y para lograr
este cometido el símbolo debe de presentar
una deformación si este es rotado, esto para
preservar el punto pivote.
Figura 21. Marcadores para el uso de RA.
Por ejemplo:
Existe un marcador con las especificaciones previas, pero toma como símbolo la
letra “A”; la forma “A” tomaría el pivote, ahora si “A” es rotada en sentido a las
manecillas del reloj en 90º su forma es “ ” de esta forma se crean símbolos
A
diferentes, de modo que los símbolos que se obtendrían, en 4 estados de rotación
en sentido a las manecillas del reloj hasta completar la hora son: “A”, “ “,” V y “ “.
”
A
A
Si el símbolo fuera la letra “O” el sistema detectaría todos los ángulos como pivote
y en consecuencia no habría rotación.
41
57. Capítulo 3. Integración del Proyecto TApir
3.1. Identificación de factores
Para concretar el proyecto TApir se tomó como punto inicial el comprender el
funcionamiento de RA implicando a las ARToolKit de por medio, de tal manera la
investigación fue centrada en programas que utilizaban las librerías, para
posteriormente obtener conceptos destacados de tales software, así mismo se
llevo a cabo la búsqueda de documentos e información acerca de la tecnología de
RA, dando como resultado un soporte solido en donde la factibilidad del proyecto
era en forma consistente.
La factibilidad del proyecto es gran parte a la ARToolKit, pues su código por ser
distribuido de forma abierta y su disponibilidad para compilarlo en casi cualquier
sistema operativo, otorgo una brecha en la cual el proyecto lograba fluir de manera
estable sobre el entorno de desarrollo.
La decisión del desarrollo en una plataforma Linux, fue la posibilidad y gran
variedad de software con código abierto, incluyendo que la mayoría de programas
en RA actuales son principalmente para plataformas Windows y MacOS, surgió la
iniciativa de contribuir con los opensource, creando un sistema de RA para el
entorno Linux. El sistema operativo concede la libre manipulación y variedad de
librerías, aunque genéricas, son de utilidad pues demuestran ser un apoyo en el
momento de compilar, por su facilidad al ser instaladas.
El software evaluado fue AMIRE y ATOMIC, con la familiaridad de renderizar sobre
video en directo un modelo tridimensional, además de utilizar ARToolKit, cada
software las compila de forma diferente.
La idea de la aplicación de RA es que el usuario final logre interactuar con el
sistema de manera fácil utilizando un sistema de código abierto como Linux, pero,
dado a que se utilizan demasiados parámetros para lanzar la aplicación surgió la
necesidad de utilizar un programa integrador para crear una aplicación de
45
58. Capítulo 3. Integración del Proyecto TApir
desarrollo rápido como Glade y Python para crear una pequeña interfaz de usuario
con ejemplos de la ARToolKit y un programa propio.
3.2. Interfaz de TApir
Para que los programas en Realidad Aumentada se logren ejecutar, es necesario
usar comandos e interpretes, algo que es muy complicado, para que el usuario
logre interactuar con las aplicaciones, por este motivo surge la necesidad de
ejecutar el programa por medio de una interfaz que permita la interacción entre el
usuario y los programas de Realidad Aumentada.
Glade ofrece una interfaz muy intuitiva para la creación de ventanas, en este caso,
se diseño una pequeña interfaz que ayude al usuario a comunicarse con la
aplicación de Realidad Aumentada, ya que para la ejecución de los programas se
debe hacer uso de interpretes de comandos desde una terminal, la idea de la
interfaz es facilitar el uso de la tecnología en Realidad Aumentada para que el
usuario final sólo disponga de una ventana de interacción para disponer de
software.
Glade sólo permite dibujar la interfaz, lo que indica que al tener la interfaz
terminada esta no realiza alguna acción o evento al pulsar algún botón; es aquí
donde interviene Python, en el cual mediante un archivo crea los eventos sobre la
interfaz creada en Glade, esto con el motivo de que Python tiene acceso a nivel de
terminal y puede interpretar scripts; en la Figura 22 es mostrado un diagrama de
bloques que facilita la interacción entre los software.
46
59. Capítulo 3. Integración del Proyecto TApir
Figura 22. Diagrama de bloques: Relación TApir, Python y Glade.
Para abarcar ampliamente la estructura de TApir y la relación con la Figura 22, a
continuación se desglosa su integración con el software:
Para que TApir se comunique con los algoritmos, primeramente fue necesario
compilarlos y crear un script que cargara las variables, para esto el script se
interpreta en bajo nivel en una terminal.
La función de Glade es la de proporcionar una interfaz, en donde, de forma simple,
sea posible ejecutar algoritmos de RA; para que este proceso se posible existe
una comunicación entre Python y Glade mejor conocida como conectar señales
[14], para que Python se sincronice con la interfaz de Glade hace falta definir
sobre Python que archivo de Glade se desee cargar y para ello la sintaxis
siguiente realiza ese proceso:
47
60. Capítulo 3. Integración del Proyecto TApir
localpath = path.expanduser("~/.TApir0.4beta/bin/interfaceT.Glade")
self.widgets = gtk.Builder()
self.widgets.add_from_file(localpath)
Las conexiones entre Python y Glade es mediante eventos sobre la interfaz de
Glade, la definición del evento que usa la interfaz de TApir es mediante el click del
mouse el código para conectar señales es el siguiente:
def on_button1_clicked(self, widget):
"Convert button"
popen("sh /home/$(whoami)/.TApir0.4beta/script/12.sh")
En el momento que se hace click sobre algún botón de la interfaz de Glade, el
evento click ejecuta bajo shell un script sh que contiene las variables de entorno
del programa y es así como despliega el algoritmo RA.
3.3. Compilación de programas
La compilación de las herramientas ARToolKit se elaboro bajo línea de comandos
con el compilador GCC, la estructura de datos de la ARToolKit fue modificada para
crear un algoritmo diferente al de las ARToolKit para proyecto TApir, pero el uso de
algoritmos de ARToolKit esta presente en el proyecto.
ARToolKit cuenta con archivos makefile para compilar los algoritmos, los makefile
guardan los comandos de compilación con todos los parámetros para encontrar
librerías, archivos de cabecera y demás archivos que el lenguaje C y C++ puedan
generar. Con el uso del makefile ya no es necesario escribir largas líneas de
compilación con sus respectivas opciones o, al menos, solo se ejecuta este
archivo y ahorra tiempo al momento de compilar programas robustos.
48
61. Capítulo 3. Integración del Proyecto TApir
El proyecto TApir comenzó la compilación de algoritmos de ARToolKit, pues esto
sería el corazón del proyecto, aunque surgieron inconvenientes en la compilación
la inclusión del los makefile en el sistema operativo facilito la manipulación de las
herramientas RA. Fue es necesario construir en una terminal el método de
compilación para la ARToolKit; para construir los makefile en línea de comando, se
debe ubicar la dirección absoluta del archivo y escribir el comando make el cual
busca y construye archivos makefile, una vez realizada esta acción en la terminal
se desplegaran códigos de compilación, los cuales generan archivos compilados
de la ARToolKit, para que después sean ejecutados para desplegar las
aplicaciones de RA.
3.4. Ejecución de programas
El programa simpletest.c referente a los ejemplos de la ARToolKit, fue el primer
algoritmo en ser compilado con herramientas make bajo una terminal, es por ello
que se modifico archivo makefile para que logrará satisfacer de forma eficaz la
creación del programa para la correcta compilación. Para compilar el programa
simpletest.c se necesita acceder a la carpeta en donde esta contenido y
posteriormente ejecutar el comando make como lo muestra la Figura 23, en la cual
se observa en la primera línea de la terminal la ubicación absoluta de la carpeta
que es /Escritorio/TApir/RA-algoritmos/simple; posteriormente es posible observar
el contenido de la carpeta en un color verde, esto con el motivo de ver los archivos
y de todo ellos el mas importante es el de llamado simpleTest.c; sobre la misma
imagen se puede ver que se ejecuta el archivo makefile con el comando make y
se puede observar la compilación del programa el cual se ha ejecutado de manera
correcta.
49