UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO         INSTITUTO DE CIENCIAS BÁSICAS E INGENIERÍA         ÁREA ACADÉMICA DE CO...
ÍndiceÍndice                                                                                                              ...
Índice                                                                                                                    ...
Índice                                                                                                                    ...
Índice                                                                                                                   P...
IntroducciónIntroducciónEste documento hace referencia a un sistema basado en RA (RealidadAumentada) llamado TApir, en el ...
Introduccióninvocar un algoritmo de RA con un click del mouse.El sistema mantiene un entorno austero pero de fácil compren...
IntroducciónDefinición del problemaEn la actualidad las nuevas tecnologías son el próximo eslabón para alcanzar unnivel ta...
IntroducciónJustificaciónGenerar una aplicación para mostrar Realidad Aumentada (RA) en sistemasoperativos de código abier...
Introducciónel proyecto, pero existen muchos otros métodos iguales de atractivos yfuncionales.Capítulo 4. Evaluación, Prue...
Capítulo 1. Antecedentes de la Realidad AumentadaCapítulo 1.Antecedentes de laRealidadAumentada
Capítulo 1. Antecedentes de la Realidad AumentadaRealidad Aumentada en inglés “Augmented Reality”, es un campo de investig...
Capítulo 1. Antecedentes de la Realidad AumentadaEn 1950 Morton Heilig escribió sobre un “Cine de Experiencia”, que lograr...
Capítulo 1. Antecedentes de la Realidad AumentadaA finales de los 80 se popularizó el término Realidad Virtual por Jaron L...
Capítulo 1. Antecedentes de la Realidad AumentadaEn 1999, Hirozaku Kato desarrolla ARToolKit [19] en elHitLAB de la Univer...
Capítulo 1. Antecedentes de la Realidad Aumentada1.1. DefinicionesLa Realidad Aumentada es el término que se usa para defi...
Capítulo 1. Antecedentes de la Realidad Aumentadade visión por computadora puede detectar los códigos de barras u otrascar...
Capítulo 1. Antecedentes de la Realidad Aumentada      Está registrada en 3D.Mientras que Paul Milgram y Fumio Kishino en ...
Capítulo 1. Antecedentes de la Realidad AumentadaEl desarrollo exitoso de la tecnología “HMDset” permitirá la reducción de...
Capítulo 1. Antecedentes de la Realidad Aumentadade realidad virtual. La primera consiste en la importación de aeronaves d...
Capítulo 1. Antecedentes de la Realidad AumentadaEl conjunto de herramientas de Realidad Aumentada ARGOS que se presentan,...
Capítulo 1. Antecedentes de la Realidad Aumentadarealidad aumentada” (Affine object representations for calibration-free a...
Capítulo 1. Antecedentes de la Realidad AumentadaFeiner afirma que estos sistemas tienen un enorme potencial para ciertasa...
Capítulo 1. Antecedentes de la Realidad Aumentadaterrestrial navigation”) hasta la fecha la Realidad Aumentada normalmente...
Capítulo 1. Antecedentes de la Realidad Aumentaday se puede utilizar para controlar telerobot de Australia de la página we...
Capítulo 1. Antecedentes de la Realidad Aumentadamétrica sobre los parámetros de calibración de la cámara o la ubicación s...
Capítulo 1. Antecedentes de la Realidad Aumentadaposibilidades creadas por las interfaces 3D. Se centra en clasificar las ...
Capítulo 1. Antecedentes de la Realidad Aumentada               Marketing. Esta tecnología permite una gran interactividad...
Capítulo 1. Antecedentes de la Realidad Aumentadaimplementación a un usuario, una herramienta en Realidad Aumentada que po...
Capítulo 1. Antecedentes de la Realidad Aumentadaintervención. Las tomografías podrían ser mas accesibles ya que el hardwa...
Capítulo 1. Antecedentes de la Realidad Aumentada1.4.4. SimulaciónMalkawi, A. Srinivasan, R. Jackson, B. y Yun Yi Kin Chan...
Capítulo 1. Antecedentes de la Realidad Aumentadaobjetivos o enviar y recibir órdenes precisas. Otra aplicación de utilida...
Capítulo 1. Antecedentes de la Realidad Aumentada1.4.7. Aplicaciones FuturasLa Realidad Aumentada puede tener más ejemplos...
Capítulo 1. Antecedentes de la Realidad Aumentadatecnología. Debido a esto, el futuro de la RA depende de si esos costos s...
Capítulo 1. Antecedentes de la Realidad AumentadaFigura 14. Centro de RA situada en el mundo ficticio de Star Trek.       ...
Capítulo 2. Proyecto TApirCapítulo 2.Proyecto TApir
Capítulo 2. Proyecto TApir2.1. Breve explicación sobre el desarrolloEs importante evaluar las aplicaciones de RA con la co...
Capítulo 2. Proyecto TApir            implementadas en ARToolKit.            Interpretar las librerías así como funciones ...
Capítulo 2. Proyecto TApirTApir utiliza el método de detección de marcos con el reconocimiento de losfudicial points ya qu...
Capítulo 2. Proyecto TApir      Se distribuye con código fuente completo.ARToolKit será la piedra angular para el desarrol...
Capítulo 2. Proyecto TApir          característicos pertenecientes a los marcadores de RA, los cuales          son cuadros...
Capítulo 2. Proyecto TApir             Cuando el símbolo coincide con la base del conocimiento, los valores             de...
Capítulo 2. Proyecto TApirsoftware es muy fácil y es muy fácil definir path para las dependencias ocabeceras de los algori...
Capítulo 2. Proyecto TApirpara que ciertos algoritmos de la ARToolKit logren interactuar de forma fluidasobre video en dir...
Capítulo 2. Proyecto TApir2.3.4. PythonEn el proyecto TApir se desea incluir una pequeña interfaz de usuario para facilita...
Capítulo 2. Proyecto TApir2.3.5. GladePara la parte del lienzo en donde se dibujarán los botones y se conectaran lasseñale...
Capítulo 2. Proyecto TApir                               Figura 19. Interfaz de Glade.2.3.6. VRMLVRML (sigla del inglés “V...
Capítulo 2. Proyecto TApirplug-in en el navegador web. En la Figura 20 esta el logo de VRML.La función de VRML en el proye...
Capítulo 2. Proyecto TApirlos últimos años el desarrollo de RA “markerless” esta madurando, añadiendo ungrado más a la inm...
Capítulo 3. Integración del Proyecto TApirCapítulo 3.Integración delProyecto TApir
Capítulo 3. Integración del Proyecto TApir3.1. Identificación de factoresPara concretar el proyecto TApir se tomó como pun...
Capítulo 3. Integración del Proyecto TApirdesarrollo rápido como Glade y Python para crear una pequeña interfaz de usuario...
Capítulo 3. Integración del Proyecto TApir                  Figura 22. Diagrama de bloques: Relación TApir, Python y Glade...
Capítulo 3. Integración del Proyecto TApir             localpath = path.expanduser("~/.TApir0.4beta/bin/interfaceT.Glade")...
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
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
Upcoming SlideShare
Loading in …5
×

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

2,414 views

Published on

Un proyecto realizado utilizando las ARToolKit para la RA, VRML para los modelos 3D y Python en conjunto con Glade para la interfaz.

source: http://ubuntuone.com/27ha7Ms6Wx5R145ZLjEHdn

soporte: ofstoneage@gmail.com

Published in: Investor Relations
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,414
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
91
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 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 SISTEMASHerramientas ARToolKit Implementadas en elProyecto 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. 2. ÍndiceÍndice PáginaIntroducción ............................................................................................................ IOrganización ........................................................................................................ IVCapí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 ............................................................................... 24Capí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
  3. 3. Índice PáginaCapí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 .................................................................................... 58Capítulo 4. Evaluación, Pruebas y Análisis de Resultados. ............................ 61 4.1. Pruebas TApir ................................................................................................ 63Capítulo 5. Conclusión y Aplicaciones Futuras................................................ 69 5.1. Conclusiones ................................................................................................. 71 5.2. Tendencias y problemas ................................................................................ 73Bibliografía y Referencias Electrónicas ............................................................ 75Glosario................................................................................................................ 81Apé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
  4. 4. Índice PáginaApéndice B. ........................................................................................................... ix B1. Acerca de TApir ................................................................................................xi B2. Algoritmos TApir .............................................................................................. xiiÍndice de FigurasFigura 1. Head Mounted Display (HMD) para RV y RA. ............................................ 3Figura 2. Sensorama "Cine de Experiencia”. ............................................................. 4Figura 3. Videoplace: un sistema de reconocimiento de movimientos y gestos. ....... 4Figura 4. Interacción virtual usando guantes y anteojos especiales. ......................... 5Figura 5. RA basada en el conocimiento para el mantenimiento asistido. ................ 5Figura 6. ARToolKit ejecutándose. ............................................................................. 6Figura 7. Logo con el slogan "cam on This is Augmented Reality". .......................... 6Figura 8. Dinosaurio RA, portal web "Museo del Jurásico de Asturias" ................... 20Figura 9. Tomografía cerebral con RA. .................................................................... 20Figura 10. Juego de tiro al blanco de la portátil 3DS. .............................................. 21Figura 11. Sistema de evaluación de partículas en movimiento. ............................. 22Figura 12. Desplegar información en aeronaves. .................................................... 23Figura 13. Visualizar productos armados de LEGO. ................................................ 23Figura 14. Centro de RA situada en el mundo ficticio de Star Trek.......................... 26Figura 15. Realidad Aumentada en telefonía celular. ............................................... 26Figura 16. Logo TApir. ............................................................................................. 29Figura 17. Estructura del reconocimiento de marcadores. ....................................... 32Figura 18 Logo Python............................................................................................. 37Figura 19. Interfaz de Glade. ................................................................................... 39Figura 20. Logo VRML. ............................................................................................ 39Figura 21. Marcadores para el uso de RA. .............................................................. 41Figura 22. Diagrama de bloques: Relación TApir, Python y Glade. ......................... 47
  5. 5. Índice PáginaFigura 23. Ejecución en terminal del comando make. .............................................. 50Figura 24. Archivo sh................................................................................................ 51Figura 25. Ejecución del programa simpletest.c. ...................................................... 52Figura 26. Efecto de umbral para identificar marcadores. ........................................ 52Figura 27. Posición del marcador. ............................................................................ 53Figura 28. Integración de modelos complejos sobre video en directo. ..................... 56Figura 29. Referencias indefinidas: simpletest.c. ..................................................... 58Figura 30. Gedit es el editor para crear un makefile................................................. 58Figura 31. Gedit mostrando un sh. ........................................................................... 60Figura 32. Reconocimiento de marcador usando el filtro umbral. ............................ 64Figura 33. Comparación entre software. .................................................................. 67Figura 34. Interfaz TApir. ........................................................................................... iiiFigura 35. Marcadores utilizados por TApir. .............................................................. iiiFigura 36. Ventana para crear un lanzador. ............................................................... vFigura 37. Terminar proceso usando una terminal. .................................................. viiFigura 38. Ventana Añadir al panel. ......................................................................... viiFigura 39. Forzar terminación. .................................................................................viiiFigura 40. Lanzador o acceso directo a TApir. .......................................................... xiFigura 41. Interfaz TApir. ........................................................................................... xiFigura 42. Ventana "Acerca de TApir". ..................................................................... xiiFigura 43. Programa simpletest.c............................................................................. xiiFigura 44. Piloto de la interfaz final y prueba de conexiones. ..................................xiiiFigura 45. Algoritmo RA que reconoce un patrón y renderiza un grillo. ...................xiiiFigura 46. Renderizado de 2 modelos sobre video en directo. ............................... xivFigura 47. Mosca incrustada sobre video en directo ............................................... xiv
  6. 6. IntroducciónIntroducciónEste documento hace referencia a un sistema basado en RA (RealidadAumentada) llamado TApir, en el cual se utilizó el lenguaje de programación C yC++ 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 desarrollarel proyecto en sistemas de código abierto es la flexibilidad del entorno; el sistemapretende ser implementado en diferentes equipos con diferencias marcadas enhardware, pero con el mismo software tanto en sistema operativo como condependencias.El sistema surge de la iniciativa de comprender los sistemas aumentados es pormi parte crear el nombre del proyecto y logotipo los cuales son atractivos para laaplicación; pero la piedra angular es el desarrollo, ya que fue necesario identificarlos componentes principales que integran el sistema para posteriormente utilizarlas herramientas ideales que resuelvan los problemas que lleguen a presentarse,de tal manera establecer las bases con la información recopilada y crear lasespecificaciones del sistema.El proyecto TApir es el resultado de un análisis que surge de varios software en elentorno RA como es el caso de AMIRE y ATOMIC; los cuales son programas deRA; el primero fue desarrollado en Visual Basic y el segundo en Java, ambosutilizan librerías ARToolKit al igual que TApir. Las herramientas ARToolKit son lamejor 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 losdiferentes sistemas operativos existentes.TApir esta integrado por varias herramientas, es evidente la presencia deARToolKit ya que es el alma del sistema, pero aun con ARToolKit solo es posiblelanzar los algoritmos desde una terminal con una robusta sintaxis; lo ideal esinvocar el algoritmo desde una interfaz para que un usuario logre visualizar elcontenido, y para ello se utilizo Python integrado a Glade además de scripts para I
  7. 7. Introduccióninvocar un algoritmo de RA con un click del mouse.El sistema mantiene un entorno austero pero de fácil comprensión con la principalcaracterística de ser un software demostrativo, pero que manifiesta de maneraconcreta diferentes algoritmos de la librería ARToolKit.Objetivo GeneralConocer y manejar aplicaciones de RA, ya que esta tecnología aun no es uncampo 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 aplicacionesvirtuales se ha masificado para diversos usos, métodos o procesos; se pretendeanalizar el uso y características que forman una aplicación de RA, mediante elanálisis y compilación de ARToolKit e implementar un desarrollo en donde seaposible 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
  8. 8. IntroducciónDefinición del problemaEn la actualidad las nuevas tecnologías son el próximo eslabón para alcanzar unnivel tanto intelectual como social; las tecnologías son necesarias para eldesarrollo de un país es por eso que la falta de construcción de nuevastecnologías afecta a un país, pero la construcción de estas contribuye al desarrollode la economía. Queda entendido que el desarrollo de tecnología es una forma defacilitar métodos o procesos a la sociedad.La Realidad Aumentada es una tecnología que ya está repercutiendo en lasociedad pero aún es un área de investigación y desarrollo, además, para que lasaplicaciones de Realidad Aumentada se logren ejecutar en medios informáticos esnecesario un hardware potente y dispositivos externos; sin embargo el principalproblema 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 unsistema operativo de código abierto como Linux, añadiendo que en la plataformadel sistema abierto es posible modificar fácilmente el entorno del escritorio adiferencia de Windows o MacOS.Es por ello que surge la iniciativa de evaluar la factibilidad de la creación de unainterfaz 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 RAcomo AMIRE o ATOMIC, aplicaciones que logran dar una perspectiva sobre RA deuna forma muy intuitiva hacia el usuario, pero además de crear el ambiente alusuario, es necesario conocer que procesos se están ejecutando y que recursosson necesarios para la vinculación entre hardware y software de la RA ensistemas abiertos. III
  9. 9. IntroducciónJustificaciónGenerar una aplicación para mostrar Realidad Aumentada (RA) en sistemasoperativos de código abierto (Ubuntu 9.04), mediante la modificación ycompilación de librerías ARToolKit, con la finalidad de aportar una herramientademostrativa de RA en sistemas opensource.La aplicación en conjunto pretende demostrar el concepto de herramientas RA ycaracterizar los conflictos que puedan surgir para la creación del proyecto en basea software; se pretende estudiar las distintas opciones a las que se puede accedersegún el nivel de hardware que se desee implementar.OrganizaciónLa estructura de este documento está organizada en cinco capítulos, dosapéndices y un apartado de referencias bibliográficas. La descripción de loscapítulos es la siguiente:Capítulo 1. Antecedentes de la Realidad Aumentada.- Se exponen losantecedentes de la RA, y se abordará en documentos sobre el estudio del arte deRealidad Aumentada y funcionamiento de la misma.Capítulo 2. Proyecto TApir.- En este capítulo se describe la creación del proyectoTApir y el análisis de requerimientos así como el software para el desarrollo de laaplicación.Capítulo 3. Integración del Sistema TApir.- Este apartado está dedicado aintroducir y explicar los aspectos teórico-prácticos que deben considerarse para larealización de una aplicación en RA. Es necesario mencionar que los métodos queaquí se presentan son los que el autor de este documento considero idóneos para IV
  10. 10. Introducciónel proyecto, pero existen muchos otros métodos iguales de atractivos yfuncionales.Capítulo 4. Evaluación, Pruebas y Análisis de Resultados.- Este capítulo presentalos resultados obtenidos al implementar las herramientas para la creación delsistema en RA.Capítulo 5. Conclusión y Aplicaciones Futuras.- consumación acerca de lastecnologías de RA así como respuesta al sistema implementado, además deincluir las tecnologías Futuras o propuestas de software en el área de RealidadAumentada.Referencias Bibliográficas y Electrónicas.- Fuentes de información de manos deexpertos, una colección de autores especializados en realidad aumentada, loscuales son comentados en este documento.Glosario.- Contiene palabras con su significado para facilitar el entendimiento deconceptos de este documento.Apéndice A. Manual de Usuario.- Esta sección se encarga de ayudar al usuariopara facilitarle el manejo de la herramienta desarrollada. Entre otros aspectos sedescriben las características de la interfaz, la estructura necesaria de los archivosde 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ágenesgeneradas con la herramienta TApir. V
  11. 11. Capítulo 1. Antecedentes de la Realidad AumentadaCapítulo 1.Antecedentes de laRealidadAumentada
  12. 12. Capítulo 1. Antecedentes de la Realidad AumentadaRealidad Aumentada en inglés “Augmented Reality”, es un campo de investigacióncomputacional que trata de combinar el mundo real con datos generados porcomputadora, a diferencia de la Realidad Virtual que trata de introducir al usuarioen un mundo simulado. El campo de estudio principal trata sobre integrarimágenes virtuales sobre video digitalmente procesado, para “aumentar” lapercepción del mundo real. Es necesario entender que la Realidad Virtual yRealidad Aumentada han ido prácticamente de la mano.El origen de la Realidad Aumentada es consecuencia directa de los estudiosgenerados por Ivan Sutherland, creador entre otras cosas de la primera interfazgráfica de usuario (GUI), padre del concepto mundo virtual y precursor de lamayoría de las interfaces de comunicación que hoy se conocen. Este hombre porsí solo merece un artículo, pero por ahora este documento solo se centrará en laidea 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 lacabeza o “Head Mounted Display“ también llamado “HMD” por sus siglas eninglés, para Realidad Virtual y Realidad Aumentada (ver Figura 1) era muyprimitivo en términos de Interfaz de usuario y realismo y el “HMD” usado por elusuario era tan grande y pesado que debía colgarse del techo, y los gráficos quehacían al ambiente virtual eran simples modelos de alambres [21]. Figura 1. Head Mounted Display (HMD) para RV y RA. 3
  13. 13. Capítulo 1. Antecedentes de la Realidad AumentadaEn 1950 Morton Heilig escribió sobre un “Cine de Experiencia”, que lograráacompañar a todos los sentidos de unamanera efectiva integrado al espectadorcon la actividad en la pantalla. Construyóun prototipo llamado Sensorama (verFigura 2) en 1962 el cual incluía cincofilmes cortos que permitían aumentar laexperiencia del espectador a través de sussentidos (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 sistemaque permitía a los usuarios interactuar con objetos. Dicho sistema no incluíasistemas informáticos, realmenteutilizaba tecnologías alternativas devídeo y sistemas de reconocimientode movimientos y gestos (verFigura 3) desarrollados por elmismo Kruege.Fue el primer artista que se centró Figura 3. Videoplace: un sistema deen la interactividad como un medio reconocimiento de movimientos y gestos.para composición creativa. Fue el pionero del desarrollo de la participacióninalámbrica y corporalmente integral en los experimentos de telecomunicaciónoriginados por computadora, y acuñó en 1973 el término "realidad artificial" paraaludir a las últimas manifestaciones de este tipo de tecnología. Ha recibido variospremios entre los que se puede destacar el primer Golden Nica del Prix ArsElectronic. Sus obras han tenido una gran difusión internacional, pasando pormuseos de arte, galerías y congresos científicos. 4
  14. 14. Capítulo 1. Antecedentes de la Realidad AumentadaA finales de los 80 se popularizó el término Realidad Virtual por Jaron Lanier, cuyacompañía fundada por él creó losprimeros guantes y anteojos con esposible ver en la Figura 4, los cualesservían para la interacción de laRealidad Virtual [20].Haciendo un pequeño salto hasta 1990,un investigador llamado Tom Caudell usóel término "Realidad Aumentada" paradescribir una pantalla que usarían lostécnicos electricistas de Boeing y que Figura 4. Interacción virtual usando guantes y anteojos especiales.mezclaba gráficos virtuales con larealidad física, este sistema les permitiría aumentar la eficiencia de su trabajo alfacilitarles de alguna forma la operación sobre las tareas a realizar. Caudell fuecontratado para encontrar una alternativa a los tediosos tableros de configuraciónde cables que utilizan los trabajadores. Salió con la idea de anteojos especiales ytableros virtuales sobre tableros reales genéricos, es así que se le ocurrió queestaba “aumentando” la realidad del usuario [33].Steven Feiner, Blair MacIntyre y Doree Seligmann en 1992 realizan la primerautilización importante de un sistema de Realidad Aumentada en un prototipollamado KARMA, presentado en unaconferencia y ampliamente citado en lapublicación “Communications of theACM” al siguiente año. El sistema ofrecíamantenimiento para impresoras sin lanecesidad de un técnico para realizarlo,en la Figura 5 se puede apreciar elsistema en ejecución. Figura 5. RA basada en el conocimiento para el mantenimiento asistido. 5
  15. 15. Capítulo 1. Antecedentes de la Realidad AumentadaEn 1999, Hirozaku Kato desarrolla ARToolKit [19] en elHitLAB de la Universidad de Washington, una de lasaplicaciones de software libre más potente hasta la fechapara la creación de aplicaciones en Realidad Aumentada.En la Figura 6 se muestra el potencial de estasherramientas.Desde entonces, el desarrollo de plataformas deaplicaciones de Realidad Aumentada no ha parado de Figura 6. ARToolKitcrecer y ha tenido especial relevancia en aplicaciones para ejecutándose.smartphones y móviles de última generación, con mejorassignificativas en la capacidad de procesamiento y en la calidad de las cámarasintegradas que permiten que las aplicaciones basadas en la Realidad Aumentadatengan cada vez mayor robustez.Para el año 2009 se crea el logo oficial de la Realidad Aumentada [5] con el fin deestandarizar la identificación de la tecnología aplicada en cualquier soporte omedio 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
  16. 16. Capítulo 1. Antecedentes de la Realidad Aumentada1.1. DefinicionesLa Realidad Aumentada es el término que se usa para definir una visión directa oindirecta de un entorno físico del mundo real, cuyos elementos se combinan conelementos virtuales para la creación de una realidad mixta a tiempo real. Consisteen un conjunto de dispositivos que añaden información virtual a la informaciónfísica ya existente, es decir, añadir una parte sintética virtual a lo real; la principaldiferencia con la realidad virtual, puesto que no sustituye la realidad física, sinoque sobreimprime los datos informáticos al mundo real. Con la ayuda de latecnología (por ejemplo, añadiendo la visión por computadora y reconocimiento deobjetos) la información sobre el mundo real alrededor del usuario se convierte eninteractiva y digital. La información artificial sobre el medio ambiente y los objetospueden ser almacenados y recuperados como una capa de información en la partesuperior de la visión del mundo real.La Realidad Aumentada explora la aplicación de imágenes generadas porcomputadora en tiempo real a secuencias de video como una forma de ampliar elmundo 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 laconstrucció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 decombinación de gráficos o de texto con imágenes del mundo real, esta es unacaracterística de la Realidad Aumentada, de la misma forma Barfield, Rosenberg yLotens en 1995 llegan a la misma definición. Feiner, MacIntyre, y Seligmann en1993 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 deinfrarrojos se puede colocar en un objeto de interés y una vez detectada por unreceptor de infrarrojos usado por una persona, la información sobre el objeto sepuede acceder a través de una base de datos y proyectarla directamente sobre elobjeto. Otros sistemas de sensores, tales como cámaras CCD, utilizando técnicas 7
  17. 17. Capítulo 1. Antecedentes de la Realidad Aumentadade visión por computadora puede detectar los códigos de barras u otrascaracterísticas de un objeto lo que permite la misma funcionalidad o aumento delconocimiento.Hay diferentes tipos de tecnologías de visualización portátil, que puede serutilizada para combinar los objetos del mundo real con imágenes generadas porcomputadora para formar una escena aumentada. Los dos tipos principales desistemas de pantallas de visualización de apoyo a las computadoras portátiles yde 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 laactualidad.Una de ellas fue dada por Ronald Azuma en 1997 [1]. La definición de Azuma diceque la Realidad Aumentada: Combina elementos reales y virtuales. Es interactiva en tiempo real. 8
  18. 18. Capítulo 1. Antecedentes de la Realidad Aumentada Está registrada en 3D.Mientras que Paul Milgram y Fumio Kishino en su investigación “VirtualityContinuum” [28] la describen como un continuo que abarca desde el entorno real aun entorno virtual puro. En medio hay Realidad Aumentada (más cerca del entornoreal) y Virtualidad Aumentada (está más cerca del entorno virtual).Recientemente, el término Realidad Aumentada se ha difundido por el crecienteinterés del público en general.1.2. IEEE: Realidad AumentadaLas investigaciones en Realidad Aumentada tiene sus primeras aportacionesdesde 1992 de acuerdo con los registros de la IEEE; a continuación se describenalgunos proyectos, prototipos y aplicaciones en Realidad Aumentada.En el documento llamado “La Realidad Aumentada: una aplicación sobre latecnología de pantallas de visualización frontal para los procesos de fabricaciónmanual” (Augmented reality: an application of heads-up display technology tomanual manufacturing processes) se pretende utilizar pantallas de visualizaciónlas cuales puedan ser operadas con el movimiento de la cabeza con el diseño ycreación de prototipos mediante la implementación de “heads-up” (pantalla devisualizació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 unsistema de registro del mundo real, esta tecnología permite a la computadoraestablecer un diagrama que superpone y estabiliza en una posición específica unobjeto del mundo real. 9
  19. 19. Capítulo 1. Antecedentes de la Realidad AumentadaEl desarrollo exitoso de la tecnología “HMDset” permitirá la reducción de costos ymejoras de la eficiencia en muchas de las operaciones humanas que intervienenen la fabricación de aeronaves, mediante la eliminación de las plantillas,diagramas, y otros dispositivos de enmascaramiento. El desarrollo de estatecnología aun trae consigo problemas en el reconocimiento del movimiento decabeza así como las coordenadas precisas de los objetos con los que se va ainteractuar [9].“Mundos virtuales para la visualización de la información” (Virtual worlds forvisualizing information) es un documento de Feiner S, en donde se crean mundosvirtuales con entornos generados por computadora creados por muestra deacoplamiento en 3D y dispositivos de interacción para estaciones de trabajo congráficos de gran alcance.Feiner comenta sobre el diseño de mundos virtuales que se están llevando a cabopor el equipo de Columbias Computer Graphics y User Interfaces Group Two; delos temas principales de la investigación de este grupo son la explotación de unaverdadera interacción en 3D y dispositivos de pantalla para visualizar y manipularlos espacios ricos en información, además del uso de técnicas de inteligenciaartificial para automatizar la generación de gráficos.Los proyectos de discusión son: dirección de los mundos virtuales para lavisualización de datos multivalentes, interfaces de usuario híbridos que combinan2D y 3D, dispositivos de interacción y realidad aumentada en el que se anota unmundo circundante físico con gráficos en 3D basados en el conocimiento. Laintegración de realidades es evidente y la exploración en RA solo era hipotéticapuesto 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) trabajorealizado por Mizell, D.W, el autor está trabajando en dos proyectos deinvestigación en “Boeing Computer Services” que tienen que ver con la tecnología 10
  20. 20. Capítulo 1. Antecedentes de la Realidad Aumentadade realidad virtual. La primera consiste en la importación de aeronaves de datosCAD en un entorno de realidad virtual. Las aplicaciones incluyen una amplia partede las actividades de ingeniería y diseño, todo lo cual implica ser capaz de ver einteractuar con la geometría CAD como si uno estuviera dentro de una maquetafí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 lamanofactura: la superposición de diagramas o texto sobre la superficie de unapieza de trabajo y la estabilización de coordenadas determinadas, de modo que lainformación adecuada que necesita un trabajador de una fábrica para cada pasode una operación de fabricación o montaje aparece en la superficie de la piezacomo si estuviera pintado en ella.El problema más difícil de la Realidad Aumentada es el seguimiento delmovimiento, posición a largo plazo y sistemas de detección de la orientación espor ello que no pueda funcionar en ambientes como una fábrica. Este requisito yotros dan lugar a algunos problemas computacionales interesantes, como usuariode registro y detección de posición mediante el procesamiento de imágenes [26].El proyecto titulado “Telerobot controlado con Realidad Aumentada” (Teleroboticcontrol using augmented reality) por Milgram, P. Rastogi, A. Grodski, J.J sepropone una taxonomía para la clasificación de control humano mediado de lossistemas de manipulación a distancia, basado en tres dimensiones: el grado deautonomí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 ciertosambientes no estructurados el modelo resulta ser un tanto difícil, un caso que sehaga para la manipulación a distancia por medio del director y de control delagente, en lugar de telepresencia. 11
  21. 21. Capítulo 1. Antecedentes de la Realidad AumentadaEl conjunto de herramientas de Realidad Aumentada ARGOS que se presentan,como un medio para reunir información cuantitativa de entrada, de formainteractiva a la creación de un modelo parcial de un sitio de trabajo de formaremota en vista 3D. Esta información se utiliza para que la programación fuera delí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 controlmandando respuesta al operador de su posición [27].Por otro lado en el documento titulado “Dinámica de corrección de registro en lossistemas de video basados en la Realidad Aumentada” (Dynamic registrationcorrection in video-based augmented reality systems) Bajura, M. Neumann, Ucomienza a definir y pulir el concepto de RA: los sistemas de Realidad Aumentadapermiten a los usuarios interactuar con objetos reales y generados porcomputadora, mostrando objetos 3D virtuales en el entorno natural de un usuario.Las aplicaciones de esta potente herramienta de visualización incluyen una vistaprevia propuesta de los edificios en su entorno natural, interactuando conmaquinaria pesada para los propósitos de la construcción o de formación demantenimiento, y la visualización de los datos médicos de pacientes, tales como elultrasonido. En todas estas aplicaciones, los objetos generados por computadoradeben ser visualmente registradas con respecto a los objetos del mundo real encada imagen que ve el usuario.Si la aplicación no mantiene un registro preciso, los objetos generados porcomputadora pueden parecer que flotan en el ambiente natural del usuario, sintener una determinada posición en el espacio 3D. EL error de registro parece serel desplazamiento observado en la imagen entre las posiciones reales y el destinode los objetos virtuales [2].El problema de lograr ubicar los objetos de la realidad y mezclarlos con losvirtuales se ha vuelto el principal problema es por eso que en la investigaciónllamada “Representaciones de objetos afines por detección de marcos para 12
  22. 22. Capítulo 1. Antecedentes de la Realidad Aumentadarealidad aumentada” (Affine object representations for calibration-free augmentedreality) trabajo realizado por Kutulakos, K.N. Vallino, J, se describe el diseño eimplementación de un sistema de vídeo basado en Realidad Aumentada capaz desuperponer tres objetos gráficos tridimensionales en video en vivo de entornosdinámicos. La característica clave del sistema es que está completamentedescalibrado: no utiliza ningún tipo de información métrica sobre los parámetros decalibración de la cámara o la ubicación 3D ni en las dimensiones de los objetos delentorno.El único requisito es la capacidad de Rastrear a través de marcos por lo menoscuatro puntos característicos, los cuales son especificados por el usuario entiempo de inicialización del sistema y cuyas coordenadas del mundo sondesconocidos. Este enfoque se basa en la siguiente observación: dado unconjunto de cuatro o más puntos 3D escalonados y la proyección de todos lospuntos en el conjunto, se puede calcular como una combinación lineal de lasproyecciones de sólo cuatro de los puntos.Aprovechado esta observación: las líneas de seguimiento y fudicial points en lavelocidad de fotogramas, la representación de objetos virtuales en una línea noeuclidiana, contado con la continuidad en el marco de referencia que permite haciala proyección una aproximación como una combinación lineal de la proyección delos fudicial points. Ahora ya no depende de realizar cálculos o reconocer todo elentorno ya que haciendo la detección de marcos, mediante el uso de puntoscaracterí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 eldocumento “Adición de conocimiento a través de la animación en la realidadaumentada” (Adding insight through animation in augmented reality) Feiner, S.Khace un análisis a la mayoría de los sistemas de realidad virtual que han sidopublicados en los últimos diez años y revela que el uso del casco virtual bloquea alusuario del mundo real y la manera más eficaz de inmersión en un entorno desíntesis es la RA. 13
  23. 23. Capítulo 1. Antecedentes de la Realidad AumentadaFeiner afirma que estos sistemas tienen un enorme potencial para ciertasaplicaciones que van desde juegos de video hasta la investigación científica. Porotra parte, la creencia de que los mundos virtuales más potentes y comunes enun 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 IvanSutherland, quien, hace más de un cuarto de siglo, desarrolló el primer cascovirtual. Sutherland, cuando termino su sistema, presentaba gráficos al usuario enun par de pantallas estéreo, que el usuario llevaba en la cabeza. La imagenproducida por la muestra se combinó con la opinión del usuario del mundo ydivisores de haz de espejo. Su sistema de seguimiento 3D determinaba la posicióny orientación de la cabeza del usuario. Esto permitió al sistema cambiar el puntode 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 RealidadAumentada y computadoras portátiles” (An optical tracker for augmented realityand wearable computers) Kim, D. Richards, S.W. Caudell, T.P que expone dentrode su documento que la realidad aumentada proporciona a trabajadores de fábricay a personal laboral y contacto con la información visual superpuesta a la célula detrabajo 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 queoperan en un entorno muy ruidoso. En el documento se describe un prototipo desistema 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 conjuntode ubicación fija y balizas ópticas, que potencialmente pueden cumplir estosrequisitos [17].Thomas, B. Demczuk, V. Piekarski, W. Hepworth, D. Gunther, B desarrollan unsistema informático portátil con la Realidad Aumentada para apoyar la navegaciónterrestre (“A wearable computer system with augmented reality to support 14
  24. 24. Capítulo 1. Antecedentes de la Realidad Aumentadaterrestrial navigation”) hasta la fecha la Realidad Aumentada normalmente seopera sólo en una pequeña área definida. Este documento informa la investigaciónsobre la expansión de Realidad Aumentada para ambientes al aire libre.El proyecto consiste en proporcionar ayudas visuales para la navegación a losusuarios. 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 unatarea de orientación estándar. En el artículo se reportan los resultados de unaserie de ensayos utilizando un equipo fuera de la plataforma portátil, equipado conun 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 puntosde vista monoscópica” (Augmented reality in Internet telerobotics using multiplemonoscopic views) Friz, H. Elzer, P. Dalton, B. Taylor, K crean Usher, un interfazde usuario para un telerobot de Internet que se ha desarrollado. En la interfaz sesuperponen varias imágenes monoscópicas (imágenes proporcionadas por undisplay en las que el usuario sólo dispone de entradas de profundidadmonoculares) del medio ambiente del robot con una visualización de tresdimensiones con 5 grados de libertad. El operador arrastra los elementos de lavisualización de imágenes a un dispositivo de señalización adicionales paraobtener claves de profundidad, el tamaño de la medida, la ubicación y orientaciónde los objetos.Friz, H. Elzer, P. Dalton, B. Taylor, K describen el diseño de la interfaz desde laperspectiva de la interacción humano-computadora. El diseño de la interfaz deusuario ha sido desarrollado mediante la aplicación del enfoque ecológico de lapercepción visual a una visualización de datos de los 5 grados de libertad. Estolleva a una estructura simple similar a un palillo, que se puede utilizar paraespecificar una pose en el espacio 3D utilizando solamente dispositivos de entradade dos dimensiones. La interfaz de usuario se implementa como un applet de Java 15
  25. 25. Capítulo 1. Antecedentes de la Realidad Aumentaday se puede utilizar para controlar telerobot de Australia de la página web enhttp://telerobot.mech.uwa.edu.au/ [12].“Sistemas de Realidad Aumentada para aplicaciones médicas” (Augmented realitysystems for medical applications) Son-Lik Tang, Chee-Keong Kwoh, Ming-YeongTeo Ng Wan Sing y Keck-Voon Ling aportan sobre la realidad aumentadaaclarando que es una tecnología en la que se superpone una imagen generadapor computadora en la visión del usuario del mundo real, dando al usuarioinformación adicional generada por el modelo de computadora. Esta tecnología esdiferente de la realidad virtual, en el que se sumerge al usuario en un mundovirtual generado por la computadora. Por el contrario, el sistema RA acerca el"mundo" de los usuarios al aumentar el entorno real con objetos virtuales. Usandoun sistema de RA, la vista del usuario del mundo real es mayor. Esta mejorapuede ser en forma de etiquetas, modelos en 3D prestados, o las modificacionessombra.Son-Lik Tang, Chee-Keong Kwoh, Ming-Yeong Teo, Ng Wan Sing y Keck-VoonLing revisan algunas de las investigaciones con los sistemas de RA, lasconfiguraciones de sistema básicos, los enfoques de registro de la imagen y losproblemas técnicos relacionados con la tecnología RA que son la luz y el grado decalibración libre en el ambiente. También menciona algunos requisitos para unsistema de RA intervencionista, que puede ayudar a los cirujanos mediante la guíade un plan quirúrgico en un sistema aumentado [32].El método de reconocimiento de fudicial points de Kutulakos, K.N. Vallino, J.Ragrega el uso de marcos para la orientación, en el documento “Calibration-freeaugmented reality” (Detección de marcos para la Realidad Aumentada) hastaahora han tenido en cuenta los requisitos necesarios para la superposición deobjetos gráficos en tres dimensiones sobre vídeo en directo.Se describe un nuevo enfoque de la Realidad Aumentada de vídeo basado en queevita los requisitos que en 1992 se trazaron: no utiliza ningún tipo de información 16
  26. 26. Capítulo 1. Antecedentes de la Realidad Aumentadamétrica sobre los parámetros de calibración de la cámara o la ubicación sobre lasdimensiones de los objetos del entorno 3D. El único requisito es la capacidad derastrear a través de marcos, al menos cuatro fudicial points que son especificadospor el usuario durante la inicialización del sistema y cuyas coordenadas del mundoson desconocidos.El enfoque de Kutulakos se basa en la siguiente observación: dado un conjunto decuatro o más puntos no coplanares 3D, la proyección de todos los puntos en elconjunto se puede calcular como una combinación lineal de las proyecciones desólo cuatro de ellos. Aprovechando esta observación: las regiones de seguimientoy el color de los fudicial points en la velocidad de fotogramas, y que representanobjetos virtuales en un no euclidiana, contado con la continuidad de referencia quepermite su proyección, se calcula como una combinación lineal de la proyecciónde los fudicial points.Los resultados experimentales en dos sistemas de Realidad Aumentada, basadaen un monitor y una cabeza montada, demuestran que el enfoque es fácilmenterealizable, impone un mínimo de requisitos de cómputo y hardware además deejecutarse en tiempo real, incluye vídeo que se superpone incluso cuando losparámetros de la cámara varían dinámicamente [18].DiVerdi, S. Nurmi, D. Hollerer, T presenta el documento “Un marco genérico paralas aplicaciones de interacción en entornos 3D y RA” originalmente llamado “Aframework for generic inter-application interaction for 3D AR environments”. Elframe o cuadro en español, se construye dentro de una ventana en torno a lasherramientas ARToolKit. La interfaz ofrece a los usuarios un mecanismo visualsimple para establecer comunicaciones entre las aplicaciones de un modogenérico.La interfaz que ofrece DiVerdi, S. Nurmi, D. Hollerer está diseñada para facilitar eldesarrollo 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
  27. 27. Capítulo 1. Antecedentes de la Realidad Aumentadaposibilidades creadas por las interfaces 3D. Se centra en clasificar las funcionesde las aplicaciones de estas interacciones, que sirva para orientar el desarrollo.Finalmente, se discuten las posibilidades futuras de las aplicaciones einteracciones dentro de ese frame [7].Existen aportaciones importantes de la RA como lo es el software pero sobre estedestacan los métodos y técnicas que se emplean para la misma, las cuales sondiversas y cada una contiene su grado de complejidad, así como su lógica encuanto a resolver la detección de formas e incrustar objetos a la realidad, enprincipio parece ser que la RA simple, pues a algunas personas no se les hacemuy diferente a los efectos de cine o televisión, pero no es así la RA no es unatarea fácil los procesos que se necesitan son muy elevados computacionalmentehablando, 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 necesidadde algún editor o postproducción ya que todo se hace en tiempo real, pero aun consoftware con aportaciones importantes las aplicaciones son visualizadas endispositivos externos, aunque los diversos componentes son necesarios, el efectoque logra la RA es muy impresiónate a pesar la interacción con pantallas.1.3. Ventajas y desventajas de la RealidadAumentadaVentajas: 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
  28. 28. 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. AplicacionesLa Realidad Aumentada ofrece infinidad de nuevas posibilidades de interacción,las cuales hacen que esté presente en muchos y varios ámbitos, como son laarquitectura, el entretenimiento, la educación, el arte, la medicina por mencionaralgunos.1.4.1. Proyectos educativosLa idea básica de la Realidad Aumentada es superponer objetos virtuales en milesde 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
  29. 29. Capítulo 1. Antecedentes de la Realidad Aumentadaimplementación a un usuario, una herramienta en Realidad Aumentada que podríaservir como un laboratorio virtual interactivo.El objetivo de la investigación de Zagoranski es implementar este sistema en losprocesos educativos.La página del “Museo del Jurásico de Asturias” ofrece una serie de recursos enrealidad aumentada donde esposible observar un dinosaurio elcual se mueve, ruge, cambia laperspectiva desde la que se leobserva y la cuenta con la posibilidadde controlar sus movimientos con elteclado, en la Figura 8 se puede verun dinosaurio del portal web. Figura 8. Dinosaurio RA, portal web "Museo del Jurásico de Asturias"1.4.2. MédicasLa aplicación de Realidad Aumentada en operaciones permitirá al cirujanosuperponer datos visuales como por ejemplo tomografías o la delimitación de losbordes limpios de un tumor, invisibles a simple vista, tal como se muestra en laFigura 9, minimizando el impactode la cirugía de acuerdo a losinvestigadores Son-Lik Tang,Chee-Keong Kwoh, Ming-YeongTeo, Ng Wan Sing y Keck-VoonLing.La RA superpone en tiempo realla reconstrucción 3D de las Figura 9. Tomografía cerebral con RA.estructuras internas del paciente sobre vídeo en directo, además suponereducción de costos [22] (entre 1000 y 5000 dólares) y reducción en el tiempo de 20
  30. 30. Capítulo 1. Antecedentes de la Realidad Aumentadaintervención. Las tomografías podrían ser mas accesibles ya que el hardware esde menor costo que los equipos médicos.1.4.3. EntretenimientoLyu, M.R. King, I. Wong, T.T. Yau, E y Chan, P.W. [23] Comentan que la tecnologíapara la composición digital de la animación con escenas reales, es traer unanueva experiencia de entretenimiento digital a los espectadores. La realidadaumentada es una forma de interacción hombre-máquina. La característica de latecnología de RA es presentar información auxiliar en el campo de visión de unindividuo de forma automática sin intervención humana.El efecto es similar a la composición por procesamiento digital de imágenesanimadas con escenas reales. Para conseguir una nueva experiencia de realidadaumentada, los autores apoyan la creación de aplicaciones de RA para elentretenimiento. Por otra parte, también están desarrollando nuevas formas deseguimiento de marcadores más definidos, como por ejemplo el reconocimiento decabeza la humana y el seguimiento de la cara.Nintendo ha desarrolladoaplicaciones con fines deentretenimiento para su consolaportátil 3DS [29], las posibilidadesvan desde mostrar cubos hasta unjuego de disparos en donde seinteractúa con movimiento y loscuadros de RA, en la Figura 10 sepuede ver el juego de tiro al blanco. Figura 10. Juego de tiro al blanco de la portátil 3DS. 21
  31. 31. Capítulo 1. Antecedentes de la Realidad Aumentada1.4.4. SimulaciónMalkawi, A. Srinivasan, R. Jackson, B. y Yun Yi Kin Chan [24] desarrollan unsistema de Realidad Aumentada al que se le integró, con un motor de simulaciónpara facilitar la manipulación de datos y aumentar el control del medio ambienteenvolvente 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 seutiliza para predecir los ambientes interiores y evaluar su respuesta adeterminadas condiciones internas yexternas, en la Figura 11 se puedeapreciar el registro de partículasvirtuales y objetos gráficos en elespacio real. Para facilitar lamanipulación de datos de maneraeficiente, la simulación deprocesado de datos aumenta lafacilidad de control del medio Figura 11. Sistema de evaluación de partículas enambiente envolvente. movimiento.Un sistema de reconocimiento de gestos se integró con la realidad aumentadapara transformar la estructura de los datos en una descripción generada a travésde 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 lasinteracciones entre los usuarios y el simulador.1.4.5. MilitarEn el campo militar [11], es posible desplegar información de mapas, localizaciónde los enemigos también la posibilidad de tener controlada en todo momento laposición de sus compañeros, consultar mapas del terreno, calcular y adjudicarse 22
  32. 32. Capítulo 1. Antecedentes de la Realidad Aumentadaobjetivos o enviar y recibir órdenes precisas. Otra aplicación de utilidad es para losaviones de combate, sobre el parabrisas se proyecta toda la información necesariapara el piloto ver Figura 12, quese superpone sobre la vistahacia el exterior, esto permiteseguir simultáneamente lo queocurre en el exterior del avión ytener a la mano los indicadoresdel avión sin desviar la mirada. Figura 12. Desplegar información en aeronaves.1.4.6. PublicidadExisten diferentes campañas publicitarias que utilizan este recurso para llamar laatención del cliente. Una de estas es el desarrollo de un sistema de marketingpara el E-commerce [6]. El sistema consta de un conjunto de señales especialesademás de la capacidad para calibrar una cámara y seguir el movimiento demarcadores para presentar modelos de productos de ropa y accesorios. No hayningún hardware especial requerido para este sistema, excepto una cámara paraPC.La compañía LEGO [25] también utiliza RA para sus productos, lego pensó endarle al comprador una perspectiva mas elaborada de su producto, de tal maneraque, implemento en tiendas una pantallaen donde un cliente muestra la caja deLEGO y sobre esta se visualiza unmodelo del producto armado ver Figura13, aunque en la caja hay una imagen delproducto armado, con la RA es posibleobservarlo en diferentes ángulos yperspectivas haciendo mas llamativo eincitando a su compra. Figura 13. Visualizar productos armados de LEGO. 23
  33. 33. Capítulo 1. Antecedentes de la Realidad Aumentada1.4.7. Aplicaciones FuturasLa Realidad Aumentada puede tener más ejemplos de modelos informáticos delugares y sonidos relacionados con la realidad física, así como determinar lasituación exacta de cada usuario, y ser capaz de mostrar al usuario unarepresentación realista del entorno que se ha añadido virtualmente. Es muyimportante determinar la orientación y posición exacta del usuario, sobre todo enlas aplicaciones que así lo requieran: uno de los retos más importantes a la horade desarrollar proyectos de Realidad Aumentada son los elementos visuales yaque deben estar coordinados a la perfección con los objetos reales, puesto que unpequeño error de orientación puede provocar un desalineamiento perceptible entrelos 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 afectadosgravemente por campos magnéticos, y por lo tanto se ha de intentar reducir almáximo este efecto. Sería interesante que una aplicación de Realidad Aumentadalograra localizar elementos naturales (como árboles o rocas) que no hubieran sidocatalogados previamente, sin que el sistema tuviera que tener un conocimientoprevio del territorio.Como reto a largo plazo es posible sugerir el diseño de aplicaciones en los que laRealidad Aumentada fuera un poco más allá, de lo que es llamado "RealidadAumentada retroalimentada", esto es, que la "descoordinación" resultante del usode sensores de posición/orientación, fuera corregida midiendo las desviacionesentre las medidas de los sensores y las del mundo real. Imagina un sistema deRealidad Aumentada que partiendo de pares de imágenes estéreo obtenidas dedos 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
  34. 34. Capítulo 1. Antecedentes de la Realidad Aumentadatecnología. Debido a esto, el futuro de la RA depende de si esos costos se puedenreducir de alguna manera. Si la tecnología RA se hace asequible, podría ser muyamplia, pero por ahora las principales industrias son los únicos compradores quetienen la oportunidad de utilizar este recurso. En el futuro podríamos encontraraplicaciones 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
  35. 35. Capítulo 1. Antecedentes de la Realidad AumentadaFigura 14. Centro de RA situada en el mundo ficticio de Star Trek. Figura 15. Realidad Aumentada en telefonía celular. 26
  36. 36. Capítulo 2. Proyecto TApirCapítulo 2.Proyecto TApir
  37. 37. Capítulo 2. Proyecto TApir2.1. Breve explicación sobre el desarrolloEs importante evaluar las aplicaciones de RA con la construcción de unaherramienta que logre acercar al conocimiento de esta tecnología además decaracterizar que problemas pueden surgir al desarrollarla. Es por esto que surge lainiciativa de desarrollar el proyecto TApir; el proyecto pretende alcanzar lastecnologías de aumento del conocimiento con la creación de un softwaredemostrativo el cual pueda vincular la RA y elusuario final, la aplicación requiere demostrarlos diferentes algoritmos de la libreríaARToolKit; con la finalidad de que eldesarrollo desemboque como un software deRA, 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 “Tapirs Flown Away” de la bandade Noise Japonés Melt Banana, fue por esta canción y por una parte de la letraque 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; quees lo que la RA representa 50% es la realidad y el otro 50% es lo virtual; y parahacer más atractivo el nombre se colocaron las dos primeras letras en mayúsculalas 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
  38. 38. 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 elproyecto culminara como TApir, hay que destacar que en principio el proyecto notenia nombre, pero una vez que fue tomando bases decidí tomar en serio elproyecto para plasmar al final una aplicación, que aunque austera, formara partede los entornos de RA.El desarrollo e implementación de la herramienta en RA pretende generarantecedentes para programadores, diseñadores gráficos y desarrolladores en elcampo de la realidad virtual que en un futuro contemplen realizar y/o enfocarse enla tecnología o herramientas de RA; la cual se encuentra en crecimiento como unaforma alterna para la realidad virtual ya que amplifica el nivel de interacción con elusuario, además, de lograr el grandioso efecto de mezclar objetos en 3D con larealidad.Es por ello que por medio de un análisis de las herramientas y/o aplicaciones deesta tecnología se planea desarrollar un entorno de RA en donde se logreinteractuar con estas aplicaciones, usando herramientas graficas así como ladisposición de hardware que permita el buen desarrollo del proyecto.Para el desarrollo del proyecto, el sistema operativo en el que se elabore nodepende mucho ya que es posible compilar las herramientas de RA en cualquiersistema operativo, puesto que se usarán las librerías ARToolKit, pero estasituación no es igual con en el hardware ya que el rendimiento de loscomponentes dependen mucho para la realización de una aplicación de RA. 30
  39. 39. Capítulo 2. Proyecto TApirTApir utiliza el método de detección de marcos con el reconocimiento de losfudicial points ya que es la mejor opción para desarrollar una herramienta de estetipo, además de que la ARToolKit contiene de ante mano este método; el proyectoes la suma de software tanto de diseño como de desarrollo, la modularidad fue laclave para concretar el sistema; a continuación se describen las herramientas quese utilizaran para el proyecto TApir.2.2. ARToolKitARToolKit es una biblioteca de software para la creación de aplicaciones deRealidad Aumentada. Estas aplicaciones implican la superposición de imágenesvirtuales en el mundo real.Una de las principales dificultades en el desarrollo de aplicaciones de RealidadAumentada es el problema de seguimiento del punto de vista de los usuarios, conel fin de saber qué punto de vista tiene el usuario, para dibujar las imágenesvirtuales frente a él, la aplicación necesita saber dónde está el usuario en elmundo real, ARToolKit utiliza algoritmos de visión por computadora para resolvereste problema, las bibliotecas de video ARToolKit calculan la posición de lacámara y orientación relativa a los marcadores en tiempo real. Esto permite unfá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
  40. 40. 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 suflexibilidad y fácil acceso es posible utilizarla, además su código fuente es abiertodejando 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
  41. 41. 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
  42. 42. 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 softwareLas herramientas ARToolKit pueden compilarse en casi todas las distribuciones desistemas operativos existentes, es por eso que para el desarrollo del proyectoTApir, 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 laadministración del entorno del sistema a diferencia de otros sistemas operativosen donde la modificación del sistema es muy complicada o inaccesible, además enestos sistemas es necesario instalar software privativo y existen diversas opcioneso versiones para compilar programas, algo útil pero tedioso, ya que, puede serdifícil compilar las herramientas debido a la variedad de librerías y dependencia delas ARToolKit y es fácil perderse si no se define de manera correcta el path dereferencias en sistemas como Windows o MacOS, en el sistema abierto el instalar 34
  43. 43. Capítulo 2. Proyecto TApirsoftware es muy fácil y es muy fácil definir path para las dependencias ocabeceras de los algoritmos de RA.2.3.1. OpenCVOpenCV (por sus siglas en ingles “Open Source Computer Vision”) es unabiblioteca de funciones de programación para la visión por computadora en tiemporeal.OpenCV es liberado bajo una licencia BSD, es gratuito tanto para uso académicocomo comercial. Fue originalmente escrito en C, pero consta de una completainterfaz en C++ y todos los nuevos desarrollos se encuentran en este últimolenguaje. También cuenta con una interfaz en Python. La biblioteca cuenta conmás de 2000 algoritmos optimizados. Se utiliza en todo el mundo y susaplicaciones van desde el arte interactivo, a la inspección de minas, construirmapas en la web a través de la robótica avanzada, entre muchas otrasaplicaciones y áreas.OpenCV resuelve un gran número de problemas relacionados con laentrada/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
  44. 44. Capítulo 2. Proyecto TApirpara que ciertos algoritmos de la ARToolKit logren interactuar de forma fluidasobre video en directo.2.3.2. GLUTGLUT (del inglés “OpenGL Utility Toolkit”) es una librería de utilidades paraprogramas OpenGL que principalmente proporciona diversas funciones deentrada/salida con el sistema operativo. Entre las funciones que ofrece se incluyendeclaració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 (tantosólidas como en modo wireframe) que incluyen cubos, esferas y teteras. Tambiéntiene soporte para creación de menús emergentes.La librería que se usará para el proyecto TApir es freeglut la cual permite alusuario crear y gestionar las ventanas que contienen contextos OpenGL.2.3.3. OpenVRMLOpenVRML es de ejecución libre y multiplataforma para el soporte de VRML yX3D esta disponible bajo la licencia GNU. La distribución OpenVRML incluyelibrerías que pueden usarse para agregar soporte a VRML/X3D. En lasplataformas donde GTK+ (entorno de escritorio GNOME) está disponible,OpenVRML ofrece un plug-in para representar mundos VRML/X3D en losnavegadores 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 desarrolladordel proyecto TApir le pareció un lenguaje agradable, puesto que tiene masconocimiento sobre este a diferencia de GLUT; hay que resaltar que GLUT ofrecemejor soporte en cuanto a gráficos pero al final VRML por su sencillez yfamiliaridad con el software fue elegido. 36
  45. 45. Capítulo 2. Proyecto TApir2.3.4. PythonEn el proyecto TApir se desea incluir una pequeña interfaz de usuario para facilitarla invocación de las aplicaciones, ya que el uso de ARToolKit y dependencias solohacen posible la compilación y creación de aplicaciones en RA, es por ello que seintegrará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 conmayor rapidez e integrar sistemas con mayor eficacia, en la Figura 18 se esposible ver el logotipo.Se trata de un lenguaje de programación multiparadigma (permite implementarprogramación estructurada y/u orientada a objetos en el mismo código fuente) yaque soporta orientación a objetos, programación imperativa y, en menor medida,programación funcional. Es un lenguaje interpretado, usa tipificación dinámica, esfuertemente tipificado y multiplataforma. Posee una licencia de código abierto,denominada “Python Software Foundation License” que es compatible con laLicencia pública general deGNU.Se ocupa Python en esteproyecto porque es capaz de Figura 18 Logo Python.integrar sentencias desde unshell, ya que para la invocación de los algoritmos RA se hace por medio de unaterminal o shell, Python será el encargado de llamar y compilar en shell con unclick. 37
  46. 46. Capítulo 2. Proyecto TApir2.3.5. GladePara la parte del lienzo en donde se dibujarán los botones y se conectaran lasseñales de Python se utilizara el software Glade ya que éste utiliza una integracióncon Python, es muy fácil de programar y además de crear su estructura en unarchivo xml.Glade es una herramienta RAD (en ingles “Rapid Application Development”) parapermitir el desarrollo rápido y fácil de interfaces de usuario para GTK+ toolkit y elentorno de escritorio GNOME.Las interfaces de usuario diseñada en Glade se guardan como xml, y usando losescritorios GTK+ y GtkBuilder estos pueden ser cargados por las aplicaciones deforma dinámica según sea necesario.Mediante el uso de los entornos GtkBuilder y archivos xml de Glade es posibleutilizar varios lenguajes de programación como C, C++, Java, Perl, Python entreotros.Glade es un software libre publicado bajo la Licencia GPL (General PublicLicence) además su interfaz es muy intuitiva para desarrollar entornos deescritorio, en la Figura 19 se puede ver las ventanas del software. 38
  47. 47. Capítulo 2. Proyecto TApir Figura 19. Interfaz de Glade.2.3.6. VRMLVRML (sigla del inglés “Virtual Reality Modeling Language”. "Lenguaje paraModelado de Realidad Virtual") es un formato de archivo normalizado que tienecomo objetivo la representación de escenas u objetos interactivostridimensionales; diseñado particularmente para su empleo en la web.El lenguaje VRML posibilita la descripción de una escena compuesta por objetos3D a partir de prototipos basados en formas geométricas básicas o de estructurasen las que se especifican los vértices y las aristas de cada polígono tridimensionaly el color de su superficie. VRMLpermite también definir objetos 3Dmultimedia, a los cuales se puedeasociar un enlace de manera que elusuario pueda acceder a una páginaweb, imágenes, vídeos o archivosVRML de Internet por medio de un Figura 20. Logo VRML. 39
  48. 48. Capítulo 2. Proyecto TApirplug-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 usaranpara integrar en la realidad, esto fue por la estructura y portabilidad que ofrece elsoftware.2.2. Marcadores RALa idea básica de la Realidad Aumentada es la de superponer gráficos, audio yotro tipo de archivos o información a un ambiente real en tiempo real. Podría sonarbastante simple, pero no lo es. Aunque hace décadas que las cadenas detelevisión vienen haciendo esto, lo hacen con una imagen estática que no seajusta 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 eneventos deportivos televisados, para mostrar información importante en pantalla,como los nombres de los pilotos de carreras, repeticiones de jugadas polémicas oprincipalmente, para desplegar publicidad. Estos sistemas despliegan gráficos solodesde un punto de vista. La próxima generación de sistemas de realidadaumentada desplegará gráficos para la perspectiva de cada espectador.El punto principal dentro del desarrollo de la RA es un sistema de seguimiento demovimiento 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 unaparte importante dentro del campo de visión de las cámaras, ya que es en dondela computadora toma el punto de referencia sobre el cual superponer los datos.Estos marcadores son predefinidos por el usuario y pueden ser pictogramasexclusivos para cada imagen a ser superpuestas, o formas simples, como marcasde cuadros, o simplemente texturas dentro del campo de visión. Recientemente en 40
  49. 49. Capítulo 2. Proyecto TApirlos últimos años el desarrollo de RA “markerless” esta madurando, añadiendo ungrado más a la inmersión al no tener que trabajar con tarjetas o cosas extrañas elambiente.Los marcos tienen establecido un tamaño para mejorar el desempeño alreconocerlo, aunque cambiarlo no afecta en gran medida, ya que, el programainterpretaría que esta alejado o muy cerca de la cámara y en consecuenciatomaría la referencia del tamaño incrustando de manera equivalente en el marcolos 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 conotro cuadro interior de 4cm de color blanco yun símbolo, creando en el exterior delmarcador un margen el cual es de colornegro; la funcionalidad del símbolo esreferenciar el punto pivote en el cual seaplicaran las transformaciones y para lograreste cometido el símbolo debe de presentaruna deformación si este es rotado, esto parapreservar 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 laletra “A”; la forma “A” tomaría el pivote, ahora si “A” es rotada en sentido a lasmanecillas del reloj en 90º su forma es “ ” de esta forma se crean símbolos Adiferentes, de modo que los símbolos que se obtendrían, en 4 estados de rotaciónen sentido a las manecillas del reloj hasta completar la hora son: “A”, “ “,” V y “ “. ” A ASi el símbolo fuera la letra “O” el sistema detectaría todos los ángulos como pivotey en consecuencia no habría rotación. 41
  50. 50. Capítulo 3. Integración del Proyecto TApirCapítulo 3.Integración delProyecto TApir
  51. 51. Capítulo 3. Integración del Proyecto TApir3.1. Identificación de factoresPara concretar el proyecto TApir se tomó como punto inicial el comprender elfuncionamiento de RA implicando a las ARToolKit de por medio, de tal manera lainvestigación fue centrada en programas que utilizaban las librerías, paraposteriormente obtener conceptos destacados de tales software, así mismo sellevo a cabo la búsqueda de documentos e información acerca de la tecnología deRA, dando como resultado un soporte solido en donde la factibilidad del proyectoera en forma consistente.La factibilidad del proyecto es gran parte a la ARToolKit, pues su código por serdistribuido de forma abierta y su disponibilidad para compilarlo en casi cualquiersistema operativo, otorgo una brecha en la cual el proyecto lograba fluir de maneraestable sobre el entorno de desarrollo.La decisión del desarrollo en una plataforma Linux, fue la posibilidad y granvariedad de software con código abierto, incluyendo que la mayoría de programasen RA actuales son principalmente para plataformas Windows y MacOS, surgió lainiciativa de contribuir con los opensource, creando un sistema de RA para elentorno Linux. El sistema operativo concede la libre manipulación y variedad delibrerías, aunque genéricas, son de utilidad pues demuestran ser un apoyo en elmomento de compilar, por su facilidad al ser instaladas.El software evaluado fue AMIRE y ATOMIC, con la familiaridad de renderizar sobrevideo en directo un modelo tridimensional, además de utilizar ARToolKit, cadasoftware las compila de forma diferente.La idea de la aplicación de RA es que el usuario final logre interactuar con elsistema 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ó lanecesidad de utilizar un programa integrador para crear una aplicación de 45
  52. 52. Capítulo 3. Integración del Proyecto TApirdesarrollo rápido como Glade y Python para crear una pequeña interfaz de usuariocon ejemplos de la ARToolKit y un programa propio.3.2. Interfaz de TApirPara que los programas en Realidad Aumentada se logren ejecutar, es necesariousar comandos e interpretes, algo que es muy complicado, para que el usuariologre interactuar con las aplicaciones, por este motivo surge la necesidad deejecutar el programa por medio de una interfaz que permita la interacción entre elusuario 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 laaplicación de Realidad Aumentada, ya que para la ejecución de los programas sedebe hacer uso de interpretes de comandos desde una terminal, la idea de lainterfaz es facilitar el uso de la tecnología en Realidad Aumentada para que elusuario final sólo disponga de una ventana de interacción para disponer desoftware.Glade sólo permite dibujar la interfaz, lo que indica que al tener la interfazterminada 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 lainterfaz creada en Glade, esto con el motivo de que Python tiene acceso a nivel determinal y puede interpretar scripts; en la Figura 22 es mostrado un diagrama debloques que facilita la interacción entre los software. 46
  53. 53. 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, acontinuación se desglosa su integración con el software:Para que TApir se comunique con los algoritmos, primeramente fue necesariocompilarlos y crear un script que cargara las variables, para esto el script seinterpreta 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 existeuna 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 definirsobre Python que archivo de Glade se desee cargar y para ello la sintaxissiguiente realiza ese proceso: 47
  54. 54. 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 deGlade, la definición del evento que usa la interfaz de TApir es mediante el click delmouse 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, elevento click ejecuta bajo shell un script sh que contiene las variables de entornodel programa y es así como despliega el algoritmo RA.3.3. Compilación de programasLa compilación de las herramientas ARToolKit se elaboro bajo línea de comandoscon el compilador GCC, la estructura de datos de la ARToolKit fue modificada paracrear un algoritmo diferente al de las ARToolKit para proyecto TApir, pero el uso dealgoritmos de ARToolKit esta presente en el proyecto.ARToolKit cuenta con archivos makefile para compilar los algoritmos, los makefileguardan los comandos de compilación con todos los parámetros para encontrarlibrerías, archivos de cabecera y demás archivos que el lenguaje C y C++ puedangenerar. Con el uso del makefile ya no es necesario escribir largas líneas decompilación con sus respectivas opciones o, al menos, solo se ejecuta estearchivo y ahorra tiempo al momento de compilar programas robustos. 48

×