SlideShare una empresa de Scribd logo
1 de 116
Descargar para leer sin conexión
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
Í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
Í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
Í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
Í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
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
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
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
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
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
Capítulo 1. Antecedentes de la Realidad Aumentada




Capítulo 1.
Antecedentes de la
Realidad
Aumentada
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Capítulo 2. Proyecto TApir




Capítulo 2.
Proyecto TApir
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
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
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
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
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
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
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
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
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
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
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
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
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
Capítulo 3. Integración del Proyecto TApir




Capítulo 3.
Integración del
Proyecto TApir
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
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
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
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
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
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto

Más contenido relacionado

La actualidad más candente

INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...
INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...
INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...Falcão Brasil
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenBenjamin Glatzel
 
스켈레탈 메시 애니메이션 블루프린트
스켈레탈 메시 애니메이션 블루프린트스켈레탈 메시 애니메이션 블루프린트
스켈레탈 메시 애니메이션 블루프린트Soochan Park
 
Plan de ordenamiento territorial guaimaca
Plan de ordenamiento territorial guaimacaPlan de ordenamiento territorial guaimaca
Plan de ordenamiento territorial guaimacaRoberto Avila Escobar
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflectionBongseok Cho
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2ozlael ozlael
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Ki Hyunwoo
 
5_BARTHES_RETÓRICA DE LA IMAGEN.pdf
5_BARTHES_RETÓRICA DE LA IMAGEN.pdf5_BARTHES_RETÓRICA DE LA IMAGEN.pdf
5_BARTHES_RETÓRICA DE LA IMAGEN.pdfYayoMefui
 
Leaked google general guidelines for ads quality evaluation june 15 2011
Leaked google general guidelines for ads quality evaluation   june 15 2011Leaked google general guidelines for ads quality evaluation   june 15 2011
Leaked google general guidelines for ads quality evaluation june 15 2011Bitsytask
 
Análisis cartel
Análisis cartelAnálisis cartel
Análisis cartelacademica
 
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)Falcão Brasil
 
Los planos y la angulación
Los planos y la angulaciónLos planos y la angulación
Los planos y la angulaciónBeatriz Lison
 
Software Requirement Specification of Project
Software Requirement Specification of ProjectSoftware Requirement Specification of Project
Software Requirement Specification of ProjectArafat Zaman Anik
 
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...Falcão Brasil
 
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16Falcão Brasil
 

La actualidad más candente (20)

INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...
INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...
INSTRUÇÕES PROVISÓRIAS A VIATURA BLINDADA DE COMBATE - CARRO DE COMBATE M60 A...
 
Encuadre
EncuadreEncuadre
Encuadre
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
 
스켈레탈 메시 애니메이션 블루프린트
스켈레탈 메시 애니메이션 블루프린트스켈레탈 메시 애니메이션 블루프린트
스켈레탈 메시 애니메이션 블루프린트
 
Plan de ordenamiento territorial guaimaca
Plan de ordenamiento territorial guaimacaPlan de ordenamiento territorial guaimaca
Plan de ordenamiento territorial guaimaca
 
Screen space reflection
Screen space reflectionScreen space reflection
Screen space reflection
 
Geologia-Pereira consota.pdf
Geologia-Pereira consota.pdfGeologia-Pereira consota.pdf
Geologia-Pereira consota.pdf
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 
Pmdu compostela 2015
Pmdu compostela 2015Pmdu compostela 2015
Pmdu compostela 2015
 
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
Unreal Summit 2016 Seoul Lighting the Planetary World of Project A1
 
Manual programacion access
Manual programacion accessManual programacion access
Manual programacion access
 
5_BARTHES_RETÓRICA DE LA IMAGEN.pdf
5_BARTHES_RETÓRICA DE LA IMAGEN.pdf5_BARTHES_RETÓRICA DE LA IMAGEN.pdf
5_BARTHES_RETÓRICA DE LA IMAGEN.pdf
 
Leaked google general guidelines for ads quality evaluation june 15 2011
Leaked google general guidelines for ads quality evaluation   june 15 2011Leaked google general guidelines for ads quality evaluation   june 15 2011
Leaked google general guidelines for ads quality evaluation june 15 2011
 
Análisis cartel
Análisis cartelAnálisis cartel
Análisis cartel
 
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)
Manual Técnico de Lançamento Aéreo de Suprimento (EB60-MT-43.406)
 
Los planos y la angulación
Los planos y la angulaciónLos planos y la angulación
Los planos y la angulación
 
Software Requirement Specification of Project
Software Requirement Specification of ProjectSoftware Requirement Specification of Project
Software Requirement Specification of Project
 
The Spectre of Meltdowns
The Spectre of MeltdownsThe Spectre of Meltdowns
The Spectre of Meltdowns
 
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...
PROGRAMA-PADRÃO DE INSTRUÇÃO QUALIFICAÇÃO DO CABO E DO SOLDADO DE CAVALARIA P...
 
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16
MANUAL DE CAMPANHA BATERIA DE LANÇADORES MÚLTIPLOS DE FOGUETES C 6-16
 

Similar a Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto

Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoandramari_teleko
 
Diario Digital Opinasistemas
Diario Digital OpinasistemasDiario Digital Opinasistemas
Diario Digital OpinasistemasPedro Chavez
 
Servis desk ejemplo con ITIL
Servis desk  ejemplo con ITILServis desk  ejemplo con ITIL
Servis desk ejemplo con ITILCésar Ocampo
 
Manual supervivencia administracion_electronica
Manual supervivencia administracion_electronicaManual supervivencia administracion_electronica
Manual supervivencia administracion_electronicadomingosuarez
 
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...Universidad de San Buenaventura Medellín
 
Logica de programacion efrain oviedo
Logica de programacion efrain oviedoLogica de programacion efrain oviedo
Logica de programacion efrain oviedoJuan Gonzalo Quiroz
 
Lógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain OviedoLógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain Oviedosullinsan
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excelrfms07
 
Antecedentes Y Marco Teorico V2
Antecedentes Y Marco Teorico V2Antecedentes Y Marco Teorico V2
Antecedentes Y Marco Teorico V2Diego
 
Creacion mapasconceptuales
Creacion mapasconceptualesCreacion mapasconceptuales
Creacion mapasconceptualeslalitamarin
 
Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1Joel Palomino Silva
 
PROYECTO DE REDES - CONFIGURACION VPN
PROYECTO DE REDES - CONFIGURACION VPNPROYECTO DE REDES - CONFIGURACION VPN
PROYECTO DE REDES - CONFIGURACION VPNVictor Ramos Mercedes
 

Similar a Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TApir para Sistemas Operativos de Código Abierto (20)

Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellano
 
OpenGisSCADA
OpenGisSCADAOpenGisSCADA
OpenGisSCADA
 
Diario Digital Opinasistemas
Diario Digital OpinasistemasDiario Digital Opinasistemas
Diario Digital Opinasistemas
 
Manual de inf para negocios
Manual de inf para negociosManual de inf para negocios
Manual de inf para negocios
 
PST Manual de usuario
PST Manual de usuarioPST Manual de usuario
PST Manual de usuario
 
Servis desk ejemplo con ITIL
Servis desk  ejemplo con ITILServis desk  ejemplo con ITIL
Servis desk ejemplo con ITIL
 
Agrupación Empresarial Innovadora
Agrupación Empresarial InnovadoraAgrupación Empresarial Innovadora
Agrupación Empresarial Innovadora
 
Manual supervivencia administracion_electronica
Manual supervivencia administracion_electronicaManual supervivencia administracion_electronica
Manual supervivencia administracion_electronica
 
Dx riesgos químicos cualitativos
Dx riesgos químicos cualitativosDx riesgos químicos cualitativos
Dx riesgos químicos cualitativos
 
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...
Logica de-programacion-orientada-a-objetos-un-enfoque-basado-en-problemas cas...
 
Lógica y programación orientada a objetos:Un enfoque basado en problemas
Lógica y programación orientada a objetos:Un enfoque basado en problemasLógica y programación orientada a objetos:Un enfoque basado en problemas
Lógica y programación orientada a objetos:Un enfoque basado en problemas
 
Logica de programacion efrain oviedo
Logica de programacion efrain oviedoLogica de programacion efrain oviedo
Logica de programacion efrain oviedo
 
Lógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain OviedoLógica de Programacion. Efrain Oviedo
Lógica de Programacion. Efrain Oviedo
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excel
 
MGTI Café L'illo
MGTI Café L'illoMGTI Café L'illo
MGTI Café L'illo
 
Antecedentes Y Marco Teorico V2
Antecedentes Y Marco Teorico V2Antecedentes Y Marco Teorico V2
Antecedentes Y Marco Teorico V2
 
Creacion mapasconceptuales
Creacion mapasconceptualesCreacion mapasconceptuales
Creacion mapasconceptuales
 
Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1Openbravo manual-de-usuario-v1.1
Openbravo manual-de-usuario-v1.1
 
PROYECTO DE REDES - TEC. VPN
PROYECTO DE REDES - TEC. VPNPROYECTO DE REDES - TEC. VPN
PROYECTO DE REDES - TEC. VPN
 
PROYECTO DE REDES - CONFIGURACION VPN
PROYECTO DE REDES - CONFIGURACION VPNPROYECTO DE REDES - CONFIGURACION VPN
PROYECTO DE REDES - CONFIGURACION VPN
 

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
  • 39. Capítulo 2. Proyecto TApir Capítulo 2. Proyecto TApir
  • 40.
  • 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
  • 54.
  • 55. Capítulo 3. Integración del Proyecto TApir Capítulo 3. Integración del Proyecto TApir
  • 56.
  • 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