PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ Facultad de Ciencias e Ingeniería DISEÑO DE UNA INTERFAZ CEREBRO COMPUTADOR Tesis para optar por el Título de Ingeniero Mecatrónico, que presenta el bachiller: Erick Fabrizio Carranza Urquizo ASESOR: M.Sc. Francisco Fabián Cuéllar Córdova ASESOR: Ing. José Daniel Alcántara Zapata Lima, Abril del 2016 i RESUMEN A nivel mundial, se estima que más de mil millones de personas viven con alguna discapacidad física o mental, lo que representa alrededor del 15% de la población global y esta cifra sigue en aumento. Existe un grupo de enfermedades que afectan la capacidad física motriz, las cuales llegan a postrar a pacientes en cama y a necesitar asistencia de por vida ya que la lesión imposibilita el movimiento desde el cuello hacia abajo. Ante esta problemática, se están desarrollando Interfaces Cerebro Computador, las cuales son usadas como una manera alternativa de comunicación y control para pacientes con discapacidad motriz. Sin embargo, estudios demuestran que aún no se han logrado diseñar dispositivos que logren satisfacer las necesidades reales de este tipo de pacientes. En este contexto, el presente trabajo presenta el diseño de una interfaz cerebro computador, el cual se compone por un casco de adquisición de señales cerebrales, un sistema de procesamiento de señales y el control de un dispositivo robótico con forma de mano humanoide. El diseño del headset posee las siguientes características: i) Portable y basados en estándares antropométricos de medidas de cabeza; ii) Mecanismo de sujeción y reposicionamiento de electrodos basado en el sistema internacional 10-20 de posicionamiento de electrodos. La etapa de procesamiento de señales se realizó mediante una simulación usando el software OpenVibe, el cual es un software especializado para interfaces cerebro computador y permite realizar una programación mediante bloques. Asimismo, se demostró el control de una mano robot humanoide mediante un experimento, en el cual se logró comunicar el software de procesamiento de señales con un controlador Arduino, el cual comanda los servomotores que permiten mover la mano. Finalmente, la implementación del presente proyecto tiene un costo de S/.14948.92, teniendo en cuenta el costo de diseño, costo de componentes tanto mecánicos como electrónicos, costo de fabricación e imprevistos. ii iii AGRADECIMIENTOS A mi familia, por haberme apoyado durante el tiempo de estudios, por sus consejos y la motivación día a día. A mis asesores, Francisco Cuéllar Córdova y José Daniel Alcántara Zapata quienes me han guiado y aconsejado durante el transcurso de mis estudios y el desarrollo de la tesis. iv INDICE DE CONTENIDOS RESUMEN……………………………………………………………………………………i APROBACIÓN DEL TEMARIO DE TESIS……………………………………………….ii AGRADECIMIENTOS……………………………………………………………………...iii INDICE DE FIGURAS……………………………………………………………………...vi INDICE DE TABLAS………………………………………………………………………viii GLOSARIO DE TÉRMINOS………………………………………………………………ix INTRODUCCIÓN……………………………………………………………………………1 I. ESTADO DEL ARTE……………………………………………………………….4 1.1 Descripción de una interfaz cerebro computador……………………….4 1.2 Mapeo Cerebral……………………………………………………………..4 1.3 Sistema Internacional 10-20……………………………………………….5 1.4 Paradigmas en BCI…………………………………………………………6 1.5 Componentes de un BCI…………………………………………………...8 1.6 Equipos Comerciales y de Investigación…………………………………9 1.7 Aplicaciones………………………………………………………………..10 II. FORMULACIÓN DE PROPUESTA DE SISTEMA MECATRÓNICO………..13 2.1 Objetivos y Alcances……………………………………………………...13 2.2 Metodología y Plan de Trabajo…………………………………………..15 III. DISEÑO DEL SISTEMA MECATRÓNICO……………………………………..16 3.1 Concepto de Funcionamiento…………………………………………...16 3.2 Presentación de Concepto……………………………………………….19 3.3 Sistema Electrónico……………………………………………………….22 3.3.1 Componentes Electrónicos………………………………………….24 3.3.2 Diagramas esquemáticos del sistema mecatrónico……………...35 3.4 Sistema Mecánico…………………………………………………………40 3.5 Diagramas de comunicación y funcionamiento del sistema mecatrónico………………………………………………………………...44 v IV. EXPERIMENTOS Y RESULTADOS……………………………………………50 4.1 Simulación………………………………………………………………….50 4.2 Experimento………………………………………………………………..57 V. PRESUPUESTO………………………………………………………………….65 CONCLUSIONES RECOMENDACIONES BIBLIOGRAFÍA vi INDICE DE FIGURAS Figura 1.1 Mapeo Cerebral.………………………………………………………………5 Figura 1.2. Sistema Internacional 10-20 de posicionamiento de electrodos…………6 Figura 1.3 Potenciales evocados P300…………………………………………………..7 Figura 1.4 Funcionamiento de una Interfaz Cerebro Computador…………………….8 Figura 1.5 BCI de Investigación y Comerciales………………………………………..10 Figura 1.6 P300 Speller…………………………………………………………………..11 Figura 1.7 Software intendiX……………………………………………………………..11 Figura 1.8 Control de prótesis de brazo………………………………………………...12 Figura 1.9 Control de Silla de Ruedas…………………………………………………..12 Figura 2.1 Diagrama de funcionamiento del sistema………………………………….16 Figura 2.2 Diseño del Headset…………………………………………………………..20 Figura 2.3 Mano Humanoide……………………………………………………………..21 Figura 2.4 Diagrama de Conexiones de los componentes electrónicos……….……22 Figura 2.5 g.SAHARA Active Electrode…………………………………………………25 Figura 2.6 Dry Sensor…………………………………………………………………….25 Figura 2.7 Electrodos Flex Sensor y Drypad Sensor………………………………….25 Figura 2.8 PIC18F2550…………………………………………………………………...26 Figura 2.9 Atmega 328……………………………………………………………………27 Figura 2.10 Arduino Nano…………………………………………………………..........28 Figura 2.11 INA114………………………………………………………………………..29 Figura 2.12 ADS1299……………………………………………………………………..30 Figura 2.13 Acelerómetro………………………………………………………………...31 Figura 2.14 Batería LiPo………………………………………………………………….31 Figura 2.15 Módulo Bluetooth HC-06…………………………………………………...32 Figura 2.16 Módulo Bluetooth……………………………………………………………33 Figura 2.17 Servomotor HS-805BB……………………………………………………..34 Figura 2.18 Diagrama esquemático de conexiones del Controlador Atmega328….35 Figura 2.19 Diagrama esquemático de conexiones del circuito integrado ADS1299…………………………………………………………………………………...36 Figura 2.20 Diagrama esquemático de conexiones del Bluetooth RN-42…………..37 Figura 2.21 Diagrama esquemático de conexiones del acelerómetro……...............38 vii Figura 2.22 Diagrama esquemático de los reguladores de voltaje…………………..39 Figura 2.23 Headset………………………………………………………………………40 Figura 2.24 Strip Frontal………………………………………………………………….41 Figura 2.25 Strip Cortex…………………………………………………………………..42 Figura 2.26 Ensamble Portaelectrodo…………………………………………………..43 Figura 2.27 Diagrama de Flujo del funcionamiento del Headset…………………….44 Figura 2.28 Diagrama de Flujo funcionamiento del Computador……………………45 Figura 2.29 Diagrama de Flujo del procesamiento, traducción y extracción de características en las señales……………………………………………………………47 Figura 2.30 Diagrama de flujo del controlador Arduino Nano………………………..49 Figura 3.1 Etapa de Monitoreo…………………………………………………………..51 Figura 3.2 Señales Cerebrales en OpenVibe…………………………………………..52 Figura 3.3 Etapa de Adquisición…………………………………………………………53 Figura 3.4 a) Estimulación Brazo Izquierdo. b) Estimulación Brazo Derecho……..53 Figura 3.5 Etapa de Entrenamiento…………………………………………………….54 Figura 3.6 Etapa de Clasificación……………………………………………………….55 Figura 3.7 Uso en tiempo Real (Online)………………………………………………..56 Figura 3.8 Presentación Visual de Correcta Clasificación……………………………57 Figura 3.9 Bloque de Conexión OpenVibe – Servidor………………………………...60 Figura 3.10 Estimulador de Teclado (Keyboard Stimulator)………………………….60 Figura 3.11 Servidor sin conexión……………………………………………………….61 Figura 3.12 Servidor Conectado…………………………………………………………61 Figura 3.13 OpenVibe, Servidor, Mano Abierta………………………………………..62 Figura 3.14 OpenVibe, Servidor, Mano Cerrada………………………………………63 Figura 3.15 OpenVibe, Servidor, Gesto Señalando…………………………………..63 viii INDICE DE TABLAS Tabla 1. Comparación entre diferentes sistemas BCI………………………………...10 Tabla 2. Características Técnicas de Electrodos……………………………………...26 Tabla 3. Características técnicas del controlador Atmega 328P…………………….27 Tabla 4. Características técnicas del Arduino Nano…………………………………..28 Tabla 5. Características técnicas ADS1299……………………………………………30 Tabla 6. Características técnicas LIS3DH……………………………………………...31 Tabla 7. Características de la Batería LiPo…………………………………………….32 Tabla 8. Características técnicas Bluetooth RN42…………………………………….33 Tabla 9. Características técnicas de los Servomotores………………………………34 Tabla 10. Costos Totales…………………………………………………………………65 Tabla 11. Componentes Mecánicos…………………………………………………….65 Tabla 12. Componentes Electrónicos…………………………………………………..66 Tabla 13. Costos de Fabricación………………………………………………………..67 ix Glosario de Términos ABS.……………………………………………. Plástico Acrilonitrilo Butadieno Estireno ADC.………………………. Analog to Digital Convertor (Conversor Analógico Digital) ALS……………………Amyotrophic Lateral Sclerosis (Esclerosis Lateral Amiotrófica) BCI…………………………. Brain Computer Interface (Interfaz Cerebro Computador) BTLE/BLE……………………… Bluetooth Low Energy (Bluetooth de bajo consumo) CAD……………………. Computer Aided Desing (Diseño Asistido por Computadora) CS………………………………………………………… Chip Select (Selector de Chip) CSP…………………………………….. Common Spatial Filter (Filtro espacial común) DOS……………………………. Disk Operating System (Sistema Operativo de Disco) EEG…………………………………………………………………. Electroencefalografía ERP……………………... Event Related Potential (Potencial Relacionado a Eventos) LDA…………………… Linear Discriminant Analysis (Análisis de discriminante lineal) LIS…………………………….. Locked in Syndrome (Síndrome de Enclaustramiento) MISO…………... Master Input Slave Output (Salida de Esclavo Entrada de Maestro) MOSI…………... Master Output Slave Input (Salida de Maestro Entrada de Esclavo) PWM……………………… Pulse Width Modulation (Modulación por Ancho de Pulso) SCI……………………………………… Spinal Cord Injury (Lesión de médula espinal) SCLK…………………………………………………………………………. Clock (Reloj) SMA………………………………. Spinal Muscular Atrophy (Atrofia Muscular Espinal) SPI…………………………. Serial Peripheral Interface (Interfaz de Periféricos Serial) VRPN………... Virtual Reality Peripheral Network (Red Periférica de realidad virtual) VEP………………………… Visual Evoked Potential (Potenciales visuales evocados) 1 INTRODUCCIÓN A nivel mundial, se estima que más de mil millones de personas viven con alguna discapacidad sea física o mental, lo que representa alrededor del 15% de la población global y esta cifra sigue en aumento [OMS, 2011]. Se sabe también que la discapacidad afecta con mayor incidencia a las poblaciones más vulnerables económicamente, las personas con discapacidad no reciben el tratamiento adecuado, es muy complicado que consigan empleo y existen muchos obstáculos a nivel social y político para este tipo de personas. Existe un grupo de enfermedades que afectan la capacidad física motriz, llegando a postrar a pacientes en cama y necesitar asistencia de por vida. Una de estas es la Esclerosis Lateral Amiotrófica (ALS, por sus siglas en inglés), la cual es una enfermedad degenerativa que causa la pérdida progresiva de la función motriz, y en estados más avanzados, pérdida del habla, debilidad y falta de control físico. La atrofia muscular espinal (SMA, por sus siglas en inglés) ataca a las neuronas motoras encontradas en la médula espinal, las cuales se encargan del control de músculos voluntarios, lo que afecta la capacidad de caminar, respirar, deglutir y controlar cabeza y cuello [MedlinePlus, 2014]. La lesión en la médula espinal (SCI, por sus siglas en inglés), causada normalmente por traumas (accidentes, caídas, etc.) o enfermedades (poliomielitis, tumores, etc.) también genera la pérdida de sensibilidad y movilidad. Finalmente, el síndrome de enclaustramiento (LIS, por sus siglas en inglés), impide a las personas a hablar ni realizar movimientos faciales o corporales aun estando despiertas y conscientes. Como respuesta a este tipo de enfermedades, se están desarrollando tecnologías de asistencia, que si bien no devuelven íntegramente la funcionalidad al paciente, ofrecen alternativas que le dan mayor autonomía. Entre estos dispositivos destacan las Interfaces Cerebro Computador (BCI, por sus siglas en inglés), los cuales son usados como una manera alternativa de comunicación y control para pacientes con discapacidad motriz a causa de diversas patologías. A pesar del desarrollo exponencial de las interfaces cerebro computador, estudios recientes demuestran que los BCI aún no cumplen con satisfacer necesidades 2 reales de estos pacientes. Huggins et all [Huggins, 2011] encontraron que la precisión, simplicidad y funcionalidad son factores importantes para el diseño de BCI en pacientes con ALS. Kübler [Kübler, 2013] destaca la característica que un BCI debe poder ser usado también fuera de un ambiente controlado, como una clínica. Otro estudio realizado por Nijboer et all [Nijboer, 2014] en el cual congregaron especialistas en rehabilitación, ingenieros biomédicos, psicólogos, médicos, investigadores y especialistas en sistemas de información y comunicación, se encontró también la necesidad que el dispositivo sea intuitivo, multimodal, robusto, portable, minimalista, de bajo costo y que debe funcionar a pesar de las restricciones cognitivas y físicas del usuario. Ante esta situación, la presente tesis tiene como objetivo el diseño de un casco para interfaz cerebro computador no invasivo que logre portabilidad y sea adaptativo para pacientes con diferentes tipos de discapacidad motriz. Debido a esto, el casco se complementa con el software implementado, el cual permite procesar las señales adquiridas y facilitar el control de un dispositivo, en este caso, un brazo humanoide. Es así como se obtienen todos los componentes para lograr desarrollar una interfaz cerebro computador. El documento es presentado en 5 capítulos, los cuales son descritos a continuación: El capítulo 1 presenta la descripción de una interfaz cerebro computador, desde su origen, su funcionamiento, las aplicaciones. También se presenta una comparación entre los dispositivos existentes en el mercado, tanto de investigación como comerciales. El capítulo 2 expone el objetivo general y los objetivos específicos que debe cumplir el sistema mecatrónico, así como alcances y la metodología de trabajo que se propone para lograr los objetivos planteados. El capítulo 3 comprende los aspectos referidos al diseño del sistema mecatrónico. Inicialmente se presenta la conceptualización del dispositivo diseñado y el diagrama de funcionamiento del sistema. Asimismo se describen los componentes electrónicos, mecánicos y de control. 3 En el capítulo 4, los experimentos y resultados del para el BCI son presentados. Esta etapa incluye una simulación del procesamiento de señales mediante el software OpenVibe. Así también, se realiza un experimento que consiste en usar las señales cerebrales procesadas para el control de un brazo humanoide. Finalmente, el capítulo 5 presenta el presupuesto para el desarrollo del sistema, en el cual se tuvo en cuenta el costo de los componentes, costo de fabricación, mano de obra y costos de diseño. 4 CAPÍTULO 1 Estado del Arte En el presente capítulo se expone el concepto de una interfaz computador, desde una descripción del mapeo cerebral, el sistema internacional 10-20 de posicionamiento de electrodos, los paradigmas usados en interfaces cerebro computador, componentes que posee, equipos tanto de investigación como comerciales y finalmente se presentan diversas aplicaciones en las cuales se usa este tipo de tecnología. 1.1 Descripción de una interfaz cerebro computador En 1929, Berger obtuvo la primera medida del potencial eléctrico de las capas superiores de la corteza cerebral (Electroencefalografía – EEG) [Berger, 1929]. Usando esta técnica, Vidal [Vidal, 1973] evaluó la factibilidad y practicidad de usar estas señales cerebrales como medio de comunicación entre un humano y un computador, dando paso a lo que actualmente se conoce como Interfaz Cerebro Computador. Una interfaz cerebro computador (BCI, por sus siglas en inglés) es un sistema que detecta los cambios en las señales eléctricas cerebrales y que, usando algoritmos de detección y procesamiento, convierten estas señales en comandos usados para control y comunicación. Las señales usadas por un BCI provienen del sistema nervioso central, por lo que un usuario puede interactuar con su entorno sin necesidad de usar actividad muscular, como manos, pies o movimiento facial [Wolpaw, 2002]. Además, un BCI es usado como medio de comunicación o control, por lo que un equipo de electroencefalografía no es considerado como un BCI. 1.2 Mapeo Cerebral Con la finalidad de conocer las funciones fisiológicas que cumple cada zona del cerebro, investigadores en neurociencias realizaron lo que se conoce como “Brain Mapping” o mapeo cerebral [Martin, 1991], que consiste en el estudio de las 5 características y funciones que desarrollan los diferentes lóbulos del cerebro: Frontal, Parietal, Occipital y Temporal (Figura 1.1). La zona de la corteza frontal es asociada a procesos cognitivos como el comportamiento, la inteligencia, la memoria y el movimiento. La corteza temporal se relaciona al habla y la audición. La zona parietal está relacionada al lenguaje, sensaciones. Finalmente la zona occipital está relacionada principalmente a la información visual. Este mapeo cerebral ayuda a las interfaces cerebro computador en el posicionamiento de los electrodos para adquisición de las señales, ya que las aplicaciones más comunes hacen uso de información cognitiva (Estados mentales), información motriz e información visual, es decir, las zonas frontal, parietal y occipital. Figura 1.1 Mapeo Cerebral Fuente: http://www.nuraid.es/funciones_neurologicos.php 1.3 Sistema Internacional 10-20 Las interfaces cerebro computador usan como sistema referencial de posicionamiento de electrodos al sistema internacional 10-20 (Figura 1.2), el cual es un método que describe la manera en la cual se deben posicionar los electrodos en la corteza cerebral [Klem, 1999]. El objetivo de este es tener un procedimiento estandarizado en la adquisición, para que todos los estudios realizados en diferentes sujetos puedan ser comparados en el tiempo. El nombre 10 - 20 se refiere a las distancias adyacentes entre los electrodos, los cuales se encuentran a 6 10% o 20% con respecto a la distancia frontal-trasera o derecha izquierda del cráneo. Las letras usadas como nomenclatura (F, T, C, P, O) están referidas al lóbulo del cerebro (Frontal, Temporal, Central, Parietal y Occipital), así como los números 1 o 2 se refieren al hemisferio izquierdo y derecho respectivamente. Para poder realizar este posicionamiento estándar, se hacen uso de dos referencias anatómicas. La primera es el nasion, zona ubicada entre los ojos, justo encima de la nariz. La segunda referencia se conoce como inion, ubicado en la parte posterior de la cabeza, en la zona más baja del cráneo. Figura 1.2. Sistema Internacional 10-20 de posicionamiento de electrodos Fuente: http://www.bem.fi/book/13/13.htm 1.4 Paradigmas en BCI Se han realizado diversos estudios en los cuales se ha logrado agrupar un conjunto de señales cerebrales que son usadas comúnmente en interfaces cerebro computador. Entre las principales se tienen: - Potenciales visuales evocados (VEP): Son modulaciones de la actividad cerebral que se producen ante estímulos visuales en la zona occipital del cerebro. Son señales sencillas de detectar debido que la amplitud del 7 potencial eléctrico aumenta de manera significativa si es el estímulo se aproxima más al campo visual [Wang, 2006]. Dentro de este grupo de señales, las más usadas son los potenciales evocados de estado estable (SSVEP) en los cuales se presenta un estímulo visual al usuario que consiste en una matriz que se ilumina a una frecuencia determinada. La señal cerebral es fácil de determinar debido que se manifiesta a la misma frecuencia del estímulo mostrado. - Potenciales Evocados P300: Se manifiestan a manera de picos positivos en las señales EEG debido a estímulos auditivos, visual o somato sensoriales [Alonso, 2012]. Estos picos de voltaje son evocados 300 ms después de presentado el estímulo (Figura 1.3), de ahí el nombre P300. El uso de este paradigma no necesita un entrenamiento previo del usuario, debido que esta señal se presenta de manera natural. Figura 1.3 Potenciales evocados P300 Fuente: http://cdn.intechopen.com/pdfs-wm/6798.pdf - Imaginación motriz: Son señales que se producen en una persona al pensar en movimiento de su cuerpo, ya que la señal al pensar en movimiento es la misma que se genera al realizar el movimiento [Pfurtscheller, 2001]. Estas señales se producen directamente en la corteza motriz y se manifiestan en el rango de 8 a 12 Hz. Las interfaces cerebro computador usan el 8 pensamiento de movimiento de extremidades de miembro superior o inferior como señal de comando de dispositivos como prótesis o sillas de ruedas. 1.5 Componentes de un BCI Según diversos estudios [Shih, 2012] [Colmeiro, 2014] , una interfaz cerebro computador es constituida por cuatro componentes (Figura 1.4) que cumplen su función de manera secuencial: Adquisición de señales que consiste en la captura, amplificación, digitalización e interpretación de la señal por parte de un computador; Extracción de características, donde las señales pasan por técnicas de selección de datos para obtener el contenido necesario y representativo para ser usado como comandos de características; Traducción de características, donde las señales obtenidas son convertidas en comandos de control para dispositivos que responden a las intenciones del usuario; y Dispositivo de salida que Las señales procesadas y comandos de salida permiten realizar el control de un dispositivo externo. Figura 1.4 Funcionamiento de una Interfaz Cerebro Computador 9 1.6 Equipos Comerciales y de Investigación Hasta hace unos años, el desarrollo tecnológico usando BCI era exclusivamente de laboratorio enfocándose en aplicaciones netamente clínicas, lo cual implicaba que los sistemas usados cumplan con características esenciales como capacidad de adquisición en tiempo real, buena resolución y sensibilidad. Es por ello que diferentes empresas del rubro han desarrollado dispositivos para investigación que cumplen con estas exigencias tales como g. Nautilus [g.tec, 2015a], ActiveTwo [Biosemi, 2015], Enobio [Neuroelectrics, 2015], B-Alert X10 [Advanced Brain Monitoring, 2015]. La gran mayoría de estos dispositivos son usados a manera de gorra, poseen una capacidad de entre 8 hasta 128 electrodos y tienen una gran calidad de señal. Sin embargo, tienen un precio elevado y están diseñados para ser usados en ambientes controlados. En la actualidad, existen empresas que han puesto a disposición del público BCI comerciales. Estos dispositivos son usados tanto por personas con discapacidad física como por personas sin discapacidad. Como se puede ver en la Tabla 1, a diferencia de los BCI de investigación, los equipos comerciales tienen una capacidad limitada de electrodos (1 hasta 16) y no son validados clínicamente. A pesar de esto, destaca la portabilidad, diseño, facilidad de uso de los mismos y sobretodo el costo. Entre los BCI más conocidos se encuentran el EPOC/EPOC + de Emotiv [Emotiv, 2015a], Insight de Emotiv [Emotiv, 2015b], Muse de Interaxon [Interaxon, 2015] y finalmente el Ultracortex de OpenBCI [OpenBCI, 2015]. La Tabla 1 presenta una comparación entre los sistemas BCI usados en investigación y de manera comercial. La Figura 1.5 muestra los BCI de investigación y comerciales más conocidos. 10 (a) g. Nautilus (b) ActiveTwo (c) Enobio (d) B – Alert X10 (e) EPOC+ (f) MUSE (g) Ultracortex Figura 1.5 BCI de Investigación y Comerciales Equipo Mercado Tipo de Electrodos N° Electrodos Resolución Posición de electrodos Costo ($) g.Tec Nautilus Investigació n Activo - Secos 8, 16 o 32 24 bits FP1, FP2, F3, Fz, F4, T7, C3, Cz, C4, T8, P3, Pz, P4, PO7, PO8, Oz 20500 Biosemi ActiveTwo Investigació n Activo – Con gel Hasta 256 24 bits Sistema 10-5 12155 Neuroelectrics Enobio Investigació n Pasivo – Con gel 8, 20 o 32 24 bits Sistema 10-10 22090 B-Alert X10 Investigació n Pasivo – Con gel 10 16 bits Fz, F3, F4, Cz, C3, C4, POz, P3, P4 +10000 Emotiv EPOC/Insight Comercial Pasivo – Con gel 16 16 bit AF3, AF4, F3, F4, FC5, FC6, F7, F8, T7, T8, P7, P8, O1, O2 400 Muse Comercial Pasivo – Seco 5 10 bit TP9,AF7, AF8, TP10 300 OpenBCI Comercial Pasivo – Con gel 8 o 16 24 bit Libre 900 Tabla 1. Comparación entre diferentes sistemas BCI 1.7 Aplicaciones Inicialmente, los equipos de investigación se enfocaron en sistemas de comunicación y control, sin embargo los equipos comerciales han dado paso al desarrollo de una gran variedad de aplicaciones en diversos campos. 11 En el ámbito de la comunicación, la aplicación más usada es el P300 speller (Figura 1.6), que usa una matriz de 6x6 con letras, números y caracteres [Farwell, 1988]. Usando el potencial relacionado a eventos (ERP-P300) resultantes de una toma de decisión, eventos sensoriales, cognitivos o motrices, la aplicación controla teclados virtuales o dispositivos multimedia. El software intendiX (Figura 1.7) es una versión más actual de esta aplicación, y ha sido desarrollada por la empresa g.tec [g.tec, 2015b]. Figura 1.6 P300 Speller Fuente: http://journal.frontiersin.org/article/10.3389/fnins.2011.00005/full Figura 1.7 Software intendiX Fuente: www.intendix.com Asimismo, existen aplicaciones usadas en personas con discapacidad como la manipulación de prótesis (Figura 1.8) y ortesis [Mahmoudi, 2002] [Ramos, 2007] [Acharya, 2007] [Müller-Putz, 2008] [Li, 2012] [Katyal, 2014] [Zhang, 2014], el control de sillas de ruedas (Figura 1.9), domótica [Edlinger, 2012] [Casale, 2012] [Lee, 2013] [Park, 2015] [Goel , 2014] [Kais, 2014], videojuegos, etc. 12 Adicionalmente, los BCI se usan en otro tipo de aplicaciones como análisis de conducta [Zander, 2009] [Bahramisharif, 2010], diagnóstico de enfermedades [Georgopoulos, 2007], restauración de la función cerebral [Fetz, 1969] [Wolpaw, 1991], mejorar la función cognitiva en ancianos [Angelakis, 2007] y Neuromarketing [Pradeep, 2010]. Figura 1.8 Control de prótesis de brazo Fuente: http://www.upmc.com/media/media-kit/bci/Pages/default.aspx Figura 1.9 Control de Silla de Ruedas Fuente: http://www.engadget.com/2009/05/04/mind-controlled-wheelchair-prototype-is-truly- insanely-awesome/ 13 CAPÍTULO 2 Formulación de Propuesta de Sistema Mecatrónico En este capítulo se presentan los objetivos que debe cumplir el diseño mecatrónico. Así también, se presentan los requerimientos de diseño mecánico, electrónico y de control. Finalmente, se expone la metodología de trabajo para desarrollar la propuesta a presentar. 2.1 Objetivos y Alcances El objetivo principal del trabajo es el diseño de un casco para Interfaz Cerebro Computador portable y adaptativo a las necesidades del paciente, el cual pueda ser usado para controlar tres gestos de una mano robot humanoide. Objetivos Específicos: ● Diseñar un casco (BCI) portable y no invasivo, para tamaños estándares de cabeza basado en medidas antropométricas chinas (Más cercano antropomitro peruano). ● Diseñar mecanismos de sujeción y reposicionamiento de electrodos (adaptativo), basados en el sistema internacional 10-20 de posicionamiento de electrodos. ● Controlar una mano humanoide open-source que desarrolle 3 gestos predefinidos: Apertura, cierre y Agarre de precisión. 14 Requerimientos (Alcances): Requerimientos Mecánicos ● Los electrodos deben ser reconfigurados para diferentes aplicaciones que usan la corteza motriz, visual y estados mentales como concentración y relajación. (Multimodal) ● El casco debe ajustarse al tamaño y forma de la cabeza del usuario basado estándares antropométricos, asegurando sujeción, por lo que el diseño debe ser escalable. ● El diseño del casco debe ser portable, lo que asegure que el dispositivo pueda ser trasladado en un espacio reducido de 20x20 cm. Requerimientos Electrónicos ● El sistema electrónico debe ser de bajo consumo eléctrico para que permita una autonomía mínima de 1 hora y un máximo de 12 horas. ● La transmisión de datos al computador debe realizarse de manera inalámbrica usando bluetooth 2.0 a una velocidad mínima de 48 kbps. ● El componente electrónico debe ocupar un espacio reducido de aproximadamente 6x6x2 cm debido que será posicionada en el Headset. ● Los electrodos a usar deben asegurar contacto directo con el cuero cabelludo, de esta manera se garantiza la mejor calidad de señal cerebral. Requerimiento de Control ● El brazo humanoide a controlar debe tener un tiempo de respuesta de 2 segundos como máximo. ● La señal cerebral registrada debe servir como realimentación al sistema, a manera de lazo de control cerrado para la operación del brazo humanoide. 15 2.2 Metodología y Plan de Trabajo Inicialmente se hará una revisión exhaustiva relacionada a equipos BCI, características, usos, etc. lo que incluirá búsqueda de artículos científicos, patentes, y empresas que comercializan este tipo de dispositivos para conocer las características que poseen. La información adquirida servirá para definir necesidades y objetivos de diseño de la propuesta. Se procede a realizar el diseño conceptual, mediante el cual se planteará la propuesta de solución óptima. Este proceso comprende i) estudio antropométrico, ii) Diseño de mecanismos de sujeción y reposicionamiento de electrodos, iii) Diseño de mecanismos que aseguren portabilidad, iv) Selección de componentes electrónicos que incluye sensores, actuadores, fuentes de alimentación, sistemas de comunicación y control. El entregable respectivo comprende los diagramas que expliquen la integración de los diferentes dispositivos que componen el sistema. Como siguiente paso se procede con el diseño mecánico preliminar del Headset modelado mediante software CAD, el cual integra el estudio antropométrico, los mecanismos para electrodos y componentes electrónicos. Paralelamente se realizará la búsqueda de un software libre para dispositivos BCI, el cual facilite la creación de algoritmos de adquisición, pre-procesamiento, procesamiento de señales para control de dispositivos. Los entregables que sustenten esta etapa comprenden planos mecánicos, circuitos esquemáticos, diagramas de flujo de funcionamiento del Headset y el sistema, así como la especificación de los materiales seleccionados. Finalmente, se procede con el diseño definitivo, se realizan simulaciones y experimentos, así como conclusiones y recomendaciones que plantean mejoras en todos los aspectos que componen al sistema en conjunto. 16 CAPÍTULO 3 Diseño del Sistema Mecatrónico El siguiente capítulo presenta el concepto de funcionamiento del sistema mecatrónico propuesto, en el cual se especifican cada uno de los 4 componentes principales que posee. Asimismo se presenta el concepto de diseño de estos componentes detallando los dispositivos electrónicos y mecánicos, así como la justificación de su selección. Finalmente se presenta el sistema de control, el cual detalla la interacción de los diversos componentes para su óptimo funcionamiento. 3.1 Concepto de Funcionamiento Figura 2.1 Diagrama de funcionamiento del sistema El sistema mecatrónico propuesto comprende 4 etapas fundamentales (Figura 2.1), las cuales conforman también el ciclo de funcionamiento de un BCI. Las etapas son las siguientes: 17 Adquisición de señales (Signal Acquisition): Consiste en la captura de señales EEG, amplificación, digitalización e interpretación de la señal por parte de un computador. La captura de la señal se realiza posicionando electrodos sobre el cuero cabelludo (no invasivo) [Wang, 2009] [Úbeda, 2013] [Müller- Putz, 2015] o de manera intracraneal (invasivo) [Hochberg, 2006] [Kennedy, 2000] [Simeral, 2011]. Las señales capturadas son del orden de los microvoltios (uV) por lo que se amplifica la señal para su procesamiento. Finalmente la señal se digitaliza, consiguiendo que pueda ser recibida por un computador. El proceso antes descrito lo realizará el headset diseñado usando electrodos secos, los cuales para aplicaciones de BCI cumplen con el objetivo necesario [Guger, 2012] [Chi, 2012]. Los electrodos a usar son Drypad y Flex Sensors, los cuales son electrodos no invasivos y diseñados para investigación. Internamente el circuito contenido en el casco realizará la amplificación, digitalización y transmisión de la señal de manera inalámbrica mediante bluetooth. Extracción de características (Feature Extraction): Las señales digitales pasan por un proceso de selección usando diferentes técnicas de extracción de características como filtrado espacial, medición de la amplitud del voltaje, análisis espectral o separación individual de neuronas [Wolpaw, 2002] con el objetivo de seleccionar el contenido representativo que será usado como comandos de salida. Este proceso evita realizar capturas de artefactos del ambiente y artefactos fisiológicos para tener señal netamente cerebral. El software OpenVibe, diseñado por el Instituto Francés para la investigación en Informática y Automatización (INRIA) para la investigación con interfaces cerebro - computador, es un software de código abierto que posee librerías diseñadas específicamente para estas tareas, por lo que será necesario habilitar los parámetros de procesamiento como tipo de filtro, frecuencias de corte, etc. los cuales servirán permitirán acotar la señal requerida. Traducción de características (Feature Translation): Las señales obtenidas son convertidas en comandos de control para dispositivos que responden a las intenciones del usuario. Los algoritmos usados en BCI deben ser adaptativos, es decir, deben responder al estímulo particular de cada persona. Para esto, el usuario es entrenando, proceso que depende de la discapacidad del mismo. Se usan algoritmos de inteligencia artificial como Support Vector Machines, Neural 18 Networks, Linear Discriminant Analysis, los cuales permiten que el sistema aprenda a discriminar la respuesta cerebral del usuario, de esta manera se logra la interpretación rápida de las señales, permitiendo una fuerte conexión entre la intención del usuario con el dispositivo que se necesita controlar. Al igual que la etapa anterior, OpenVibe facilita la selección de los algoritmos de inteligencia artificial que permiten al sistema aprender de las señales que provee el usuario. Dispositivo de salida (Device Output): La transformación de las señales cerebrales en comandos de control permiten realizar el control de un dispositivo externo. Esto se logra luego que el sistema se ha adaptado a las señales particulares del usuario mediante los algoritmos anteriormente mencionados y transformando estos a comandos de entrada para un dispositivo a controlar. El dispositivo de salida del sistema será la mano humanoide Inmoov, la cual gracias al Arduino Nano, permitirá realizar el control de la mano, logrando así realizar tres gestos predefinidos. 19 3.2 Presentación de Concepto Al finalizar la evaluación de requerimientos del sistema, se llegó a un concepto de solución óptimo (Figura 2.2). Este concepto considera el uso de 20 electrodos secos, 19 de los cuales pueden ser localizados en las posiciones estandarizadas del sistema internacional 10-20 de posicionamiento de electrodos, lo que permite que el equipo abarque las zonas principales para la adquisición de señales EEG. El electrodo restante que será usado como referencia, se encuentra ubicado en el bloque principal y será posicionado detrás de la oreja, específicamente en el mastoide. Estos electrodos son ubicados en 5 bandas, las cuales pueden ser retiradas al finalizar el uso del dispositivo y tienen una forma curvada para que pueda posicionarse sobre la cabeza del usuario. La electrónica se encuentra en el bloque principal, donde se agrupan los cables provenientes de cada electrodo, la tarjeta de adquisición y el módulo bluetooth mediante el cual se enviarán las señales de manera inalámbrica hacia el computador, para su procesamiento. El Headset ha sido diseñado para ser fabricado haciendo uso de la tecnología de impresión 3D, lo que facilita su reproducción. Finalmente, a diferencia de otros dispositivos en el mercado, la propuesta presentada es portátil, adaptable y a diferentes necesidades gracias al reposicionamiento de electrodos. 20 (a) (b) (c) (d) Figura 2.2 Diseño del Headset a) Vista superior, b) Vista isométrica, c) Vista frontal y d) Vista lateral 21 La Figura 2.3 presenta la mano humanoide, la cual será controlada mediante diferentes estados mentales capturados por el Headset y procesados mediante un computador. La mano presentada fue diseñada por Gael Langevin y es parte de un proyecto open source de nombre InMoov [Langevin, 2015]. La mano seleccionada fue impresa en 3D usando como material el ABS (Acrylonitrile Butadiene Styrene). (a) (b) Figura 2.3 Mano Humanoide a) Vista Frontal, b) Vista Isométrica con servomotores Fuente: http://inmoov.fr/ 22 3.3 Sistema Electrónico Figura 2.4 Diagrama de Conexiones de los componentes electrónicos 23 La Figura 2.4 muestra el diagrama de funcionamiento del sistema mecatrónico propuesto. Se pueden apreciar los componentes electrónicos que lo conforman, la conexión, comunicación y la alimentación respectiva. Como se puede observar, los componentes electrónicos se encuentran separados en dos grandes grupos (Headset y Mano) los cuales interactúan por medio de un computador. El sistema electrónico del Headset presenta 4 grandes bloques, mientras el sistema de la mano posee 1 que recibe datos totalmente procesados. A continuación se explica detalladamente la interacción de los componentes como sistema e independiente, así como sus características técnicas. El Headset, posee como controlador principal un Atmega 328 (Bloque 1), el cual se encarga de la recepción de los datos obtenidos por los sensores y el acelerómetro, y enviarlos al computador por medio de un transmisor bluetooth. El bloque 2 presenta el sistema de adquisición y acondicionamiento de señales. La información de la señal cerebral es capturada por los electrodos, luego es recibida por el circuito integrado ADS1299 que gracias a sus 8 canales de 24 bits de resolución por canal y una frecuencia de 250 Hz logran capturar las señales cerebrales necesarias. Internamente, este circuito integrado posee la electrónica que permite filtrar la señal y convertir la señal analógica de EEG en señal digital que puede ser procesada por un computador. Este componente posee diferentes voltajes de entrada (3 V, 2.5 V, -2.5V) debido que necesita voltajes de alimentación, voltaje analógico y voltaje digital. El bloque 3 muestra el sistema de comunicación, el cual lo conforma un módulo bluetooth RN42. El microcontrolador Atmega 328 envía las señales pre - procesadas al bluetooth, y mediante protocolo UART, éste transmite la información al computador a una tasa de 73 kbps. El bloque 4 agrupa a todos los componentes que permiten la alimentación de los diferentes componentes. Entre estos tenemos una batería LiPo de 3.7 V que alimenta a el circuito que integra el Headset. Sin embargo, no todos los componentes son alimentados por este voltaje, es por ello que se requiere de reguladores de voltaje a 3V, 2.5V y un inversor a -2.5V. Por parte del control de la mano, el bloque 5 define este sistema. El controlador principal es un Arduino Nano, el cual es un microcontrolador que cuenta con la cantidad de puertos de entrada y salida para operar de manera independiente 5 servomotores, los que controlarán cada dedo de la mano. 24 Finalmente, el bloque 4 también lo conforma una fuente de 12 V DC regulable, que servirá como alimentación tanto para el Arduino Nano haciendo uso de 7 voltios para los servomotores seleccionados. 3.3.1 Componentes Electrónicos Electrodos Los electrodos son los principales sensores para adquirir señales eléctricas cerebrales. Estos transforman señales electroquímicas (variación de cargas iónicas) en señales eléctricas que serán registradas por el ADC. Como se ha mencionado anteriormente, existen electrodos de tipo seco y con gel, además de activos y pasivos. Se debe tener en cuenta que la gran mayoría de electrodos estarán ubicados en la cabeza, por lo que el cabello será una fuente de ruido para la adquisición. Debido a que se busca diseñar un dispositivo de uso recurrente, se considera el uso de electrodos secos, ya usar gel generaría que el usuario tenga que realizar una limpieza de su cabello, además de comprar gel cada cierto tiempo. Entre las alternativas de electrodos secos comerciales se encuentran los g.SAHARA dry active electrodes (Figura 2.5), los cuales son electrodos secos con 8 pines con una longitud lo suficientemente amplia para lograr contacto con el cuero cabelludo a través del cabello. Sin embargo, esta tecnología es patentada y está diseñado para ser usado con dispositivos compatibles de la misma empresa. Así también se tienen los dry sensors de la empresa Quásar (Figura 2.6), los cuales son electrodos secos reusables y reemplazables fácilmente, además que son fáciles de limpiar. No obstante, estos electrodos no se pueden adquirir individualmente, es necesario comprar un sistema completo de interfaz cerebro computador. 25 Figura 2.5 g.SAHARA Active Electrode Fuente: http://www.gtec.at/Products/Electrodes-and-Sensors/g.SAHARA-Specs-Features Figura 2.6 Dry Sensor Fuente: http://www.quasarusa.com/technology_sensors.htm Debido a esto se han seleccionado los electrodos Flex Sensors y Drypad Sensors (Figura 2.7) de la empresa Cognionics. Los electrodos Flex Sensors (Anexo B) son electrodos secos flexibles los cuales, gracias a su forma adaptable, pueden atravesar el cabello y llegar al cuero cabelludo asegurando buen contacto y adquisición de señal. Por otro lado, los electrodos Drypad Sensors (Anexo B) son electrodos secos que estarán posicionados en la parte frontal del usuario debido que deben ser usados en superficies sin cabello. Una característica importante de estos electrodos es que son reusables, garantizan baja impedancia entre el sensor y la piel y además pueden ser adaptados a cualquier sistema. Flex Sensor Drypad Sensor Figura 2.7 Electrodos Flex Sensor y Drypad Sensor Fuente: http://www.cognionics.com/index.php/products-2/sensors/flex 26 Tabla 2. Características Técnicas de Electrodos Fuente: http://www.cognionics.com/index.php/products-2/sensors/drypad Flex Sensor Drypad Sensor Impedancia [100- 2000k] Ohm [100- 100k] Ohm Material Elastómero Conductivo Plástico Conductor Tipo de Contacto Ag/AgCl Ag/AgCl Conector Broche a presión Broche a presión Controladores El microcontrolador será el encargado de la comunicación y control entre los otros componentes electrónicos pertenecientes al headset como el módulo bluetooth, el conversor análogo – digital, el acelerómetro y los indicadores LED. Un microcontrolador popular de en el grupo de los PIC es el PIC18F2550 (Figura 2.8), el cual posee 24 pines de entrada y salida, 10 canales de ADC, 2 canales de PWM, 2 comparadores analógicos entre otras características. Este es un microcontrolador usado en controladores embebidos como Pingüino [pinguino, 2015] y en diversas aplicaciones como domótica, control de periféricos, servomotores entre otros. Figura 2.8 PIC18F2550 Fuente: http://www.microchip.com/wwwproducts/en/en010280 Otro microcontrolador comúnmente usado es el Atmega 328P, el cual tiene características similares al PIC. Sin embargo, el Atmega posee una memoria EEPROM de 1024 a diferencia de las 256 del PIC, además de 6 canales de PWM, y un voltaje de operación menor. Cabe resaltar que el Atmega consume una mayor 27 cantidad de corriente (5.2 mA), sin embargo este consumo es mínimo. Se propone el uso del Atmega328 debido a la flexibilidad que posee, así como la gran cantidad de documentación y aplicaciones diversas que existen para el dispositivo. La Figura 2.9 presenta el Atmega 328P con el empaque superficial a ser usado TQFP. Figura 2.9 Atmega 328 Fuente: http://www.robotshop.com/en/atmel-atmega328-tqfp.html Tabla 3. Características técnicas del controlador Atmega 328P Fuente: http://www.atmel.com/devices/atmega328.aspx Características del dispositivo (ATmega 328P) Microcontrolador ATmega328P Empaquetado TQFP Número de Pines (E/S) 23 (6 PWM) Voltaje de Operación 1.8 – 5.5 V CPU 8-bit AVR Rango de Temperatura -40 hasta 85 °C EEPROM 1024 Bytes SRAM 2 Kbytes Frecuencia de Reloj Máxima 20 MHz 28 Arduino Nano (Mano Humanoide) Adicionalmente la mano del robot humanoide Inmoov será controlada usando la tarjeta de evaluación Arduino Nano (Figura 2.10), que gracias a los puertos de entrada y salida que posee tendrá la capacidad suficiente para proveer de las señales necesarias a los cinco servomotores seleccionados que moverán cada dedo de manera independiente para generar los gestos requeridos. Este dispositivo posee 14 pines de entrada y salidas digitales (6 con Pulse Width Modulation), 8 entradas de conversión analógicas a digitales, cristal de 16Mhz y conexión USB. Trabaja con un voltaje lógico de 5 Voltios y es alimentado con voltajes entre 7 – 12V (recomendado). Ver anexo B. Figura 2.10 Arduino Nano Fuente: https://www.arduino.cc/en/Main/ArduinoBoardNano Tabla 4. Características técnicas del Arduino Nano Fuente: https://www.arduino.cc/en/Main/ArduinoBoardNano Características del dispositivo (Arduino Nano 3.0) Microcontrolador ATmega328 Voltaje de Operación (Lógico) 5V Voltaje de Alimentación (Recomendado) 7 – 12V Pines Digitales (E/S) 14 (6 PWM) Pines Analógicos 8 Corriente DC máxima (por Pin E/S) 40 mA Frecuencia de Reloj 16 MHz Peso 5 g 29 Sistema de Adquisición Las señales cerebrales tienen una magnitud de alrededor de 100 uV por lo que es necesario un amplificador de biopotenciales de gran precisión. Esta necesidad surge debido que existen diferentes fuentes de ruido como los cables, los electrodos entre otros, lo cual genera que la señal capturada no sea la óptima. Uno de los amplificadores de instrumentación ampliamente usados en equipos de electromiografía, electrocardiograma y electroencefalografía es el INA114 (Figura 2.11), diseñado por la empresa Texas Instruments, el cual es usado para diversas aplicaciones médicas, ofrece gran precisión y además es de bajo consumo energético. Este dispositivo permite tener una ganancia variable que permite amplificar la señal desde 1 hasta 10000 veces. Adicionalmente este componente necesita circuitos de filtrado, acondicionamiento y digitalización de la señal. Figura 2.11 INA114 Fuente: http://www.ti.com/product/INA114 Así también se tiene el ADS1299 (Figura 2.12), el cual es un circuito integrado de medición de biopotenciales, es decir, potencial eléctrico del cuerpo humano, que ha sido diseñado específicamente para aplicaciones de electroencefalografía. Cuenta con un conversor Analógico – Digital multicanal, de bajo ruido, 24 bits con amplificador de ganancia programable interno, referencia interna y oscilador para medidas de biopotencial. Este dispositivo incorpora las características necesarias para aplicaciones de electroencefalografía. La versatilidad del dispositivo permite ser usado en sistemas escalables a equipos médicos reduciendo significativamente tamaño, precio y costo. Se ha seleccionado este componente debido que, a diferencia del INA114, integra varios amplificadores de instrumentación, filtros y conversores analógicos digitales en un solo circuito integrado, con lo que se evita el 30 diseño de circuitos complementarios, que en aplicaciones médicas son fuentes de ruido. Figura 2.12 ADS1299 Fuente: http://www.ti.com/product/ads1299 Tabla 5. Características técnicas ADS1299 Fuente: http://www.ti.com/product/ads1299 Características del dispositivo (ADS1299) N° Canales 8 Resolución 24 Bits Tasa de Muestreo por segundo 250 – 16K SPS Rechazo al modo común -110 dB Voltaje de Referencia 1 uV Corriente de Fuga 300 pA Temperatura de Trabajo -40 hasta +85 °C Ganancia Programable 1,2,4,6,8,12 o 24 Empaquetado TQFP - 64 Acelerómetro (LIS3DH) El LIS3DH (Figura 2.13) es un acelerómetro lineal de tres ejes y bajo consumo. Permite seleccionar escalas de ±2g/±4g/±8g/±16g y es capaz de medir aceleraciones de datos de salida de entre 1Hz y 5 kHz. El dispositivo será usado para sensar el movimiento de la cabeza del usuario, lo que permitirá que el headset no solo use señales cerebrales para el control de la prótesis, sino también estos parámetros de movimiento para el control del mismo. 31 Figura 2.13 Acelerómetro Fuente: http://www.mouser.com/ProductDetail/STMicroelectronics/LIS3DH Tabla 6. Características técnicas LIS3DH Fuente: http://www.mouser.com/ProductDetail/STMicroelectronics/LIS3DH Características del dispositivo (LIS3DH) Voltaje de Alimentación 1.71 - 3.6 V Consumo mínimo Hasta 2uA Escala Dinámica ±2g/±4g/±8g/±16g Interfaz de salida digital I2C/SPI Resolución 16 Bits Batería (3.7 V) El Headset será energizado usando una batería Ion-Litio (Figura 2.14). Esta batería posee un voltaje nominal de 3.7V a 850 mAh lo cual, según cálculos realizados (Anexo A), permite una autonomía de aproximadamente 9 horas cubriendo el requerimiento mínimo planteado. Adicionalmente, la batería incluye protección en caso de sobre cargas de voltaje, corriente y voltaje mínimo. Figura 2.14 Batería LiPo Fuente: https://www.sparkfun.com/products/341 32 Tabla 7. Características de la Batería LiPo Fuente: https://www.sparkfun.com/products/341 Características del dispositivo (Batería Ion-Litio) Corriente Nominal 850 mAh Voltaje Nominal 3.7 V Voltaje de Carga 4.2 V Temperatura de Trabajo 0 – 45 °C Módulo Bluetooth Para que el computador pueda procesar los datos, será necesario enviar las señales cerebrales por medio inalámbrico, por lo que se ha considerado el uso de módulos bluetooth al ser dispositivos confiables y de sencilla operación. El dispositivo Bluetooth HC-06 (Figura 2.15) es un módulo que presenta buenas características de transmisión y recepción de datos, consumo de corriente bajo y una alimentación de 3.3 V para su funcionamiento correcto. Este dispositivo es usado con diversas tarjetas de evaluación como el Arduino, Raspberry PI, BeagleBone, entre otros. Presenta pines para Transmisión de datos (Tx), Recepción de Datos (Rx), Alimentación (Vcc) y tierra (GND). Es un dispositivo sencillo y usado para diversas aplicaciones de comunicación inalámbrica tanto por estudiante, hobbistas y profesionales. Figura 2.15 Módulo Bluetooth HC-06 Fuente: https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIAL-HC- 06/resources/hc06.pdf 33 Otro módulo bluetooth es el RN42 (Figura 2.16), el cual es un bluetooth de bajo consumo de energía. El componente soporta múltiples protocolos, como el UART usado en ésta aplicación; y posee una velocidad de transmisión de datos de hasta 3 Mbps para distancias de hasta 20 metros. Se ha seleccionado este dispositivo debido que su consumo energético es menor (3mA), además de haber sido diseñado para aplicaciones de mayor precisión como sistema de medición y monitoreo, sensores industriales, scanners y dispositivos médicos. (Revisar Anexo B) Figura 2.16 Módulo Bluetooth Fuente: www.microchip.com/rn42 Tabla 8. Características técnicas Bluetooth RN42 Fuente: www.microchip.com/rn42 Características del dispositivo (RN42) Velocidad en Baudios 1.2 – 921 Kbps Frecuencia 2402 – 2480 MHz Canales 79 canales a 1Mhz Configuración UART/OTA RF Voltaje de Trabajo 3 hasta 3.6 V 34 Servomotores (Mano Humanoide) El movimiento de la mano humanoide se realizará mediante cinco servomotores, los cuales estarán conectados a cada uno de los dedos mediante cables, a manera de tendones. Los servomotores seleccionados Hitec HS-805BB (Figura 2.17) brindan un torque máximo de 24.7 kg.cm por lo que se garantiza el movimiento de la mano. Mediante la señal de control, cada servomotor será conectado a una salida digital del Arduino Nano para realizar el movimiento requerido. Cabe recalcar que estos servomotores serán colocados en la mano Inmoov para poder realizar el movimiento de cada dedo. Figura 2.17 Servomotor HS-805BB Fuente: https://www.sparkfun.com/products/11881 Tabla 9. Características técnicas de los Servomotores Fuente: https://www.sparkfun.com/products/11881 Características del dispositivo (HS-805BB) Peso 152 g Dimensiones 66 x 30 x 57.6 mm Torque 24.7 kg.cm Velocidad 0.14 sec/60° Voltaje de Operación 4.8 – 6 V Corriente máxima (Sin Carga) 830 mA 35 3.3.2 Diagramas esquemáticos del sistema mecatrónico Esta sección presenta los diagramas esquemáticos que conforman al componente principal de la interfaz cerebro computador, el headset. Figura 2.18 Diagrama esquemático de conexiones del controlador Atmega328 El headset posee como controlador principal al Atmega328 (Figura 2.18), el cual se encarga de administrar la información que recibe del ADS1299 y comunicarse con el bluetooth para enviar la información de manera inalámbrica. La comunicación tanto con el ADS1299, como con el acelerómetro, se realizará usando el protocolo 36 SPI (Serial Peripheral Interface) mediante los pines MISO, MOSI, SCLK, CLK. El rango de operación de este componente es de 1.8 a 5.5 V, por lo que será suficiente alimentarlo con 3 V provenientes de un regulador de voltaje. Figura 2.19 Diagrama esquemático de conexiones del circuito integrado ADS1299 37 Las señales de entrada son procesadas por el circuito integrado ADS1299 (Figura 2.19) a una frecuencia de muestreo de 250Hz. Este componente recibe las señales EEG a través de sus 8 electrodos (IN1N-IN8N) o (IN1P-IN1P) que poseen una resolución de 24 bits por canal. Dependiendo de la asignación por software del pin SRB1 o SRB2, es posible realizar diferentes configuraciones con los electrodos. En este caso, se hará uso del pin SRB2 que estará conectado al electrodo ubicado detrás de la oreja de la personas (mastoide). Esta configuración inhabilita los pines P y activa solamente los N, usando a SRB2 como única referencia (Common Reference Mode). Adicionalmente, este componente cuenta con el los pines BIAS son usados como un offset entre la señal de entrada y la referencia. El ADS1299 recibe la señal cerebral analógica, la filtra, amplifica y finalmente la transforma a señal digital. La señal digitalizada es enviada mediante los pines de comunicación SPI (MISO, MOSI, SCLK, CLK). Figura 2.20 Diagrama esquemático de conexiones del Bluetooth RN-42 38 El bluetooth (Figura 2.20) permite realizar la comunicación entre el headset y el computador. Con este propósito, el bluetooth y el Arduino se conectan mediante los pines de transmisión y recepción (RXD, TXD) a una velocidad de transmisión de 74.5 kbps, la cual considera 24 bits de resolución del ADS1299, 3 Bytes de cabeceras y 2 Bytes de datos del acelerómetro (Anexo A). Asimismo, el Atmega habilita y deshabilita el funcionamiento del bluetooth para el envío de datos mediante el pin WAKE_BT. Figura 2.21 Diagrama esquemático de conexiones del acelerómetro La Figura 2.21 muestra el diagrama esquemático del acelerómetro. Este componente se comunica con el Atmega usando la comunicación SPI (MISO, MOSI, SCLK, INT1). Este componente permite conocer la posición de la cabeza del usuario y facilita usar este dato como una entrada más de control. 39 Figura 2.22 Diagrama esquemático de los reguladores de voltaje La Figura 2.22 muestra los reguladores de voltaje que serán usados para alimentar los diversos componentes descritos anteriormente. La alimentación principal proviene de la batería de 3.7 V, la cual es usada por un inversor para obtener un voltaje negativo de -3.7V. Este voltaje es regulado a -2.5V y servirá como alimentación negativa para el ADS1299. La señal de 3.7V es regulada también a 3V para alimentar el Atmega, acelerómetro y bluetooth. Finalmente, un regulador de 3.7 a 2.5V es usado para alimentar algunos pines del ADS1299. 40 3.4 Sistema Mecánico El sistema mecatrónico propuesto consta de un Headset y una mano humanoide como medio de pruebas. El Headset se ha diseñado para ser fabricado mediante modelado por deposición fundida o impresión 3D. Por esta razón se ha tenido en cuenta que para obtener un buen acabado las paredes de cada componentes deben tener un espesor mínimo de 1.2 mm, se debe tener en cuenta que el proceso de impresión produce contracciones mínimas de 0.13 mm y al realizar la impresión de múltiples piezas en paralelo, el espaciado entre componentes debe ser de 1 cm. Este dispositivo está compuesto de 14 piezas, cuyos respectivos planos se encuentran en el anexo C. Cabe resaltar que las dimensiones de cabeza usadas para el diseño del headset han sido tomadas de un estudio antropométrico de la población china (Anexo A), esto se debe a que no existe una tabla estandarizada de antropometría peruana y que la población china cumple con las proporciones y medidas del cuerpo más cercanas al estándar peruano tanto en hombres como en mujeres. A continuación se presentan los planos de ensamble de las partes principales del Headset. Headset Figura 2.23 Headset 41 Como se puede observar en la Figura 2.23, el Headset posee 5 bandas: Strip Frontal (5), Strip Frontal 1 (6), Strip Cortex (7), Strip Parietal (8) y Strip Occipital (9). Los Strip Frontal y Occipital poseen 2 electrodos respectivamente, mientras las otras bandas poseen 5 electrodos cada una, esto debido que el diseño toma al sistema internacional 10-20 de posicionamiento de electrodos como punto de partida. Adicionalmente, se usa un electrodo extra el cual tiene el nombre de conductor mastoide (2) el cual tiene la propiedad de ser de un material plástico conductor, permitiendo que esta pieza sea usada como un electrodo de referencia. Este electrodo se encuentra ubicado en el Bloque inferior (1), que junto al Bloque superior (3) conforman la pieza central del Headset. El bloque inferior contiene en su interior a la tarjeta electrónica. Asimismo, se conecta con el bloque superior gracias a una corredera que servirá para regular la distancia entre el bloque inferior y la parte superior. En el bloque superior residen los conectores hembra que permiten que cada una de las bandas pueda conectarse para usar el sistema y liberarse para que pueda ser guardado, lo cual permite que el headset sea portable. Banda Frontal (Strip Frontal) Figura 2.24 Strip Frontal 42 La Figura 2.24 muestra el ensamble de la banda frontal. Esta banda está compuesta por 5 elementos. La pieza principal es la banda (1) propiamente dicha en la cual se insertan los portaelectrodos (3) los cuales contienen a los electrodos (4). Además, se tiene el portamacho (2), que es la pieza que permite la unión entre la banda y el conector macho (5). Este conector es el que permite que la banda como conjunto sea fácilmente desmontable. Cabe recalcar que esta banda y la banda occipital (Strip Occipital) son exactamente iguales. Banda Central (Strip Cortex) Figura 2.25 Strip Cortex En la Figura 2.25 se muestra la banda central (Strip Cortex), la cual posee las mismas piezas y funcionamiento que la banda frontal. La principal diferencia radica en que esta banda cuenta con 5 electrodos ubicados también según el sistema 10- 20. Las bandas frontal 1 (Strip Cortex 1) y banda parietal (Strip Parietal) poseen la misma geometría y dimensiones que esta banda. 43 Figura 2.26 Ensamble Portaelectrodo Finalmente, la Figura 2.26 presenta el ensamble que permite el correcto funcionamiento de los electrodos. Este ensamble lo conforma el electrodo (5), el cual necesita un broche (4) para poder realizar la conexión. Como parte de este sistema y para asegurar un buen posicionamiento entre el electrodo y la cabeza del usuario de donde se captarán las señales cerebrales, se cuenta con un mecanismo de resorte. Este mecanismo está compuesto por el portaresorte (1), en el cual se inserta el resorte (3); y como cobertor de estas piezas se tiene al portaelectrodo (2). Este mecanismo permite que, al posicionar el headset en la cabeza del usuario, gracias al resorte se ejercerá cierta presión que permitirá al electrodo expandirse y lograr crear un buen contacto con el cuero cabelludo. 44 3.5 Diagramas de comunicación y funcionamiento sistema mecatrónico A continuación se presentan los diagramas de flujo que representan el funcionamiento del sistema mecatrónico, en el cual se tiene como principales controladores: un Atmega328 ubicado en el headset, un computador que servirá como medio de recepción de las señales EEG para su procesamiento y un Arduino Nano que será el controlador de la mano robótica. Headset Figura 2.27 Diagrama de Flujo del funcionamiento del Headset La figura 2.27 presenta el diagrama de flujo del funcionamiento del Headset. El Headset contiene el circuito electrónico encargado de la captura de señales EEG 45 (ADS1299) y la captura de movimiento de la cabeza (acelerómetro), éste además realiza la digitalización de señales y envío al computador mediante un transmisor bluetooth. El proceso inicia energizando el Headset, el cual activa una batería de 3.7 voltios, lo que activará los componentes electrónicos asociados al Headset. El programa se encarga de activar los puertos analógicos y el transmisor bluetooth. Como siguiente paso, las señales cerebrales capturadas son amplificadas, filtradas y digitalizadas gracias al ADS1299; paralelamente las señales analógicas obtenidas con el acelerómetro, son digitalizadas por el Atmega. Todas las señales son enviadas al transmisor bluetooth a través del Atmega. Finalmente, las señales procesadas son enviadas de manera inalámbrica por bluetooth hacia un computador. Computador Figura 2.28 Diagrama de Flujo funcionamiento del Computador 46 En la Figura 2.28 se presenta el diagrama de flujo del funcionamiento del Computador, el cual será el encargado de recibir las señales cerebrales, adquiridas por el Headset, y mediante diferentes algoritmos de extracción de características y clasificación, se podrán convertir en comandos de control. Inicialmente el programa debe inicializar el receptor bluetooth, el cual recibirá los datos sin procesar adquiridos por el Headset. Adicionalmente, será necesario inicializar un servidor que será usado como nexo entre el Headset, el computador y el controlador Arduino. Este servidor servirá como un medio de comunicación intermedio entre el módulo de transmisión de datos bluetooth, el software OpenVibe del computador y el controlador Arduino. Una vez empezada la transmisión de datos se realizará una verificación de recepción de datos mediante el puerto serial, de tal manera que se pueda asegurar que se están transmitiendo las señales adquiridas. A continuación usando el software OpenVibe, se procede a realizar el procesamiento, traducción y extracción de características necesarias para ser transformadas en comandos de movimiento del brazo robot, los cuales pueden ser representados por caracteres (A: Abrir mano; B: Cerrar mano). Finalmente, una vez se obtengan los comandos, estos serán enviados al Arduino mediante puerto serial para generar los gestos predeterminados. 47 Figura 2.29 Diagrama de Flujo del procesamiento, traducción y extracción de características en las señales. Lograr controlar la mano humanoide requiere que el usuario realice un entrenamiento, en el cual el sistema “aprende” a distinguir entre las señales cerebrales que serán referidas a los diversos comandos. La Figura 2.29 muestra el diagrama de flujo del proceso. Para poder realizar el entrenamiento, el usuario debe ser estimulado durante un tiempo conocido, el cual puede variar según el tipo de paradigma a usar, mediante un visualizador. El software OpenVibe cuenta con diferentes librerías las cuales permiten crear diferentes interfaces gráficas como visualizadores, estimuladores entre otros. Usando este software se inicializa el 48 visualizador y el estimulador, los cuales funcionan en conjunto. La fase de adquisición de señales es la primera etapa, en la cual usando el visualizador se muestran estímulos (Flechas derecha e izquierda, matriz de p300, etc.) y se graba la información obtenida durante el tiempo de estimulación. Una vez finalizada esta etapa, se debe entrenar al sistema. Este proceso usa las señales almacenadas y las filtra para acotar solo las señales de la frecuencia deseada y mediante algoritmos de clasificación como Linear Discriminant Analysis (LDA), Support Vector Machines (SVM) o Neural Networks, se hace la diferenciación de las señales características, en este caso las correspondientes a los movimientos de la mano derecha, izquierda y el estado de relajación (Ondas Alpha, Frecuencia: 10 Hz). Cuando se tiene entrenado por completo al sistema, es decir, se tiene el algoritmo de clasificación entrenado, es posible realizar la selección de señales en tiempo real, es decir, el sistema ya se encuentra apto para distinguir los diferentes tipos de estímulos cerebrales y asignarlos a comandos de control. Para este último proceso, las señales pasan por un filtro temporal para ser acotadas a una frecuencia deseada, el algoritmo de entrenamiento detecta las señales y las discrimina, estableciendo así un vínculo entre un patrón cerebral y un movimiento de la mano 49 Controlador Arduino Figura 2.30 Diagrama de flujo del controlador Arduino Nano Finalmente, la Figura 2.30 muestra el diagrama de flujo del controlador Arduino Nano, mediante el cual se podrán realizar los gestos predeterminados para la mano. Se configuran las los puertos que usará el Arduino, en este caso el puerto serial para recibir los datos del computador haciendo uso de un conector USB, y las salidas digitales que controlarán cada uno de los 5 servomotores asignados a cada dedo de la mano. Esta configuración puede observarse el en anexo D. El Arduino espera recibir un comando de movimiento mediante el puerto serial. Estos comandos pueden ser 3 caracteres, cada uno de ellos relacionado a un estado mental. El primer carácter tendría una vinculación con el estado de relajación, el cual enviará una señal a los motores para formar el gesto de agarre de precisión. El segundo caracter haría referencia al movimiento de mano derecha del usuario, el cual indicará al Arduino que se debe cerrar la mano. Finalmente, el último caracter estaría referido al movimiento de la mano izquierda del usuario, el cual sería interpretado como la apertura de la mano. 50 CAPÍTULO 4 Experimentos y Resultados Como se ha mencionado, una interfaz cerebro computador consta de un dispositivo de adquisición de señales (headset), un sistema de procesamiento (Computador) y un dispositivo que será controlado (Brazo Humanoide). A continuación se presenta una simulación, la cual representa la etapa de procesamiento que realizará el computador haciendo uso del software OpenVibe. Se usa una base de datos de datos de señales EEG incluida en el software, ya que no se realizó la implementación del Headset. Asimismo, se presenta un experimento, en el cual se usan las señales procesadas por el software y un Arduino conectado a un brazo humanoide. Este experimento demuestra la factibilidad de usar el OpenVibe con controladores externos como el Arduino, lo que permite no sólo realizar el control de un brazo, sino de cualquier otro dispositivo que haga uso de un Arduino. 4.1 Simulación La siguiente simulación plantea los bloques de algoritmos que usaría el software OpenVibe para poder procesar la información adquirida por el headset para realizar una clasificación de señales cerebrales a partir del paradigma de imaginación motriz [Pfurtscheller, 2001]. Esta simulación consta de 5 etapas: Monitoreo, Adquisición, Entrenamiento, Clasificación y Uso Online. Cabe resaltar que para el usar este algoritmo con el headset, sería necesario tener electrodos en las posiciones Cz, C3 y C4 (Figura 1.2) como mínimo, posiciones ubicadas en la corteza motriz del cerebro. Cabe resaltar que esta simulación se realizó usando una base de datos de señales EEG relacionadas al paradigma de imaginación motriz, incluidas en el software OpenVibe, por lo que se obtiene un resultado positivo. Sin embargo, se han modificado algunos bloques como la detección del estado de relajación y la visualización de imágenes de mano derecha e izquierda a manera de indicadores. 51 Figura 3.1 Etapa de Monitoreo Fuente: OpenVibe La Figura 3.1 muestra los bloques usados en la etapa de monitoreo. Inicialmente se configura el Cliente de Adquisición (Acquisition Client), el cual crea un servidor para conectar el headset con el software y así capturar las señales en tiempo real. Los datos son filtrados (temporal filter) usando un filtro butterworth de orden 4 en un rango de frecuencias de 8 a 40 Hz, para asegurarse de eliminar ruido eléctrico (60Hz). Finalmente, los bloques Signal Display muestran la data filtrada y sin filtro. Esta etapa es usada para corroborar el correcto funcionamiento de los electrodos, en el display se deben apreciar alteraciones en la señal al parpadear, abrir la mandíbula y al cerrar los ojos. La Figura 3.2 muestra como son presentadas las señales cerebrales en el software OpenVibe. La imagen superior muestra la señal filtrada y la inferior presenta las señales sin filtrar. En este caso se muestran las señales de los electrodos Cz (referencia), O1 y O2 (Figura 1.2) pertenecientes al sistema 10-20. 52 Figura 3.2 Señales Cerebrales en OpenVibe Fuente: OpenVibe 53 Figura 3.3 Etapa de Adquisición Fuente: OpenVibe La segunda etapa es de adquisición, mostrada por la Figura 3.3, la cual servirá para capturar data que será usada en las siguientes etapas de entrenamiento y clasificación. Inicialmente, los datos son obtenidos por el cliente de adquisición, el cual se conecta con el headset. Luego se hace uso de un generador de estímulos (Graz Motor Imagery BCI Stimulator) el cual generará una secuencia de 20 imágenes de flechas apuntando tanto a la derecha como a la izquierda de manera aleatoria para inducir al usuario a generar las señales del paradigma de imaginación motriz (Figura 3.4). Finalmente, las señales que son capturadas son almacenadas en un archivo para ser usado posteriormente (Generic Stream writer). a. b. Figura 3.4 a) Estimulación Brazo Izquierdo b) Estimulación Brazo Derecho Fuente: OpenVibe 54 Figura 3.5 Etapa de Entrenamiento Fuente: OpenVibe La siguiente etapa es mostrada por la Figura 3.5, etapa de entrenamiento. Los datos almacenados son filtrados en una frecuencia de 8-30 Hz, frecuencia en la cual se puede visualizar los impulsos generados al imaginar movimiento de brazo derecho e izquierdo. Las señales filtradas son seleccionadas de acuerdo al evento relacionado, en este caso movimiento de brazo derecho o izquierdo (Stimulation based epoching). Finalmente, se extraen los coeficientes después de aplicar el algoritmo de Filtros Espaciales Comunes (Common Spatial Filter) para la posterior clasificación. 55 Figura 3.6 Etapa de Clasificación Fuente: OpenVibe Esta etapa consiste en la clasificación de las señales EEG (Figura 3.6). Como se puede apreciar las señales son filtradas en el rango de 8 a 30 Hz. Luego, los bloques de estimulación capturan 4 segundos de señal 0.5 segundos después del estímulo (flechas) presentado al usuario. La señal es procesada y almacenada en matrices que son luego convertidas en vectores de características. Teniendo estos vectores, se entrena al clasificador lineal (Linear Discriminant Analysis) el cual permitirá detecta los movimientos de mano derecha e izquierda. El clasificador debe 56 tener una efectividad de por lo menos 65% para pasar a la siguiente etapa, de lo contrario, se debe repetir el proceso. En este caso, se obtuvo un número superior a 65% por ser una muestra optimizada para este tipo de clasificación. Figura 3.7 Uso en tiempo Real (Online) Fuente: OpenVibe Finalmente, la Figura 3.7 presenta la etapa de uso online o en tiempo real. Habiendo entrenado el clasificador, es posible poder usar el headset y poder visualizar como el sistema logra discriminar las señales del usuario. Para esto, se usa nuevamente un visualizador que mostrará nuevamente las flechas derecha e izquierda; sin embargo, en esta ocasión, al acertar con la intención de movimiento del usuario, se mostrarán dos imágenes indicando la imaginación de movimiento de mano derecha e izquierda (Figura 3.8). 57 Figura 3.8 Presentación Visual de Correcta Clasificación Fuente: OpenVibe 4.2 Experimento El objetivo del experimento planteado es realizar el control de un dispositivo a partir del software de procesamiento de señales OpenVibe, el cual es un software open-source diseñado para BCI y permite, mediante el uso de bloques, diseñar los algoritmos necesarios para procesar y clasificar la información. Teniendo ya los datos clasificados y habiéndose asegurado el correcto funcionamiento del algoritmo mediante las etapas descritas en la sección anterior, se debe complementar con el control de un dispositivo, para así tener una interfaz cerebro-computador. Equipos utilizados: - Software OpenVibe: Este software proveerá del carácter que emula la respuesta cerebral. - Arduino UNO: Por medio de sus salidas digitales, permite controlar los 5 servomotores que permiten el movimiento de cada dedo en la mano humanoide. Puede usarse también un Arduino Nano gracias a los 6 puertos PWM que posee. - Visual Studio 2015: En este software se ejecuta el servidor que realiza la comunicación OpenVibe – Arduino. 58 - Software Arduino: Posee el algoritmo (Anexo D) que permite comunicar el servidor con los servomotores. Además, incluye librerías para el control de los actuadores. - Ensamble de mano humanoide: Se decidió usar una mano humanoide fabricada con ABS mediante impresión 3D, para emular como sería el control de una prótesis mediante un BCI, cabe resaltar que se podría haber realizado el control de cualquier otro dispositivo. - Cable USB – USB tipo B: Permite la comunicación entre el Arduino y el computador haciendo uso del puerto serial. - Fuente Regulable: Se usó una fuente regulable de 7 voltios – 2 Amperios para energizar los servomotores de la mano. - Este experimento es la etapa posterior a la adquisición, procesamiento y clasificación de las señales. Se realizará el control de una mano humanoide haciendo uso de la base de datos procesada, como explicó en la sección de simulación. La respuesta obtenida del estímulo de la mano derecha e izquierda estará asociada a la recepción de los caracteres “A” y “Z” respectivamente. Es decir, si el usuario piensa en mover la mano derecha, el software OpenVibe enviará la letra “A” a un servidor, el cual realizará la comunicación serial con un Arduino para controlar los gestos de la mano. Asimismo, si el usuario piensa en mover la mano izquierda, el software OpenVibe enviará la letra “Z” a un servidor, y se procede con el control de la mano con el Arduino. El principal objetivo de este experimento es demostrar la factibilidad de poder realizar el control de un dispositivo haciendo uso de las señales adquiridas mediante el headset. 59 Procedimiento 1. Comunicación OpenVibe – Visual Studio La primera etapa consiste en poder realizar una conexión entre el software OpenVibe y el software Visual Studio. OpenVibe es el software que procesa los estímulos cerebrales adquiridos por el headset, además los procesa y realiza la clasificación de los mismos. La respuesta a los estímulos será asociada a un carácter, el cual será enviado a un servidor implementado en visual studio. Para poder simular el estímulo cerebral relacionado al movimiento de mano derecha o izquierda, se enviará el carácter “A” ó “Z” haciendo uso del teclado; la tecla “E” simulará la detección de ondas alfa. La Figura 3.9 presenta el bloque usado en OpenVibe para poder usar el teclado del computador como entrada y además poder realizar la conexión con el servidor de Visual Studio. Como se puede observar en la Figura 3.10, OpenVibe usa el bloque Estimulador de teclado (Keyboard Stimulator) que, por medio de una ventana propia, permite la entrada de algunos caracteres del teclado, en este caso se usa “A” y “Z”. Adicionalmente, se usa el bloque Oscilador Sinusoidal (Sinus Oscillator), que representa las señales cerebrales que serían capturadas en tiempo real y mostradas mediante el bloque Visualizador de Señal (Signal Display) que grafica la señal. La conexión con el servidor se realiza gracias a los bloques Servidor VRPN Analógico (Analog VRPN Server) y Servidor VRPN de botón (Button VRPN Server). El primero bloque permite que el servidor muestre la señal analógica que se está capturando, en este caso el potencial eléctrico cerebral. El segundo bloque permite que el servidor capture la señal de teclado generada. La conexión OpenVibe – Servidor se realiza gracias al VRPN (Virtual Reality Peripheral Network), una herramienta open source diseñada para facilitar la comunicación de periféricos con sistemas de realidad virtual mediante el uso de una aplicación cliente - servidor. 60 Figura 3.9 Bloque de Conexión OpenVibe – Servidor Fuente: OpenVibe Figura 3.10 Estimulador de Teclado (Keyboard Stimulator) Fuente: OpenVibe El servidor que conecta los dos software es generado mediante Visual Studio por medio de las librerías del VRPN. Al levantar el servidor en DOS, el servidor esperará que se ejecute la aplicación de OpenVibe. Como se puede ver en la Figura 3.11, si la aplicación no se ejecuta en un periodo menor de 3 segundos, el servidor mostrará el mensaje “Sin respuesta del servidor”. 61 Figura 3.11 Servidor sin conexión Por el contrario, al ejecutar la aplicación, el servidor empezará a mostrar los valores analógicos (Potenciales eléctricos) que son capturados por el headset, como se puede ver en la Figura 3.12. Figura 3.12 Servidor Conectado 62 2. Comunicación Visual Studio - Arduino La conexión entre el servidor y el Arduino se realiza mediante comunicación serial. Para ello es necesario hacer uso de la librería Serial.h en el visual studio, lo que permite hacer uso de un puerto COM para transmisión y recepción de los datos. Al digitar el carácter en OpenVibe, el servidor recibe esa información y la transmite al Arduino. El Arduino recibe el dato y usando el algoritmo de movimiento de mano (anexo D), interpreta el carácter que inicializa el programa de movimiento, ya sea para cerrar, abrir la mano o hacer el gesto de agarre de precisión. Al recibir el carácter “Z”, el servidor muestra el mensaje “Movimiento de mano Izquierda” lo que hace que la mano se abra (Figura 3.13). Si se recibe el carácter “A”, el servidor muestra el mensaje “Movimiento de mano Derecha” (Figura 3.14), logrando que la mano cierre. Finalmente, al recibir el carácter “E” el servidor muestra el mensaje “Señalando” con lo que la mano realiza el gesto de señalar (Figura 3.15). Figura 3.13 OpenVibe, Servidor, Mano Abierta 63 Figura 3.14 OpenVibe, Servidor, Mano Cerrada Figura 3.15 OpenVibe, Servidor, Gesto Señalando 64 A pesar de no haber podido realizar la adquisición de las señales EEG con el Headset, se ha demostrado que es posible el control de la mano humanoide mediante señales cerebrales. La base de datos usada presenta estímulos relacionados a imaginación motriz (movimiento de miembros superiores) los cuales fueron procesados y convertidos en comandos de control que en este caso, permitieron que la mano realice 3 gestos. Se hizo necesario el uso de un servidor que comunique el software OpenVibe con el controlador Arduino, debido que no existía una conexión directa entre el software y el hardware. 65 CAPÍTULO 5 Presupuesto A continuación se presentan las tablas en las cuales se encuentran los costos de implementación del sistema mecatrónico. Estos costos incluyen costos de diseño, materiales que incluyen los componentes mecánicos y electrónicos, fabricación e imprevistos. En el anexo E se pueden encontrar las proformas de los componentes mostrados. Tabla 10. Costos Totales Componente Costo horario (S/. por Hora) Tiempo Total (Horas) Costo Total Costo Diseño 50 150 7500 Componentes Mecánicos 520.97 Componentes Electrónicos 3138.75 Fabricación Digital 2289.2 Imprevistos 1500 Total (S/.) 14948.92 Tabla 11. Componentes Mecánicos Componente Cantidad P. Unitario P. Total Perno Socket M3x10 16 0.6 9.6 Perno Socket M8x80 1 1 1 Perno Socket M8x40 1 1 1 Perno Socket M8x60 1 1 1 Perno Socket M3x20 16 0.8 12.8 Hilo Nylon 1 16.1 16.1 ABS (Rollo) 2 200 400 Total (S/.) 441.5 IGV (18%) 79.47 Total (S/.) 520.97 66 Tabla 12. Componentes Electrónicos Componente Cantidad P. Unitario P. Total CAP ARRAY 5 0.82 4.10 RES ARRAY 5 0.54 2.68 ACCELEROMETRO 3 AXIS 1 5.20 5.20 IC GATE OR 1CH 2-INP SC-70-5 1 1.23 1.23 IC REG SWITCHED CAP INV SOT23-6 1 3.15 3.15 Regulador 2.5V 0.2A 1 1.76 1.76 Regulador 3V 0.25A 1 0.82 0.82 ADS1299 1 178.61 178.61 Regulador 5V 0.25A 1 3.87 3.87 IC 8-BIT TRNSTR 1 7.25 7.25 Regulador -2.5V 0.2A 1 9.92 9.92 DIODE GEN PURP 80V 100MA 0603 1 0.72 0.72 TVS DIODE 5.5VWM 14.5VC 1 1.92 1.92 Cristal 16.0000MHz 1 1.98 1.98 LED BLUE 0603 SMD 1 1.54 1.54 Conectores Macho 2 1.00 2.00 Capacitor 10uF 6 0.50 3.02 Capacitor 0.1uF 10 0.32 3.15 Capacitor 0.01uF 2 1.58 3.15 Capacitor 0.001uF 1 1.89 1.89 Capacitor 1uF 9 0.47 4.25 Capacitor 2.2uF 8 0.63 5.04 Capacitor 9pF 2 0.32 0.63 Capacitor 100uF 3 0.95 2.84 Resistencia 1M 1 1.26 1.26 Resistencia 10K 1 0.32 0.32 Resistencia 220K 1 0.63 0.63 Resistencia 330K 1 0.95 0.95 Resistencia 470K 2 1.26 2.52 Resistencia 1K 1 0.32 0.32 Resistencia 2.2K 5 0.38 1.89 Atmega 328P 1 10.00 10.00 Arduino Nano 1 31.50 31.50 Servomotores 5 126.00 630.00 Electrodos Flex 20 78.75 1,575.00 Bluetooth RN42 1 122.85 122.85 Batería 3.7V 850mAh 1 31.50 31.50 Subtotal (S/.) 2,659.45 IGV (18%) 478.70 Total (S/.) 3,138.15 67 Tabla 13. Costos de Fabricación Componente Costo horario (S/. por Hora) Tiempo Total (Horas) Costo Total Impresión 3D Headset 30 50 1500 Impresión 3D Mano 22 20 440 Total (S/.) 1940 IGV (18%) 349.2 Total (S/.) 2289.2 El costo total para la implementación del sistema sería de S/. 14948.92 68 Conclusiones - El diseño del Headset propuesto logra cubrir las posiciones del sistema 10- 20 de posicionamiento de electrodos, lo cual abarca las principales zonas del cerebro usadas en interfaces cerebro – computador. - El Headset ha sido diseñado para que cada una de las 5 bandas que posee puedan ser retiradas y puestas de manera sencilla, por lo cual se logra obtener un sistema de fácil traslado y modular. - Las pruebas realizadas con la mano demuestran la factibilidad de controlar dispositivos con señales cerebrales. Para realizar el control es necesario de un servidor que sirva como medio de comunicación entre el software OpenVibe y el controlador Arduino. - Se logró tener un diseño versátil, que permite seleccionar y reemplazar los electrodos a usar. Esto posibilita la realización de diferentes estudios usando diversos paradigmas, ya que la distribución de electrodos del Headset abarca las posiciones usadas en la gran mayoría de paradigmas. - El experimento realizado de comunicación entre los software usados presentan un retraso de 2 segundos entre el envío de la señal y el movimiento de la mano, esto se debe a que se hace uso de diversas librerías para la conexión entre OpenVibe, Visual Studio y Arduino. Esto podría ser solucionado desarrollando una librería que comunique directamente estos programas sin el uso servidores intermedios para lograr la comunicación. - Si bien el diseño cumple con estándares para el posicionamiento en la cabeza del usuario, se lograría un dispositivo más óptimo teniendo el tamaño de cabeza de cada persona. Esto se puede lograr usando un escáner 3D y un software de modelamiento. De esta manera se puede ajustar el Headset a cada usuario. - El desarrollo del dispositivo tiene un costo de S/. 14948.92, este monto se obtiene teniendo en cuenta el costo de diseño e implementación. Este costo es comparable con el costo de dispositivos comerciales y es considerado de bajo costo a comparación de un equipo de uso médico o de investigación. 69 Recomendaciones - El Headset fue realizado haciendo uso de antropomitros de cabeza basados en estándares de hombres y mujeres chinos, esto se debe a que no existe un estudio antropométrico de los peruanos por lo que teniendo esos datos, se podría tener un Headset adecuado a las necesidades nacionales. - El diseño del Headset cumple con lo solicitado; a pesar de esto, sería necesario realizar una validación en cuanto a comodidad, aspecto y facilidad de posicionamiento por diferentes usuarios, con el objetivo de asegurar un diseño óptimo. - Los electrodos usados fueron pasivos con lo cual se puede tener una señal buena para la aplicación propuesta. Si se desea tener una mejor calidad de señal para otra aplicación, se recomienda usar electrodos activos. - La fabricación será enteramente usando impresión 3D. Se recomienda tener en cuenta que debido al proceso, se producen contracciones en el material. En este caso la impresora Fortus realiza contracciones mínimas de 0.127 mm, mientras que impresoras más simples, de entre 0.2 a 0.5 mm. 70 Bibliografía [1] Organización Mundial de la Salud, «Informe Mundial sobre la Discapacidad,» OMS, 2011. [2] Biblioteca Nacional de Medicina de los EE.UU., «MedlinePlus,» 29 enero 2014. [En línea]. Available: https://www.nlm.nih.gov/medlineplus/spanish/spinalmuscularatrophy.html. [Último acceso: 1 Septiembre 2015]. [3] J. E. Huggins, P. A. Wren y K. L. Gruis, «What would brain-computer interface users want? Opinions and priorities of potential users with amyotrophic lateral sclerosis,» Amyotrophic Lateral Sclerosis, vol. 12, nº 5, pp. 318-324, 2011. [4] A. Kübler, E. Holz, T. Kaufmann y C. Zickler, «A user centred approach for bringing BCI controlled applications to end-users,» Brain-Computer Interface Systems-Recent Progress and Future Prospects, 2013. [5] F. Nijboer, D. Plass-Oude Bos, Y. Blokland, R. van Wijk y J. Farquhar, « Design requirements and potential target users for brain-computer interfaces–recommendations from rehabilitation professionals,» Brain-Computer Interfaces, vol. 1, nº 1, pp. 50-61, 2014. [6] H. Berger, «Über das Elektrenkephalogramm des Menschen,» European Archives of Psychiatry and Clinical Neuroscience, pp. 87(1),527-570, 1929. [7] J. J. Vidal, «Toward Direct Brain-Computer Communication,» Annual review of Biophysics and Bioengineering, pp. 2(1), 157-180, 1973. [8] J. R. Wolpaw, N. Birbaumer, D. J. McFarland, G. Pfurtscheller y T. M. Vaughan, «Brain–computer interfaces for communication and control,» Clinical neurophysiology, vol. 113, nº 6, pp. 767-791, 2002. [9] J. Martin y C. M. Pechura, Mapping the Brain and Its Functions:: Integrating Enabling Technologies into Neuroscience Research, National Academies Press, 1991. [10] G. H. Klem, H. O. Lüders, H. H. Jasper y C. Elger, «The ten-twenty electrode system of the International Federation,» Electroencephalogr Clin Neurophysiol, vol. 52, nº 3, 1999. [11] Y. Wang, R. Wang, X. Gao, B. Hong y S. Gao, «A practical VEP-based brain- computer interface,» Neural Systems and Rehabilitation Engineering, IEEE Transactions on, vol. 14, nº 2, pp. 234-240, 2006. [12] L. F. Alonso y J. Gomez-Gil, «Brain computer interfaces, a review,» Sensors, vol. 12, nº 2, pp. 1211-1279, 2012. [13] J. J. Shih, D. J. Krusienski y J. R. Wolpaw, «Brain-computer interfaces in medicine,» Mayo Clinic Proceedings, vol. 87, nº 3, pp. 268-279, 2012. [14] R. G. Colmeiro, E. Statello, S. E. Jaremczuk, J. C. Gómez y C. Verrastro, «Clasificación de imaginación motriz mediante la detección de ERD/ERS para aplicaciones BCI», 2014. 71 [15] g.tec, «g.Nautilus - g.tec's wireless EEG system with active electrodes,» 2015. [En línea]. Available: http://www.gtec.at/Products/Hardware-and-Accessories/g.Nautilus-Specs- Features. [Último acceso: 29 10 2015]. [16] Biosemi, «ActiveTwo - Biosemi,» [En línea]. Available: http://www.biosemi.com/products.htm. [Último acceso: 29 10 2015]. [17] Neuroelectrics, «Products/ ENOBIO - Neuroelectrics,» 2015. [En línea]. Available: http://www.neuroelectrics.com/products/enobio/. [Último acceso: 29 10 2015]. [18] Advanced Brain Monitoring, «B-Alert X10 - EEG Headset System,» 2014. [En línea]. Available: http://www.advancedbrainmonitoring.com/xseries/x10/. [Último acceso: 29 10 2015]. [19] Emotiv, «EPOC headset - Emotiv,» 2014. [En línea]. Available: https://emotiv.com/epoc.php. [Último acceso: 30 10 2015]. [20] Emotiv Inc, «Insight - Emotiv,» 2014. [En línea]. Available: https://emotiv.com/insight.php. [Último acceso: 31 10 2015]. [21] Interaxon, «Muse: the brain sensing headband,» 2015. [En línea]. Available: http://www.choosemuse.com/. [Último acceso: 31 10 2015]. [22] OpenBCI, «OpenBCI/Ultracortex,» 2015. [En línea]. Available: https://github.com/OpenBCI/Ultracortex. [Último acceso: 31 10 2015]. [23] L. A. Farwell y E. Donchin, «Talking off the top of your head: toward a mental prosthesis utilizing event-related brain potentials,» Electroencephalography and clinical Neurophysiology, vol. 70, nº 6, pp. 510-523, 1988. [24] g.tec, «intendiX: World's first Personal BCI Speller,» 2012. [En línea]. Available: http://www.intendix.com/. [Último acceso: 29 10 2015]. [25] B. Mahmoudi y A. Erfanian, «Single-channel EEG-based prosthetic hand grasp control for amputee subjects,» In Engineering in Medicine and Biology, 2002. 24th Annual Conference and the Annual Fall Meeting of the Biomedical Engineering Society EMBS/BMES Conference, vol. 3, pp. 2406-2407, 2002. [26] A. Ramos, V. Aggarwal, A. Chatterjee, Y. Cho, R. Rasmussen, B. O'Rourke, S. Acharya y N. V. Thakor, «Brain Computer Interface for a Prosthetic hand using local machine control and haptic feedback,» Rehabilitation Robotics, 2007. ICORR 2007. IEEE 10th International Conference on, pp. 609-613, 2007. [27] S. Acharya, V. Aggarwal, F. Tenore, H.-C. Shin, R. Etienne-Cummings, M. H. Schieber y N. V. Thakor, «Towards a Brain-Computer Interface for Dexterous Control of a Multi-Fingered Prosthetic Hand,» In Neural Engineering, 2007. CNE'07. 3rd International IEEE/EMBS Conference on, pp. 200-203, 2007. [28] G. R. Müller-Putz y G. Pfurtscheller, «Control of an Electrical Prosthesis With an SSVEP-Based BCI,» Biomedical Engineering, IEEE Transactions on, vol. 55, nº 1, pp. 361- 364, 2008. 72 [29] Y.-N. LI, X.-D. ZHANG y Z.-X. HUANG, «A practical method for motor imagery based real-time prosthesis control,» In Automation Science and Engineering (CASE), 2012 IEEE International Conference on, pp. 1052-1056, 2012. [30] K. D. Katyal, M. S. Johannes, S. Kellis, T. Aflalo, C. Klaes, T. G. McGee, M. P. Para, Y. Shi, B. Lee, K. Pejsa, C. Liu, B. A. Wester, F. Tenore, J. D. Beaty, A. D. Ravitz, R. A. Andersen y M. P. McLoughlin, «A collaborative BCI approach to autonomous control of a prosthetic limb system,» In Systems, Man and Cybernetics (SMC), 2014 IEEE International Conference on, pp. 1479-1482, 2014. [31] X. Zhang, R. Li y Y. Li, «Research on brain control prosthetic hand,» In Ubiquitous Robots and Ambient Intelligence (URAI), 2014 11th International Conference on, pp. 554- 557, 2014. [32] G. Edlinger y C. Guger, «A hybrid brain-computer interface for improving the usability of a smart home control,» In Complex Medical Engineering (CME), 2012 ICME International Conference on, pp. 182-185, 2012. [33] P. Casale, J. M. Fernandez, X. R. Palou, S. Torrellas, M. Ratsgoo y F. Miralles, «Enhancing user experience with brain-computer-interfaces in smart home environments,» In Intelligent Environments (IE), 2012 8th International Conference on, pp. 307-3010, 2012. [34] W. T. Lee, H. Nisar, A. S. Malik y K. H. Yeap, «A brain computer interface for smart home control,» In Consumer Electronics (ISCE), 2013 IEEE 17th International Symposium on, pp. 35-36, 2013. [35] H. J. Park, K. T. Kim y S. W. Lee, «Towards a smart TV control system based on steady-state visual evoked potential,» In Brain-Computer Interface (BCI), 2015 3rd International Winter Conference on, pp. 1-2, 2015. [36] K. Goel, R. Vohra, A. Kamath y V. Baths, «Home automation using SSVEP & eye- blink detection based brain-computer interface,» In Systems, Man and Cybernetics (SMC), 2014 IEEE International Conference on, pp. 4035-4036, 2014. [37] Kais, B. Kais, F. Ghaffari, O. Romain y R. Djemal, «An embedded implementation of home devices control system based on brain computer interface,» In Microelectronics (ICM), 2014 26th International Conference on, pp. 140-143, 2014. [38] T. O. Zander y J. Sabine, «Detecting affective covert user states with passive Brain- Computer Interfaces,» In Affective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rd International Conference on. IEEE, pp. 1-9, 2009. [39] A. Bahramisharif, M. van Gerven, T. Heskes y O. Jensen, «Covert attention allows for continuous control of brain–computer interfaces,» European Journal of Neuroscience, vol. 31, nº 8, pp. 1501-1508, 2010. [40] A. P. Georgopoulos, E. Karageorgiou, A. C. Leuthold, S. M. Lewis, J. K. Lynch, A. A. Alonso, Z. Aslam, A. F. Carpenter, A. Georgopoulos, L. S. Hemmy y I. G. Koutlas, «Synchronous neural interactions assessed by magnetoencephalography: a functional biomarker for brain disorders,» Journal of neural engineering, vol. 4, nº 4, p. 349, 2007. 73 [41] E. E. Fetz, «Operant conditioning of cortical unit activity,» Science, vol. 163, nº 3870, pp. 955-958, 1969. [42] J. R. Wolpaw, D. J. McFarland, G. W. Neat y C. A. Forneris, «An EEG-based brain- computer interface for cursor control,» Electroencephalography and clinical neurophysiology, vol. 78, nº 3, pp. 252-259, 1991. [43] E. Angelakis, J. L. Stevenson y J. F. Lubar, «EEG neurofeedback: a brief overview and an example of peak alpha frequency training for cognitive enhancement in the elderly,» The Clinical Neuropsychologist, vol. 21, nº 1, pp. 110-129, 2007. [44] A. K. Pradeep, he Buying Brain: Secrets for Selling to the Subconscious Mind, NY: Wiley, 2010. [45] C. Wang, K. S. Phua, K. K. Ang, C. Guan, H. Zhang, R. Lin, K. S. G. Chua, B. T. Ang y C. W. K. Kuah, «A feasibility study of non-invasive motor-imagery BCI-based robotic rehabilitation for Stroke patients,» In Neural Engineering, 2009. NER'09. 4th International IEEE/EMBS Conference on, pp. 271-274, 2009. [46] A. Úbeda, E. Iáñez, E. Hortal y J. M. Azorín, «Linear decoding of 2D hand movements for target selection tasks using a non-invasive BCI system,» In Systems Conference (SysCon), 2013 IEEE International , pp. 778-782, 2013. [47] G. R. Müller-Putz y R. Rupp, «Achievements and challenges of translational research in non-invasive SMR-BCI-controlled upper extremity neuroprosthesis in spinal cord injury,» In Neural Engineering (NER), 2015 7th International IEEE/EMBS Conference on, pp. 158-161, 2015. [48] L. Hochberg, M. Serruya, G. Friehs, J. Mukand, M. Saleh, A. Caplan y J. Donogue, «Neuronal ensemble control of prosthetic devices by a human with tetraplegia,» Nature, vol. 442, nº 7099, pp. 164-171, 2006. [49] P. R. Kennedy, R. A. Bakay, M. M. Moore, K. Adams y J. Goldwaithe, «Direct control of a computer from the human central nervous system,» Rehabilitation Engineering, IEEE Transactions on, vol. 8, nº 2, pp. 198-202, 2000. [50] J. D. Simeral, S. P. Kim, M. J. Black, J. P. Donoghue y L. R. Hochberg, «Neural control of cursor trajectory and click by a human with tetraplegia 1000 days after implant of an intracortical microelectrode array,» Journal of neural engineering, vol. 8, nº 2, p. 025027, 2011. [51] C. Guger, G. Krausz, B. Z. Allison y G. Edlinger, «Comparison of dry and gel based electrodes for P300 brain–computer interfaces,» Frontiers in neuroscience, vol. 6, 2012. [52] Y. M. Chi, Y.-T. Wang, Y. Wang, C. Maier, T.-P. Jung y G. Cauwenberghs, «Dry and noncontact EEG sensors for mobile brain–computer interfaces,» Neural Systems and Rehabilitation Engineering, IEEE Transactions on, vol. 20, nº 2, pp. 228-235, 2012. [53] G. Langevin, «InMoov | open-source 3D printed life-size robot,» [En línea]. Available: inmoov.fr. [Último acceso: 01 12 2015]. 74 [54] G. Pfurtscheller, C. Neuper, «Motor imagery and direct brain – computer communication,» Proceedings of the IEEE, vol. 89, nº 7, pp. 1123-1134, 2001. [55] pinguino, «Pinguino, open source IDE, compilers and hardware ...,» [En línea]. Available: www.pinguino.cc. [Último acceso: 14 10 2015].