Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 1 SISTEMA DE ADQUISICIÓN DE LOS MOVIMIENTOS DE LA MANO A TRAVÉS DE UN GUANTE DE DATOS Acquisition System Hand Movements through a Data Glove RESUMEN Este artículo presenta el diseño e implementación de un guante de datos para la captura de los movimientos de una mano humana, el cual obtiene la información por medio de acelerómetros de los movimientos de flexión y extensión de los dedos, los sensores han sido ubicados en localizaciones específicas para medir las posiciones de cada uno de los dedos. Se presenta el desarrollo de la electrónica y sistema de visualización. Palabras clave: mano, guante de datos, acelerómetros. ABSTRACT This paper presents the design and implementation of a data glove to capture the movements of a human hand, which obtains the information through accelerometers flexion and finger extension, the sensors are located in specific locations for measuring the positions of each of the fingers. The development of electronics and display system is presented. Keywords: hand, data glove, accelerometers. 1. INTRODUCCIÓN Con el paso de los días la ciencia evoluciona a pasos agigantados, pues la demanda tecnológica así lo exige. Para muchos no es difícil notar cómo son más los desarrollos a nivel computacional, cada vez hay ordenadores más pequeños, puertos de alta velocidad, conexiones de Internet de gran complejidad y demás sistemas que pueden en algunos casos dejar sorprendido inclusive al más estudioso en la materia. Es interesante observar, además de todos estos avances, cómo la ciencia humana intenta conectarse mejor con los ordenadores, hoy existen diseños capaces de crear un pequeño “avatar” a imagen del usuario a través de divertidas interfaces gráficas y, además, este puede interactuar con él, por ejemplo moverse en un mundo virtual para hacer amigos [1][2]; sin embargo, es interesante establecer un vínculo aún más estrecho con estos sistemas, de allí parte la necesidad de la realidad virtual. Actualmente, la medicina es la rama que mayor demanda presenta hacia este tipo de sistemas, pues la mayoría de procedimientos quirúrgicos requiere de gran precisión. La mano humana, en este caso, a pesar de su complejidad puede en algunos casos no desempeñar de forma adecuada la tarea que se realiza y, por tanto, puede poner en riesgo la vida de un paciente, esto como consecuencia Fecha de recepción: 23 de septiembre de 2014 Fecha de aceptación: 1 de octubre de 2014 ÓSCAR F. AVILÉS. Ingeniero Electrónico, Ph. D. Universidad Central oaviless@ucentral.edu.co LEIDY J. ACUÑA Ingeniero Electrónico. Universidad Central lacunaf@ucentral.edu.co SEBASTIÁN D. ZAPATA Ingeniero Electrónico. Universidad Central szapatal@ucentral.edu.co JUAN M. CHAPARRO Ingeniero Electrónico, M.Sc. Universidad Central jchaparrof@ucentral.edu.co de una mala manipulación de un instrumento quirúrgico o simplemente por falta de entrenamiento. Los guantes de datos nacen como estrategia para facilitar las tareas de entrenamiento, estos se han venido desarrollando para diferentes aplicaciones en los campos de entretenimiento e interacción en entornos virtuales, son uno de los medios de comando en la teleoperación háptica [3]. De igual forma, se encuentran aplicaciones para el manejo de robots, como los guantes de datos para manipuladores o manos robóticas [4][5][6]. Uno de los desarrollos más parecidos al realizado en este proyecto se presenta en [7] donde se lleva a cabo la implementación e integración de un guante háptico con una silla de ruedas. Hoy, a nivel comercial, se encuentran diversos tipos de dispositivos hápticos destinados a diferentes aplicaciones; sean dispositivos muy básicos, como el PHANToM y el Force dimension [5] o muy completos, como el CyberGlove, que permite ser usado con realimentación vibrotáctil y con realimentación de fuerza [8]. El desarrollo de dispositivos hápticos, tales como los guantes, hace parte de las investigaciones que se están realizando con el fin de poder controlar manipuladores, o cualquier otro dispositivo, sintiendo los movimientos, la fuerza, etc., para poder tener un control más óptimo sobre el sistema [5][6][7]. Por ello, en este trabajo se presenta el desarrollo de un guante háptico capaz de sensibilizar Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 determinados movimientos de la mano, con el fin de poder controlar el efector final de un manipulador robótico tipo brazo y, de igual forma, tener una realimentación háptica vibrotáctil dependiendo de la fuerza que el efector realice sobre una superficie por medio de los dedos que lo componen. 2 capacidad de unión de las puntas del pulgar y el dedo meñique. La aducción/abducción son la capacidad de aproximación y separación del pulgar de la palma, cuando ambos se encuentran en un mismo plano. La gran cantidad de músculos y articulaciones presentes en la mano permiten una gran variedad de configuraciones de prensión. 2. BIOMECÁNICA DE LA MANO Tabla 1: Articulaciones y límites de la mano humana. La mano humana abarca desde la muñeca hasta la yema de los dedos en los seres humanos. Son el principal órgano para la manipulación de objetos. La punta de los dedos contiene algunas de las zonas con más terminaciones nerviosas del cuerpo humano y son la principal fuente de información táctil y de fuerza sobre el entorno. La mano humana se conecta al pulso a través de la palma, y está dotada de veinte grados de libertad, actuados por cerca de cuarenta músculos, [9,10]. La estructura ósea de la mano y los movimientos que pueden ser realizados se presentan en la figura 1, la tabla 1 presenta los límites de estos movimientos en cada una de las articulaciones. Parte Juntura GL Dedos “ “ Pulgar “ “ DIP PIP MCP IP MCP CMC 1 1 2 1 2 2 Ángulo Flexión Extensión 60 100 90 85 50 120 Ángulo Abducción Aducción --------60 ----30 45 3. DISEÑO E IMPLEMENTACIÓN El diseño se compone de cuatro componentes principales: los sensores, la fuente de alimentación, la unidad de procesamiento y la unidad de transmisión de la señal. 3.1 Sensores Para la construcción del guante de datos es necesario el uso de cuatro de estos sensores ubicados en cada falange distal del dedo de la mano a analizar (pulgar, índice y medio) y un último sensor ubicado en el revés de la mano (metacarpo) que servirá como referencia de los movimiento de los dedos y, además, podrá realizar algunas tareas de rotación y movimiento de la muñeca si así fuese requerido. (a) (b) (c) Figura 1. La mano humana: (a) Sistema músculo esquelético; (b) Planos de movimiento, (c) descripción de movimientos. Como se puede observar en la figura 1, el dedo pulgar está fijado debajo de los otros dedos, pudiendo realizar los movimientos de cierre y rotación, debido a la gran movilidad del hueso metacarpo [10]. Esto permite variar la orientación del plano donde es realizado el movimiento de flexión y extensión, propiedad a través de la cual es posible oponer este dedo a los otros. El término abducción se entiende como el movimiento de salida del dedo del eje del brazo. El movimiento de extensión/abducción es la capacidad de extensión del pulgar para la parte exterior y flexión hacia el interior de la palma. El término oposición es definido como la Para la medición de los puntos de interés del guante de datos se utiliza el acelerómetro MMA7361L fabricado por Freescale Semicondutor, Figura 2. Este acelerómetro está basado en tecnología MEMS y funciona con una congelación capacitiva en donde un arreglo de placas se ve afectado por la acción de la fuerza de gravedad que influye sobre ellas generando una variación del campo eléctrico entre las mismas y, por consiguiente, un valor eléctrico que puede ser medido como la magnitud de la aceleración sobre ese eje. Figura 2. Esquema gráfico de la conexión de pines en la tarjeta MMA7361L. 3.2 Fuente de alimentación La fuente de alimentación del módulo de captura se diseñó buscando el mejor rendimiento en cuanto a gasto, Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 disipación de calor y salida de voltaje y corriente. Para ello se plantea un diseño con una fuente conmutada con el fin de eliminar el tema de la temperatura en el integrado que la controla. El circuito integrado usado para la fuente principal es el LM2576 - 5.0 3 puede apreciar la lógica del funcionamiento del módulo de multiplexación. Algoritmo 1. Funcionamiento del módulo de multiplexación Figura 3. Diseño de la fuente de alimentación para el módulo de captura 3.3 Unidad de procesamiento Una vez es conectado el guante de datos al dispositivo de captura, es necesario realizar una selección de las señales obtenidas de los acelerómetros y luego acondicionar dicha señal con el fin de enviar estos datos al módulo de procesamiento. Del guante de datos se obtienen doce señales analógicas en total, tres por cada acelerómetro, para procesar estas se decide entonces multiplexar la señal de forma que se obtengan solo valores en X, Y, Z de un acelerómetro a la vez. Con esto se reduce el número de pines del ADC de doce a solo tres. La multiplexación debe ir cambiando cada vez que se obtenga el muestreo de los valores X, Y, Z actuales con el fin de mantener el flujo de datos y el continuo muestreo de las señales de los cuatro acelerómetros. Para realizar esta tarea se utiliza el circuito CD4066 que consigue en un arreglo bilateral de cuatro interruptores activados por señales de control independientes. La señal xVal, yVal, zVal se convertirá en xAcc, yAcc, zAcc una vez atraviese el sistema de seguidores y de esta forma está lista para ser procesada posteriormente. Procesamiento de la señal La señal obtenida se procesará usando un microcontrolador de gama media-baja. Este se encarga de realizar la tarea de conversión ADC, controlar las líneas de control CNn de los multiplexores, organizar los datos en tramas de comunicación y controlar la visualización. Unidad de transmisión de la señal La transmisión USB es definitiva para una conexión alámbrica con pocas pérdidas y muy confiables para enviar datos desde el módulo de captura hacia el computador directamente. Para conectar el dispositivo se usa un conector USB Hembra tipo A. Figura 4. Circuito multiplexor de señales para el guante de datos Cuando se establece el circuito cerrado para el acelerómetro n, entonces las señales Xn, Yn, Zn son convertidas a la señal xVal, yVal, zVal que llevan consigo la información de ese sensor. Este proceso se repite de manera continua mientras el circuito esté energizado y recibiendo la señal de control CNn. El algoritmo 1 se Figura 5. Circuito de procesamiento de la señal para el módulo de captura. El microcontrolador utilizado es el DSPIC30F4011 que no cuenta con un periférico interno de comunicación Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 USB y por esta razón se utiliza un transceiver del tipo FT232R que tiene la característica de convertir una comunicación serial asincrónica proveniente de la UART en protocolo USB compatible con cualquier PC usando la clase CDC, figura 6. 4 La función principal de esta etapa es obtener los datos vía USB CDC y con ellos realizar el procesamiento de la información para ejecutar los movimientos en una mano virtual. Para ello, es necesario el uso de ecuaciones obtenidas a partir de la cinemática inversa, una técnica que consiste en obtener valores para los ángulos de un sistema con determinados GDL a partir de una posición deseada y conociendo la longitud de sus eslabones. El algoritmo 2 muestra la lógica de empleada en esta tarea. Algoritmo 2. Algoritmo de funcionamiento de la interfaz gráfica. Figura 6. Circuito de procesamiento de la señal para el módulo de captura Transmisión Se implementa la transmisión RF con el fin de brindar mayor libertad de movimientos. El dispositivo encargado de la transmisión de datos por medio inalámbrico RF es el TLP434, un dispositivo electrónico que recibe señales por medio de un módulo UART y las transforma en datos de radio frecuencia por medio de modulación ASK a una frecuencia de 433.92MHz. Para ello se hace necesaria una antena capaz de polarizar y trasmitir los datos, para ello se usa una antena de codo capaz de irradiar en esta frecuencia. Es elegida la antena ANT-433CW-HWRSMA, la cual tiene una frecuencia central de 433MHz y un rango de trabajo de 418MHz a 448MHz. La conexión entre el circuito y la antena se realiza mediante un conector SMA fácilmente adquirible y estándar para conexión de este tipo de medios inalámbricos. Figura 7. a) Antena RF ANT-433-CW-HWR-XX, b) Circuito de transmisión RF del módulo de captura. 4. SOFTWARE INTERFAZ GRÁFICA El cerebro de la aplicación de computador está basado en el software MATLAB y es el encargado de conectar los componentes de la interfaz gráfica (botones, selectores, etc) con la lógica que se debe ejecutar cuando se manipulen estos y además interactuar con los periféricos del PC para obtener los datos transmitidos desde el módulo de captura (en este caso el puerto serial emulado por la clase USB CDC). Sin embargo, ya que el acelerómetro no es capaz de entregar la posición respecto al desplazamiento, sino respecto a su propio eje, obtener las coordenadas para la pocisiones de los mismos se convierte en una tarea compleja ya que se hace necesario plantear un sistema de coordenadas para el guante y uno equivalente en el mundo virtual. Viendo este problema, entonces se decide implementar un sistema que combina parte de la cinemática inversa y los ángulos de incidencia de la gravedad sobre los acelerómetros. El ángulo de inclinación del acelerómetro permite determina el valor del ángulo de la articulación DIP y a partir de esta, entonces es posible determinar el valor de la cinemática inversa para las articulación MCP y PIP. La ecuación (1) determina el ángulo de inclinación del acelerómetro sobre un eje con base a la influencia de la Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 gravedad y características propias de la construcción del acelerómetro[24][8]. [ ] (1) Donde = ángulo de inclinación en el eje consultado, = valor del voltaje entregado por el acelerómetro en el eje consultado, = valor de salida del eje consultado cuando el acelerómetro se somete a una aceleración de 0g, G = gravedad a la cual es sometido el acelerómetro, para todos los casos 9.8m/s = 1G, S = sensibilidad del acelerómetro de acuerdo a la aceleración a la que es sometido. Una vez obtenido este ángulo de inclinación, se procede a ajustar las ecuaciones de cinemática inversa a partir de las ecuaciones (2) y (3) descritas a continuación: ( ) [ ( ) ] [ ( ) ] (2) (3) 5 cargará el mundo virtual y se podrá interactuar con él usando el mouse. Comunicación: aquí se encuentran los componentes necesarios para iniciar la comunicación entre el software del PC y los módulos de captura. En el puerto de comunicación se debe seleccionar el puerto COM que asigna Windows al módulo de captura para comunicarse, el método de comunicación determina cuál módulo se usará el alámbrico (módulo de captura) o el inalámbrico (módulo inalámbrico RF). Panel de datos recibidos: aquí se muestran los datos recibidos desde el guante de datos, cada acelerómetro tiene su espacio de salida y en él se observan los voltajes arrojados y los ángulos de inclinación calculados. Para visualizar el diseño de VRML97 se hace uso del visor interno de MATLAB y por esta razón el archivo ejecutable de la interfaz gráfica requiere que se instale el compilador de MATLAB mientras se usa el sistema. No es necesario buscar el compilador en Internet o instalar todo el software MATLAB, el archivo ejecutable lo instala y usa automáticamente. Donde: = valor de la posición en X y Y para la falange n, = longitud de la falange n. Ajuste = valor obtenido para ajustar el ángulo recibido desde el guante de datos a la interfaz de captura en el PC, = longitud de la falange anterior a la actualmente calculada, por ejemplo, si es la falange proximal se debe usar en este valor la medida de la palma de la mano. La ecuación (4) define el ajuste al algoritmo necesario en la solución de las ecuaciones (2) y (3): ( ) (4) Esta ecuación ajusta el ángulo obtenido en la ecuación (1) para implementarlo en la cinemática inversa. Todos los ángulos manejados en las ecuaciones aquí descritas están dados en radianes. Para lograr realizar la interacción entre el código diseñado en MATLAB y VRML97 se usa la librería de funciones Virtual Reality Toolbox. Interfaz gráfica La interfaz gráfica es desarrollada usando una GUI de MATLAB, este toolboox permite crear rápidamente un entrono gráfico con botones, selectores, entradas de texto y muchos otros más y permite rápidamente asociarlo a funciones y disparadores de eventos cuando se realice la interacción con ellos. La interfaz gráfica diseñada en este caso se compone de los siguientes elementos: Panel de realidad virtual: en este panel se ubica el diseño elaborado enVRML97, este contenedor Figura 8. Implementación final. 5. CONCLUSIONES Aunque los acelerómetros son sensores importantes para determinar la ubicación de un objeto en el espacio, se encontró durante todo el desarrollo del sistema que el sensor usado en este diseño que corresponde al MMA7631L no ofrece una posición en el espacio como coordenadas, sino que, por el contrario, entrega una posición sobre su propio eje con lo que es muy complicado determinar el desplazamiento del mismo de forma confiable, razón por la cual algunos movimientos en los dedos de la mano fueron restringidos. La latencia observada durante la transmisión de datos vía USB es ocasionada por el tiempo que le toma al microcontrolador realizar el muestreo de las señales de voltaje de los acelerómetros y la posterior conversión de las señales análogas a digitales. Aunque se establecen los tiempos de trabajo aceptables no es prudente aumentar los tiempos de conversión ya que se obtienen resultados no esperados y esto se nota en algunos datos que llegan Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 de manera errónea y ocasionan que los movimientos no sean exactos. El sistema de giro de la muñeca se implementa de forma muy sencilla sin adentrar el sistema en muchos detalles sobre el movimiento de la misma. Esta característica es posible gracias al acelerómetro ubicado en el revés de la mano (metacarpo) y su funcionamiento fue basado en la obtención del ángulo de aceleración que incide directamente sobre los ejes del acelerómetro. Debido a la respuesta del software, en especial el diseño de VRML, se forzó a la modificación de las ecuaciones obtenidas desde la cinemática inversa buscando la respuesta adecuada de los movimientos de la mano en el mundo virtual. El uso de la clase CDC para la comunicación USB permitió que el guante se comunicara de forma más estándar con ordenadores aprovechando su gran facilidad de implementación y adaptabilidad con los sistemas. Esta clase tiene limitantes importantes, por ejemplo, la necesidad de establecer un puerto de comunicación y una velocidad tal cual como lo hace un puerto serial, sin embargo su comunicación se basa en el protocolo USB lo que lo hace robusto ya que todos los equipos de cómputo actuales cuentan con, al menos, un puerto. La libertad de movimiento y la comodidad del usuario es una parte fundamental dentro del diseño del sistema. Para ello, se diseñaron métodos de agarre y ubicación lo más confortables posible, por ejemplo, material de licra para el guante de datos, un sistema de correíllas con velcro para adherir el módulo de captura al antebrazo y el uso de una antena RF con codo para permitir la mayor libertad de movimiento posible durante el funcionamiento de todo el dispositivo. 6 6. BIBLIOGRAFÍA [1]. Haboo Team. Habbo opens for games developers. Haboo Team, 2012. [2]. Mikael Johnson & Kalle Toiskallio. Fansites as sources for user research:Case habbo hotel. Technical report, Helsinki University of Technology, 2005 [3]. Jiménez, R., Pineda, C., & Pinzón, J. Diseño de un guante háptico de control para manipulador robótico teleoperado. Ingenium, 7(17), pp. 19-28, 2013 [4]. Ozawa, R. & Ueda, N. Supervisory control of a multi-fingered robotic hand system with data glove. En Intelligent Robots and Systems, 2007. IROS 2007. IEEE/RSJ International Conference on, (pp.1606-1611). Piscataway, NJ: IEEE [5]. Ali, A.M.M., Ambar, R., Jamil, M.M.A., Wahi, A.J.M., & Salim, S. Artificial hand gripper controller via Smart Glove for rehabilitation process. En Biomedical Engineering (ICoBE), 2012 International Conference on (pp.300304). Piscataway, NJ: IEEE [6]. Lee, Y. & Ryu, D. (2008). Wearable haptic glove using micro hydraulic system for control of construction robot system with VR environment. En IEEE International Conference on Multisensor Fusion and Integration for intelligent Systems [Seoul, Korea. 2008] (pp.638-643). Piscataway, NJ: IEEE. [7]. Akmeliawati, R., Tis, F.S.B., & Wani, U.J. (2011). Design and development of a hand-glove controlled wheel chair. En Mechatronics (ICOM), 2011 4th International Conference On [17-19, May 2011. IEEE Kuala Lumpur, Malaysia]. (DOI. 10.1109/ICOM.2011.5937126). Piscataway, NJ: IEEE. Figura 10. Posiciones logradas con el sistema desarrollado Second International Conference on Advanced Mechatronics, Design, and Manufacturing Technology - AMDM 2014 [8]. Zhou, J., Malric, F., & Shirmohammadi, S. (2010). A new hand-measurement method to simplify calibration in cyberglove-based virtual rehabilitation, IEEE Transactions on Instrumentation and Measurement, 59 (10), 2496 2504 [9]. C. M. Light and P. H. Chappell. Development of a lightweight and adaptable multpleaxis hand prosthesis. Medical Engineering & Physics, 22:679– 684, 2000. [10]. Otto Bock HealthCare GmbH. Disponível en: http: // www.ottobock.com Duderstadt (DE), 2013. [11]. C. S. Lovchik and M. A. Diftler. The robonaut hand: A dexterous robot hand for space. In IEEE International Conference on Robotics & Automation, pages 907–912, Detroit, Michigan, May 10-15 1999. 7