Full text
Proyecto Fin de Carrera Ingeniería de Telecomunicación Formato de Publicación de la Escuela Técnica Superior de Ingeniería Autor: F. Javier Payán Somet Tutor: Juan José Murillo Fuentes Dep. Teoría de la Señal y Comunicaciones Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2013 Trabajo Fin de Grado Grado en Ingeniería Electrónica, Robótica y Mecatrónica Fundamentos de diseño e interfaz de control FMG de una prótesis de mano basada en la generación de agarres Autor: Andrés Martínez Silva Tutor: Joaquín Ojeda Granja Dpto. Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021
Trabajo Fin de Grado Grado en Ingeniería Electrónica, Robótica y Mecatrónica Fundamentos de diseño e interfaz de control FMG de una prótesis de mano basada en la generación de agarres Autor: Andrés Martínez Silva Tutor: Joaquín Ojeda Granja Profesor Titular de Universidad Dpto. Ingeniería Mecánica y Fabricación Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021
Trabajo Fin de Grado: Fundamentos de diseño e interfaz de control FMG de una prótesis de mano basada en la generación de agarres Autor: Andrés Martínez Silva Tutor: Joaquín Ojeda Granja El tribunal nombrado para juzgar el trabajo arriba indicado, compuesto por los siguientes profesores: Presidente: Vocal/es: Secretario: acuerdan otorgarle la calificación de: El Secretario del Tribunal Fecha:
Agradecimientos La realización de este proyecto ha sido una tarea ardua, muchas veces con el tiempo y los recursos en contra, que no podría haber completado sin el apoyo de todas las personas que aquí menciono. Por ello, quiero agradecer este trabajo a mi familia, por estar conmigo en los buenos y malos momentos, y por darme ánimos cuando más lo necesitaba. A todos mis amigos, especialmente a Damián, Carlos, Pablo y Álvaro, por compartir una parte aunque pequeña de este viaje, por nuestros largos paseos y conversaciones al caer la tarde, por darme una fuerza, un hombro en el que apoyarme sin el cual no habría podido sacar esto adelante. A mi tutor, Joaquín Ojeda, por confiar en mi propuesta desde el principio y proporcionarme toda la ayuda que he necesitado. A Juan Antonio Becerra, por ayudarme en la documentación de la parte final del trabajo, sin la cual no habría podido abordarla. Y, sobre todo, a todos los que me enseñaron el potencial de la Ingeniería para ayudar a las personas, y darles un motivo para mirar al futuro con ilusión. Andrés Martínez Silva Sevilla, 2021 I
Resumen Es te proyecto tiene como objetivo evaluar los principios de diseño del modelo mecánico de una prótesis de mano de bajo coste para la generación de agarres y gestos básicos de la vida cotidiana apoyándose en diseños académicos y comerciales reales, y el desarrollo de una interfaz de control intuitiva para el control de la misma mediante fuerzamiografía, una técnica que emplea transductores de fuerza para medir cambios en la rigidez muscular, y que se posiciona como una alternativa emergente más asequible que la electromiografía. Se pretende realizar una comparativa entre ambas técnicas basándose tanto en su principio de funcionamiento como en datos experimentales, y posteriormente se desarrollará un bloque de clasificación para traducir las señales fuerzamiográficas según el tipo de agarre o gesto efectuado por el usuario de la prótesis, proporcionando finalmente una introducción a la aplicación de técnicas de aprendizaje máquina para el control protésico. III
XÍndice 3.2 El microcontrolador 40 3.3 El sensor EMG 42 3.3.1 EMG Click 42 Principio de funcionamiento y características generales 42 Acondicionamiento de señal 45 4 Clasificación de señales FMG 49 4.1 Extracción de características 49 4.1.1 Introducción 49 4.1.2 Características para clasificación de señales FMG 50 4.2 Clasificación mediante muscle triggers 50 4.3 Clasificación mediante modelos de machine learning 53 4.3.1 Introducción 53 4.3.2 Clasificadores lineales 54 4.3.3 Análisis discriminante lineal 56 4.3.4 Red neuronal artifical (ANN) 58 4.3.5 Máquina de vectores de soporte (SVM) 61 4.3.6 Statistics and machine learning toolbox 64 Creación del set de entrenamiento 65 Comunicación entre ESP32 y Matlab 66 5 Resultados experimentales 69 5.1 Experimentos con FMG 69 5.1.1 Prueba 1: funcionamiento del sensor 69 5.1.2 Prueba 2: contracción rápida y sostenida 71 5.1.3 Prueba 3: contracción frente a extensión 73 5.1.4 Prueba 4: agarres y gestos 73 5.1.5 Pulsera FMG 74 5.1.6 Procesamiento de señales FMG 75 5.2 Comparativa con sEMG 76 5.2.1 Efecto de interferencias 79 5.2.2 Dominio frecuencial 80 5.3 Resultados de clasificación FMG 81 Caso 1: clasificación simple con un sujeto 81 Caso 2: clasificación simple con dos sujetos 84 Caso 3: clasificación de agarres y gestos 86 5.4 Discusión 89 5.4.1 Comparativa entre señales FMG y EMG 89 5.4.2 Clasificación de señales FMG 91 6 Conclusiones 93 6.1 Líneas futuras 93 Apéndice A Códigos 95 Índice de Figuras 109 Índice de Tablas 115 Índice de Códigos 117 Bibliografía 119
1 Introducción y estado del arte Es ampliamente conocido que la ciencia, mediante la fusión colaborativa entre ingeniería y medicina, siempre ha tenido como meta fundamental mejorar la salud de las personas buscando soluciones a problemas tan acuciantes como son la pérdida de extremidades u órganos, que limita y pone en peligro la vida de millones de personas cada día. Figura 1.1 Prótesis mioeléctrica de mano infantil diseñada por Open Bionics. Esta compañía es pionera en el uso de la impresión 3D para llevar la ingeniería biónica al alcance de todos. Fuente: www.openbionicslabs.com. En este contexto, muchos avances se han hecho en años recientes, pero la realidad sigue estando muy lejos de la utopía tecnológica de la ficción. Especialmente desoladores son los informes de la OMS que establecen que más de 600 millones de personas en el mundo padece una discapacidad de algún tipo, de los cuales el 80 por ciento vive en países en vías de desarrollo sin acceso a servicios médicos ni de rehabilitación apropiados [ 1 ]. Más recientemente, estima que solo 1 de cada 10 personas discapacitadas tiene acceso a tecnologías asistivas, incluyendo prótesis y órtesis, por su alto coste, escasa fiabilidad, falta de personal especializado y financiación, entre otros [ 2 ]. Y aunque se han puesto en marcha iniciativas con el fin de buscar cooperación internacional para solucionar este problema, el desafío sigue siendo titánico. Y se complica aún más cuando consideramos el elevado ratio de abandono de los usuarios que sí tienen acceso a esas prótesis, especialmente las de actuación eléctrica [3]. Sin embargo, son los grandes retos lo que guían la motivación de científicos e ingenieros, y durante los últimos años la investigación y desarrollo de prótesis, especialmente las de miembro superior, está viviendo una época de esplendor donde expertos de múltiples campos aúnan esfuerzos 1
2Capítulo 1. Introducción y estado del arte para proponer soluciones a un problema común, como es el de facilitar la vida de las personas necesitadas. Figura 1.2 La OMS plantea cuatro áreas fundamentales de inversión en tecnologías asistivas para el desarrollo de prótesis y órtesis, en el contexto de la cobertura universal de salud: política internacional, accesibilidad del producto, recursos humanos y suministro. Fuente: www.who.int . 1.1 Conceptos generales Se ha hablado de la naturaleza colaborativa de la Ingeniería, la Medicina y la Biología; y cómo sus distintas disciplinas aúnan esfuerzos en la investigación y desarrollo de prótesis y órtesis para mejorar las condiciones de vida de las personas discapacitadas. Sin embargo, en esta afirmación entran en juego muchos conceptos y ramas de investigación que es necesario conocer y distinguir en una primera aproximación al problema. Aquí se presentan algunas definiciones de interés. Por un lado, la Ingeniería biomédica puede definirse como la aplicación de los principios y técnicas de la Ingeniería al campo de las ciencias de la vida (Medicina, Biología, Farmacia...). Ingeniería biomédica y Bioingeniería son términos fuertemente relacionados que se fundamentan en la misma actividad, aunque puede establecerse una distinción en función del área que cubren: la primera suele enfocarse en mejorar la calidad de vida del ser humano, mientras que la segunda es más general y busca mejorar la calidad de vida de los seres vivos en su conjunto [ 4 ][ 5 ]. Ambos campos son amplios y aúnan múltiples ramas de la Ingeniería, como las siguientes: •Biomecánica y Mecanobiología : la Biomecánica se centra en el análisis y predicción de la mecánica de los seres vivos en instantes concretos de tiempo, mientras que la Mecanobiología estudia cómo el ambiente mecánico regula el comportamiento de un determinado proceso biológico [6]. • La Ingeniería Biónica se define como la rama de la ingeniería que estudia y desarrolla aplicaciones tecnológicas que tengan la finalidad de simular el comportamiento, forma o
1.2 Historia reciente de las prótesis 3 funcionamiento de organismos vivos con el objetivo de servir a la sociedad. También puede definirse como la rama de Ingeniería que estudia la cooperación entre sistemas biológicos y electrónicos [ 7 ]. Cobran especial importancia en esta rama los conceptos de bioseñal e interfaz humano-ordenador. •Bioseñal puede definirse como cualquier variable biomédica o señal producida por los tejidos vivos. Aunque normalmente se emplea este término para referirse a señales eléctricas (en este campo llamadas bioeléctricas), también incluye a señales no eléctricas, como la que es objeto de este trabajo [8]. • La interacción humano-ordenador es la disciplina que estudia el intercambio de información mediante software entre humanos y ordenadores con el objetivo de maximizar la comodidad y adaptabilidad de las personas en su interacción con sistemas informáticos [ 9 ]. En el caso del diseño y control de prótesis activas, este aspecto cobra vital importancia. A su vez, estas ramas combinan conocimientos de ramas más generales de la Ingeniería, como son la Ingeniería Mecánica, Ingeniería Electrónica e Ingeniería Robótica y Automática. Se ha hablado de prótesis y órtesis , términos que habitualmente se confunden. La principal diferencia, recogida en la norma UNE 111909-1:1990, es que las prótesis tienen la finalidad de reemplazar total o parcialmente una parte o un miembro completo ausente o deficiente, mientras que las órtesis son aplicadas externamente para modificar o mejorar las características estructurales o funcionales de una parte del cuerpo sin llegar a reemplazarla [ 10 ]. A su vez, una clasificación habitual distingue entre prótesis activas y pasivas : en las primeras, las fuerzas que permiten el movimiento de los mecanismos de la prótesis se aplican de forma interna mediante algún sistema de actuación. Por otro lado, las pasivas son estáticas y deben accionarse de forma externa (por ejemplo, con la mano sana). Muchas de ellas tienen una finalidad puramente estética, aunque existen modelos que permiten un cierto rango de ajustabilidad. Pierden la funcionalidad de los sistemas de actuación de prótesis activas, aunque normalmente ganan en simplicidad y comodidad. Aunque no son el objeto de este trabajo, se estima que 1 de cada 3 usuarios de prótesis lo es de una prótesis pasiva [11]. Normalmente, el uso de prótesis es una necesidad que surge como consecuencia de una amputación. Estas pueden ser traumáticas , consecuencia de un traumatismo, o quirúrgicas , donde la extirpación se realiza como parte de un proceso planificado de cirugía. Las amputaciones traumáticas son la principal causa de amputación del miembro superior en adultos. También se incluyen en el grupo de amputaciones aquellas denominadas congénitas, que se producen debido a la ausencia o malformación de una parte o miembro corporal en el nacimiento. Aunque representan un porcentaje pequeño, es la causa más común de amputación en niños menores de 5 años. La altura del brazo a la que se realiza la amputación depende del tipo de traumatismo o enfermedad, y será un factor decisivo en la adaptación de la prótesis. Las más comunes son las que se realizan a nivel del codo y de la muñeca. En ese sentido, un tipo concreto de amputación que cobra importancia en los procedimientos de extirpación de miembro superior es la desarticulación , que es la amputación que se realiza a nivel articular. Son relevantes la desarticulación del hombro, del codo y de la muñeca . 1.2 Historia reciente de las prótesis Si bien los primeros indicios del uso de prótesis de miembro superior se remontan a la Antigüedad, los primeros avances significativos en el campo que se daría a conocer como prostética no se producen hasta la segunda mitad del siglo XVI con las contribuciones de Ambroise Paré, padre de la cirugía de amputación. Sus diseños, aunque primitivos, ya implementaban mecanismos de actuación austeros que, actuados con la mano sana, permitían algunos movimientos básicos. En el siglo XIX, el alemán Peter Beil introduce las prótesis activas y autopropulsadas, diseñando una mano capaz de abrir y cerrar los dedos controlada por movimientos de tronco y hombro. Sin
4Capítulo 1. Introducción y estado del arte embargo, sería en la primera mitad del siglo XX cuando el cirujano alemán Ferdinard Sauerbruch creara la primera prótesis de mano activada con los músculos del muñón, conectando la musculatura flectora del antebrazo con el mecanismo de la mano artificial, accionado mediante varillas de marfil [ 14 ]. Se establece así la primera conexión directa entre el movimiento de la mano artificial y las contracciones musculares. En los años posteriores se produjo una fuerte inversión en el desarrollo de prótesis debido al descontento generalizado entre los veteranos de las dos guerras mundiales con la tecnología disponible, y se desarrollaron gran parte de los sistemas de accionamiento eléctricos, hidráulicos, neumáticos e híbridos que sentaron las bases de la tecnología actual, así como también se investigaron materiales más livianos y cómodos como el plástico y el aluminio [15][14]. Figura 1.3 Diseños de manos protésicas de Ambroise Paré (a) en el s. XVI, y Ferdinard Sauerbruch, a principios del s. XX (b). La primera tenía una movilidad muy reducida y debía ser accionada con la mano sana, mediante una palanca conectada a una rueda dentada. Siglos después, el modelo de Sauerbruch, el primero auto-accionado, permitía al usuario realizar acciones básicas como agarrar una taza o encender una cerilla mediante los músculos residuales del antebrazo. Figura adaptada de [16]. En 1960, el ruso Alexander Kobrinski desarrolló la primera prótesis mioeléctrica funcional, aunque la electromiografía para accionar partes motorizadas había sido introducida originalmente por Reinhold Reiter en 1948 sin conseguir relevancia científica ni aceptación clínica a priori. El modelo de Kobrinski, pese a sus defectos, se expandió rápidamente y obtuvo relevancia internacional como “la mano rusa” [ 16 ]. Con los avances en microelectrónica, robótica e informática que han protagonizado el último siglo, así como los avances en cirugía que permiten realizar amputaciones compatibles con el diseño de la prótesis (fue especialmente relevante la introducción de la reinervación muscular dirigida en 2004, que permitió reutilizar los nervios residuales del miembro amputado), la electromiografía sentó un precedente y se expandió por todo el mundo hasta constituir hoy en día una de las opciones más generalizadas para el accionamiento de prótesis, ofreciendo un compromiso entre funcionalidad y comodidad que resulta atractivo para un gran número de usuarios. Sin embargo, como se discutirá en el apartado 1.4, en los últimos años han surgido alternativas
1.2 Historia reciente de las prótesis 5 que dan lugar a resultados equivalentes mediante técnicas de sensorización similares basadas en en el mismo principio básico popularizado por la electromiografía: la captura y procesamiento de bioseñales para el accionamiento de la prótesis mediante interfaces humano-ordenador sencillas. En 2007, la compañía escocesa Touch Bionics crea la que se considera la primera prótesis biónica comercial con dedos articulados y controlados individualmente, la i-Limb Hand. Esta prótesis emplea señales mioeléctricas que son procesadas por un microcontrolador que genera una señal de movimiento para los motores que hacen mover cada uno de los dedos, incluido un pulgar capaz de rotar y oponerse al índice. El control se basa en señales musculares sencillas llamadas triggers que son captadas por un grupo de electrodos y que el usuario puede generar fácilmente y asociar a cualquiera de las posiciones de agarre automatizadas que vienen pre-programadas. Este producto supuso una revolución en el campo de la protésica y ha sido galardonado con numerosos premios [ 17 ]. Desde entonces, otras compañías han lanzado al mercado diseños similares que desarrollan y mejoran las bases sentadas por la i-Limb Hand, como la Vincent Hand, la Bebionic Hand o la Michelangelo Hand [ 18 ]. Pese a diferencias particulares entre modelos, todos estos productos emplean un mecanismo de accionamiento simplificado en los dedos, de forma que cada articulación no se mueve individualmente, existiendo alguna forma de acoplamiento entre ellas. Esto tiene relación con el concepto de las sinergias que se producen en el agarre y la naturaleza infraactuada de la mano humana, como se detallará más adelante. Fuera del ámbito comercial, en el campo de la investigación, se han realizado experimentos para optimizar el diseño reproduciendo el máximo número de posiciones de agarre disminuyendo el coste, como es el caso de la X-Hand [ 19 ], la SPRING-Hand [ 20 ] y el modelo de prótesis desarrollado por Alicia Martinez-Pais en el que se basa este trabajo, que se describirá en profundidad en el apartado siguiente. Figura 1.4 Varios modelos de prótesis comerciales han cobrado importancia en los últimos años. a): Vincent Hand de Vincent Systems, b) y c): iLimb Hand y iLimb Pulse de Touch Bionics, d) y e):Bebionic Hand y Bebionic Hand v2 de RSL Steeper, f): Michelangelo Hand de Otto Bock [18]. Finalmente, cabe destacar que el advenimiento de la impresión 3D, especialmente con la proliferación de las impresoras 3D de escritorio, ha dado rienda suelta en los últimos años a todo tipo de proyectos de diseño de prótesis, ya sea a nivel profesional como amateur. Técnicas como la fabricación aditiva permiten poner a disposición del público diseños relativamente complejos que
6Capítulo 1. Introducción y estado del arte pueden usarse, en muchos casos de forma gratuita, tanto a nivel doméstico como en el ámbito de la investigación. Comercialmente, es conocida la compañía estadounidense Open Bionics, que con el Hero Arm puso a la venta en 2018 la primera prótesis de mano impresa en 3D con aprobación clínica. Su diseño estilizado, comodidad y robustez; unido a su precio más económico que otras opciones del mercado, la han convertido en una de las prótesis más mediáticas y representativas de la actualidad [21]. 1.3 Criterios de diseño A la hora de hablar del diseño de sistemas que intentan reproducir las funcionalidades de una mano humana, es necesario plantear la dicotomía que existe entre sistemas robóticos antropomórficos con aplicaciones en el entorno industrial y prótesis. El motivo reside en que, en los últimos años, la tecnología disponible permite la implementación de mecanismos de gran complejidad para el accionamiento y control de efectores antropomórficos en manipuladores o sistemas robóticos. Estos sistemas incluyen un elevado número de actuadores y articulaciones que llegan a reproducir todos, o casi todos, los grados de libertad de la mano humana. Sin embargo, esto tiene un coste que se manifiesta de forma tanto económica (suelen ser sistemas muy caros) como estética, y la principal consecuencia es que no pueden ser utilizados como prótesis. El diseño y control de prótesis plantea un desafío aún mayor: se trata de diseñar un sistema no solo capaz de replicar con éxito las funcionalidades básicas de la mano humana, sino que también satisfaga una serie de criterios adicionales, principalmente estéticos, que limitan inevitablemente la complejidad del sistema. En [ 19 ] se proponen los criterios que cualquier mano artificial antropomórfica, sea industrial o para prótesis, debe cumplir: •Funciones de agarre antropomórficas : que la mano sea capaz de reproducir la mayor cantidad de agarres empleados en el día a día con la mayor fidelidad posible es un factor primordial. •Minimización del número de actuadores : incrementar el número de actuadores tiene como principal consecuencia un control y operación más complejos, tanto desde el punto de vista del control automático en manipuladores como de las interfaces humano-ordenador en las prótesis. En la medida de lo posible, se debe reducir este número al mínimo imprescindible. •Diseño compacto : el hardware de la mano debe constituir un módulo compacto que permita un proceso de mantenimiento e instalación sencillo y flexible. En el caso concreto de las prótesis, entra en juego un factor cosmético que hace necesario replantear todo el diseño, y cobra tal importancia que recontextualiza todo el problema. Y es que, dicho sencillamente, una prótesis de mano debe ser cómoda para el usuario que la porta. Esto implica que tanto la forma, como la apariencia, el peso e incluso el control (es decir, la interfaz humano-ordenador) deben aproximarse lo máximo posible a aquellos de la mano humana. En este contexto, la investigación se enfrenta a dos problemas que aún no tienen una solución clara: la ausencia de una interfaz natural entre el sistema nervioso periférico y la prótesis, y la ausencia de actuadores ligeros y compactos con un par suficiente para reproducir las fuerzas de agarre promedio de la mano humana [ 20 ]. Diseñar una interfaz intuitiva para una prótesis cómoda implica inevitablemente reducir el número de actuadores, implementando mecanismos de acoplamiento que permitan accionar varias articulaciones con el mismo motor, es decir, sistemas subactuados. Sin embargo, como se observa en la figura 1.5, dichos sistemas de acoplamiento en la mayoría de los casos llevan asociados una complejidad significativa a nivel hardware que resulta en un aumento de peso en detrimento de la comodidad. Esta paradoja de diseño implica que no existe una solución clara, y se debe buscar un compromiso en la selección de estas variables. En muchos casos, este compromiso se resuelve mediante una aproximación sinérgica, como se detallará en el apartado
1.4 Técnicas de sensorización 7 Figura 1.5 A la izquierda, relación entre peso y número de actuadores para distintas prótesis comerciales y de investigación. Se observa en algunos casos el aumento de peso asociado al acoplamiento entre articulaciones cuando se emplean muy pocos actuadores. A la derecha, relación entre peso y número de articulaciones, variables mucho más correladas [18]. 2.3, que permite resolver el problema de forma satisfactoria mediante el uso de pocos actuadores y acoplamientos sencillos. 1.4 Técnicas de sensorización La electromiografía de superficie es la opción más asentada en la bibliografía para la sensorización de las prótesis biónicas: es decir, el proceso por el cual se convierten las señales procedentes del sistema nervioso del usuario en señales de control de los motores que accionan el mecanismo de actuación. Las señales electromiográficas o EMG constituyen la manifestación eléctrica de la actividad neuromuscular durante la contracción muscular. Esta técnica de captación de señales, abreviada como sEMG (surface electromyography) consiste en registrar las diferencias de potencial que se producen entre dos puntos del tejido muscular en el momento de la contracción, como consecuencia de las señales generadas por las neuronas motoras, mediante dos o más electrodos colocados convenientemente en la piel del sujeto. Se trata de la técnica más extendida en el contexto de control de prótesis, y desde los años 60 ha visto una gran evolución, de forma que la inmensa mayoría de prótesis disponibles comercialmente, como las previamente expuestas, emplean un sistema de adquisición y procesamiento de señales electromiográficas para distinguir posiciones de agarre. Sin embargo, esta técnica no viene sin sus inconvenientes: para empezar, las señales EMG son muy débiles y sensibles al ruido, y requieren de un procesamiento estricto de amplificación y filtrado para ser usadas eficientemente. Este procesamiento exige maximizar la relación señal a ruido y minimizar la distorsión, entre otros criterios. Y es que el principal problema reside en el sensor en sí mismo: son generalmente inconsistentes y muy sensibles a interferencias tanto del entorno como del propio usuario: sudor, humedad, cambios en el posicionamiento de los electrodos e interferencia entre señales de músculos adyacentes son algunas causas que influyen significativamente en la clasificación [ 22 ]. Además, son sensores con una funcionalidad muy específica, lo que los encarece y hace más difícil encontrar versiones de bajo coste eficientes más allá de aplicaciones comerciales. Esta situación ha llevado a que se pongan en marcha numerosos estudios que exploran alternativas viables para la sensorización de prótesis de miembro superior. Para ello se ha investigado la eficiencia de métodos no invasivos basados en distintos tipos de sensores complementarios al sEMG, como transductores de fuerza, acelerómetros o ultrasonidos, lo que ha resultado en técnicas cada vez más presentes: a continuación se exponen algunos ejemplos que aparecen frecuentemente en la
8Capítulo 1. Introducción y estado del arte bibliografía. Paralelamente a la electromiografía, que enfoca en la contribución eléctrica, algunas de estas técnicas exploran la contraparte mecánica de la contracción muscular[23]. •Fuerzamiografía (FMG) : traducción del término original en inglés force myography, también llamada Residual Kinetic Imaging (RKI) o Muscle Pressure Mapping (MPM), es una técnica no invasiva que emplea transductores de fuerza para medir cambios de rigidez en el complejo músculo-tendinoso con respecto a un estado de referencia, que normalmente corresponde al músculo relajado. De la misma forma que se puede sentir la contracción de los músculos flexores y extensores de la mano palpando sobre la piel, se pueden colocar transductores de fuerza que ofrezcan una medida en función de la rigidez muscular [ 23 ]. El término FMG se introdujo oficialmente en la comunidad científica en 2008, cuando se estudió la posibilidad de mejorar el control de las fuerzas de agarre en prótesis usando este tipo de transductores [ 24 ]. Desde entonces, ha tomado una importancia cada vez mayor y estudios realizados en la última década consideran esta técnica como la más prometedora en el contexto de sensorización no-invasiva, antes que el uso de acelerómetros, ultrasonidos e incluso de los tradicionales sEMG; ofreciendo los resultados más precisos en cuanto a predicción, estabilidad, comodidad y coste [22]. Figura 1.6 La investigación de técnicas FMG en el campo de la prostética biónica ha cobrado mayor protagonismo en los últimos años y se presenta como la alternativa más prometedora a la electromiografía, como se ve reflejado en el creciente número de publicaciones desde su introducción formal en 2008 [23]. •Mecanomiografía (MMG) : esta técnica no invasiva emplea acelerómetros o micrófonos para medir las oscilaciones generadas por cambios dimensionales en la fibra muscular, es decir, las vibraciones que se producen como consecuencia de las contracciones musculares. Mientras que los transductores de fuerza empleados en FMG ofrecen información a frecuencias bajas (inferiores a 10Hz), la MMG trabaja con frecuencias superiores, en el entorno de los 100Hz. Su principio de funcionamiento permite detectar contracciones más débiles que las que podría detectar un sEMG, y aunque esta técnica es más efectiva en la estimación de fuerza que en la de gestos, también ofrece resultados aceptables en la clasificación [25].
1.5 Motivación 9 •Sonomiografía(SMG) : se basa en la aplicación de las técnicas de ecografía o ultrasonografía, tradicionalmente empleadas para visualizar estructuras en el cuerpo humano, para examinar la contracción muscular. Recientemente se está experimentando con estos sensores en el control de prótesis, ya que permiten obtener información de los músculos de la mano a un nivel más profundo que las otras técnicas que se limitan a recoger información fundamentalmente de los músculos más superficiales, y aunque se basen en principios eléctricos de forma análoga a los sEMG (concretamente, el efecto piezoeléctrico), no proporcionan señales tan débiles y sensibles ante ruido como las que caracterizan a los sEMG [25]. No son las únicas alternativas que se han explorado. Existen técnicas que buscan la captación de la actividad neuronal de forma más directa, como la electroneurografía (ENG), la electroencefalografía (EEG) o la electrocorticografía (ECoG), más enmarcadas en la disciplina que se conoce como neuroprostética. Sin embargo, pese a los avances en la neurociencia y el desarrollo de interfaces cerebro-ordenador (BCI), siguen siendo técnicas en vías tempranas de investigación, y requieren instrumental y computación relativamente complejos en comparación con las expuestas previamente. Además, en muchos casos requieren procedimientos quirúrgicos invasivos y equipo aparatoso que resulta incómodo para el uso cotidiano que se persigue en una prótesis. 1.5 Motivación Pese a las alternativas mencionadas, la mayoría de las prótesis revisadas, tanto comerciales como en el contexto de la investigación, recurren a una interfaz de control electromiográfico para su actuación. Y, aunque la electromiografía de superficie ofrezca resultados aceptables en interfaces de prótesis comerciales, dichas prótesis se caracterizan por su elevado precio, muy alejado del presupuesto de un gran porcentaje de la población necesitada que por estas mismas razones se ve limitada a emplear prótesis pasivas o de actuación mecánica, que ofrecen muchas menos posibilidades de control. Además, si bien es posible encontrar en el mercado sensores sEMG a precios más económicos, estos no pueden competir con las opciones más sofisticadas y en la mayoría de los casos solo permiten captar la actividad de un músculo. Además, los inconvenientes generalmente asociados a las técnicas sEMG, especialmente la sensibilidad a ruido, se ven agravados en estas configuraciones de bajo coste, al depender en gran medida de la calidad del circuito de acondicionamiento que incorporan. Las técnicas de fuerzamiografía, por otro lado, coinciden en el uso de un mismo sensor o familia de sensores de muy bajo precio, inferior a los 10 € por unidad, y que han ofrecido resultados incluso más prometedores que la electromiografía, así como otras técnicas mencionadas como la mecanomiografía, en configuraciones más cómodas y livianas para el usuario, como pulseras y correas de velcro. Sin embargo, todos los documentos revisados coinciden tanto en esta faceta como en la escasez, aún muy palpable, de investigación de esta técnica orientada al control protésico. Esta situación, asociada a la naturaleza aún emergente de la fuerzamiografía, impide que sea implementada de forma más generalizada en modelos comerciales a pesar de sus aparentes ventajas. Si existen más evidencias del uso de interfaces FMG eficientes, y se expande la documentación y divulgación en torno a los métodos de control basados en esta técnica, sería posible establecer un nuevo paradigma en la protésica que asentaría una nueva tecnología accesible y sencilla y la llevaría al alcance de muchas personas, reduciendo notablemente el coste de sensorización de prótesis activas. 1.6 Objetivo y metodología Es importante resaltar que este trabajo no pretende abarcar el proceso completo de diseño, implementación y control de una prótesis de mano funcional. Se trata de un procedimiento arduo y complejo que involucra numerosos recursos materiales y humanos, en el que a menudo intervienen
16 Capítulo 2. Fundamentos de diseño Como se explicará más adelante, esta clasificación solo constituye la base para el diseño, y el modelo mecánico solo fue simulado en la prótesis en la que se basa este trabajo para tres de estos agarres: prensa de gravedad, pinza pulgodigital subterminal, y agarre digito-palmar. Sin embargo, es un punto de partida aceptable para explorar las posibilidades de clasificación que ofrece el sistema de sensores. 2.2.2 Fuerzas de agarre Además de las configuraciones de agarre típicas, es conveniente tener una medida de fuerza de agarre promedio en una mano humana sana. Numerosos experimentos se han llevado a cabo en este ámbito, abarcando distintos grupos de edad, altura y peso en los dos géneros. Por ejemplo, en [ 31 ] se emplean dos dinamómetros con un sistema de adquisición de señales para medir el valor de fuerza de agarre en Newton en una población de 315 mujeres y 215 hombres sanos de edad igual o mayor a 20 años. Se miden dos tipos de agarre: de fuerza y de precisión, tanto en la mano derecha como en la izquierda. En el agarre de fuerza, los valores máximos se alcanzan en torno a los 30 años tanto para hombres, con una media de 567N, como para mujeres, con una media de 333N. En cuanto al agarre de precisión, el valor máximo se encuentra en hombres de unos 40 años, con 87N, mientras que en mujeres se registra un valor máximo de 58N en torno a los 20 años. Estos valores promedios decaen naturalmente con la edad para los dos géneros. Figura 2.6 Resultado experimental de la fuerza de agarre en hombres y mujeres en la mano derecha para el agarre de fuerza (izquierda) y de precisión (derecha). Figura adaptada de [31]. Sin embargo, la fuerza de agarre presente en prótesis actuales suele quedar muy por debajo. Las limitaciones de diseño señaladas en el apartado 1.3 obligan a trabajar con valores de fuerza de agarre mucho menores, al menos en el ámbito de prótesis comerciales y de bajo coste. Por ejemplo, en el diseño de la X-Hand [ 19 ] se consigue una fuerza de agarre estimada de 12.1N, aunque ha sido contrastado experimentalmente que permite sostener una botella de 500ml de agua en un agarre cilíndrico. Estos experimentos se realizan para el agarre cilíndrico, ya que es el más ilustrativo de la fuerza de agarre máxima de una prótesis. El método empleado para estimar este valor se basa en el cálculo de una fuerza de agarre generalizada, expresada como la suma de las contribuciones de fuerzas en cada punto de contacto “n” del objeto con la prótesis [20]: FN= n ∑ i=1 fni (2.1)
2.2 Caracterización del agarre 17 Tabla 2.1 Valores de referencia de fuerza dactilar de los cinco dedos para el diseño mecánico de la prótesis objetivo [27]. Dedo Pulgar Índice Corazón Anular Meñique Promedio de fuerza [N] [0.4-3.2] [0.8-3.8] [0.7-3.7] [0.6-3.6] [0.7-2.3] Al mismo tiempo, se conoce por la ley clásica de rozamiento de Coulomb que el módulo de la fuerza tangencial en el punto de contacto debe ser menor o igual al módulo de la fuerza normal multiplicado por el coeficiente de rozamiento entre las dos superficies. Si extendemos este enunciado a todos los puntos de contacto, y consideramos el mismo coeficiente de rozamiento estático para todos ellos, la fuerza tangencial total F t en el equilibrio, es decir, en el instante antes de que el objeto resbale, se puede expresar como: FT= n ∑ i=1 µfni (2.2) La fuerza de agarre generalizada puede determinarse planteando la ecuación de equilibrio cuando se aplica una fuerza conocida en la dirección del eje de simetría del objeto: Faplicada =FT= n ∑ i=1 µfni (2.3) Figura 2.7 Representación gráfica del problema de equilibrio de fuerzas en el agarre. En este ejemplo se considera la fuerza ejercida únicamente por las falanges de los dedos pulgar e índice. Figura adaptada de [20]. El valor de la fuerza aplicada en el instante en que el objeto comienza a resbalar, que es cuando se cumple la ecuación anterior, se puede determinar experimentalmente estudiando la evolución de las fuerzas tangenciales y la fuerza aplicada. A partir de este valor, se puede deducir el coeficiente de fricción y, finalmente, estimar el valor de la fuerza de agarre generalizada F N . Actualmente, sigue siendo un desafío de diseño reproducir todo el rango de fuerzas de agarre de una mano sana en una prótesis, pero se pueden idear mecanismos y sistemas de actuación que permitan una funcionalidad básica y suficiente para la mayoría de agarres cotidianos. Por ejemplo, los valores de fuerza dactilar de referencia para el diseño de la prótesis en la que se implementará el sistema de sensores se definen en la tabla 2.1.
18 Capítulo 2. Fundamentos de diseño 2.3 Sinergias en el agarre Como se ha visto reflejado en los apartados previos, la mano humana es un sistema con una estructura y funcionalidad a primera vista complejos. Sin embargo, el problema se complica aún más cuando se considera el hecho de que en el control de la mano interviene algo más que el simple movimiento de sus articulaciones o músculos. Desde el punto de vista del diseño y control, tanto de prótesis como de sistemas robóticos antropomórficos en general, esta situación ha llevado a que se estudie la mano como algo más que un conjunto de grados de libertad independientes. Y es que los avances en neurociencia han permitido demostrar que el cerebro no controla individualmente cada articulación o músculo de la mano, y el problema que enfrenta el sistema motor al moverla es más complejo aún: la mayoría de acciones son dinámicas y requieren un ajuste constante y mutuo de todos los elementos del sistema. Cualquier movimiento sencillo involucra infinidad de parámetros que van desde preajustes posturales, orientación relativa de los dedos en cada instante del transporte de la mano desde la posición inicial a la posición objetivo, distribución de las fuerzas de contacto según el objeto u objetos que se pretenden agarrar o tocar, entre muchos otros. Esta situación ha llevado a que se introduzcan técnicas de reducción de dimensionalidad, buscando modelar las sinergias que se producen en el movimiento. En [ 32 ] se recoge la definición más extendida de sinergias: “un conjunto de grados de libertad relativamente independientes que se comportan como una unidad funcional, de modo que los grados de libertad cuidan de sí mismos, ajustándose a sus propias fluctuaciones y a las fluctuaciones en el campo de fuerzas externas, de modo que se preserve la integridad funcional del conjunto”. Se puede realizar una distinción entre sinergias posturales o cinemáticas, relacionadas con el movimiento de la mano, y sinergias de fuerza, relacionadas con el ajuste de las fuerzas que se originan en los dedos durante el agarre para mantener el equilibrio necesario y que el objeto no resbale. Paralelamente, se recoge la existencia de sinergias a nivel neuronal, de acuerdo a evidencias en el comportamiento y disposición de neuronas en la corteza motora del cerebro, región responsable de las funciones motoras voluntarias y, por tanto, de la planificación y control del movimiento de la mano. 2.3.1 Sinergias posturales Para abordar el problema de reducción de dimensionalidad en el estudio cinemático del agarre, es frecuente partir de experimentos donde se computa mediante sensores información del desplazamiento angular de las articulaciones de los dedos de la mano de distintos participantes en movimientos de agarre cotidianos. Aplicando técnicas como la descomposición en valores singulares sobre los datos experimentales recogidos, y analizando la correlación que existe entre el movimiento de las articulaciones de los dedos, estos estudios sugieren que es posible modelar el control de la postura de la mano en casi todo el espectro de agarre como un número reducido de combinaciones lineales de los GDL medidos. En [ 33 ] se introduce el concepto de “eigengrasps”, que se definen como las componentes principales, resultado de la descomposición en valores singulares de los datos experimentales previamente mencionados, que forman una base de dimensionalidad reducida para posturas de agarre. Sea “d” el número de GDL de la mano, y phi el valor que toma el GDL i, una postura genérica p se puede definir como: ei= [ei,1ei,2...ei,d]∈Rd(2.4) Partiendo de una base de “b” movimientos principales o eigengrasps se puede expresar cualquier postura de la mano como una combinación lineal de estos “b” vectores, donde a i es el escalar que
2.3 Sinergias en el agarre 19 determina la contribución de cada componente eien la combinación lineal: p= b ∑ i=1 aiei(2.5) Tras definir estos conceptos, es lógico plantearse por un lado el número de GDL que se requieren para modelar con suficiente fidelidad el espectro de agarre, y por otro lado cuántos eigengrasps o movimientos principales son suficientes o necesarios. Para ilustrar el procedimiento se tomará como referencia el método desarrollado en [ 19 ], donde tras realizar una descomposición en valores singulares sobre los datos experimentales del desplazamiento articular de las articulaciones MCP, IP e ID en el agarre, se llega a la conclusión de que el movimiento de dedos que caracteriza el patrón de agarre puede determinarse completamente a partir del desplazamiento de la articulación MCP de los cuatro dedos y CMC del pulgar (movimiento primario), y el desplazamiento de las otras articulaciones puede deducirse a partir de esta (movimiento secundario). Esto concuerda con la idea sugerida en [ 32 ] de que el control de la postura de la mano se debe a la combinación de sinergias “principales” que definen el patrón de agarre y sinergias “secundarias” que corresponden a pequeños ajustes cinemáticos del sistema nervioso para la adaptación a la forma del objeto o superficie objetivo, y además se deduce que no solo existen sinergias en el movimiento entre dedos, sino también entre articulaciones en el mismo dedo, lo cual permite simplificar aún más el diseño. Además, si se calcula y representa el grado de correlación en el movimiento primario (es decir, de la articulación MCP, y en el caso del pulgar, los 2 GDL de la articulación CMC) de los cinco dedos, como se observa en la figura 2.8, se puede concluir por un lado que el pulgar se mueve independientemente de los otros cuatro dedos, y que por tanto se puede partir de los GDL correspondientes a articulaciones MCP de estos dedos, en cuyo movimiento existe una dependencia manifiesta, para construir una base ortonormal de vectores que permitan modelar la mayor parte del espectro de agarre de la mano. Figura 2.8 Coeficiente de correlación que ilustra la dependencia en el movimiento entre las articulaciones CMC del pulgar en sus dos GDL (Tf y Ta) y MCP de los otros cuatro dedos (I=Índice, M=Corazón, R=Anular, L=Meñique). Se observa la escasa dependencia entre el pulgar y el resto de dedos [19]. De esta forma, siendo Qh= (q1 1q2 1q3 1q4 1)T∈ℜ4xm (2.6) Una matriz con datos experimentales del valor de las articulaciones MCP en cada instante durante un periodo de tiempo discretizado en m muestras, en los dedos 1 a 4 (índice, corazón, anular y meñique respectivamente), realizando una descomposición en valores singulares de dicha matriz y organizando términos, se llega a la expresión: 4qh=ε1u1+ε2u2+ε3u3+ε4u4(2.7)
20 Capítulo 2. Fundamentos de diseño Se puede encontrar un paralelismo claro con la expresión de las sinergias posturales definida previamente. Efectivamente, ∆qh es una postura de la mano, expresada en el espacio articular como una desviación de una posición de mano relajada, y los vectores u i constituyen una base ortonormal de cuatro eigengrasps, sinergias o direcciones primarias de movimiento. Cada uno de estos vectores representa una dirección principal de movimiento dada por la acción coordinada de las cuatro articulaciones MCP de los cuatro dedos, y los valores epsilon, ai en la definición original de eigengrasps, son escalares que determinan la contribución de cada movimiento en la combinación lineal que determina la postura de agarre. Sin embargo, se puede simplificar aún más el problema. Si se analizan con más detenimiento los datos experimentales, y se determina cuál es la contribución exacta de cada movimiento principal o eigengrasp en cada postura, tanto [ 33 ] como [ 19 ] llegan a la conclusión que el problema puede reducirse a las dos dimensiones, ya que es posible reconstruir hasta el 90% del espectro de agarre solo con los dos primeros vectores. Figura 2.9 Las cuatro sinergias principales en sus distintos rangos de amplitud epsilon (izquierda). A la derecha, espectro de agarre de la mano humana representado en un plano 2D, en función de las dos primeras sinergias o componentes posturales principales resultado de la simplificación del modelo de la izquierda. El origen corresponde a una posición relajada, con extensión de los cuatro dedos [19]. 2.3.2 Sinergias de fuerza Agarrar un objeto no solo implica un control de la postura de la mano en dicho agarre, sino también de la fuerza que se ejerce con los dedos para que el objeto no se caiga. Por tanto, parece lógico pensar que deben existir también sinergias a nivel de fuerzas de contacto que permitan manipular objetos y herramientas, es decir, una coordinación en el control de estas fuerzas para satisfacer las restricciones mecánicas que caracterizan el agarre. Se conoce que para manipular y sostener un objeto en el aire es necesario que la fuerza neta se oponga a la fuerza gravitatoria y el momento neto sea igual a cero. Además, la satisfacción de las restricciones de fricción, como se indicó en el apartado 2.2.2., implica que la fuerza normal, es decir, la componente perpendicular a la superficie de contacto, sea mayor que la fuerza tangencial, la componente paralela a la superficie de contacto, dividida por el coeficiente de fricción entre la superficie del objeto agarrado y el dedo. En algunos entornos de simulación de agarre para planificación se emplea un cono de fricción como representación geométrica del área, cuya apertura depende del coeficiente de fricción de la superficie del objeto, donde debe manifestarse la fuerza de contacto para que el objeto no resbale. El control de las fuerzas de contacto implica también que las
2.3 Sinergias en el agarre 21 fuerzas normales deben aumentar si las fuerzas tangenciales aumentan para mantener el equilibrio, lo que se traduce en apretar el objeto con más fuerza [32]. Figura 2.10 Efectos de incluir la información de las sinergias de fuerza en el control postural (i-l) frente al control postural o cinemático básico (a-d sin objeto, e-h con objeto), para el primer movimiento principal o “eigengrasp”. El ajuste es más preciso con la información que aporta el modelo sinérgico de fuerzas [34]. En una primera aproximación al análisis de las sinergias de fuerza, los GDL se suelen definir como los parámetros necesarios para determinar las fuerzas de contacto en el agarre. Sin embargo, esto no es del todo realista porque cada parámetro no se controla independientemente. Al igual que el sistema nervioso no controla independientemente cada articulación en el movimiento, tampoco parece controlar independientemente la fuerza ejercida por cada dedo, como demuestra el fenómeno conocido como enslaving, donde se registra inevitablemente la aplicación de fuerzas por parte de todos los dedos incluso cuando se pretende ejercer fuerza con solo uno de ellos. 2.3.3 Sinergias neuronales Figura 2.11 La inervación de los músculos se produce en estructuras llamadas unidades motoras, que comunican las neuronas motoras con las fibras musculares a las que estas transmiten el impulso nervioso [35] . La investigación en el campo de la neurología para determinar las especificidades del control de movimiento de la mano se enfoca en el estudio de los impulsos generados en la corteza motora del
22 Capítulo 2. Fundamentos de diseño cerebro. Según se recoge en [ 32 ], no se ha podido establecer una relación clara entre la descarga de las neuronas que componen la región primaria de la corteza motora, donde se generan estos impulsos para ser transmitidos a través de la médula espinal a las neuronas motoras inferiores que inervan los músculos, con la contracción de músculos individuales. Se ha demostrado experimentalmente que la actividad de una misma neurona motora puede producir contracciones en varios músculos, y que incluso los movimientos más simples producen la activación de la mayor parte de neuronas de esta región del cerebro. Esta evidencia ha desplazado el planteamiento original de que la organización de la corteza motora no está limitada a codificar el grado de contracción de determinados músculos, y la conexión (sinapsis) con las neuronas motoras inferiores es más compleja de lo que parecía a simple vista. En su lugar, el enfoque aceptado en la actualidad es que las columnas corticales en las que se organiza la corteza motora no codifican un parámetro físico concreto, sino una composición de sinergias que son descifradas aguas abajo en la médula espinal e involucran la activación de grupos musculares que generan los distintos patrones de movimiento. Esta configuración ha llevado a considerar la médula espinal como un sistema motor en sí mismo que juega un papel fundamental en la decodificación, y por tanto selección, de sinergias de control. Aunque no se explorará con mayor profundidad en este trabajo, la investigación de la activación muscular sinérgica desde una perspectiva neuronal, y del papel de las distintas regiones del cerebro y la médula espinal en la planificación, control y generación de movimiento es un tema muy vigente y aún en vías tempranas de desarrollo. En resumen, la principal consecuencia del estudio de la naturaleza sinérgica del control de la mano, que tiene su origen en la propia estructura de la corteza motora del cerebro, es que permite simplificar significativamente el análisis y diseño de manos artificiales antropomórficas, implementando sistemas austeros en actuadores donde se pueden controlar simultáneamente varias articulaciones interconectadas mecánicamente que permiten reproducir con una fidelidad bastante aceptable el espectro de movimiento de la mano real. 2.4 Características generales de la prótesis objetivo El diseño mecánico de la prótesis de mano es de gran importancia en la tarea de diseño de la interfaz de la misma. En esta sección se describen los rasgos generales del modelo de prótesis que se tomará como base para el desarrollo de este proyecto. El objetivo por tanto no es un desarrollo exhaustivo, sino un resumen ilustrativo de los aspectos principales del modelo y del proceso de diseño, apoyándose en algunos conceptos básicos de Teoría de Mecanismos extraídos de [ 36 ]. Realizado por Alicia Martínez-Pais González como Trabajo de Fin de Máster para la ETSI, este diseño tiene un especial enfoque en las particularidades del agarre, lo que lo convierte en un punto de partida muy adecuado para este trabajo. Además, se trata de un modelo específicamente diseñado para ser impreso en 3D con materiales asequibles y puesto a disposición de los estudiantes para ser implementado y mejorado, por lo que se convierte en una opción muy accesible para explorar las posibilidades de control sin recurrir a prótesis comerciales significativamente más caras. El principal factor a tener en cuenta en el diseño de la prótesis, siguiendo los criterios que se enumeran en el apartado 1.3, es la reducción efectiva de los grados de libertad de la mano humana para simplificar no solo el diseño, sino también el control y la actuación. Los 25 grados de libertad totales descritos en el apartado 2.1 se reducen inicialmente a 15, ya que se eliminan todos los movimientos de aducción/abducción excepto el del pulgar, al no considerarse relevantes para reproducir las funcionalidades de agarre básicas. A estos 15GDL se añade un grado de libertad adicional en la muñeca que permite flexión/extensión de la palma completa. Estos GDL se implementan como pares cinemáticos de rotación de forma que todos los movimientos sean paralelos al plano YZ salvo el de aducción/abducción del pulgar.
2.4 Características generales de la prótesis objetivo 23 Figura 2.12 Vista frontal y de perfil del ensamblaje completo de la prótesis en SolidWorks [27]. Sin embargo, este número de GDL aún es elevado para un sistema de control cómodo y liviano, por lo que el diseño hace uso de la propiedad de proporcionalidad de ángulos de giro de forma que la actuación sobre uno de los pares de rotación de cada dedo (el correspondiente a la articulacion MCP) produzca la actuación de los demás (las articulaciones IF). Esto resulta en un mecanismo subactuado de 6GDL, pero con un diseño tal que permita actuar todas las articulaciones y reproducir las funcionalidades básicas de agarre con un número reducido de actuadores. Este criterio de diseño está firmemente relacionado con la evidencia sinérgica presentada en el apartado 2.3.1, y con las técnicas de reducción de dimensionalidad que permiten reproducir el espectro de agarre de un sistema de elevados GDL con mecanismos subactuados. El dedo pulgar posee la particularidad de que solo presenta dos falanges. Sin embargo, el mecanismo empleado para su diseño es el mismo que para los otros dedos, al incluir la estructura metacarpiana para conseguir mayor alcance y precisión en el movimiento de agarre. Además, los dos GDL asociados al pulgar (es decir, flexión/extensión y aducción/abducción) se modelan en un único movimiento combinado que permite al dedo efectuar los agarres de pinza oponiéndose al índice. Esta configuración consiste en un desplazamiento de 50 º en el plano perpendicular al perfil, simulando el movimiento de aducción/abducción; y consecutivamente un giro de 25 º en un segundo plano, también perpendicular al perfil, que permite la oposición a la palma poniendo en contacto
24 Capítulo 2. Fundamentos de diseño las falanges distales de pulgar e índice, como se observa en la figura 2.13. Figura 2.13 Resultado del movimiento combinado del pulgar para simular un agarre tipo pinza [ 27 ]. De los requisitos de diseño establecidos para el modelado de la prótesis, tienen mayor relevancia de cara al presente trabajo los relacionados con las capacidades de agarre. Efectivamente, la prótesis debería ser capaz de realizar una pinza pulgodigital subterminal , una prensa digito-palmar (completa e incompleta) , y una prensa pluridigital (ver figura 2.5). Con el fin de que el agarre sea lo más firme posible y se satisfagan las restricciones de fricción indicadas en el apartado 2.2.2, se sugiere emplear un material flexible con un patrón rugoso tanto en la palma como las yemas y las superficies de las falanges media y proximal, aquellas en contacto con el objeto agarrado, como se observa en la figura 2.12. Dicho material debe tener un comportamiento aproximadamente elástico y recuperar su forma original tras experimentar una deformación al ser sometido a una carga. El patrón rayado maximiza el rozamiento entre las superficies de la prótesis y el objeto para que las fuerzas normales puedan vencer a las fuerzas tangenciales, evitando el deslizamiento. Al contrario que el modelo de fricción basado en puntos individuales de contacto empleado para sólidos rígidos, las propiedades de deformación elástica permiten hablar de superficies de contacto para las fuerzas normales F n , produciéndose un par de torsión proporcional a dicha fuerza y al coeficiente de rozamiento dinámico µ2 que actúa en favor del agarre y la propiedad antideslizante. Dicho par T f se puede determinar según la expresión (2.8), en función de las magnitudes definidas en la figura 2.14 [37]. Tf=3π 16 √Rdµ2Fn(2.8) Otra consecuencia evidente de estas consideraciones es que el material elástico permite un uso eficiente de pantallas táctiles, en las que debe existir una superficie de contacto mínima para que se detecten las pulsaciones, algo que sería imposible con un cuerpo rígido. Entre otras características relevantes, el dimensionado de la prótesis se basa en las proporciones de una mujer de 25 años de tamaño medio, y su peso se encuentra en el rango de 0.007% a 0.01% del peso total del cuerpo, de acuerdo a las dimensiones aproximadas de la mano real. Además, la prótesis cuenta con una estructura de antebrazo que, además de incorporar el movimiento de flexión/extensión de la muñeca (mediante un sencillo mecanismo de tornillo sin fin y corona), tiene
2.4 Características generales de la prótesis objetivo 25 Figura 2.14 Modelo de fricción con superficies de contacto para un objeto esférico con propiedades elásticas. En los dedos, el par de torsión aparece como consecuencia de la deformación de la piel al tocar una superficie [37]. la finalidad de alojar los componentes electrónicos en un cajón protegido en su interior y adaptarse al usuario. Un hueco en el extremo permite hacer pasar los cables de los electrodos desde el muñón del paciente a dicho cajón. 2.4.1 Aproximación de diseño La síntesis estructural del mecanismo de la prótesis tiene como objetivo seleccionar el tipo de mecanismo en el que se fundamenta el diseño de la misma, así como el tipo de barras, pares cinemáticos y otros aspectos como la topología y movilidad de las cadenas cinemáticas objeto de estudio. La síntesis dimensional, por otro lado, busca determinar las dimensiones significativas y posición inicial de un mecanismo preconcebido para que tenga el comportamiento especificado: se establecen las longitudes de las barras, distancias entre articulaciones y la posición angular del eslabón de entrada, entre otros [36]. La prótesis objetivo de este trabajo toma como punto de partida una de las topologías más sencillas presentes en la teoría clásica de mecanismos como es el mecanismo de cuatro barras, o cuadrilátero articulado. Este mecanismo se caracteriza por contar con 4 eslabones o barras y 4 pares de rotación, que al aplicar la ecuación de Grübler resultan en un único grado de libertad. Esto se traduce en que requieren una entrada única que se transmite a lo largo del mecanismo proporcionando una salida única. Aplicando esta ecuación para el caso de cuatro eslabones y 4 pares de rotación (N=4 y C1=4, respectivamente), se comprueba: G=3(N−1)−2C1−2C2=3∗(4−1)−2∗4=1GDL (2.9) Sin embargo, el mecanismo de cuatro barras como tal es una aproximación adecuada, pero no suficiente transmitir el movimiento entre articulaciones de la forma deseada y replicar el agarre. Además, se trata de una cadena cinemática cerrada, mientras que un dedo real se comporta como una cadena cinemática abierta. Con el fin de superar estos dos problemas, existen dos barras de unión (diada de tipo R): una de ellas une la base de la mano (eslabón fijo) con la falange media (eslabón acoplador), comportándose como eslabón de salida del mecanismo de cuatro barras; y otra enlaza las falanges media y distal. La peculiaridad de esta combinación de mecanismos es que permite la aplicación de la proporcionalidad de ángulos de giro en la transmisión del movimiento desde el eslabón de entrada a la falange distal sin modificar el número de GDL del mecanismo global, que sigue siendo igual a 1. Para comprobarlo, se recurre a la versión modificada de la ecuación de Grübler: N−(G+3)+ 2t+6q+12p+... =T+2Q+3P+... (2.10)
3 Sensores FMG y EMG En este apartado se describe el equipo que se empleará para la realización de este trabajo, que consiste fundamentalmente en un set de tres transductores de fuerza FSR402 para la configuración FMG, y un sensor electromiográfico de bajo coste del mercado de precio equivalente para la configuración EMG, además de un microcontrolador que permitirá la captura y procesamiento de las señales analógicas que proporcionan estos módulos. 3.1 El sensor FMG En esta sección, se introduce el transductor de fuerza FSR402 de Interlink Industries que se empleará para obtener las señales musculares que permitirán controlar la prótesis. Se introduce también el concepto de transducción y se describe el principio de funcionamiento de estos sensores, así como las principales configuraciones para el acondicionamiento y la medida de la señal que proporciona. 3.1.1 Principio de funcionamiento Transductores Según la definición propuesta en [ 38 ], un transductor puede definirse como “un dispositivo o sistema que produce una señal eléctrica la cual es función de una magnitud de entrada utilizando componentes sensibles que se comportan como elementos variables o como generadores de señal”. En otras palabras, los transductores no son más que convertidores de potencia que se emplean desde el punto de vista de la instrumentación electrónica para obtener una medida en forma de potencia eléctrica a partir de una forma de potencia distinta: radiante, mecánica, térmica, magnética, química... Aunque es muy común distinguirlos según la forma de potencia que manejan, existen numerosas clasificaciones al ser un grupo muy amplio: según si reciben información del medio o realizan alguna acción sobre él (sensores o actuadores, respectivamente), según el aporte externo de energía (generadores, que no necesitan alimentación externa, o moduladores, que sí la requieren), según su comercialización (en base a un código de tres parámetros que identifica la función de transducción), o según la función que desempeñan en un sistema de instrumentación (sensores, actuadores, indicadores o de mando), por poner algunos ejemplos. El FSR402 El FSR402 es un sensor resistivo sensible a la fuerza. Los sensores resistivos se caracterizan porque la variación de la magnitud física que se pretende medir (en este caso de tipo mecánico, al ser una fuerza) provoca variaciones de un parámetro de resistencia. Más concretamente, de acuerdo con la descripción del fabricante, [ 39 ], la respuesta del sensor se puede aproximar como una relación 33
34 Capítulo 3. Sensores FMG y EMG Figura 3.1 Composición y dimensiones del FSR402 [39]. inversamente proporcional donde el valor de resistencia decrece al aumentar la fuerza de aplicación sobre el área sensible. El sensor se compone de una capa de polímero semiconductor sobre la que se coloca una segunda capa formada por dos electrodos y un área activa circular sobre la que se debe aplicar uniformemente la fuerza que se pretende medir, con una capa adicional separadora entre los dos elementos de conducción. Esta área activa está formada por trazas de un elemento conductor que permiten el contacto eléctrico con la capa semiconductora. La resistencia cambia (disminuye) en función de la presión que el área activa ejerza sobre la capa semiconductora cuando una fuerza normal es aplicada sobre esta. Para que el sensor funcione correctamente, la cara opuesta debe estar apoyada sobre una superficie o ser presionada contra la cara de la capa conductora para que los electrodos puedan hacer contacto correctamente. El FSR402, que pertenece a la familia de sensores de polímero resistivo RPTF (Resistive Polymer Thick Film), tiene una sensibilidad especialmente adaptada al tacto humano y encuentra multitud de usos en aplicaciones electrónicas y de control. Este sensor tiene un área activa de 12.7mm de diámetro y un grosor de 0.46mm. Las dos capas de elementos conductores están hechas de Polieterimida (PEI), un termoplástico amorfo color ámbar transparente caracterizado por su bajo coste y su elevada resistencia térmica, resistencia al impacto y rigidez. La capa adhesiva separadora es de acrílico, y este sensor presenta un adhesivo adicional del mismo material en la parte trasera para proteger los elementos conductores. En el extremo inferior presenta dos pines que pueden ser conectados directamente a una placa de prototipado o a un terminal hembra, aunque el fabricante indica que pueden ser soldados si se desea, aunque no es recomendable debido a la fragilidad de los elementos. Es posible medir con un multímetro el valor de resistencia en función de la fuerza aplicada sobre el área activa sin procesamiento adicional, y obtener una característica que relacione estos dos valores en el rango de funcionamiento del sensor. El fabricante aporta la característica de la figura 3.2. donde se emplea un elemento de acero inoxidable con una punta semiesférica de goma de poliuretano de 10mm de diámetro para ejercer una fuerza uniforme sobre el área activa del sensor. Se observa cómo el valor de resistencia toma valores superiores a los 100k ohmios cuando no se detecta presión sobre la superficie de contacto y decrece hasta aproximadamente 200 ohmios para los valores de fuerza máximos. Nótese que existe un cambio de pendiente significativo al inicio del rango de fuerzas. Esto se debe a la resistencia adicional que aporta el adhesivo que separa los elementos conductores, que generalmente toma un valor de en torno a 1Mohm. Cuando se aplica una fuerza sobre el área sensible, es necesario asegurar que sea suficiente para vencer esta resistencia si
3.1 El sensor FMG 35 Figura 3.2 Característica Resistencia-Fuerza del FSR402 en escala logarítmica proporcionada por el fabricante [39]. se pretende obtener una medida útil. Al final del rango (unos 10kg) se encuentra un punto de saturación donde la resistencia apenas varía ante incrementos de fuerza. Esto se debe a que el sensor alcanza su límite de presión (en el rango de 100 a 200 psi) y debe aumentarse el área de contacto si se pretende medir valores de fuerza superiores. Se puede obtener una respuesta más lineal si la característica de la figura 3.2 se expresa en términos de conductancia, definida como la inversa de la resistencia, como se observa en la figura 3.3. Esta característica es la que se empleará para estimar el valor aproximado de fuerza sobre el sensor en las pruebas iniciales. Se destaca el rango típico para aplicaciones del sensor adaptadas al tacto humano, que se encuentra normalmente entre 0 y 1kg de fuerza aplicada. En cualquier caso, esta estimación solo resulta relevante a efectos de calibración, ya que en la mayoría de aplicaciones con este tipo de sensores no se busca obtener mediciones precisas de fuerza. Figura 3.3 Característica Conductancia-Fuerza del FSR402, en el rango de funcionamiento (izquierda) y en el rango típico de aplicaciones para tacto humano (derecha). Las líneas discontinuas representan la banda de error tolerable, cuya anchura depende de la repetibilidad del instrumento de medida, entre otros factores [39]. 3.1.2 Acondicionamiento de señal El divisor de tensión es la configuración más sencilla y ampliamente utilizada para obtener una salida en tensión en función de la resistencia medida en el FSR402 [ 22 ][ 39 ]. Si se desea que la tensión de salida aumente con la fuerza aplicada, es necesario emplear una resistencia de pull-down
36 Capítulo 3. Sensores FMG y EMG R M conectada a tierra desde uno de los terminales del sensor, mientras que el otro terminal se conecta a la tensión de referencia V ref (5V o 3.3V son valores comunes, ya que se corresponden con los valores de tensión de alimentación de microcontroladores típicos). La tensión de salida se calcula según la siguiente expresión: Vo=Vre f ∗RM RM+RFSR (3.1) La resistencia R M es el principal parámetro de diseño y cumple dos funciones: limitar la corriente que fluye a través del sensor, que no puede superar el umbral de 1mA/cm2 de fuerza aplicada, y maximizar el rango de fuerza medida. De esta forma, conforme disminuye la resistencia R FSR al presionar el área activa del sensor, la resistencia total (en el denominador de la expresión 3.1) disminuye, lo que provoca que la corriente que circula por ambas resistencias aumente y, en consecuencia, la tensión entre los terminales de la resistencia invariable R M (la tensión de salida) aumente. Si R M se conecta a la tensión de alimentación en lugar de a tierra, se tiene una resistencia de pull-up, y en ese caso la tensión de salida disminuirá con la fuerza aplicada. En la figura 3.4, proporcionada por el fabricante en [ 39 ], se observa la respuesta en tensión para distintos valores de RM. Figura 3.4 A la izquierda, configuración de divisor de tensión con resistencia de pull-down de 10kohm y tensión de alimentación de 5V. A la derecha, característica Tensión-Fuerza del FSR402 para distintos valores de resistencia de diseño[39]. Es inmediato identificar el principal inconveniente de esta configuración, y es que el comportamiento no es lineal para ningún valor de Rm. Para valores muy altos, la tensión de salida permanece prácticamente invariable en la mayor parte del rango de fuerzas, lo que se considera indeseable en la mayoría de aplicaciones, por lo que pueden descartarse. Sin embargo, si se escoge un valor más pequeño, del orden de 10k, o incluso 30K, se observa que es posible conseguir un comportamiento más lineal para el rango de fuerzas, y por tanto más satisfactorio para conversión analógico-digital a la entrada de un microcontrolador. El hecho de que la tensión en los terminales del sensor no sea constante en esta configuración puede provocar derivas y degradación de la sensibilidad del sensor, por lo que el fabricante recomienda otras alternativas como puede ser el convertidor corriente-tensión.
3.1 El sensor FMG 37 Figura 3.5 Acondicionamiento mediante convertidor I-V para el FSR402, con distintos valores de resistencia de diseño Rg[39]. En esta configuración, la tensión en los terminales del sensor permanece constante, siendo la tensión de salida proporcional a la corriente que circula por el mismo, según la expresión: Vo=Vre f ∗−Rg RFSR (3.2) Si la referencia de tensión es positiva, la tensión de salida se encontrará en el rango entre 0 y -Vref. Si Vref es negativa, la tensión de salida tendrá signo positivo en ese rango. El principal parámetro de diseño es la resistencia Rg. Los valores recomendados por el fabricante son una tensión de referencia de -5V y una resistencia de 4.7kohm, debido a que este es el valor de resistencia aproximado que se corresponde con 1kg de fuerza de aplicación, el valor máximo esperable sobre el sensor en la mayoría de interfaces humano-ordenador. De esta forma, se tendrá un rango de salida de 0 a +5V para todo el rango útil de fuerza de aplicación. Los modelos de op-amps recomendados son LM358 y LM324. Para la realización del presente proyecto, se consideraron ambas configuraciones pero finalmente se optó por el divisor de tensión, debido a que su implementación es más sencilla, requiere menos elementos (lo cual resulta esencial para una aplicación donde se debe priorizar la comodidad) y las características de su respuesta, aunque menos lineales que su contraparte, son suficientes para una aplicación sencilla de reconocimientos de gestos estáticos.
38 Capítulo 3. Sensores FMG y EMG 3.1.3 Módulo Grove - Round Force Sensor En el apartado previo se han revisado las dos configuraciones típicas de acondicionamiento de señal para el FSR402. Estas etapas pueden construirse fácilmente en una placa de prototipado haciendo uso de los componentes que indica el fabricante. Sin embargo, muchos distribuidores incluyen una etapa de acondicionamiento prediseñada para ser conectada directamente al microcontrolador, como es el caso del módulo Grove - Round Force Sensor de Seeed Studio [ 40 ] que ha sido empleado en la realización de este proyecto. Este módulo se basa en la configuración de divisor de tensión, pero incorpora electrónica adicional para proporcionar una respuesta más precisa y estable minimizando los errores en la etapa de acondicionamiento: Figura 3.6 Módulo Grove - Round Force Sensor FSR402 de Seeed Studio [40]. •Regulador de tensión : con el fin de suministrar al sensor una tensión de alimentación constante, el módulo incorpora un convertidor DC-DC de alta precisión XC6206P332MRN que actúa como regulador de tensión, proporcionando una salida fija de 3.3V para un rango de tensión de entrada de 1.8V a 6V. Además de proporcionar una referencia de tensión de precisión, este módulo actúa como limitador de corriente, transistor controlador y corrector de error. Cuenta con tres pines: V IN va conectado a la tensión de alimentación del módulo V CC , procedente de una batería o un microcontrolador, V SS va conectado a tierra, y V OUT proporciona la referencia de tensión constante que alimenta el transductor, etiquetada como 3V3. Los condensadores de cerámica a la entrada y la salida forman parte del circuito recomendado por el fabricante, y tienen la función de estabilizar la respuesta del regulador en condiciones reales de funcionamiento, reduciendo la impedancia de entrada y mejorando la respuesta transitoria. Figura 3.7 El regulador de tensión proporciona una referencia de tensión constante a 3.3V para un rango de tensión de entrada Vcc [40].
3.1 El sensor FMG 39 •Seguidor de tensión : también llamada amplificador de ganancia unitaria, amplificador buffer o de aislamiento, esta etapa emplea un amplificador operacional de ganancia unidad alimentado a 3.3V que tiene una finalidad de aislamiento, proporcionando una alta impedancia de entrada y una baja impedancia de salida. El nombre de este circuito deriva de que realiza un seguimiento de la tensión de entrada, proporcionando el mismo valor a la salida, a la vez que elimina posibles fuentes de error y ruido electromagnético, todo ello sin modificar el circuito original. Figura 3.8 Circuito seguidor de tensión. Para proporcionar una ganancia unitaria, la resistencia de realimentación R2 es nula (cortocircuito). El condensador C1 es un circuito abierto que representa una carga, pero no se usa en esta aplicación [40] . •Divisor de tensión : este módulo, como se ha dicho, emplea una configuración de divisor de tensión para el FSR402 con una resistencia de pull-down de 30kOhm en paralelo con un condensador de 100nF para mejorar la respuesta transitoria. Figura 3.9 Divisor de tensión para el FSR402 (J1) alimentado a 3.3V fijos [40]. La combinación de estas etapas resulta en una expresión de tensión de salida análoga a la ecuación (3.1), pero en una configuración más estable y menos sensible a error gracias a la referencia de tensión que proporciona el regulador y el aislamiento del buffer: VOUT =3.3V 30kΩ+RFSR (3.3)
40 Capítulo 3. Sensores FMG y EMG 3.2 El microcontrolador En la planificación de este proyecto se barajaron distintos modelos de microcontrolador para la adquisición y procesamiento de datos. Como punto de partida y referencia se valoró una placa Arduino Nano basada en el chip ATMega328p por ser una de las opciones más accesibles, documentadas y económicas del mercado, además de cumplir con las restricciones de tamaño y peso requeridas para su integración en una prótesis. Sin embargo, aunque su limitada capacidad de procesamiento es suficiente para adquirir las señales y procesarlas y clasificarlas externamente, así como para modelos de control simples, no ofrece mayores capacidades más allá de usos muy básicos. Por ello, con el objetivo último de determinar una opción realista para la interfaz de una prótesis de mano, que permita no solo la realización del presente proyecto sino la expansión del mismo en futuras aplicaciones, los requisitos principales que se establecieron para la elección del chip se resumen en 4 campos: •Tamaño : es de vital importancia considerar que la placa debe ir integrada en el antebrazo de una prótesis, por lo que sus dimensiones deben ser razonables para no comprometer la comodidad del usuario. Como referencia se toma Arduino Nano, de 45mmx17.5mmx18mm y 20g de peso. El chip elegido no debe exceder por mucho estas dimensiones y, afortunadamente, existen actualmente muchas opciones alternativas en el mercado que cumplen este requisito. Sin embargo, placas de mayores dimensiones como Arduino Uno o Raspberry Pi quedan descartadas por su dificultad de integración. •Pines ADC : el microcontrolador debe disponer de suficientes entradas analógicas para sensorizar y actuar el modelo completo de la prótesis. Esto significa que debe disponer de suficientes pines ADC tanto para los sensores FMG como para los servomotores, como mínimo. El sistema de sensorización y actuación completo de la prótesis incorporaría tres sensores FMG y tres servomotores y, aunque los 8 pines ADC de Arduino Nano sean suficientes en este caso, se debe valorar la posibilidad de ampliar el número de sensores y motores en implementaciones más sofisticadas, ya que su precio es reducido, sin tener que sustituir el chip. También se valora la resolución del CAD, ya que se busca una alta precisión en la adquisición de señales para favorecer la clasificación y minimizar la pérdida de información. Aquí quedan descartadas opciones como Raspberry Pi Zero, que no cuenta con pines ADC y requiere electrónica adicional para conversión, lo cual resulta indeseable. •Procesamiento : la etapa de adquisición y procesamiento de señales fuerzamiográficas y el control de los servomotores puede implementarse sin mayores problemas en un Arduino Nano. Sin embargo, la etapa de clasificación es especialmente demandante a nivel computacional. Si se pretende que la prótesis pueda reconocer agarres, aunque sea un número reducido de ellos, se requiere integrar un modelo de aprendizaje previamente entrenado. El nivel de complejidad computacional depende en gran medida del tipo de modelo y algoritmo empleado, sin embargo incluso modelos simples como el discriminante lineal pueden verse comprometidos por los limitados recursos y memoria del Nano. Además, es interesante que el micro cuente con soporte para otros entornos de programación además del IDE de Arduino, como MicroPython, donde se implementan la mayoría de aplicaciones de clasificación por la oferta de librerías diseñadas para ello. •Conectividad : en los últimos años ha cobrado especial importancia el paradigma del Internet of Things, o Internet de las Cosas, que hace referencia a la interconexión de sistemas electrónicos en Internet, por vía inalámbrica, facilitando la comunicación entre dispositivos cercanos y la colaboración de estos en el intercambio de información. El esquema IoT encuentra aplicaciones en multitud de campos, incluido el de la protésica, tanto en la adquisición y procesamiento de datos como en el control y la clasificación. Resulta interesante que el
3.2 El microcontrolador 41 microcontrolador pueda comunicarse con otros dispositivos (como otros microcontroladores, computadoras o teléfonos móviles), por vía inalámbrica en tiempo real, ya sea por Bluetooth o Wifi, sin necesidad de recurrir a módulos externos que aumenten el peso y tamaño de la prótesis. Integrar un sistema en el esquema IoT abre todo un abanico de posibilidades y garantiza una vida útil más larga y completa. •Coste : todos los requisitos anteriores no deben comprometer una característica fundamental como es la naturaleza de bajo coste. Por tanto, el chip elegido no debe exceder por mucho el precio oficial del ATmega328p, unos 8-15€según fabricante y comercio. Figura 3.10 Pinout del ESP32 [41]. La opción elegida finalmente es el microcontrolador ESP32 de Espressif Systems, que integra un chip que se caracteriza por sus elevadas prestaciones a un precio económico de unos 8 € . Por cumplir todos los requisitos anteriormente mencionados, se trata de una opción ampliamente utilizada en aplicaciones de robótica y automatización. Entre sus principales características, el ESP32 cuenta con un total de 18 entradas analógicas distribuidas en dos canales, frente a las 8 del Nano, con un CAD de mayor resolución (12 bits frente a 10), proporcionando un amplio margen para conectar todo tipo de sensores y actuadores. Además, cuenta con una CPU de doble núcleo y una frecuencia de reloj más de diez veces superior, imponiéndose también por mucho al ATMega328p en cuanto a memoria RAM y Flash, como se observa en la tabla 3.1. Frente a estas prestaciones, destaca especialmente la integración de un módulo Bluetooth y Wifi en el chip, lo cual lo convierte en uno de los microcontroladores de preferencia para proyectos IoT. Este microcontrolador se puede programar con el IDE de Arduino, si bien es necesario configurar la compatibilidad vinculando e instalando las librerías de Espressif Systems desde el apartado Archivo - Preferencias, donde se introduce la URL que proporciona el fabricante en la sección Gestión de URL adicionales de tarjetas. Una vez vinculadas, en el Board Manager se encontrará la opción de instalar estas librerías introduciendo esp32 en la caja de búsqueda. Tras este sencillo procedimiento, el ESP32 estará listo para programarse en Arduino, mostrándose con el nombre ESP32 Dev Module en la pestaña de Herramientas [41].
48 Capítulo 3. Sensores FMG y EMG Figura 3.18 Circuito DRL para maximizar el CMRR de la etapa preamplificadora [43]. el rango de tensión de funcionamiento a la entrada de los pines ADC del microcontrolador es [0-3.3V], no es necesario modificar su posición porque valores de tensión más altos podrían quemar los pines. Figura 3.19 Pinout del EMG Click con aislamiento de ferrita entre las dos masas del sistema [ 43 ]. Además, como es típico en circuitos que trabajan con señales analógicas sensibles a interferencia electromagnética, existe un aislamiento galvánico mediante un núcleo o perla de ferrita que conecta las dos tierras o masas del sistema (referencia analógica AGND, y referencia digital GND). La necesidad de emplear dos planos de tierra distintos surge para evitar la propagación del ruido EMI que aparece frecuentemente en circuitos de señal mixta cuando existe un único plano de tierra. Sin embargo, es necesario que todas las masas o tierras locales estén conectadas a un punto de referencia común, y el núcleo de ferrita se encarga de cumplir esta función filtrando el ruido EMI en el proceso. Y es que, en conjunto con condensadores de desacoplo o derivación, que se encargan de almacenar el exceso de carga cuando se producen picos de corriente en el circuito, se comportan como un filtro LC de paso de baja. De no emplear condensadores, las propiedades inductivas a frecuencias bajas de los núcleos de ferrita se opondrían a los cambios de corriente comprometiendo el funcionamiento del circuito [47].
4 Clasificación de señales FMG Un a vez adquiridas y caracterizadas, el paso más importante del procesamiento de las señales tanto FMG como EMG es su clasificación. El planteamiento es claro: la interfaz debe implementar algún sistema de diferenciaciación de estas señales para que el sistema de actuación de la prótesis responda a la voluntad del usuario efectuando el agarre o movimiento deseado, dentro de unas clases o modos de actuación previamente definidos. Y es que, aunque las diferencias de amplitud cuando se producen contracciones son suficientes para diferenciar dos estados (frecuentemente, puño abierto y cerrado), la clasificación cuando se cuentan con más de dos estados o clases, como es el caso de este proyecto al contar con distintos agarres, requiere un procesamiento más sofisticado. Este procedimiento no es inmediato, y se puede abordar de distintas formas según la complejidad del sistema y los recursos disponibles. En este apartado se introducen dos métodos de clasificación frecuentes en la bibliografía: a un nivel sencillo, basado en muscle triggers y, de forma más compleja pero más eficiente y realista, clasificación mediante modelos de inteligencia artificial o machine learning. En ambos casos, para una clasificación eficiente el primer paso necesario es la extracción de características de la señal. 4.1 Extracción de características 4.1.1 Introducción En el contexto del reconocimiento de patrones se deben definir inicialmente los conceptos de característica y clase. Una clase es un conjunto o grupo taxonómico que engloba cosas de similares rasgos, mientras que una característica es un rasgo, cualidad, propiedad o peculiaridad extraida de un set de datos. La clasificación tiene una finalidad discriminante, es decir, selecciona la clase a la que pertenece un objeto. Por ejemplo, si se pretende clasificar fruta, cada tipo de fruta constituiría una clase (plátanos y manzanas, por ejemplo), mientras que las características podrían ser su tamaño, forma y color. La asignación de un objeto a una clase se realiza mediante funciones discriminantes que operan con vectores de características. A cada objeto se le asigna un vector de características, y la función discriminante, implementada en un algoritmo de clasificación, determina a qué clase pertenece cada objeto. La selección de características no es arbitraria: estas deben estar ligadas a las clases de forma teórica o experimental (homogeneidad intraclase), deben tener capacidad discriminante (homogeneidad interclase), no deben ser redundantes; y se deben tener en cuenta factores adicionales como la carga computacional y tiempo de cálculo que supone su extracción [48]. Cuando se pretende clasificar señales, como es el caso, se puede realizar una distinción entre dos tipos de características: aquellas que se extraen a partir de toda la secuencia de datos en cada uno de los canales, y aquellas que se extraen en una determinada ventana temporal, es decir, en 49
50 Capítulo 4. Clasificación de señales FMG un intervalo reducido de tiempo a partir de unas pocas muestras [ 23 ]. La media y la desviación estándar (ver expresión 5.2) son ejemplos frecuentes de características que pertenecen al primer grupo. Por contraparte, las características extraídas por ventana temporal son implementadas más frecuentemente, ya que encuentran mayor utilidad en interfaces que deben responder rápidamente a los estímulos del usuario, y ofrecen más información sobre la evolución de la señal. 4.1.2 Características para clasificación de señales FMG El carácter incipiente del control FMG implica que la investigación sobre la extracción de características en este tipo de señales está aún en vías muy tempranas de desarrollo. Sin embargo, se ha podido demostrar que es posible emplear como punto de partida las mismas características utilizadas tradicionalmente en el control electromiográfico con resultados suficientemente aceptables. Las siguientes características, frecuentemente utilizadas en clasificación EMG, se pueden emplear en la clasificación FMG [49]: •Valor cuadrático medio (RMS): también denominado valor eficaz en señales eléctricas: RMS =s∑n i=1x2 i N(4.1) •Valor medio absoluto (MAV) : como su nombre indica, se trata del valor medio de las muestras contenidas en la ventana en términos de valor absoluto: MAV =1 N N−1 ∑ i=1|xi|(4.2) •Longitud de la forma de onda (WL) : representa la suma de los cambios instantáneos de valor de las muestras de la ventana, y proporciona una medida de longitud, frecuencia y periodo de la forma de onda contenida en la ventana. Fundamentalmente, aporta al clasificador información relativa a la velocidad. WL = N ∑ i=1|xi−xi−1|(4.3) •Simetría de la ventana (WS) : se define como la diferencia entre el valor medio de las primeras N muestras de la ventana y las siguientes. Proporciona información sobre la dirección o tendencia en la que cambian las muestras contenidas en la misma. WS =1 bN 2c×(bN 2c ∑ i=1 xi− N ∑ i=bN 2c+1 xi)(4.4) Donde N es el tamaño de la ventana expresado como número de muestras, y x i es el valor de la muestra i en la ventana de procesamiento. Para una frecuencia de muestreo de 10Hz, o 10 muestras/s, se emplea una ventana de procesamiento de 300ms, de forma que cada ventana agrupa tres muestras y N=3. 4.2 Clasificación mediante muscle triggers La forma más sencilla de clasificación que se puede plantear consiste en reproducir el rango de agarres actuables mediante combinaciones de contracciones y relajaciones simples. Se trata de un
4.2 Clasificación mediante muscle triggers 51 método intuitivo y sencillo a nivel computacional ya que no requiere la generación de modelos de aprendizaje, pero en cambio requiere una memorización por parte del usuario de los movimientos otriggers que generan cada agarre. El método es contar el número y tipo (rápida o sostenida) de contraccion muscular en un espacio corto de tiempo, y asociar cada combinación a un agarre distinto. Aunque es posible realizar esta implementación con los valores de cada canal FMG muestra a muestra, resulta más realista llevar a cabo abordar la extracción de características en una determinada ventana de tiempo (en este caso, de 300ms, que equivale a tres muestras), que además servirá para el siguiente paso de generación de modelos. (a) (b) Figura 4.1 a) Valor RMS en términos de tensión normalizada calculados en un experimento de dos contracciones rápidas y una sostenida. b) Suma ponderada de las contribuciones en términos de valor RMS de cada canal FMG . Para ilustrar este tipo de clasificación se recurre al experimento de contracción rápida y sostenida
52 Capítulo 4. Clasificación de señales FMG Tabla 4.1 Secuencias de contracción admisibles en un periodo de evaluación de 5s para el control por muscle triggers. Salvo que se indique explícitamente una extensión, basta con relajar el brazo después de realizarlas. Secuencia Tipo de agarre contracción rápida Pinza pulgodigital subterminal contracción sostenida Prensa digito-palmar contracción rápida + relajación + contracción sostenida Prensa pluridigital contracción rápida + extensión Extensión del índice contracción sostenida + extensión Prensa de gravedad o extensión completa de la figura 5.8, con los datos de cada canal FMG ya normalizados en función de su media y desviación estándar. A continuación se representan los valores RMS de cada canal computados para cada ventana de tres muestras. Para simplificar aún más el cálculo, y suponiendo que cada canal FMG contribuye de forma aproximadamente equivalente a la generación de agarre (aunque no sea del todo realista) se puede calcular la suma ponderada de la contribución de cada canal al valor RMS total de la señal. El objetivo es comparar los valores RMS de la última ventana con la ventana anterior en función de un umbral que determina si se ha producido o no contracción. Dicho umbral se puede definir como el valor más alto de la diferencia entre el RMS de la ventana actual y de la ventana previa calculado en un periodo de no contracción. Si dicha diferencia supera el umbral, se cuenta una contracción y se activa un flag. Si 300ms después el flag está activado y ambos valores se encuentran por encima de un umbral adicional, la contracción será sostenida. Si no, se cuenta solo como contracción rápida. Tras la contracción se computa la relajación de manera similar, pero a la inversa: al relajarse los músculos, el valor RMS total disminuye y la diferencia de los valores de cada ventana tendrá signo negativo: si dicha diferencia está por debajo de cierto umbral, se considera relajación. Si, además, el valor RMS actual toma valores negativos por debajo de un segundo umbral, se considera extensión de la mano; y en ambos casos se desactiva el flag de agarre. En la tabla 4.1 se muestran las distintas combinaciones que representan cada tipo de agarre, y que servirán para generar finalmente la señal de actuación de los motores correspondientes. Para afinar la eficiencia de este primer clasificador se realiza un proceso de calibración en los primeros 5s en los que se debe mantener el brazo en una posición relajada y quieta. De este conjunto de datos se extrae el valor RMS correspondiente al offset de calibración, que se restará posteriormente al valor RMS calculado en cada ventana para evaluar con más precisión el cambio relativo de valor que se produce en la contracción, de forma similar a la sugerida en [ 24 ]. También se extraen la media y desviación típica para normalización en caso de que fueran necesarias, pero los experimentos demostraron ser exitosos recurriendo únicamente al escalado y la sustracción del valor RMS de offset de calibración al valor RMS de la ventana. La principal ventaja de esta clasificación, además de su sencillez, es su versatilidad para reproducir tantos gestos como se deseen (siempre que estos sean actuables por la prótesis, obviamente) empleando tantas combinaciones como sean admisibles en el periodo de evaluación. Por contraparte, pese al proceso de calibración sigue siendo necesario un ajuste manual de los umbrales para afinar la respuesta, ya que esta puede ser distinta según el usuario. Para ilustrar mejor la clasificación, cada agarre se representa con el movimiento de un servomotor como los que se equiparán últimamente en la prótesis, que irá conectado al pin analógico 13 del microcontrolador. Tras evaluar cada ventana y determinar el tipo de agarre, el servomotor se moverá a una de las cinco posiciones asignadas a cada agarre.
4.3 Clasificación mediante modelos de machine learning 53 Figura 4.2 La suma ponderada de los valores RMS calibrados de cada canal en una ventana de procesamiento de longitud tw se compara con el mismo valor calculado en la ventana anterior, empleando tres umbrales (Uh,Um,Ul). Arriba, caso de contracción rápida seguida de una relajación. En el centro, contracción sostenida. Abajo, contracción rápida seguida de una extensión. Al término del periodo de evaluación, en este caso 5s, se recuentan las contracciones de cada tipo y se asocian al tipo de agarre que le corresponde en la tabla 4.1.. 4.3 Clasificación mediante modelos de machine learning 4.3.1 Introducción El reconocimiento de patrones, es decir, el proceso por el cual una señal o patrón de entrada es asociado a una de las clases predefinidas; constituye una de las implementaciones más comunes del aprendizaje máquina. El objetivo de un esquema de aprendizaje máquina, o machine learning, es que la máquina adquiera su propio conocimiento mediante la extracción de patrones o features a partir de datos brutos, que sirven de paso intermedio para inferir el patrón general, de ahí la importancia del proceso de extracción de características. Una de las propiedades fundamentales de un modelo de aprendizaje máquina es la capacidad de generalización: la extrapolación de un conocimiento adquirido a partir de unos datos de entrenamiento a otros datos distintos [50] Para la implementación del reconocimientos de patrones, generalmente se emplean técnicas de aprendizaje supervisado, donde se parte de unos datos de entrenamiento y patrones previamente asociados a las clases a las que pertenecen para generar un modelo mediante un algoritmo de clasificación. De esta forma, cuando se presente al modelo con nuevos patrones no incluidos en el conjunto de datos de entramiento, aunque del mismo tipo, este puede emplear la información extraida de dicho entrenamiento para identificar la clase a la que pertenece [ 51 ]. Existe un amplio abanico de algoritmos de clasificación que varían en planteamiento, eficiencia para una determinada aplicación
54 Capítulo 4. Clasificación de señales FMG Figura 4.3 Esquema de clasificación de señales FMG mediante modelos de machine learning[ 22 ]. y carga computacional, entre otros factores, si bien todos operan con el objetivo último de asociar patrones desconocidos a las clases a las que pertenecen. A continuación, se describirán los tres algoritmos más frecuentemente empleados en la bibliografía, según la estadística recopilada en [ 23 ]: discriminante lineal (LDA), máquina de vectores de soporte (SVM), y red neuronal artificial (ANN). Para ello, en los siguientes apartados se tomarán como referencia los desarrollos matemáticos y definiciones expuestos en dos libros: Pattern Classification de Duda, Hart y Stock [ 52 ] y Neural Networks and Learning Machines de Simon Haykin [51]. Figura 4.4 Algoritmos de clasificación de señales FMG, en función de su presencia en la bibliografía [23]. 4.3.2 Clasificadores lineales Los clasificadores o discriminantes lineales se pueden definir como modelos de aprendizaje máquina donde la decisión de pertenencia de un objeto a una clase se realiza en función de una combinación lineal de sus características, expresadas mediante un vector de características ¯x . Su implementación se puede realizar con distintos tipos de algoritmos, pero generalmente implican el cálculo de un hiperplano que divide el espacio de características en distintas regiones que separan las clases. Para el caso general de c clases, la función discriminante, también llamada función de decisión, se define como: gi(¯x) = ¯wiT¯x+bi,0para i=1,...,c(4.5) De forma que ¯x pertenecerá a la clase ci si se cumple que gi>gj para todo i6=j . En el caso
4.3 Clasificación mediante modelos de machine learning 55 simple de dos clases, C 1 y C 2 , se puede establecer una regla de decisión de forma que x∈C1 si g( ¯x ) > 0 y x∈C2 si g( ¯x ) < 0. Se denomina frontera de decisión a superficie en el espacio de características para la que se cumple g( ¯x ) = 0. Si la función discriminante es lineal, como suele ser habitual, la frontera de decisión es un hiperplano, H, que divide el espacio de características en dos regiones correspondientes a cada clase: una región para la que g( ¯x ) > 0 (lado positivo de H) y otra para la que g( ¯x )<0 (lado negativo de H). En el caso más simple, suponiendo un espacio de características de dos dimensiones, H será una recta. La función discriminante g( ¯x ) se puede interpretar como una medida de la distancia del vector de características a la frontera de decisión. Si se expresa ¯xcomo: ¯x=¯xp+r¯w k¯wk(4.6) Donde xp es la proyección de ¯x sobre la frontera de decisión o hiperplano H, y el segundo término está compuesto del vector unitario ¯w , perpendicular a la frontera de decisión, multiplicado por el escalar r, que es la distancia algebraica entre H y ¯x (definida positiva si x está en el lado positivo de H, o negativa en el caso contrario). Teniendo en cuenta que, por definición, g( ¯xp) = 0, se tiene: g(¯x) = ¯wT¯x+b0=rk¯wk,r=g(¯x) k¯wk(4.7) Donde b k¯wk es la distancia desde el origen del espacio de características a la frontera de decisión H. Dependiendo del signo de b, el origen quedará en el lado positivo o negativo de la frontera de decisión, o en la misma frontera de decisión si b = 0. (a) (b) Figura 4.5 a) Representación de la frontera de decisión o hiperplano H que divide un espacio de características de tres dimensiones en una región positiva, donde g( ¯x ) > 0, y una negativa, donde g( ¯x ) < 0 [ 52 ]. b) Ejemplo de clasificador lineal en un plano de dos características con tres clases y dos funciones discriminantes [48]. Si se representan las funciones discriminantes lineales en el espacio de características, este queda dividido en c regiones separadas por hiperplanos o fronteras de decisión. Suponiendo dos regiones contiguas Riy Rj, la frontera entre ellas es la porción del hiperplano Hij donde se cumple: gi(¯x) = gj(¯x)(4.8) O, equivalentemente: (¯wi−¯wj)T¯x+(bi,0−bj,0) = 0(4.9) La implementación de un clasificador lineal requiere el cálculo del vector de pesos ¯w , que se puede realizar mediante la implementación de distintos algoritmos que se agrupan en dos categorías:
56 Capítulo 4. Clasificación de señales FMG modelos generadores, basados en teoría de probabilidad, que modelan una distribución de probabilidad condicional, y modelos discriminantes, basados en maximizar la calidad de la clasificación mediante conjuntos de entrenamiento, generalmente resolviendo problemas de optimización. En la primera categoría se encuentra el Análisis Discriminante Lineal (LDA) o el discriminante de Bayes, mientras que en la segunda se encuentran la red neuronal artificial (ANN) y la máquina de vectores de soporte (SVM), que se estudiarán en los siguientes apartados [53]. 4.3.3 Análisis discriminante lineal El análisis discriminante lineal es una generalización del discriminante lineal de Fisher para un problema multiclase. Sea n un conjunto de muestras de entrenamiento o vectores de características x distribuidos en dos subconjuntos D1 y D2 , de n 1 y n 2 muestras que representan dos clases distintas y linealmente separables, el objetivo del discriminante lineal de Fisher es encontrar el valor de ¯w que maximice la función: J(¯w) = |˜m1−˜m2|2 ˜s1 2−˜s2 2(4.10) Para analizar el significado de esta expresión, primero es necesario definir los términos que la componen. Por un lado, ˜mi es la proyección en la dirección de ¯w del valor medio de la muestras pertenecientes al subconjunto Di,mi: ˜mi=1 ni ∑ ¯x∈Di ¯wT¯x=¯wTmi(4.11) mi=1 ni ∑ ¯x∈Di ¯x Por otro lado, ˜si 2 es una medida de la desviación estándar de cada clase, denominada dispersión de la proyección de muestras del subconjunto Di: ˜si 2=∑ ¯x∈Di (¯wt¯x−˜mi)2(4.12) El numerador de (4.10), por tanto, representa la distancia entre las proyección de las medias del conjunto de muestras, que para una clasificación eficiente se pretende maximizar de forma relativa a la desviación estándar de cada clase, representada mediante la dispersión intraclase. Expresando (4.10) en función de ¯w, se puede formular la ecuación: J(¯w) = ¯wtSB¯w ¯wTSW¯w(4.13) Donde SB y SW son matrices simétricas semidefinidas positivas llamadas matrices de dispersión intraclase einterclase, respectivamente, que se calculan como: Si=∑ ¯x∈Di (¯x−mi)(¯x−mi)T(4.14) SW=S1+S2 SB= (m1−m2)(m1−m2)T
4.3 Clasificación mediante modelos de machine learning 57 Organizando términos y teniendo en cuenta que SB¯w tiene la dirección de (m1−m2) , se puede calcular w como: ¯w=S−1 W(m1−m2)(4.15) Como se ha indicado, el análisis discrinante lineal (LDA) es una generalización del discriminante de Fisher para un contexto multiclase. Para un número de clases c>2, para las que existen c-1 funciones discriminantes; y teniendo en cuenta que el determinante de las matrices de dispersión proporciona una medida escalar de la misma; la función a maximizar J(W) se expresa como: J(W) = |˜ SB| |˜ SW|=|WTSBW| |WTSWW|(4.16) Donde W es una matriz de dfilas y (c-1) columnas donde cada columna es un vector de pesos ¯wi de dcomponentes. El cociente representa la distancia entre las proyecciones de las distribuciones de muestras pertenecientes a cada clase c en un subespacio de dimensión c-1 (ver figura 4.6). Las columnas de W que maximizan J(W) son los autovectores generalizados que corresponden a los autovalores λide mayor valor en: SBwi=λiSWwi(4.17) Figura 4.6 El objetivo de LDA es encontrar las fronteras de decisión, definidas por los vectores normales W, que maximizan la dispersión interclase frente a la dispersión intraclase o, en otras palabras, la separación entre las proyecciones de las distribuciones correspondientes a las c clases, en un espacio d-dimensional, sobre un subespacio de dimensión c-1, con d≥c[52]. Dichos valores se pueden obtener hallando en primer lugar las raíces de: |SB−λiSW|=0(4.18) De forma que los valores de los pesos se pueden determinar resolviendo el sistema: (SB−λiSW)¯wi=0(4.19) El cálculo de las matrices de dispersión es similar: SW= c ∑ i=1 Si(4.20)
64 Capítulo 4. Clasificación de señales FMG Los valores ξproporcionan una medida de la desviación de cada muestra de entrenamiento del caso ideal de separación lineal de clases. En estos casos no ideales, se distinguen dos situaciones: • Si 0<ξ≤1 , la muestra queda dentro del margen de separación pero en el lado correcto de la frontera de decisión. Aunque no ideal, la clasificación sigue siendo correcta. • Si ξ>1 la muestra queda en el lado incorrecto de la frontera de decisión. La clasificación es errónea en este caso. Los vectores de soporte son aquellas muestras que satisfacen la ecuación (4.47) incluso para valores positivos no nulos de ξ . El problema de determinación del hiperplano óptimo consiste en, dado un conjunto de entrenamiento {¯xi,di}N i=1 , hallar los valores ( ¯w0,b0 ) que satisfagan (4.47) con ξi≥0para todo i. La función a minimizar en este caso viene dada por: Φ(¯w,ξ) = 1 2¯wT¯w+C N ∑ i=1 ξi(4.48) Donde C es un término definido por el usuario que representa el grado de confianza en la muestra de entrenamiento, y modela el balance entre complejidad computacional y el número de muestras no separables. Valores muy altos de C implican una alta confianza en la calidad de la muestra de entrenamiento, mientras que valores reducidos implican que la muestra de entrenamiento es ruidosa. Pese a esta particularidad, la obtención del hiperplano óptimo de separación en caso de separación no lineal es prácticamente idéntica cuando se resuelve mediante la aplicación del mismo método de multiplicadores de Lagrange empleado previamente, donde se busca de nuevo maximizar Q(α): Q(α) = N ∑ i=1 αi−1 2 N ∑ i=1 N ∑ j=1 αiαjdidj¯xiT¯xj(4.49) De forma que se cumpla: N ∑ i=1 αidi=0con 0≤αi≤Cpara i=1,2,...N(4.50) Nótese que no aparece ningún término ξ en el planteamiento del problema de optimización, pero sí aparece en su lugar una constante C que limita por la derecha los valores que pueden tomar los coeficientes. Pese a esta modificación, la computación del algoritmo es idéntica en términos prácticos sin afectar a la obtención de los parámetros de la frontera de decisión ni la definición de los vectores de soporte. 4.3.6 Statistics and machine learning toolbox Una vez descritos los principales algoritmos de aprendizaje empleados en la clasificación de señales FMG, el siguiente paso es llevar a cabo una implementación para generar un modelo que se adapte a los requisitos de diseños establecidos para la generación de agarres. Y es que los tres algoritmos descritos, pese a diferir en planteamiento y basarse en métodos de clasificación distintos, sirven para generar últimamente modelos de aprendizaje que, desde el punto de vista del usuario, desempeñan exactamente la misma función: todos ellos reciben un vector de características como entrada y devuelven un identificador de clase a la salida. Aunque existen numerosas formas de generar estos modelos en distintos grados de complejidad, incluyendo la codificación manual de los algoritmos, para este proyecto se busca una implementación más intuitiva y directa. Concretamente, se empleará la app Classification learner perteneciente al Statistics and Machine Learning toolbox, desarrollada por Mathworks y disponible de forma gratuita para todos los usuarios con licencia de Matlab. Esta app implementa internamente los algoritmos
4.3 Clasificación mediante modelos de machine learning 65 de clasificación descritos previamente y permite generar modelos de clasificación haciendo uso de los recursos computacionales del entorno de Matlab. La app recibe como entrada un set de datos de entrenamiento en forma de una tabla de características. Dicha tabla estará formada por vectores de características extraídos de los datos que se pretende clasificar (en este caso, los valores RMS, MAV, WL y WS de los tres canales FMG en el periodo de tiempo en el que se produce cada movimiento), junto a la clase conocida a la que pertenece cada elemento de la tabla. En el entorno de trabajo de la app se representa un subespacio de características de dos dimensiones con las muestras del set de entrenamiento proporcionado. Dicho entorno incluye un selector que permite generar modelos con el algoritmo deseado: para este proyecto, se trabajará con LDA, SVM y ANN. La app ofrece los resultados del entrenamiento mediante medidas de precisión y velocidad de la clasificación, matrices de confusión y la representación de las muestras mal clasificadas y correctamente clasificadas en el subespacio de características. Para evitar overfitting, es decir, el efecto que se da cuando un modelo se ajusta de forma muy precisa a un determinado set de entrenamiento, pero pierde capacidad de generalización en consecuencia; la app realiza un proceso de validación cruzada, dividiendo los datos de entrenamiento en distintos subsets (en este caso, 5) y estimando la precisión del clasificador en cada uno de ellos para calcular un error promedio de validación, que es el que se muestra finalmente como resultado de la predicción. Esto compensa el mencionado efecto y asegura que el modelo mantenga su capacidad de abstracción para nuevos datos. Ya que requiere entrenar el clasificador varias veces para tener una buena medida, solo se recomienda para conjuntos de datos de entrenamiento de pocas muestras, como es el caso. Creación del set de entrenamiento Una vez descrito el funcionamiento básico de Classification Learner, se puede proceder con la clasificación de las muestras FMG de entrenamiento. Para ello, se extiende el código de representación y procesamiento de datos de Matlab a una función de extracción de características feature_ext.m, disponible en el Apéndice A.3, que recibe las siguientes cuatro entradas: •filename: nombre del archivo .log con el conjunto de datos FMG extraidos mediante puerto serie, a través de Putty. • agarre: entero que representa la etiqueta de la clase a la que pertenece el conjunto de entrenamiento, según la tabla. En el aprendizaje supervisado es imprescindible proporcionar este dato al clasificador. • t0_agarre: marca de tiempo aproximada en la que comienza el agarre o gesto que se pretende clasificar. • t_agarre: duración aproximada del agarre, de forma que solo se contemplan para extracción de características las muestras contenidas entre t0_agarre yt0_agarre + t_agarre. La función devuelve una tabla de n_feat*3 columnas, siendo n_feat el número de características extraidas de cada canal FMG en una ventana de tiempo de L=3 muestras, o 300ms para una frecuencia de muestreo Fs = 10Hz; para cada uno de los tres canales. Se extraen las 4 características descritas en el apartado 4.1: RMS, MAV, WL y WS; independientemente de su capacidad discriminante ya que el propio Classification Learner permite seleccionar las que se deseen una vez transferidas a su espacio de trabajo. Las características se pueden extraer de los datos brutos de cada canal FMG, únicamente escalados, o de los datos normalizados, según esté o no comentada la sección correspondiente del código. El set de entrenamiento se crea en base a los datos recogidos en los experimentos del apartado 5.1.3 y 5.1.4, y se realizarán distintos tipos de clasificación en niveles ascendentes de complejidad: en primer lugar, se distinguirán tres clases correspondientes a: mano relajada, un tipo de agarre básico (en este caso agarre cilíndrico o prensa digito-palmar) y mano extendida, de acuerdo con los datos recogidos en el apartado 5.1.3. Inicialmente se emplearán estos datos, que fueron recogidos
66 Capítulo 4. Clasificación de señales FMG (a) (b) Figura 4.10 a) Creación de nueva sesión de entrenamiento en el Classification Learner de Matlab, con una tabla de características precargada b) Pantalla principal del entorno de trabajo, destacando la selección de características (1), selección de modelo de entrenamiento (2), ejecución del entrenamiento (3) y subespacio bidimensional de características (4) . para un sujeto, y posteriormente se extenderá el conjunto de entrenamiento con los datos de un experimento idéntico con otro sujeto, donde varía tanto la complexión física como el ajuste de los sensores. Luego, se duplicará el número de clases extendiendo la clasificación a todo el rango contemplado en el trabajo, es decir: prensa digito-palmar, prensa pulgodigital subterminal, prensa pluridigital, y gesto de extensión del índice. Comunicación entre ESP32 y Matlab Una vez generados los clasificadores, siguiente paso sería integrarlos en el flujo de datos para que puedan actuar en tiempo real en base a la información recogida por los sensores. Para ello, ya
4.3 Clasificación mediante modelos de machine learning 67 que los modelos están almacenados en el Workspace de Matlab, se haría necesario comunicar el microcontrolador con Matlab, por ejemplo por puerto serie a través de Bluetooth. Idealmente, el modelo de clasificación debería implementarse directamente en el microcontrolador. Sin embargo, dado que este trabajo se enfoca principalmente en el análisis de la capacidad discriminante en la fase de entrenamiento y validación de los modelos, se propone una aproximación más sencilla a la clasificación en tiempo real. El objetivo es obtener información de los sensores en un intervalo corto de tiempo (unos 3s), escalar y normalizar los datos y extraer las características en dicho intervalo utilizando los métodos ya explicados (con una ventana de 3 muestras) y suministrarlos al clasificador entrenado en forma de tabla, que realizará una predicción por cada muestra. Para ello, se debe crear en Matlab un pequeño código (apéndice A.6) para configurar un objeto de tipo Serial Port al que le asignamos el puerto al que está conectado el ESP32, en este caso el COM5, y la velocidad de transmisión, de 115200 baudios. A dicho objeto se le asigna una función ReadFSRData de tipo callback, es decir, que se ejecuta cada vez que se recibe una nueva línea de datos por puerto serie, cuyo final está marcado por un terminador (Apéndice A.7). Dicha función genera una tabla de características cada 3s mediante la función feat_online.m, una modificación simplificada del código del Apéndice A.3 que recibe únicamente como argumento la tabla de datos del intervalo, y devuelve la tabla de muestras sin su clase asignada, que es pasada posteriormente como argumento al clasificador entrenado. El clasificador, a su vez, devuelve un identificador de clase que se asocia al agarre correspondiente.
5 Resultados experimentales 5.1 Experimentos con FMG 5.1.1 Prueba 1: funcionamiento del sensor Las primeras pruebas consisten en comprobar que tanto el sensor como el módulo de acondicionamiento funcionan correctamente. Esto se lleva a cabo mediante una aplicación sencilla en la que se obtendrá la medida analógica del sensor conectando la salida del módulo a una entrada analógica del microcontrolador, se convertirá dicha salida a V en el rango de funcionamiento (0-3.3V), y se realizará una estimación de la fuerza aplicada sobre el sensor en N, a partir de la relación aproximadamente lineal con la conductancia que se deduce de las características de la figura 3.3, adaptando el código de prueba proporcionado por el fabricante en [ 39 ]. Se configura el puerto serie a 9600 baudios, velocidad de transmisión empleada en dicho ejemplo, y mediante Putty se guarda la información en un archivo .log para representarla a posteriori en Matlab. Este código se puede visualizar en el Apéndice A.1. La primera prueba consiste en obtener una característica V-F para contrastar experimentalmente la medida del sensor para el divisor de tensión con la figura proporcionada por el fabricante. Para ello, se presionará el sensor con distintos niveles de fuerza para cubrir el rango útil (hasta 10N) y se recogerá el valor de V O para cada valor de fuerza aplicada en dicho rango. Esta prueba se realiza con un tiempo de muestreo de 1s, el recomendado en el código de muestra, ya que solo interesa recoger valores de tensión de salida, y no una respuesta temporal. Se realizan experimentos tanto con el divisor de 30K del módulo como con la configuración de 10K, se obtienen los valores de V O para todo el rango de interés (0-10N) y se comparan en la figura 5.1a. Se observa en ambos casos una evolución similar, si bien para una resistencia de 30K se cubre aproximadamente todo el rango de tensión de salida para el rango de fuerzas recomendado. En ambos casos se aprecia que, para valores de presión de entre 0 y 1N (rango típico de fuerzas en aplicaciones humano-ordenador), la tensión de salida es mucho más sensible a cambios en valores de presión y se cubre más de la mitad del rango, mientras que para valores altos la respuesta en tensión se estabiliza en torno a un mismo valor sin experimentar grandes variaciones. Además, si bien la respuesta de la configuración de 10K presenta características más lineales en todo el rango, si consideramos el tramo de 0 a 1N ambas respuestas se pueden aproximar por una recta, presentando una mayor pendiente la de 30K, lo que implica una mayor sensibilidad. Aunque ambas configuraciones son aceptables, los experimentos consecuentes se realizarán con esta última debido a la regulación y aislamiento adicionales que proporcionan el módulo Groove. En la siguiente prueba, se realiza un experimento similar, esta vez recogiendo la evolución de la respuesta del sensor V O en cada instante de tiempo, cuando se presiona el área sensible con el dedo pulgar con fuerza reducida, en t=4000ms, moderada, en t=7000ms; y elevada, en t=12000ms. 69
70 Capítulo 5. Resultados experimentales (a) (b) Figura 5.1 a): Pruebas de estimación de fuerza aplicada en función de la tensión de salida, con tres experimentos para una configuración de divisor de tensión con resistencia de 10K ohmios(asterisco) y de 30K ohmios(círculo) b):Experimento de aplicación de tres niveles de presión sobre la superficie sensible del FSR402. La determinación de la frecuencia de muestreo se realiza en base al criterio de Nyquist, que define que debe ser al menos dos veces superior a la frecuencia máxima contenida en la señal para evitar distorsión en la medida. Las señales FMG se caracterizan por concentrarse en frecuencias muy bajas, en el rango de 0 a 5Hz, por lo que la frecuencia de muestreo en este experimento y sucesivos se puede fijar en 10Hz [ 22 ] [ 49 ], si bien una frecuencia tan baja como 6Hz sería suficiente para el reconocimiento de gestos estáticos, como sugiere [23]. Se observa cómo, incluso para una presión suave, se obtiene una tensión de salida de 1.5V, más de la mitad del rango de funcionamiento. Cuando se presiona con fuerza elevada, se observa cómo la respuesta satura en 3.3V. Esta respuesta se recoge en la figura 5.1b.
5.1 Experimentos con FMG 71 Las aplicaciones sensibles al tacto que emplean este tipo de transductores, incluida la fuerzamiografía, trabajan con valores de fuerza de aplicación relativamente pequeños, entre 0 y 1N. En consecuencia, resulta interesante que la tensión de salida sea sensible a valores de fuerza de aplicación reducidos, como es el caso. Es por ello que el FSR402 con la configuración de divisor de tensión es una opción ampliamente utilizada por su sencillez y eficiencia. 5.1.2 Prueba 2: contracción rápida y sostenida Las técnicas de FMG, como se ha indicado, buscan capturar la respuesta mecánica de la contracción muscular mediante métodos análogos a los de captación de la respuesta eléctrica, es decir, señales electromiográficas que normalmente se capturan mediante electrodos colocados en la superficie de la piel. Sin embargo, al tratarse de una señal mecánica, no eléctrica, no se emplean electrodos como tales, y más bien los mismos transductores de fuerza desempeñan la función de estos al colocarse en las zonas donde se pretende medir la contracción. La primera ventaja de estos sensores es su precio, ya que un sensor EMG de bajo coste casi triplica el precio de un FSR402, incluso con el módulo de acondicionamiento. En otras palabras, por el precio de un sensor electromiográfico se pueden equipar hasta tres FSR402, y uno de los propósitos de este trabajo es demostrar si una configuración de 3 transductores de fuerza es igualmente viable, o incluso más, que un sensor EMG de bajo coste típico. Por esta razón se realizarán los siguientes experimentos con tres sensores FSR y se comprobará si ofrecen mayores posibilidades de control y clasificación que el tradicional EMG. La colocación de los sensores no es arbitraria, pero tampoco exige precisión crítica, ya que la prótesis debe poder ser equipada por el usuario sin complicaciones. Se busca la zona del brazo más sensible a las contracciones de los músculos flexores y extensores superficiales de los dedos de la mano, que es el antebrazo, ligeramente por debajo del codo a unos 5cm. Los sensores se colocan aproximadamente equiespaciados, cubriendo dos de ellos la zona anterior (donde se encuentran los flexores superficiales) y uno de ellos en la zona posterior (donde se localizan los extensores superficiales) del antebrazo. Para obtener las medidas correctamente, la superficie sensible del FSR402 se coloca de cara al músculo, y la otra cara debe estar soportada por una fuerza en la misma dirección y sentido opuesto a la componente normal resultante de la fuerza que se recoge con el sensor y aparece como consecuencia de la contracción. Es por ello que normalmente se usan tejidos elásticos o correas de velcro que, además que aportar esta fuerza de referencia o preload force, como se denomina en la bibliografía, permiten aislar el sistema de sensores de la estructura de la prótesis y ofrecen comodidad adicional. Además, estos sensores no están preparados para ajustarse a la piel como los electrodos tradicionales de un sensor EMG, por lo que es necesario idear un método para mantenerlos fijos. Para esta aplicación, en una primera aproximación, primero se ajustan los FSR en las posiciones aproximadas haciendo uso de electrodos y cinta de alta tolerancia cutánea. Después, se emplea una cinta de velcro para reforzar el posicionamiento y proteger los sensores, además de aportar la fuerza de referencia necesaria para recoger los cambios de rigidez muscular. Si la piel del usuario es sensible, se puede proteger con una venda o tejido elástico entre la cinta y la piel para mayor comodidad, como se observa en la figura 5.3. En una aplicación comercial, estos elementos podrían combinarse en una pulsera ajustable que cumpliría las mismas funciones. Se hace uso de un elástico para mantener los módulos unidos a la piel, si bien esto solo tiene una finalidad experimental, ya que en una aplicación práctica la propia estructura del antebrazo de la prótesis se encargaría de resguardar los componentes electrónicos. Una vez colocados los sensores, se realiza un experimento con la finalidad de recoger la respuesta del sistema de sensores a contracciones simples de la mano. Se realizan dos contracciones y relajaciones rápidas y una contracción sostenida en el experimento de la figura 5.2., con el codo apoyado sobre una superficie lisa, de modo que la relajación es más completa. Esto permite comprobar, por un lado, que los tres sensores responden a la contracción, y que además permiten detectar una fuerza de agarre mantenida durante un intervalo de tiempo más elevado, en este caso del orden de 2s. Se
72 Capítulo 5. Resultados experimentales (a) (b) Figura 5.2 Experimento de dos contracciones simples y una contracción sostenida con el codo apoyado (a) y con el brazo suspendido en el aire(b). realiza otro experimento con el brazo elevado en el aire, donde la relajación no es completa y se obtiene una respuesta similar, pero con más variaciones tanto en la contracción como en los tramos de relajación. La transmisión de datos se realiza esta vez vía Bluetooth, aprovechando las ventajas del ESP32, configurado para una velocidad de transmisión de 115200 baudios. El código para la obtención de medidas de los tres canales junto a la marca temporal correspondiente se muestra en el Apéndice A.2. La representación en Matlab de los datos experimentales a partir del archivo generado de Putty se realiza en la primera sección del código del Apéndice A.3. Los siguientes pasos de dicho código abordan el procesamiento de las señales FMG, que se analizará posteriormente, y la extracción de características según los criterios definidos en el apartado 4.
5.1 Experimentos con FMG 73 (a) (b) Figura 5.3 Ajuste de los FSR al antebrazo para el control de la prótesis. Se coloca uno de ellos en la localización aproximada del extensor superficial (a), arriba); y dos en la superficie de los flexores superficiales(a),abajo y b)). 5.1.3 Prueba 3: contracción frente a extensión Este experimento tiene como objetivo identificar la respuesta de los sensores cuando se produce una extensión completa de los dedos de la mano, sostenida durante unos 5 segundos, que puede ser útil tanto para emular la prensa de gravedad como para el control basado en muscle triggers, que se detallará más adelante. Previo a la extensión se realiza una contracción sostenida análoga a la de la prueba 2, con la finalidad de explorar la capacidad discriminante de los sensores en la posterior etapa de clasificación. Figura 5.4 Experimento de contracción sostenida en t=10s seguida de una relajación y una extensión sostenida en t=20s. 5.1.4 Prueba 4: agarres y gestos Esta prueba consiste en reproducir una prensa pulgodigital subterminal, una prensa digito-palmar y una prensa pluridigital y recoger la respuesta del sistema de sensores para posterior clasificación. Además, se reproducen un gesto adicional que, pese a no ser considerado agarre, es actuable por la
80 Capítulo 5. Resultados experimentales pérdida de información, como es el caso donde no se registra correctamente la primera contracción. 5.2.2 Dominio frecuencial (a) (b) Figura 5.12 Espectro de la señal electromiográfica de la figura 5.9a (a) y de las señales FMG de la figura 5.9b (b) computado mediante la FFT. En el dominio de la frecuencia, la transformada rápida de Fourier (FFT) permite conocer tanto el espectro de la señal, es decir, la distribución de amplitudes para todo el rango de frecuencias, como la distribución de la energía de la misma. Se conoce que las señales sEMG se distribuyen en el rango de 0-500Hz, con sus componentes de mayor magnitud normalmente concentradas en el intervalo de 50 a 150Hz. En base a la figura 5.12a, calculada a partir del experimento de la figura 5.9a, efectivamente es posible comprobar que los mayores picos de energía se encuentran en este rango, así como las componentes de mayor amplitud. En las figura 5.12b y 5.13b se representa la señal FMG de la figura 5.2a en el dominio de la frecuencia, y se puede observar que tanto las componentes más relevantes de amplitud como los valores máximos de energía de la señal se concentran para este caso en el rango de 0 a 10Hz, decrementando significativamente a partir de esta marca. El código para calcular los espectros se proporciona en el Apéndice A.4.
5.3 Resultados de clasificación FMG 81 (a) (b) Figura 5.13 Estimación de la densidad espectral o distribución de energía de la señal electromiográfica de la figura 5.9a (a) y de las señales FMG de la figura 5.9b (b) mediante la FFT. 5.3 Resultados de clasificación FMG Caso 1: clasificación simple con un sujeto Antes de clasificar los agarres por sí mismos, se comienza con un experimento un poco más sencillo con el fin de tener una mejor perspectiva del problema. La muestra de entrenamiento es una tabla de características separadas en tres clases que corresponden a tres estados musculares simples: relajación, contracción (como la que se puede producir en un agarre) y extensión; etiquetadas como 0, 1 y 2, respectivamente. Inicialmente, se parte del caso más sencillo: un conjunto de datos de entrenamiento extraídos en un experimento con un mismo sujeto. Para este caso, no es necesario normalizar los datos ya que el posicionamiento de los sensores no cambia. Sin embargo, será necesario cuando el set de entrenamiento se extienda a otros sujetos y el ajuste de los sensores varíe. La finalidad de este primer experimento es observar un caso de clasificación donde los patrones son separables a simple vista y los clasificadores son prácticamente ideales, así como determinar cualitativamente la capacidad discriminante de las características seleccionadas. Aclarado esto, una vez obtenida la tabla de características, se vincula al Classification Learner y se genera una sesión
82 Capítulo 5. Resultados experimentales nueva. Antes de proceder al entrenamiento de las muestras, resulta conveniente eliminar características redundantes. Una alta correlación entre características implica datos redundantes que pueden afectar a la precisión del clasificador, por lo que tener características de más puede resultar indeseable. La representación de la gráfica de coordenadas paralelas (figura 5.14) permite afirmar, por un lado, que tanto el valor RMS como el valor MAV son las características que separan mejor las clases, seguidas de la simetría de la ventana (WS) y por otro lado, que el grado de correlación entre RMS y MAV es efectivamente muy alto, y se puede prescindir de una de ellas para afinar el entrenamiento. Figura 5.14 Gráfico de coordenadas paralelas del set de entrenamiento. Las características RMS o MAV, y la simetría de la ventana son las que mejor separan las clases en el caso de reconocimiento de gestos estáticos. Observando el espacio de características para uno de los canales, es posible contrastar que, efectivamente, los valores de RMS y MAV son prácticamente idénticos, pudiéndose eliminar una de estas características (se elige mantener el RMS, de acuerdo a [ 49 ]). Por otro lado, si se representa el valor WL y WS frente al valor RMS del canal, es posible comprobar que existe una separación apreciable de las muestras correspondientes a cada clase, quedando más separadas las azules (relajación) de las rojas (contracción) y amarillas (extensión). Además, aunque la dimensión real del espacio de características es de 9, tras eliminar el MAV, en el subespacio bidimensional ya es posible intuir la existencia de dos rectas que podrían dividir de forma aproximada el plano en tres regiones correspondientes a cada clase. Tabla 5.1 Resultado del experimento de clasificación simple en base a un set de entrenamiento obtenido del mismo sujeto en el mismo experimento, sin alterar el posicionamiento de los sensores. LDA SVM ANN Precisión 95.2% 100% 98.4% Tiempo de entrenamiento 1.2364s 1.2021s 1.0287s Velocidad de predicción ˜ 3100 obs/sec ˜ 2800 obs/sec ˜ 3400 obs/sec En la tabla 5.1 se muestran los valores de precisión, tiempo de entrenamiento y velocidad de predicción obtenidos para cada clasificador entrenado, expresados como el porcentaje de muestras
5.3 Resultados de clasificación FMG 83 (a) (b) (c) Figura 5.15
84 Capítulo 5. Resultados experimentales correctamente clasificadas con respecto al total. Se entrenan un LDA y SVM tanto lineal (donde las fronteras de decisión son rectas) como no lineal (donde las fronteras de decisión son curvas de segundo y tercer grado) y tres tipos de red neuronal: con una capa oculta y un tamaño de capa de 10 neuronas (Narrow Neural Network), con una capa oculta y un tamaño de capa de 25 neuronas (Medium Neural Network), y con dos capas ocultas de 10 neuronas (Bilayered Neural Network). Tras la realización de algunos experimentos se ha podido comprobar que aumentar el tamaño de la red no conlleva necesariamente un mejor rendimiento en la clasificación, por tanto los resultados se muestran para el modelo que ha ofrecido una mayor precisión en el entrenamiento, en este caso la primera y la más simple. Como se esperaba, los clasificadores alcanzan una precisión muy elevada, consiguiendo clasificar correctamente más del 95% de las muestras. En el caso del SVM, el modelo consigue clasificar correctamente el 100% de las muestras del experimento. En la figura 5.16 se puede observar la matriz de confusión correspondiente a cada uno de los algoritmos. Caso 2: clasificación simple con dos sujetos Con el fin de abordar el problema de forma más realista, a continuación se amplía el set de entrenamiento con datos extraídos de un experimento con otro sujeto. En este caso, y para todos los experimentos a partir de ahora, sí es imprescindible normalizar los datos previamente a la extracción de características ya que el ajuste de los sensores es distinto. La tabla 5.2 muestra los resultados de este segundo experimento para los tres algoritmos de clasificación que son objeto de estudio. Se observa cómo los discriminantes lineales quedan especialmente perjudicados por la inclusión de los nuevos datos, mientras que la red neuronal mantiene una capacidad discriminante superior en su configuración de una capa oculta de 25 neuronas (Medium Neural Network), que es la que ha ofrecido mejores resultados de las tres entrenadas. La matriz de confusión para este caso se muestra en la figura 5.17. Tabla 5.2 Resultado del experimento de clasificación simple en base a un set de entrenamiento normalizado obtenido de dos sujetos en distintos experimentos, con un ajuste distinto de los sensores, incluyendo una clase de relajación.. LDA SVMLSVMNL ANN Precisión 80.0% 82.2% 88.9% 90.0% Tiempo de entrenamiento 0.65761s 0.84152s 0.74984s 0.72733s Velocidad de predicción ˜ 5300 obs/sec ˜ 3500 obs/sec ˜ 3300 obs/sec ˜ 7600 obs/sec Una forma de simplificar aún más el problema y aliviar la tarea de discriminación es no considerar la relajación como una clase en sí misma, y discriminar solo el tipo de gesto cuando un flag o estado de agarre esté activado, de forma equivalente a la implementada en el control por muscle triggers, donde se demostró que la variación de una característica por sí sola (como el valor RMS) era suficiente para detectar el cambio relativo en el nivel de contracción que se produce en el momento de la ejecución del agarre o gesto. En este caso, sin embargo, es el clasificador el que determina la naturaleza del gesto de forma inmediata, y no los contadores. Tabla 5.3 Resultado del mismo experimento de la tabla 5.2, eliminando la clase de relajación. LDA SVMLSVMNL ANN Precisión 83.3% 85% 93.3% 93.3% Tiempo de entrenamiento 0.51203s 0.55217s 0.5434 0.59762s Velocidad de predicción ˜ 4100 obs/sec ˜ 3400 obs/sec ˜ 3900 obs/sec ˜ 4700 obs/sec
5.3 Resultados de clasificación FMG 85 (a) (b) (c) Figura 5.16 Matrices de confusión de los modelos LDA, SVM y ANN del primer experimento. En el peor de los casos, LDA solo clasifica incorrectamente 3 muestras; mientras que ANN solo comete error en una muestra, y SVM clasifica correctamente todas las muestras..
86 Capítulo 5. Resultados experimentales Figura 5.17 Matriz de confusión para la clasificación mediante una red neuronal de una capa oculta y 25 neuronas por capa, que otorga la clasificación más precisa según la tabla 5.2. (a) (b) Figura 5.18 Matrices de confusión para los modelos SVM cuadrático(a) y ANN(b) que otorgan mejores resultados según la tabla 5.3. Los resultados se pueden apreciar en la tabla 5.3, donde se puede comprobar que todos los clasificadores experimentan una ligera mejoría en términos generales, si bien en este caso se da un empate en cuanto al SVM no lineal (cuadrático) y la red neuronal, consiguiendo clasificar ambos más del 90% de las muestras de entrenamiento. En las matrices de confusión de ambos modelos (figura 5.18) se observa que solo clasifican incorrectamente cuatro muestras de un conjunto de entrenamiento de 60, si bien SVM tiene más problemas para predecir el estado de extensión, mientras que ANN comete el mismo error en la predicción de ambos estados. Caso 3: clasificación de agarres y gestos El experimento final consiste en clasificar cuatro clases que corresponden a tres tipos de agarre y un gesto actuables por la prótesis: •C1: prensa digito-palmar •C2: prensa pulgodigital subterminal •C3: prensa pluridigital •C4: extensión del índice La quinta clase, que correspondería a una extensión o una prensa de gravedad, se plantea de forma que corresponda a un estado de relajación o de no agarre, igual que en el experimento anterior, con el fin de simplificar la clasificación. Se recogen datos de cada una de las clases, partiendo de un estado de relajación, durante aproximadamente 3s. De forma similar al caso anterior, en la primera
5.3 Resultados de clasificación FMG 87 prueba se recogen datos de un mismo sujeto. Como se observa en la tabla 5.4, en este caso LDA y SVM (tanto en su configuración lineal como no lineal) muestran una mayor precisión consiguiendo clasificar correctamente más el 95% o más de las muestras extraidas de un mismo sujeto. Las matrices de confusión (figura 5.19) muestran que LDA tiene más problemas para distinguir la prensa digito-palmar (1) de la prensa pluridigital (3), mientras que clasifica correctamente todas las muestras de prensa pulgodigital subterminal (2) y extensión del índice (4). En el caso de SVM ocurre lo mismo, por lo que se puede afirmar que ambos clasificadores tienen más problemas para distinguir las clases 1 y 3. Tabla 5.4 Resultado de la clasificación de agarres para un mismo sujeto. LDA SVMLSVMNL ANN Precisión 95.0% 96.2% 96.2% 93.8% Tiempo de entrenamiento 0.80046s 1.1184s 1.1678 1.1418s Velocidad de predicción ˜ 4200 obs/sec ˜ 2000 obs/sec ˜ 2200 obs/sec ˜ 4700 obs/sec (a) (b) Figura 5.19 Matrices de confusión para los modelos LDA(a) y SVM(b) que otorgan mejores resultados según la tabla 5.4. A continuación, se incorporan al entrenamiento los datos extraídos de un experimento con otro sujeto y se vuelven a entrenar los modelos. En la tabla 5.5 se muestra que, si bien todos los clasificadores consiguen una precisión de más del 70% con respecto a los datos de validación, los discriminantes puramente lineales (LDA y SVM L ) se ven especialmente perjudicados cayendo su precisión más del 15% en ambos casos, mientras que la versión polinómica de SVM y la red neuronal ofrecen un resultado muy superior clasificando correctamente en torno al 90% de las muestras. De nuevo, como se observa en la figura 5.22, las muestras de las clases 1 y 2 parecen ser las más difíciles de clasificar para los dos modelos, si bien la red neuronal muestra una distribución más uniforme de los errores de clasificación. En la representación del subespacio de características de la figura 5.21, se puede asociar el decremento en la precisión de los clasificadores lineales a la nueva distribución de las muestras, cuya separación no es tan evidente como en la figura 5.20, y una frontera de decisión en forma de recta se traducirá inevitablemente en un mayor porcentaje de muestras mal clasificadas.
88 Capítulo 5. Resultados experimentales Figura 5.20 Representación en el subespacio de características (RMS de los canales 1 y 2) de los resultados de predicción. Obsérvese que las clases son a simple vista linealmente separables salvo la excepción de las muestras mal clasificadas . Tabla 5.5 Resultado de la clasificación de agarres para dos sujetos. LDA SVMLSVMNL ANN Precisión 72.5% 82.5% 89.2% 90.0% Tiempo de entrenamiento 0.93685s 1.2267s 1.3395 1.0914s Velocidad de predicción ˜ 5500 obs/sec ˜ 4200 obs/sec ˜ 3000 obs/sec ˜ 7600 obs/sec Figura 5.21 Representación en el subespacio de características (RMS de los canales 1 y 2) de los resultados de predicción de ANN con datos de entrenamiento de dos sujetos. .
5.4 Discusión 89 (a) (b) Figura 5.22 Matrices de confusión para los modelos SVM cúbico (a) y ANN de una capa oculta de tamaño 10, que otorgan mejores resultados según la tabla 5.5. 5.4 Discusión 5.4.1 Comparativa entre señales FMG y EMG En la tabla 5.6 se recogen las principales diferencias entre las técnicas FMG y sEMG, de la que se pueden extraer conclusiones a favor de las primeras en los siguientes aspectos fundamentales: Figura 5.23 Sensor EMG Click de MikroElektronika y Módulo Grove-Round Force Sensor con FSR402 de Interlink Industries . •Sencillez : las señales FMG no requieren filtrado analógico ni etapas de amplificación, y solo es necesario un circuito simple que convierta el valor de resistencia del sensor en un valor de tensión apto para el rango de entrada de un microcontrolador. Los FSR402 en su versión comercial están preparados para funcionar con estos valores de tensión (de 0 a 3.3V o 5V), y una configuración tan simple como el divisor resistivo es suficiente para obtener medidas aptas para el control de una prótesis. Algunos fabricantes, como Seeed Studio,
96 Appendix A. Códigos Serial.println(fsrResistencia); fsrConductancia = 1000000; fsrConductancia /= fsrResistencia; Serial.print("Conductancia en Siemens: "); Serial.println(fsrConductancia); // Estimacion de fuerza en funcion de las graficas C-F if (fsrConductancia <= 1000) { fuerza = fsrConductancia / 80; Serial.print("Fuerza en Newtons: "); Serial.println(fuerza); } else { fuerza = fsrConductancia - 1000; fuerza /= 30; Serial.print("Fuerza en Newtons: "); Serial.println(fuerza); } } Serial.println("--------------------"); delay(1000); } Código A.2 Captura por puerto serie de señales FMG con tres sensores mediante Bluetooth. /* Prueba simple de FSR con 3 sensores. */ #include "BluetoothSerial.h" BluetoothSerial SerialBT; //int fsrPin0 = 36; // pin del ESP32 correspondiente a la entrada analogica 0 del canal 1 (ADC1-0) //int fsrPin1 = 39; //ADC1-3 //int fsrPin2 = 34; //ADC1-6 int fsrPin[3] = {36,39,34}; int fsrReading[3]; // lectura analogica del sensor int fsrVoltage[3]; //lectura en mV void setup(void) { // Configuracion BT if(!SerialBT.begin("ESP32")){ // comprobacion de funcionamiento Serial.println("An error occurred initializing Bluetooth"); } } void loop(void) { for (int i = 0; i<3; i++) {
97 fsrReading[i] = analogRead(fsrPin[i]); fsrVoltage[i] = map(fsrReading[i], 0, 4095, 0, 3300); } if(SerialBT.available()) { //envio de datos por BT SerialBT.print(millis()); for (int i = 0; i<3; i++) { SerialBT.print(’\t’); SerialBT.print(fsrVoltage[i]); } SerialBT.print(’\n’); } delay(100); } Código A.3 Procesamiento, representación y extracción de características de las medidas FMG en Matlab. function feat_list = feature_ext(filename, agarre, t0_agarre,t_agarre) %% Lectura de datos de putty fileID = fopen(filename,’r’); formatSpec = ’%d %d %d %d’; %formatSpec = ’%d %d’; sizeA = [4 Inf]; datos = fscanf(fileID,formatSpec,sizeA); fclose(fileID); datos = datos’; figure(1);plot(datos(:,1),datos(:,2),datos(:,1),datos(:,3),datos(:,1), datos(:,4));grid;xlabel(’t(ms)’);ylabel(’Vo(mV)’);legend(’FSR1’,’ FSR2’,’FSR3’); %% Preprocesado N = length(datos(:,1)); %Escalado for i = 1:N datos(i,2)=datos(i,2)/3300; datos(i,3)=datos(i,3)/3300; datos(i,4)=datos(i,4)/3300; end %figure(2);plot(datos(:,1),datos(:,2),datos(:,1),datos(:,3),datos(:,1), datos(:,4));grid;xlabel(’t(ms)’);ylabel(’Vo)(0-1)’);legend(’FSR1’,’ FSR2’,’FSR3’); %Filtrado 4Hz Fs = 10;
98 Appendix A. Códigos Fn = 4/(Fs/2); lpFilt = designfilt(’lowpassfir’,’FilterOrder’,2,’CutoffFrequency’,Fn); datos = filter(lpFilt,datos); datos(1,:) = []; %la primera muestra tras filtrar no es util %figure(3);plot(datos(:,1),datos(:,2),datos(:,1),datos(:,3),datos(:,1), datos(:,4));grid;xlabel(’t(ms)’);ylabel(’Vo)(0-1)’);legend(’FSR1’,’ FSR2’,’FSR3’); % % Normalizado (comentar para usar datos brutos) media1 = mean(datos(:,2)); %media media2 = mean(datos(:,3)); media3 = mean(datos(:,4)); sigma1 = (std(datos(:,2))); %desviacion estandar sigma2 = (std(datos(:,3))); sigma3 = (std(datos(:,4))); % for i=1:length(datos(:,1)) datos(i,2) = (datos(i,2)-media1)/sigma1; datos(i,3) = (datos(i,3)-media2)/sigma2; datos(i,4) = (datos(i,4)-media3)/sigma3; end %datos(:,2) = (datos(:,2)-media)/sigma; %equivalente figure(4);plot(datos(:,1),datos(:,2),datos(:,1),datos(:,3),datos(:,1), datos(:,4));grid;xlabel(’t(ms)’);ylabel(’Vo normalizado’);legend(’ FSR1’,’FSR2’,’FSR3’); %% Extracción de características n = 0; %contador de ventana L = 3; %longitud de ventana en muestras feat = 4; %número de caracteristicas por canal nfeat = feat*3; %total de caracteristicas en los tres canales %feat_list = zeros(N,nfeat); tf_agarre = t0_agarre+t_agarre; %finalizacion del agarre for i=t0_agarre*Fs:tf_agarre*Fs % extraccion de caracteristicas if (n>=3) %procesamos desde la marca de comienzo del agarre, cada 3 muestras for j=2:4 %window(i,j-1) = [datos(i-2,j);datos(i-1,j);datos(i,j)]; rms_f(j-1)=rms([datos(i-2,j);datos(i-1,j);datos(i,j)]); %rms mav_f(j-1) = 0; for k = 1:L mav_f(j-1) = mav_f(j-1) + abs(datos(i-(3-k),j)); end mav_f(j-1) = mav_f(j-1)/L; %mav_f(j-1)=mean(sum(abs([datos(i-2,j);datos(i-1,j);datos(i,j )]))); %mav wl_f(j-1) = 0; %wl for k=1:L
99 wl_f(j-1) = wl_f(j-1) + abs(datos(i-(k-1),j)-datos(i-(k -1)-1,j)); end ws_f(j-1) = 0; %ws sum1=0; sum2=0; for k=1:floor(L/2) sum1 = sum1 + datos(i-(3-k),j); end for k=(floor(L/2)+1):L sum2 = sum2 + datos(i-(3-k),j); end ws_f(j-1) = (sum1-sum2)/floor(L/2); end feat_list(i,:) = [rms_f(1), rms_f(2), rms_f(3), mav_f(1), mav_f (2), mav_f(3), wl_f(1), wl_f(2), wl_f(3), ws_f(1), ws_f(2), ws_f(3)]; rms_media(i) = (rms_f(1) + rms_f(2) + rms_f(3))/3; % figure(5);plot([datos(i-2,1),datos(i,1)],[rms_f(i-2,1),rms_f(i,2) ],’b-*’,[datos(i-2,1),datos(i,1)],[rms_f(i-2,2),rms_f(i,2)],’r-*’,[ datos(i-2,1),datos(i,1)],[rms_f(i-2,3),rms_f(i,3)],’y-*’);legend(’ RMS1’,’RMS2’,’RMS3’); % hold on; % figure(6);plot([datos(i-2,1),datos(i,1)],[rms_media(i-2),rms_media (i)],’k-*’); legend(’RMS total’); %suma ponderada de las contribuciones RMS de cada canal % hold on; n=0; end n=n+1; end feat_list( ~any(feat_list,2), : ) = []; %eliminamos filas nulas feat_list(:,nfeat+1) = agarre; %asignamos la clase feat_list = array2table(feat_list, ’VariableNames’,{’RMS1’,’RMS2’,’RMS3 ’,’MAV1’,’MAV2’,’MAV3’,’WL1’,’WL2’,’WL3’,’WS1’,’WS2’,’WS3’,’agarre ’}); %convertimos a tabla para clasificador end Código A.4 Representación de señales FMG y EMG en el dominio frecuencial mediante FFT. function datos = densidad_espectral(filename,num,F) %recibe datos, numero de sensores y frecuencia de muestreo fileID = fopen(filename,’r’); formatSpec = ’%f %f’; sizeA = [num+1 Inf];
100 Appendix A. Códigos datos = fscanf(fileID,formatSpec,sizeA); fclose(fileID); datos = datos’; figure(1); if (num>1) for i=1:num+1 plot(datos(:,1),datos(:,i)); hold on; end else plot(datos(:,1),datos(:,2)); end xlabel(’t(ms)’);ylabel(’Vo(mV)’);grid; Fs = F; N = length(datos(:,1)); %% FFT figure(2); for i=2:num+1 Y = fft(datos(:,i)); P2 = abs(Y/N); P1 = P2(1:N/2+1); P1(2:end-1) = 2*P1(2:end-1); f = Fs*(0:(N/2))/N; %plot(f,P1); %escala decimal semilogx(f,P1); %escala logaritmica hold on; end title(’Distribución de amplitud de la señal mediante FFT’);xlabel(’ Frecuencia(Hz)’);ylabel(’|A(f)|’);grid; %% Estimación densidad espectral figure(3); for i=2:num+1 xdft = fft(datos(:,i)); xdft = xdft(1:N/2+1); psdx = (1/(Fs*N)) * abs(xdft).^2; psdx(2:end-1) = 2*psdx(2:end-1); freq = 0:Fs/N:Fs/2; %plot(frec,10*log10(psdx)); %escala decimal semilogx(freq,10*log10(psdx)); %escala logaritmica hold on; end title(’Estimación de densidad espectral mediante FFT’);xlabel(’ Frecuencia (Hz)’);ylabel(’Energía de la señal/Frecuencia (dB/Hz)’); grid; Código A.5 Clasificación mediante muscle triggers en Arduino.
101 /* Prueba clasificacion con muscle triggers para FSR con 3 sensores. */ #define Ncal (50) /*Muestras del set de calibracion*/ #define L (6) /*Longitud de ventana*/ #define tcal (5000) /*Tiempo de calibracion en s*/ #define tm (100) /*Fs=10Hz*/ #include "BluetoothSerial.h" #include <ESP32Servo.h> BluetoothSerial SerialBT; Servo myservo; // create servo object to control a servo // 16 servo objects can be created on the ESP32 int pos = 0; // variable to store the servo position // Recommended PWM GPIO pins on the ESP32 include 2,4,12-19,21-23,25-27,32-33 int servoPin = 13; int fsrPin[3] = {36,39,34}; //ADC1-0, ADC1-3, ADC1-6 int fsrReading[3]; // lectura analogica del sensor float fsrVoltage[3]; int t0, t; int t_w = tm*L; //tiempo de ventana float vcal[Ncal][3]; //set de datos de calibracion int i=0; int n = 0; //contador de muestras de ventana int n_ev=0; //contador de muestras de tiempo de evaluacion float sum[3]; float sum_sq[3]; //suma de valores al cuadrado para calcular RMS inicial float mean[3]; //medias float stdev[3]; //desviaciones estandar float window_data[L][3]; //aqui se almacenan los datos de la ventana float RMS_cal[3]; //valores RMS de calibracion float RMS[3]; //valor RMS de cada canal float RMS_total, RMS_total_prev; //suma ponderada de la contribucion RMS de cada canal float RMS_prev[3]; //RMS anterior int cont_contr_rap = 0; //contador de contracciones rapidas int cont_contr_sost = 0; //contador de contracciones sostenidas int cont_ext_rap = 0; //extensiones rapidas int cont_ext_sost = 0; //... y sostenidas int agarre=0, sost=0, ext= 0; void setup(void) { // Monitor serie if(!SerialBT.begin("ESP32")){
102 Appendix A. Códigos Serial.println("An error occurred initializing Bluetooth"); } //Inicializacion de timers para servo ESP32PWM::allocateTimer(0); ESP32PWM::allocateTimer(1); ESP32PWM::allocateTimer(2); ESP32PWM::allocateTimer(3); myservo.setPeriodHertz(50); // standard 50 hz servo myservo.attach(servoPin, 500, 2400); // attaches the servo on pin 18 to the servo object // using default min/max of 1000us and 2000us // different servos may require different min/max settings // for an accurate 0 to 180 sweep //Calibracion SerialBT.print("Calibrando, mantenga el brazo quieto durante 5s"); SerialBT.print("\n"); t0 = millis(); t = millis()-t0; while(i < Ncal) //recoge tcal/tm muestras para calibracion { t = millis()-t0; for(int j = 0; j<3; j++){ //lee y convierte datos de los 3 FSR vcal[i][j] = (map(analogRead(fsrPin[j]),0,4095,0,3300)); //lee y escala los datos vcal[i][j] = vcal[i][j]/3300; SerialBT.print(vcal[i][j]); SerialBT.print("\t"); sum[j]+=vcal[i][j]; sum_sq[j]+=sq(vcal[i][j]); } SerialBT.print("\n"); i++; delay(tm); } i=0; //calcula media y desviacion estandar para cada canal del set de calibracion for(int j = 0; j<3; j++){ mean[j] = sum[j]/Ncal; for (int i=0; i<Ncal; i++){ stdev[j]= stdev[j]+sq((vcal[i][j]-mean[j])); } stdev[j] = sqrt(stdev[j]/(Ncal-1)); RMS_cal[j] = sqrt(sum_sq[j]/Ncal); sum[j] = 0; //volvemos a poner a 0 la suma } t0 = millis(); //reseteamos la cuenta
103 for (int i=0; i<3; i++) RMS_prev[i] = RMS[i]; //inicializamos caracteristicas } void loop(void) { if(n_ev >=50){ //aqui evaluamos el numero de contracciones y asignamos tipo de agarre SerialBT.print("Contracciones rapidas: "); SerialBT.print(cont_contr_rap); SerialBT.print("\n"); SerialBT.print("Contracciones sostenidas: "); SerialBT.print(cont_contr_sost); SerialBT.print("\n"); SerialBT.print("Relajaciones: "); SerialBT.print(cont_ext_rap); SerialBT.print("\n"); SerialBT.print("Extensiones: "); SerialBT.print(cont_ext_sost); SerialBT.print("\n"); if(cont_contr_rap == 1 && cont_contr_sost == 1){ SerialBT.print("Prensa pluridigital"); SerialBT.print("\n"); myservo.write(45); delay(1000); } else if(cont_contr_rap == 1) { SerialBT.print("Pinza pulgoditital subterminal"); SerialBT.print("\n"); myservo.write(90); delay(1000); } else if (cont_contr_sost == 1){ SerialBT.print("Prensa digito-palmar"); SerialBT.print("\n"); myservo.write(135); delay(1000); } else if (cont_contr_rap == 1 && cont_ext_sost == 1){ SerialBT.print("Extension del indice"); SerialBT.print("\n"); myservo.write(180); delay(1000); } else if(cont_contr_sost == 1 && cont_ext_sost == 1){ SerialBT.print("Extension del indice"); SerialBT.print("\n"); myservo.write(0); delay(1000); }
104 Appendix A. Códigos cont_contr_rap = 0; cont_contr_sost = 0; cont_ext_rap = 0; cont_ext_sost=0; n_ev = 0; myservo.write(0); delay(1000); } if (n>=L) { //cada 3 muestras evaluamos la ventana for(int j = 0; j<3; j++){ //para cada canal, normalizamos los datos de la ventana con su media y desviacion estandar sum[j]=0; RMS_total=0; for(int i=0; i<L; i++){ /*window_data[i][j]-=mean[j]; window_data[i][j]/=stdev[j];*/ sum[j]+=sq(window_data[i][j]); } RMS[j] = sqrt(sum[j]/L)-RMS_cal[j]; //RMS normalizado de cada canal para la ventana RMS_total += RMS[j]; } RMS_total = RMS_total/3; //contribuacion RMS total SerialBT.print(RMS_total);SerialBT.print("\n"); /*Serial.print(millis()-t0); //enviamos marca de tiempo y valor RMS for (int i = 0; i<3; i++) { Serial.print("\t"); Serial.print(RMS[i]); } Serial.print("\t"); Serial.print(RMS_total); Serial.print("\n");*/ //Aquí comparamos RMS// if(agarre == 0 && RMS_total-RMS_total_prev>0.02){ //contraccion rapida agarre=1; cont_contr_rap++; SerialBT.print("Contraccion..."); SerialBT.print("\n"); } else if (agarre == 1 && sost == 0 && RMS_total>=0.05){ //contraccion sostenida sost=1; if(cont_contr_rap>0) cont_contr_rap--; cont_contr_sost++; SerialBT.print("...es sostenida"); SerialBT.print("\n"); }
105 else if(agarre == 1 && RMS_total-RMS_total_prev<-0.02){ //relajacion o extension if (RMS_total-RMS_total_prev<-0.04 || RMS_total < 0 && ext==0){ ext=1; cont_ext_sost++; SerialBT.print("Extension..."); SerialBT.print("\n"); } else{ cont_ext_rap++; agarre = 0; sost = 0; ext = 0; SerialBT.print("Relajación..."); SerialBT.print("\n"); } } //reseteamos contador y actualizamos RMS n = 0; RMS_total_prev = RMS_total; for (int i=0; i<3; i++){ RMS_prev[i] = RMS[i]; } } for (int i = 0; i<3; i++) { //fsrReading[i] = analogRead(fsrPin[i]); //lectura analogica ( comentar si procede) fsrVoltage[i] = (map(analogRead(fsrPin[i]),0,4095,0,3300)); //lee y escala los datos fsrVoltage[i] = fsrVoltage[i]/3300; window_data[n][i] = fsrVoltage[i]; } /*Serial.print(millis()-t0); Serial.print(fsrReading); Serial.print("\t"); for (int i = 0; i<3; i++) { Serial.print("\t"); Serial.print(fsrVoltage[i]); } Serial.print("\n");*/ n++; //incrementa contadores n_ev++; delay(tm); } Código A.6 Creación de un objeto de tipo puerto serie en Matlab con una función de tipo callback asociada.
112 Índice de Figuras 4.1 a) Valor RMS en términos de tensión normalizada calculados en un experimento de dos contracciones rápidas y una sostenida. b) Suma ponderada de las contribuciones en términos de valor RMS de cada canal FMG 51 4.2 La suma ponderada de los valores RMS calibrados de cada canal en una ventana de procesamiento de longitud tw se compara con el mismo valor calculado en la ventana anterior, empleando tres umbrales (Uh,Um,Ul). Arriba, caso de contracción rápida seguida de una relajación. En el centro, contracción sostenida. Abajo, contracción rápida seguida de una extensión. Al término del periodo de evaluación, en este caso 5s, se recuentan las contracciones de cada tipo y se asocian al tipo de agarre que le corresponde en la tabla 4.1. 53 4.3 Esquema de clasificación de señales FMG mediante modelos de machine learning[22] 54 4.4 Algoritmos de clasificación de señales FMG, en función de su presencia en la bibliografía [23] 54 4.5 a) Representación de la frontera de decisión o hiperplano H que divide un espacio de características de tres dimensiones en una región positiva, donde g( ¯x ) > 0, y una negativa, donde g( ¯x ) < 0 [ 52 ]. b) Ejemplo de clasificador lineal en un plano de dos características con tres clases y dos funciones discriminantes [48] 55 4.6 El objetivo de LDA es encontrar las fronteras de decisión, definidas por los vectores normales W, que maximizan la dispersión interclase frente a la dispersión intraclase o, en otras palabras, la separación entre las proyecciones de las distribuciones correspondientes a las c clases, en un espacio d-dimensional, sobre un subespacio de dimensión c-1, con d≥c[52] 57 4.7 Modelo no lineal de una neurona [51] 58 4.8 Arquitectura del perceptrón multicapa [51] 59 4.9 SVM para clasificación binaria de dos clases linealmente separables. El margen máximo ρ representa la distancia máxima entre los vectores de soporte de ambas clases, para un hiperplano de separación óptimo [54] 62 4.10 a) Creación de nueva sesión de entrenamiento en el Classification Learner de Matlab, con una tabla de características precargada b) Pantalla principal del entorno de trabajo, destacando la selección de características (1), selección de modelo de entrenamiento (2), entrenamiento (3) y subespacio de características (4) 66 5.1 a): Pruebas de estimación de fuerza aplicada en función de la tensión de salida, con tres experimentos para una configuración de divisor de tensión con resistencia de 10K ohmios(asterisco) y de 30K ohmios(círculo) b):Experimento de aplicación de tres niveles de presión sobre la superficie sensible del FSR402 70 5.2 Experimento de dos contracciones simples y una contracción sostenida con el codo apoyado (a) y con el brazo suspendido en el aire(b) 72 5.3 Ajuste de los FSR al antebrazo para el control de la prótesis en las pruebas iniciales. Se coloca uno de ellos en la localización aproximada del extensor superficial (a), arriba); y dos en la superficie de los flexores (a),abajo y b)) 73 5.4 Experimento de contracción sostenida en t=10s seguida de una relajación y una extensión sostenida en t=20s 73
Índice de Figuras 113 5.5 a)Prensa digito-palmar. b)Prensa pulgodigital subterminal. c)Prensa pluridigital. d)Extensión del índice. e)Extensión completa o prensa de gravedad 74 5.6 Experimento de secuencia de agarres según el orden de la figura 5.5 74 5.7 Pulsera FMG desarrollada para equipar la interfaz en el muñón del usuario 75 5.8 Experimento de contracciones rápidas y sostenida después de las operaciones de escalado, suavizado y normalización 76 5.9 Señal sin procesar correspondiente a dos contracciones rápidas y una sostenida del flexor superficial con sensor EMG (a) y FMG (b), con el brazo suspendido en el aire 77 5.10 Experimento de la figura 5.9a tras rectificación y filtrado a 4Hz 78 5.11 Efecto de interferencias en dos experimentos idénticos de contracción rápida y sostenida con el brazo apoyado en la mesa, sin variar la colocación de los sensores respecto al experimento de la figura 5.9a . La amplitud de la señal varía significativamente debido al uso continuado y la proximidad de otros componentes electrónicos 79 5.12 Espectro de la señal electromiográfica de la figura 5.9a (a) y de las señales FMG de la figura 5.9b (b) computado mediante la FFT 80 5.13 Estimación de la densidad espectral o distribución de energía de la señal electromiográfica de la figura 5.9a (a) y de las señales FMG de la figura 5.9b (b) mediante la FFT 81 5.14 Gráfico de coordenadas paralelas del set de entrenamiento. Las características RMS o MAV, y la simetría de la ventana son las que mejor separan las clases en el caso de reconocimiento de gestos estáticos 82 5.16 Matrices de confusión de los modelos LDA, SVM y ANN del primer experimento (caso 1). En el peor de los casos, LDA solo clasifica incorrectamente 3 muestras; mientras que ANN solo comete error en una muestra, y SVM clasifica correctamente todas las muestras. 85 5.17 Matriz de confusión para la clasificación mediante una red neuronal de una capa oculta y 25 neuronas por capa, que otorga la clasificación más precisa según la tabla 5.2 86 5.18 Matrices de confusión para los modelos SVM cuadrático(a) y ANN(b) que otorgan mejores resultados según la tabla 5.3 86 5.19 Matrices de confusión para los modelos LDA(a) y SVM lineal(b) que otorgan mejores resultados según la tabla 5.4 87 5.20 Representación en el subespacio de características (RMS de los canales 1 y 2) de los resultados de predicción. Obsérvese que las clases son a simple vista linealmente separables salvo la excepción de las muestras mal clasificadas 88 5.21 Representación en el subespacio de características (RMS de los canales 1 y 2) de los resultados de predicción de ANN con datos de entrenamiento de dos sujetos. 88 5.22 Matrices de confusión para los modelos SVM cúbico (a) y ANN de una capa oculta de tamaño 10, que otorgan mejores resultados según la tabla 5.5 89 5.23 Sensor EMG Click de MikroElektronika y Módulo Grove-Round Force Sensor con FSR402 de Interlink Industries 89 5.24 Pulsera FMG de 8 sensores desarrollada por el grupo de investigación MENRVA [22] 91
Índice de Tablas 1.1 Tabla resumen del procedimiento experimental del trabajo 10 2.1 Valores de referencia de fuerza dactilar de los cinco dedos para el diseño mecánico de la prótesis objetivo [27] 17 2.2 Masas, momentos de inercia y posición de los cdg en el sistema de referencia global de los eslabones del dedo meñique, empleados como referencia en [ 27 ] para la determinación de las variables dinámicas, según la numeración de la figura 2.17 31 3.1 Comparativa de prestaciones del ESP32 frente al Arduino Nano [41] [42] 42 4.1 Secuencias de contracción admisibles en un periodo de evaluación de 5s para el control por muscle triggers. Salvo que se indique explícitamente una extensión, basta con relajar el brazo después de realizarlas 52 5.1 Resultado del experimento de clasificación simple en base a un set de entrenamiento obtenido del mismo sujeto en el mismo experimento, sin alterar el posicionamiento de los sensores 82 5.2 Resultado del experimento de clasificación simple en base a un set de entrenamiento normalizado obtenido de dos sujetos en distintos experimentos, con un ajuste distinto de los sensores, incluyendo una clase de relajación. 84 5.3 Resultado del mismo experimento de la tabla 5.2, eliminando la clase de relajación 84 5.4 Resultado de la clasificación de agarres para un mismo sujeto 87 5.5 Resultado de la clasificación de agarres para dos sujetos 88 5.6 Tabla resumen de las diferencias entre las técnicas FMG y sEMG 90 115
Índice de Códigos A.1 Código de prueba para estimación de fuerza del FSR402 95 A.2 Captura por puerto serie de señales FMG con tres sensores mediante Bluetooth 96 A.3 Procesamiento, representación y extracción de características de las medidas FMG en Matlab 97 A.4 Representación de señales FMG y EMG en el dominio frecuencial mediante FFT 99 A.5 Clasificación mediante muscle triggers en Arduino 100 A.6 Creación de un objeto de tipo puerto serie en Matlab con una función de tipo callback asociada 105 A.7 Función de clasificación en tiempo real de señales capturadas en Arduino mediante Bluetooth 106 A.8 Post-procesado de señales EMG en Matlab 106 117
Bibliografía [1] World Health Organization ,Guidelines for training personnel in developing countries for prosthetics and orthotics services, 1st ed. World Health Organization, 2004. [2] ——, WHO standards for prosthetics and orthotics, 1st ed. World Health Organization, 2017. [3] E. A. Biddiss and T. T. Chau, “Upper limb prosthesis use and abandonment: a survey of the last 25 years,” Prosthetics and orthotics international, vol. 31, no. 3, pp. 236–257, 2007. [4] ingenieriabiomedica.org. (2013, May) ¿Qué es la ingeniería biomédica? [Online]. Available: https://www.ingenieriabiomedica.org/queesingenieriabiomedica [5] World Scholarship Forum . (2020, July) Bioingeniería contra ingeniería biomédica: descripción del trabajo, salario, escuelas, costo. [Online]. Available: https: //worldscholarshipforum.com/es/bioengineering-vs-biomedical-engineering/ [6] E. Reina Romo, “Mecanobiología del tejido duro,” Universidad Internacional de Andalucía, 2020. [7] Wikipedia. (2021, March) Ingeniería biónica. [Online]. Available: https://es.wikipedia.org/ wiki/Ingeniería_biónica [8] Real Academia de Ingeniería . (2021, March) Bioseñal. [Online]. Available: http://diccionario. raing.es/es/lema/biose~nal [9] Wikipedia. (2021, March) Interacción persona-computadora. [Online]. Available: https: //es.wikipedia.org/wiki/Interacción_persona-computadora [10] Asociación Española de Normalización ,Prótesis y órtesis. Vocabulario. Parte 1: términos generales., 1st ed. Asociación Española de Normalización, 1990. [11] B. Maat, G. Smit, D. Plettenburg, and P. Breedveld, “Passive prosthetic hands and tools: A literature review,” Prosthetics and orthotics international, vol. 42, no. 1, pp. 66–74, 2018. [12] Wikipedia. (2021, July) Amputación. [Online]. Available: https://es.wikipedia.org/wiki/ Amputacion [13] D. Lopesino Rivera, “Análisis y mejora del diseño de una mano protésica,” Universidad Politécnica de Matrid, 2018. [14] J. M. Dorador González, P. Ríos Murillo, I. Flores Luna, and A. Juárez Mendoza, “Robótica y prótesis inteligentes,” 2004. 119
120 Bibliografía [15] M. Bellis. (2020, March) Who Invented Prosthetics? [Online]. Available: https://www. thoughtco.com/brief-history-of-prosthetics-4019665 [16] K. J. Zuo and J. L. Olson, “The evolution of functional hand replacement: From iron prostheses to hand transplantation,” Plastic Surgery, vol. 22, no. 1, pp. 44–51, 2014. [17] Scotland is Now . (2021, March) Touch Bionics i-Limb. [Online]. Available: https: //www.scotland.org/about-scotland/scotlands-stories/touch-bionics [18] J. T. Belter, J. L. Segil, and B. SM, “Mechanical design and performance specifications of anthropomorphic prosthetic hands: a review,” Journal of rehabilitation research and development, vol. 50, no. 5, p. 599, 2013. [19] C.-H. Xiong, W.-R. Chen, B.-Y. Sun, M.-J. Liu, S.-G. Yue, and W.-B. Chen, “Design and implementation of an anthropomorphic hand for replicating human grasping functions,” IEEE Transactions on Robotics, vol. 32, no. 3, pp. 652–671, 2016. [20] M. C. Carrozza, C. Suppo, F. Sebastiani, B. Massa, F. Vecchi, R. Lazzarini, M. R. Cutkosky, and P. Dario, “The spring hand: development of a self-adaptive prosthesis for restoring natural grasping,” Autonomous Robots, vol. 16, no. 2, pp. 125–141, 2004. [21] Open Bionics . (2021, March) Meet the Hero Arm – a prosthetic arm for adults and children. [Online]. Available: https://openbionics.com/hero-arm/ [22] E. Cho, R. Chen, L.-K. Merhi, Z. Xiao, B. Pousett, and C. Menon, “Force myography to control robotic upper extremity prostheses: a feasibility study,” Frontiers in bioengineering and biotechnology, vol. 4, p. 18, 2016. [23] Z. G. Xiao and C. Menon, “A review of force myography research and development,” Sensors, vol. 19, no. 20, p. 4557, 2019. [24] M. Wininger, N.-H. Kim, and W. Craelius, “Pressure signature of forearm as predictor of grip force.” Journal of Rehabilitation Research & Development, vol. 45, no. 6, 2008. [25] Y. Fang, N. Hettiarachchi, D. Zhou, and H. Liu, “Multi-modal sensing techniques for interfacing hand prostheses: A review,” IEEE Sensors Journal, vol. 15, no. 11, pp. 6065–6076, 2015. [26] Stanford Childrenś Health . (2021, March) Anatomía de la mano. [Online]. Available: https://www.stanfordchildrens.org/es/topic/default?id=anatomyofthehand-85-P04195 [27] A. Martinez-Pais González, “Diseño mecánico de una prótesis mioeléctrica de la mano humana,” Master’s thesis, Universidad de Sevilla, 2020. [28] E. Okwumabua, M. A. Sinkler, and B. Bordoni, “Anatomy, shoulder and upper limb, hand muscles,” 2019. [29] A. Tonatiu Velázquez, “Caracterización cinemática e implementación de una mano robótica multiarticulada,” Ph.D. dissertation, Instituto Politécnico Nacional México D.F., 2007. [30] T. S. Saponas, D. S. Tan, D. Morris, R. Balakrishnan, J. Turner, and J. A. Landay, “Enabling always-available input with muscle-computer interfaces,” in Proceedings of the 22nd annual ACM symposium on User interface software and technology, 2009, pp. 167–176. [31] T. Nilsen, M. Hermann, C. S. Eriksen, H. Dagfinrud, P. Mowinckel, and I. Kjeken, “Grip force and pinch grip in an adult population: reference values and factors associated with grip force,” Scandinavian journal of occupational therapy, vol. 19, no. 3, pp. 288–296, 2012.
Bibliografía 121 [32] M. Santello, G. Baud-Bovy, and H. Jörntell, “Neural bases of hand synergies,” Frontiers in computational neuroscience, vol. 7, p. 23, 2013. [33] M. Ciocarlie, C. Goldfeder, and P. Allen, “Dimensionality reduction for hand-independent dexterous robotic grasping,” in 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2007, pp. 3270–3275. [34] M. Gabiccini, A. Bicchi, D. Prattichizzo, and M. Malvezzi, “On the role of hand synergies in the optimal choice of grasping forces,” Autonomous Robots, vol. 31, no. 2, pp. 235–252, 2011. [35] M. Zahak Jamal. (2012, February) Signal acquisition using surface emg and circuit design considerations for robotic prosthesis. IntechOpen. [Online]. Available: https://www.intechopen.com/books/computational-intelligence-in-electromyography- analysis-a-perspective-on-current-applications-and-future-challenges/signal-acquisition- using-surface-emg-and-circuit-design-considerations-for-robotic-prosthesis [36] J. Domínguez Abascal, Teoría de máquinas y mecanismos, 1st ed. Ed. ETSI. Universidad de Sevilla, 2017. [37] Gazebo. (2015, July) Torsional Friction. [Online]. Available: http://gazebosim.org/tutorials? tut=torsional_friction&cat=physics [38] A. Pérez Vega-Leal, “Instrumentación electrónica. tema 3: transducción,” Universidad de Sevilla, 2018. [39] Interlink Electronics . (2012, February) FSR Integration Guide & Evaluation Parts Catalog With Suggested Electrical Interfaces. Institute of Communication Engineering. [Online]. Available: https://cdn-learn.adafruit.com/assets/assets/000/010/126/original/fsrguide.pdf [40] Seeed Studio . (2018, June) Grove - Round Force Sensor FSR402. [Online]. Available: https://wiki.seeedstudio.com/Grove-Round_Force_Sensor_FSR402/ [41] AZ-Delivery. (2021, February) Quick-Start Guide - ESP32 NodeMCU Module WLAN Wi-Fi Development Board. AZ-Delivery. [Online]. Available: https://www.az-delivery.de/es/ products/esp32-nodemcu-kostenfreies-e-book?variant=8687877750880 [42] Arduino Official Store . (2021, May) Arduino Nano. [Online]. Available: https://store.arduino. cc/arduino-nano [43] MikroElektronika. (2021, May) EMG Click. [Online]. Available: https://www.mikroe.com/ emg-click [44] I. Rodríguez-Carreño, L. Gila-Useros, and A. Malanda-Trigueros, “Motor unit action potential duration: measurement and significance,” in Advances in clinical neurophysiology. IntechOpen, 2012. [45] Delsys. (2021, February) Delsys technical note 101: Emg sensor placement. Delsys. [Online]. Available: https://www.delsys.com/downloads/TECHNICALNOTE/101-emg- sensor-placement.pdf [46] A. Pérez Vega-Leal, “Instrumentación electrónica. tema 5: amplificadores de instrumentación,” Universidad de Sevilla, 2018. [47] Altium Designer . (2017, July) Cómo Usar un Núcleo de Ferrita en su Diseño para Reducir la EMI. [Online]. Available: https://resources.altium.com/es/p/how-use-ferrite-bead-your- design-reduce-emi