Post on 25-Jun-2020
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/guzlopster@gmail.com 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 SWEPTMODELS
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