Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN...

34
Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN CABINA Y CAMINO SIN FIN” Registro asignado por la CGPI: 20080685. Director: M. en C. Mauricio Olguín Carbajal. Profesor Participante: M. en C. Juan Carlos Herrera Lozada Profesor Participante: M. en C. Israel Rivera Zárate. Profesor Participante: Ing. Jesús Pimentel Cruz. Profesor Participante: Ing. Carlos Aquino Ruiz.

Transcript of Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN...

Page 1: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Proyecto de investigación:

“SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN CABINA Y CAMINO SIN FIN”

Registro asignado por la CGPI: 20080685.

Director: M. en C. Mauricio Olguín Carbajal. Profesor Participante: M. en C. Juan Carlos Herrera Lozada Profesor Participante: M. en C. Israel Rivera Zárate. Profesor Participante: Ing. Jesús Pimentel Cruz. Profesor Participante: Ing. Carlos Aquino Ruiz.

Page 2: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

ÍNDICE

Objetivo General Pag.3 Objetivo Particular Pag.3 1.- Resumen Pag.4 2.- Materiales usados Pag. 5 3.- Desarrollo del sistema propuesto. Pag. 6 3.1.- Elementos de la cabina. Pag. 6 3.2.- Descripción de cada elemento Pag. 7 4. Montaje final de despliegue Pag. 8 4.1.- Montaje de los proyectores Pag. 8 4.2.- Sincronización de los proyectores Pag. 9 4.3.- Pruebas finales del sistema de despliegue estéreo. Pag. 9 5.- Montaje final del motor. Pag. 10 5.1.- Motor de realidad virtual. Pag.10 6.- Integración final del motor de realidad virtual. Pag.12 6.1.- Montaje de la red de comunicación del motor. Pag.12 6.2.- Instalación de los nodos de alimentación de los nodos del motor Pag.13 6.3.- Instalación de la red de datos hacia los proyectores. Pag.13 7.- Integración del sistema. Pag.13 7.1 Montaje de la caminadora en la cabina. Pag.13 7.2.- Montaje de los proyectores y el sistema óptico necesario para la Proyección.

Pag.14

8.- Construcción del sistema óptico. Pag.15 8.1.- Instalación del software del ambiente virtual. Pag.18 9.- Pruebas finales. Pag.19 10.- Subproductos generados. Pag.22 Anexo A. Pag.24 Anexo B Pag.28

Page 3: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

OBJETIVO GENERAL Terminar de desarrollar el sistema inmersivo de realidad virtual de bajo costo, para uso multidiciplinario dentro del instituto en una de las áreas mas actuales de tecnología.

Objetivos particulares • Realizar la parte final del desarrollo de un sistema inmersivo basado en cabina

multipersonal, para su uso en la clase de diseño de sistemas de Realidad Virtual. • Obtener la habilidad para mezclar imágenes y elementos virtuales y dispositivos

reales (por ejemplo el desplazamiento y la mano del usuario) • La necesidad de guiar y enseñar a otros de una forma razonable en mundos

artificiales. • El deseo de unir la supercomputación y fuentes de datos para su mutuo

crecimiento.

Page 4: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

1. RESUMEN

El presente trabajo reporta los avances de la etapa final del desarrollo de un sistema inmersivo basado en cabina multipersonal de Realidad Virtual en el CIDETEC del IPN. El objetivo principal es generar un sistema de realidad virtual para el desarrollo de proyectos de realidad virtual de parte de estudiantes así como de profesores e investigadores.

Se han realizado avances notables en esta etapa final, entre ellos se concluyo la

construcción física del sistema óptico y se han realizado pruebas de visualización así como pruebas con el motor de realidad virtual, y pruebas de la caminadora ya instalada en la cabina de inmersión.

Adicionalmente se probaron tres escenarios virtuales desarrollados por los

estudiantes de la materia de RV y los tesistas. El proyecto genero toda una serie de ponencias (4) para congresos internacionales las cuales se incluyeron en las memorias de dichos congresos, así como un artículo en revista internacional.

Page 5: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

2. Materiales usados. Cantidad Descripción Uso. Factura # Observaciones

2 Lunas Claras de 3mm de 1.50 x 1.80

Pantallas para retroproyección.

Cristales Libra 1821

Las dimensiones de las lunas fueron estimadas de

forma empírica. 2 Marco de aluminio Color

blanco Para fijar las

lunas Cristales

Libra 1821

La dimensiones de los marcos fueron

correspondientes al tamaño de las lunas

2 Cables de señal VGA de 15 metros de longitud

Datos Steren Para la señal de datos de los proyectores

3 Extensiones corriente eléctrica

Alimentación. Almacén Para la alimentación de los proyectores

2 Divisores de señal VGA Para la salida de cada nodo

Steren Para visualizar las imágenes del motor de RV

al mismo tiempo en el monitor y en las pantallas

de la Cabina.

Page 6: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

3. DESARROLLO DEL SISTEMA PROPUESTO El sistema es una cabina de 3 X 3 X 2.7 metros cúbicos con paredes formadas por pantallas translucidas a las cuales se les proyectan imágenes desde la parte posterior por medio de proyectores sincronizados por un conjunto de maquinas trabajando en un sistema de procesamiento distribuido. El sistema recibe entrada de datos desde diferentes fuentes como son un camino sin fin, un guante, la red, etc. Y proporciona información a través de las pantallas y el sistema de sonido. La distribución del sistema inmersivo basado en cabina es el siguiente.

Figura 1. Distribución de la cabina

Como se puede apreciar en el grafico anterior, se tienen 3 paredes de proyección con pantallas translucidas, las cuales reciben las imágenes de la retroproyección de 3 espejos que a su vez la reciben de los proyectores conectados al motor de realidad virtual. Las paredes son la frontal, izquierda y derecha. Cada pantalla tiene 3 metros de longitud por 2.7 de alto (medidas correspondientes a una relación de aspecto de 4:3). El camino sin fin es una banda sin fin que se coloca al centro de la cabina y la cual proporciona información de la localización del usuario a través de una interfaz serie tipo PS2 (usando como base la interfaz de un ratón de computadora).

3.1.- ELEMENTOS DE LA CABINA:

1.- Pantallas. 2.- Sistema Óptico: Espejos, proyectores y estructura para soporte. 2.- Motor de realidad virtual 3.- Camino sin fin 4.- Guante 5.- Aplicaciones

Page 7: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

3.2.- DESCRIPCIÓN DE CADA ELEMENTO 1.- Pantallas.- Deben ser pantallas translucidas con un tamaño de 3 X 2.7 metros Espejos – de aproximadamente 1 x 0.8 metros

Figura 2, Esquema e cabina de inmersión. Proyectores – infocus de 2000 lumens con un tamaño máximo de imagen de 3 X 2.7 metros

Figura 3, Proyector Infocus.

Estructura de soporte de aluminio con forma cúbica.

Figura 4, Estructura de soporte de las pantallas

Page 8: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

4. Montaje final del sistema de despliegue (Enero-Marzo)

4.1.- Montaje de los proyectores Los proyectores se montaron según las limitantes de espacio y los requisitos de

proyección de las imágenes en la cabina, en general el proyector principal se coloco de forma frontal si usar espejos en un esquema de retroproyección, figura 5.

Figura 5, Montaje del proyector frontal

El proyector izquierdo también se usa en modo retroproyección, debido a la

limitante de espacio fue necesario montar un sistema de reflexión para proyectar a un espejo y del espejo a la pantalla, fig 6.

Figura 6, Montaje del Proyector izquierdo

Page 9: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Finalmente el tercer proyector se monto sobre la pantalla derecha de forma similar a como se realizo con el proyector anterior, obteniendo la configuración de la fig. 7.

Figura 7, Esquema del montaje final de los proyectores.

4.2.- Sincronización de los proyectores.

Esta parte hacer referencia a la configuración de luminosidad del proyector la cual incluye el nivel de contraste y de brillo de cada proyector. Los tres proyectores se configuraron de tal forma que ninguno proyectara mas luz que los demás para aumentar la sensación de realismo y que todo el conjunto de pantallas den la apariencia de una sola pantalla.

4.3.- Pruebas finales del sistema de despliegue estéreo

Figura 8, Imagen anaglifo generada por el sistema

Este tipo de salida permite proyectar imágenes tridimensionales en una cabina de inmersión; en cada una de las cuales se proyectan los objetos anaglifo.

Page 10: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figure 9, Gafas para visión estéreo de imágenes anaglifo.

Al momento de realizar las pruebas en la cabina se comprobó que los valores utilizados en el material del objeto anaglifo eran funcionales únicamente en el monitor, ya que al hacer las proyecciones en la cabina el objeto no se aprecia adecuadamente debido a que las paredes de acrílico de la cabina son de material opaco, en consecuencia el objeto pierde su brillo. Para que los objetos puedan ser observados de manera correcta los colores del material de los objetos tuvieron que ser más intensos o más brillantes tanto el rojo como el cian. Los objetos anaglifo que son cargados en la escena proyectada en la cabina también contienen una apariencia definida por un material correspondiente al color del anaglifo.

Figura 10, Pruebas de sistema estereo en pantallas de la cabina.

5.- Montaje final del motor (Abril - Mayo) Instalación de la red de comunicación del motor de realidad virtual. Pruebas finales del software de sincronización con una aplicación de prueba 5.1 .- Motor de realidad virtual.

Es el encargado de: a) Realizar el calculo de las imágenes 3D b) Sincronizar las imágenes de las 3 pantallas c) Dar seguimiento a la posición del usuario a través del camino sin fin d) Dar seguimiento a la mano del usuario a través del guante e) Administrar las aplicaciones en el mundo virtual

Page 11: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Por lo anterior el motor de realidad virtual debe cumplir con algunas características específicas como son:

a) Capacidad de procesamiento de varias imágenes con diferentes puntos de vista de un mismo escenario al mismo tiempo.

b) Administración de los mundos virtuales c) Entrada de datos para las interfaces del camino sin fin y del guante rv.

Debido a estos requerimientos la arquitectura del motor debe tener características específicas, las propuestas para solucionar estos requerimientos son:

A) Una sola maquina de gran capacidad de procesamiento y almacenamiento

B) Un arreglo de maquinas de capacidad media en una configuración de computo paralelo o distribuido.

Se opto por la opción B (Un arreglo de maquinas de capacidad media) en una configuración de procesamiento distribuido, de la siguiente forma. 4 computadoras PC 1 PC servidor – encargada de recibir la información de las interfaces y de sincronizar el procesamiento de cada una de las imágenes, así como dar seguimiento al usuario en el mundo 3 PC encargadas cada una del calculo de las imágenes frontal, izquierda y derecha respectivamente.

Las 4 PCs conectadas a través de una rede LAN dedicada para brindarles la comunicación, a través de un switch ethernet 10/100. Software de comunicación desarrollado específicamente para el motor RV. En esquema cliente servidor se ve de la siguiente forma.

Figura 11, Esquema del motor de realidad virtual.

Page 12: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Una ves desarrollado el software se presenta la salida de cada pantalla en ventanas diferentes, las cuales corresponden a distintas PCs, fig. 12

Figura 12, Esquema de distribución de las pantallas en el motor de RV.

La correspondencia de los diferentes objetos en cada uno de los diferentes

clientes debe ser precisa de tal forma que cuando un usuario vea que un objeto desaparece en la parte derecha de la pantalla izquierda este objeto aparezca en la parte izquierda de la pantalla central y asimismo cuando dicho objeto desaparezca de la parte derecha de la pantalla central, aparezca en la parte izquierda de la pantalla derecha, fig 13a, 13b, 13c y 13d.

Figura 13, Funcionamiento del motor de realidad virtual, en la sincronización de 3 pantallas.

6.- Integración final del motor de realidad virtual (Junio - Agosto) 6.1.- Montaje de la red de comunicación del motor. El motor de RV se compone de 3 clientes (uno por pantalla) y un servidor, el sistema de conexión es por medio de un concentrador de red Ethernet donde cada una de las maquinas se conectan al concentrador, En una configuración tipo estrella, fig. 14.

Page 13: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 14 Esquema de conexión del motor de RV.

Adicionalmente a la conexión de cada nodo es necesario configurar cada cliente y el servidor al segmento de red dedicado para el motor de RV, por lo cual se configuran con una dirección de red privada que no tenga conflictos con la red del laboratorio de proyectos. El segmento de direcciones usado es el 10.10.10.0. 6.2.- Instalación de la red de alimentación de los nodos del motor. Debido a que cada nodo requiere su propia alimentación de energía eléctrica, es necesario realizar la distribución del cableado eléctrico, gracias a que el laboratorio de proyectos cuenta con suficientes conexiones a la red eléctrica este paso fue llevado a cabo con relativa facilidad. El sistema de alimentación también incluyo extensiones para la alimentación de cada uno de los proyectores, los cuales debido a su ubicación llevaron más tiempo. 6.3.- Instalación de la red de datos hacia los proyectores. La red de datos se desarrollo partiendo de la colocación de los proyectores con respecto a los nodos del motor de RV, una ves colocados los elementos se procedió a determinar la distancia y a adquirir los cables de datos correspondientes a dichas distancias, la mayor distancia fue de 12 metros medida del motor de RV hasta el proyector frontal, se colocaron los cables de señal de datos conectados a un divisor de señal cada uno para poder visualizar los datos en cada monitor y al mismo tiempo en cada pantalla.

7 Integración final del sistema (Septiembre - Octubre) 7.1.- Montaje de la caminadora en la cabina. La caminadora se usa como sistema de navegación del sistema inmersivo, es parte fundamental ya que aumenta el nivel de inmersión pues a medida que los pies del usuario se mueven el mundo virtual se desplaza acorde al movimiento del usuario esto proporciona dos ventajas: El usuario puede usar sus manos para otras actividades y le permite al usuario “sentir” las distancias en el mundo virtual.

Figura 15, Caminadora montada en la cabina.

Page 14: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

7.2.- Montaje de los proyectores y el sistema óptico necesario de proyección.

Según el esquema de la fig. 16, es necesario el montaje de 3 proyectores.

Figura 16, Posición de los proyectores respecto a las pantallas de la cabina.

El proyector 2 se monto para la pantalla frontal a una distancia de 4.5 metros de dicha pantalla, soportado por una estructura fijada al techo del laboratorio de proyectos, fig. 17 y 18.

Figura 17, Proyector fijado al techo del laboratorio de proyectos.

Figura 18, Proyector 2 apuntando a la pantalla frontal de la cabina.

De forma similar los proyectores 1 y 3 se montaron para que mandaran su imagen a las pantallas correspondientes, solo que estos proyectores se montaron en la parte superior

Page 15: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

de las paredes de la cabina, fig. 19 y 20, para realizar una proyección hacia un espejo y el espejo hacia la pantalla.

Figura 19, Pared de la cabina con proyector montado en la parte superior.

Figura 20, Vista a detalle del proyector montado en la pared de la cabina.

8 CONSTRUCCION DEL SISTEMA ÓPTICO El sistema óptico consta de la estructura de los espejos, los proyectores y el soporte para los espejos y proyectores. La función de los espejos es reducir el espacio necesario para que la imagen sea desplegada totalmente en las pantallas. Al proyectar imágenes desde los proyectores hasta las pantallas la distancia total del proyector a cada pantalla es de 6 metros, esto es debido a que si se tiene una distancia menor la apertura de imagen del proyector no es suficiente para abarcar toda la pantalla. Para que las tres pantallas reciban las imágenes completas de los tres proyectores es necesaria un área minima de:

15m x 9m = 135 metros cuadrados.

La distancia para las pantallas laterales es de 3 metros de la cabina + 6 metros por el proyector izquierdo + 6 metros del proyector derecho, figura 21.

Page 16: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 21 Área necesaria para proyección de imágenes sin espejos.

Debido a que el área de que se dispone es menor, son necesarios espejos para reflejar la proyección de la imagen en los espejos y con esto reducir la distancia minima para la apertura de la imagen de los proyectores, fig 22. Al reducir la distancia, el área disminuye de forma correspondiente:

10 m X 6 m = 60 metros cuadrados.

Debido a esto fue necesario comprar espejos con el fin de reducir el la distancia de los proyectores hacia las pantallas.

Figura 22: Área necesaria para la proyección de imágenes con espejos.

Page 17: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

La configuración final del sistema óptico se puede apreciar en la figura 23.

Figura 23, Montaje final del sistema óptico

La construcción del sistema de reflexión se detalla a continuación. El sistema de reflexión consta de 3 espejos dos lunas de 180X150 y un espejo de 40X50, cada espejo se monto de forma diferente, el primer espejo, el de la parte derecha se fijo a una de las paredes del laboratorio de proyectos, fig. 24.

Figura 24, Proceso de fijación del 1er espejo.

El segundo espejo se fijo en un marco de metal el cual tuvo que ser antes construido y fijado al suelo y techo del laboratorio de proyectos, fig 25.

Page 18: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 25, proceso de fijación del marco al techo.

Posteriormente se procedió a montar el espejo en el marco y a fijarlo, fig 26 y 27.

Figura 26, instalación del 2do espejo en el marco.

Figura 27, Espejo montado en el marco.

8.1.- Instalación del software del ambiente virtual. En realidad la instalación del software del ambiente virtual requirió únicamente el copiado de los archivos del AV a cada uno de los 3 clientes que forman parte del Motor de RV, el resultado es que en cada PC se instalo el AV, fig 28.

Page 19: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 28, AV instalado en uno de los nodos del Motor de RV.

9 Pruebas finales (Noviembre - Diciembre) Pruebas finales del sistema total, el cual incluye: La cabina, el motor, el sistema de navegacion, el sistema de proyección, el sistema de visualización estereo, el guante de datos, el sistema de comunicación y alimentación, y los ambientes virtuales. Las primeras pruebas que se realizaron fueron el de proyectar diferentes imágenes en las pantallas de la cabina, fig 29.

Figura 29, Imágenes diferentes en las pantallas de la cabina

Posteriormente se proyectaron las imágenes de la salida del motor de realidad virtual, es decir imágenes de un mismo escenario controlado por el motor de realidad virtual, fig 30.

Figura 30, Un escenario virtual presentado en la cabina.

A continuación se realizaron pruebas de navegación usando las pantallas, el sistema óptico, el motor de realidad virtual y la caminadora, fig 31.

Page 20: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 31, Prueba de la caminadora, sistema óptico y motor de RV en la cabina. Finalmente se realizaron las pruebas de todos los elementos de la cabina: Pantallas, sistema óptico (proyectores y espejos), motor de RV, sistema de visión estereo, caminadora y guante, fig 32.

Figura 32, Prueba del sistema final.

Se probo asimismo un ambiente virtual desarrollado para mejorar el desempeño en la caminadora, ya que los escenarios anteriores tienen un problema en la navegación debido a la forma de interpretar los datos de la caminadora por parte del navegador en VRML, por lo cual el nuevo ambiente virtual se desarrollo en una interfaz diferente lo cual brinda mayor control sobre el desplazamiento en el escenario, fig 33.

Figura 33, Ambiente virtual de prueba.

El ambiente virtual se instalo en las computadoras del motor de realidad virtual, fig 34, y se realizaron pruebas en la cabina con el, fig 35.

Page 21: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Figura 34, Ambiente Virtual instalado en uno de los nodos del motor de RV.

Figura 35, Pruebas del AV en la cabina y la caminadora.

Page 22: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

10. Subproductos generados Subproducto Cantidad Descripción Artículo en Revista Internacional 1 POLIBITS Congresos 2 CINDE y CIDETEC Conferencias o Ponencias 3 CINDE y CIDETEC Prototipos 2 Caminadora con luz infrarroja y

Sistema de despliegue estereo. PIFIS 2 No se inscribieron Tesistas 2 ROBERTO y NOEMI

10.1 Detalle de los subproductos generados. Articulo en revista Internacional. Desarrollo de un sistema inmersivo de Realidad Virtual Basado en Cabina y camino sin fin. Autores: Mauricio Olguín Carbajal, Israel Rivera Zarate y Juan Carlos Herrera Lozada Polibits, Number 37, January –June 2008. ISSN: 1870-9044 Congresos Internacionales. 1.- 4to Congreso Internacional “Tendencias Tecnológicas en Computación” 13 al 17 de octubre de 2008 2.- III Congreso Internacional de Ingeniería en Comunicaciones y Electrónica – 2008

26 al 28 de noviembre de 2008 Conferencias o Ponencias. 1.- Directivas de diseño para ambientes virtuales, en el 4to Congreso Internacional “Tendencias Tecnológicas en Computación”, 13 al 17 de octubre de 2008-Anexo A 2.- Sistema de rastreo de posición para ambientes virtuales basados en cámaras en el 4to Congreso Internacional “Tendencias Tecnológicas en Computación”, 13 al 17 de octubre de 2008-Anexo B 3.- Diseño e implementación de un motor de realidad virtual Escalable para escenarios 3D en el 4to Congreso Internacional “Tendencias Tecnológicas en Computación”, 13 al 17 de octubre de 2008 4.- Revisión y propuesta de algoritmos de renderizado óptimo, 4to Congreso Internacional “Tendencias Tecnológicas en Computacion”,13 al 17 de octubre de 2008 5.- Avances en el desarrollo de un sistema de realidad virtual basado en cabina y camino sin fin., 4to Congreso Internacional “Tendencias Tecnológicas en Computacion”,13 al 17 de octubre de 2008. 6.- Estudio de algoritmos de renderizado óptimo en el III Congreso Internacional de Ingeniería en Comunicaciones y Electrónica – 2008, 26 al 28 de noviembre de 2008 Prototipos. 1.- Sistema de navegación para mundos virtuales basado en caminadora pero usando el principio de rastreo infrarrojo a diferencia del diseño anterior que usaba luz visible. 2.- Sistema de visión estereoscópica basado en principio anaglifo.

Page 23: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

PIFIS. Debido a una lamentable falta de divulgación de la información los dos estudiantes PIFIS no se inscribieron a tiempo. Tesistas. 1.- Iris Noemi Ramírez García, “Sistema de visión estereoscópico basado en anaglifo para aplicaciones de realidad virtual”, Nivel Maestría, Graduada. 2.- Roberto Carlos Ibáñez Mejía, “Desarrollo de un ambiente virtual e integración de dispositivos para la cabina de inmersión del CIDETEC-IPN”, Nivel Maestría, Graduado.

Page 24: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Anexo A

Directivas de diseño para ambientes virtuales

Roberto Carlos Ibáñez Mejia, Oliver Ivan Pozas Quiterio, Mauricio Olguín Carbajal

Centro de Innovación y Desarrollo Tecnológico en Cómputo Instituto Politécnico Nacional

Resumen: El presente artículo tiene como objetivo integrar una serie de directivas a seguir para la creación de ambientes virtuales. Integra una serie de pasos coherentes con la disciplina del desarrollo de software para desarrollar ambientes virtuales.

I. INTRODUCCIÓN Desde el inicio de la disciplina de los ambientes virtuales hasta la fecha, existen muy pocos trabajos enfocados a la metodología pura del diseño de los ambientes virtuales, cuya concepción ha ido variando a lo largo del tiempo debido al cambio de la tecnología, lo cual justifica en parte hacer un trabajo que cubra el aspecto de la metodología de diseño para ambientes virtuales como una extensión de la metodología de diseño y desarrollo de software. Un ambiente virtual se puede definir como un conjunto de herramientas de software, así como dispositivos de hardware dedicados que interactúan con el fin de inducirle al usuario una experiencia que no es posible de reproducir mediante la realidad o bien que es demasiado peligrosa o costosa para reproducir dicho evento en la realidad.

II. ELEMENTOS DE LOS AMBIENTES VIRTUALES De acuerdo con Maria del Carmen Ramos [1], los requerimientos en software de las aplicaciones inmersivas, son los siguientes:

• Cargadores de escenas tridimensionales • Formas o interfaces de navegación • Manejo de colisiones • Animación de objetos • Simulación de física • Integración de personajes • Inteligencia Artificial • Sonido espacial • Programación de despliegue en espacios envolventes • Integración de interfaces de interacción

Aunque en cierta forma, esto es cierto, se puede objetar que las etapas de manejo de colisiones, simulación de física, integración de personajes e inteligencia artificial, deben

Page 25: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

encajar en una sola etapa, pues la interacción entre los elementos del ambiente virtual es complicada y pensar por separado en cada una de estas etapas puede restar realismo al resultado final, principalmente porque considerar todas estas etapas de manera separada, puede hacer que se pierda el contexto de la interacción entre ellas. El desarrollo de cada una de esas etapas puede simplificarse si se toman en consideración como proyectos individuales y se utilizan los paradigmas de diseño de software para tal fin.

III. ETAPAS DEL CICLO DE DISEÑO DE SOFTWARE

En el desarrollo de software, existe un cierto número de etapas a seguir para llevar a cabo el desarrollo de software de una manera metodológicamente correcta, estos pasos, según Roger S. Presuman, son los siguientes:

• Análisis de Requerimientos • Especificación • Diseño y Arquitectura • Programación • Prueba • Documentación • Mantenimiento [2]

No obstante que existen las Etapas del ciclo de desarrollo, igualmente existen los llamados “Modelos de Desarrollo” que modifican en cierta medida las etapas para ajustarse mejor al proyecto a desarrollar. En este caso se pueden listar los siguientes modelos de desarrollo:

• Modelo Clásico • Modelo en Espiral • Modelo de Prototipos • Desarrollo por Etapas • Desarrollo Iterativo • RAD

Para este tipo de aplicación en particular, lo más recomendable es ahorrar algunos pasos tanto en las etapas de diseño como en el modelo. La elección del modelo es fundamental, ya que permitirá que el Ambiente virtual se lleve a cabo en menor tiempo y se pueda utilizar al máximo la etapa de pruebas y depuración. Es recomendable elegir un modelo de desarrollo que permita correcciones On The Fly, principalmente porque los ambientes virtuales siendo un conjunto grande de elementos independientes, cuesta trabajo imaginarlo como un sistema único. Para tal fin, lo mas recomendable es elegir el modelo de desarrollo por prototipos teniendo cuidado de darle importancia a las primeras etapas del diseño, que es donde recae la parte mas importante del Sistema. Al ser el ambiente virtual un sistema compuesto por varios subsistemas, lo ideal es separar el problema en varias fases y dividir la programación de este en varias etapas a fin de poder cubrir la totalidad del ambiente. La sincronización de los elementos del ambiente virtual o de los correspondientes subsistemas es un problema menor, al estar

Page 26: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

estos sistemas ya programados. Es importante no perder la visión global al momento de diseñar una de las etapas pues podría echarse a perder el sistema completo por culpa de una mala planeación, por ejemplo, suponer que la etapa del sonido tridimensional no requiere comunicarse con la de despliegue, puede provocar que a la hora de iniciar este ambiente, ocurran defasamientos del sonido con lo que se ve en pantalla (algo similar a lo que ocurría con los viejos cinematógrafos). Lo ideal es pensar en un diagrama de flujo en el cual se considere cuales son las prioridades al diseñar, por ejemplo, en la figura 1, se ilustra como puede ser el desarrollo de uno de los subsistemas. Figura 1. Proceso de desarrollo de un subsistema, en un modelo reducido de pasos, se obvian las etapas de diseño y arquitectura y especificación, debido a que los Ambientes virtuales no trabajan sobre muchos datos, en comparación con modelos de Bases de Datos. Sin embargo, debe considerarse que el sistema es un conjunto, por lo tanto, debe pensarse siempre en diseñar las subrutinas en conjunto, para permitir que el sistema pueda interactuar. Figura 2. Al Diseñar un sistema siempre debe de considerarse el sistema como un conjunto y tener claras las relaciones e interacciones de datos entre dichos sistemas.

IV. CONSIDERACIONES

Análisis

Diseño

Programación

Prueba y depuración

Page 27: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Antes de comenzar a programar es recomendable estudiar a fondo los posibles lenguajes candidatos a elegir y sus posibles cualidades, defectos y compatibilidad a la hora de diseñar el sistema, principalmente porque si se elige una plataforma no compatible, por ejemplo Visual Studio.NET, no se podrá utilizar este sistema en entornos Unix o Linux. Para tal efecto se puede considerar un lenguaje multiplataforma como lo son C++ o Java, principalmente este último por sus grandes capacidades de interacción, así como la gran cantidad de herramientas pre-desarrolladas para ese lenguaje. También es recomendable siempre ahorrar algo de trabajo, por ejemplo, para el diseño de avatares y escenarios, es recomendable utilizar un programa especializado de diseño e importarlos para utilizarlos en el lenguaje de programación. Esto ahorra tiempo al ser mas sencillo diseñar que programar.

Figura 3. Diseño de un Avatar en 3D Studio MAX, comparado con el código de VRML para generar un objeto equivalente. Al elegir los lenguajes de programación y diseño adecuados, se puede reducir el tiempo de diseño y programación, simplificando el trabajo, por ejemplo, un lenguaje de diseño como 3d Studio Max o Blender, puede permitir al usuario ahorrar tiempo de programación valioso que si se diseñara el ambiente virtual completo y sus elementos en VRML, Java o el OpenGL SDK. Principalmente se pretende reducir la carga de la etapa de programación, al liberar al programador de detalles que no pertenecen a su ámbito de acción y que en otras circunstancias sería necesario incluir como tiempo adicional. Otro de los tópicos centrales del diseño de ambientes virtuales, es favorecer la reutilización de código fuente. Muchas veces, se escriben o diseñan programas “de ejemplo” para aprender a utilizar una función o un procedimiento que al final termina siendo útil, pero que en el futuro se requiere y que tiene que re escribirse completamente. Es conveniente para tal fin organizar la información y el código de tal manera que permita una fácil localización de cualquier tipo de archivo o biblioteca previamente escrita para su utilización futura, además de desarrollar los procedimientos y subrutinas en un formato “portable” esto es aprovechar las ventajas de los lenguajes de programación para el uso de parámetros y bibliotecas, de tal manera que un problema complejo de programación pueda reducirse a una instrucción de carga o ejecución de subrutinas. En el diseño de subrutinas de programación complejas para ambientes virtuales se dedica cerca del 50% del tiempo efectivo de programación. Por lo tanto es importante reducir ese tiempo.

Page 28: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

En mi experiencia personal en el diseño de ambientes virtuales, es necesario comenzar con una serie de pasos elementales como la siguiente:

• Definir un sistema de coordenadas de referencia: Con frecuencia es complicado ubicarse en el espacio tridimensional, pese a que el cuerpo humano está adaptado a visualizar todo en tres dimensiones, para facilitar esto es recomendable recordar direcciones más que ejes fijos, por ejemplo, es mas fácil memorizar un esquema de Arriba-Abajo, Izquierda-Derecha, Adelante-Atrás, que sus correspondientes denominaciones matemáticas (+x,-x), (+y,-y) y (+z,-z) además de que pondrá el ambiente virtual mas al nivel de cualquier persona, sin necesidad de grandes conocimientos previos

• Comenzar con los elementos del ambiente de referencia: Esto es, comenzar con el piso, techo, paredes y cualquier otro objeto que pueda permitir ubicar los elementos dentro el ambiente, así es más fácil referenciar objetos con respecto a un punto fijo e inamovible. En ocasiones mapear texturas a los objetos de referencia puede ayudar a ubicar fácilmente una sección

• El uso de cargadores de objetos y convertidores permite ahorrar mucho tiempo en el diseño y codificación, al ser mas fácil cargar un objeto, que programarlo manualmente.

V. CONCLUSIONES

La mayor parte de las veces, un diseño de software adecuado puede ayudar a reducir el tiempo de programación, tiempo de ejecución e incluso el costo de programación de un ambiente virtual. En el caso particular de los ambientes virtuales educativos que requieren una serie de parámetros especiales para ser completamente operativos, el diseño de software por partes permite en la mayor parte de las ocasiones, economizar tiempo que hacer las cosas sin planeación ni objetivos, en cierta forma la programación de ambientes virtuales requiere de herramientas de diseño de software. Una aplicación interesante sería si en un futuro, se pudiera diseñar aplicaciones para ambientes virtuales por medio de lenguajes de modelado como UML. BIBLIOGRAFIA [1] Maria del Carmen Ramos, ET. AL., Creación de ambientes virtuales inmersivos con software libre, Revista Digital Universitaria, Vol. 8, No. 6, Universidad Nacional Autónoma de México. [2] Roger S. Pressman, Ingeniería de Software, un enfoque práctico, Quinta Edición, Mc. Graw Hill. [3] Davison Andrew, Pro Java 6 3d Game Development, Apress, [4] Joan J. Pratdepadua , Programación en 3D con Java 3D, Alfaomega RA-MA, [5] Javier López Escribá, 3ds max 4, Manual avanzado, Anaya Multimedia [6] Mediaactive, El gran libro de 3d Studio MAX 9, Alfaomega Marcombo. [7] L. Griss, Software reuse: From library to factory, IBM Systems Journal, Vol. 32, No. 4, ISSN 18-8670, 1993. [8] M. Haller, Et. Al., Components for a virtual environment, Johannes Kepler University of Linz, 2000.

Page 29: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Anexo B

Sistemas de Rastreo de Posición para Ambientes Virtuales Basados en Cámaras

Oliver Ivan Pozas Quiterio, Roberto Carlos Ibáñez Mejía, Mauricio Olguín Carbajal

Centro de Innovación y Desarrollo Tecnológico en Cómputo Instituto Politécnico Nacional

[email protected], [email protected], [email protected] Resumen – Este artículo, tiene como finalidad, realizar un análisis a conciencia de los dispositivos de rastreo de posición tanto comercial como científico, y hacer un énfasis en los sistemas de rastreo basados en cámaras y las técnicas más comunes para censar la posición de un objeto dentro de un ambiente virtual.

I. INTRODUCCION Actualmente se ha avanzado mucho en el sentido de proporcionar rastreo de posición más completo, correcto y exacto, uno de los objetivos de los sistemas de rastreo de posición, no se ha cumplido. Actualmente los sistemas de rastreo de posición siguen siendo demasiado costosos. En el lado de los videojuegos, una aproximación a un modelo de rastreo de posición es el control en forma de control de la consola Nintendo WII. Este dispositivo, así como otros similares constituyen la primera generación de dispositivos de videojuegos orientados a convertirlos en sistemas de Realidad Virtual completos. Así mismo, las investigaciones recientes en el área de ambientes virtuales, se orientan hacia la problemática de traducir los movimientos detectados por el rastreo de posición a los avatares del ambiente virtual, como se cita por ejemplo en el artículo “Interactive Control of Avatars Animated with Human Motion Data” los autores citan lo siguiente: “Real-time control of three-dimensional avatars is an important problem in the context of computer games and virtual environments. Avatar animation and control is difficult, however, because a large repertoire of avatar behaviors must be made available, and the user must be able to select from this set of behaviors, possibly with a low-dimensional input device.” [Lee 05] Esto significa básicamente que la traducción de movimientos en un ambiente virtual, llámese videojuego o cualquier otro similar, desde el dispositivo de entrada es complicado pues generalmente el dispositivo de entrada asociado es un dispositivo con menos grados de libertad que el ambiente en si, un ejemplo de esto se da en los juegos conocidos como FPS (First Person Shooter), en los cuales en ocasiones cuesta mucho trabajo traducir las posiciones visto desde el punto de vista del desarrollador y de acostumbrarse al mando, visto desde el punto de vista de los usuarios.

Page 30: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Citemos por ejemplo el siguiente caso, tomado del videojuego “Medal of Honor European Assault” para la consola Playstation 2, desarrollado por EA Games, en dicho juego, se cuenta con 6 grados de libertad en el juego, es decir, movimiento horizontal, vertical y de profundidad, así como sus respectivas rotaciones, sin embargo, el mando del Playstation 2, el Dualshock 2 es un dispositivo diseñado para control de juegos en tres dimensiones, pero sin considerar los grados de libertad de las rotaciones, esto deja a los responsables de la traducción de movimiento del juego con la ardua tarea de distribuir las numerosas acciones, con la cantidad limitada de botones de dicho mando. Y esto es solo un ejemplo, artículos de divulgación científica reciente, consideran estas limitantes como verdaderos problemas, tanto en el ámbito del entretenimiento como en el ámbito científico.

Figura 1. El control DualShock 2, originalmente diseñado para juegos planos, se convirtió en un verdadero reto para adaptarlo a los requerimientos de los nuevos videojuegos. Su sucesor, el SixAxis del Playstation 3, es un poco más flexible para las aplicaciones de traducción de movimientos. Actualmente, muchas investigaciones apuntan a que es difícil realizar una traducción de movimientos efectiva desde los dispositivos de entrada a los ambientes virtuales. La solución a estos problemas se encuentra en diseñar una metodología más eficiente para la traducción de movimientos desde los dispositivos de entrada. Esto dio orígen a lo que se conoce como Motion Capture, abreviado en ocasiones como MOCAP. Tecnología que actualmente se encuentra en desarrollo y del que encontramos algunos exponentes como pueden ser en cinematografía, utilizado mayormente para dar vida a personajes ficticios, se sirven de herramientas de captura de movimiento para obtener las poses de un individuo y posteriormente aplicarlas al elemento virtual, como se puede ver en la figura 2, la forma en la que se animó al personaje “Gollum” de la afamada película “El Señor de Los Anillos” Figura 2. Incorporación de la tecnología MOCAP al entretenimiento, utilizando dicha tecnología permite la creación de personajes como Gollum, de la serie e películas de “El Señor de los Anillos” La mayoría de los trabajos de este tipo de tecnologías utilizan un arreglo de cámaras para determinar la posición de un objeto dentro de un entorno delimitado. Actualmente se pretende desarrollar un sistema de rastreo de posición basado en esta tecnología. Sin

Page 31: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

embargo, para realizarlo se requiere conocer algo de información sobre los objetivos para determinar los requerimientos de este sistema.

II. CONSIDERACIONES Para el desarrollo de este sistema, debe tenerse en cuenta una serie de consideraciones de diseño, en primer lugar, delimitar correctamente cuales van a ser las restricciones de dicho sistema, para tal efecto, consideraremos que este será una herramienta de apoyo para el laboratorio de realidad virtual del CIDETEC y que formará parte de un conjunto de dispositivos dentro de una cabina de inmersión, por tal motivo, no se requiere de una precisión exagerada pero si lo suficientemente buena como para captar a una persona en movimiento. Una consideración importante, es determinar cual es el framerate de las cámaras a utilizar con el objeto de reducir costos, para tal efecto, se considera un máximo de 10 Frames por segundo, debido a que a esa velocidad, podremos captar movimientos hechos hasta en un décimo de segundo, cuando las reacciones mas veloces de un ser humano se encuentran muy por debajo de ese umbral, tomemos por ejemplo, un corredor de 100 metros planos, el record mundial actual, fue fijado en las recientes olimpiadas de Beijing 2008, por Usaín Bolt con un tiempo de 9.69 segundos, eso signifca que este corredor recorre un metro en aproximadamente 0.1 segundos y por lo tanto, recorre diez metros por segundo, siendo así, entonces el recorre 33 centímetros por cuadro, a esa velocidad, nosotros podemos hablar de una precisión del órden de 1 metro si discriminamos 1 de cada 3 frames. Ahora bien, estamos de acuerdo en que la mayoría de los seres humanos no son capaces de desplazarse a semejante velocidad, siendo el promedio aproximado entre 13 y 15 segundos para recorrer 100 metros por lo cual, no es necesario tomar videos en tiempo real y alta resolución, mas que nada porque el objetivo es calcular la posición a través del mínimo de procesamiento adicional, hay que recordar que los ambientes virtuales tienen que ser lo mas realistas posibles y hacer un procesamiento sobre una imagen muy grande o compleja, perderá demasiado tiempo de procesamiento. Para tal efecto se requiere un total de tres cámaras, fijadas todas al techo de la cabina de inmersión, como se puede apreciar en la siguiente figura: Figura 3. Disposición de las cámaras en la cabina de inmersión.

Page 32: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

III. PRINCIPIOS DE FUNCIONAMIENTO

El funcionamiento de este sistema está inspirado en el sistema de posicionamiento global (NAVSTAR-GPS), el cual utiliza un número determinado de satélites geoestacionarios para calcular la distancia de un individuo con respecto a ellos, mediante el método de triangulación. En este caso, los satélites son las cámaras que se encuentran en una posición fija y para efectos de posicionamiento, se calculará la distancia de cada punto del cuerpo con cada cámara y después por medio de interpolación de imágenes, obtendremos una media de la distancia del objeto con cada cámara y entonces será posible definir la posición del individuo y hacer responder al ambiente virtual de manera acorde. El principal problema de este tipo de sistemas es el del procesamiento. La meta de este tipo de sistemas es eliminar el retardo y hacer las mediciones y cálculos lo mas en tiempo real posible, desafortunadamente es relativamente poco lo que se puede hacer al respecto. Al tratar con imágenes, cada una con una resolución de aproximadamente 640 x 480, implica que el tamaño de cada imagen es de aproximadamente de 300 Kilobytes, no es un gran reto para las computadoras de hoy en día, pero se vuelve complicado sincronizar los resultados del posicionamiento con el ambiente virtual y algunos otros dispositivos, principalmente porque todos los procesos de los ambientes virtuales requieren una capacidad de procesamiento intensa, y uno de sus requisitos y limitantes principales es que todos estos cálculos deben ser en tiempo real o un tiempo crítico cercano al tiempo real, principalmente porque el retardo en cualquiera de las etapas concernientes al sistema, provocará una posible pérdida de realismo en el ambiente virtual, lo cual no es deseable, principalmente porque los objetivos de la Realidad virtual es la visualización realista de ambientes que pueden o no existir. Por lo tanto, la mayor parte de los esfuerzos de este proyecto, se orientan a reducir el tiempo de procesamiento y mejorar las técnicas de sincronización con el ambiente virtual. Para ilustrar la magnitud del problema, el sistema debe procesar, por cada décimo de segundo, aproximadamente 900,000 pixeles de color e interpolarlos [Gonzalez04], lo cual tiene un orden de complejidad computacional de O(N) mas la función de cálculo de distancias que es igual de orden O(N), se obtiene como resultado que la funcion de medición de la distancia para una imagen de esa resolución es de O(N2) lo cual es aceptable pero no deseable, ya que considerando los demás elementos del ambiente virtual, deben de resultar en un valor menor que la máxima velocidad de acceso a memoria existente al momento de escribir este artículo.

IV. PRUEBAS Y RESULTADOS

Desde el comienzo del proyecto, se ha intentado llevar el rastreo de posición desde su forma más simple y primitiva hasta las más complejas con distintos resultados, y eso implica muchas pruebas. Algunos de ellos, por ejemplo, fue la construcción de una serie de sensores de posición basados en luz infrarroja, de los cuales se construyeron varios pero la mayoría tenia ciertas carencias a la hora de rastrear la posición. La principal limitante es que la luz infrarroja, a pesar de estar en un entorno controlado y dirigido, es omnidireccional, lo cual impide determinar exactamente de donde proviene la luz que recibe el sensor además, no da una medida adecuada de “Distancia por unidad de Voltaje o Corriente”, al ser solamente capaz de distinguir entre “Cerca, Lejos y Muy

Page 33: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

Lejos”, sin dar una idea clara de la distancia. Se construyó un total de 7 prototipos de esta tecnología, de los cuales, solo 2 eran capaces de censar una cierta “medida de distancia”. Otros circuitos probados, como un emisor de trenes de pulsos, obtuvo mejores resultados, sin embargo existían problemas para registrar direcciones, cosa que es importante en el rastreo de posición.

V. CONCLUSIONES

Actualmente, y con la experiencia adquirida, es posible afirmar que el rastreo de posición por medio de cámaras es factible además de ser un método de rastreo de posición que podría servir para otros fines, por ejemplo, implementar interacción en tiempo real con un ambiente virtual, del mismo individuo, esto es hacer que la misma persona se vea “dentro” del sistema de realidad virtual, al capturarlo y re transmitir su imagen a las pantallas de la cabina. Si bien, aún falta mucho trabajo por hacer en el área de rastreo de posición, ciertamente la mayoría de los métodos para hacerlo están ya desarrollados en su mayoría, la situación es elegir cual de los sistemas es el mas conveniente para la aplicación a desarrollar y procurar no cometer errores de diseño, que hacen generalmente perder tiempo.

REFERENCIAS [Allen 01] B. Danette Allen, Gary Bishop, Greg Welch, Tracking: Beyond 15 minutes of thought, Proceedings of the ACM SIGGRAPH 2001. [Borenstein 96] J. Borenstein, ET. AL, Where Am I, Sensors and methods for Mobile Robot Positioning., 1996 University of Michigan. [Bachmann 85] Eric R. Bachmann, Inertial and magnetic tracking of limb segment orientation for inserting humans into synthetic environments [Brügger 78] W. Brügger Computer Aided Tracking of body motions, using a C.C.D. Image Sensor, Medical Biological engineering and computation 1978,16,207-219 [Borenstein 92] J. Borenstein, ET. AL, Noise Rejection for ultrasonic sensors in mobile robot applications. [Bolles 81] Robert C. Bolles, ET. AL., A simple sensor to gather three dimensional data [Bible 01] Steven R. Bible, Using Spread-Spectrum Ranking Techinques or Position Tracking in a Virtual Environment [José L. Hernández Rebollar 01] José L. Hernández Rebollar, The AcceleGlove A Whole-Hand Input Device for Virtual Reality [Imran 06] M. Imran, ET. AL, GPS-GIS Based Procedure for tracking vehicle path on horizontal alignments

Page 34: Proyecto de investigación: “SISTEMA INMERSIVO DE REALIDAD VIRTUAL BASADO EN …sappi.ipn.mx/cgpi/archivos_anexo/20080685_6116.pdf · 2011-11-14 · • Realizar la parte final

[Fattal 06] Raanan Fattal, Et Al., Pose Controlled Physically Based Motion, School of computer Science and engineering, The Hebrew University of Jerusalem [Shiratori 06] Takeshi Shiratori, Et. Al., Dancing To Music Character Animation, Institute of Industrial Science, The University of Tokyo, Japan [Laycock 07] S.D. Laycock, A Survey of Haptic Rendering Techniques, School of Computing Sciences, University of East Anglia, Norwich Norfolk UK. [Lee 05] Jehee Lee, Interactive Control of Avatars Animated with Human Motion Data, Carnegie Mellon University [Williams 04] Robert L Williams II, Implementation and Evaluation of a Haptic Playback System [Gonzalez 04] Gonzalez, Woods, and Eddins, Digital Image Processing Using MATLAB, Prentice Hall, 2004