Módulo 1 Realidad Virtual y Aumentada
Módulo 1 Realidad Virtual y Aumentada
aumentada
PID_00194192
Francisco Ramos
CC-BY-NC-ND • PID_00194192 Realidad virtual y aumentada
Los textos e imágenes publicados en esta obra están sujetos –excepto que se indique lo contrario– a una licencia de
Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 España de Creative Commons. Podéis copiarlos, distribuirlos
y transmitirlos públicamente siempre que citéis el autor y la fuente (FUOC. Fundación para la Universitat Oberta de Catalunya),
no hagáis de ellos un uso comercial y ni obra derivada. La licencia completa se puede consultar en http://creativecommons.org/
licenses/by-nc-nd/3.0/es/legalcode.es
CC-BY-NC-ND • PID_00194192 Realidad virtual y aumentada
Índice
Introducción............................................................................................... 5
2. Técnicas de visualización................................................................. 23
2.1. El pipeline gráfico ....................................................................... 23
2.1.1. Arquitectura ................................................................... 23
2.1.2. Funcionamiento ............................................................. 25
2.1.3. Consideraciones ............................................................. 26
2.2. Librerías de programación de gráficos por ordenador ................ 27
2.2.1. Direct X .......................................................................... 27
2.2.2. OpenGL .......................................................................... 28
Introducción
1)�Definiciones
a)�Realidad�virtual
Los entornos virtuales pueden ser generados para crear una experiencia realis-
ta o totalmente imaginaria, como ocurre en los simuladores de los coches de
fórmula 1 o en los videojuegos futuristas, respectivamente. Por otra parte, la
creación de un entorno virtual con el máximo realismo es actualmente una
línea de investigación. Esto se debe principalmente a las limitaciones tecno-
lógicas actuales en cuanto a ancho de banda en las comunicaciones, resolu-
ción de las imágenes y capacidad de procesamiento. No obstante, la tecnología
avanza muy rápidamente y cada vez se obtienen mejores resultados.
b)�Realidad�aumentada
CC-BY-NC-ND • PID_00194192 6 Realidad virtual y aumentada
Combina elementos virtuales con el mundo real. Hay tres características fun-
damentales y comunes en los sistemas de realidad aumentada:
1) la combinación del entorno del mundo real con elementos generados por
ordenador,
2) la interactividad en tiempo real y
3) escenas en 3D.
Llegados a este punto, podemos decir que la principal diferencia entre la reali-
dad virtual y la realidad aumentada es que en la primera el mundo real es sus-
tituido por otro simulado y en la segunda la vista de la realidad es modificada
mediante el ordenador, proporcionando una percepción mejorada de esta.
c)�Realidad�mezclada
El término realidad mezclada, podéis ver la figura 1, fue definido por Paul Mil- Lectura recomendada
gram y Fumio Kishino en 1994, quienes describían la realidad mezclada como
P.�Milgram;�A.�F.�Kishino
un espacio continuo que va desde el entorno real hasta el entorno virtual. (1994). Taxonomy of Mixed
Dentro de este intervalo podemos encontrar la realidad aumentada, más cerca Reality Visual Displays IEICE
Transactions on Information
del entorno real, y la virtualidad aumentada, más cerca del entorno virtual. and Systems (núm. 12, pág.
1321-1329). E77-D.
CC-BY-NC-ND • PID_00194192 7 Realidad virtual y aumentada
2)�Problemática�común
3)�Organización�de�los�contenidos
El apartado 2 tratará sobre las técnicas de visualización actuales, con una ex-
plicación del pipeline gráfico actual y las dos librerías de programación de grá-
ficos por ordenador más populares: OpenGL y DirectX.
1.1. Introducción
En la figura que nos ocupa podemos observar árboles, montañas, coches, es decir, ele-
mentos de la escena 3D que se han diseñado y creado previamente, es lo que denomina-
mos modelado. Todos estos elementos se disponen en el mundo virtual y se les asigna un
comportamiento, que puede ser estático (árboles, montañas) o dinámico (coches, públi-
co animando). Posteriormente, se presenta al usuario una determinada vista de la escena
mediante un dispositivo de visualización, en este caso un móvil. En este momento el
usuario puede interactuar con el mundo y cambiar el comportamiento de ciertos obje-
tos, como el coche. Estos cambios se gestionan en el mundo virtual y el usuario recibe
finalmente la respuesta a su interacción.
1.2. Caracterización
Un sistema de realidad virtual presenta varias características que hay que defi-
nir y explicar. En este apartado se definirán algunos conceptos muy importan-
tes en sistemas de realidad virtual y, como se verá posteriormente, en sistemas
de realidad aumentada.
1.2.1. Interactividad
Figura 6. Usuario integrado en un dispositivo de tipo CAVE (cave automatic virtual environment)
CC-BY-NC-ND • PID_00194192 12 Realidad virtual y aumentada
1.2.3. Tridimensionalidad
Los objetos se representan en tres dimensiones (podéis ver la figura 7), ya sean
objetos estáticos de la escena o dinámicos. Esto supone una fase previa de mo-
delado que es muy importante para dotar de realismo la escena que se quiere
representar.
Figura 7. Escena 3D interactiva creada con 3D Studio e integrada utilizando el motor de juegos
Ogre3D
Las imágenes que recibe finalmente el usuario se generan en tiempo real a Seguimiento
partir de una representación del mundo virtual que varía según la posición y
El proceso de saber cuál es la
orientación de este (podéis ver la figura 8). posición y la orientación del
usuario se conoce con el nom-
bre de seguimiento.
CC-BY-NC-ND • PID_00194192 13 Realidad virtual y aumentada
En este apartado trataremos los dispositivos de salida más comunes de los sis-
temas de realidad virtual, aunque también pueden intervenir en un sistema
de realidad aumentada.
Un ejemplo de ello son los videocascos (podéis ver la figura 10). Estos aíslan
al usuario del mundo real, dando una mayor sensación de realidad a la simu-
lación. Así, los videocascos aumentan la sensación de inmersión dentro del
mundo virtual, pero, por contra, dificultan las acciones del usuario, puesto que
impiden la visión del mundo real y, puntualmente, producen fatiga y mareos.
CC-BY-NC-ND • PID_00194192 15 Realidad virtual y aumentada
Fuente: http://www.flickr.com/photos/31274959@N08/3214982429/
Figura 11
Las técnicas de estereoscopia generan una imagen para cada ojo del usuario
(podéis ver la figura 12). Esto permite ver el mundo en 3D reforzando la sen-
sación de realidad. En general, crea la ilusión de profundidad en una imagen.
Esta ilusión de profundidad en una fotografía, película u otra imagen bidi-
mensional es creada presentando una imagen ligeramente diferente para cada
ojo, como sucede en nuestra manera habitual de recoger la realidad.
Figura 12
De izquierda a derecha. Imagen estereoscópica, la parte roja va al ojo izquierdo y la parte azul al derecho. Usuario utilizando
gafas estereoscópicas en un entorno virtual.
1.4.5. Otros
Los dispositivos de entrada, en los sistemas de realidad virtual, tienen dos fun-
ciones principales:
1.5.1. Localización
1.5.2. Control
• navegación,
• interacción y
• manipulación.
• ratones,
• joysticks,
• sistemas biométricos para medir las señales generadas por el cuerpo hu-
mano,
• sensores específicos para simuladores de vuelos, de coches, etc.
CC-BY-NC-ND • PID_00194192 18 Realidad virtual y aumentada
Fuente: http://www.flickr.com/photos/darkphibre/227765144/
Figura 14. Sistema de realidad virtual que utiliza un dispositivo de entrada con controlador de
fuerza y giro
Un sistema de realidad virtual debe realizar una serie de tareas, unas sencillas
y otras complejas. A continuación, se dará una secuencia�típica de un sistema
de este tipo. La secuencia de acciones se plantea a alto nivel, es decir, todas
implican acciones más complejas. Aun así, el objetivo es proporcionar una
visión global de estas tareas. Por tanto, podemos secuenciar las tareas de este
modo:
CC-BY-NC-ND • PID_00194192 19 Realidad virtual y aumentada
Figura 15
Web recomendada
Fuente: Michigan Virtual Reality Lab. http://www-vrl.umich.edu/project/automotive/ Michigan Virtual Reality Lab
Para que una aplicación de realidad virtual tenga éxito, debe añadir con-
tenido a la información presentada al usuario.
Contestar a estas cuestiones no resulta siempre trivial. Muchas veces, los gráfi-
cos en dos dimensiones, o incluso el texto, pueden ser la mejor manera de co-
municar una determinada información. Las aplicaciones que manipulan vo-
lúmenes, espacios o que requieren que el usuario se oriente en un ambiente
volumétrico son buenas candidatas a ser creadas a partir de los principios de
la realidad virtual.
CC-BY-NC-ND • PID_00194192 23 Realidad virtual y aumentada
2. Técnicas de visualización
2.1.1. Arquitectura
Actualmente, se intenta que las fases de un pipeline sean independientes para que se
puedan ejecutar en paralelo, y no secuencialmente. No obstante, si todas las fases de un
pipeline se pueden ejecutar en paralelo, hecho no siempre posible, el tiempo que tarda
el pipeline en ejecutarse entero vendrá determinado por el tiempo de la fase más lenta.
Por ejemplo, si la fase de colocación de volantes en una línea de montaje de coches dura
tres minutos y el resto de las etapas dos minutos, el rendimiento máximo al que puede
llegar este sistema es el de producir un coche cada tres minutos, y las otras etapas estarán
paradas durante un minuto mientras la fase de colocación del volante acaba. En este
pipeline en particular, la fase de colocación del volante se considera el cuello de botella
(bottleneck), puesto que determina la velocidad de la producción entera.
Figura 19. Construcción básica del pipeline gráfico formado por tres fases:
aplicación, geometría y rasterizador
• aplicación,
• geometría y
• rasterizador.
(1)
Como ya hemos señalado, es la etapa�de�pipeline más lenta la que determina Los fotogramas por segundo
(fps) se utilizan para expresar el
la velocidad del pipeline. En el caso del pipeline gráfico, la fase más lenta de-
rendimiento medio durante un
termina la velocidad de visualización (rendering speed), la ratio de actualización cierto tiempo. El hercio se utiliza
más para el hardware, como pan-
de las imágenes en el dispositivo de visualización. Esta velocidad se puede ex- tallas, y tiene una ratio fija.
presar en fotogramas por segundo (fps), es decir, número de imágenes visuali-
zadas por segundo, aunque también se puede representar en hercios1 (Hz), que Tiempo de generación de
una imagen
es simplemente la notación por 1/segundos, la frecuencia de actualización.
El tiempo que una aplicación
utiliza para generar una ima-
Siguiendo la figura 19, tal y como informa el nombre, la etapa�de�aplicación la gen puede variar sustancial-
gestiona la aplicación y, por lo tanto, la implementa el software que se ejecuta mente, puesto que se ve direc-
tamente afectado por la com-
en las CPU de propósito general. Normalmente, estas CPU incluyen múltiples plejidad de los cálculos realiza-
dos en cada fotograma.
núcleos (cores) que tienen la capacidad de procesar muchos hilos de ejecución
en paralelo. Esto permite que las CPU ejecuten eficientemente la amplia va-
riedad de tareas que son responsabilidad de la etapa de aplicación. Tareas que se ejecutan en
la CPU
La siguiente etapa es la de geometría, que gestiona las transformaciones, pro- Tradicionalmente, algunas de
estas tareas que se ejecutan en
yecciones, etc. Esta etapa calcula qué se visualizará, cómo y dónde se debería la CPU incluyen la detección
visualizar. La etapa de geometría se procesa, normalmente, en una unidad de de colisiones, algoritmos de
aceleración, animación, simu-
procesamiento gráfico (GPU, podéis ver la figura 20) que contiene muchos laciones físicas y otras muchas,
dependiendo del tipo de apli-
núcleos programables y hardware para operaciones fijas. Finalmente, la etapa cación.
de rasterización renderiza una imagen utilizando los datos que las etapas ante-
riores han generado y también procesa cálculos a nivel de píxel, si se requiere.
CC-BY-NC-ND • PID_00194192 25 Realidad virtual y aumentada
2.1.2. Funcionamiento
Los puntos, las líneas y los triángulos son las primitivas de dibujado que com-
ponen los modelos u objetos que renderizar. Supongamos que tenemos una
aplicación interactiva de CAD (computer aided design) y que el usuario está exa-
minando el diseño (o modelo) de un dispositivo móvil. Ahora seguiremos este
modelo por el pipeline gráfico, descrito anteriormente, que consiste en tres
etapas: aplicación, geometría y rasterización. La escena se renderiza con pers-
pectiva en una ventana de la pantalla. En este ejemplo, el modelo del teléfono
incluye líneas y triángulos. Algunos de los triángulos están texturizados con
una imagen 2D para representar el teclado y la pantalla.
1)�Aplicación
Las aplicaciones CAD permiten al usuario seleccionar y mover partes del mo-
delo.
• Por ejemplo, el usuario podría seleccionar la parte superior del teléfono y entonces
mover el ratón para rotarlo. La etapa de aplicación debe informar del movimiento
del ratón al sistema gráfico.
• Otro ejemplo podría ser el movimiento de una cámara a lo largo de una ruta prede-
finida para mostrar el teléfono desde diferentes puntos de vista. Los parámetros de
la cámara, como la posición y la dirección de la vista, deben ser actualizados por
la aplicación. Por cada fotograma que renderizar, la etapa de aplicación informa de
la posición de la cámara, iluminación y primitivas del modelo a la siguiente etapa:
geometría.
CC-BY-NC-ND • PID_00194192 26 Realidad virtual y aumentada
2)�Geometría
3)�Rasterización
2.1.3. Consideraciones
Este pipeline gráfico es el resultado de años de evolución de las API y del hard- Lecturas recomendadas
ware gráfico en el ámbito de las aplicaciones de visualización en tiempo real
Robert�L.�Cook;�Loren�Car-
(real-time rendering applications). Es importante destacar que no es el único pi- penter;�Edwin�Catmull
peline gráfico. Los pipelines gráficos off-line han evolucionado mucho. El pro- (1987). “The Reyes image
rendering architecture”. SIG-
ceso de renderización para la producción de películas se lleva a cabo con otros GRAPH Comput. Graph. (vol.
4, núm. 21, agosto, pág.
tipos de pipelines.
95-102).
Eric�Tabellion;�Arnauld�La-
Durante muchos años, para los desarrolladores de aplicaciones la única ma- morlette (2004). “An appro-
ximate global illumination
nera de utilizar el proceso descrito anteriormente fue mediante el pipeline�de system for computer gene-
rated films”. En: Joe Marks
función�fija disponible en la API gráfica en uso. (ed.). Papers (SIGGRAPH ’04,
pág. 469-476). Nueva York:
ACM.
2.2.1. Direct X
Para los programadores esta librería gráfica ofrece varios beneficios. Al poder
hacer uso de estas librerías, que son una colección de archivos DLL, los desa-
rrolladores no han de tomar en consideración todas las variables del entorno
donde se estaría ejecutando la aplicación. Por ejemplo, el desarrollador no tie-
ne que saber qué tarjeta gráfica o de audio tiene el usuario en el ordenador.
DirectX es una capa intermedia que lleva toda la comunicación entre la apli-
cación y los componentes del ordenador.
• DirectDraw - Gráficos 2D
• Direct3D - Gráficos 3D
• DirectSound - Sonido 2D
• DirectSound3D - Sonido 3D
• DirectMusic - Música
• DirectPlay - Red/Multiusuario
CC-BY-NC-ND • PID_00194192 28 Realidad virtual y aumentada
2.2.2. OpenGL
• OpenGL Utility Library (GLU). Contiene rutinas que utilizan mandos Observación
OpenGL a bajo nivel para ejecutar tareas como inicializar matrices de es-
Cabe señalar que no hay nin-
pecificación de vistas, proyecciones, etc. gún coste para el desarrollo de
una aplicación que utiliza la
API OpenGL.
• OpenGL Utility Toolkit (GLUT). Como se ha indicado antes, OpenGL no
provee funcionalidades para gestionar ventanas ni leer datos de un teclado
o ratón. Para solucionarlo, surgen librerías como GLUT, dependientes del
sistema operativo.
CC-BY-NC-ND • PID_00194192 29 Realidad virtual y aumentada
3.1. Introducción
Desde la perspectiva del usuario, esto significa que cuando se utiliza un HMD
(casco montado en la cabeza), la vista cambia cuando se mira hacia arriba,
abajo, izquierda y derecha. También cambia si se inclina la cabeza en un án-
gulo o se mueve la cabeza hacia delante o hacia atrás sin cambiar el ángulo de
la vista. El dispositivo de la HMD informa a la etapa de aplicación dónde se
está mirando, y la CPU envía las imágenes correctas a las pantallas de la HMD.
CC-BY-NC-ND • PID_00194192 31 Realidad virtual y aumentada
Cada sistema de seguimiento tiene un dispositivo que genera una señal (por
ejemplo, emisor), un sensor que detecta la señal y una unidad de control que
procesa la señal y envía la información a la etapa de aplicación. Algunos sis-
temas requieren que se conecte el sensor al usuario (o al equipo del usuario).
En este tipo de sistema, se colocan los emisores de señal en puntos fijos del
entorno. Algunos sistemas están al revés, con el usuario llevando los emisores
mientras está rodeado por sensores colocados dentro del entorno, como sería
el caso del casco.
3.2. Taxonomía
Los sistemas de navegación inercial (INS) se generalizaron para los barcos, sub-
marinos y aviones en la década de los cincuenta, antes de que la realidad vir-
tual o los gráficos por ordenador fueran concebidos, pero fueron de las últimas
tecnologías que se adoptaron como dispositivos de entrada de los sistemas
gráficos. La razón es sencilla: un INS contiene giroscopios de alta precisión
que pesan�demasiado como para ser conectados al cuerpo de una persona.
Hasta la llegada de los sistemas microelectrónicos en la década de los noventa
no empezó el desarrollo de los dispositivos de entrada inerciales (podéis ver
la figura 23).
Hoy en día, los sensores inerciales son completamente autónomos, por lo que
no es necesario instalar emisores, ya que son capaces de emitir la información.
Además, no son sensibles a las interferencias electromagnéticas o al ruido am-
biente.
Los sistemas magnéticos se basan en mediciones del vector del campo magné-
tico al sensor, utilizando magnetómetros o la corriente inducida en una bobi-
na electromagnética cuando un cambio en el campo magnético pasa a través
de la bobina. Tres sensores magnéticos ortogonalmente orientados en un sen-
sor único pueden proporcionar un vector 3D que indica la orientación de la
unidad respecto al entorno (podéis ver la figura 24).
4.1. Introducción
Los videojuegos nos han entretenido durante casi treinta años. Desde que
Pong se introdujo en las máquinas recreativas en la década de los setenta, los
gráficos de ordenador se han vuelto mucho más sofisticados, tanto es así que
los gráficos están empujando las barreras del realismo fotográfico. Actualmen-
te, una nueva tecnología, denominada realidad�aumentada, difumina la lí-
nea entre lo que es real y lo que es generado por ordenador mediante la mejora
de lo que vemos, oímos, tocamos y olemos.
Figura 27
El sistema de realidad aumentada SixthSense permite proyectar un teclado del teléfono a la mano y el teléfono de un amigo –
sin sacar el teléfono de su bolsillo.
4.2. Caracterización
Lecturas recomendadas
Más formalmente, la realidad aumentada es una variación del concepto
de entorno virtual, o realidad virtual. R.�T.�Azuma (agosto, 1997).
“A Survey of Augmented
Reality”. Presence: Teleopera-
tors and Virtual Environments
(vol. 4, núm. 6).
El entorno es real y se aumenta incluyendo elementos virtuales, como texto,
R.�T.�Azuma;�Y.�Baillot;�R.
gráficos 2D, objetos 3D, sonidos, percepciones táctiles, etc., es decir, la realidad Behringer;�S.�Laborable;�S.
aumentada trata de aumentar el entorno del mundo real con información vir- Julier;�B.�MacIntyre (2001).
“Recent Advances in Aug-
tual para mejorar el conocimiento y las sensaciones del usuario. En resumen, mented Reality”. Computers
Graphics (noviembre).
combina elementos virtuales con elementos del mundo real. Hay tres caracte-
rísticas fundamentales y comunes en los sistemas de realidad aumentada:
• la combinación del entorno del mundo real con elementos generados por
ordenador,
• la interactividad en tiempo real y
• las escenas en 3D (podéis ver la figura 28).
Figura 28. Sistema de realidad aumentada en un dispositivo móvil: App Wikitude en un iPhone
4
4.2.2. Portabilidad
4.4. Localización
4.5. Aplicaciones
4.5.1. Medicina
4.5.3. Anotación