DESARROLLO DE APLICACIONES CON INTERACCIÓN … · CON INTERACCIÓN MULTIMODAL . PARA PERSONAS...

42
DESARROLLO DE APLICACIONES CON INTERACCIÓN MULTIMODAL PARA PERSONAS CIEGAS García, Roberto

Transcript of DESARROLLO DE APLICACIONES CON INTERACCIÓN … · CON INTERACCIÓN MULTIMODAL . PARA PERSONAS...

DESARROLLO DE APLICACIONES

CON INTERACCIÓN MULTIMODAL

PARA PERSONAS CIEGAS

García, Roberto

DESARROLLO DE APLICACIONES

CON INTERACCIÓN MULTIMODAL

PARA PERSONAS CIEGAS

Primera edición digital

Octubre, 2013

Lima - Perú

©García, Roberto

PROYECTO LIBRO DIGITAL

PLD 0672

Editor: Víctor López Guzmán

http://www.guzlop-editoras.com/[email protected] facebook.com/guzlop twitter.com/guzlopster731 2457 - 999 921 348Lima - Perú

PROYECTO LIBRO DIGITAL (PLD)

El proyecto libro digital propone que los apuntes de clases, las tesis y los avances en investigación (papers) de las profesoras y profesores de las universidades peruanas sean convertidos en libro digital y difundidos por internet en forma gratuita a través de nuestra página web. Los recursos económicos disponibles para este proyecto provienen de las utilidades nuestras por los trabajos de edición y publicación a terceros, por lo tanto, son limitados.

Un libro digital, también conocido como e-book, eBook, ecolibro o libro electrónico, es una versión electrónica de la digitalización y diagramación de un libro que originariamente es editado para ser impreso en papel y que puede encontrarse en internet o en CD-ROM. Por, lo tanto, no reemplaza al libro impreso.

Entre las ventajas del libro digital se tienen:• su accesibilidad (se puede leer en cualquier parte que tenga electricidad),• su difusión globalizada (mediante internet nos da una gran independencia geográfica),• su incorporación a la carrera tecnológica y la posibilidad de disminuir la brecha digital (inseparable de la competición por la influencia cultural),• su aprovechamiento a los cambios de hábitos de los estudiantes asociados al internet y a las redes sociales (siendo la oportunidad de difundir, de una forma diferente, el conocimiento),• su realización permitirá disminuir o anular la percepción de nuestras élites políticas frente a la supuesta incompetencia de nuestras profesoras y profesores de producir libros, ponencias y trabajos de investiga-ción de alta calidad en los contenidos, y, que su existencia no está circunscrita solo a las letras.

Algunos objetivos que esperamos alcanzar:• Que el estudiante, como usuario final, tenga el curso que está llevando desarrollado como un libro (con todas las características de un libro impreso) en formato digital.• Que las profesoras y profesores actualicen la información dada a los estudiantes, mejorando sus contenidos, aplicaciones y ejemplos; pudiendo evaluar sus aportes y coherencia en los cursos que dicta.• Que las profesoras y profesores, y estudiantes logren una familiaridad con el uso de estas nuevas tecnologías.• El libro digital bien elaborado, permitirá dar un buen nivel de conocimientos a las alumnas y alumnos de las universidades nacionales y, especialmente, a los del interior del país donde la calidad de la educación actualmente es muy deficiente tanto por la infraestructura física como por el personal docente.• E l pe r sona l docente jugará un r o l de tu to r, f ac i l i t ador y conductor de p r oyec tos

de investigación de las alumnas y alumnos tomando como base el libro digital y las direcciones electró-nicas recomendadas.• Que este proyecto ayude a las universidades nacionales en las acreditaciones internacionales y mejorar la sustentación de sus presupuestos anuales en el Congreso.

En el aspecto legal:• Las autoras o autores ceden sus derechos para esta edición digital, sin perder su autoría, permitiendo que su obra sea puesta en internet como descarga gratuita.• Las autoras o autores pueden hacer nuevas ediciones basadas o no en esta versión digital.

Lima - Perú, enero del 2011

“El conocimiento es útil solo si se difunde y aplica” Víctor López Guzmán Editor

ESTUDIOS DE I+D+I Número 29

Desarrollo de aplicaciones con interacción multimodal para personas ciegas

Autor: García, Roberto Filiación: Fundación LABEIN Contacto: Convocatoria: 2003

Para citar este documento:

GARCÍA, Roberto (2003). “Desarrollo de aplicaciones con interacción multimodal para personas ciegas”. Madrid, IMSERSO, Estudios I+D+I, nº 29. [Fecha de publicación: 18/08/2005]. <http://www.imsersomayores.csic.es/documentos/documentos/imserso-estudiosidi-29.pdf>

1

Portal Mayores | http://www.imsersomayores.csic.es

Resumen

Desarrollo de dos aplicaciones informáticas, partiendo del entorno de Realidad Virtual Haptico desarrollado en el proyecto europeo ”Computer graphics access for blind people through a haptic virtual environment” (GRAB), que permiten a personas ciegas interactuar táctilmente con escenas gráficas de ordenador con dos puntos de contacto, ayudas de audio y control a través de comandos de voz. Una de las aplicaciones GRAB es una herramienta para enseñar matemáticas, y la otra sirve para poder explorar e interactuar con modelos VRML. Se utilizaron técnicas avanzadas de Diseño Orientado Objetos (utilizándose como lenguaje de programación C++) y evolución de prototipos. Tras la experiencia experimental de seis personas, se considera que la aplicación educativa puede resultar útil en la enseñanza de conceptos matemáticos, puesto que los participantes percibieron la representación de diferentes figuras geométricas y conceptos matemáticos de manera fiel a la idea que ya tenían formada de los mismos. Los objetos importados de VRML se pueden reconocer, si de antemano se identifican a través de ayudas de audio, pero la dificultad aumenta en modelos que presenten cierta complejidad, como lo son muchos de los gráficos de Internet. No obstante es un paso hacia la accesibilidad a las nuevas herramientas de Información de uso masivo.

2

Portal Mayores | http://www.imsersomayores.csic.es

Memoria Justificativa

del Proyecto

APIMUL

“Desarrollo de aplicaciones con interacción

multimodal para personas ciegas”

LABEIN

ONCE-CIDAT

APIMUL Pág. 1/34

INDICE

1. DENOMINACIÓN DEL PROYECTO............................................................................ 2

2. ENTIDADES PARTICIPANTES ..................................................................................... 2

2.1. Fundación LABEIN..................................................................................................... 2

2.2. ONCE-CIDAT ............................................................................................................. 3

3. METODOLOGIA UTILIZADA....................................................................................... 4

3.1. ANTECEDENTES....................................................................................................... 4

3.2. DESCRIPCIÓN DEL SISTEMA GRAB..................................................................... 4

3.3. USO DEL SISTEMA GRAB EN EL PROYECTO APIMUL ..................................... 9

4. OBJETIVOS PREVISTOS ............................................................................................. 11

5. RESULTADOS OBTENIDOS........................................................................................ 13

5.1. APLICACIÓN DE MATEMATICAS....................................................................... 13

5.2. APLICACIÓN DE VRML ........................................................................................ 19

5.3. API DE COMUNICACIÓN CON EL DISPOSITIVO HAPTICO ............................ 27

5.4. VALIDACIÓN DE LOS RESULTADOS.................................................................. 27

6. CONCLUSIONES............................................................................................................ 32

Memoria justificativa

APIMUL Pág. 2/34

1. DENOMINACIÓN DEL PROYECTO

Título: Desarrollo de aplicaciones con interacción multimodal para personas ciegas

Acrónimo: APIMUL

2. ENTIDADES PARTICIPANTES

En el proyecto han participado estrechamente dos organizaciones:

• Fundación LABEIN � coordinador del proyecto y responsable del desarrollo del software.

• ONCE-CIDAT � responsable de la definición de los requisitos de las aplicaciones y su

validación.

2.1. Fundación LABEIN

Fundación LABEIN, Centro Tecnológico, es una fundación privada sin ánimo de lucro, cuya

misión es apoyar a las empresas y administraciones en sus necesidades de investigación e

innovación. Fue fundada en 1955, y en la actualidad se rige por la Ley 12/94 de Fundaciones del

País Vasco.

En el patronato de la fundación están presentes autoridades locales, provinciales y autonómicas,

así como más de 30 empresas (tanto pequeñas y medianas, como grandes empresas)

representativas de los sectores estratégicos de LABEIN.

LABEIN ofrece sus servicios a las Empresas, la Administración y la Sociedad en general,

mediante la aplicación innovadora de su conocimiento tecnológico avanzado y su capacidad

experimental, para incrementar la competitividad y satisfacer las demandas tecnológicas de sus

clientes. Para alcanzar dicho objetivo desarrolla las siguientes actividades:

• Proyectos de investigación científica y tecnológica subvencionadas por la financiación pública

de la I+D a través de Programas o Convenios específicos

• Proyectos y servicios de investigación científica y tecnológica, difusión de la innovación y

transferencia de tecnología bajo contrato con la Industria o la Administración

• Asistencia técnica (servicios de ensayos, control de calidad, normalización, documentación e

información industrial, instrumentación, análisis, dictámenes,…

• Formación e información técnica, así como formación y transferencia a la industria del entorno

de expertos tecnólogos.

Memoria justificativa

APIMUL Pág. 3/34

LABEIN se encuentra acreditado bajo la norma ISO 9000 y la EN 45001 para sus actividades de

desarrollo de proyectos y sus actividades como laboratorio. LABEIN forma parte de SARETEK

(Red Vasca de Ciencia, Tecnología e Innovación), EITE (Asociación Vasca de Centros de

Investigación Tecnológica), FEDIT (Federación Española de Entidades de Investigación y

Tecnología), EARTO (European Association for Research Organizations), etc.

LABEIN cuenta con cuatro unidades tecnológicas: Unidad de Mecánica, Unidad de Construcción,

Unidad de Energía y Unidad de la Sociedad e la Información y Desarrollo Regional. En este

proyecto ha participado la Unidad de Mecánica.

2.2. ONCE-CIDAT

ONCE-CIDAT es un centro tecnológico de ONCE, formado en 1985, donde se llevan a cabo las

actividades de investigación y desarrollo y que está a cargo de la realización y evaluación de

dispositivos especiales para vencer las discapacidades de los miembros de la ONCE en su vida

cotidiana.

Sus principales áreas de trabajo son:

1. Investigación y Desarrollo

2. Evaluación Mantenimiento y Reparaciones

3. Formación de Profesionales

4. Asesoramiento

5. Fabricación, Distribución y Comercialización

ONCE-CIDAT ofrece servicios a las personas ciegas a través de sus 33 oficinas y 41 centros

educativos repartidos por toda España. Participa en este proyecto como usuario final, poniendo

en práctica sus conocimientos y experiencia en la selección, definición y especificación de las

aplicaciones desarrolladas así como en su validación.

Memoria justificativa

APIMUL Pág. 4/34

3. METODOLOGIA UTILIZADA

Para el desarrollo del software del proyecto se han utilizado técnicas avanzadas de Diseño

Orientado Objetos (utilizándose como lenguaje de programación C++) y evolución de prototipos

(a lo largo del proyecto se han generado diferentes prototipos para que los usuarios finales

pudiesen testear su funcionalidad y detectar los principales problemas y debilidades lo antes

posible).

Las aplicaciones desarrolladas en el proyecto APIMUL están basadas en el sistema GRAB. A

continuación se da una breve explicación de las características de este sistema y la estrategia de

integración que se ha seguido.

3.1. ANTECEDENTES

Dentro del programa PITER del IMSERSO, LABEIN y ONCE participaron en el proyecto REVIT

(años 98 y 99) cuyo objetivo era investigar el uso de dispositivos hapticos (o de interacción

táctil) para el desarrollo de aplicaciones que permitieran a las personas ciegas, o con problemas

de visión, interactuar con entornos gráficos de ordenador mediante el tacto y con ayudas de audio.

Aunque los resultados de las pruebas realizadas fueron bastante buenos, se detectaron dos

limitaciones relacionadas con el dispositivo háptico utilizado (PHANToM): solo proporcionaba

un punto de contacto, lo que a veces dificultaba la tarea de exploración, y el espacio de trabajo

proporcionado era muy pequeño.

Continuando con esta línea de investigación, LABEIN y ONCE decidieron participar en el

proyecto europeo GRAB “Computer graphics access for blind people through a haptic virtual

environment” (IST-2000-26151) cuyo objetivo era el desarrollo de un nuevo entorno de realidad

virtual haptico que solventara las limitaciones detectadas en el proyecto REVIT.

3.2. DESCRIPCIÓN DEL SISTEMA GRAB

El nuevo sistema GRAB permite al usuario explorar objetos virtuales 3D con dos dedos: el

pulgar y el dedo índice de una mano (útil para simular el efecto “pinza”) o ambos dedos índices

(útil para mantener puntos de referencia). Mientras el usuario mueve los dedos sobre el objeto

virtual siente las fuerzas del contacto en las yemas de los dedos, siendo posible reconocer sus

características geométricas (tales como esquinas, bordes, curvatura,…) y las distancias y

relaciones espaciales entre los elementos. Durante la exploración táctil, el usuario puede también

escuchar mensajes de audio (texto/sonido) y ejecutar acciones especiales a través de comandos

Memoria justificativa

APIMUL Pág. 5/34

verbales o del teclado. En la pantalla del ordenador se visualiza la escena virtual y la posición de

los dedos del usuario en cada momento.

El sistema GRAB proporciona la funcionalidad básica para interactuar con modelos generales y

puede servir para el desarrollo de nuevas aplicaciones gráficas en distintas áreas (educación,

movilidad, juegos,..). La implementación de nuevas aplicaciones requerirá la implementación de

nuevas estructuras de datos y nuevas estrategias y algoritmos que permitan al usuario crear las

nuevas escenas virtuales e interactuar con ellas.

El nuevo sistema GRAB está basado en la integración de las tres herramientas explicadas a

continuación

3.2.1. Modelizador geométrico haptico

El modelizador geométrico haptico, desarrollado por LABEIN, permite la generación de las

escenas virtuales y proporciona los algoritmos necesarios para que el usuario interactúe con ellas

a través del tacto/audio/voz. Es el resultado de la implementación de una librería haptica sobe el

modelizador geométrico DATum.

DATum es un modelizador geométrico no-manifold desarrollado por LABEIN que puede leer

modelos diseñados en otros sistemas de CAD mediante ficheros STEP, Estándar Internacional

para la representación e intercambio de datos entre distintos sistemas (ISO 10303-AP.203).

Existen varias formas de representación geométrica dentro del campo del Modelado Sólido. Las

dos más importantes son: Constructive Solid Geometry (CSG) y Boundary Representation (B­

rep). En la primera forma, un modelo se define combinando sólidos primitivos (cilindros, conos,

esferas, toros, etc.) mediante operaciones Booleanas (unión, intersección y diferencia).

En la segunda representación un modelo se define mediante su contorno orientado, es decir, un

modelo se representa mediante la lista de caras orientadas que generan cada una de las regiones

(volúmenes) del modelo. Una cara queda definida por la lista ordenada de bordes que la generan

y un borde por sus vértices. Además, las caras están definidas sobre superficies, los bordes sobre

curvas y los vértices sobre puntos. De esta forma en el esquema B-rep de un modelo se

almacenan tanto los datos geométricos (puntos, curvas y superficies) como los topológicos

(vértices, bordes, caras).

Memoria justificativa

APIMUL Pág. 6/34

Para aprovechar las ventajas que presentan cada una de estas dos representaciones, DATum

utiliza un esquema de representación híbrida: cualquier modelo tiene asociado una representación

b_rep y puede ser combinado con otro modelo a través de operadores Booelanos.

DATum es un Modelizador No-manifold, es decir permite la representación unificada y

simultánea de modelos sólidos, modelos de superficies y modelos alambres, además de manejar

el concepto de "región". Un modelo puede estar formado por una o varias regiones distintas,

asociadas por ejemplo a distintos materiales.

La librería háptica proporciona los algoritmos que permiten al usuario interactuar con el mundo

virtual a través del sentido del tacto y con ayudas de audio. Estos algoritmos, ver figura 3.1

analizan la posición del usuario con respecto al objeto virtual teniendo en cuenta la acción

requerida por el usuario (explorar un objeto, mover un objeto,..) para obtener la correspondiente

ayuda de audio (texto/sonido) y el valor de la fuerza que será replicada en los dedos del usuario.

La mayoría de estos algoritmos están basados en la funcionalidad básica proporcionada por el

núcleo geométrico de DATum (inversión de puntos sobre curvas/superficies, intersección de

curvas/superficies,…)

Figura 3.1. Modelizador geométrico haptico

DATum

Modelizador Geometrico Haptico

Posición dedos Usuario

Acción de Usuario

Valores de Fuerzas

Mensaje de audio Librería Haptica

Los algoritmos de esta librería proporcionan la funcionalidad básica para interactuar con modelos

generales, nuevos tipos de modelos requerirán la implementación de nuevos algoritmos o la re­

implementación de alguno de los existentes pata mejorar la eficiencia del sistema.

3.2.2. ViaVoice

Herramienta de software de IBM que permite incorporar funcionalidad de alta calidad en las

aplicaciones que incorporan síntesis de voz (reproducción hablada de mensajes de texto) y

reconocimiento de voz. Ambas funcionalidades son soportadas en varios idiomas (castellano,

inglés,..). Para más información consultar su página WEB: http://www­

3.ibm.com/software/speech/dev

Memoria justificativa

APIMUL Pág. 7/34

3.2.3. Dispositivo haptico GRAB

Los dispositivos hapticos son capaces de replicar fuerzas en el dedo del usuario proporcionándole

la sensación de interacción real con el objeto virtual.

El dispositivo desarrollado por PERCRO (Escuela Superior de Santa Ana en Pisa) en el

proyecto GRAB consiste de dos brazos coordinados, cada uno con seis grados de libertad, que

permiten ejercer fuerzas sobre los dedos del usuario, ver figura 3.2. Durante la exploración, el

usuario puede utilizar el pulgar y el dedo índice de una mano o los dos dedos índices.

Figura 3.2. Dispositivo haptico GRAB

Cada brazo consiste en un dedal inerte acoplado a una cadena movida en serie 2R+1P. Su

específica cinemática diferencial alcanza un alto grado de rígidez e isotropía mientras

proporciona una inercia baja sobre las puntas de los dedos.

El dispositivo ha sido diseñado de manera que el espacio de trabajo compuesto por los dos

brazos pueda cubrir una gran extensión: de 600 mm de ancho, 400 mm de alto y 400 mm de

fondo. Mientras se opera en el centro del espacio de trabajo, un peso compensa la masa móvil

del cilindro, reduciendo de ese modo la cantidad de torsión requerida desde los motores. Los

motores han sido diseñados de tal forma que el dispositivo puede ejecutar una fuerza de al

menos 4 N en cualquier punto del espacio de trabajo, si bien los valores más altos pueden ser

alcanzados en el centro. La fuerza pico de 12 N puede ser alcanzada durante un espacio de

tiempo corto.

Memoria justificativa

APIMUL Pág. 8/34

3.2.4. Arquitectura del sistema GRAB

La interacción del usuario con el sistema GRAB involucra distintas actividades: interacción

táctil, ayudas de audio, reconocimiento de comandos verbales y representación de la escena

virtual. Para proporcionar al usuario una sensación realista de interacción con la escena virtual es

necesario que todas estas actividades estén gestionadas, sincronizadas y ejecutadas con la

frecuencia correcta.

La figura 3.3 muestra la arquitectura del sistema GRAB. Mientras el usuario está interactuando

con una escena virtual, varios procesos son ejecutados simultáneamente:

Dispositivo hapticoGRAB

Modelizador geométrico

haptico

Proceso de gestión

Obtener posiciónde los dedos

Replicar fuerzasen los dedos

Analizar posición de los dedos

Calcular el valor de las fuerzas

Gestionar acción usuario

Obtener audio requerido

Reproducirayudas de

audio

Proceso de dibujo

Proceso haptico

Resultado de Interacción

Hos

t PC

Lib

rerí

a

Proceso de sintesis

Obtener audio automático

Dibujar

Reconocer comando verbal Proceso

reconocimiento de voz

ViaVoice

Control del teclado

Acción

SISTEMA GRABSISTEMA GRAB

Figura 3.3. Arquitectura del sistema GRAB

• “Proceso haptico” � es el responsable de la comunicación con el dispositivo haptico,

ejecutando el ciclo “obtener posición - analizar posición- replicar fuerza” con una frecuencia

constante de 1.000 Hz. La secuencia es la siguiente:

1) El usuario mueve los dedos en el espacio virtual

2) El dispositivo háptico detecta el movimiento de los dedos, obtiene su nueva posición y la

envía a la libraría háptica

Memoria justificativa

APIMUL Pág. 9/34

3) La librería háptica analiza la nueva posición de los dedos del usuario con respecto al

objeto/escena virtual para obtener el valor de las fuerzas y los correspondientes mensajes

de audio

4) El dispositivo háptico replica las fuerzas sobre los dedos del usuario

5) Empezar con el paso 1 de nuevo.

• “Proceso de Dibujo” � es el responsable de dibujar la escena virtual incluyendo cualquier

modificación dinámica (por ejemplo: la posición de los dedos del usuario,…) y controlar el

teclado para comprobar si el usuario ha pulsado alguna tecla especial para ejecutar una acción

específica.

• “Proceso de Reconocimiento de voz” � es el responsable de reconocer cualquier comando

verbal ejecutado por el usuario

• “Procedo de Gestión” � es el responsable de gestionar las acciones requeridas por el usuario

( a través de comandos verbales y/o el teclado) y generar las ayudas de audio (tanto de texto

como de sonido) teniendo en cuenta la posición del dedo del usuario y la información de la

interacción (por ejemplo apara enviar el nombre del objeto que el usuario está tocando,..).

• “Proceso de Síntesis” � es el responsable de reproducir las ayudas de audio generadas por el

proceso de gestión (ayudas de audio requeridas por el usuario) y/o el proceso haptico (ayudas

proporcionadas de forma automática por la aplicación)

3.3. USO DEL SISTEMA GRAB EN EL PROYECTO APIMUL

Como ya se ha dicho anteriormente, el sistema GRAB proporciona una plataforma para el

desarrollo de nuevas aplicaciones en distintos campos. En el proyecto APIMUL se seleccionaron

dos aplicaciones: una herramienta para enseñar matemáticas y otra aplicación para poder explorar

e interactuar con modelos VRML (INTERNET)

Como se explica en el apartado 5 de este documento, el desarrollo de estas aplicaciones ha

requerido la implementación de nuevas estructuras de datos (nuevos tipos de curvas, nuevos tipos

de modelos,…) y nuevas estrategias y algoritmos (en algunos casos re-implementación de algunos

algoritmos ya existentes) para permitir la creación/representación de las nuevas escenas virtuales

y permitir al usuario interactuar con ellas con la eficiencia requerida.

La figura 3.4 muestra la arquitectura del proyecto APIMUL. La conexión entre el modelizador

geométrico haptico y las nuevas aplicaciones se hace de forma natural aprovechando las

Memoria justificativa

APIMUL Pág. 10/34

características del diseño orientado a objetos (“jerarquía”, “herencia” y “polimorfismo”) que

permite añadir nuevos tipos de entidades sin modificar el resto de la funcionalidad del sistema.

Como se ve en la figura, toda la comunicación entre el dispositivo háptico y el modelizador

geométrico háptico se hace a través de un nuevo API (protocolo de comunicación) que se ha

desarrollado en el proyecto APIMUL. Este API permite aislar el código de las aplicaciones de las

particularidades de cada dispositivo y por tanto poder utilizar/integrar distintos dispositivos

hapticos. De esta forma, las aplicaciones de APIMUL podrán ser utilizadas tanto con PHANToM

como con el dispositivo GRAB y en el futuro se podrían utilizar otros dispositivos sin necesidad

de modificar las aplicaciones.

Dispositivohaptico

Modelizador geométrico

haptico

ViaVoice

SISTEMASISTEMA GRABGRABA

P I

A P

I

Enseñar Matemáticas

VRML (Internet)

APLICACIONES APIMULAPLICACIONES APIMUL

Diseño Orientado a Objetos

Figura 3.4 Arquitectura del proyecto APIMUL.

Memoria justificativa

APIMUL Pág. 11/34

4. OBJETIVOS PREVISTOS

El objetivo del proyecto APIMUL era el desarrollo de dos aplicaciones que permitieran a las

personas ciegas interactuar con entornos gráficos de ordenador mediante el sentido del tacto,

ayudas de audio y comandos verbales. Estas dos aplicaciones no sólo se deberían enmarcar en

el ámbito de I+D, sino que además deberían poder ser utilizadas por los usuarios finales en sus

vidas diarias y por los profesionales de la ONCE en sus actividades diarias de enseñanza y

rehabilitación.

Las dos nuevas aplicaciones se iban a

desarrollar sobre el entorno de Realidad Virtual

Haptico desarrollado en el proyecto europeo

GRAB, en el que participan tanto LABEIN como

CIDAT. Como ya se ha mencionado en la

sección anterior, el sistema GRAB permite a las

personas ciegas interactuar con entornos gráficos

de ordenador mediante el sentido del tacto (con 2

puntos de contacto, ver figura 4.1), con ayudas

de audio y controladas a través de comandos de voz. Figura 4.1. sistema GRAB

El sistema GRAB proporciona una plataforma para el desarrollo e implementación de nuevas

aplicaciones que permitan a las personas ciegas interactuar táctilmente con escenas gráficas de

ordenador.

Durante la primera fase del proyecto se seleccionaron las dos aplicaciones que se iban a

desarrollar en el proyecto APIMUL. En esta selección, en la que participaron educadores y

rehabilitadores de la ONCE y los propios desarrolladores de las aplicaciones, se tuvieron en

cuenta tanto las características del sistema GRAB, como los posibles campos de aplicación

(Educación, Inclusión social e independencia, Mejora de empleo, Entretenimiento,…) y los

criterios que se consideraron más críticos (impacto en la calidad de vida de las personas ciegas,

responde a una necesidad existente, oportunidad de éxito,….). Tras analizar todos estos factores

se decidió implementar:

• Una aplicación en el campo de la educación � aplicación para la ayuda en la enseñanza de

matemáticas

Memoria justificativa

APIMUL Pág. 12/34

• Una aplicación en el campo de la accesibilidad a nuevas herramientas de la Sociedad de la

Información de uso masivo � herramienta para poder explorar, reconocer e interactuar con

modelos VRML, formato standard de gráficos 3D utilizado en INTERNET.

Todos los objetivos se han cumplido satisfactoriamente, como se describe en los siguientes

apartados de este documento.

Memoria justificativa

APIMUL Pág. 13/34

5. RESULTADOS OBTENIDOS

En los siguientes apartados se describe el trabajo realizado en el proyecto APIMUL así como los

resultados obtenidos durante la validación de las dos nuevas aplicaciones.

5.1. APLICACIÓN DE MATEMATICAS

Las matemáticas y la geometría se basan en conceptos abstractos que se presentan a menudo

visualmente, por ejemplo curvas de la función, dibujos y diagramas geométricos,... El objetivo

fundamental de esta aplicación es proporcionar una herramienta que facilite al usuario el

entendimiento y aprendizaje de estos conceptos matemáticos que normalmente resultan complejos

de entender para las personas ciegas.

Frente a los métodos tradicionales, la nueva aplicación desarrollada en APIMUL presenta la

ventaja fundamental del dinamismo. En cualquier momento se pueden modificar los valores de

una figura determinada y observar el nuevo resultado. Sin embargo, en papel, es necesario crear

nuevos modelos cada vez que se quiere cambiar una representación.

La nueva aplicación de matemáticas aborda las siguientes areas (en la figura de la derecha se

puede ver el menú del interface de usuario de la aplicación de matemáticas)

• Desarrollo de la capacidad espacial por medio de juegos educativos.

• Aprendizaje de tipos de ángulos

• Aprendizaje de curvas:

- Tipos de curvas: curvas abiertas, curvas cerradas y gráficas de función

- Puntos especiales de una curva: mínimo, máximo, puntos de inflexión

- Intersección de curvas y tangencias

• Aprendizaje de figuras geométricas tanto en 2D (círculo, triángulo,..) y 3D

(cubos, esferas,..)

• Conceptos de trigonometría

• Estudio de simetrías

• Explicación de las transformaciones geométricas: escalado, translación y rotación.

Memoria justificativa

APIMUL Pág. 14/34

5.1.1. Nuevas entidades para las escenas matemáticas

Utilizando el mecanismo para crear nuevas entidades proporcionado por el modelizador DATum

(su diseño orientado a objetos permite la definición de nuevas entidades sin modificar el resto de

la funcionalidad del sistema) para la implementación de la aplicación de matemáticas se han

implementado distintas entidades (ver figura 5.1.1):

Figura 5.1.1 Nuevos datos para la aplicación de matemáticas

DATum MODEL

Math_trajectory

Herencia

ATTRIBUTE

Critic_point

V_SOLID

Math_scene

CURVE

Elipse Parabola Hiperbole

Nuevas escenas

• “Math_scene” � representa al grupo de objetos que componen una escena matemática (por

ejemplo: una línea los ejes coordenados y el plano donde están situados)

Nuevos modelos

• “Math_trajectory” � modelo definido por una curva o grupo de curvas. Por ejemplo una

escena matemática compuesta de una gráfica de función y los ejes coordenados estará definida

por tres modelos de este tipo: uno para la gráfica y otros dos para cada uno de los ejes

coordenados. Este modelo es un modelo especial puesto que no tiene ninguna entidad

topológica (cara, borde vértice) y por tanto la forma de interaccionar con él también es

especial. Como se explica más adelante, el usuario se deslizará a lo largo de la curva que lo

define.

Nuevos atributos

• “Critic_point·” � este atributo es utilizado para guardar información sobre los puntos críticos

de una curva/gráfica (como el mínimo, máximo, puntos de inflexión,...). Este atributo es creado

automáticamente por el sistema al crear la escena, analizando las características de las curvas

que componen la escena, pero además el educador puede crear un atributo de este tipo en

cualquier otro punto. Este atributo es utilizado durante la exploración haptica (para

proporcionar, como se explica más adelante, tanto ayudas de audio especiales como efectos

hapticos)

Memoria justificativa

APIMUL Pág. 15/34

Nuevas curvas

• Elipse � para representar una curva de tipo: elipse

• Parabola � para representar una curva del tipo: parábola

• Hiperbole � para represenatr una curva del tipo: hipérbole

5.1.2. Cómo crear escenas matemáticas

Para explicar cada uno de los conceptos que aborda la aplicación, el educador dispondrá de al

menos una escena matemática (aunque para muchas tareas se proporcionan varias escenas).

Además, en cualquier momento el educador podrá crear nuevas escenas matemáticas. Para

facilitar esta tarea, la aplicación proporciona una librería de figuras y curvas (la figura 5.1.2

muestra algunas de ellas)

Figura 5.1.2. Algunos de los modelos y curvas de la librería proporcionada por la aplicación

Memoria justificativa

APIMUL Pág. 16/34

5.1.3. Cómo explorar escenas matemáticas

La figura 5.1.3 muestra a un usuario explorando las simetrías de una curva con la nueva

aplicación de APIMUL.

Fig. 5.1.3. Estudiando simetrías con la nueva aplicación.

Podemos clasificar las escenas matemáticas de esta aplicación en dos grupos:

• Escenas compuestas de modelos en 3 dimensiones � los juegos educativos, la exploración de

formas geométricas, tanto 2D (círculo, triángulo, pentágono,..) como 3D (cubo, cilindro,…), el

aprendizaje de las transformaciones geométricas,.... En estas escenas el usuario podrá explorar

libremente los objetos virtuales de las escena.

• Escenas compuestas por curvas/ejes coordenados (eje X y eje Y) contenidas en un plano � la

exploración de ángulos, curvas abiertas, curvas cerradas, curvas generales, simetrías,… En

estas escenas el usuario se moverá libremente por el espacio virtual y por el plano que

contiene a la curva(s)/eje(s) hasta intersecar con alguna de ellas, a partir de entonces el

usuario se moverá a lo largo de la misma curva/eje hasta que deje el plano, es decir levante el

dedo. Esta forma de exploración restringirá el movimiento del usuario a la curva/eje

facilitando su exploración y reconocimiento. Además, cuando el usuario llegue a un punto de

intersección de dos curvas o de una curva y un eje de coordenadas el usuario lo sentirá

hapticamente a través de un “salto virtual”. Lo mismo ocurre para los puntos especiales de una

curva general: mínimos, máximos, puntos de inflexión,..

Memoria justificativa

APIMUL Pág. 17/34

En ambos casos, durante la exploración haptica el sistema puede enviar mensajes de audio de

forma automática, como por ejemplo:

• El nombre del elemento que esté tocando

• Mensaje de “inicio” o “final” cuando el usuario llega al inicio o al final de una curva o eje

• Mensaje de “máximo” o “mínimo” cuando el usuario pasa por un máximo o mínimo de una

curva

Además en cualquier momento, el usuario puede requerir cualquiera de las siguientes utilidades:

• Preguntar el nombre � obtener el nombre de la entidad que el usuario está tocando con el

dedo que tiene el control. Si el usuario no está tocando nada obtendrá el nombre de la escena

• Preguntar la descripción � obtener la descripción de la entidad que el usuario está tocando

con el dedo que tiene el control. Si el usuario no está tocando nada obtendrá la descripción de

la escena

• Preguntar la distribución alrededor del usuario� obtener el número de modelos que están

alrededor del dedo del usuario que tiene el control, en el siguiente orden: a la derecha,

enfrente, a la izquierda, detrás, arriba, abajo, derecha/delante, izquierda/delante, derecha/detrás

e izquierda/detrás.

• Preguntar la distribución detallada � obtener el número y nombre de modelos que están

alrededor del dedo del usuario que tiene el control, en el siguiente orden: a la derecha,

enfrente, a la izquierda, detrás, arriba, abajo, derecha/delante, izquierda/delante, derecha/detrás

e izquierda/detrás.

• Preguntar por los modelos no explorados � obtener el número de modelos no explorados que

están alrededor del dedo del usuario que tiene el control, en el siguiente orden: a la derecha,

enfrente, a la izquierda, detrás, arriba, abajo, derecha/delante, izquierda/delante, derecha/detrás

e izquierda/detrás.

• Preguntar valor de la posición (solo para el caso de curvas) � obtener el valor de la posición

del usuario sobre la curva, por ejemplo: “x=2,y=20”.

• Activar/desactivar “Encontrar modelos no explorados”� Para recibir (o no) fuerzas de

atracción, en el dedo del usuario que tiene el control, de los modelos que no han sido

explorados todavía para conseguir encontrarlos fácilmente. Cuando el usuario llega a un

modelo no explorado esta fuerza de atracción es desactivada automáticamente, así el usuario

puede continuar buscando otros modelos no explorados (accionando de nuevo esta ayuda).

Esto quiere decir que el efecto de esta ayuda finaliza cuando un modelo no explorado es

Memoria justificativa

APIMUL Pág. 18/34

encontrado.

� Hacer zoom in � explorar los objetos virtuales cuyo tamaño es muy pequeño o muy grande.

El zoom es controlado por el dedo del usuario que tiene el control.

� Hacer zoom out � explorar un objeto virtual con su tamaño real.

� Hacer zoom out “tamaño dispositivo”� escalar el objeto al espacio de trabajo del dispositivo

haptico y tener de esta forma acceso a cualquier punto del objeto directamente.

� Mover el espacio de trabajo (“panning”) � para tener acceso a cualquier punto del entorno

virtual aunque su tamaño sea más grande que el espacio de trabajo del dispositivo. Mientras

se mueve el espacio de trabajo el dedo que tiene el control está fijo en el objeto virtual. Cada

movimiento del dedo trasladará el objeto entero. De esta forma, el usuario puede mover el

espacio virtual interactivamente y tener acceso a cualquier punto del objeto aunque su tamaño

sea más grande que el espacio de trabajo virtual. El movimiento será controlado por el dedo

del usuario que tiene el control.

• Salir del comando

• Parar el mensaje de audio que esté oyendo

Para ejecutar estas utilidades el usuario podrá hacer uso del teclado, los comandos verbales y en

algunos casos del efecto haptico “estar parado”. Por ejemplo, para requerir el nombre del

elemento que el usuario está tocando, bastaría con que el usuario estuviese parado sobre el

elemento durante un cierto tiempo (normalmente 2 segundos).

5.1.4. Reproducir sesión de trabajo

Mientras el usuario está explorando una escena matemática, el movimiento de los dedos del

usuario es registrado automáticamente en un archivo. Luego el educador o rehabilitador puede

reproducir y visualizar de nuevo la sesión para poder estudiar y analizar la estrategia seguida por

el usuario y detectar sus principales dificultades y poder de esta forma preparar ejercicios más a

su medida.

Memoria justificativa

APIMUL Pág. 19/34

5.2. APLICACIÓN DE VRML

El objetivo final de esta aplicación es mejorar el acceso a Internet para las personas ciegas o

visualmente impedidas. Internet tiene hoy en día un gran impacto en nuestras vidas. A través de la

Web podemos acceder rápidamente a distinta información y realizar servicios como comprar on

line, acceder a catálogos de productos, aprender a distancia…. Sin embargo, las personas ciegas o

visualmente impedidas no obtienen todas estas ventajas debido a la inaccesibilidad de la

tecnología. Además, si este problema de inaccesibilidad no es resuelto, la diferencia podría llegar

a ser tanto mayor cuánto más avances en tecnologías de la información haya.

Actualmente para acceder a Internet, las personas ciegas pueden utilizar distintas herramientas de

tecnología asistida (principalmente basadas en texto): lectores de pantalla, software de

ampliación, dispositivos de Braille,…Sin embargo, gran parte del contenido de la Web está

basado en gráficos, y esta información no puede ser fácilmente interpretada por estas

herramientas.

VRML (Lenguaje de modelado de realidad virtual) es un modelador de gráficos en 3D reconocido

como estándar internacional por la ISO e IEC (ISO/IEC 14772) y que se utiliza para la simulación

interactiva en la Web. Hoy en día, multitud de páginas Web contienen mundos virtuales creados

con VRML.

La aplicación que ha sido desarrollada en el proyecto APIMUL proporciona:

• un traductor de VRML (versión 2.0) que

nos permita cargar los mundos virtuales de

la web en nuestro sistema. La figura 5.2.1

muestra la visualización de un modelo

importado de un fichero VRML con la

aplicación APIMUL. En la parte superior

derecha aparece ese mismo modelo

visualizado con el programa Cosmo Player

(programa que permite visualizar mundos

VRML en nuestro navegador). Fig. 5.2.1. Silla importada de VRML, parte

superior derecha la silla con Cosmo Player.

• las utilidades necesarias para poder explorar e interactuar con estos mundos virtuales a través

del tacto y con ayudas de audio

Memoria justificativa

APIMUL Pág. 20/34

5.2.1. Descripción VRML

VRML proporciona un formato de fichero para describir objetos (geometría 3D, datos MIDI,

imágenes JPEG, etc..) a través de una escena gráfica o estructura de datos jerárquica compuesta

de nodos.. Los nodos de geometría que pueden ser definidos son los siguientes:

1) Box

Este nodo especifica un paralelepídedo rectangular, centrado por defecto en el (0,0,0) en el

sistema local de coordenadas, y alineado con los ejes del mismo. Las dimensiones que se toman

por defecto son 2 en cada uno de los ejes, empezando desde -1, y terminando en 1.

2) Cone

Este nodo especifica un cono centrado en el centro del sistema local de coordenadas, y alineado a

lo largo del eje y. En el campo “bottomRadius” se especifica el radio de la base del cono, y en el

campo “height” se especifica la altura desde el centro de la base hasta el vértice. Ambos valores

tienen que ser mayores que 0 y por defecto se asumen los valores arriba especificados.

3) Cylinder

Este nodo especifica un cilindro centrado en el origen del sistema de coordenadas local, con el eje

axial orientado a lo largo del eje y. El cilindro tiene dos campos, “height” y “radius”, que

especifican la altura y el radio del mismo. Ambos valores tienen que ser mayores que 0 y por

defecto se asumen los valores arriba especificados..

4) Sphere

Este nodo especifica una esfera centrada en el origen del sistema de coordenadas. El campo

“radius” especifica el radio de dicha esfera, y debe de ser mayor que 0.0.

5) IndexedFaceSet

Este nodo representa una forma 3D construida a base de facetas (polígonos), definidas por una

lista de vértices almacenados previamente en un nodo Coordinate.

6) IndexedLineSet

Este nodo representa una forma 3D construida a base de polilíneas, definidas por una lista de

vértices almacenados previamente en un nodo Coordinate

Memoria justificativa

APIMUL Pág. 21/34

5.2.2. Importar un modelo VRML

Durante el proyecto APIMUL se ha desarrollado un traductor VRML (versión 2.0) para poder

importar escenas virtuales de VRML en nuestro sistema. Como se ha mencionado en el apartado

anterior, los modelos representados en una escena virtual de VRML pueden venir dados:

• por la combinación de primitivas tradicionales (cubos, cilindros,…), ver figura 5.2.2 (silla

formada por la unión de cilindros y bloques). En este caso, el modelo puede ser importado

directamente haciendo uso de las primitivas ya implementadas en el modelizador geométrico

DATum.

Fig. 5.2.2: Modelo importado de VRML compuesto por primitivas

• por un conjunto de polígonos, ver figura 5.2.3 (modelo formado por polígonos, en su mayoría

triángulos y rectángulos).

Fig. 5.2.3.: Modelo poligonal importado de VRML.

Memoria justificativa

APIMUL Pág. 22/34

En este caso, debido al gran volumen de datos (polígonos) que puede contener una escena virtual

y a que VRML no es un modelizador geométrico con lo cuál los modelos pueden tener

inconsistencias (por ejemplo que todos los puntos de un polígono no

estén sobre el plano que lo define, o polígonos que estén mal

orientados, o polígonos que se intersequen entre sí pero no a lo largo

de un borde o vértice común como se ve en la figura adjunta) y puede

haber problemas de tolerancias (por ejemplo que dos vértices estén muy próximos, o que lo estén

dos bordes) se ha implementado una nueva estructura de datos para representar este tipo de

modelos. El nuevo traductor además corrige los problemas de tolerancias explicados

anteriormente

Nueva estructura de datos

Utilizando el mecanismo para crear nuevos modelos proporcionado por el modelizador DATum

se ha implementado un nuevo tipo de modelo “poly_mesh” para representar modelos poligonales,

ver figura 5.2.4.

Figura 5.2.4. Creando un nuevo tipo de modelo: modelo poligonal -“poly_mesh”

DATDATumumMODEL

B_REP PRIMITIVESCSG SWEPT­MODELS

POLY_MESH

Herencia

Su definición es muy similar a la definición de un modelo B_rep, dada al comienzo de este

documento, aunque más simple debido principalmente a que la geometría es plana y las caras no

tienen contornos interiores. Como se muestra en la parte izquierda de la figura 7.2.5, un modelo

“poly_mesh” se define mediante su topología, es decir, se representa mediante la lista de caras

orientadas que genera el modelo. Cada cara queda definida por la lista ordenada de bordes que la

generan y un borde por sus vértices. La parte derecha de la figura 7.2.4. muestra las nuevas

entidades topológicas que se han implementado para representar el modelo poligonal

“poly_mesh”: caras poligonales (“face_pm”), bordes rectos (“edge_pm”), usos de bordes

(“edge_u_pm” representa el uso de un borde por una cara) y vértices (“vertex_pm”).

Memoria justificativa

APIMUL Pág. 23/34

Figura 5.2.5. Entidades topológicas del nuevo modelo poligonal.

DATumTOPOLOGY

Face_pm Edge_pm Vertex_pm Edge_u_pm

Herencia

Face_pm

Edge_pm

Vertex_pm

Poly_mesh

Topología

Nuevos operadores básicos para manipular el modelo poligonal

Para manejar la nueva estructura topológica del modelo poligonal ha sido necesario la

implementación de nuevos operadores básicos:

• “Operadores de referencia” � permiten conseguir las relaciones de adyacencia que existen

entre las diferentes entidades topológicas de un modelo poligonal. Las principales funciones

de referencia que se han implementado son las siguientes:

1. Obtener la lista de caras que generan un poly_mesh.

2. Obtener la lista de bordes que pertenecen a un poly_mesh.

3. Obtener la lista de vértices que pertenecen a un poly_mesh

4. Obtener la lista ordenada de bordes y vértices que generan una cara.

5. Obtener la lista de caras que comparten un borde dado.

6. Obtener la lista de caras que llegan a un vértice dado.

7. Obtener la lista de bordes que llegan a un vértice dado.

8. Obtener la lista de caras que generan un volumen cerrado.

• “Operadores de Euler” � permiten crear, modificar y borrar las diferentes entidades

topológicas de un modelo poligonal. Son los únicos operadores que pueden manipular la

estructura topológica directamente, el resto de los operadores tendrán que hacer uso de estos

operadores para modificar la estructura. Los operadores generales de Euler que se han

implementado son los siguientes:

1. Crear un poly_mesh � Mpoly_mesh

Memoria justificativa

APIMUL Pág. 24/34

2. Crear un vértice � MV_pm

3. Crear un vértice y un borde entre un punto dado y un vértice ya existente � MEV_pm

4. Crear un borde entre dos vértices existentes � ME_pm (el nuevo borde podrá generar una

nueva cara)

5. Crear una cara � MF_pm

6. Borrar una cara � KF_pm (este operador borrará una cara pero no los bordes que la

forman)

7. Borrar un borde � KE_pm (si el borde pertenece a dos caras definidas por el mismo plano,

las dos caras serán unidas en una).

8. Borrar un vértice � KV_pm

Nuevos operadores avanzados para manipular el modelo poligonal

Haciendo uso de los operadores básicos explicados anteriormente, se han implementado los

siguientes operadores de alto nivel encaminados a mejorar la interacción haptica con modelos

poligonales:

• Simplificar modelo � este operador simplifica un modelo importado de VRML borrando los

bordes que estén separando dos caras definidas por el mismo plano y uniendo dichas caras,

ver figura 5.2.6. Como resultado de esta operación, se reduce el número de caras (polígonos)

y bordes y por tanto el vólumen de datos del modelo ( factor importante durante la exploración

haptica).

Fig. 5.2.6. A la izquierda el modelo sin simplificar y a la derecha el modelo simplificado.

Memoria justificativa

APIMUL Pág. 25/34

• Unir modelos � este operador crea el modelo resultante de la union de dos modelos dados,

ver figura 5.2.7. Muchas veces un modelo sólido (que genera un volumen cerrado) es definido

en VRML por varios modelos de superficies (por ejemplo un cubo, en vez de definirlo por un

modelo compuesto de 6 polígonos es definido por 6 modelos definidos cada uno de ellos por

un polígono) otras veces un ínico modelo sólido es representado por varios modelos (como la

cafetera de la figura).

Fig. 5.2.7. A la derecha el resultado de unir todos los modelos que forman la cafetera

• Cerrar volúmen � si un modelo no es sólido (no genera un volumen cerrado) este operador

intenta cerrarlo creando las caras necesarias. Que un modelo no sea cerrado no es importante

en la visualización (VRML es tan sólo un visualizador) pero si lo es para la exploración

haptica. En la figura 5.2.8, vemos que las patas del sofá no están cerradas y es importante

cerrarlas porque el usuario al explorar el sofá podría introducirse dentro, desfigurando la

realidad.

Fig. 5.2.8.: Sofá leído de un fichero de VRML.

Memoria justificativa

APIMUL Pág. 26/34

5.2.3. Explorar un modelo de VRML

Una vez que un modelo virtual de VRML haya sido importado en nuestro sistema, el usuario

podrá interactuar con él a través del sentido del tacto y con ayudas de audio (si el diseñador

previamente le ha asociado información de audio). Además de explorar la forma del objeto, el

usuario podrá también explorar las características de su material como la textura, rigidez,

pegajosidad, .. si previamente el diseñador le ha asignado algún atributo de tipo material.

Como ya se ha dicho anteriormente, los algoritmos para tocar e interactuar con un modelo virtual,

por medio de un dispositivo háptico, están basados en el análisis de la posición del usuario con

respecto al objeto. Teniendo en cuenta las características de los modelos poligonales (gran

número de polígonos, irregularidad de los polígonos,..) y lo rápido que tiene que ser este análisis

de la posición para obtener la frecuencia requerida por los dispositivos hapticos, para este tipo de

modelos ha sido necesario implementar estrategias y algoritmos especiales como:

• Implementación de una jerarquía de cajas de la escena virtual que tenga en cuenta la

irregularidad de los modelos (unos polígonos muy grandes con respecto a otros que son

pequeños)

• Algoritmos eficientes para detectar la intersección entre un segmento (definido por la posición

anterior y la nueva) y un polígono y para calcular la proyección de un punto sobre el área

definida por un polígono

• Algoritmos para interpolar las fuerzas de contacto y asegurar la “continuidad” en las fuerzas

recibidas. Cambios bruscos en el valor yo/ dirección de la fuerza recibida por el usuario hace

que la interacción no sea buena (saltos, golpes,…). Esto puede ocurrir por ejemplo en la

transición de un polígono a otro.

Durante la exploración de los modelos, el usuario podrá hacer uso de todas las utilidades

explicadas en el apartado 7.2 a través del teclado y/o comandos verbales.

5.2.4. Potencial para futuras aplicaciones

La nueva estructura de datos para representar modelos poligonales y los algoritmos

implementados para su exploración haptica podrán servir de base para futuras aplicaciones ya

que la representación poligonal es muy utilizada por muchos sistemas. Por ejemplo el formato

“DTM” (Digital Terrain Model) para el almacenamiento de mapas topográficos hace uso de esta

representación

Memoria justificativa

APIMUL Pág. 27/34

5.3. API DE COMUNICACIÓN CON EL DISPOSITIVO HAPTICO

Como ya se ha mencionado en la sección 5, en el proyecto APIMUL se ha implementado un API

(protocolo de comunicación) para conectar el dispositivo haptico con las nuevas aplicaciones

desarrolladas. Este API permite separar la implementación de las aplicaciones del dispositivo

haptico utilizado. De esta forma, las dos aplicaciones desarrolladas en el proyecto APIMUL

pueden ser usadas tanto con el dispositivo PHANToM como con el dispositivo GRAB.

Este API contiene las funciones básicas de comunicación y funcionamiento de un dispositivo

haptico: iniciar o resetear el dispositivo, obtener la posición del dedo(s) del usuario (de 1,2,3 ..

dedos dependiendo del número de puntos de contacto del dispositivo), mandar el valor de las

fuerzas que deben ser replicadas en el dedo/s del usuario, desactivar fuerzas, finalizar sesión,

enviar mensajes de error,…..

5.4. VALIDACIÓN DE LOS RESULTADOS

A fin de validar las dos aplicaciones resultantes descritas en los apartados anteriores, se elaboró

una metodología de validación en la que se describían diferentes tareas que 6 participantes

tuvieron que realizar a fin de determinar si la aplicación para la enseñanza de matemáticas y la

aplicación para el reconocimiento de modelos importados de VRML logran efectivamente su

objetivo o hasta qué punto.

5.4.1. METODOLOGIA DE VALIDACION

La metodología de validación seguida utiliza el método experimental. Se obtuvieron datos

objetivos y subjetivos: los datos objetivos se obtuvieron a partir de la observación del grado de

éxito que los usuarios tenían a la hora de manejar la aplicación de matemáticas y de

reconocimiento de modelos importados de VRML. Por ejemplo, se puntuó a los usuarios según su

precisión a la hora de interpretar datos y su capacidad para manejar los elementos de la

aplicación en el entorno háptico.

Las pruebas las realizaron seis usuarios que responden a diferentes perfiles:

• 2 usuarios ciegos

• 2 usuarios con resto de visión

• 2 usuarios videntes

Durante la validación se realizaron diferentes tareas relacionadas con los siguientes objetivos:

Memoria justificativa

APIMUL Pág. 28/34

Objetivos de la aplicación de matemáticas

• Desarrollar la capacidad espacial por medio de juegos educativos.

• Aprender tipos de ángulos

• Reconocer curvas: cerradas (circunferencias, elipses), abiertas ( línea, parábola, hipérbola),

gráficas (estudiar la gráfica de una función, encontrar el mínimo y el máximo global y local y

el punto de inflexión).

• Entender los distintos tipos de intersecciones entre rectas

• Aprender el concepto de Tangente a una curva

• Reconocimiento de figuras geométricas en 2D (círculo, triángulo,..) y 3D (cubos, esferas,..):

reconocer las formas geométricas 2D y 3D, reconocer el interior de las formas geométricas

3D.

• Trigonometría: reconocer la función seno, coseno, tangente

• Entender las transformaciones geométricas: escalado, translación y rotación.

• Estudiar la simetría respecto al eje x

• Estudiar la simetría respecto al eje y

• Estudiar la simetría respecto de la recta y=x

Finalmente, se realizaron una serie de preguntas para que el usuario explicase su percepción

subjetiva acerca de la aplicación de matemáticas.

Objetivos de la aplicación de VRML

• Poder reconocer modelos importados de VRML

• Uso de ayudas de audio y distintos tipos de material para facilitar el reconocimiento de los

modelos

Finalmente, se realizaron una serie de preguntas para que el usuario explicara su percepción

subjetiva acerca de la aplicación.

Preguntas

Cada participante realizó una serie de tareas y contestó a preguntas relacionadas con los objetivos

mencionados anteriormente, para evaluar las características importantes de la aplicación. Los

preguntas a las que se respondió a través de la realización de la validación fueron las siguientes:

1. ¿Los usuarios pueden salir fácilmente del laberinto? ¿pueden describir la trayectoria que han

seguido? ¿la pueden volver a seguir?

2. ¿Entienden los conceptos delante/detrás, izquierda/derecha?

Memoria justificativa

APIMUL Pág. 29/34

3. ¿Son capaces de hacerse una representación mental de la escena y saber como están

distribuidos los distintos elementos?

4. ¿Pueden aprender distintos tipos de ángulos?

5. ¿Pueden distinguir las diferentes formas de las figuras geométricas?

6. ¿Pueden reconocer las curvas básicas, tanto cerradas como abiertas?

7. ¿Pueden los usuarios reconocer fácilmente la gráfica de una función?

8. ¿Pueden los usuarios encontrar fácilmente el mínimo y máximo global y local y el punto de

inflexión?

9. ¿Pueden los usuarios conocer la posición de la gráfica con respecto a los ejes “x” e “y”?,

10. ¿ Pueden detectar los puntos de corte con dichos ejes?

11. ¿Pueden los usuarios entender los distintos tipos de intersecciones entre rectas? ¿ Pueden

detectar las intersecciones?

12. ¿Pueden los usuarios entender fácilmente el concepto de tangente a una curva?

13. ¿Pueden los usuarios reconocer fácilmente las funciones, seno, coseno y tangente?

14. ¿Se pueden reconocer las formas geométricas en 3D y en 2D (cícrculo, triangulo,…)?

15. ¿Se pueden reconocer el interior de las formas geométricas en 3D y 2D?

16. ¿Pueden distinguir si una figura tiene alguna simetría? ¿y pueden definir el eje de simetría?

17. ¿Pueden entender los usuarios el resultado de aplicar una transformación geométrica

(escalado, translación y/o rotación) a una figura?

18. ¿Pueden reconocer los usuarios modelos importados de VRML?

19. ¿Es la ayuda de audio importante para las tareas de reconocimiento?

5.4.2. RESULTADOS DE LA VALIDACION

Tras realizar las diferentes tareas con los 6 usuarios, los resultados de la validación se pueden

resumir en las siguientes ideas:

1. La aplicación de matemáticas puede resultar útil en la enseñanza de conceptos matemáticos a

personas ciegas teniendo en cuenta que:

• En general, la representación de modelos se adecua a lo que los usuarios ya conocían, es

decir, a través de la exploración virtual perciben la representación de diferentes figuras

geométricas y conceptos matemáticos de manera fiel a la idea que ya tienen formada de los

mismos por lo que consideran que podrían ser útiles para enseñar matemáticas (cuestión

aparte sería el método a utilizar que no se trata en esta investigación por no ser su

objetivo).

Memoria justificativa

APIMUL Pág. 30/34

• En un cómputo global, los ciegos han realizado las tareas igual o mejor, como cabría

esperar dada su experiencia háptica, que los usuarios videntes en cada uno de los casos y,

si bien no se pretende generalizar aquí dada la muestra utilizada, sí parece que a las

personas ciegas no les costaría mucho aprender a manejar el sistema y a explorar de este

modo.

• La intersección entre dos curvas (curva/eje) se detecta muy bien, excepto en los modelos

correspondientes a la simetría en la parte correspondiente a “X” negativo, (aunque esto

parece que es un fallo de la aplicación que habrá que revisar y modificar).

• La fuerza de restricción del movimiento debería ser configurable de forma que, si el usuario

lo requiere, en los puntos de intersección él puede cambiar de curva.

• Las figuras en 3D se exploran sin problema, pero hay que tener en cuenta qué es preferible,

es decir, se reconocen mejor las figuras en alto relieve cuando están apoyadas sobre una

superficie horizontal y en bajo relieve cuando están sobre un plano vertical. (Relacionado

con los puntos de apoyo.)

• Los modelos utilizados para el desarrollo de la capacidad espacial son válidos pero quizá

habría que realizar más ejercicios del tipo "laberinto" pasando por niveles de complejidad

diferentes para que el usuario se vaya desenvolviendo en espacios cada vez más

complicados.

• La ayuda de audio ha sido valorada positivamente. Incluso algún usuario recomienda

añadir más audio en el caso de la representación de funciones trigonométricas con el fin de

conocer los valores de “X” e “Y” en cada momento. Esta utilidad se implementó en la

última versión de la aplicación pero no fue utilizada durante la validación.

• Las tareas relacionadas con la simetría han resultado algo más complicadas que el resto.

Quizá que el sistema proporcionase el valor de los diferentes puntos por los que pasa la

figura podría ayudar.

2. La aplicación para el reconocimiento de modelos importados de VRML no ha tenido tan

buena acogida como la aplicación de matemáticas a pesar de que los usuarios pudieron tocar

y reconocer las diferentes partes de las figuras presentadas.

Aunque los objetos se pueden reconocer, si de antemano se sabe el objeto que es a través de

ayudas de audio, esta tarea puede resultar difícil para modelos que presenten cierta

complejidad, como lo son muchos de los gráficos de Internet. Por eso sería conveniente

analizar qué tipos de gráficos existentes en Internet serían accesibles a través de la nueva

Memoria justificativa

APIMUL Pág. 31/34

aplicación (como por ejemplo: planos de metro/autobús, gráficos de Excel, esquemas,..….)

para orientar los futuros desarrollos en este área.

Memoria justificativa

APIMUL Pág. 32/34

6. CONCLUSIONES

Algunas de las barreras existentes entre las personas ciegas y el ordenador están siendo

eliminadas hoy en día a través de herramientas comerciales como: lectores de pantalla,

sintetizadores de voz, dispositivos de Braille, distintos tipos de ratón, etc… Sin embargo existe

todavía un campo inaccesible para las personas ciegas: los gráficos 3D por ordenador y sus

aplicaciones.

Dentro del programa PITER del IMSERSO, LABEIN y ONCE participaron en el proyecto REVIT

(años 98 y 99) cuyo objetivo era investigar el uso de dispositivos hapticos (o de interacción

táctil) para el desarrollo de aplicaciones que permitieran a las personas ciegas, o con problemas

de visión, interactuar con entornos gráficos de ordenador mediante el tacto y con ayudas de audio.

Durante la fase de validación del proyecto se pudo comprobar que la metodología de trabajo

propuesta:

Gráficos Ordenador

Interacción táctil Ayudas de audio

Usuario

era válida, aunque se detectaron dos limitaciones relacionadas con el dispositivo háptico

utilizado (PHANToM): solo proporcionaba un punto de contacto, lo que a veces dificultaba las

tareas de exploración, y el espacio de trabajo proporcionado era muy pequeño, lo que dificultaba

la exploración de modelos grandes.

Continuando con esta línea de investigación, LABEIN y ONCE decidieron participar en el

proyecto europeo GRAB “Computer graphics access for blind people through a haptic virtual

environment” (IST-2000-26151) cuyo objetivo era el desarrollo de un nuevo entorno de realidad

virtual haptico que solventara las limitaciones detectadas en el proyecto REVIT.

El sistema GRAB permite a las personas ciegas interactuar con entornos gráficos de ordenador

mediante el sentido del tacto (con 2 puntos de contacto), con ayudas de audio y controladas a

través de comandos de voz

El objetivo del proyecto APIMUL era utilizar el nuevo sistema GRAB para el desarrollo de dos

aplicaciones que permitieran a las personas ciegas interactuar con entornos gráficos de ordenador

mediante el sentido del tacto, ayudas de audio y comandos verbales. Después de analizar las

características del sistema GRAB, los posibles campos de aplicación (Educación, Inclusión

Memoria justificativa

APIMUL Pág. 33/34

social e independencia, Mejora de empleo, Entretenimiento,…) y los criterios que se consideraron

más críticos se decidió implementar :

• Una aplicación en el campo de la educación � aplicación para la ayuda en la enseñanza de

matemáticas

• Una aplicación en el campo de la accesibilidad a nuevas herramientas de la Sociedad de la

Información de uso masivo � herramienta para poder explorar, reconocer e interactuar con

modelos VRML, formato standard de gráficos 3D utilizado en INTERNET.

Los resultados de la validación han sido bastante buenos:

1. Se considera que la aplicación de matemáticas puede resultar útil en la enseñanza de

conceptos matemáticos a personas ciegas. En general, la representación de modelos se adecua

a lo que los usuarios ya conocían, es decir, a través de la exploración virtual perciben la

representación de diferentes figuras geométricas y conceptos matemáticos de manera fiel a la

idea que ya tienen formada de los mismos por lo que consideran que podrían ser útiles para

enseñar matemáticas.

2. Los objetos importados de VRML se pueden reconocer, si de antemano se sabe el objeto qué

es a través de ayudas de audio, pero esta tarea puede resultar difícil para modelos que

presenten cierta complejidad, como lo son muchos de los gráficos de Internet. Por eso sería

conveniente analizar qué tipos de gráficos existentes en Internet serían accesibles a través de

la nueva aplicación (como por ejemplo: planos de metro/autobús, gráficos de Excel,

esquemas,..….) para orientar los futuros desarrollos en este área.

Estos resultados vuelven a ratificar la idea de que la metodología propuesta “usuario-dispositivo

haptico-ordenador” es válida.

El análisis realizado para la selección de las dos aplicaciones que se iban a implementar en el

proyecto, ha permitido además la identificación de posibles aplicaciones en distintos campos:

• Mejora de las oportunidades de empleo:

- Sistema de CAD: herramienta para crear y explorar dibujos en 2D (dibujos mecánicos,

diagramas electrónicos,..) y modelos 3D

- Ensamblaje: las herramientas de ensamblado virtual pueden ser extendidas para las

personas ciegas (coger un objeto, moverlo detetctando colisiones y colocarlo ela posición

Memoria justificativa

APIMUL Pág. 34/34

correcta

- Herramientas de diseño de interior

- Evaluación ergonómica de un diseño

- Herramienta par la creación y manipulación de diagramas (organigramas,…)

- Pintar/esculpir

• Aplicaciones educativas para enseñar:

- Física y Química (estructuras moleculares)

- Astronomía (planteas, estrella, movimiento relativo,..)

- Geografía y topografía

- Historia del arte

• Aplicaciones que incrementen la inclusión social y su independencia:

- Planos (de ciudad, de interiores, …)

- Transporte (ruta de carreteras, planos de metro, autobús,…)

- Museos virtuales (explorar objetos de arte)

- Juegos

La principal limitación de la metodología propuesta es el alto coste de los dispositivos hapticos.

Dado su precio todavía no es factible su instalación masiva en casa por parte de las personas

ciegas. Sin embargo, esta situación podría cambiar a medio plazo debido al fuerte desarrollo que

se está llevando a cabo a nivel mundial en el área de los dispositivos hapticos.

Para contrarrestar este inconveniente sería además útil el desarrollo de nuevas aplicaciones, como

las mencionadas anteriormente, para ofrecer una mayor gama de aplicaciones que permitan

rentabilizar la inversión realizada.

Memoria justificativa