Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Desarrollo de una interfaz háptica para terapias derehabilitación utilizando realidad aumentada
Asesores: Dra. Isela Bonilla Gutiérrez, Dr. Javier Flavio Vigueras Gómez
Alumno: Ing. Carlos Alberto Vidrios Serrano
Introducción
El uso de robots para asistir la rehabilitación de personas que sufren de algún tipo de discapacidad,
es una práctica que ha venido en aumento en los últimos años. Existen diversas causas que pueden
ocasionar discapacidades, una de las principales se denomina Enfermedad Cerebro-Vascular (ECV).
Se entiende como Enfermedad Cerebro-Vascular, el conjunto de trastornos cerebrales que conllevan a
una disminución del �ujo sanguíneo en el cerebro con la consecuente afectación de la función de una
región del cerebro. Las ECV's traen como consecuencia procesos isquémicos o hemorrágicos, pudiendo
causar la aparición de sintomatología o secuelas neurológicas [1].
Según la Organización Mundial de la Salud (OMS) las ECV's corresponden a la segunda causa de
muerte a nivel mundial, siendo una de las principales causas de discapacidad, donde la persona requiere
de algún tipo de terapia de rehabilitación de larga duración. Únicamente en los Estados Unidos el gasto
de rehabilitación de pacientes que sufrieron un ECV en el año 2010 ascendió a $ 11,000,000,000 dolares
[2]. En México, la incidencia de ECV�s ha ido en aumento, siendo la sexta causa de muerte en el año
2010, provocando un poco más de 32,000 defunciones [3].
Además de los altos costos de la terapia de rehabilitación, estudios han comprobado que la velocidad
de recuperación de un paciente con ECV está directamente relacionada con el número de repeticiones
que el paciente realice en su terapia [4] [5].
Por lo antes mencionado, en el presente proyecto de investigación se plantea crear una herramienta,
la cual pueda servir como auxiliar en el proceso de rehabilitación de un paciente con ECV y a su vez
reducir los costos de dicha rehabilitación.
Para esta tarea se propone el uso de un robot háptico, el cual se de�ne como el conjunto de interfaces
tecnológicas que interaccionan con el ser humano mediante el sentido del tacto [6]. Se eligieron dichos
robots debido a que estos cuentan con las características adecuadas para ser implementados en terapias
de rehabilitación ocupacional, donde según la OMS la terapia ocupacional se puede de�nir como el
conjunto de técnicas que favorecen el restablecimiento de las funciones cotidianas de un individuo
permitiendole con esto mayor independencia; así pues estos robots otorgan al paciente la posibilidad
de realizar distintos tipos de ejercicios con un mismo sistema, es decir, mediante programación es
posible variar la intensidad y/o di�cultad de las rutinas de rehabilitación, dependiendo de los avances
alcanzados por el paciente en su terapia, logrando con esto, desarrollar terapias personalizadas. Por
otra parte, el uso de un robot háptico permite medir el avance en la recuperación de un paciente de
manera cuantitativa, información que puede auxiliar al �sioterapeuta en la evaluación del paciente [7].
Existen estudios que indican que el proceso de rehabilitación de un paciente se acelera si además
de la constante repetición de los ejercicios físicos por parte del paciente, éstos están acompañados
de algunos estímulos sensoriales, por ejemplo, estímulos visuales, táctiles, etc. [8][9][10][11][12]. Por lo
tanto, se complementará el uso de un robot háptico con estímulos visuales provenientes de un entorno
1
de realidad aumentada, de esta forma se podrán combinar escenas del mundo real con objetos virtuales
y así buscar mejorar el proceso de rehabilitación y con ello la recuperación de los pacientes.
Objetivo general
Desarrollar una interfaz háptica mediante realidad aumentada donde puedan ser implementadas
diversas tareas de rehabilitación.
Objetivos especí�cos
• Capturar imágenes en tiempo real mediante cámaras web, para realizar la detección de marca-
dores en el mundo real.
• Tomar como base los marcadores y de esta manera generar imágenes virtuales para proyectar el
entorno de realidad aumentada sobre una pantalla.
• Agregar al sistema de realidad aumentada una interfaz háptica, la cual sirva como medio de
interacción entre el paciente y el mundo virtual.
• Implementar los algoritmos necesarios en la interfaz háptica para la simulación de aspectos físicos
tales como peso, gravedad, colisiones, etc.
Actividades realizadas
El desarrollo de este proyecto se divide en dos áreas principales, la generación de ambientes de
realidad aumentada y la interacción de el paciente con los objetos virtuales por medio de la interfaz
háptica, en la �gura 1 se muestra el diagrama a bloques de las principales tareas a realizar para alcanzar
el objetivo de esta tesis.
Figura 1. Diagrama de bloques del sistema.
Sistema de aumento de la realidad
Para realizar este procedimiento son necesarias cuatro tareas fundamentales, (i) captación de la
escena; (ii) identi�cación de la escena; (iii) mezclado de realidad y aumento; y (iv) visualización [13].
2
Para llevar a cabo las tareas antes mencionadas se eligió la metodología de detección de marcadores,
dado que para la aplicación que se esta desarrollando no representa problema alguno la inserción de
los mismos en la escena que se desea aumentar, ademas se hace uso de la librería de programación
ARToolKit, dado que se encuentra optimizada para trabajar en tiempo real. A continuación se explicara
el desarrollo de cada una de estas tareas.
i) Captación de la escena
El proceso de captación de una escena del mundo real con una cámara se puede ver como un mapeo,
que hace un cambio de coordenadas 3D del mundo a 2D de la imagen. Este mapeo también es conocido
como proyección en perspectiva, este tipo de proyección es muy utilizada, ya que de esta forma es como
funciona el ojo humano, donde los objetos más cercanos a este son percibidos en un tamaño mayor y
los más lejanos aparentan ser más pequeños. Desafortunadamente esta operación no es invertible, por
lo que una vez realizada se perderá la componente de profundidad y como resultante tendremos una
imagen en 2D [14].
La ecuación (1) expresa la transformación entre los objetos 3D y la imagen 2D, donde se toman
en cuenta características de construcción de la cámara, conocidas como �parámetros intrínsecos de la
cámara�:
uv1
∼
αu Sk u0
0 αv v0
0 0 1/f
xyz
uv1
∼ K
xyz
(1)
donde αu es longitud de los microsensores de la camara en la coordenada u y αv lo es para la coordenada
v, Sk es el sesgo y, u0 y v0 son la traslación del eje óptico y 1/f es la distancia focal. En la ecuación
(1) se expresa esta conversión, utilizando u y v como las coordenadas de la imagen 2D para evitar
confundirlas con las coordenadas x, y y z de los objetos 3D [14].
Para este proyecto se utiliza una cámara de alta de�nición posicionada sobre la cabeza del usuario,
esto con la intención de que se capten las imágenes en la misma dirección que lo harían sus ojos.
ii) Identi�cación de la escena
La tarea de detectar los marcadores se realiza en varios pasos, los cuales se describen a continuación.
Binarización de la imagen: El primer paso una vez que ya se ha capturado la imagen, es
convertir la imagen a color a una imagen en escala de grises, esto con la �nalidad de resaltar el alto
contraste existente en los marcadores. Una vez realizada la conversión de espacio de color, se elige un
umbral, en el cual los pixeles que estén por debajo de ese valor tomaran el valor de 255 y el valor de
0 si el valor del pixel es mayor o igual que el umbral.
Detección de candidatos: Ya binarizada la imagen es necesario detectar paralelogramos en ella,
mismos que serán candidatos a ser un marcador. Para realizar la detección de paralelogramos el primer
3
paso a realizar es la detección de bordes en la imagen binarizada, dadas las características de la imagen
esta tarea se puede realizar haciendo un barrido sobre todos los pixeles de la imagen y detectando las
regiones donde se encuentre un pixel blanco y uno negro juntos.
El siguiente objetivo es la detección de rectas sobre la imagen de bordes, para esta tarea se utiliza
la transformada de Hough que a su vez utiliza la ecuación de la recta en la forma y = ax + b, donde
se busca encontrar la pareja de datos (a, b) correspondientes a los segmentos rectos de la imagen.
Una vez encontradas las rectas en la imagen, serán consideradas como candidatos aquellas cuatro
rectas que presenten cruces entre si y donde la distancia entre las esquinas del paralelogramo sean
similares, ya que de antemano se sabe que los marcadores buscados son cuadrados.
Normalización: Este procedimiento busca encontrar la combinación de traslaciones y rotaciones
que relacionan el sistema coordenadas de los marcadores con el sistema de coordenadas de la cámara, a
estas traslaciones y rotaciones, expresadas en forma matricial, se le conoce como matriz de proyección
P = K
r11 r12 r13 t1
r21 r22 r23 t2
r31 r32 r33 t3
(2)
donde los rij representan una combinación de rotaciones al rededor de los ejes x, y y z, y t1, t2 y t3traslaciones a lo largo de los mismos ejes respectivamente.
Si se asume que el centro del paralelogramo encontrado tiene coordenadas (0, 0, 0) y teniendo el
conocimiento previo de las medidas de los marcadores, entonces se puede deducir las coordenadas en
el espacio de cada una de las esquinas, siendo en todos los casos z = 0. Así mismo, se conocen las
coordenadas en la imagen de las cuatro esquinas, por lo tanto se busca encontrar la matriz que relacione
puntos en el plano de la imagen con puntos en el plano del marcador, a esta relación se le conoce como
homografía H. uv1
=
r11 r12 t1
r21 r22 t2
r31 r32 t3
xy1
xin = HXm
n (3)
Si se expresa la matriz H en la forma Xmij = H−1xiij donde xiij es el valor del pixel en la posición
ij. Si se aplica la ecuación anterior a todos los pixeles contenidos en el paralelogramo candidato a ser
un marcador, se obtendrá una imagen normalizada del marcador, esto es, como si se viera de frente el
paralelogramo.
Identi�cación: Por ultimo, se compara el paralelogramo normalizado con una imagen patrón,
para poder hacer esto es necesario reescalar la imagen normalizada para que tenga el mismo número
de pixeles que la imagen patrón, con esta comparación se obtendrá la correlación normalizada entre
las dos imágenes (a la que se le llamara Valor de con�anza).
De lo anterior, se deberá de establecer un umbral mínimo de valor de con�anza para determinar si
la detección del marcador es positiva, en caso de detectarse más de un marcador que sobrepase este
umbral se elige el de mayor valor de con�anza, ya que este es el que presentara una mayor probabilidad
de ser correctamente identi�cado [15] [16].
4
iii)Mezclado de la realidad y aumento
Este proceso consiste en tomar las imágenes previamente captadas con la cámara y mezclarlas de
una forma coherente con imágenes de objetos virtuales. Para llevar a cabo esta tarea, se hará uso de
las ecuaciones (2) y(3) y de la librería de programación OpenGL (Open Graphics Library) para la
creación de objetos virtuales.
OpenGL virtualmente crea un volumen en el que permite dibujar objetos 3D en este por medio de
primitivas básicas, una vez dibujado los objetos, se hace uso de la matriz de homogra�a para posicionar
una cámara virtual desde donde OpenGL observa los objetos. Una vez posicionada esta cámara, la
librería crea un campo de visión de forma similar a como lo hace una cámara real, a este campo de
visión se le conoce como pirámide de visualización o frustum.
Ya que se ha determinado la posición de la cámara virtual y de la pirámide de visualización,
OpenGL hace uso de la matriz de proyección para saber como se proyectarían los objetos en 3D en el
plano de la cámara (�gura 2).
Figura 2. Proyección de objetos virtuales.
Para �nalizar el proceso, se sobrepone el plano de la imagen creado por OpenGL y la imagen
captada por la cámara, dado que las dos imágenes fueron captadas por cámaras (una real y otra virtual)
posicionadas en el mismo punto en el espacio, la posición de los objetos virtuales sera coherente con
las imágenes del mundo real [17].
iv) Visualización
Como medio de visualización se eligieron unos lentes de inmersión HMZ-T2 marca Sony, como los
mostrados en la �gura 3, mismos que cuentan con dos pantallas de alta de�nición (una para cada ojo).
Se eligieron lentes de inmersión para mejorar la experiencia del usuario, ya que dada la posición de
la cámara, existe una coherencia total entre la orientación de la cabeza del usuario y lo que ve, con la
ventaja de percibir la realidad aumentada.
Interfaz háptica
Como parte del desarrollo de este proyecto se utiliza un robot háptico de la marca Sensable modelo
Phantom Omni, como el mostrado en la �gura 4, mismo que cuenta con seis grados de libertad, tres
activos y tres pasivos.
5
Figura 3. Lentes de inmersión.
Para entender la interacción de este robot con el sistema de realidad aumentada, es necesario aclarar
que el robot realmente no interactua con los objetos virtuales, lo que sucede es que el robot crea su
propia área de trabajo, con objetos no visibles, el reto entonces en este proyecto es lograr que los
ambientes háptico y grá�co se empalmen, para que el usuario del sistema no sea consiente de estas
diferencias.
Primeramente es necesario conocer la posición del efector �nal del robot, ya que este es el que se
relaciona con el cursor en la pantalla de visualización. Esto se logra obteniendo su cinemática directa,
donde a partir de las posiciones angulares de cada uno de los grados de libertad se puede calcular la
posición del robot, esto puede ser calculado a través de la matriz de transformación T de la ecuación
(4), la cual es resultante de la multiplicación de matrices de rotación y traslación, donde d1 y d2
corresponden a un o�set del efector �nal.
T = Tras(y, d1)Tras(z, d2)Rot(y, q0)Rot(x, q1)Tras(z, l0)Rot(x, q2)Tras(y, l1) (4)
Figura 4. Robot háptico.
Dado que se conoce el área de trabajo del robot, se puede normalizar la posición del efector �nal,
para posteriormente reescalar esta área de trabajo a una de igual tamaño que el volumen donde se
dibujaron los objetos virtuales, esto se logra de forma matricial con la ecuación (5), con factores de
escalamiento ex, ey y ez correspondientes a cada uno de los ejes x, y y z.
E =
ex 0 0
0 ey 0
0 0 ez
(5)
Una vez que el área de trabajo virtual y háptica son iguales, solo resta dibujar los objetos hápticos
6
en la misma posición y con las mismas características que se hicieron de manera grá�ca, de esta forma
se tiene la concordancia entre los dos espacios.
Por ultimo recordemos que los objetos se dibujan a partir de vértices de triángulos, por lo que,
para detectar colisiones entre el puntero de la interfaz y los objetos virtuales, es necesario comparar la
posición del puntero con la de los vértices, en caso de que el puntero sobrepase la super�cie formada
por los vértices es necesario que la interfaz ejerza una fuerza en sentido contrario a la dirección de la
penetración y proporcional en magnitud a esta, utilizando la ley de Hooke (ecuación 6) se consigue
esta tarea
F = −kx (6)
donde x es la distancia de penetración y k es la rigidez super�cial. Con esto se logra la sensación de
tocar a través de la interfaz, los objetos virtuales dibujados [18].
Resultados
A continuación se presentan las actividades realizadas a lo largo del desarrollo de este proyecto,
algunas de ellas no fueron utilizadas como parte del sistema presentado como trabajo �nal, aun así
se consideran importantes, ya que dadas las características de las mismas, brindan la posibilidad de
desarrollar mas aplicaciones en un futuro.
En la �gura 5 se presentan objetos virtuales complejos utilizados en el ambiente háptico, donde la
mano es utilizada como el puntero de la interfaz y el avión es el objeto que se puede tocar. Para lograr
la unión de la realidad aumentada con el robot háptico fue necesario utilizar programación de bajo
nivel, como se mencionó previamente los objetos fueron dibujados con la librería OpenGL, misma que
no es compatible con objetos creados con software de diseño 3D, por lo que fue necesario utilizar la
librería de programación GLM, la cual permitió la importación de �guras en formato .obj a OpenGL
para su posterior despliegue.
Figura 5. Importación de objetos 3D.
Se puede observar en la �gura 6 la interacción de una persona con los objetos virtuales por medio
de la interfaz háptica, en este caso, el sistema permite a la persona tocar los objetos virtuales por
medio de la interfaz y sentir su textura, así mismo es posible mover los objetos dentro de su espacio
de trabajo y sentir el peso de los mismos.
Como se puede apreciar en la �gura 7a, como parte de este proyecto se eligió un tablero multimarca,
con la �nalidad de dar mayor robustez al sistema, este tipo de tablero permite la obstrucción de todas
7
Figura 6. Interacción con objetos virtuales.
las marcas excepto una, sin que esto represente una falla en el sistema, además con esto se logra tener
de referencia la marca con mayor indice de con�anza, evitando así falsas detecciones. Cabe señalar que
al sistema de detección se le agrego un �ltro pasa bajas, para evitar un efecto conocido como jitter, en
el que existen pequeñas diferencias de posición en la detección, provocando que los objetos virtuales
vibren.
En la �gura 7b se presenta el ejercicio de terapia ocupacional propuesto en esta tesis, donde se
observan cinco esferas proyectadas sobre un plano a diferentes alturas. El ejercicio consiste en cambiar
una de las esferas de color, debiendo el paciente tocar dicha esfera, una vez que el usuario logre este
objetivo la esfera volverá a su color original y de manera aleatoria se elige otra esfera para su cambio
de color, repitiéndose el ejercicio el numero de veces que el terapeuta determine, pudiendo elegir la
cantidad de repeticiones por medio de un menú desplegable al hacer click derecho con el mouse. Así
mismo, la aplicación cuenta con la posibilidad de exportar datos como duración del ejercicio, número
de repeticiones y trayectoria del puntero de la interfaz, en formato .txt para su posterior análisis.
(a) Imagen sin aumento de realidad (b) Imagen con aumento de realidad
Figura 7. Ejercicio propuesto.
Se eligió este ejercicio ya que, en la literatura consultada, es constantemente utilizado en terapias
de rehabilitación robótica, siendo reportadas en pruebas clínicas mejorías en el paciente en la velocidad
de ejecución del ejercicio, seguimiento de trayectorias y velocidad de reacción [19].
Por ultimo, en la �gura 8 se muestra un sistema creado para el análisis del desempeño de el paciente
8
en la prueba anteriormente descrita, este sistema fue diseñado en Matlab, donde se puede cargar datos
exportados por el sistema de realidad aumentada en formato .txt, para grá�car la trayectoria seguida
por el paciente a lo largo del ejercicio, de la misma forma el sistema reporta el número de repeticiones
del ejercicio, tiempo total de la prueba y error promedio, que fue obtenido por medio de la ecuación (7),
donde T es el tiempo total de la prueba y e(t) es la distancia euclidiana de cada punto de la trayectoria
seguida por el paciente a la trayectoria ideal, la cual sería una linea recta. En robótica, esta métrica es
conocida como indice de desempeño y es una forma de estimar que tan próximo esta el desempeño real
del ideal, es por eso que se eligió esta ecuación como un método de valorar las trayectorias seguidas
por el paciente.
L2 =
√1
T
∫ T
0
‖ e(t) ‖2 dt (7)
Figura 8. Análisis de resultados.
Cabe destacar, que el sistema en funcionamiento fue observado por un experto en el área de reha-
bilitación, siendo su opinión favorable hacia el mismo, mencionando que principalmente este puede ser
utilizado por pacientes en un nivel avanzado en su rehabilitación, no solamente aquellos que sufrieron
una ECV si no también pacientes con sintomatologías similares a las de esta enfermedad, sirviendo
especialmente para mejorar los movimientos �nos de estos. De la misma forma, el experto hizo algunas
recomendaciones para trabajos futuros, a �n de mejorar la efectividad del sistema y para que este
pueda ser utilizado por una gama más amplia de pacientes.
Actividades a realizar en el periodo Mayo 2014 - Agosto 2014
• Continuar con la revisión bibliográ�ca.
9
• Finalizar el curso de Proyecto de tesis II.
• Redactar el documento de tesis.
• Redactar artículo para el XVI Congreso Mexicano de Robótica.
Referencias
[1] Plumacher, R., Zayda, Ferrer-Ocando, Olmedo, Arteaga-Vizcanio, Melvis et al. Enfermedades cerebrovasculares en pa-
cientes con anemia falciforme. Investigación clínica, 45(1), pp.43-51 (2010).
[2] National Stroke Association. Stroke 101 Fact Sheet.
http : //www.stroke.org/site/DocServer/STROKE101_2009.pdf?docID = 4541
[3] Secretaria de Salud, Subsecretaria de Prevencion y Promocion de la Salud, Direccion General de Epidemiologia. Per�l
epidemiologico de las enfermedades cerebrovasculares en Mexico. pp. 37-56 (2012).
[4] Krebs H., Palazzolo J., Dipietro L., Ferraro M., Krol J., Rannekleiv K., Volpe B., Hogan N. Rehabilitation robotics:
performance-based progressive robot-assisted therapy. Autonomous Robots. 15(1), pp. 7-20 (2003).
[5] Aisen M.L., Aisen H.I., Hogan N., McDowell F., Volpe B. The e�ect of robot-assisted therapy and rehabilitative training
on motor recovery following stroke. Archives of Neurology. 54(4), pp. 443-446 (1997).
[6] Hayward, V., Astley, O., Cruz-Hernandez, M., Grand, D., Robles-De-La-Torre, G. Haptic interfaces and devices. Sensor
review, Emerald, 24(1), pp. 16-29 (2004).
[7] Alamir, A., Iglesias, R., Eid, M., El Saddik, A., Shirmohammadi, S. and Lemaire, E. Haptic exercises for measuring im-
provement of post-stroke rehabilitation patients. Medical Measurement and Applications, IEEE International Workshop.
pp. 1-6 (2007).
[8] You S., Jang S., Kim Y., Hallet M., Ahn S., Kwon Y., Kim J., Lee M. Virtual reality-induced cortical reorganization and
associated locomotor recovery in chonic stroke. Stroke, American Heart Association, Inc. 36(1), pp. 1166-1176 (2005).
[9] Zhang L., Abreu B. C., Masel B., Scheibel R. S., Christiansen C. H., Huddleston N. Virtual reality in the assessment of
selected cognitive function after brain injury. American Journal Physical Medicine & Rehabilitation, Lippincott Williams
& Wilkins. 80(8), pp. 597-604 (2001).
[10] Jack D., Boian R., Merians A., Tremaine M., Burdea G., Adamovich S., Recce M., Poizner H. Virtual reality-enhanced stro-
ke rehabilitation. IEEE Transactions on Neurological Systems and Rehabilitation Engineering. 9(3), pp. 308-318 (2001).
[11] Rose F. D., Brooks B. M.,Rizzo A. A. Virtual reality in brain damage rehabilitation: Review. Cyberpsychology Behavior.
8(1), pp. 241- 262 (2005).
[12] Merians A., Jack D., Boian R., Tremaine M., Burdea G., Adamovich S., Recce M., Poizner H. Virtual reality-augmented
rehabilitation for patients following stroke. Physical Therapy. 82(9), pp. 898-915 (2002).
[13] González-Morcillo, C., Vallejo-Fernández, D., Albusac-Jiménez J. and Castro-Sánchez, J. Realidad aumentada: Un enfoque
practico con ARToolKit y Blender. Bubok publishing S. L., 1st edition, 2011.
[14] Hartley, R. and Zisserman, A. Multiple View Geometry in Computer Vision. Cambridge University Press, 2nd edition,
2003.
[15] Kato, H., Tachibana, K., Billinghurst, M. and Grafe, M. A registration Method based on Texture Tracking using AR-
ToolKit. Augmented Reality Toolkit Workshop, IEEE. pp. 77-85 (2003).
[16] Simon, G., Fitzgibbon, A. and Zisserman, A. Markerless Tracking using Planar Structures in the Scene. Augmented
Reality, IEEE and ACM International Symposium. pp. 120-128 (2000).
[17] Hearn, D. and Baker, M. Grá�cos por computadora con OpenGL. Pearson, 3th edition, 2006.
[18] Sensable. OpenHaptics Toolkit version 3.1, Programmer�s Guide.
[19] Dvorkin, A., Zollman, F., Beck, K., Larson, E., Patton, J. A Virtual Environment-Based Paradigm for Improving At-
tention in TBI. IEEE 11th International Conference on Rehabilitation Robotics. pp. 962-965 (2009).
10