0% encontró este documento útil (0 votos)
17 vistas59 páginas

Entregable Final Co

El documento aborda la identificación de sistemas utilizando redes neuronales, enfocándose en su aplicación en exoesqueletos de rehabilitación para pacientes con paresia. Se propone un método de rehabilitación motora que utiliza un motor controlado por un código en Python, que reconoce puntos en el brazo del paciente para mejorar su movilidad. Este enfoque busca personalizar la terapia y optimizar la recuperación de los pacientes, destacando la importancia de la neuroplasticidad en el proceso de rehabilitación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas59 páginas

Entregable Final Co

El documento aborda la identificación de sistemas utilizando redes neuronales, enfocándose en su aplicación en exoesqueletos de rehabilitación para pacientes con paresia. Se propone un método de rehabilitación motora que utiliza un motor controlado por un código en Python, que reconoce puntos en el brazo del paciente para mejorar su movilidad. Este enfoque busca personalizar la terapia y optimizar la recuperación de los pacientes, destacando la importancia de la neuroplasticidad en el proceso de rehabilitación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD DE PIURA

Asignatura de Control Industrial

FACULTAD DE INGENIERÍA

“Identificación de Sistemas utilizando Redes Neuronales”


Aplicación de redes neuronales en exoesqueleto de
rehabilitación

Nombre del integrante:


Carrillo Gonzales, Ariana del Milagro
Escalante Feria, Victor Augusto
Fernández Aquino, Henry Ismael Junior
Linares Acuña, Oscar Emilio
Puemape Villavicencio, Juan Carlos
Salazar Silva, Anthony Gonzalo

Asesores:
Doc. Ing. William Ipanaque Alama

Piura, 9 de noviembre del 2023

1
Contenido
Contenido
Introducción .............................................................................................................................................. 6
Resumen .................................................................................................................................................... 7
Capítulo 1 .................................................................................................................................................. 8
1. Problema y Justificación ............................................................................................................... 8
1.1. Problemática ................................................................................................................................. 8
1.2. Justificación .................................................................................................................................. 9
Capítulo 2 ................................................................................................................................................ 10
2. Objetivos y alcance ..................................................................................................................... 10
2.1. Objetivos generales ..................................................................................................................... 10
2.2. Objetivos específicos .................................................................................................................. 10
2.3. Alcance ....................................................................................................................................... 10
2.4. Limitaciones................................................................................................................................ 10
Capítulo 3 ................................................................................................................................................ 12
3. Marco Teórico y estado del arte .................................................................................................. 12
3.1. Estado del arte ............................................................................................................................. 12
3.2. Marco teórico .............................................................................................................................. 14
3.2.1. Python ................................................................................................................................. 14
3.2.2. Open CV ............................................................................................................................. 14
3.2.3. Mediapipe ........................................................................................................................... 14
3.2.4. Visual Studio Code ............................................................................................................. 16
3.2.5. TensorFlow ......................................................................................................................... 16
3.2.6. Machine Learning ............................................................................................................... 17
3.2.7. Deep Learning ..................................................................................................................... 17
3.2.8. Puente H .............................................................................................................................. 17
3.2.9. Jumpers ............................................................................................................................... 18
3.2.10. Arduino Uno ....................................................................................................................... 18
3.2.11. Brazo Articulado 3D ........................................................................................................... 18
3.2.12. Sistemas .............................................................................................................................. 18
3.2.13. Procedimientos necesarios para la identificación de sistemas dinámicos ........................... 19
3.2.14. Correlación en sus diferentes arquitecturas......................................................................... 21
3.2.15. Análisis de residuos ............................................................................................................ 22
3.2.16. Redes Neuronales Artificiales ............................................................................................. 22
3.2.17. Exosqueleto de rehabilitación ............................................................................................. 24
3.2.18. Neuroplasticidad ................................................................................................................. 26
Capítulo 4 ................................................................................................................................................ 27
2
4. Metodología, Materiales y procedimiento .................................................................................. 27
4.1. Micromotor DC N20 12V/100RPM ........................................................................................... 27
Tipo de motor .................................................................................................................................. 27
4.1.1. Capacidad de Carga del Micromotor DC N20 12V/100RPM en el Hardware ................... 28
4.2. Arduino Uno ............................................................................................................................... 28
4.2.1. Microcontrolador ................................................................................................................ 28
4.2.2. Voltaje de Alimentación ..................................................................................................... 28
4.2.3. Entradas/Salidas Digitales................................................................................................... 28
4.2.4. Entradas Analógicas............................................................................................................ 28
4.2.5. Memoria Flash .................................................................................................................... 28
4.2.6. SRAM ................................................................................................................................. 28
4.2.7. EEPROM ............................................................................................................................ 28
4.2.8. Reloj .................................................................................................................................... 28
4.2.9. Interfaces de Comunicación ................................................................................................ 29
4.2.10. Tamaño ............................................................................................................................... 29
4.3. Puente H (Módulo L298N) ......................................................................................................... 29
4.3.1. Función Principal ................................................................................................................ 29
4.3.2. Control de Dirección y Velocidad....................................................................................... 29
4.3.3. Conexión con Arduino ........................................................................................................ 29
4.3.4. Conexiones .......................................................................................................................... 29
4.3.5. Características Eléctricas .................................................................................................... 29
4.3.6. Aplicaciones Comunes ........................................................................................................ 29
4.3.7. Protección de Retroalimentación ........................................................................................ 29
4.4. Selección de Materiales .............................................................................................................. 29
4.4.1. Consideraciones en la Selección de Materiales................................................................... 30
4.4.2. Materiales Recomendados .................................................................................................. 30
4.4.3. Material recomendado y las razones detrás de su elección ................................................. 31
Capítulo 5 ................................................................................................................................................ 32
5. Desarrollo, Experimentación y resultados .................................................................................. 32
5.1. Python ......................................................................................................................................... 32
5.1.1. Código Mediapipe ............................................................................................................... 32
5.1.2. Código para la obtención del ángulo ................................................................................... 33
5.2. Arduino ....................................................................................................................................... 35
5.3. CMD ........................................................................................................................................... 36
5.4. Codcheto. .................................................................................................................................... 37
5.5. Funcionamiento del Hardware .................................................................................................... 38
Capítulo 6 ................................................................................................................................................ 41
6. Análisis de resultados.................................................................................................................. 41

3
Análisis de resultados.......................................................................................................................... 41
Problemas durante el desarrollo y soluciones brindadas ..................................................................... 41
Problema 1 ...................................................................................................................................... 41
Problema 2 ...................................................................................................................................... 41
Problema 3 ...................................................................................................................................... 42
Capítulo 7 ................................................................................................................................................ 43
7. Conclusiones ............................................................................................................................... 43
8. Bibliografía ................................................................................................................................. 44
Gestión del proyecto ............................................................................................................................... 46
Acta49

4
TABLA DE ILUSTRACIONES
Ilustración 1:Puntos de separación por medio de Mediapipe pose ............................................................ 15
Ilustración 2:Primeras pruebas .................................................................................................................. 15
Ilustración 3: Representación de detección de poses por Mediapipe pose................................................. 16
Ilustración 4:Reconocimiento de puntos a lo largo del cuerpo .................................................................. 16
Ilustración 5. Representación de un sistema dinámico ............................................................................... 19
Ilustración 6:Flujograma de la Identificación de sistemas dinámicos ......................................................... 20
Ilustración 7:Proceso de identificación de un sistema para la obtención de un modelo matemático .......... 21
Ilustración 8: Exoesqueleto de rehabilitación para brazo derecho ............................................................ 24
Ilustración 9: Vista general del circuito usado con Arduino ...................................................................... 25
Ilustración 10: Código Mediapipe .............................................................................................................. 32
Ilustración 11: Demostración del código de Mediapipe ............................................................................. 32
Ilustración 12: Representación de los 33 puntos generados por mediapipe .............................................. 33
Ilustración 13: Exportación de librerías necesarias................................................................................... 33
Ilustración 14: Separación de los puntos necesarios para el brazo derecho ............................................. 33
Ilustración 15: Relación de los puntos señalizados .................................................................................... 34
Ilustración 16: Calculo para la obtención del ángulo del brazo deseado .................................................. 34
Ilustración 17: Demostración de la obtención del ángulo en el brazo deseado ......................................... 34
Ilustración 18: Código para el diseño estético ........................................................................................... 34
Ilustración 19: Código Arduino para controlar el micromotor DC N20 .................................................... 35
Ilustración 20: Código de ángulo entero y entradas al Arduino ................................................................ 35
Ilustración 21: Detección de datos de entrada e inicio del bucle ............................................................... 36
Ilustración 22: Activación de giro del micromotor ..................................................................................... 36
Ilustración 23: Final del código Arduino para evitar lecturas adicionales................................................ 36
Ilustración 24: Conexión Python y Arduino por el CMD ........................................................................... 36
Ilustración 25: Comprobación del Python y Arduino ................................................................................. 37
Ilustración 26: Importación de librerías de Python para el comando CMD .............................................. 37
Ilustración 27: Codigo para movimeinto del servomotor con el codigo Python ........................................ 38
Ilustración 28: Cierre del puerto serial ...................................................................................................... 38
Ilustración 29: Proceso de guardado y ejecución en CMD ........................................................................ 38
Ilustración 30: Arduino Uno ....................................................................................................................... 39
Ilustración 31: Micromotor conectado a la varilla..................................................................................... 39
Ilustración 32: Puente H ............................................................................................................................. 40
Ilustración 33: Férulas TPU ....................................................................................................................... 40
Ilustración 34:Exoesquleto de brazo derecho............................................................................................. 40

5
Introducción

La identificación de sistemas utilizando redes neuronales representa una disciplina fundamental en la


ingeniería de control industrial, con aplicaciones que abarcan una amplia gama de industrias y procesos.En
su esencia, este campo se enfoca en la creación de modelos matemáticos precisos que describen el
comportamiento de sistemas complejos a partir de datos experimentales, una tarea esencial para comprender
y optimizar los procesos industriales en un mundo cada vez más automatizado y tecnológicamente
avanzado.

En el meollo de la identificación de sistemas se encuentra la necesidad de desarrollar modelos que reflejen


con precisión la relación entre las entradas y las salidas de un sistema. Tradicionalmente, este proceso ha
involucrado la utilización de enfoques matemáticos que asumen relaciones lineales o paramétricas entre las
variables. Sin embargo, la creciente complejidad de los sistemas industriales modernos, así como la
presencia de comportamientos no lineales y dinámicas cambiantes, ha llevado auna creciente demanda de
enfoques más flexibles y adaptables.

Es aquí donde entran en juego las redes neuronales, una rama de la inteligencia artificial inspirada en el
funcionamiento del cerebro humano. Estas redes son capaces de aprender y modelar relaciones complejas
y no lineales a partir de datos de entrada y salida del sistema. Su capacidad para capturar patrones
intrincados y adaptarse a cambios en tiempo real las convierte en una herramienta poderosa para la
identificación de sistemas en entornos industriales.

Un ejemplo destacado de la aplicación de la identificación de sistemas con redes neuronales se encuentra


en el diseño de exoesqueletos de rehabilitación. Estos dispositivos innovadores están diseñados para asistir
en la rehabilitación de pacientes con lesiones neuromusculoesqueléticas, mejorando su capacidad de
movimiento y recuperación. La identificación precisa de los patrones de movimiento y las necesidades
individuales de cada paciente es esencial para personalizar la terapia y maximizar los resultados de
rehabilitación.

A lo largo de este informe, exploraremos en detalle cómo las redes neuronales pueden aplicarse con éxito
en la identificación de sistemas, específicamente en el contexto de un exoesqueleto de rehabilitación.
Examinaremos los pasos clave en el proceso y la recopilación de datos específicos.

En síntesis, la identificación de sistemas utilizando redes neuronales no solo representa una vanguardiaen la
ingeniería de control industrial, sino que también desempeña un papel crucial en el desarrollo de tecnologías
innovadoras como los exoesqueletos de rehabilitación. Este informe proporcionará una visión integral de
este emocionante campo y su aplicabilidad en diversos contextos industriales, con unenfoque especial en la
mejora de la calidad de vida y la recuperación de los pacientes.

6
Resumen

El presente trabajo abarca una problemática bastante importante coyunturalmente, puesto que, nos introduce
a un término importante dentro de la medicina peruana; la paresia es una condición médica que afecta la
movilidad de los músculos que se encuentran en el brazo, esto se da por alguna fractura o lesiones
neurológicas en el brazo del paciente, de tal manera, se busca implementar un método de rehabilitación
motora en estos pacientes.

Al reconocer la problemática y la alternativa de solución, dentro de un espacio médico buscamos mejorar


la movilidad de los pacientes, con una técnica de rehabilitación proporcionada mediante un mecanismo de
movilidad que es accionada por un motor que recibe datos que son reconocidos en un tiempo determinado
por un código programable en Python, este código está englobado con la librería de MediaPipe, que
reconoce determinados puntos en el brazo del paciente y con estos puntos se llegan a formar dos rectas que
forman un ángulo de movilidad; de tal manera esos datos de movilidad se almacenan en Arduino y son
almacenados a nuestro motor que está complementado con un puente H que modifica la polaridad de
reconocimiento de ángulos.

Por ello, se establecen dos rangos de ángulos y a la vez se reconocen los objetivos específicos en cada
paciente, donde se especifica una determinada terapia para la mejora de cada paciente. De tal manera se
realizan diversas pruebas para establecer la polaridad de la mano con los rangos de los ángulos que se van
a implementar en cada paciente, en donde cada prótesis se ajusta a las necesidades y requerimientos de la
persona.

La rehabilitación mediante este sistema de control será de mucha ayuda para la persona afectada, puesto
que, se puede implementar en tan poco tiempo y sin necesidad de que se pueda implementar por una
persona, es decir, puede ser usado sin ninguno problema a larga distancia.

7
Capítulo 1

1. Problema y Justificación
1.1. Problemática

La paresia es una condición médica ocasionada por un ataque cerebrovascular ACV, en donde el
paciente sufre disminución en la fuerza muscular de una zona del cuerpo. Por ello, el paciente requiere
de una rehabilitación en el menor tiempo posible para evitar una pérdida de movilidad permanente ya
que se requiere de la restauración de la comunicación mente-músculo para lograr la neuro plasticidad.
Esta rehabilitación consta de una serie se terapias las cuales no son llevadas de la mejor manera en
nuestro país debido a la falta de personal o recursos.

El accidente cerebrovascular (ACV), también conocido como ictus o derrame cerebral, es una
emergencia médica grave que ocurre cuando el flujo sanguíneo hacia una parte del cerebro se
interrumpe, lo que puede provocar daño cerebral en cuestión de minutos.
Existen dos tipos principales de ACV:

1. ACV Isquémico: Este tipo de ACV es el más común y se produce cuando un coágulo bloquea una
arteria cerebral, reduciendo o deteniendo el flujo de sangre al cerebro. Los síntomas incluyen
debilidad en un lado del cuerpo, dificultad para hablar, confusión, pérdida de visión en un ojo y
problemas de equilibrio.

2. ACV Hemorrágico: Este tipo de ACV ocurre cuando un vaso sanguíneo en el cerebro se rompe,
causando una hemorragia en el tejido cerebral. Los síntomas pueden incluir dolor de cabeza intenso,
vómitos, confusión, debilidad y pérdida de conocimiento.

Existen varios factores que aumentan el riesgo de sufrir un ACV, como lo son: Presión arterial alta,
diabetes, fibrilación auricular (ritmo cardíaco irregular), colesterol alto, consumo excesivo de alcohol,
Consumo excesivo de tabaco, obesidad. historial familiar de ACV.

Además de comprender los tipos de ACV, síntomas, factores de riesgo y prevención, es fundamental
examinar las consecuencias que pueden derivar de un accidente cerebrovascular. La paresia puede
afectar la movilidad de una persona de diversas maneras. Los síntomas pueden variar desde una
debilidad leve hasta una pérdida significativa de la capacidad para mover una extremidad o realizar
actividades cotidianas.

Las consecuencias de la paresia pueden incluir:


1. Problemas de coordinación: La paresia puede afectar la coordinación motora, lo que dificulta la
ejecución de movimientos precisos y actividades que requieren destreza.

2. Limitaciones en las actividades diarias: La debilidad muscular puede dificultar la realización de


tareas cotidianas, como vestirse, asearse, comer y otras actividades esenciales para la
independencia.
1. Rehabilitación: La rehabilitación, que incluye terapia física y ocupacional, es fundamental en el
proceso de recuperación de las personas con paresia después de un ACV. Estos programas ayudan
a mejorar la fuerza muscular, la movilidad y la independencia funcional

8
1.2. Justificación

Teniendo como base el diseño de un exoesqueleto de rehabilitación de miembro superior, podemos


introducir el concepto de identificación de sistemas, ya que es un proceso que sirve para comprender
y modelar cómo un sistema ya establecido que va a responder a ciertas entradas.

Esta identificación de sistemas se logra con ayuda de métodos tradicionales, a partir de datos obtenidos
con anterioridad. Sin embargo, estos métodos presentan limitaciones, sensibilidad a errores de
medición, mayor tiempo de cálculo, entre otras complicaciones.

Por tanto, en la búsqueda de soluciones, para mejorar y agilizar la identificación de sistemas, tomando
como aplicación el correcto diseño de un exoesqueleto de rehabilitación de miembro superior,las redes
neuronales son una herramienta fundamental para garantizar una precisa identificación permitiendo el
buen diseño y control para sistemas complejos. Esta herramienta estará enfocada en mejorar la
precisión de los sistemas, desarrollar métodos generales que permitan su funcionamiento en sistemas en
tiemporeal; así como la selección de la arquitectura de red neuronal óptima para cada tipo de sistema
que se presente.

Utilizando hardware y software especializado en el exoesqueleto, el modelo generado por la red


neuronal nos permitirá la correcta recopilación de datos durante la rehabilitación, tomando las señales
de entrada como los movimientos que están planificados y la salida como los movimientos reales del
paciente. Esta herramienta también puede utilizar los datos recopilados con el fin de determinar como
el exoesqueleto responderá ante las señales iniciales. Por lo que también se estaría evaluando la
respuesta real del sistema, en este caso el exoesqueleto.
Otra aplicación que permiten las redes neuronales para el prototipo establecido es desarrollar un modelo
matemático que mejore el control y optimización, en donde se puedan ajustar las ordenes de movimiento
con mayor precisión para adaptarse a las necesidades del paciente al momento de la rehabilitación. Esto
hace que las terapias puedan ser personalizadas, lo que puede hacer que la recuperación sea más efectiva
y rápida.

La identificación de sistemas ayuda a comprender y modelar la relación entre las entradas y las salidas
de un exoesqueleto de rehabilitación de miembro superior. Esto te permite personalizar y mejorar la
terapia de rehabilitación, adaptándola de manera más efectiva a las necesidades individuales de los
pacientes.

9
Capítulo 2

2. Objetivos y alcance
2.1. Objetivos generales

- Introducirnos al campo de las redes neuronales y desarrollar un modelo matemático que permita
reconocer patrones mediante una dataset y pueda ser modelado en diversos parámetros.
2.2. Objetivos específicos

- Comprender el comportamiento de sistemas lineales y no lineales mediante modelos matemáticos.


- Utilizar una red neuronal entrenada y aplicar procesamiento de imágenes en un sistema embebido.
- Implementar diversos lenguajes de programación que al entenderse y analizarse ayuden a resolver
el enfoque del problema.
2.3. Alcance

Como se comentó en la problemática, buscaremos diseñar un código combinado que permita poder
controlar un mecanismo de hardware de terapia asistida a traves de imágenes que reconozcan un
ángulo entre el brazo y el antebrazo. Usando lenguajes de programación en Python y Arduino.
A la vez, buscaremos que nuestro proyecto tenga tres alcances en general:

o Corto plazo: Comprender los conceptos circundantes a maching learning y deep learning
que permiten la obtención de un ángulo con imágenes RGB.
o Mediano plazo: Adaptar el prototipo para que sea tenga un interfaz amigable con el
usuario, además de mejorar el diseño y adaptarlo a cada usuario de manera ergonómica.
o Largo plazo: Masificar las terapias virtuales y así poder brindar este beneficio a más
personas que lo necesiten. O brindar una alternativa de solución a en caso donde se
necesite una terapia a distancia.

Para ello, tenemos como objetivo y fin mejorar el alcance que se realizó en el proyecto propuesto en
el Congreso Nacional y Exposición Internacional de Ingeniería Mecánica,Mecatrónica, Eléctrica,
Electrónica y carreras afines (CONEIMERA), con el nombre de: “Diseño y evaluación de un
exoesqueleto de rehabilitación de miembro superior para pacientes con hemiplejia adquirida”.
Para que, de esta manera, podamos alcanzar mejores resultados de predicción en el tiempo acerca de su
comportamiento y modificaciones que puedatener consigo la aplicación de dicho prototipo.

Como metodología hemos implementado reuniones de avance semanalmente, en donde se han


logrado entender algunos conceptos teóricos en paralelo, como es el caso del análisis de las
principales variables en este tema tan relevante, como lo es la “identificación de sistemas en sistemas
mediante las redes neuronales”. A la vez, en dichas reuniones han surgido ciertas dudas, las cuáles
han sido resueltas con éxito por el asesor, el Doc. Ing William Ipanaque.

2.4. Limitaciones

• Arquitectura de software:

El principal problema que se presenta en esta ocasión es la conexión entre Arduino y Visual Studio,
lo que nos lleva a diseñar de manera independiente los códigos, en donde se busca encontrar alguna
librería para poder unir ambos softwares para que estos se puedan unificar y puedan trabajar en
conjunto para implementar un solo código.

10
Esto se da principalmente porque ambos softwares tienen determinados requisitos de
funcionamientos, siendo el más complicado la unificación de los datos que se arrojan de Visual
Studio, puesto que este nos arroja una cantidad elevada de datos que se demoran conectar en un
mismo lenguaje con Arduino.

• Calidad de la cámara:

Uno de los principales problemas también es la calidad de los instrumentos con los que se cuentan
para que se pueda encontrar el producto final, esto es un gran problema porque nuestra librería
denominada Mediapipe Pose, trabaja con mayor eficacia con cámaras especiales que fragmenta
capas de video de tipo RGB, lo cual ayudaría a encontrar capas más cercanos a la realidad, pero
lamentablemente contamos con la cámara de nuestra laptop en este entregable, pero
implementaremos también una cámara de mano para nuestro entregable final.

• Interfaz y motor:

Al presentar un trabajo de almacenamiento de datos, este software aún está en diseño de código,
donde poco a poco buscaremos que se pueda unificar el código y sea amigable con el usuario, es
decir implementar un hardware capaz de trabajar con eficacia. Además, un problema importante es
uno de los instrumentos que se está usando para implementar este sistema, la arquitectura está
compuesta por un puente H y un motor, en este caso, un motor con algunas limitaciones, pero nos
permite acercarnos a un buen resultado.

11
Capítulo 3

3. Marco Teórico y estado del arte

3.1. Estado del arte

Titulo Resumen Autor y Fecha


Intelligent Control Using Las Redes neuronales son Kumpati S. Narendra, Snehasis
Neural Networks frecuentemente más usada en Mukhopadhyay
los sistemas dinámicos, a pesar
de sus fallos estructurales; pese
a estos casos se usan
controladores debido a las
varias configuraciones que se le
pueden aplicar al sistema. Estos
controladores son:
Controlador
estabilizador
Controlador adaptativoLa
implementación de la
inteligencia artificial responde
con mejores resultados al
reconocer mejor los patrones de
los sistemas lineales y no
lineales.
Experimentally driven En el siguiente paper, Mark Vaes, Yves Rolain, Johan
demystification of system obtenemos información Patty, Ger Vandersteen
identification for nonlinear bastante importante con
mechanical systems respecto a la modelación en los
sistemas no lineales, nos
explica acerca del promedio de
trabajar con el ruido que se
puede presentar en su
modelación, nos explica
también acerca de un método
para poder modelar, como lo es
el FRF. Además, contamos con
que muestra ejemplo de
modelado con diseño de
sistemas no lineales, utilizando
más la parte mecánica como
modelo para diseñar el modelo
de predicción.
Issues in system identification Este paper se centra en que Lennard Ljung
problemas en la identificación
del sistema son un aspecto
crítico. Estos desafíos surgen de
la complejidad, la falta de datos
precisos y la variabilidad en el
sistema. Superarlos es esencial
para un control industrial eficaz
y fiable. A pesar de que la
identificación del sistema se ha
convertido en una herramienta
práctica y madura, no ha
12
perdido su relevancia como
objeto de investigación.
Nonlinear system identification Este artículo presenta se centra JOHAN SCHOUKENS,
en dos principales puntos. LENNART LJUNG
Presentar la identificación de
sistemas no lineales para la
solución de problemas de
modelo basados en datos
obtenidos en sistemas
dinámicos. También trata de
enfocarse en las similitudes y
diferencias que presentan la
identificación de sistemas no
lineales.

Deep convolutional networks in Artículo que establece Carl Andersson, Antonio H.


system identification conexiones entre el aprendizaje Ribeiro, Koen Tiels , Niklas
profundo y la identificación de Wahlstrom and Thomas B.
sistemas, nos muestra que, para Schon
tareas de modelados de
secuencias, las arquitecturas
convolucionales con tan
capaces como las recurrentes.
Además, vemos la relación
entre la red convolucional
temporal (TCN) y dos
estructuras de modelos de
identificación de sistemas,
Serie Volterrea y modelos
orientados a bloques.
IDENTIFICACIÓN Artículo que usa una red RBF Ricardo Valverde Gil, Diego
DESISTEMAS con procesamiento de 2 capas, Gachet Páez - School of
DINÁMICOSUTILIZANDO utilizando un algoritmo de Engineering, San FranciscoState
REDESNEURONALES entrenamiento con la ventaja de University, 2007
ser on line. Con resultados en 3
sistemas diferentes. Sistema
SISO, sistema no lineal con una
entrada y una salida, y un
sistema MIMO
Aprendizaje automático en la Explicación de la obtención de Aguilar. R.M Torres
identificación de sistemas. modelos predictivos de J.MMartín 2018
Estudio en la predicción de la sistemas complejos, dándole
generación eléctrica. valor a los datos recogidos en
un proceso para la
identificación de el mismo
usando aprendizaje automático

13
3.2. Marco teórico

3.2.1. Python
Es un lenguaje de programación en el cual nos centraremos para el desarrollo del código de
reconocimiento de patrones, además, es un lenguaje que no se necesita enunciar tipos de variables
debido a que Python, los reconoce en el tiempo real de ejecución del código, debido a esto es uno
de los lenguajes con mayor rapidez de creación. Además, tiene la facilidad de combinar distintas
aplicaciones desarrolladas en diferentes plataformas o lenguajes.

3.2.2. Open CV

Es una librería que proporciona una modalidad de trabajo de alto nivel, con respecto al desarrollo
de aplicaciones de visión usando una cámara integrada o externa al dispositivo en tiempo real, posee
una gran variedad de aplicaciones en el campo de la robótica, análisis de datos, en especial en el
reconocimiento de patrones (para lo cual nos enfocaremos en el desarrollo del trabajo), Se puede
encontrar en el lenguaje C++ y debido a que es una librería comercial se puede implementar en el
desarrollo de interfaz de Java, Matlab y Python.

3.2.3. Mediapipe

Siendo una de las librerías más complejas y funcionales, encontramos a Mediapipe, implementada
para reconocer diversos objetos, detección de rostros, entre otros, donde se puede implementar en
el uso de objetos que se encuentran en movimiento. Esta librería es una extensión por Google, es
una plataforma sin costo y se puede utilizar en diferentes plataformas, tales como: Android, iOS,
entre otras.

3.2.3.1. Mediapipe Pose:


Siendo una de las sub-librería más importantes dentro del enfoque de
“Mediapipe”, encontraremos con “Mediapipe Pose”, nos permite reconocer
puntos como referencia, la cual se encarga de poder encontrar 33 puntos
específicamente, a lo largo de nuestro cuerpo con la finalidad de que permita el
reconocimiento total de nuestro cuerpo u objeto a identificar, de tal manera, en
diferencia al media pose, esta sub-librería permite trabajar con archivos de video
y nos ayudar a cuantificar movimientos a la vez nos introduce a la realidad
aumentada; utiliza también máscara que segmenta el cuerpo por capas de los
archivos RGB (Red – Green – Blue) en donde se emplea un método de
investigación que ha ido tomando gran importancia a nivel mundial, siendo esta,
BlazePose.
Dentro de la sub-librería encontramos a dos modelos que ayudan a detectar
mediante fotogramas los movimientos de las personas, estos son:

a) Modelo de detección de poses: ayuda a linealizar mediante puntos en


determinados lugares del cuerpo de las personas.

14
Ilustración 1:Puntos de separación por medio de Mediapipe pose

Ilustración 2:Primeras pruebas

b) Modelo de localización de poses: con la ayuda de una cartografía se


comienza a entender el sistema (es decir la ubicación de los principales
puntos) para proceder a estimar 33 puntos que permiten la localización
exacta de estos.

15
Ilustración 3: Representación de detección de poses por Mediapipe pose

Ilustración 4:Reconocimiento de puntos a lo largo del cuerpo


Fuente: Librería Mediapipe pose

3.2.4. Visual Studio Code

Herramienta de libre acceso para la edición de códigos, además de permitir la ejecución de este
mismo. Trabaja con varios lenguajes de código entre los cuales esta C++, Java y Python, este
último será con el cual lograremos el funcionamiento del servomotor para el movimiento del
brazo articulado.

3.2.5. TensorFlow

Es una biblioteca de software de código abierto, centrado en la aplicación de redes neuronales


(aprendizaje automático), esta biblioteca nos permitirá la aplicación las redes neuronales para el
entrenamiento del sistema en la detección de patrones. Además, trabaja con varios componentes
para su funcionamiento (GPU y CPU) los cuales encontraremos en la aplicación del Arduino o en
cualquier equipo portátil (laptop, móvil).

3.2.5.1. TensorFlow Lite

16
Es un Framework, con la función de implementar este sistema en dispositivos
móviles, proporciona varias herramientas que habilitan el aprendizaje automático
en cualquier dispositivo integrado e IoT.
3.2.6. Machine Learning

Es una rama de la inteligencia artificial, la cual se centra en el desarrollo de modelos, que permitirán
que los equipos aprendan y mejoren constantemente, a través de algoritmos, con la capacidad de
identificar patrones de una gran cantidad de datos y obtener un análisis predictivo de estos.
Actualmente es aplicado en una gran variedad de campos, como es: vehículos inteligentes, Redes
sociales, procesamiento de lenguaje, ciberseguridad y el campo de la medicina (para la predicción
de enfermedades). El Machine learning se divide en 3 categorías:

3.2.6.1. Aprendizaje supervisado


Es una categoría técnica, donde el modelo es entrenado con un conjunto de datos
definidos, es decir, consta de ejemplos de entrada y sus respectivas salidas
deseadas. Su finalidad es que aprenda a realizarlo de forma independiente, para
realizar predicciones con datos desconocidos. Se utiliza en el campo de regresión
donde se busca predecir un valor en un campo numérico.

3.2.6.2. Aprendizaje no supervisado


Es una categoría, donde el modelo es entrenado con un conjunto de datos no
definidos, es decir, al contrario del aprendizaje supervisado, no tiene salidas
deseadas, este modelo busca descubrir patrones sin un previo aprendizaje,
estructuras o relaciones en los datos. Se emplea en la detección de anomalías.

3.2.6.3. Aprendizaje por refuerzo


Ente tipo de aprendizaje, en donde interactúa un agente inteligente, con la finalidad
que aprenda a partir de su propia experiencia, es más conocido por ser un
aprendizaje de prueba y error.

3.2.7. Deep Learning

Para un proceso de múltiples capas donde se busca que el sistema pueda aprender de forma
continua por la retroalimentación, se usa en varias ramas de la inteligencia artificial, centrándonos
en nuestro campo, reconocerá patrones de movimiento de forma compleja para el movimiento de
los controladores.

3.2.8. Puente H

Un puente H es un circuito simple que le permite controlar la dirección de rotación de un motor de


CC. A menudo se utiliza con microcontroladores como Arduino para enviar señales de control a
motores.
Usos principales del puente H:
Utilizado como regulador de corriente para cargas resistivas.
Regulación de voltaje de salida.
Ajuste de carga inductiva actual.
Optimizar la eficiencia de la cadena.
Utilizado como fuente de energía.

17
Por tanto, el puente H es un dispositivo muy útil y utilizado en electrónica. Es un componente
clave en la fabricación de fuentes de alimentación, balastros, motores eléctricos, amplificadores
y sistemas de impulsos eléctricos, y varias otras aplicaciones.
3.2.9. Jumpers

Son cables de fibra óptica, que nos permitirán cerrar el circuito al conectar el microcontrolador,
con el Arduino Uno.

3.2.10. Arduino Uno

Es una placa de desarrollo a código abierto que nos permitirá crear el sistema de movimiento del
servomotor, se utiliza principalmente en desarrollos de electrónica, además de programación.
Tiene entrada analógicas, digitales, además de usarlas como salidas digitales. Posee una gran
cantidad de librerías de uso libre, las cuales facilitaran el desarrollo del sistema de aprendizaje
automático para este sistema.

3.2.11. Brazo Articulado 3D

Como prototipo inicial se implementará un brazo articulado, por creación en una impresora 3D,
para la demostración del brazo de una persona.

3.2.12. Sistemas

3.2.12.1. Sistemas Dinámicos

Describen un conjunto de objetos, variables o componentes que están


evolucionando de forma constante con respecto al tiempo, es decir que no son fijos,
y que suelen presentar modificaciones en su arquitectura, debido a la data que se
va añadiendo; partiendo como idea principal un sistema dinámico parte de un
reposo o de unas condiciones iniciales, pero que al transcurso del tiempo va
evolucionando y cuenta con unas reglas que modifican su comportamiento a
futuro.

Se entiende como sistema, a algo que trabaja con variables de entrada de diferente
interacción que producen señales visibles conocidas como salidas. Este sistema
recibe una especie de estímulo que, al ser manipuladas por el observador, aparecen
salidas y perturbaciones. Estas a su vez se pueden subdividir en dos tipos: Las que
se pueden medir directamente o las que solo pueden observarse su efecto en la
salida. Es preciso señalar que, para el modelado de los sistemas, no es importante
la diferencia entre perturbaciones y las entradas.

Al hablar de sistemas dinámicos nos estamos refiriendo a que el valor de la salida


no solo depende de los valores que brinda la entrada, en el instante analizado. Sino
también de los valores anteriores es esta.
Para poder interactuar con estos sistemas, se necesita saber la forma de cómo sus
variables están relacionadas entre sí.
Partiendo de esto, llamaremos “modelo” a una relación que establecen las variables
a partir de la observación que se le hace. Básicamente nos referimos que los

18
modelos vienen construidos de parte de algo que ya ha sido previamente observado.
Estos datos pueden ser: Gráficos

• Analíticos
• Software
• Mentales

Cabe aclarar que sistemas y modelos son conceptos distintos, pero que si se
relacionan entre sí. Sin embargo, para establecer la implementación de las técnicas
de identificación, se está suponiendo que los datos que han sido obtenidos han sido
generados por reglas matemáticas bien definidas, a lo que llamamos linealización.

Ilustración 5. Representación de un sistema dinámico

En la figura podemos mostrar un sistema que expresa lo que hemos definido


anteriormente. Podemos observar una entrada u, la cual es manipulable. W vendría
a ser las perturbaciones que pueden ser medibles y v, las perturbaciones no
medibles. Además de la salida y.

3.2.13. Procedimientos necesarios para la identificación de sistemas dinámicos

Estos procedimientos involucran técnicas a tener en cuenta, entre ellas:

3.2.13.1. Planificación experimental

En este aspecto nos encargamos de realizar los experimentos necesarios dentro de


los procesos (que pueden ser industriales). Se recomienda que estos experimentos
no necesiten usar señales de entrada especiales. Estos datos, tanto de entradas
como de salida, serán recogidos por un experimento aparte de identificación
diseñado especialmente para que el usuario pueda determinar cuáles son las
señales que se necesitan medir. Además de cuando medirlas y que tipo de señales
se utilizaran

3.2.13.2. Estructuración de modelos.

Aquí lo que se hace es el conocimiento previo que se tiene acerca del sistema.
Este puede representar uno de los pasos más difíciles dentro del proceso de
identificación. En muchos casos se tienen que recurrir a representarlo de manera
de sistema lineal de tipo general

𝐴(𝑞)𝑦(𝑘) = 𝐵(𝑞)𝑢(𝑘) + 𝐶(𝑞)𝑒(𝑘)


19
Donde u es la entrada, e una perturbación e y la salida.

3.2.13.3. Obtención de los parámetros estimados.

Para esto necesitamos datos de entrada y salida del proceso, un criterio y la clase
de modelos.

3.2.13.4. Validar el proceso.

Luego de escoger el modelo a utilizar, se debe probar para poder determinar cuál
será su comportamiento y de qué manera se ajusta al sistema y que tanto se acerca
a nuestros propósitos.

Además de esto su construcción abarca tres elementos básicos.


- Datos
- Conjunto de modelos
- Modelos que puedan ser parametrizados y también ser evaluados usando esos datos.

El estudio de los sistemas dinámicos pueden ser simples o complejos, esto depende de los
disturbios que se presenten y modifiquen su comportamiento, por ende, es recomendable fijar
correctamente los parámetros de inicio, y su estudio, puede implicar analizar cómo cambian las
variables a lo largo del tiempo y cómo se comportan en respuesta a sus condiciones iniciales.

Ilustración 6:Flujograma de la Identificación de sistemas dinámicos

Fuente: Universidad del norte


20
3.2.14. Correlación en sus diferentes arquitecturas

Podemos observar variar arquitecturas en los modelos de la identificación de sistemas no lineales.


Entre ellas encontramos.

3.2.14.1. White Models

El comportamiento del sistema se describe mediante modelos físicos y estimando


parámetros físicos del mismo. Para lograr esto se usan ecuaciones diferenciales
basadas en procesos físicos.
3.2.14.2. Smoke – gray models

Para este tipo de arquitectura, lo que se hace es combinar variables de medidas y


transformaciones no lineales. En este caso también se basan en conocimientos
físicos. Su mayor utilidad es obtener transformaciones no lineales que para el
sistema son importantes.
3.2.14.3. Steel – gray models

Para lograr este modelo se utiliza la linealización de un sistema no lineal, en base


un punto de operación. La utilidad de este sistema radica cuando en un sistema, lo
mostrado es un comportamiento linealizado con regiones del espacio de estado.
3.2.14.4. Slate – gray models

Los bloques son los protagonistas de estos modelos, tanto lineales como no lineales
de manera interconectada. Sirven para obtener la estructura y el comportamiento,
ambos de manera modular.
3.2.14.5. Black Models

Sirven para representar cualquier función no lineal. Abarcan modelos de Volterra,


que a su vez habla sobre modelos no lineales autorregresivos exógenos (NARX).
Además de modelos de espacio no lineales y redes neuronales.

Cada una de las arquitecturas presentadas ofrecen un nivel de complejidad y flexibilidad distintos
en el campo de la identificación de sistemas no lineales. Y como cualquier proceso y/o proyecto, la
elección de una u otra dependerá del objetivo de cada sistema a analizar.

Ilustración 7:Proceso de identificación de un sistema para la obtención de un modelo matemático

21
3.2.15. Análisis de residuos

El análisis de resultados es una herramienta importante dentro del estudio de los sistemas
dinámicos. Pues evalúa la calidad y la validez de un modelo en la identificación de sistemas
dinámicos. Se entiende como residuos a las diferencias que existen entre los valores medidos y los
estimados por el modelo. Esto permite evaluar la calidad del modelo trabajado y reconocer errores
o deficiencias en el modelo analizado.
Incluyen la verificación de la independencia y que tan normales son los residuos. Por su parte
detenta patrones sistemáticos en los residuos. De esta manera se puede detectar cuando un modelo
no está capturando completamente la dinámica del sistema, o por lo contrario no considera los
factores influyentes en los datos.
Además de eso, el análisis de residuos incluye la identificación de los valores atípicos, que pueden
tener un comportamiento significativo en el modelo que ha sido identificado.

3.2.16. Redes Neuronales Artificiales

Con el propósito de trabajar de la misma manera que lo hacen nuestras neuronas, las cuales realizan
varias acciones, en varias situaciones sobre nosotros; es que se crean las Redes neuronales, en donde
se busca imitar de forma precisa o parecida, el funcionamiento de las biológicas y llevarlas a los
campos Lineales y no lineales, para poder realizar estos procesos de forma más eficiente y
optimizada.
Su proceso es similar a las reales, debido a su trabajo paralelo, donde almacenan información y la
utilizan con respecto a las variaciones o situaciones necesarias del proceso. Su función mas común
para el desarrollo de sistemas es su implementación en reconocimientos de patrones (valores de
entrada) donde se optimiza la respuesta requerida (variable de salida).
Mantenido la idea de sus antecesoras como las primeras redes neuronales, estas actualmente
mantienen el procesamiento divido en 3:
Conjunto de sinapsis:
Unión de varias variables de entradas y la neurona, donde se busca mejorar la toma de
decisiones o valores de salida del sistema.
Sumador:
Se adicionan cada variable para el reconocimiento de toda la información necesaria, y
aumentar la toma de decisión con respecto a la variable de entrada. Busca optimizar la
variable de salida.
Función de activación:
Con la información correctamente almacenada y completa, la cual es necesaria para la
clasificación de los patrones (sistemas). Este procesamiento limita la amplitud de salida del
sistema y mantiene en un rango la respuesta necesaria del Sistema utilizado.
Las cuáles serán fundamentales para la implementación en las diferentes aplicaciones en las
variaciones de sistemas sobre las Redes Neuronales (lineales o no lineales).

3.2.16.1. Sistemas Lineales

En el caso de los sistemas lineales, no se suele usar redes neuronales, ya que


existen modelos más simples que pueden suplir a las redes neuronales. Sin
embargo, siempre habrá la posibilidadde usar las redes con fines educativos.

En este caso la arquitectura a usar podría ser la red tipo MLP (Multilayer
22
Perceptron), sin embargo, cabe aclarar que su procedimiento es bastante sencillo
en comparación con los sistemas no lineales.

3.2.16.2. Sistemas Dinámicos

Su funcionalidad se mantiene en casos de sistemas no lineales, debido a su alta


precisión con cualquier valor de entrada, además, de mantener una eficiencia en la
solución de procesos con las diferentes clases de metodologías.
Con respecto al anterior sistema, su respuesta es más simplificado, por lo que es
menos especifico al momento de responder un sistema.

Redes neuronales recurrentes

Permiten la retroalimentación de las redes para que estén en constante actualización


modelando datos temporales, lo que permite que aborden una cantidad de datos en
el campo de la optimización de procesos industriales,obtenemos 2 variables:
• LSTM (Long Short – Term Memory)
Se implementan para la retención de información a corto plazo en un largo
proceso o tiempo, es decir mantiene la información en un largo periodo de
trabajo, por lo que es usado mayormente en el Deep Learning o procesamiento
de secuencias.

• GRU (Gated Recurrent Unit)


Igual que el anterior, mantiene información para un largo proceso, pero de
forma simplificada cuya diferencia es la eficiencia que presenta a comparación
de los LSTM, presenta menos parámetros por lo que la información no es
efectiva en las secuencias de datos necesarias.

Modelos de serie de tiempo con redes neuronales

Para este modelo se usan redes neuronales 1D (CNN 1D) cumplen el método de modelar
la función, además, mantener el proceso por el cual el sistema (redes neuronales) seguirán
reconociendo patrones, a pesar de las variaciones del sistema (tiempo, disturbios), son
común mente usador para sistemas dinámicos por el hecho de responder de forma precisa
a sistemas complejos.

Modelos de Estado Espacio

Los modelos de estado-espacio son una forma común de representar sistemas dinámicos.
Las redes neuronales pueden ser entrenadas para estimar los parámetros de un modelo de
estado-espacio a partir de datos observados. Son común mente usados como sistemas
cajas negras, debido a la alta obtención de datos por medio de reconocimiento de patrones
o varias variables de entrada. Usando la dependencia de variables se puede resumir, hasta
simplificar la arquitectura de un sistema y varias respuestas que mantengan el mismo valor
de precisión.

Identificación de Parámetros con Redes Neuronales

23
Se pueden utilizar redes neuronales para identificar los parámetros de sistemas dinámicos
a partir de datos observados. Esto a menudo implica la optimización de los parámetros de
la red para que se ajusten mejor a los datos observados. Son común mente aplicados a
sistemas Morse o sistemas de patrones, su implementación es amplia y mantiene un
régimen de precisión medio, con respecto a otros, además de tener una rama alta de
aplicaciones en sistemas complejos, con su respectivo entrenamiento, la precisión puede
aumentar.

Aprendizaje por Reforzamiento

El aprendizaje por refuerzo es otra técnica que se puede utilizar en la identificación de


sistemas dinámicos. Las redes neuronales se pueden emplear para aprender políticas
óptimas de control en entornos dinámicos. Usando variables dependientes para redes
convolucionales, son usualmente usados para Deep learning de clasificación de imágenes
de forma secuencial, usados para reconocimientos de imágenes en sistemas amplios de
seguridad o reconocimientos de variables visuales (implementación en sistema de
reconocimientos visuales IA)

Simulación y Optimización

Las redes neuronales pueden utilizarse en la simulación y optimización de sistemas


dinámicos, con el fin de aumentar la precisión del sistema estas poseen variables de forma
que al ser simuladas su respuesta se ve puesta en práctica y variando con respecto a las
variaciones de las variables de salida. Es decir, pueden acelerar la simulación de sistemas
complejos y optimizar parámetros de sistemas

3.2.17. Exosqueleto de rehabilitación

El exoesqueleto es un dispositivo encargado de la rehabilitación motriz de un paciente, en donde es


capaz de realizar la mayor cantidad de movimientos y operaciones por su cuenta, a diferencia de la
de la rehabilitación asistida. Este tipo de rehabilitación está enfocada en personas que, por alguna
causa externa, ya sea ataque cerebrovascular o algún traumatismo, hayan perdido gran porcentaje
de movilidad y presenten menor fuerza en sus músculos.

Por lo general, las extremidades son las partes del cuerpo que más dificultan al paciente ya que, al
perder cierta movilidad, sus actividades cotidianas se ven afectadas y no podrán realizarlas con
normalidad.

Ilustración 8: Exoesqueleto de rehabilitación para brazo derecho


Fuente: Armeospring

24
3.2.17.1. Funcionamiento

El exoesqueleto cuenta con dos partes que se complementan para el correcto


funcionamiento, la parte mecánica, la parte electrónica y de control.

Hardware
Al tratarse de un dispositivo que será usado en el ámbito médico y lo utilizarán pacientes,
el diseño mecánico debe estar enfocado en ser lo más ergonómico posible, sin presentar
molestia alguna en los pacientes, por lo que se trata de utilizar la manufactura aditiva
como solución.
Las férulas que servirán de apoyo ya sea a la extremidad y al sistema de control serán
impresas en 3D.
Un material óptimo para esto es el poliuretano termoplástico (TPU), material resistente y
flexible que permitirá todo tipo de movimientos sin afectar la eficiencia de la terapia.
- Puente H
- Motor
- Jumpers
- Arduino uno
- Brazo articulado 3D

Ilustración 9: Vista general del circuito usado con Arduino

Software

Para el diseño electrónico, sea hardware y software, se pueden utilizar diversos lenguajes
de programación y microprocesadores para poder enviar señales al actuador que será el
encargado de realizar el movimiento principal de la extremidad. Por lo que se opto la
utilización de la herramienta Visual Code que nos permite realizar y ejecutar códigos de
forma rápida y eficiente, con el lenguaje de Python para poder realizar los códigos
necesarios, nos permiten detectar el movimiento de los brazos, (con la herramienta de
detección del cuerpo entero por medio de puntos de Mediapipe pose y la librería integrada
Open CV), eso junto a la GPU del equipo móvil o en este caso Laptop, nos permite
determinar el ángulo de inclinación del brazo (afectado), de la siguiente manera, con la
utilización del software integrado de Arduino y el Símbolo del sistema, los cuales nos
permitirán mover el servomotor (con su respectivo código), replicando el ángulo obtenido
por medio del sistema de reconocimiento.

- Mediapipe
- Tensor Flow
- Visual Code
- Open CV
- Python
- Símbolo del sistema

3.2.17.2. Miembro Superior

El estudio de un dispositivo encargado exclusivamente de rehabilitar el movimiento


de las extremidades superiores de las personas cuenta con varios años de
25
investigación. Inicialmente, los exoesqueletos estaban pensados para uso militar,
pero con el tiempo se empezaron a diseñar exoesqueletos en el ámbito de la
medicina.

Existen diversos tipos de exoesqueletos rehabilitación como exoesqueleto de pierna


completa, tobillo-pie, cadera-rodilla, de mano, entre otros. Sin embargo, las
aplicaciones de sistemas con interfaces complejas se utilizan y estudian
mayormente en los exoesqueletos de rehabilitación de miembro superior, al
presentar menor dimensiones que las extremidades inferiores y menor peso.

Además, en la zona de brazo y antebrazo, se ha comprobado que, si se realiza de


manera continua y correcta las terapias durante los primeros 6 meses, el paciente
podrá recuperar la movilidad y fuerza hasta un 90%.

3.2.18. Neuroplasticidad

Teniendo en cuenta los tipos de exoesqueletos y su funcionamiento, debemos entender como este
movimiento programado y controlado por una red neuronal, va a ayudar al paciente.

Cuando se produce un ataque cerebrovascular, se tiene una ausencia de irrigación sanguínea, por lo
que se produce una muerte neuronal en 2 a 3 minutos. Esto hace que las neuronas encargadas de
mandarles señales a diversas zonas del cuerpo dejen de funcionar, lo que produce una falla en la
movilidad de las personas, en los casos más graves se produce la hemiplejia, lo que indica
inmovilidad del musculo, lo cual es casi irreversible.

En este caso, el exoesqueleto de rehabilitación será el encargado de generar la neuroplasticidad, la


cual es la capacidad que presenta el cerebro para utilizar otras neuronas que no se hayan visto
afectadas por el infarto cerebral, y en cierto sentido reemplazarlas y estimularlas con el movimiento
del músculo y extremidad generado por el exoesqueleto previamente programado.

26
Capítulo 4

4. Metodología, Materiales y procedimiento

4.1. Micromotor DC N20 12V/100RPM

El micromotor DC N20 12V/100RPM es un tipo de motor que se usa comúnmente en aplicaciones que
requieren control de posición y movimiento, como robots, vehículos teledirigidos, aviones modelo y
otros proyectos electrónicos y robóticos. Algunas de las características técnicas comunes del
micromotor DC N20 12V/100RPM son las siguientes:
Tipo de motor
Se trata de un motor (Micromotor) de corriente continua (DC).

Tensión de operación
12 voltios DC (V).

Velocidad de operación
100 revoluciones por minuto (RPM).

Caja Reductora
Este micromotor tiene una caja reductora que tiene una relación de reducción de 300:1. La caja
reductora se construyó para aumentar el par de torsión del motor y reducir la velocidad de salida.
La relación de reducción de 300:1 en este caso significa que la velocidad de salida es trescientos
veces menor que la velocidad del motor sin la reductora. Esto permite producir un torque (par de
torsión) excepcional y una velocidad regular de 100 RPM.

Torque
El torque nominal de este micromotor es de 2.0 Kg·cm. Esto significa que puede aplicar una fuerza
de torsión de hasta 2.0 kilogramos por centímetro en las condiciones ideales.

Velocidad Angular
La velocidad angular nominal es de 100 RPM (revoluciones por minuto). Con una carga, la
velocidad puede reducirse a alrededor de 80 RPM.

Voltaje de Operación
El motor funciona con un voltaje nominal de 12V DC (corriente continua).

Consumo de Corriente
El consumo de corriente varía según las condiciones de funcionamiento:

Sin carga
60 mA.

Nominal
200 mA.

Eje detenido
600 mA (pico).

Eje de Salida
El micromotor tiene un eje de salida con un diámetro de 3 mm y una longitud de 10 mm.

27
Dimensiones
Las dimensiones del motor son 24 x 10 x 12 mm, lo que lo hace compacto y adecuado para
aplicaciones en robótica.

Peso
El peso del micromotor es de 40 gramos, lo que lo convierte en un componente relativamente ligero.

4.1.1. Capacidad de Carga del Micromotor DC N20 12V/100RPM en el Hardware

El torque del motor, la longitud del brazo robótico, el peso del brazo humano y la distancia desde
el punto de pivote son solo algunos de los factores que determinan la capacidad de carga de un
micromotor DC N20 de 12V/100RPM en un brazo robótico que busca levantar un brazo humano.
Para hacer frente a cargas adicionales inesperadas, es esencial incluir un margen de seguridad en
los cálculos. Un funcionamiento seguro depende de un control y retroalimentación precisos.

4.2. Arduino Uno

El Arduino Uno es una placa de desarrollo de código abierto que permite la creación de proyectos
electrónicos interactivos y automatizados con un microcontrolador. Es una herramienta popular para
entusiastas y profesionales que quieren crear proyectos de automatización y robótica y diseñar sistemas
electrónicos. Se puede programar con el software Arduino IDE y ofrece una amplia gama de pines de
entrada/salida y capacidades de comunicación para controlar componentes y sensores. Algunas de sus
especificaciones son las siguientes:

4.2.1. Microcontrolador
El Arduino Uno utiliza un microcontrolador ATMega328P de la familia AVR.

4.2.2. Voltaje de Alimentación


Puede ser alimentado con un voltaje de 5V a través de un cable USB o de 7,5-12V a través de un
adaptador externo.

4.2.3. Entradas/Salidas Digitales


Es compatible con 14 pines de entrada/salidas digitales, de los cuales 6 pueden utilizarse como
salidas de modulación de ancho de pulso (PWM).

4.2.4. Entradas Analógicas


Contiene 6 pines de entrada analógica para medir señales analógicas.

4.2.5. Memoria Flash


Tiene una memoria flash de 32 KB para almacenar el programa (0,5 para bootloader), 2KB RAM
y 1KB Eeprom.

4.2.6. SRAM
Dispone de 2 KB de memoria SRAM para variables y datos en tiempo de ejecución.

4.2.7. EEPROM
Incluye 1 KB de memoria EEPROM para almacenar datos de manera no volátil.

4.2.8. Reloj
El reloj de trabajo funciona a 16 MHz.

28
4.2.9. Interfaces de Comunicación
Contiene un puerto serie (UART) para comunicación serie con otros dispositivos y un puerto USB
para programación y comunicación con computadoras.

4.2.10. Tamaño
El Arduino Uno tiene dimensiones compactas, aproximadamente 68.6 mm x 53.3 mm.

4.3. Puente H (Módulo L298N)

El módulo L298N es un controlador de motor dual de alta potencia que se utiliza en proyectos
electrónicos y robóticos para controlar motores de corriente continua (DC). La siguiente información
es relevante sobre el módulo L298N:

4.3.1. Función Principal


El módulo L298N funciona como un puente H, lo que le permite controlar la dirección y la
velocidad de giro de los motores DC. Es particularmente útil para motores que necesitan más
corriente que el Arduino puede proporcionar directamente.

4.3.2. Control de Dirección y Velocidad


El módulo L298N permite que los motores cambien su polaridad, lo que determina su dirección de
giro. La señal de modulación de ancho de pulso, o PWM, que se envía al módulo también permite
ajustar la velocidad del motor.

4.3.3. Conexión con Arduino


Se envían señales desde un Arduino a los pines de entrada del módulo L298N para controlar la
dirección y la velocidad del motor. El Arduino debe programarse para enviar las señales correctas.

4.3.4. Conexiones
Los pines de entrada/salida permiten la conexión del módulo L298N a motores y fuentes de
alimentación externas. Además, está equipado con pines de habilitación (EN), que pueden ser
utilizados para activar o desactivar la salida del motor.

4.3.5. Características Eléctricas


El módulo L298N soporta voltajes de alimentación de 5V a 35V y puede manejar corrientes de
hasta 2 amperios por canal, lo que lo hace adecuado para una amplia gama de aplicaciones.

4.3.6. Aplicaciones Comunes


El módulo L298N se utiliza en una amplia gama de aplicaciones, incluida la automatización, la
robótica, los vehículos teledirigidos y los proyectos DIY. Es ideal para controlar motores en
proyectos que requieren control de movimiento preciso y preciso.

4.3.7. Protección de Retroalimentación


Los diodos de protección contra retroalimentación, también conocidos como diodos de rueda libre,
están incluidos en el módulo L298N. Estos diodos protegen al módulo contra los voltajes inversos
que producen los motores cuando se detienen.

4.4. Selección de Materiales:


La selección de los materiales utilizados en la construcción del brazo robótico es un aspecto crítico en
su diseño y desempeño. Los materiales escogidos deben cumplir con requisitos fundamentales, como
la flexibilidad, ligereza, resistencia y durabilidad del brazo robótico.

29
4.4.1. Consideraciones en la Selección de Materiales:
4.4.1.1. Peso y Portabilidad:
Los materiales deben ser livianos para facilitar el transporte y la movilidad del
brazo robótico, especialmente si se usa como dispositivo de terapia portátil.

4.4.1.2. Resistencia Mecánica:


Los materiales deben ser lo suficientemente resistentes como para soportar las
cargas y fuerzas aplicadas durante la terapia de rehabilitación sin deformarse ni
romperse.

4.4.1.3. Durabilidad:
Los materiales deben ser duraderos y capaces de resistir el desgaste a largo plazo
para asegurar una vida útil prolongada del brazo robótico.

4.4.1.4. Facilidad de Fabricación:


Los materiales deben ser fáciles de trabajar y mecanizar para permitir la
construcción precisa del brazo robótico.

4.4.1.5. Costo:
Los costos de los materiales deben considerarse dentro del presupuesto del
proyecto.

La elección de los materiales adecuados contribuirá significativamente al éxito y la eficacia del


brazo robótico en el contexto de la terapia de rehabilitación, asegurando que sea seguro, funcional
y duradero.

4.4.2. Materiales Recomendados


A continuación, se presentan los materiales recomendados y las razones detrás de su elección:
4.4.2.1. Aleaciones de Aluminio:
El aluminio es ampliamente preferido en la fabricación de brazos robóticos debido
a su combinación de ligereza y resistencia. Esto facilita el transporte y la movilidad
del brazo, mientras garantiza que sea lo suficientemente fuerte para soportar las
cargas y fuerzas aplicadas durante la terapia de rehabilitación. Además, el aluminio
es resistente a la corrosión, lo que prolonga la vida útil del brazo robótico.
4.4.2.2. Plásticos de Alta Resistencia:
Plásticos de alta resistencia, como el polietileno de alta densidad (HDPE) o el
policarbonato, son adecuados para componentes que no requieren la misma
resistencia que la estructura principal del brazo. Estos materiales son livianos,
fáciles de trabajar y pueden usarse para cubrir o proteger partes del brazo robótico.
También son útiles en componentes que necesitan ser aislantes eléctricos.

4.4.2.3. Componentes Metálicos para Articulaciones:


En las articulaciones del brazo robótico, donde se aplican fuerzas considerables, es
necesario utilizar materiales metálicos duraderos, como acero inoxidable o
aleaciones de acero. Esto asegura la integridad estructural y previene
deformaciones o desgaste prematuro en las áreas de mayor estrés.

4.4.2.4. Componentes de Impresión 3D:


La impresión 3D permite la fabricación de componentes personalizados con
geometrías complejas y detalles específicos para el proyecto. Plásticos de
30
impresión 3D, como el PLA o el ABS, son útiles para crear piezas no estructurales,
como soportes y adaptadores.

4.4.3. Material recomendado y las razones detrás de su elección

4.4.3.1. Filamento TPU


Debido a su flexibilidad y durabilidad, el filamento de poliuretano termoplástico
(TPU) es un material popular para la impresión 3D. Aquí hay algunos detalles
importantes sobre el filamento de TPU:
Flexibilidad
El TPU es conocido por su alta elasticidad y flexibilidad. Esto lo convierte en el mejor lugar
para crear piezas que pueden doblarse o torcerse sin dañarse. Puede usarse para crear
prototipos, calzado, fundas de teléfonos móviles, sellos, juntas, neumáticos de juguetes y
otros artículos que requieren cierta flexibilidad.

Dureza Shore
La dureza del TPU se mide utilizando la escala de dureza Shore A, que va desde 0 (muy
blando) hasta 100 (duro). La dureza Shore del TPU suele variar, lo que permite a los
diseñadores elegir el tipo de TPU que mejor se adapte a sus necesidades.

Proceso de impresión 3D
Las impresoras 3D con boquillas calientes y camas calientes suelen usar TPU para
imprimir. La temperatura de la cama caliente suele estar entre 50-60°C, mientras que la
temperatura de la boquilla suele estar entre 200-230°C. Para evitar problemas como atascos
en la boquilla, es esencial configurar adecuadamente la impresora 3D porque el TPU es
sensible a la retracción.

Buenas propiedades de agarre y tracción


La superficie del TPU mejora el agarre y la tracción, lo que lo hace útil para suelas de
calzado deportivo y otros artículos que requieren una gran cantidad de tracción.

Resistencia a los productos químicos


El TPU se adapta bien en aplicaciones en las que las piezas impresas pueden estar en
contacto con líquidos o sustancias químicas porque es resistente a muchos productos
químicos.

Resistencia a la Abrasión
El TPU es ideal para aplicaciones en las que las piezas están en contacto constante con
superficies duras o rugosas porque es resistente a la abrasión. Por ejemplo, las ruedas y
otros componentes de máquinas susceptibles al desgaste se fabrican con frecuencia con
piezas impresas en TPU.

Disponibilidad
Varios fabricantes de filamentos ofrecen TPU en una amplia gama de colores y marcas.
Esto significa que los usuarios pueden elegir entre una variedad de opciones según sus
necesidades.

31
Capítulo 5

5. Desarrollo, Experimentación y resultados


5.1. Python
Se han desarrollado por el momento cuatro códigos en Python donde cada uno explica secuencialmente
el proceso para poder captar la señal de entrada a través de imágenes RGB, y como salida obtener un
ángulo en grados sexagesimales visualizado en pantalla.

5.1.1. Código Mediapipe


Como ya se ha mencionado, la librería a utilizar es la de Mediapipe con solución Pose, lo primero
que se hace es llamar a las librerías a utilizar. Además de la complejidad del modelo, el valor
mínimo de confianza para que la detección se realice de manera correcta, etc.

Ilustración 10: Código Mediapipe

Ilustración 11: Demostración del código de Mediapipe


32
Como podemos observar, estamos obteniendo un total de 33 puntos en los que el cuerpo está
siendo dividido, incluyendo brazos, piernas, cabeza, torso, manos y pies.

Ilustración 12: Representación de los 33 puntos generados por mediapipe

Como nuestro objetivo está limitado solo a la identificación del brazo derecho, hemos reducido el
uso de los 32 puntos a solamente tres de interés, específicamente el 11 el 13 y el 15 (hombro, codo
y muñeca derechas respectivamente)

Para poder lograr la selección de puntos requeridos además de la visualización del ángulo en
pantalla, se trabajó sobre el mismo código de Mediapipe, cuyas variaciones explicaremos a
continuación.

5.1.2. Código para la obtención del ángulo


Además de las librerías usadas anteriormente, se añaden la librería numpy. Esta librería tiene como
especialidad el cálculo numérico y análisis de datos de gran volumen.

Ilustración 13: Exportación de librerías necesarias

Procedemos a la señalización de los tres puntos de interés que mencionamos en el apartado


anterior. [(𝑥1, 𝑦1); (𝑥2, 𝑦2); (𝑥3, 𝑦3)]

Ilustración 14: Separación de los puntos necesarios para el brazo derecho

Además, estableceremos una relación entre esos puntos, de manera que formen un triángulo entre
33
ellos, para facilitar el cálculo del ángulo.

Ilustración 15: Relación de los puntos señalizados

Finalmente, se calculará el ángulo con una relación de 𝑎𝑐𝑜𝑠, entre las rectas que hemos definido

Ilustración 16: Calculo para la obtención del ángulo del brazo deseado

Ilustración 17: Demostración de la obtención del ángulo en el brazo deseado

De igual manera podemos controlar la estética y visualización del triángulo, colocando códigos de
colores, transparencia, colores de los puntos, etc.

Ilustración 18: Código para el diseño estético

34
5.2. Arduino

A continuación, se presenta el código utilizado para controlar el micromotor (DC N20), este código
permite la entrada, de los rangos establecidos para la selección de variables de entrada (“m” o “p”).

Ilustración 19: Código Arduino para controlar el micromotor DC N20

Con la función “Int”, definimos la entrada de ángulos enteros y los puertos conectados al Arduino y al
puente H. Para la función “setup ()” se indica una velocidad de 9600 y los pines definidos como “IN1
y IN2”.

Ilustración 20: Código de ángulo entero y entradas al Arduino

35
En el caso del bucle “void loop()” se establece que el Arduino recibirá datos del monitor serie, en donde
el valor de entrada está definido previamente por Python.
Finalmente, el “serial.read()” verificará si hay más datos en el puerto serial y luego de esto iniciará el
bucle nuevamente.

Ilustración 21: Detección de datos de entrada e inicio del bucle

Con las variables “m” y “p” definidas, se configuran de la siguiente manera; donde si esta detecta el
valor de “M”, se activa el “digitalWrite ()”, para el IN1, lo que permitirá que este active el pin de giro
del puente H, en sentido horario y si es “P”, activara el otro pin, provocando que gire en el sentido
contrario.

Ilustración 22: Activación de giro del micromotor

Ilustración 23: Final del código Arduino para evitar lecturas adicionales

5.3. CMD
Para asegurar la conexión entre Python y la placa de Arduino, se utiliza el Símbolo del sistema (CMD),
en donde se colocan los siguientes comandos:

Ilustración 24: Conexión Python y Arduino por el CMD

36
En donde se accede al intérprete de Python y se importa la librería “serial” para iniciar la comunicación
con el puerto serial conectado al Arduino. Por lo que se establece una variable “ser” donde se definirá
el puerto, en este caso “COM9”.
Además, se colocarán los 9600 Baudios que corresponde a la velocidad con la que se transmitirán la
señal. Esta señal es la misma que se colocó en el código de Arduino y lo podemos comprobar al
momento de acceder al monitor Serie.

Ilustración 25: Comprobación del Python y Arduino

Finalmente se ejecuta el comando “ser.write(str(angle).encode())”, donde “angle” es el ángulo que se


desea ubicar en el servomotor.

5.4. Codcheto.

Para el control del servomotor con el lenguaje de programación Python, utilizaremos el código
programado anteriormente el cual nos permite hallar los ángulos y le agregaremos los comandos
utilizados en el Símbolo del sistema y librerías para que sea compatible con el sistema embebido.

Se importan las librerías “serial” y “time” para poder establecer el comando del cmd utilizado
anteriormente. “ser=serial.Serial(‘COM9’, 9600, timeout=1)”. Al igual que en el cmd, este comando
indicará el puerto utilizado y la velocidad de la señal, la cual es la misma que la del Arduino utilizado.

Ilustración 26: Importación de librerías de Python para el comando CMD

37
En la línea 54, después de calcular el ángulo entre el brazo y antebrazo, se coloca una nueva variable
“angInt”. Esta convertirá todos los valores de los ángulos a enteros, con el fin de enviar menos
información al arduino y no sobrecargarlo.
Posteriormente se agrega el comando utilizado anterior en el cmd “ser.write(str(angInt).encode())”,
esto para enviar los datos de “angInt” al arduino y servomotor, donde finalmente ejecutará el
movimiento de los ángulos.

Ilustración 27: Codigo para movimeinto del servomotor con el codigo Python

Finalmente se coloca el comando “ser.close( )” para cerrar el puerto serial y evitar inconvenientes en
el funcionamiento del código cuando se vuelva a subir.

Ilustración 28: Cierre del puerto serial

Para ejecutar el código, utilizaremos el símbolo del sistema en dos pasos. Primero ingresamos la carpeta
donde se encuentra guardado el archivo del código final en Python con el comando cd “Nombre de la
carpeta” en este caso cd “AL RITMO DE SAC”.
Por último, ejecutamos el código llamando al intérprete de Python y colocando el nombre del archivo.

Ilustración 29: Proceso de guardado y ejecución en CMD

5.5. Funcionamiento del Hardware

El corazón de nuestro brazo robótico es el Arduino Uno, que actúa como el controlador central. Este
dispositivo ejecuta un programa diseñado para definir y coordinar los movimientos del brazo robótico.
A través del software, el Arduino Uno recibe y procesa instrucciones que indican cómo el brazo debe
moverse.

38
Ilustración 30: Arduino Uno

La fuerza motriz detrás de los movimientos del brazo proviene del micromotor DC N20 de
12V/100RPM. Este motor es la fuente principal de potencia, girando para proporcionar la fuerza
necesaria que impulsa el brazo robótico en sus acciones. Su función con la rotación es la responsable
de alargar o acortar el brazo. Este alargamiento o acortamiento del brazo se logra mediante una varilla
sinfín conectada al motor, la cual despliega o retrae el brazo en respuesta a las señales del Arduino Uno.

Ilustración 31: Micromotor conectado a la varilla

La coordinación del motor y la dirección de su movimiento se lleva a cabo gracias al módulo L298N,
que opera como un puente H. Este módulo permite controlar tanto la velocidad como la dirección del
motor. El Arduino Uno envía señales al módulo L298N para indicar la velocidad deseada y la dirección
de giro, lo que permite movimientos precisos y controlados del brazo robótico.

39
Ilustración 32: Puente H

La interacción entre estos componentes es crucial para el funcionamiento del brazo robótico. El
programa del Arduino Uno controla el movimiento del motor principal y de la varilla sinfín, lo que a
su vez afecta la longitud del brazo robótico. Finalmente tenemos a las férulas de TPU, las cuales van
en el brazo y antebrazo, conectándose por medio de la varilla sinfín y proporcionan una estructura
flexible que permite que el brazo robótico se doble y flexione en el sentido programado.

Ilustración 33: Férulas TPU

La combinación de estos componentes y su interacción armoniosa permite que el brazo robótico realice
el movimiento controlado y preciso, lo que lo convierte en una herramienta eficiente y versátil para
llevar a cabo la tarea de ser una ayuda para pacientes con paresia.

Ilustración 34:Exoesquleto de brazo derecho

40
Capítulo 6

6. Análisis de resultados
Análisis de resultados

Luego de realizar todas las conexiones del Arduino al pistón, se implementó el prototipo en un integrante
del grupo y se realizaron pruebas de todo el sistema.
Con ayuda del Símbolo del sistema (cmd), se ejecuta código en Python que contiene las librerías encargadas
del reconocimiento del ángulo entre el brazo y antebrazo.
Este código ejecutado activa la cámara e identifica los ángulos entre 30 y 90 grados asignándole una letra
“M” y enviándola al puerto serial del Arduino UNO. En el código de Arduino, esta letra enviada indica que
el motor implementado en el pistón se moverá en un sentido, lo cual hará que el pistón reduzca su tamaño
y que el brazo se contraiga.
Por otro lado, si la cámara detecta un ángulo en el rango de 90 a 180 se enviará una letra “P” al monitor
serial, haciendo que el motor del pistón gire en el sentido contrario, lo cual aumentará su tamaño y hará que
el brazo se estire, el tiempo que se mantenga en este rango de ángulos.
El movimiento de este pistón se realiza de manera inmediata ya que el monitor serial envía de manera
inmediata las señales al puente H haciendo que el cambio de sentido o el giro del motor no se vea
interrumpido.

Problemas durante el desarrollo y soluciones brindadas

Se presenta una lista de los resultados obtenidos con las problemáticas y soluciones que se les
brindaron a cada uno de estos.

Problema 1
Control del Motor y Comunicación entre Python y Arduino

Inicialmente, el código de Arduino no respondía correctamente a los valores enviados desde


Python, y se requería abrir y cerrar el Monitor Serie de Arduino manualmente para que funcione.
Se realizaron las siguientes modificaciones para resolver este problema:
• Se implementó la función `Serial.parseInt() ` en Arduino para interpretar y utilizar los
datos enviados desde Python.
• Se añadió un bucle en Arduino para limpiar datos adicionales del puerto serie y evitar
bloqueos.
• Se ajustó la estructura del código Arduino para que la comunicación serie se establezca
en el método `setup()` en lugar de `loop()`, permitiendo que Arduino esté listo para recibir
datos automáticamente al arrancar.
• Se consideraron opciones para mantener abierto el Monitor Serie de Arduino mientras se
ejecuta Python.
Problema 2
Variables y Comunicación

Hubo confusión inicial sobre cómo conectar las variables `angint` en Python y Arduino.
Para conectar las variables `angint` en ambos programas, se aseguró que ambas utilizaran el mismo
nombre de variable y que el valor enviado desde Python se almacenara en `angint` en Arduino.
41
Problema 3
Indicación de la Dirección del Motor

Inicialmente, no había una indicación clara de la dirección en la que el motor debía girar.
Para esto se implementó una solución creativa utilizando letras "M" y "P" en lugar de valores
numéricos para indicar la dirección del motor. Estas letras se envían desde Python y se utilizan en
Arduino para controlar el motor en el sentido deseado.

Se identificaron problemas relacionados con la comunicación entre Python y Arduino, la


configuración de Arduino, el control del motor y la interpretación de los datos enviados. Se
implementaron soluciones como la configuración en `setup()`, el uso de `Serial.parseInt() `, y la
utilización de letras para indicar la dirección del motor. El código se ajustó y se resolvieron los
problemas, lo que permitió controlar el motor con éxito.

42
Capítulo 7

7. Conclusiones

El servomotor MG995 es esencial en la configuración del diseño del hardware del exoesqueleto de
rehabilitación. Con su capacidad de carga, este servomotor proporciona la fuerza de torsión necesaria para
permitir movimientos precisos y controlados en la articulación del exoesqueleto. Además, su tamaño
compacto, peso ligero y facilidad de conexión lo hacen adecuado para su integración en dispositivos de
rehabilitación.

Las redes neuronales pueden ayudar en la identificación de patrones de movimiento y personalizar la terapia
para maximizar los resultados de rehabilitación. Al utilizar algoritmos de aprendizaje automático, las redes
neuronales pueden analizar grandes cantidades de datos y reconocer patrones complejos en los movimientos
del paciente. El uso de herramientas y tecnologías como Python, TensorFlow, OpenCV, Arduino y servo
motor es común en el proceso de identificación de sistemas dinámicos. Estas herramientas permiten capturar
y procesar datos, implementar algoritmos de aprendizaje automático y controlar los movimientos del
exoesqueleto de rehabilitación. Esto permite adaptar la terapia a las necesidades individuales de cada
paciente, lo que puede mejorar la eficacia de la rehabilitación.

El proyecto presenta la viabilidad de poder controlar el prototipo de brazo, usando una función espejo que
a su vez utiliza la imagen de una persona como modelo de entrada. Además, la interacción entre Python y
Arduino permite la interacción directa y efectiva entre la imagen que es capturada y el movimiento del
brazo mecánico. El enfoque terapéutico de la función espejo, hace que la experiencia de la terapia
ocupacional sea más intuitiva y personalizada. De esta manera se adapta a las necesidades individúales del
paciente, incrementando la efectividad de las sesiones terapéuticas.

Para lograr una respuesta eficiente y eficaz del sistema de reconocimiento de patrones por medio de redes
neuronales, es necesario una cantidad de datos necesarios para el entrenamiento de este sistema, en este
caso, es Mediapipe, pero incluso este tiene limitaciones, por lo que para una base de reconocimiento
completa es necesaria una base de datos donde esta puede entrenar con datos nuevos, hasta la etapa de
predecir imágenes de forma compleja o no vistas.

El diseño y control de sistemas dinámicos se presenta con gran importancia en la sociedad, esto se da porque
se puede diseñar según los requisitos que el usuario quiere que se encuentren los resultados, esto se da con
la ayuda de las librerías que juegan un papel importante, en nuestro caso, implementaremos Mediapipe que
es una librería propia de Google que permite la interacción eficaz de diversos modelos, en donde permite
también inferir del comportamiento de estos cuando están en movimiento. Tomando en cuenta los requisitos
que se plantean al inicio para interactuar de la mejor manera.

Este proyecto permite seguir realizando investigaciones en el mismo ámbito y la implementación de


dispositivos o nuevas tecnologías como la incorporación de sensores de seguimiento de movimiento, la
optimización de la precisión y la implementación de algoritmos de aprendizaje automático para mejorar la
adaptabilidad del sistema.

El control de un exoesqueleto de rehabilitación o brazo mecánico a través de Mediapipe y un sistema


embebido como lo es Arduino, representa una oportunidad a los pacientes que presentan dificultades para
asistir a una terapia de rehabilitación tradicional. Haciendo que este sistema vuelva más eficientes y menos
costoso el tratamiento.

43
8. Bibliografía

• "Probabilidad y Estadística para Ingeniería y Ciencias" de Jay L. Devore


[2] Estimate parameters of ARMAX, ARIMAX, ARMA, or ARIMA model using time-domain
data - MATLAB Armax - MathWorks América Latina. (s. f.-b).
https://la.mathworks.com/help/ident/ref/armax.html
[3] Sistemas de control de redes neuronales - MATLAB & SimulInk - MathWorks América
Latina. (s. f.). https://la.mathworks.com/help/deeplearning/neural-network-control-
systems.html
• ¿Qué es deep learning? (s. f.). SAS. https://www.sas.com/es_pe/insights/analytics/deep-
learning.html#:~:text=El%20deep%20learning%20es%20un,de%20im%C3%A1genes%20o
%20hacer%20predicciones.
• ¿Qué es Python? - Explicación del lenguaje Python - AWS. (s. f.). Amazon Web Services, Inc.
https://aws.amazon.com/es/what-
is/python/#:~:text=Python%20es%20un%20lenguaje%20interpretado,en%20el%20c%C3%B
3digo%20con%20rapidez.
• 3,6K Resultados de la búsqueda de modelos 3D de impresión en 3D con la(s) palabra(s) clave
“Brazo”・CulTS. (s. f.). Cults 3D.
https://cults3d.com/es/b%C3%BAsqueda?only_free=true&page=3&q=brazo
• Accidente cerebrovascular: MedlinePlus Enciclopedia Médica.
(s. f.).https://medlineplus.gov/spanish/ency/article/000726.htm
• Apéndice 3. Señales analógicas de salida en arduino (PWM) - CNB. (s. f.).
https://cnbguatemala.org/wiki/Manual_de_programaci%C3%B3n_Arduino/Ap%C3%A9ndic
e_3._Se%C3%B1ales_anal%C3%B3gicas_de_salida_en_Arduino_(PWM)#:~:text=En%20A
rduino%20la%20se%C3%B1al%20de,utilizando%20la%20capacidad%20del%20microproce
sador.
• Boesch, G. (2021). TensorFlow Lite – Real-Time Computer Vision on edge Devices (2022).
viso.ai. https://viso.ai/edge-ai/tensorflow-
lite/#:~:text=TensorFlow%20Lite%20provides%20a%20set,Android%2C%20iOS%2C%20a
nd%20MCU.
• Chong, J. Y. (2023, 30 agosto). Introducción a los accidentes cerebrovasculares. Manual MSD
versión para público general. https://www.msdmanuals.com/es-pe/hogar/enfermedades-
cerebrales,-medulares-y-nerviosas/accidente-cerebrovascular-acv/introducci%C3%B3n-a-los-
accidentes-cerebrovasculares
• Corporativa, I. (s. f.). Descubre los principales beneficios del machine learning. Iberdrola.
https://www.iberdrola.com/innovacion/machine-learning-aprendizaje-
automatico#:~:text=%C2%BFQu%C3%A9%20es%20el%20%27machine%20learning,elabor
ar%20predicciones%20(an%C3%A1lisis%20predictivo).
• DaISY: the Datasets. (s. f.). https://homes.esat.kuleuven.be/~smc/daisy/daisydata.html
• DaISY: the Datasets. (s. f.). https://homes.esat.kuleuven.be/~smc/daisy/daisydata.html
Estadística para Ingenieros y Científicos" de William Navidi.
• Fernández, Y. (2022). Qué es arduino, cómo funciona y qué puedes hacer con uno. Xataka.
https://www.xataka.com/basics/que-arduino-como-funciona-que-puedes-hacer-
uno#:~:text=Arduino%20es%20una%20plataforma%20de,para%20los%20creadores%20y%2
0desarrolladores.
• Free CAD designs, files & 3D models | The GrabCAD Community Library. (s. f.).
https://grabcad.com/library/robot-arm-81
• Ghanbari, S., Ashtyani, Z. P., & Masouleh, M. T. (2022, May). User identification based on
44
hand geometrical biometrics using media-pipe. In 2022 30th International Conference on
Electrical Engineering (ICEE) (pp. 373-378). IEEE.
• Hackster.io. (s. f.). OpenCV AI Competition 2023. https://www.hackster.io/contests/opencv-
ai-competition-2023
• Ing. Harazty, G. H. P. (2014). Identificación de sistemas fisicos mediante redes neuronales. IPN
Citedi.
• Ju1ce. (s. f.). Releases · Ju1ce/Mediapipe-VR-Fullbody-Tracking. GitHub.
https://github.com/ju1ce/Mediapipe-VR-Fullbody-Tracking/releases
• Jumpers de fibra óptica y tipos de conectores. (2022, 22 junio). FiebreMex.
https://fibremex.com/fibra-optica/views/Blog/detalle.php?id=151&nom=jumpers-de-fibra-
optica-y-tipos-de-
conectores#:~:text=Como%20seguro%20sabes%2C%20cuando%20hablamos,requiera)%20e
n%20los%20dos%20extremos.
• Ljung, L. (1999). System Identification: Theory for the User. Prentice Hall.
• Papoulis, A., & Pillai, S. U. (2002). Probability, random variables, and stochastic processes.
McGraw-Hill
• Pose Landmark Detection Guide for Python. (s. f.). Google for Developers.
https://developers.google.com/mediapipe/solutions/vision/pose_landmarker/python
• Rivas Asanza, W. R. A. (2017). Redes neuronales aplicadas en reconocimiento de patrones.
Universidad técnica Machala.
Schoukens, J., & Ljung, L. (2019). Nonlinear System Identification: A User-Oriented
RoadMap.IEEE Control Systems Magazine, 39(6), 28-45.
• Wikipedia contributors. (2023). Long short-term memory. Wikipedia.
https://en.wikipedia.org/wiki/Long_short-
term_memory#:~:text=The%20Long%20Short%2DTerm%20Memory,gate%20and%20a%20
forget%20gate.
• Zamarreño, J. M. Z. (s. f.). RED NEURONAL ESTRUCTURADA EN EL ESPACIO DE
ESTADOS COMO MODELO DE CAJA GRIS. xL Jornadas de Automática.

45
Gestión del proyecto

Id Modo Nombre de tarea Duración Comienzo Fin


de septiembre 2023 octubre 2023 noviembre 2023
tarea 15 17 19 21 23 25 27 29 31 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 1 3 5 7 9 1

1 1. Gestión de Proyectos 13 días jue 17/8/23 lun 4/9/23

2 1.1.- Planificación del trabajo 5 días jue 17/8/23 mié 23/8/23


3 1.2.- Planificación del trabajo: "Idea del proyecto" 3 días mié 23/8/23 vie 25/8/23
4 1.3.- Planificación del trabajo: Asignación de tareas 4 días sáb 26/8/23 mié 30/8/23
5 1.4.- Planificación del trabajo: Diagrama de Gantt 3 días jue 31/8/23 lun 4/9/23
6 2. Fase 1: Definición de requerimientos 8 días mar 5/9/23 jue 14/9/23
7 2.1.- Planteamiento del problema
3 días mar 5/9/23 jue 7/9/23

8 2.2.- Consenso de ideas teorícas 4 días jue 7/9/23 mar 12/9/23

9 2.3.- Análisis de las diversas aplciaciones para NN 2 días mar 12/9/23 mié 13/9/23
10 2.4.- Consulta de diversas dataset
1 día jue 14/9/23 jue 14/9/23
11 3. Documentación previa 2 días jue 14/9/23 vie 15/9/23
12 3.1.- EDT: Estructura Desglosable de trabajo
1 día jue 14/9/23 jue 14/9/23
13 3.2.- Revisión del primer informe
14 3.3.- Entrega del primer informe 1 día jue 14/9/23 jue 14/9/23
1 día vie 15/9/23 vie 15/9/23

15 4. Fase 2: Recopilación y análisis de base de datos 13 días sáb 16/9/23 mar 3/10/23

16 4.1.- Implementación de parte teoríca 4 días sáb 16/9/23 mié 20/9/23


17 4.2.- Análisis de la dataset con código de Matlab 6 días mié 20/9/23 mié 27/9/23
18 4.3.- Modelamiento con entrada y salida en el sistema 4 días jue 28/9/23 mar 3/10/23

19 5. Fase 3: Respuesta a la señal 9días mié 4/10/23 sáb 14/10/23


20 5.1.- Análisis de la salida (Modelamiento en exoesqueleto) 4días mié 4/10/23 sáb 7/10/23

21 5.2.- Implementación de la salida (pruebas preliminares). 3 días lun 9/10/23 mié 11/10/23

22 5.3.- Mejora del sistema de la salida 3días mié 11/10/2 vie 13/10/23
23 5.4.- Entrega del segundo informe 2días vie 13/10/23 sáb 14/10/23
24 6. Fase 4: Arquitectura del prototipo 6 días lun 16/10/23lun 23/10/23
25 6.1.- Análisis del sistema en conjunto 3días lun 16/10/23 mié 18/10/23

26 6.2.- Análisis e implementación en prototipo de exoesqueleto 3 días mié vie 20/10/23


18/10/23

27 6.3.- Primeras pruebas con en modelación de 2 días vie 20/10/23 lun 23/10/23
imágenesmediante Python

28 7. Prueba de la aplicación para modelación en 10 días lun vie 3/11/23


prototipo 23/10/23

29 7.1.- Feedback de las primeras pruebas 3 días lun 23/10/23 mié 25/10/23

30 7.2.- Implementación de mejoras después de la primera 3 días mié vie 27/10/23


simulación 25/10/23

31 7.3.- Implementación del prototipo durante tres días 32 8 . Cierre del proyecto
33 8.1.- Preparación del artículo científico 5 días lun 30/10/23 vie 3/11/23
34 8.2.- Preparación del diálogo para el video
5 días vie 3/11/23 jue 9/11/23
35 8.3.- Grabación del video
4 días vie 3/11/23 mié 8/11/23
36 8.4.- Preparación de diapositivas
37 8.5.- Revisión del Informe final 2 días vie 3/11/23 sáb 4/11/23
38 8.6.- Presentación del informe final 3 días lun 6/11/23 mié 8/11/23
3 días lun 6/11/23 mié 8/11/23
1 día mié 8/11/23 mié 8/11/23
1 día jue 9/11/23 jue 9/11/23

Tarea Resumen Hito inactivo solo duración solo el comienzo Hito externo Progreso manual
Proyecto: Diagrama de Gant - B
División Resumen del proyecto Resumen inactivo Informe de resumen manual solo fin Fecha límite
Fecha: jue 14/9/23
Hito Tarea inactiva Tarea manual Resumen manual Tareas externas Progreso

Página 1
PLANIFICACIÓN MENSUAL ACTIVIDADES - TEMA N°16
Leyenda
AGOSTO 2023 SEPTIEMBRE 2023 Reuniones con asesor (por confirmar fechas y horas)
L M M J V S D L M M J V S D Entregas de informes del trabajo
31 1 2 3 4 5 6 28 29 30 31 1 2 3 Ejecución de laboratorio
7 8 9 10 11 12 13 4 5 6 7 8 9 10 Entregas de laboratorio
14 15 16 17 18 19 20 11 12 13 14 15 16 17 Examenes parciales
21 22 23 24 25 26 27 18 19 20 21 22 23 24 Examenes finales
28 29 30 31 1 2 3 25 26 27 28 29 30 1

OCTUBRE 2023
L M M J V S D
25 26 27 28 29 30 1 NOVIEMBRE 2023
2 3 4 5 6 7 8 L M M J V S D
9 10 11 12 13 14 15 30 31 1 2 3 4 5
16 17 18 19 20 21 22 6 7 8 9 10 11 12
23 24 25 26 27 28 29 13 14 15 16 17 18 19
20 21 22 23 24 25 26
30 31 1 2 3 4 5
27 28 29 30 1 2 3

DICIEMBRE 2023
L M M J V S D
27 28 29 30 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 01

Curso: Control Industrial (CO)

Fecha: 17 de Agosto de 2023

Hora de inicio: 09:00 am

Duración: 45 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 17 de Agosto del 2023 y en presencia de los asistentes a la reunión N° 01 seda
conformidad de los temas acordados, siendo estos los siguientes:
- Afinidad entre los integrantes del grupo.
- Organización de las reuniones.
- Primeras interrogantes referentes al tema del trabajo.
- Planteamiento del enfoque referente al tema del trabajo.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 02

Curso: Control Industrial (CO)

Fecha: 22 de Agosto del 2023

Hora de inicio: 09:00 am

Duración: 35 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Asesor: Dr. Ing. William Ipanaque

Acta

Siendo el día 22 de Agosto del 2023 y en presencia de los asistentes a la reunión N° 02 seda
conformidad de los temas acordados, siendo estos los siguientes:
- Presentación de propuestas para el trabajo.
- Planteamiento del enfoque referente al tema del trabajo.
- Resolución de dudas referentes al planteamiento elegido.
- Consejos acerca del enfoque del trabajo.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 03

Curso: Control Industrial (CO)

Fecha: 28 de Agosto del 2023

Hora de inicio: 11:00 am

Duración: 40 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 28 de Agosto del 2023 y en presencia de los asistentes a la reunión N° 03 seda
conformidad de los temas acordados, siendo estos los siguientes:
- Introducción a papers referentes al trabajo.
- Organización interna del trabajo.
- Planteamiento de alternativas para el enfoque ya establecido en la reunión anterior.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 04

Curso: Sistemas Automáticos de Control (SC)

Fecha: 05 de Septiembre del 2023

Hora de inicio: 09:00 am

Duración: 40 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 05 de Septiembre del 2023 y en presencia de los asistentes a la reunión N° 04se da
conformidad de los temas acordados, siendo estos los siguientes:
- Avance de los puntos teóricos.
- Análisis con algunos papers ya trabajados en la Universidad.
- Organización de los avances para el primer entregable.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 05


Curso: Control Industrial (CO)

Fecha: 14 de Septiembre del 2023

Hora de inicio: 04:00 pm

Duración: 30 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Asesor: Dr. Ing. William Ipanaque

Acta

Siendo el día 14 de Septiembre del 2023 y en presencia de los asistentes a la reunión N° 05se da
conformidad de los temas acordados, siendo estos los siguientes:
- Corrección de los puntos teóricos.
- Feedback del trabajo que vamos avanzando.
- Análisis de los puntos más importantes en modelamiento mediante redes neuronales.
- Organización para el primer informe.
Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 06

Curso: Control Industrial (CO)

Fecha: 18 de Sep de 2023

Hora de inicio: 08:30 am

Duración: 35 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 18 de Septiembre del 2023 y en presencia de los asistentes a la reunión N° 06 se da


conformidad de los temas acordados, siendo estos los siguientes:
- Objetivos y alcances del proyecto.
- Revisión del estado del Arte.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 07

Curso: Control Industrial (CO)

Fecha: 22 de Sep del 2023

Hora de inicio: 09:00 am

Duración: 65 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Asesor: Dr. Ing. William Ipanaque

Acta

Siendo el día 22 de Septiembre del 2023 y en presencia de los asistentes a la reunión N° 07 seda
conformidad de los temas acordados, siendo estos los siguientes:
- Revisión del enfoque del trabajo.
- Feedback para la repartición de tareas.
- Planteamiento de dudas

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 08

Curso: Control Industrial (CO)

Fecha: 01 de Oct del 2023

Hora de inicio: 10:00 am

Duración: 60 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 21 de Octubre del 2023 y en presencia de los asistentes a la reunión N° 08 seda
conformidad de los temas acordados, siendo estos los siguientes:
- Implementación de servomotor.
- Análisis de pacientes con paresia.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 09

Curso: Control Industrial (CO)

Fecha: 13 de Oct. del 2023

Hora de inicio: 09:00 am

Duración: 40 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 13 de Octubre del 2023 y en presencia de los asistentes a la reunión N° 09 se da


conformidad de los temas acordados, siendo estos los siguientes:
- Implementación de prótesis.
- Desarrollo de mejoras para nuestro sistema.

Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 10


Curso: Control Industrial (CO)

Fecha: 22 de Oct. del 2023

Hora de inicio: 10:00 am

Duración: 60 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Asesor: Dr. Ing. William Ipanaque

Acta

Siendo el día 22 de Octubre del 2023 y en presencia de los asistentes a la reunión N° 10 se da


conformidad de los temas acordados, siendo estos los siguientes:
- Corrección de los puntos teóricos.
- Feedback del trabajo que vamos avanzando.
- Explicación del código al Doctor.
Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.
Universidad de Piura – UDEP

Acta de reunión 2023 – II – Reunión N° 11


Curso: Control Industrial (CO)

Fecha: 28 de Oct. del 2023

Hora de inicio: 10:00 pm

Duración: 60 minutos

Asistentes:

Carrillo Gonzales, Ariana del Milagro

Escalante Feria, Victor Augusto

Fernández Aquino, Henry Ismael Junior

Puemape Villavicencio, Juan Carlos

Salazar Silva, Anthony Gonzalo

Acta

Siendo el día 28 de Octubre del 2023 y en presencia de los asistentes a la reunión N° 11 se da


conformidad de los temas acordados, siendo estos los siguientes:
- Avances del informe.
- Planteamiento de tareas para entregable final.
Por medio del presente documento queda registrado que cada uno de los mismos intervinierony
acordaron los temas presentados.

También podría gustarte