Home
implementación de un algoritmo de reconocimiento de patrones
Contents
1. floatraiz float x float r 0 y 1 while r y r y y y x y 2 return r LCD La librer a utilizada a continuaci n pertenece a la investigaci n de pregrado GENERADOR DE SE ALES PARA MEDICIONES DE IMPEDANCIA ELECTROQU MICA BASADO EN DSP Por los autores ADRIANA MARCELA MART NEZ RIVERA EDGAR LEONARDO ARENAS RANGEL UIS Bucaramanga 2006 void MENU const byte frase1 const byte frase2 COMANDO 1 Limpia LCD ESCRIBIR frase1 Escribe la frase1 en la primera linea COMANDO 192 Posiciona el cursor en la segunda linea 192 ESCRIBIR frase2 Escribe la frase 2 en la segunda linea void INIC_LCD void RETARDO 7000 ESCRIBIR_INSTRUCCION 3 Operacion con 8 bits RETARDO 3000 ESCRIBIR_INSTRUCCION 3 Operacion con 8 bits RETARDO 3000 50 ESCRIBIR_INSTRUCCION 3 Operacion con 8 bits RETARDO 2000 ESCRIBIR_INSTRUCCION 2 Operacion con 4 bits RETARDO 2000 ESCRIBIR_INSTRUCCION 2 Operacion con 4 bits RETARDO 2000 ESCRIBIR_INSTRUCCION 8 Se fija N 1 26 lineas y F 0 5X7 dot RETARDO 2000 ESCRIBIR_INSTRUCCION 0 Display Apagado RETARDO 2000 ESCRIBIR_INSTRUCCION 8 Display Apagado RETARDO 2000 ESCRIBIR_INSTRUC
2. MODULE DWT_EMG_DSC Including needed modules to compile this module procedure include Cpu h include Events h include Identifica h include Inhr1 h include CargaMODELO h include Inhr2 h include RxDATO h include DATA h include RS h include Enable h include CargaMOD h include Inhr3 h include IDENT h include Inhr4 h Including shared modules which are used for whole project include PE_Types h include PE_Error h include PE_Const h include IO_Map h include string h include stdio h include math h float X 2 270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 float WL 8 0 0322 0 0126 0 0992 0 2979 0 8037 0 4976 0 0296 0 0758 float WH 8 0 0758 0 0296 0 4976 0 8037 0 2979 0 0992 0 0126 0 0322 int clase1 21 1 1 1 1 1 1 2 2 2 2 2 3 3 3 3 4 4 4 5 5 6 int clase2 2
3. pragma interrupt called Comment this line if the appropriate Interrupt preserve registers property is set to yes pragma interrupt saveall is generated before the ISR voidRxDATO_OnError void Write your code here Event RxDATO_OnRxChar module Events Component RxDATO AsynchroSerial Description This event is called after a correct character is received The event is available only when the lt Interrupt service event gt property is enabled and either the lt Receiver gt property is enabled or the lt SCI output mode gt property if supported is set to Single wire mode Version specific information for Freescale 56800 derivatives DMA mode If DMA controller is available on the selected CPU and the receiver is configured to use DMA controller then this event is disabled Only OnFullRxBuf method can be used in DMA mode Parameters None Returns Nothing pragma interrupt called Comment this line if the appropriate Interrupt preserve registers property is set to yes pragma interrupt saveall is generated before the ISR voidRxDATO_OnRxChar void 54 Write your code here RxDADO_RecvCh
4. 16 3 2 Implementaci n del algoritmo de recepci n y procesamiento del movimiento sobre la tarjeta de desarrollo MC56F8357EVM 17 3 2 2 Implementaci n del algoritmo de reconocimiento de patrones EMG s 18 4 VISUALIZACI N DEL MOVIMIENTO 22 5 RESULTADOS 22 5 1 Pruebas preliminares 22 5 2 Env o de modelos y se ales EMG s mediante puerto serial 23 5 3 Recursos computacionales utilizados en la DSC 23 5 4 Tiempo de ejecuci n del algoritmo 24 5 5 Visualizaciones en pantalla 24 6 CONCLUSIONES 25 7 REFERENCIAS 25 ANEXOS 27 8 LISTA DE TABLAS P g Tabla 1 Recursos computacionales incorporados en la DSC 17
5. 0 2 4 6 Figura 15 Clasificaci n del movimiento de apertura Fuente Autores 4 VISUALIZACI N DEL MOVIMIENTO Finalmente se visualiza el movimiento identificado en una pantalla LCD 2x16 configurando como salida de dat oslos puertos GPIOB4 al GPIOB7 como control GPIOD0 y GPIOD1 Para la correcta utilizaci n de la LCD 2x16 en la DSC 56f8357 se utiliz la librer a o c digo de manejo propuesta por 12 la cual es sencilla r pida y eficiente para controlar dicha pantalla La LCD presenta mensajes de funcionamiento que son indicaciones al usuario para la correcta identificaci n del movimiento y por ltimo se visualiza dicha identificaci n 5 RESULTADOS 5 1 Pruebas preliminares Para las pruebas preliminares se tom una estructura de validaci n del procesamiento del algoritmo por partes mostrado en la Figura 16 mediante la interfazEJECUCION propuesta por 2 y la adaptaci n preliminar del algoritmo desarrollada en DevC v4 9 de distribuci n gratuita De esta forma cada vez se depuraba el algoritmo a medida que avanzaba y a si mismo se hac a m s eficientes en aspectos como reducci n de variables utilizadas En el desarrollo del algoritmo y validaci n de los datos mencionado anteriormente se estableci el m todo de reducci n de efecto borde por medio de la t cnica simetrizaci n 13 la cual realiza una expansi n y reflejo de los primeros y ltimos 7 datos que se procesan despu s d
6. 7 se determina el movimiento realizado Es notable decir que con dicha metodolog a se logran aciertos de identificaci n superiores al 90 DISE O DE LA IMPLEMENTACI N algoritmo de reconocimiento de patrones EMG COMUNICACI N SERIAL DSP visualizaci n del movimiento identificado en la DSP Interfaz para envi de modelo y Se ales EMG Figura 2 Esquema para el desarrollo de la implementaci n del algoritmo de reconocimiento de patrones Fuente Autores 3 METODOLOGIA PARA ELDESARROLLO DEL PROYECTO Luego de una revisi n bibliogr fica se plante una metodolog a descrita en la Figura 2La cual consta de tres partes fundamentales que son I Dise ar una interfaz en Matlab para suministrar al sistema de desarrollo la se al a analizar as como los par metros de procesamiento necesarios para ejecutar t cnicas de an lisis de se ales como la Transformada Wavelet Discreta An lisis de Componentes Principales y M quinas de Soporte Vectorial necesarios para la investigaci n todo esto en un sistema de desarrollo con DSC Controlador Digital de Se ales Motorola Freescale II Adaptar un algoritmo num rico para ser implementado en forma digital sobre el DSCMC56F8357EVM un c digo de reconocimiento de patrones electromiogr ficos basado en las t cnicas matem ticas de procesamiento de se ales mencionadas anteriormente para reconocimiento de
7. Tabla 2 Perif ricos incorporados en la DSC 17 Tabla 3 Organizaci n y tama o de los coeficientes por canal 19 Tabla 4 Modelo Implementado 20 Tabla 5 Datos enviados Vs Recibidos 23 Tabla 6 Memoria utilizada 24 Tabla 7 Tiempo de ejecuci n del algoritmo 24 Tabla D 1 Descripci n de los Beans de la herramienta Processor Expert del Software Codewarrior 39 9 LISTA DE FIGURAS P g Figura 1 Grados de libertad identificados 15 Figura 2 Esquema para el desarrollo de la implementaci n del algoritmo de reconocimiento de patrones 16 Figura 3 Diagrama de flujo para codificaci n de modelos y se ales EMG s 17 Figura 4 Diagrama de flujo que permite la conversi n de caracteres a coma flotante 18 Figura 5 Diagrama general del algoritmo
8. 10 Diagrama de descomposici n piramidal g n h n x n 2 cA cA cA cA cD cD cD cD 2 g n h n 2 2 g n h n 2 2 g n h n 2 2 Detalle Detalle Detalle Detalle Aproximaci n Figura 8 Algoritmo de descomposici n piramidal con 4 niveles de resoluci n Fuente Autores Luego de procesar de datos cada canal con el banco de filtros los coeficientes de aproximaci n y detalle quedan organizados como indica la Tabla 2 y mostrados en la Figura 9 y Figura 10 en el mismo orden una respecto de la otra Tabla 3 Organizaci n y tama o de los coeficientes por canal Coeficientes cA cD cD cD cD Tama o 22 22 38 96 131 Fuente Autores Coeficientes extra dos canal anterior 20 50 100 150 200 250 8 6 4 2 0 2 4 6 8 x 10 3 Figura 9 Coeficientes extra dos mediante el algoritmo de descomposici n de Mallat del canal anterior Fuente Autores Coeficientes extra dos canal posterior 0 50 100 150 200 250 0 3 0 2 0 1 0 0 1 0 2 Figura 10 Coeficientes extra dos mediante el algoritmo de descomposici n de Mallat del canal posterior Fuente Autores Consideraciones de la implementaci n Para la implementaci n del algoritmo se tom como modelo de ejecuci n de la investigaci n el modelo pres
9. 256 a partir de Dato t 0 t lt 2 t N 256 M 8 N 1 L 151 i 0 i lt 4 i A N 14 B M 14 fi 0 fi lt 7 fi X t 6 fi X t 7 fi X t A 7 fi X t A 8 fi fi 1 fi lt M fi fi 2 j fi co 0 co lt 8 co Sum1 WL X t j Sum2 WH X t i J Z k sum1 V k sum2 K i 0 i lt k i U L V i V i L N M 2 M 8 N 1 j 0 j lt N j X t j 7 Z j L M 2 j 0 j lt N j X t j 7 Z j RMS i valor rms de U i 1 2 2 3 Recepcion de datos externos Figura C 1 Algoritmo implementado Fuente Autores i 0 i lt 6 i 3 j 0 j lt 10 j PCA i P i j RMS j PCA PCA SVM norma k 0 k lt 21 k gg ff ff filas k f metodo polinomial PCA SVM SV H Alpha gg ff fx f b k Clas1 clase1 k Clas2 clase2 k Voto clas1 1 1 Voto clas2 1 1 sistema de votaci n y en caso de empate se trabaja con probabilidades Signo fx j 0 j lt 7 j Temp j votos j prob j 21 j 0 j lt 7 j i 0 i lt 7 i Cont 0 temp j gt temp i Cont 7 Cont 1 v f Y j 1 v f Muestra en pantalla el movimiento que corresponde al valor de Y entre1 y 7 1 Figura C 2 Algoritmo implementado Fuente Autores 38 1 2 Reducci n de dimensionalidad A partir del vector de 10 datos RMS y el modelo de componentes principales
10. El ctrica Grupo de investigaci n CEMOS Escuela de ingenier as El ctrica Electr nica y de Telecomunicaciones Universidad Industrial de Santander jbarrero uis edu co RESUMEN En este art culo se encuentran los resultados de la implementaci n num rica de un algoritmo de reconocimiento de patrones electromiogr ficos en la tarjeta de desarrollo MC56F8357EVM de la familia 56F800 de Freescale Semiconductor para la identificaci n de los movimientos b sicos de la mano Apertura Cierre Extensi n Flexi n Pronaci n Supinaci n y Reposo la metodolog a utilizada para dar cumplimiento al objetivo de la presente investigaci n implement t cnicas de procesamiento digital de se ales tales como Transformada Wavelet Discreta An lisis de Componentes Principales y Maquinas de Soporte Vectorial PALABRAS CLAVE Electromiogr ficos EMG s identificaci n de movimiento algoritmo recursos computacionales y velocidad de ejecuci n ABSTRACT In this article the results of a numerical implementation of a recognition algorithm of electromyographic patterns on a development board MC56F8357EVM from the 56F800 Freescale semiconductor family for basic hands movements Open Closure Extension Flexion Pronation Supination and rest are found the methodology used to achieve this investigation s objective implemented digital signal processing techniques such as Discrete Wavelet Transform Principal Component Analysis and Support Vector M
11. With this procedure the following things were achieved first identified movement visualization on the 2x16 LCD screen and as the most relevant aspect an efficient algorithm was created minimizing computational resources consumption with 7 2 MB 8 7 Mb program memory flash and data memory RAM respectively and an execution speed of 226 milliseconds that will contribute on future local research about controller development for hand prosthesis in order to strengthen and improve life quality on human beings Degree Project Faculty of Physics Mechanical Engineering School of Electrical Engineering Electronics and Telecommunications Director MPE Jaime Guillermo Barrero P rez Co Director MIE Jhonatan Camacho Navarro 14 Implementaci n de un algoritmo de reconocimiento de patrones electromiogr ficos en una tarjeta de desarrollo para la identificaci n de los movimientos b sicos de la mano JULIO CESAR PERALTA D AZ Ingeniero electr nico Grupo de investigaci n CEMOS Escuela de ingenier as El ctrica Electr nica y de Telecomunicaciones Universidad Industrial de Santander rasecyyyjc hotmail com raseczzzjc gmail com FABI N PE A S NCHEZ Ingeniero electr nico Grupo de investigaci n CEMOS Escuela de ingenier as El ctrica Electr nica y de Telecomunicaciones Universidad Industrial de Santander Fabio_tu20 yahoo es fabiotu20 gmail com JAIME GUILLERMO BARRERO P REZ Mag ster en Potencia
12. al canal anterior enviado por el PC Fuente Autores Canal Posterior 50 100 150 200 250 0 15 0 1 0 05 0 0 05 0 1 0 15 0 2 Voltios Tiempo Se al EMG canal Posterior Figura 7 Se al EMG de256 ms de un movimiento pertenecientes al canal posterior enviado por el PC Fuente Autores b Extracci n de caracter sticas principales mediante TWD En la extracci n de caracter sticas la se al EMG s es procesada con el fin de tomar las estructuras pertinentes de los datos mientras se rechaza el ruido y los datos irrelevantes produciendo el llamado conjunto de caracter sticas originales Esto se realiz haciendo uso del algoritmo de descomposici n piramidal de Mallat 8 mostrado en la Figura 8 el cual aplica la Wavelet madre Symlet 4 familia Symlet tipo 4 con 4 niveles de resoluci n La descomposici n se divide en un filtro pasa bajas y uno pasa altas para obtener los coeficientes de aproximaci n y detalle respectivamente El filtro pasa bajas obtiene los coeficientes de aproximaci n mediante la ecuaci n 1 y la ecuaci n 2 Donde x n tiene un tama o de 256 datos los cuales seg n 9 son id neos para la aplicaci n de TWD 1 Luego 2 Los coeficientes de detalle se obtienen de la misma forma cambiando por donde y son la respuesta al impulso de la funci n de escala y la funci n wavelet discreta respectivamente para la wavelet madre symlet4
13. comunicaci n entre otras En la Tabla D1 se mencionan algunas de ellas Tabla D 1 Descripci n de los Beans de la herramienta Processor Expert del Software Codewarrior M dulos Descripci n Terminal Comunicaci n con terminal usando protocolo ANSI Control Encapsula algoritmos de control est ndar como PI PID respuesta a entradas rampa calculo de velocidad de acuerdo a diferencia de posici n y tiempo Datos Interfaz de dos colores BPN Interfaz para las im genes en color RGB que se transforman en im genes de color en el formato BMP Acceso a PC para leer o escribir un archivo al mismo tiempo Inclusi n de archivos externos como sonidos base de datos etc y los convierte a c digo binario para el ensamblador 40 Funciones para DSP y bibliotecas matem ticas Operaciones b sicas con matrices Algoritmos de procesamiento de se ales como FFT filtros FIR e IIR correlaci n relacionadas Operaciones matem ticas b sicas para tipo de datos FRAC de 16 bit y 32 bit Operaciones matriciales b sicas para datos FRAC16 Funciones trigonom tricas para datos FRAC16 Operaciones con vectores para datos FRAC16 como producto punto cruz entre otros Administrador de Memoria Permite agregar bloques de memoria interna y externa y redistribuci n de la misma Bibliotecas de M dems Llama y recibe llamadas de otras aplicaciones a
14. hiperplano De acuerdo a Beatnik 11 este hiperplano minimiza el riesgo de clasificaciones err neas en el grupo tomado para realizar el proceso de validaci n mencionado en 2 Para un grupo de entrenamiento compuesto de pares atributo etiqueta mostrado en el siguiente enunciado Y con Se desea obtener una funci n tal que para una entrada en produzca una salida en Para que as se pueda clasificar un nuevo dato T ngase en cuenta que para este nuevo dato y es generado con la misma probabilidad de los datos de entrenamiento Diagrama de clasificaci n MSV Datos a clasificar Xi Estructura Modelo MSV kernel polinomial fx H Alpha b Y signo fx Vectores Y fx Y etiquetas fx valor de la funci n Figura 14 Proceso clasificaci n MSV utilizado Fuente Autores En el proceso de la Figura 14 se clasifican los datos Este tiene como variables de entrada los datos a clasificar y los respectivos modelos b Arpa etc las variables de salida Y corresponden a la etiqueta hallada y corresponde a la 22 evaluaci n num rica de la funci n de decisi n y as como resultado se toma el valor m ximo y la posici n que corresponde al movimiento asociado Por ejemplo en la Figura 15 se toma el dato m s grande que corresponde a y se encuentra en la posici n donde est asociado al movimiento de Apertura Clasificaci n 0 1 2 3 4 5 6 7 8 10 8 6 4 2
15. i 0 f 0 fx 0 H1 0 ff 0 e 0 ss 0 clas1 0 clas2 0 sign 0 cont 0 ACP 0 0 ACP 1 0 ACP 2 0 ACP 3 0 ACP 4 0 ACP 5 0 votos 0 0 votos 1 0 votos 2 0 votos 3 0 votos 4 0 votos 5 0 votos 6 0 RMS 0 0 RMS 1 0 RMS 2 0 RMS 3 0 RMS 4 0 RMS 5 0 RMS 6 0 RMS 7 0 RMS 8 0 RMS 9 0 s 0 for t 0 t lt 2 t fi 0 co 0 i 0 j 0 k 0 l 151 N 256 M 8 N 1 M numero de filas de la matriz de coeficientes wavelet for i 0 i lt 4 i conv U WL WH Z V X N M l t funci n convoluci n 46 N M 2 se van reduciendo el tama o de los datos despu s de cada convoluci n M 8 N 1 for j 0 j lt N j X t j 7 Z j se reemplaza los datos de X por los coeficientes de detalle de cada convoluci n l M 2 for i 0 i lt N i U i Z i Z i se halla el valor rms de los datos de aproximaci n y detalle guardados en U y se almacenan en el vector RMS ss rmss U RMS s s ss for i 0 i lt 10 i RMS i RMS i media i Desv i se modifican los valores RMS con la media y desviaci n med y desv datos que son cargados for i 0 i lt 6 i for j 0 j lt 10 j ACP i P j i RMS j se hallan y se guardan los datos ACP 6 datos P es un vector cargado MSV for i 0 i lt 6 i ACP i ACP i MSV 0 datos ACP MSV ve
16. implementado en la tarjeta de desarrollo 18 Figura 6 Se al EMG de 256 ms de un movimiento pertenecientes al canal anterior enviado por el PC 19 Figura 7 Se al EMG de256 ms de un movimiento pertenecientes al canal posterior enviado por el PC 19 Figura 8 Algoritmo de descomposici n piramidal con 4 niveles de resoluci n 19 Figura 9 Coeficientes extra dos mediante el algoritmo de descomposici n de Mallat del canal anterior 20 Figura 10 Coeficientes extra dos mediante el algoritmo de descomposici n de Mallat del canal posterior 20 Figura 11 RMS canal anterior 20 Figura 12 RMS canal posterior 20 10 Figura 13 Datos obtenidos del an lisis ACP 21 Figura 14 Proceso clasificaci n MSV utilizado 21 Figura 15 Clasificaci n del movimiento de apertu
17. include Cpu h 52 include Events h include stdlib h include string h bytedato 0 int i 0 char dato2 15 externbool flag1 externbool flag2 externint jota 0 externint IRQ 0 extern float num 1052 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
18. los datos correspondientes a modelos ACP MSV etc y se al EMG correspondiente a 2 canales por paciente posteriormente se hace una expansi n de la se al electromiogr fica empleando el m todo reducci n de efecto borde de tipo simetrizaci n con el fin de enfatizar informaci n atenuada durante el filtrado 6 1 1 Extracci n de caracter sticas En este caso se reflejan los 7 primeros y 7 ltimos datos de la se al La cantidad de datos reflejados depende del tama o de la se al 6 para luego aplicar TWDsymlet4 de 4 niveles despu s de cada nivel se aplica efecto borde se extraen los coeficientes de detalle de cada nivel y los coeficientes de aproximaci n del ultimo nivel todos los datos se almacenan en un vector que contiene 282 posiciones Lo anterior se realiza para la se al de cada canal anterior y posterior a continuaci n se llena un vector de posiciones con el c lculo del valor eficaz de los coeficientes almacenados por cada canal se obtienen 5 datos 37 inicio Configuraci n de puertos LCD constantes interrupciones transmisi n de datos Dato i i 0 i lt i Se Cargan los modelos PCA 6 media 10 Desv 10 P 10 6 SVM 2 SV 6 Alpha b 21 filas 21 a patir de los datos recibidos y almacenados en Dato i 0 i lt 512 i Dato i Se carga los 2 canales de los datos electromiograficos que corresponden a un movimiento en X 2
19. los movimientos b sicos de la mano III Mediante la utilizaci n de los puertos de prop sito general GPIO de la tarjeta de desarrollo visualizar en una LCD de 2x16 caracteres el movimiento identificado por la DSC mediante el algoritmo implementado 3 1 Dise o de la interfaz Para cumplir con el prop sito del env o de se ales EMG s y modelos pertenecientes a cada paciente se dise y creo una interfaz gr fica en Matlab Laboratorio de Matrices mediante la herramienta GUIDE Entorno de Desarrollo de Interfaz Gr fica de Usuario siguiendo los siguientes 4 par metros de funcionamiento a Selecci n de se ales EMG pertenecientes a un paciente determinado b As mismo selecci n de modelos ACP y MSV que contienen los par metros para una correcta identificaci n de los movimientos enviados mediante se ales EMG s c Seleccionar dos opciones de env o que son env o de los modelos y env o de las se ales EMG s d Permitir seleccionar cual muestra de las se ales EMG se enviar mediante comunicaci n serial Teniendo en cuenta que el tipo de datos de las se ales EMG y de los modelos es de tipo double4 y est n en archivos m de Matlab se propone una metodolog a que codifica estos datos a tipo CHAR para poder ser enviados mediante comunicaci n serial Para l env o de datos tipo CHAR mediante el puerto serial se realiz un algoritmo que convirtiera los datos tipo double en una cadena de carac
20. n Fuente InterfazEJECUCION 2 Cabe aclarar que a pesar de este m todo presenta mejoras substanciales en determinados pacientes en otros pacientes arroja min sculas desventajas respecto al error total de la identificaci n de los movimiento que no es relevante en el an lisis de todos los casos 5 2 Env o de modelos y se ales EMG s mediante puerto serial Durante el env o de los modelos y las se ales EMG s mediante puerto serial no se presentaron perdidas substanciales de informaci n por conexi n u otros factores ya que los datos se enviaron con una exactitud de 13 cifras significativas y la mayor a de estos datos tiene una exactitud de 10 cifras as entregando un porcentaje de perdida de datos transmitidos de 0 En la Tabla 5 se presentan algunos de los datos tomados antes del env o en Matlab y posteriormente en la tarjeta de desarrollo mediante visualizaci n de variables en CodeWarrior Tabla 5 Datos enviados Vs Recibidos Matlab DSC Error 0 00183105 0 00183105 0 00 0 00213623 0 0021362 0 00 0 000839233 0 00083923 0 00 0 00129700 0 00129700 0 00 0 00137329 0 00137329 0 00 0 00190735 0 00190735 0 00 0 00190735 0 00190735 0 00 Fuente Autores 5 3 Recursos computacionales utilizados en la DSC Para la medici n de los recursos utilizados por la DSC en la identificaci n de los movimientos as como la recepci n de los datos a analizar y visual
21. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 User includes include below this line is not maintained by Processor Expert Event Identifica_OnButton module Events Component Identifica Button Description This event is called when the button is pressed If button inactivity feature advanced view is enabled then the next OnButton event is not generated during dead time Parameters None Returns Nothing pragma interrupt called Comment this
22. 1 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 7 float Z 131 V 131 R 8 U 282 RMS 10 ACP 6 media 10 Desv 10 P 10 6 MSV 2 SV 128 6 Alpha 128 b 21 intfilas 21 const byte fuente1 Identificador de const byte fuente2 Movimientos const byte uis UIS const byte uis1 E3T const byte est Fabian Pena const byte est1 Cesar Peralta const byte fraseM const byte frase0 Envie Modelo const byte frase01 Luego const byte frase1 espere aviso const byte frase11 de Matlab const byte frase2 gt Presione IRQB const byte frase3 para cargarlo const byte frase4 Enviesenales const byte frase5 gt presione IRQA const byte frase6 Para Identificar const byte Qmov Movimiento const byte mov1 Apertura const byte mov2 Cierre const byte mov3 Extencion const byte mov4 Flexion const byte mov5 Pronacion const byte mov6 Reposo const byte mov7 Supinacion void MENU const byte frase1 const byte frase2 void INIC_LCD void void COMANDO byte p void ESCRIBIR1 const byte c void RETARDO wordRestardo void ESPERA void void ESCRIBIR_INSTRUCCION byte Instruccion void ESCRIBIR_DATO byte Dato void ESCRIBIR const byte c float LE1 LE2 LE3 LE4 LE5 LE6 LE7 LE8 LE9 LE10 MOS float a
23. 13 9 Data RAM 7551 14 8 Fuente Autores 5 4 Tiempo de ejecuci n del algoritmo Para la medici n del tiempo de ejecuci n del algoritmo se establece como salida el puerto del sistema de desarrollo GPIOD7 que maneja uno de los led de la tarjeta As midiendo con un osciloscopio el tiempo de cambio mostrado en la Figura 19 Teniendo como resultado el tiempo de ejecuci n del algoritmo medido en la Tabla 7 Tabla 7 Tiempo de ejecuci n del algoritmo de datos de la muestra Tiempo de ejecuci n del algoritmo ms 256 226 Fuente Autores Tiempo de ejecuci n Figura 19 Medici n de tiempo de ejecuci n del algoritmo mediante osciloscopio Fuente Autores 5 5 Visualizaciones en pantalla En la pantalla de 2x16 caracteres se muestran una serie de mensajes correspondientes a indicaciones para el usuario as como tambi n el movimiento identificado mostrado en la Figura 20 Movimiento identificado Figura 20 Movimiento apertura visualizado en pantalla LCD 2x16 Fuente Autores 25 6 CONCLUSIONES Es importante resaltar que el algoritmo implementado tiene la capacidad de recibir los modelos caracter sticos de cada paciente necesarios para poder procesar cualquier muestra que corresponda a uno de los 7 movimientos de la mano mencionados anteriormente Los tiempos de ejecuci n del algoritmo para muestras de datos muestran que se obtuvo un tiempo promedio de identifi
24. 1875 Kbytes en memoria de programa y 14 74804688 Kbytes en memoria de datos dimensiones muy reducidas a partir de la mejora en la convoluci n realizada en la DWT A trav s de dispositivos como los DSC se demostr en este trabajo que se pueden elaborar aplicaciones en donde sea necesaria una considerable carga computacional para ejecutar algoritmos de procesado de se al como la DWT sin la utilizaci n de una m quina robusta como un computador y a partir de una adecuada programaci n construir equipos con visualizaci n de eventos en pantalla LCD Las aplicaciones presentadas por Codewarrior a trav s de su herramienta Processor Expert y en espec fico los Bean s son de ayuda para aprender a utilizar el DSC como tal es decir con los debidos pasos para realizar una correcta configuraci n de un m dulo y las funciones que emplea adem s el entorno gr fico para la configuraci n de cada Bean hacen c moda la programaci n del DSC Con referencia a trabajos realizados en Colombia en arquitecturas embebidas es importante que la ubicaci n de aplicaciones en tiempo real est de la mano del dise o de hardware lo cual ser una mejora a muchos trabajos de investigaci n realizados en aras de fortalecer el desarrollo y fabricaci n de dispositivos a nivel nacional 7 REFERENCIAS 1 Otto Bock enlace http www ottobock com cps rde xchg ob_c om_es hs xsl 5064 html 2 CAMACHO Jhonatan y LEON Fabi n Dise o d
25. CION 0 Limpiar Display RETARDO 2000 ESCRIBIR_INSTRUCCION 1 Limpiar Display RETARDO 2000 ESCRIBIR_INSTRUCCION 0 Fija el Modo Incremento Decremento RETARDO 2000 ESCRIBIR_INSTRUCCION 6 I D 1 SE fija en modo Incremento RETARDO 2000 ESCRIBIR_INSTRUCCION 0 Display Encendido RETARDO 2000 ESCRIBIR_INSTRUCCION 15 C 1 cursor Encend B 1 Parpadeo Encend RETARDO 2000 void COMANDO byte p byte MSB LSB RETARDO 75 MSB 0xF0 amp p LSB 0x0F amp p MSB MSB gt gt 4 ESCRIBIR_INSTRUCCION MSB RETARDO 75 ESCRIBIR_INSTRUCCION LSB RETARDO 75 void RETARDO word Retardo worda b Retardo Retardo 2 for a 0 a lt Retardo a for b 0 b lt 2 b asm nop nop nop nop nop void ESPERA void TIEMPO DE ESPERA PARA VISUALIZAR PRESENTACION int i for i 0 i lt 20 i RETARDO 50000 void ESCRIBIR_INSTRUCCION byte Instruccion RS_ClrVal Para enviar una instrucci n 51 RETARDO 75 DATA_PutVal Instruccion RETARDO 75 Enable_SetVal RETARDO 75 Enable_Cl
26. Figura 4y la funci n atof6 se convierte una cadena de caracteres ASCII a datos en coma flotante que permiten el procesamiento de datos planteado para la investigaci n 5M dulo preconfigurado generado por Processor Expert de CodeWarrior 6Funci n que transforma una cadena de caracteres en coma flotante de 16 bit 18 Conversi n de CHAR a coma flotante AS1_RecvChar amp dato dato x00 dato2 i dato i i 15 num jota atof dato2 i 0 jota 1 Figura 4 Diagrama de flujo que permite la conversi n de caracteres a coma flotante Fuente Autores 3 2 2 Implementaci n del algoritmo de reconocimiento de patrones EMG s Para lograr identificar movimientos mediante un algoritmo de reconocimiento de patrones EMG s la se al es procesada despu s de su digitalizaci n hasta su identificaci n siguiendo los lineamientos descritos a continuaci n a Se al enviada desde el PC b Extracci n de caracter sticas principales mediante TWD c Estad sticos aplicados a los coeficientes extra dos d Reducci n de la dimensionalidad e Identificaci n del movimiento En la Figura 5 se esbozan los pasos anteriormente mencionados haciendo diferencia entre lo comprendido por el PC y el sistema de desarrollo a Se al enviada desde el PC La se al enviada desde el computador se encuentra en la base de datos del proyecto Dise o de una interfaz electr nica para e
27. IMPLEMENTACI N DE UN ALGORITMO DE RECONOCIMIENTO DE PATRONES ELECTROMIOGR FICOS EN UNA TARJETA DE DESARROLLO PARA LA IDENTIFICACI N DE LOS MOVIMIENTOS B SICOS DE LA MANO Por FAB AN PE A S NCHEZ JULIO CESAR PERALTA D AZ UNIVERSIDAD INDUSTRIAL DE SANTANDER FACULTAD DE INGENIER AS FISICOMEC NICAS ESCUELA DE INGENIERIAS EL CTRICA ELECTR NICA Y DE TELECOMUNICACIONES BUCARAMANGA 2011 IMPLEMENTACI N DE UN ALGORITMO DE RECONOCIMIENTO DE PATRONES ELECTROMIOGR FICOS EN UNA TARJETA DE DESARROLLO PARA LA IDENTIFICACI N DE LOS MOVIMIENTOS B SICOS DE LA MANO Por FAB AN PE A S NCHEZ JULIO CESAR PERALTA D AZ Trabajo de grado presentado como requisito para optar al t tulo de ingeniero electr nico Director MPE JAIME GUILLERMO BARRERO P REZ Codirector MIE JHONATAN CAMACHO NAVARRO UNIVERSIDAD INDUSTRIAL DE SANTANDER FACULTAD DE INGENIER AS FISICOMEC NICAS ESCUELA DE INGENIERIAS EL CTRICA ELECTR NICA Y DE TELECOMUNICACIONES BUCARAMANGA 2011 3 4 5 6 7 CONTENIDO P g 1 INTRODUCCI N 15 2 ANTECEDENTES 15 3 METODOLOGIA PARA ELDESARROLLO DEL PROYECTO 16 3 1 Dise o de la interfaz
28. achines KEYWORDS Electromyographics EMG s movement identification algorithm computational resources execution speed 15 1 INTRODUCCI N El reconocimiento de patrones de movimiento obtenidos a partir de EMG s Se ales electromiogr ficas superficiales comprende un desarrollo de algoritmos empleando diferentes teor as y recursos computacionales Por esta raz n la presente investigaci n constituye un esfuerzo para la creaci n e implementaci n de un algoritmo de reconocimiento de patrones electromiogr ficos en un sistema de desarrollo qu identifique los movimientos b sicos de la mano Apertura Cierre Extensi n Flexi n Pronaci n Supinaci n y Reposo ilustrados en la Figura 1 permitiendo en un futuro el entrenamiento de extremidades superiores as como tambi n promover la investigaci n y desarrollo de controladores de pr tesis de fabricaci n nacional Este sistema embebido permitir que los pacientes con alguna discapacidad de miembro superior no pierdan la habilidad de control sobre sus extremidades Estudios llevados acabo en empresas como OttoBock1 1 han revelado grandes dificultades cuando no han pertenecido previamente a programas de entrenamiento para el uso de extremidades mec nicas o uso de pr tesis de miembro superior El algoritmo mencionado buscar la mejora de controladores de sistemas mec nicos o pr tesis que utilizan se ales EMG s en aspectos como Veloc
29. ados de la implementaci n num rica de un algoritmo de reconocimiento de patrones electromiogr ficos en la tarjeta de desarrollo MC56F8357EVM de la familia 56F800 de Freescale Semiconductor para la identificaci n de los movimientos b sicos de la mano Apertura Cierre Extensi n Flexi n Pronaci n Supinaci n y Reposo la metodolog a utilizada para dar cumplimiento al objetivo de la presente investigaci n implement t cnicas de procesamiento digital de se ales tales como Transformada Wavelet Discreta An lisis de Componentes Principales y Maquinas de Soporte Vectorial En igual sentido la inventiva aplicada en la presente investigaci n empleo un procedimiento comprendido en tres etapas las cuales son env o de se ales EMG y modelos propios del estudio de cada paciente adquisici n y procesamiento de las se ales EMG por parte del sistema de desarrollo y por ltimo la visualizaci n del movimiento identificado en una LCD 2x16 caracteres con el procedimiento se logr primero la visualizaci n del movimiento identificado en pantalla LCD 2x16 Y como aspecto m s relevante se dio origen a un algoritmo eficiente en consumo de recursos computacionales con 7 2Mb y 8 7Mb de memoria de programa flash y memoria de datos RAM respectivamente y velocidad de ejecuci n de 226 milisegundos los cuales contribuir n en futuras investigaciones locales sobre el desarrollo de controladores para pr tesis de manos en aras de fortalecer y mejorar la c
30. alidad de vida del ser humano Proyecto de Grado Facultad de ingenier as F sico Mec nicas Escuela de Ingenier as El ctrica Electr nica y Telecomunicaciones Director MPE Jaime Guillermo Barrero P rez Codirector MIE Jhonatan Camacho Navarro 13 ABSTRACT TITLE Implementation of a recognition algorithm for electromyographic patterns on a development board for basic hands movement identification AUTHORS Fabi n Pe a S nchez Julio Cesar Peralta D as KEYWORDS Electromyographics EMG s movement identification algorithm computational resources execution speed In this article the results of a numerical implementation of a recognition algorithm of electromyographic patterns on a development board MC56F8357EVM from the 56F800 Freescale semiconductor family for basic hands movements Open Closure Extension Flexion Pronation Supination and rest are found the methodology used to achieve this investigation s objective implemented digital signal processing techniques such as Discrete Wavelet Transform Principal Component Analysis and Support Vector Machines On the same idea the inventiveness applied on the present investigation applied a three staged procedure which are EMG signal and particular model for each patient sending EMG signal acquisition and processing by the development board and at last visualization of the identified movement on a 2x16 characters LCD screen
31. ar amp dato if dato x00 dato2 i dato i if i 15 num jota atof dato2 i 0 jota 1 if dato x00 amp amp jota gt 512 IRQ 1 if dato x00 amp amp jota 512 IRQ 2 END Events This file was created by Processor Expert 3 00 04 35 for the Freescale 56800 series of microcontrollers
32. caci n de movimientos de dicho tiempo est dentro de valores aceptables para identificaci n de movimientos seg n 9 Los resultados obtenidos mediante el algoritmo desarrollado fueron satisfactorios La desviaci n de los datos fue nula respecto a los resultados obtenidos en el trabajo de grado Dise o de una interfaz electr nica para el reconocimiento de patrones EMG para pr tesis de mano tomado como base y punto de partida en la realizaci n este proyecto Se logro obtener datos fiables y aceptables haciendo uso m s eficiente del c lculo num rico de la DWT respecto a otros planteamientos que demandaban m s recursos especialmente en la parte de la convoluci n que se redujo a las operaciones necesarias que permitieron un menor tama o del algoritmo y as hacer factible su implementaci n en cuanto a tama o disponible para su programaci n en el DSC Al introducir en el c digo el m todo de reducci n del efecto borde en la aplicaci n de la DWT a los datos de la se al electromiogr fica tambi n aporto una mejora de los resultados y reducci n del tama o del c digo Los resultados permiten concluir que el algoritmo implementado para el reconocimiento de patrones electromiogr ficos en el DSC se puede considerar viable desde el punto de vista de desempe o con un el tiempo de ejecuci n de 226ms comparado con lo mencionado en 9 y aprovechamiento de recursos del procesador con un tama o del c digo de 13 8867
33. cargado anteriormente se reduce la dimensionalidad de las caracter sticas extra das con el m todo ACP de donde se obtienen un vector ACP con 6 datos 1 3 Reconocimiento de patrones Luego se aplica MSV utilizando criterio polynomial para luego hacer el reconocimiento del movimiento al cual corresponden los datos de la se al electromiograf a ingresada mediante t cnicas de votaci n y en caso de empate por probabilidad es identificado Este proceso arroja un vector que contiene 7 datos en el cual la posici n en que se encuentre el de mayor valor corresponde al n mero del movimiento identificado Posteriormente se hace la correspondencia del n mero identificado con el movimiento y con la previa configuraci n de los puertos GPIO conectados a la pantalla 2x16 se muestra en esta el movimiento al cual corresponde Para terminar el programa vuelve a su punto inicial si el usuario lo desea puede enviar m s datos del paciente correspondientes a otro movimiento para ser identificados o enviar nuevamente el modelo y se al si va a hacer reconocimiento a un nuevo paciente 39 ANEXO D Algunos Bean s de la herramienta Processor Expert del software CodeWarrior para DSP s El software CodeWarrior mediante su herramienta Processor Expert permite crear m dulos completos para utilizaci n de los perif ricos as como tambi n m dulos que realizan operaciones matriciales trigonom tricas vectoriales de
34. ci n que para el caso en estudio es la misma varianza a raz n de la estandarizaci n de los datos originales 6 2 esta t cnica estad stica y algebraica ayuda a reducir dimensiones de datos e identificar patrones sobre muestras de estos datos sin perder mucha informaci n 4 5 Donde son los datos provenientes del proceso de descomposici n wavelet y aplicaci n de estad sticos RMS con un tama o de datos y es la media y la varianza de los datos originales proporcionadas en el modelo obtenido en 2 Como resultado se tiene el vector de datos ajustados centrados el cual se multiplica por la matriz de caracter sticas principales para obtener los datos finales dicha matriz es proporcionado en el modelo ACP enviado por la interfaz gr fica descrita al inicio de metodolog a propuesta Los datos finales con reducci n de dimensionalidad son los que se muestran el la Figura 13 y que se usaron en el proceso de clasificaci n con MSV ACP ambos canales 1 2 3 4 5 6 1 4 1 2 1 0 8 0 6 0 4 0 2 0 0 2 0 4 Figura 13 Datos obtenidos del an lisis ACP Fuente Autores e Identificaci n del movimiento Intuitivamente dado un grupo de datos distribuidos en dos clases una MSV lineal busca un hiperplano de tal manera que la mayor cantidad de puntos de la misma clase queden al mismo lado mientras se maximiza la distancia de dichas clases al
35. ctor cargado con caracteristicasMSV 0 5 9187 norma ff 0 gg 0 fx 0 clas1 0 clas2 0 for k 0 k lt 21 k se itera 21 veces que corresponde al numero de modelos H 0 0 H 1 0 H 2 0 H 3 0 H 4 0 H 5 0 H 6 0 e 0 H1 0 Implementado un sistema de votaci n y en caso de empate gg ff se trabaja con probabilidades metodo polynomial ff filas k f poly ACP MSV SV H Alpha gg ff fx f b k voto 0 0 voto 1 0 voto 2 0 voto 3 0 voto 4 0 voto 5 0 voto 6 0 sistema de votaci n por parejas clas1 clase1 k clas1 depende de el vector cargado clase1 de 21 datos clas2 clase2 k clas2 depende de el vector cargado clase2 de 21 datos voto clas1 1 1 voto clas2 1 1 dependiendo la clase asigna 1 0 1 en el vector voto if fx gt 0 sign 1 else sign 1 for i 0 i lt 7 i rep1 i sign for i 0 i lt 7 i rep2 i voto i for i 0 i lt 7 i voto i rep1 i rep2 i 47 prob1 0 0 prob1 1 0 prob1 2 0 prob1 3 0 prob1 4 0 prob1 5 0 prob1 6 0 for i 0 i lt 1 i funci n de probabilidad para el caso de empates pos 1 1 exp fx neg 1 pos prob1 clas1 1 pos se llena el subvector de probabilidad prob1 clas2 1 neg for i 0 i lt 7 i votos i voto i for j 0 j lt 7 j prob j prob1 j se llena el vector de probabilidad for j 0 j lt 7 j temp j votos j p
36. da y el archivo se encuentra en una subcarpeta de un paciente estudiado c Al igual que el tem anterior se seleccionan el canal posterior el Modelo PCA Y Modelo MSV 3 3 Programaci n a Abrimos CodeWarrior para DSC b Abrimos el proyecto llamado TWD_EMG_DSC c Compilamos el proyecto y luego procedemos a programarlo d Una vez programado procedemos a dar PLAY mediante la interfaz de depuraci n de CodeWarrior 3 4 Ejecuci n completa del sistema de identificaci n de los movimientos b sicos de la mano Una vez corrido el algoritmo en el sistema de desarrollo se presentaran unas instrucciones en pantalla las cuales indicaran los pasos a seguir a Los primeros textos mostrados en la pantalla hacen referencia al nombre del proyecto instituci n y autores del proyecto ilustradas en la Figura A1 Figura A 1 Presentaci n del proyecto Fuente Autores 30 b El primer mensaje informativo indica que se debe enviar el modelo desde la interfaz en Matlab lo cual procedemos a hacer c Luego de esperar a la transferencia de los datos se procede a cargar el modelo en las variables asignadas dentro del c digo por los autores presionando el pulsador IRQB del sistema de desarrollo Los pasos mencionados en los tems anteriores se muestran en la Figura A2 Figura A 2 Env o de modelo Fuente Autores d Inmediatamente la indicaci n informa que se debe enviar alguna se al med
37. distintas velocidades en bps Control de Motores Contiene librer as para control de motores Control de conmutaci n para sensores de efecto hall Control para detecci n de cruces por cero Control de freno Control en espacio de estados ETC Sistema Operativo MicroC Bibliotecas de seguridad Cifrado de datos Bibliotecas telef nicas Detecci n de tonos en procesos de llamadas Generaci n de tonos comunes Detecci n de actividad de vos Entre otros Herramientas de biblioteca Cuenta de ciclos Buffers circulares Comprobaci n del paquete de software Soporte para pruebas y servicio 41 Tutoriales Propiedades de las versiones b sicas de los BEANS 42 ANEXO E C digo Implementado En la programaci n se generaran dos c digos que pertenecen a el c digo principal llamado paciente1 c donde se encuentran todas las t cnicas expuestas en el art culo y un c digo generado por los diferentes Bean s llamado Events c 1 Principal Filename DWT_EMG_DSC C Project DWT_EMG_DSC Processor 56F8357 Version Driver 01 14 Compiler Metrowerks DSP C Compiler Date Time 06 09 2011 07 27 p m Abstract Main module This module contains user s application code Settings Contents No public methods
38. e cada filtrado en la extracci n de caracter sticas principales con TWD Ya que si solo se filtraba la se al EMG sin el m todo de expansi n el error por movimiento y a su vez el error total se incrementaba de manera considerable como se muestra en la Figura17 y Figura 18 que presenta la identificaci n de los movimientos b sicos de la mano del paciente n mero 2 con el m todo de expansi n y sin l Diagrama de validaci n Convolucion Convolucion RMS RMS Validacion de datos Lectura de Datos PCA PCA Validacion de datos Lectura de Datos SVM SVM Validacion de datos Lectura de Datos Validacion de datos Lectura de Datos Figura 16 Estructura preliminar de validaci n del algoritmo Fuente Autores 23 Al mirar detalladamente los datos arrojados por esta interfaz se observa un incremento del error total de a para el paciente 2 Este tipo de incremento en el error tambi n est presente en otros pacientes InterfazEJECUCION Paciente 2 Figura 17 Identificaci n de los movimientos b sicos de la mano con el m todo de expansi n Fuente InterfazEJECUCION 2 A raz n de estas fluctuaciones en el procesamiento de los datos se opt por dejar definido el par metro citado en la estructura del algoritmo implementado sobre la DSC InterfazEJECUCION Paciente 2 Figura 18 Identificaci n de los movimientos b sicos de la mano sin el m todo de expansi
39. e los Bean de conexi n a la LCD 34 Figura B 5 Configuraci n de los Bean conectados a los led de test 35 Figura C 1 Algoritmo implementado 37 Figura C 2 Algoritmo implementado 37 11 LISTA DE ANEXOS P g ANEXO A Manual de usuario 27 ANEXO B Configuraci n de los m dulos del DSC 32 ANEXO C Descripci n del algoritmo de identificaci n 36 ANEXO D Algunos Bean s de la herramienta Processor Expert del software CodeWarrior para DSP s 39 ANEXO E C digo Implementado 42 12 RESUMEN TITULO Implementaci n de un algoritmo de reconocimiento de patrones electromiogr ficos en una tarjeta de desarrollo para la identificaci n de los movimientos b sicos de la mano AUTORES Fabi n Pe a S nchez Julio Cesar Peralta D as PALABRAS CLAVES Electromiogr ficos EMG s identificaci n de movimiento algoritmo recursos computacionales y velocidad de ejecuci n En este art culo se encuentran los result
40. e una interfaz electr nica para el reconocimiento de patrones electromiogr ficos para pr tesis de mano Pregrado Escuela de Ingenier a El ctrica Electr nica y Telecomunicaciones Universidad Industrial de Santander Bucaramanga 2008 3 DANE ltimo censo enlace http www dane gov co censo files boletine s discapacidad pdf 4 PINZ N Rub n y MORALES Diego y GRISALES V ctor Caracterizaci n de se ales electromiogr ficas para la discriminaci n de seis movimientos de la mano Universidad Tecnol gica de Pereira 2009 Enlace 26 5 Hoja de datos del DSC MC56F8357 http cache freescale com files DSC doc dat a_sheet MC56F8357 pdf 6 LINDSAY I SMITH A tutorial on Principal Components Analysis 2002 7 CAMPOS E SU REZ A Clasificaci n autom tica de perturbaciones de se ales de tensi n o corriente utilizando m quinas de soporte vectorial MSV Universidad Industrial de Santander 2007 8 Y Sheng The Transforms and Applications Handbook CRC Press 1996 9 ENGLENHART K PARKER P A Wavelet based Continuos Classification Scheme for multifunction Myoelectric Control IEEE transactions on bidirectional engineering vol 48 no 3 March 2001 10 WAVELET BROWSER Wavelet Symlets 4 sym4 Properties http wavelets pybytes com wavelet sym4 11 VLADIMIR VAPNIK The Nature of Statistical Learning Theory Sp
41. el sistema de desarrollo como lo son SCI SPI TIMERS BUSS de memoria ETC 2 M dulos utilizados El orden es de acuerdo como parece en el proyecto implementado en CodeWarrior 2 1 53F8357EVM_Button_IRQA Button ver Figura B1 a Nombre Identifica b Funci n Se encarga de ejecutar el c digo implementado mediante una sentencia que detecta la pulsaci n y ejecuta el mismo Figura B 1 Configuraci n del Bean 53F8357EVM_Button_IRQA Button Fuente Autores 33 2 2 53F8357EVM_Button_IRQB Button ver Figura B2 a Nombre CargaMODELO b Funci n Se encarga de actualizar las variables reservadas de los par metros de procesamiento despu s de la transferencia de estos mediante una sentencia que detecta la pulsaci n y actualiza la misma Figura B 2 Configuraci n delBean53F8357EVM_Button_IRQB Button Fuente Autores 2 3 AsynchroSerial ver Figura B3 a Nombre RxDATO b Funci n Se encarga de la recepci n de los caracteres ASCII mediante comunicaci n serial 2 4 BitsIO ver Figura B4 a Nombre DATA b Funci n Bus de datos que comunica el sistema de desarrollo con la LCD 2x16 la cual mostrara diferentes textos instructivos 2 5 BitIO ver Figura B4 a Nombre RS b Funci n Bit de configuraci n Registro Instrucci n que comunica el sistema de desarrollo con la LCD 34 Figura B 3 Configuraci n del Bean AsynchroSerial Figura B 4 Config
42. entado por 2 ilustrado en la Tabla 3 el cual presento un alto desempe o frente a otros modelos evaluados por los autores para identificaci n de los movimientos b sicos de la mano Tabla 4 Modelo Implementado Modelo implementado par metro descripci n Wavelet Symlet4 Nivel de Resoluci n 4 Estad sticos calculados RMS An lisis ACP CORRELACION Criterios de selecci n ESTANDAR Fuente Autores c Estad sticos aplicados a los coeficientes extra dos Los estad sticos aplicados a los coeficientes de aproximaci n y detalle obtenidos es el valor RMS de cada nivel de resoluci n descrito en la ecuaci n 3 3 Donde es el tama o del vector de coeficientes de cada nivel de resoluci n mostrado en la Figura 8 tomando como valor los cinco datos de la Tabla 3 Como resultado se tiene un vector de 10 datos RMS 5 por canal mostrados en la Figura 11 y Figura 12 de los coeficientes extra dos en el paso anterior RMS canal anterior 1 1 5 2 2 5 3 3 5 4 4 5 5 0 1 2 3 4 5 6 x 10 3 Figura 11 RMS canal anterior Fuente Autores RMS canal posterior 1 1 5 2 2 5 3 3 5 4 4 5 5 0 0 02 0 04 0 06 0 08 0 1 0 12 0 14 Figura 12 RMS canal posterior Fuente Autores d Reducci n de la dimensionalidad 21 La reducci n de dimensionalidad se hace mediante ACP an lisis de componentes principales criterio correla
43. eta de desarrollo Motorola Freescale MC56F8357EVMUM que cuenta con puerto JTAG RS232 entre otros muy importantes la tarjeta mencionada cuenta con un DSC Controlador Digital de Se ales como 28 dispositivo de procesamiento central a una frecuencia de 60 MIPS o 60MHz 2 Conexiones Para la puesta en funcionamiento de la investigaci n se conecta la tarjeta de desarrollo al equipo de c mputo mediante un cable de conexi n paralela Cable paralelo para programaci n y visualizaci n de variables y datos mediante software CodeWarrior otro de conexi n seriada Cable serial para env o de se ales EMG y modelos propios de cada paciente y el cable de alimentaci n de energ a del sistema de desarrollo Motorola Freescale 3 Funcionamiento Para la puesta en funcionamiento del proyecto se siguen los pasos mostrados a continuaci n con las respectivas acotaciones misionadas en la secci n 1 1 del presente manual 3 1 Instalaci n en Matlab a Ejecutar MATLAB 7 o superior b Copiar la carpeta TWD_EMG_DSC a un directorio especificado por el usuario c Adicionar al path de MATLAB la carpeta TWD_EMG_DSC y subcarpetas 3 2 Ejecuci n en Matlab a Ahora se procede a correr el archivo llamado InterfazEnvioVALIDACION m b Se selecciona el archivo de la se al EMG del canal anterior picando en la pesta a Canal Anterior que se encuentra en la interfaz anteriormente 29 menciona
44. iante la interfaz en Matlab NOTA La se al enviada desde Matlab para ser procesada se debe pertenecer al mismo paciente del cual se enviaron los modelos ACP y MSV Estas se ales se deben seleccionar de un grupo de 133 muestras que contienes lo 7 movimientos a identificar donde las primeras 19 muestras contienen el movimiento apertura las segundas 19 muestras contienen el movimiento cierre y as hasta terminar Se puede enviar cualquiera de estas muestras e Despu s de enviada alguna se al EMG se procede a la parte m s importante de la investigaci n que es la identificaci n esta se hace presionando el pulsador IRQA del sistema de desarrollo Ver Figura A3 31 f Por ltimo se visualiza en pantalla el movimiento identificado por el sistema de desarrollo Ver Figura A3 Figura A 3 Env o de se ales e identificaci n Fuente Autores De la misma forma que se env o la se al EMG de alg n movimiento se puede enviar la de otro sin interrumpir el mecanismo o las conexiones de la prueba As mismo se puede enviar de nuevo otro modelo y muestras de un nuevo paciente que se quiera analizar 32 ANEXO B Configuraci n de los m dulos del DSC 1 Descripci n general Para la implementaci n del algoritmo de reconocimiento de patrones electromiogr ficos se utiliz la herramienta Processor Expert el cual entrega m dulos preconfigurados de distintos dispositivos con los que cuenta
45. idad de respuesta reducci n de recursos computacionales y aumento de movimientos identificados Movimientos b sicos de la mano Figura 1 Grados de libertad identificados Fuente Autores 1Empresa de fabricaci n de pr tesis 2 ANTECEDENTES En la actualidad el procesamiento de se ales EMG s es el m todo m s com n usado para el control de pr tesis de mano activas Sin embargo las pr tesis comerciales generalmente implementan dos DoF2 Grados de libertad No obstante en las ltimas d cadas y especialmente entre los ltimos a os muchos esfuerzos se han llevado a cabo con el fin de aplicar un control efectivo con base en t cnicas para el procesamiento de se ales EMG s A partir de los primeros intentos a finales de la d cada de los 40 varios algoritmos basados en se ales EMG s se han desarrollado y utilizado para mejorar la funcionalidad y facilidad de uso de pr tesis de mano 2 En Colombia se presentan diversos casos de discapacidad seg n el ltimo reporte del DANE el 14 6 de 593 546 personas discapacitadas tienen limitaciones de brazos o manos 3 y un bajo porcentaje de estos sujetos tienen acceso a ayudas m dicas como pr tesis u otros sistema rob ticos esto debido a los altos costos ya que la mayor a de los dispositivos son fabricados por empresas extranjeras como Otto bock y Delsys3 y no por entidades colombianas que favorezcan el precio de adquisici n de los mismos Por otro lado lo
46. izaci n en pantalla del movimiento identificado se divide en dos pasos que son 5 3 1 Asignaci n de direcciones en memoria Program Flash y Data Flash 5 3 2 Mediante de la hoja de datos del DSC 5 se tiene la cantidad de memoria en bytes de cada posici n de memoria y las diferentes distribuciones de esta 24 Para la medici n de los recursos se presentan tres aspectos que son a nicamente la memoria ocupada por el algoritmo sin agregar herramientas del software Codewarrior b El modelo los datos de un movimiento y un Bean de pulsador son incluidos en la programaci n del algoritmo sobre la DSC c El modelo para cada paciente y dos Bean s de pulsador se incluye en la programaci n del algoritmo y se env a mediante comunicaci n serial los datos de la se al EMG de cada movimiento a la DSC d Se env a modelo y se al EMG por medio de comunicaci n serial y solo se reservan las variables y los Bean s de pulsador en la DSC que almacenaran las se ales y modelos para la identificaci n Los resultados de consumo de recursos de los aspectos mencionados anteriormente se presentan a continuaci n Tabla 6 Memoria utilizada Tipo de memoria Dir Asignadas Mem Kbytes Aspecto a Program Flash 3701 7 3 Data RAM 4496 8 8 Aspecto b Program Flash 3822 7 5 Data RAM 4500 8 8 Aspecto c Program Flash 6532 12 8 Data RAM 5772 11 3 Aspecto d Program Flash 7110
47. l al1 al2 al3 a14 a15 a16 a17 a18 a19 bytepuntos 16 void conv float U 282 float WL 8 float WH 8 float Z 131 float V 131 float X 2 270 int N int M int l int t intrmss float U 282 float RMS 10 int s float poly float ACP 6 float MSV 5 float SV 78 6 float H 7 float Alpha 128 intgg intff floatraiz float x externbool flag1 FALSE externbool flag2 FALSE extern float num 1052 externint jota externint IRQ 44 void main void Write your local variable definition here static float H1 0 H 7 f fx prob 7 pos 0 neg 0 votos 7 temp 7 prob1 7 static int N 0 M A B fi co t l c i j k clas1 clas2 sign rep1 7 rep2 7 cont Y 0 ff 0 gg 0 e s 0 ss voto 7 N contiene el numero de datos a ingresar por canal Processor Expert internal initialization DON T REMOVE THIS CODE PE_low_level_init End of Processor Expert internal initialization Writeyourcodehere INIC_LCD InicializalaLCD MENU fuente1 fuente2 Visualiza el t tulo del proyecto ESPERA MENU uis uis1 Visualiza los logos de la universidad y de la escuela ESPERA MENU est est1 Visualiza los autores ESPERA MENU frase0 frase01 Visualiza los autores ESPERA ESPERA ESPERA ESPERA MENU frase1 frase11 Visualiza lo
48. l reconocimiento de patrones EMG para pr tesis de mano 2 de forma digitalizada mediante los siguientes par metros Dos canales por se al Anterior Figura 6 y Posterior Figura 7 Frecuencia de muestreo de 1kHz Duraci n por movimiento de 5s Orden de los movimientos adquiridos Apertura Cierre Extensi n Flexi n Pronaci n Reposo Supinaci n _____________________________________________________________________________________ Secuencia para el procesamiento e identificaci n del movimiento Base de datos con se ales EMG digitalizadas Procesamiento de Se al con DWT sym4 4 niveles Muestras de 256 datos de un movimiento Modelos caracter sticos de cada paciente Vector con el conjunto de caracter sticas originales Reduccion del numero de variables mediante PCA reducido a 6 datos Vector PCA Reconocimiento de patrones mediante SVM identificado Movimiento Se al correspondiente a los movimiento de la mano PC DSC Figura 5 Diagrama general del algoritmo implementado en la tarjeta de desarrollo Fuente Autores _____________________________________________________________________________________ LCD 19 Canal Anterior 0 50 100 150 200 250 5 0 5 10 x 10 3 Tiempo Voltios Se al EMG canal Anterior Figura 6 Se al EMG de 256 ms de un movimiento pertenecientes
49. line if the appropriate Interrupt preserve registers property is set to yes pragma interrupt saveall is generated before the ISR voidIdentifica_OnButton void Write your code here flag1 TRUE CORRE CODIGO Event CargaMODELO_OnButton module Events Component CargaMODELO Button Description This event is called when the button is pressed If button inactivity feature advanced view is enabled 53 then the next OnButton event is not generated during dead time Parameters None Returns Nothing pragma interrupt called Comment this line if the appropriate Interrupt preserve registers property is set to yes pragma interrupt saveall is generated before the ISR voidCargaMODELO_OnButton void Write your code here flag2 TRUE Event RxDATO_OnError module Events Component RxDATO AsynchroSerial Description This event is called when a channel error not the error returned by a given method occurs The errors can be read using lt GetError gt method The event is available only when the lt Interrupt service event gt property is enabled Parameters None Returns Nothing
50. rVal RETARDO 75 void ESCRIBIR_DATO byte Dato RS_SetVal Para enviar una instrucci n RETARDO 75 DATA_PutVal Dato RETARDO 75 Enable_SetVal RETARDO 75 Enable_ClrVal RETARDO 75 void ESCRIBIR const byte c byte MSB LSB int i for i 0 i lt 16 i RETARDO 75 MSB 0xF0 amp c i LSB 0x0F amp c i MSB MSB gt gt 4 ESCRIBIR_DATO MSB RETARDO 75 ESCRIBIR_DATO LSB RETARDO 75 END DWT_EMG_DSC This file was created by Processor Expert 3 00 04 35 for the Freescale 56800 series of microcontrollers 2 Eventos Filename Events C Project DWT_EMG_DSC Processor 56F8357 Component Events Version Driver 01 03 Compiler Metrowerks DSP C Compiler Date Time 06 09 2011 07 27 p m Abstract This is user s event module Put your event handler code here Settings Contents No public methods MODULE Events
51. ra 22 Figura 16 Estructura preliminar de validaci n del algoritmo 22 Figura 17 Identificaci n de los movimientos b sicos de la mano con el m todo de expansi n 23 Figura 18 Identificaci n de los movimientos b sicos de la mano sin el m todo de expansi n 23 Figura 19 Medici n de tiempo de ejecuci n del algoritmo mediante osciloscopio 24 Figura 20 Movimiento apertura visualizado en pantalla LCD 2x16 24 Figura A 1 Presentaci n del proyecto 29 Figura A 2 Env o de modelo 30 Figura A 3 Env o de se ales e identificaci n 31 Figura B 1 Configuraci n del Bean 53F8357EVM_Button_IRQA Button 32 Figura B 2 Configuraci n delBean53F8357EVM_Button_IRQB Button 33 Figura B 3 Configuraci n del Bean AsynchroSerial 34 Figura B 4 Configuraci n d
52. raiz sum 131 s return s void conv float U 282 float WL 8 float WH 8 float Z 131 float V 131 float X 2 270 int N int M int l int t float sum1 sum2 int k 0 i 0 j 0 g 0 fi co c 0 int A N 14 B M 14 for fi 0 fi lt 7 fi X t 6 fi X t 7 fi refleja los 7 primeros datos al principio del vector X t A 1 6 fi X t A 1 7 fi refleja los 7 ltimos datos al final del vector for fi 1 fi lt M fi fi 2 sum1 0 sum2 0 j fi for co 0 co lt 8 co sum1 WL co X t j sum2 WH co X t j j Z k sum1 V k sum2 k for i 0 i lt k i U l V i V i se van guardando los coeficientes de aproximaci n elevados al cuadrado l 49 float poly float ACP 6 float MSV 5 float SV 78 6 float H 7 float Alpha 77 intgg intff inti j e 0 float f 0 H1 0 for i gg i lt ff i for j 0 j lt 6 j H1 ACP j SV i j el vector SV contiene 21 matrices de diferentes filas por 6 columnas que corresponden a de modelos H e pow H1 MSV 1 MSV 1 H guarda los datos salidos del metodo polynomial H1 0 e e 0 for j gg j lt ff j Alpha contiene 21 modelos MSV f H e Alpha j f es un dato para una entrada de 256 datos e return f
53. ringer NY 1995 12 Martinez Adriana y Arenas Edgar Generador de se ales para mediciones de impedancia electroqu mica basado en DSP Electr nica y Telecomunicaciones Universidad Industrial de Santander Bucaramanga 2006 13 Strang G T Nguyen 1996 Wavelets and filter banks Wellesley Cambridge Press 27 ANEXOS ANEXO A Manual de usuario 1 Descripci n general La presente investigaci n permite mediante un equipo de c mputo y un sistema de procesamiento de se ales la identificaci n de los movimientos b sicos de la mano A partir de se ales EGM digitalizadas y datos de modelos con caracter sticas propias de pacientes sanos tambi n digitalizadas y procesadas mediante un sistema de desarrollo Tarjeta de desarrollo Motorola Freescale MC56F8357EVMUM que identifica el movimiento haciendo uso de t cnicas matem ticas mencionadas en el art culo 1 1 Aspectos importantes La investigaci n se desarroll para ser ejecutada desde dos dispositivos electr nicos a saber a Equipo de c mputo que cuente con hardware de conexi n serial y paralelo COM y LPT adem s de tener software Matlab 7 o superior para la ejecuci n de la interfaz de env o de los datos para ser procesados tambi n el software CodeWarrior CW_DSC56800E_8 3_Evaluation en el cual se implementa el algoritmo y posteriormente se programa el sistema de desarrollo b Tarj
54. rob j 21 temp vector de 7 datos que contiene el movimiento echo de 7 movimientos for j 0 j lt 7 j identificaci n del movimiento cont 0 for i 0 i lt 7 i if temp j gt temp i Obtiene el valor m ximo de cada fila en temp y la ubicaci n de la columna en Y cont 1 if cont 7 Y j 1 break asm nop jota 0 flag1 FALSE IDENT_Set 0 switch Y case 1 MENU Qmov mov1 Visualizaelt tulodelproyecto break case 2 MENU Qmov mov2 Visualizaelt tulodelproyecto break case 3 MENU Qmov mov3 Visualizaelt tulodelproyecto break case 4 MENU Qmov mov4 Visualizaelt tulodelproyecto break case 5 MENU Qmov mov5 Visualizaelt tulodelproyecto break case 6 MENU Qmov mov6 Visualizaelt tulodelproyecto break case 7 MENU Qmov mov7 Visualizaelt tulodelproyecto break 48 intrmss float U 282 float RMS 10 int s float sum 0 int i for i 0 i lt 22 i sum U i RMS s raiz sum 22 sum 0 s for i 22 i lt 44 i sum U i RMS s raiz sum 22 sum 0 s for i 22 i lt 82 i sum U i RMS s raiz sum 38 sum 0 s for i 38 i lt 151 i sum U i RMS s raiz sum 69 sum 0 s for i 69 i lt 282 i sum U i RMS s
55. s muy importantes Tambi n del software CodeWarrior para DSP V8 3 de distribuci n libre Tabla 1 Recursos computacionales incorporados en la DSC Velocidad 60MHz 60MIPS Bus 16 bit Memoria Interna 256 KB Program Flash 4 KB Program Ram 8 KB Data Flash 16 KB Data Ram 16 KB Boot Flash Fuente Autores Tabla 2 Perif ricos incorporados en la DSC Perif ricos PWM 2 m dulos de 6 canales ADC 4 canales de 12 bits Sensores Temperatura Decodificadores 2 m dulos de 4 canales Comunicaci n FlexCAN 2 interfaz de comunicaci n serial SCI 2 interfaz perif rico serial SPI Timer 4 m dulos programaci n Un Modulo JTAG Pines 76 l neas de prop sito general Fuente Autores El software de programaci n del algoritmo cuenta con un gran n mero de m dulos llamados BEAN S que tienen algoritmos de procesamiento num rico ya sea an lisis de se ales como FFT o filtro FIR IIR operaciones vectoriales matriciales m dulos de control de motores comunicaciones entre otros muy usados en ingenier a que permiten una r pida programaci n y aprovechamiento del sistema de desarrollo Recepci n de los datos mediante el puerto serial y m dulo SCI Para la recepci n de datos mediante el puerto serial se configuro uno de los Bean s5 SCI Serial As ncrono AsynchoSerial utilizando la herramienta de recepci n de datos tipo CHAR Mediante un algoritmo sencillo mostrado en la
56. s pacientes en condiciones de discapacidad de miembro superior desarrollan un fen meno llamado efecto fantasma Este fen meno hace que el paciente sienta su extremidad a pesar que se encuentra ausente Sin embargo con el paso del tiempo esta sensaci n se pierde debido a que el cerebro asimila la p rdida de dicho miembro As mismo a pesar del alto porcentaje de discapacitados de miembros superiores y del incremento en investigaci n y desarrollo en ste campo a nivel regional en universidades como la Universidad Tecnol gica de Pereira 4 los sistemas de control de pr tesis a n no cumplen con los altos requerimientos de desempe o para emular el funcionamiento real del antebrazo como facilidad de uso control de velocidad control de fuerza y alta funcionalidad cantidad de movimientos identificados 2Por sus siglas en ingles Degree of freedom 3Empresa de investigaci n en el rea de Bioingenier a 16 En la UIS a trav s del proyecto Dise o de una interfaz electr nica para el reconocimiento de patrones EMG para pr tesis de mano 2 se estableci una metodolog a para identificar movimientos As mediante la TWD Transformada Wavelet Discreta se realiza el proceso de extracci n de caracter sticas luego aplicando ACP An lisis de Componentes Principales 6 se reduce el conjunto de caracter sticas anteriormente obtenido y finalmente a trav s de MSV M quinas de Soporte Vectorial
57. sautores ESPERA for if IRQ 1 MENU frase2 frase3 Visualiza los autores ESPERA IRQ 0 if IRQ 2 MENU frase5 frase6 Visualiza indicaciones para el usuario ESPERA IRQ 0 if flag2 TRUE CargaMOD_Set 1 k 1 for i 0 i lt num 0 100 i for j 0 j lt 6 j SV i j num k k for i 0 i lt num 0 100 i Alpha i 100 num k k for i 0 i lt 10 i for j 0 j lt 6 j P i j num k 45 k for i 0 i lt 21 i b i num k k for i 0 i lt 2 i MSV i num k k for i 0 i lt 10 i Desv i num k k for i 0 i lt 10 i media i num k k for i 0 i lt 21 i filas i num k 10 k k 0 for i 0 i lt 1052 i num i 0 jota 0 flag2 FALSE CargaMOD_Set 0 MENU frase4 frase01 Visualiza indicaciones para el usuario ESPERA ESPERA ESPERA ESPERA MENU frase1 frase11 Visualiza indicaciones para el usuario ESPERA if flag1 TRUE IDENT_Set 1 for i 0 j 7 i lt 256 i j X 0 j num i X 1 j num i 256 for i 0 i lt 1052 i num
58. teres que contiene el signo los enteros el punto decimal y los respectivos decimales descrito en la Figura 3 Esta cadena de caracteres tiene un tama o de 15 datos tipo CHAR por cada dato double as uniendo todos los datos CHAR en un string que contiene la totalidad de la se al EMG En este punto la se al ya est lista para enviarla por el puerto serial 4Tipo de datos utilizado en programaci n num rica al igual que enteros y en coma flotante int float etc 17 Algoritmo para codificaci n de datos tipo double a car cter SERIALENVIO Datos X Datos m1 0 m2 0 N length X X i lt 0 Dato 1 X i S 1 char 45 Dato X i S 1 char 43 i 1 N j 4 15 Dato Dato 10 Ent fix Dato S j caracter Ent Dato Dato Ent Datos enviados Ent fix Dato S 2 caracter Ent S 3 char 46 Dato Dato Ent m1 1 m2 m2 15 i h m1 m2 S Figura 3 Diagrama de flujo para codificaci n de modelos y se ales EMG s Fuente Autores 3 2 Implementaci n del algoritmo de recepci n y procesamiento del movimiento sobre la tarjeta de desarrollo MC56F8357EVM La parte fundamental de la presente investigaci n fue implementada sobre la tarjeta de desarrollo MC56F8357EVM freescale que cuenta con un controlador de se ales digitales DSC de la misma familia la cual presenta diversos perif ricos como lo son ADC PWM TIMERS SCI 5 entre otro
59. uraci n de los Bean de conexi n a la LCD Fuente Autores 35 1 1 BitIO ver Figura B4 a Nombre Enable b Funci n Bit que habilita el funcionamiento de la LCD 1 2 Led ver Figura B5 a Nombre CargaMOD b Funci n Led configurado con el fin de leer mediante osciloscopio el tiempo de procesamiento del c digo en este caso el tiempo que demora en actualizar los datos de los modelos 1 3 Led ver Figura B5 a Nombre IDENT c Funci n Led configurado con el fin de leer mediante osciloscopio el tiempo de procesamiento del c digo en este caso el tiempo que demora el algoritmo principal para la identificaci n de los movimientos Figura B 5 Configuraci n de los Bean conectados a los led de test Fuente Autores 36 ANEXO C Descripci n del algoritmo de identificaci n 1 Descripci n general El diagrama de flujo de la Figura C1 Representa el c digo planteado e implementado en el DSC Se observa una estructura tipo for y la forma de simbolizarla indica un ciclo infinito esto se debe a la programaci n de este tipo de dispositivos los cuales tienen un ciclo infinito el cual siempre retorna al inicio del algoritmo En el diagrama de flujo de la Figura C2despu s de inicializar variables arreglos y perif ricos necesarios para poder ejecutar el c digo que realizar la identificaci n de los movimientos se pasa al ciclo infinito en donde se reciben y cargan
Download Pdf Manuals
Related Search
Related Contents
dreamGEAR DGIPOD-318 docking speaker Stage Designer™ 50 TFX-48B USER MANUAL Snapshot Manuel d`utilisation Onduleurs Platine Réseaux® I NUOVI MEDIA AL SERVIZIO DEL CINEMA SkyWeb User Guide Document Revision: 03.20 (DOC1838) サーマルイメージ放射温度計 TG165 Amplified Classic Phone Téléphone Vintage Amplifié "user manual" USER MANUAL P34F Service Manual Copyright © All rights reserved.
Failed to retrieve file