Cuando tenía 15 años tuve mi primer acercamiento con el desarrollo de software y hoy, a más de 20 años de distancia, puedo decir que la programación me ha dado muchas satisfacciones. En el camino de mi profesionalización estudié Ingeniería en Sistemas Computacionales y participé en diversos proyectos, cada uno de los cuales representó un reto y al final un gran logro.
Recientemente, en busca de un reto más, ingresé a la Maestría en Ciencias en Automatización y Control en la Universidad Autónoma del Estado de Hidalgo (UAEH). Como todo buen programador, tengo corazón de código libre y creo plenamente en que el conocimiento debe compartirse y ayudar a quien lo necesite. Por esto, cuando conocí el trabajo de la Dra. Rocío Ortega Palacios, profesora investigadora de la Universidad Politécnica de Pachuca (UPP), sobre prótesis de miembro superior y su interés en hacerlas de buena calidad y con bajo costo para apoyar a las personas, comencé a imaginar todo lo que se podría implementar en ese ámbito.
Finalmente, cuando la Dra. Liliam Rodríguez Guerrero, coordinadora de la Maestría y Doctorado en Ciencias en Automatización y Control que ofrece la UAEH, propuso el proyecto “Diseño y construcción de una prótesis de miembro superior con control de movimientos”, en colaboración con la investigadora Rocío Ortega, decidí adoptarlo como tema para mi tesis y ambas se convirtieron en mi directora y codirectora, respectivamente.
El proyecto original consistía en desarrollar un algoritmo que utiliza la diferencia entre la posición del dedo, que puedo medir con los sensores, y la que se desea alcanzar, calculando un valor numérico que me indica cuánto deben moverse los motores para activar los dedos de una prótesis preexistente (nuevamente el código libre haciendo su aparición), la cual descargamos e imprimimos en 3D.
FOTO 1. Piezas impresas en 3D y prototipo completamente ensamblado
Sin embargo, conforme avanzábamos, tanto mis asesoras como yo, notamos que había más cosas por hacer. Imaginar que una prótesis, que se pudiera controlar por voz y que contara con la posibilidad de sujetar objetos irregulares (no solo la típica pelota de tenis), significaba la oportunidad de poner un granito de arena para mejorar la vida cotidiana de una persona, y eso nos llenó de energía y comenzamos a plantear nuevos retos.
Es así como decidimos agregar una aplicación web de control para que desde el celular se pudiera indicar a la mano cómo debía moverse, desde luego a través de comandos de voz.
Por supuesto que el camino no fue llano, obtener el modelo matemático y calcular las ganancias de un control PI óptimo, es decir un tipo de control que permite que la energía utilizada sea la mínima necesaria para ejecutar la tarea, fueron problemas que me tomó tiempo resolver, afortunadamente la maestría me brindó bases teórico-prácticas sólidas para afrontarlo.
En lo que se refiere al movimiento del dedo, se consigió con un servomotor que lo rodea internamente y que es un tipo de motor en el que es posible controlar la posición de su eje a través de un hilo que hace la función de tendón. Esto representa una ventaja, pues el dedo sigue siempre la misma trayectoria, así que conociendo la posición del servomotor conocíamos también la del dedo. Desafortunadamente esto limitaba los movimientos de la mano y no sería posible sujetar objetos irregulares.
Por lo anterior, decidimos cambiar el arreglo hacia uno de doble tendón no enlazado, es decir una estructura donde el movimiento de flexión y extensión es controlado por hilos independientes; esto aumentó el número de movimientos posibles, ya que a cada posición del servomotor existen varias posiciones del dedo. Claro, esto introdujo un nuevo problema puesto que ya no es posible inferir la posición del dedo a partir, únicamente, del servomotor.
Para solucionarlo, incorporamos unidades de medición inercial sobre la punta de los dedos, a través de los cuales obtuvimos la inclinación de los mismos, lo que nos permitió inferir su posición para tener un mejor control de los movimientos. En la imagen 2 de este artículo, pueden observar las unidades inerciales colocadas sobre la punta de los dedos.
FOTO 2. Ubicación de las Unidades de Medición Inercial sobre los dedos
Sin embargo, el mayor reto se presentó al intentar mover la mano completa; y digo completa porque en términos generales la mano se compone por cinco subsistemas, es decir cada uno de los dedos, en esencia iguales pero que deben ejecutarse “al mismo tiempo” y esto último no lo pude obtener con las técnicas comunes de programación del microcontrolador.
Comúnmente un microcontrolador, como el Arduino (nombre comercial de una placa de desarrollo muy conocida), utiliza una técnica de programación basada en una función loop (ciclo), la cual se repite indefinidamente y ejecuta de forma secuencial cada una de sus instrucciones.
Esta técnica basta y sobra para muchos proyectos, y de hecho, si el nuestro fuera un solo dedo no habría problema; sin embargo, se necesitaba mover cinco dedos y la velocidad de reacción del microcontrolador simplemente no era suficiente. El primer paso para resolver este problema fue cambiar a un dispositivo más potente, el ESP32 (también una placa de desarrollo) pero desafortunadamente la velocidad de respuesta seguía sin alcanzarse.
La técnica del loop infinito, que mencioné anteriormente, tiene la particularidad de que se ejecuta sobre un único procesador, pero la arquitectura del ESP32 cuenta con dos de ellos, así que decidimos cambiar hacia una programación con Multitarea en Paralelo. Ésta se refiere a que las instrucciones se dividen en bloques (tareas) y se van ejecutando por tiempos en el microprocesador. Por otro lado, el paralelismo implica que se tiene disponible más de un microprocesador donde ejecutar las instrucciones. La combinación de ambas técnicas, da como resultado un incremento considerable de la potencia de cómputo.
Lo anterior nos permitió aprovechar toda la capacidad de cómputo del microcontrolador y, después de varios experimentos, conseguir que todos los dedos de la mano respondieran a la misma velocidad y que el movimiento de uno no afectara el del otro.
FOTO 3. Modo de agarre de objetos y posición libre de los dedos
Desafortunadamente la pandemia no nos permitió adaptar el prototipo en una o un paciente real. El proyecto de tesis se concluyó de acuerdo a todos los requerimientos formales, pero aún queda trabajo por hacer. Aunque, al mirar atrás, este trabajo me llena de satisfacción porque hemos iniciado un camino que, estoy seguro, culminará con la producción de una prótesis libre y de bajo costo que beneficiará a muchas personas.
Tan solo en nuestro país, hay más de 27 mil personas amputadas cada año y no todas se pueden permitir adquirir una mano biónica, las cuales llegan a costar hasta $250 mil dólares. Confío en que con el trabajo conjunto y en coordinación con dos mujeres líderes e innovadoras, lograremos ofrecer algo accesible.
Erick Javier Sánchez Garnica es Ingeniero en Sistemas Computaciones por el Instituto Tecnológico de Pachuca y egresado de la Maestría en Ciencias en Automatización y Control por la Universidad Autónoma del Estado de Hidalgo. Cuenta con diversas certificaciones y cursos en las áreas de Comunicación VoIP, Lenguaje Java, Sistemas de Información Geográfica y Seguridad Informática, así como más de 15 años de experiencia profesional en Desarrollo de Software.
“Tengo corazón de Software Libre y espero, algún día, regresar a la comunidad algo de lo mucho que he recibido de ella”.