PRIMEROS PASOS EN EL CONTROL DE UN BRAZO ROBOT MEDIANTE SE ˜ NALES EEG
Eduardo I´a˜nez, Jos´e M. Azor´ın, Eduardo Fern´andez*, Jos´e M. Sabater, Ricardo Morales, Carlos P´erez Virtual Reality & Robotics Lab, *Instituto de Bioingenier´ıa
Universidad Miguel Hern´andez
Avda. de la Universidad s/n, Edif. Torreblanca, 03202 Elche (Alicante) [email protected]
Resumen
Resumen: En este art´ıculo se describen las pri- meras aproximaciones al control de un brazo ro- bot mediante las se˜nales electroencefalogr´aficas (EEG). El uso de se˜nales EEG permitir´a que per- sonas con un alto grado de discapacidad puedan controlar un brazo robot y ayudarles a realizar tareas en su vida diaria. Actualmente se trabaja en registrar la actividad r´ıtmica mediante dichas se˜nales para obtener pensamientos espont´aneos de la persona, con la finalidad de que, tras realizar un entrenamiento previo, pueda controlarse el brazo robot. Para poder detectar los pensamientos se re- gistrar´an las se˜nales EEG de la persona mediante unos electrodos situados sobre el cuero cabelludo y, tras un procesamiento adecuado de las se˜nales, se podr´a detectar en qu´e estado se ha pensado, pu- diendo utilizar esta informaci´on para mover un brazo robot. En el art´ıculo se describen los pri- meros resultados obtenidos.
Palabras clave: Interfaz cerebral, se˜nales EEG, redes neuronales, FFT.
1. INTRODUCCI ´ ON
En la actualidad existen numerosos sistemas de ayuda para personas con discapacidad destinados a conseguir una mejor movilidad de la persona afectada o facilitarles el acceso a la informaci´on.
Por ejemplo, para mejorar la movilidad existen sillas de ruedas automatizadas, pr´otesis rob´oticas para las extremidades [3] o exoesqueletos [9], y en cuanto al acceso a la informaci´on, existen teclados de conceptos, navegadores de voz para invidentes como OpenBook [8] o interfaces cerebro-m´aquina no invasivas (BCI: Brain Computer Interface) para controlar desde el cursor en el ordenador hasta dispositivos m´oviles [6]. Todos estos siste- mas tienen como finalidad facilitar la vida diaria a personas con discapacidad.
En este art´ıculo se describen los primeros pa- sos efectuados para desarrollar un sistema que permita a una persona controlar un brazo robot
a partir de se˜nales EEG. En este sistema, en primer lugar se registrar´an las se˜nales EEG de la persona cuando esta realiza ciertas tareas mentales, que en nuestro caso consistir´an en pensar en movimientos motores, como por ejem- plo, pensar en mover el brazo derecho, el brazo izquierdo, las piernas, . . . . Para registrar dichas se˜nales colocaremos unos electrodos sobre el cuero cabelludo cerca del cortex motor del cerebro.
Mediante el sistema de adquisici´on obtendremos dichas se˜nales en el ordenador para poder pro- cesarlas y obtener cual es la tarea mental que est´a pensando la persona en ese momento. Esta informaci´on ser´a utilizada para enviar los co- mandos pertinentes de movimiento al brazo robot.
El art´ıculo se estructura del siguiente modo. En primer lugar veremos el sistema de adquisici´on y el brazo robot en la secci´on 2, donde se hablar´a sobre los dispositivos que permitir´an recoger las se˜nales y el brazo robot que controlaremos tras realizar el procesamiento adecuado. A continuaci´on se expo- ne en la secci´on 3 el sistema de control basado en EEG describiendo el procesamiento software reali- zado, el sistema de decisi´on para controlar el robot y el entrenamiento requerido para manejar la apli- caci´on. En la secci´on 4 se muestran los primeros resultados experimentales y, por ´ultimo, se expo- nen las conclusiones en la secci´on 5.
2. SISTEMA DE ADQUISICI ´ ON Y BRAZO ROBOT
En este apartado se describe la arquitectura hard- ware y software del sistema de adquisic´ı´on y del brazo robot. El sistema de procesamiento EEG se explicar´a en la secci´on 3. Este sistema de adqui- sici´on se compone de los electrodos que recoger´an las se˜nales directamente sobre la piel de la perso- na, un sistema de amplificaci´on y filtrado, y un sistema de muestreo y digitalizaci´on de la se˜nal.
A partir de este punto utilizaremos Matlab para obtener las se˜nales en el ordenador para su almace- namiento, tratamiento offline o para trabajar con ellas directamente en tiempo real como se ver´a en la secci´on 3.2.
Por ´ultimo, en este apartado se hablar´a sobre el brazo robot que vamos a controlar. Una vez la par- te software procese los datos y tome una decisi´on sobre el pensamiento detectado, se enviar´ıa dicha instrucci´on al robot para que ´este realice el movi- miento correspondiente. En la figura 1 vemos un diagrama de bloques general del sistema.
Figura 1: Diagrama de bloques general del siste- ma. Diferenciando hardware/software y entorno local/remoto.
En la Figura 2 puede verse una imagen real del sis- tema donde aparece la persona con los electrodos puestos y el dispositivo Nicolet Viking IV D.
Figura 2: Imagen real del entorno local.
2.1. ELECTRODOS
Los electrodos utilizados son de cloruro de plata con un disco de 10mm de di´ametro y una cone- xi´on de 2mm tipo pin-jacks. Para conseguir una mayor conductividad entre la piel y el electrodo
se limpia previamente con alcohol y se utiliza un gel conductor.
Los electrodos se colocar´an siguiendo el Sistema Internacional 10/20 que vemos en la figura 3. Se utilizar´a un gorro de gomas para que los electro- dos no se muevan una vez colocados en la cabeza.
Inicialmente se utilizar´an 4 electrodos.
Figura 3: Sistema internacional 10/20.
2.2. NICOLET VIKING IV D
Como sistema de amplificaci´on y filtrado se dispo- ne del dispositivo Nicolet Viking IV D, que a pesar de ser un dispositivo antiguo dispone de amplifi- cadores y filtros de muy buena calidad. El dispo- sitivo dispone de 4 amplificadores con la conexi´on pin-jack de 2mm (+,-,Ground) con una sensibili- dad de 1 V/div hasta 10mV/div en 13 pasos y 2V pico-pico m´axima escala de salida, un bajo ruido de menos de 0.7 V RMS desde 2 Hz hasta 10 KHz con entrada en cortocircuito, filtro Notch a 50 Hz y sendos filtros paso alto y paso bajo (ambos 12 dB/d´ecada) seleccionables a distintas frecuencias.
Los filtros que han sido seleccionados son: filtro paso-alto: 0.2 Hz y filtro paso-bajo: 30 Hz. Poste- riores filtrados necesarios se realizar´ıan por softwa- re. El dispositivo nos ofrece las se˜nales de salida, adem´as de por pantalla, mediante cable coaxial, uno por canal. La ganancia seleccionada para reco- ger las se˜nales es de 20.000 (seleccionando una en el dispositivo SNS=10µV ). Se ha creado un perfil en el dispositivo con todos estos par´ametros para seleccionarlo y poder trabajar directamente con esta configuraci´on.
El dispositivo tambi´en permite medir la impedan- cia de los electrodos. Hay que tener en cuenta al colocarlos que la impedancia medida debe ser me- nor de 50KΩ , para as´ı obtener una calidad acep- table de se˜nal.
2.3. NI PCI-6023E
Para adquirir la se˜nal en el computador se utili- za una tarjeta de adquisici´on de National Instru- ments NI PCI-6023E [7]. Esta tarjeta muestrear´a y
digitalizar´a la se˜nal proveniente de los amplifica- dores. Para conectar la salida en cable coaxial de los amplificadores a la tarjeta PCI-6023E es ne- cesario el bloque conector BNC-2110 que dispone de 8 canales anal´ogicos con conexi´on coaxial y un cable SH68-68-EP que une dicho bloque con la tar- jeta ubicada en el ordenador.
El modelo PCI-6023E dispone de 16 entradas anal´ogicas, de las cuales s´olo utilizaremos 4, una por cada canal, 12 bits de resoluci´on de entrada, un rango de entrada de ±0,05 a ±10 V, una sen- sibilidad media de 0.008 mV, y una m´axima tasa de muestreo total de 200 KS/s siendo m´as que suficiente para nuestra aplicaci´on, ya que mues- trearemos cada canal a un m´aximo de 2KHz.
2.4. DATA ACQUISITION TOOLBOX
DE MATLAB
La captura de los datos se realizar´a desde Matlab utilizando el Toolbox “Data Acquisicion Tool” [1], desde el cual configuraremos los par´ametros de fre- cuencia de muestreo, rango, muestras,. . . y me- diante una funci´on iniciaremos, detendremos la captura o recogeremos muestras del buffer, tenien- do un control completamente automatizado y sim- ple, de forma que ´unicamente es necesario decirle a la funci´on la tarea que debemos realizar, d´ando- le los datos necesarios para ello o seg´un el caso recibir datos [out,datos]=captura(modo,entrada).
Las modos que permite este programa son los si- guientes:
Start/stop: inicia/detiene la captura flush: elimina la informaci´on del buffer configure: configura y crea la conexi´on (re- quiere una variable con la configuraci´on) data acquisition: lee datos del buffer (devuel- ve los datos le´ıdos)
delete: elimina la conexi´on
information: da informaci´on sobre la conexi´on Esto permite, incluyendo las llamadas a la funci´on dentro del flujo de nuestro programa, obtener las muestras en tiempo real para su procesamiento y toma de decisi´on. Tambi´en permite obtener las muestras para almacenarlas y poder realizar estu- dios sobre los datos en modo offline. El resto del software tambi´en se ha dise˜nado en Matlab.
2.5. BRAZO ROBOT FANUC LR
MATE 200iB
Por ´ultimo y tras todo el procesamiento softwa- re, utilizaremos el brazo robot FANUC LR Mate
200iB [4] que controlaremos a distancia median- te los registros electroencefalogr´aficos detectados por el sistema. Podemos ver en la figura 4 una imagen del robot se˜nalando sobre ella los ejes de los que dispone y su movimiento. Puede verse que dispone de 6 grados de libertad y puede cargar en su extremo hasta 5 Kg. Para poder visualizar el movimiento del robot, hacia donde est´a mirando, se ha colocado una c´amara en su extremo (unida directamente al eje 6), para as´ı poder ver desde el punto de vista del robot hacia donde estamos mi- rando y otra externa para poder ver el movimiento de ´este durante los tests.
Figura 4: Robot FANUC LR Mate 200iB. Pueden verse marcados los ejes as´ı como su movimiento.
2.5.1. Servidor/Cliente
Para controlar el robot FANUC LR Mate 200iB se ha utilizado un software en C++ compuesto de un sistema servidor/cliente que se comunican me- diante el protocolo RPC (Remote Procedure Call).
El servidor se encuentra en un ordenador junto al robot y este se conecta al robot mediante red para transmitirle las instrucciones pertinentes.
El cliente se ejecutar´a en el ordenador que utili- zamos para capturar las se˜nales EEG y una vez iniciado e indicada la IP del servidor, este se co- nectar´a y se pondr´a a la espera de instrucciones.
Cada vez que el cliente reciba una instrucci´on se la enviar´a al servidor mediante RPC para que ´este se la comunique al robot.
2.5.2. Modos de control
Para controlar el robot se utilizar´an inicialmente s´olo 1 de los 6 grados de libertad que tiene movien- do el robot a izquierda y derecha. Se han progra- mado dos modos de control del robot en cuando a
la forma de moverse:
El primero realizar´a los movimientos en coor- denadas esf´ericas utilizando el eje J1 (ver figu- ra 4), cuando se empleen 2 grados de libertad se utilizar´a tambi´en el eje J3, el resto de ejes se encontrar´an en una posici´on fija. El movi- miento de estos ejes se realiza a intervalos de 3 grados, siendo este par´ametro variable.
El segundo modo ser´a el de moverse en coor- denadas cartesianas en el eje y manteniendo el plano x/z constante. Para moverse por di- cho plano de un punto a otro, la controladora del robot mover´a cada eje individual del robot de forma que alcancemos la posici´on deseada, realizando por lo tanto una trayectoria no rec- til´ınea entre dos puntos. Para solventar esto, se ha programado mediante software que el robot se mueva a peque˜nos intervalos consi- guiendo una trayectoria m´as rectil´ınea. Es de- cir, para llegar de un punto a otro, el robot pasa por un determinado numero de puntos intermedios. Entre cada uno de estos puntos la trayectoria se puede considerar rectil´ınea.
El movimiento por el plano se realiza a inter- valos de 25 mm, siendo este par´ametro varia- ble.
En ambos modos de control, por seguridad, se ha limitado por software el rango de trabajo del robot limitando su desplazamiento, de forma que si el robot llega a un extremo de este rango, este se detenga.
3. SISTEMA ELECTROENCEFA- LOGR ´ AFICO
(EEG)
Las se˜nales EEG que se van a considerar para poder diferenciar entre los distintos estados men- tales corresponden a pensamientos espont´aneos del usuario. Dentro de estos pensamientos es- pont´aneos, existen dos categor´ıas: potenciales len- tos y actividad r´ıtmica [5]. Se ha considerado la actividad r´ıtmica, ya que en potenciales lentos, el tiempo requerido para detectar un estado es muy alto, del orden de entre 4 a 10 segundos, mien- tras que para las se˜nales de actividad r´ıtmica dicho tiempo es menor y permitir´a una mayor interac- ci´on con el brazo robot.
Situaremos los electrodos en la cabeza sobre el cuero cabelludo en las cercan´ıas del ´area moto- ra del cerebro. Se ha seleccionado esta zona, ya que como indican ciertos estudios [2], imaginar un movimiento genera el mismo proceso mental e in- cluso f´ısico que realizar el movimiento, solo que el movimiento queda bloqueado.
Por lo tanto, las tareas mentales que queremos diferenciar consistir´an en pensamientos motores, tales como mover el brazo izquierdo, el derecho, o las piernas. No se descartan otras tareas men- tales, se ir´an ampliando seg´un avance el proyecto, a˜nadiendo por ejemplo tareas mentales tales como operaciones aritm´eticas, colores, . . .
3.1. SITUACI ´ON DE LOS ELECTRODOS
Como se ha comentado los electrodos se situar´an cerca del ´area motora del cerebro y siguiendo el Sistema Internacional 10/20 comentado en la sec- ci´on 2.1. Las posiciones correspondientes al cortex motor (ver figuras 3 y 5 ser´ıan C3, Cz, C4, T3, T4 y otras menos pr´oximas F3, Fz, F4, P3, Pz, P4. Puesto que s´olo disponemos de 4 electrodos, se comenzar´a probando en las posiciones Ci y en funci´on de los resultados se ir´an probando otras posiciones.
Figura 5: Partes del cerebro (en color rojo el cortex motor).
3.2. SOFTWARE DESARROLLADO
En este apartado se expondr´a el software creado para detectar el estado en el que se est´a pensan- do a partir de los registros electroencefalogr´aficos, as´ı como el control del robot. En la figura 6 pue- de verse el diagrama de bloques m´as detallado del sistema de procesamiento software, donde en el bloque Tratamiento de la se˜nal ir´ıan incluidos los algoritmos discriminadores y los clasificadores que explicaremos a continuaci´on.
En la figura 6 pueden verse tres modos que ser´ıan el almacenamiento de las se˜nales, el procesamiento offline y el tiempo real.
Para el almacenamiento de la se˜nales se ha di- se˜nado una interfaz en la cual, una vez selecciona-
Figura 6: Diagrama de bloques software.
da la configuraci´on que vamos a utilizar, como por ejemplo, el c´odigo de la persona que realizar´a los test, en qu´e posiciones del sistema internacional se situar´an los electrodos, cambios en la configu- raci´on por defecto para la adquisici´on, que estados mentales tendremos que pensar, . . . a continuaci´on se pulsar´a start y comenzar´a la aplicaci´on que nos ir´a indicando qu´e debemos pensar y registrar´a las se˜nales durante 5 segundos, realizando 5 tandas para cada estado comprendido en el test.
Para el procesamiento offline se utilizar´an las se˜nales previamente almacenadas para, utilizan- do los algoritmos discriminadores y los clasifica- dores, crear un modelo espec´ıfico que nos permi- ta diferenciar entre las tareas mentales. Con es- te procesamiento tambi´en se pretende determinar qu´e par´ametros de dichos algoritmos son los m´as
´optimos y ofrecen los mejores resultados. Los mo- delos creados se almacenar´an para su posterior uso en la aplicaci´on de tiempo real.
Para el tiempo real se ir´an cogiendo un n´umero de- terminado de muestras y se les aplicar´a uno de los modelos creados durante el procesamiento offline para obtener la tarea mental que est´a pensando la persona en ese mismo momento y poder, a trav´es del sistema de decisi´on que comentaremos en la secci´on 3.3, realizar el control del robot.
3.2.1. Algoritmos discriminadores
La funci´on de los algoritmos discriminadores es la de extraer las caracter´ısticas m´as importantes de las se˜nales electroencefalogr´aficas y as´ı facilitar la clasificaci´on de estas. Todo el procesamiento, co- mo se ha comentado anteriormente, se est´a reali- zando en Matlab.
Para extraer las caracter´ısticas m´as importantes de las se˜nales EEG se ha comenzado a trabajar en el dominio frecuencial, ya que en funci´on del tipo de actividad mental que se est´e desarrollando se encontrar´an variaciones en unas u otras bandas de frecuencia, por lo que un estudio en frecuencia permitir´a encontrar diferencias entre los estados mentales. Por lo tanto calculamos la Densidad Es- pectral de Potencia (DEP) entre los 0 y los 32 Hz y as´ı podremos ver las variaciones de la actividad
r´ıtmica.
Para el c´alculo de la densidad espectral de po- tencia se ha empleado inicialmente la FFT (Fast Fourier Transform). Con ello obtenemos el espec- tro en frecuencia y nos quedamos con el rango de frecuencia de las se˜nales EEG entre los 1 y los 32Hz con una resoluci´on de 1Hz, siendo este el
´
unico par´ametro variable para este algoritmo.
La concatenaci´on de los espectros de los 4 canales de los que disponemos ser´a la entrada al algoritmo clasificador teniendo 128 valores de entrada. Para reducir el n´umero de puntos de entrada al clasi- ficador, reduciendo su complejidad y su tiempo de procesamiento, se seleccionar´an aquellas ban- das de frecuencias o conjuntos de ellas que tienen m´as informaci´on.
Otro algoritmo que se ha programado para obte- ner la DEP ha sido el Periodograma de Welch o WOSA. Este m´etodo consiste en dividir el con- junto de muestras en subconjuntos m´as peque˜nos incluyendo un posible solape y aplicarles una ven- tana (por ejemplo, “hanning” o “hamming”) y ob- tener el espectro de cada uno de ellos. Posterior- mente se realiza un promedio de todos estos espec- tros obteniendo un espectro final con un varianza menor respecto al espectro obtenido de haber uti- lizado directamente todas las muestras. Este algo- ritmo tiene varios par´ametros, adem´as del n´umero de puntos que determinar´a la resoluci´on del espec- tro (al igual que con la FFT), se requerir´a tambi´en el tama˜no de la ventana o el n´umero de ventanas y el solape que habr´a entre ellas. Por defecto se tiene que el n´umero de puntos ser´a aquel con el que se obtenga una resoluci´on de 1Hz (´este de- pender´a de la frecuencia de muestreo), un n´umero de ventanas de 8 o el tama˜no de la ventana de for- ma que obtengamos 8 (tambi´en ir´a en funci´on de la frecuencia de muestreo) y un solape del 50 %.
Para obtener cuales son los valores ´optimos de los par´ametros en ambos algoritmos se requerir´an rea- lizar simulaciones variando dichos par´ametros en determinados rangos, teniendo en cuenta que fil- trados previos o los algoritmos clasificadores tam- bi´en tendr´an par´ametros a determinar, y que en funci´on de estos podr´an encontrarse varias con- figuraciones ´optimas. La soluci´on ´optima final ser´a aquella en la que se obtengan los mejores re- sultados fijando los par´ametros de todos los algo- ritmos, discriminadores y clasificadores y de posi- bles filtrados previos.
Se han comenzado a estudiar tambi´en otros al- goritmos como la Transformada de Wavelet o el An´alisis de Componentes Independientes (ICA - Independent Component Analysis).
3.2.2. Algoritmos clasificadores
Una vez extra´ıdas las caracter´ısticas de la se˜nal, es necesario realizar una clasificaci´on de ´estas para poder determinar en qu´e tarea mental se est´a pen- sando. Como clasificador se est´a utilizando una red neuronal de tipo perceptr´on multicapa.
Como se ha comentado en el apartado 3.2.1, co- mo entrada a esta red neuronal se tendr´an los es- pectros concatenados de los 4 canales de los que disponemos y la tarea mental a la que correspon- den. Una vez especificados los par´ametros de la red neuronal, ´esta realizar´a un aprendizaje por el m´etodo de retropropagaci´on (BP - backpropaga- tion) calculando los pesos de las neuronas para minimizar el error de la red.
La red neuronal tiene diversos par´ametros: el n´umero de neuronas (20) y capas ocultas (1), la tasa de aprendizaje (0.03), el momento (0.2), el n´umero de iteraciones (1000), siendo los valores entre par´entesis los valores tomados por defecto.
Al igual que con los algoritmos discriminadores, para obtener cuales son los valores ´optimos en los par´ametros se requerir´a realizar simulaciones va- riando dichos par´ametros en determinados rangos para encontrar las soluciones ´optimas. La soluci´on
´optima final ser´a aquella en la que se obtengan los mejores resultados fijando los par´ametros de todos los algoritmos, discriminadores y clasificadores y de posibles filtrados previos. Las primeras simula- ciones dan como resultado los valores que hemos seleccionado por defecto.
La red neuronal nos ofrecer´a un % de acierto, pero
´este no ser´a del todo v´alido, ya que habr´a efectua- do un modelo y lo habr´a testeado con los mismos ejemplos que us´o para crearlo. Por ello suele em- plearse m´as el % de acierto en validaci´on cruzada, el cual, har´a x grupos con los datos de entrada, y usar´a cada uno de los grupos para testear el mo- delo creado por el resto de datos. Por ´ultimo pro- mediar´a los x resultados para ofrecer el porcentaje de acierto en validaci´on cruzada. ´Este ser´a un por- centaje m´as valido, ya que al no coger todos los valores para crear el modelo, se tendr´a en cuen- ta que el modelo creado deber´a servir para datos recogidos en otro momento.
Hay que tener en cuenta para el % de validaci´on cruzada respecto al % de acierto, que este ´ultimo seg´un se van realizando iteraciones siempre dismi- nuir´a (ver figura 7), ya que la red se adaptar´a cada vez mejor a los valores de entrada. Pero en cam- bio, en el % de acierto de validaci´on cruzada, exis- tir´a un m´ınimo, ya que llegar´a un momento en el que si se hacen excesivas iteraciones, la red co- menzar´a a aprender demasiado adapt´andose a los valores con los que se crea el modelo, por lo que,
al testear con los valores restantes, el modelo no sabr´a clasificarlos correctamente. Por lo tanto, el n´umero de iteraciones ser´a tambien un par´ametro a optimizar.
Figura 7: En rojo % de acierto y en azul % de acier- to de validaci´on cruzada.
Se ha comenzado a estudiar tambi´en el uso de re- des neuronales autoorganizativas SOM (Self Or- ganizing Maps) y LVQ (Learning Vector Quanti- zation).
3.3. SISTEMA DE DECISI ´ON PARA EL CONTROL DEL ROBOT
Para tomar una decisi´on final sobre la tarea men- tal en que ha pensado la persona a partir del resul- tado obtenido del clasificador, que nos indicar´a a qu´e estado corresponde, debemos decidir si el va- lor obtenido es suficientemente alto como para to- marlo como un acierto, o en su defecto descartarlo (lo cu´al no se considerar´a un error, pero tampoco un acierto). El objetivo es conseguir un porcenta- je de error m´ınimo, pero tambi´en un porcentaje de acierto elevado, ya que si no fallamos en el re- conocimiento, pero descartamos la mayor´ıa de los valores, el sistema no ser´ıa v´alido.
Una vez obtenido un acierto y para evitar los po- sibles errores, se utilizar´an una barras, similares a las de la figura 8, que el usuario deber´a llenar pensando durante un determinado tiempo en el mismo estado. En cada intervalo de tiempo en el cual el usuario piense en dicho estado, la barra se incrementar´a, mientras que si piensa en otro esta- do, ´esta descender´a r´apidamente. Con esto conse- guimos corroborar que efectivamente se est´a pen- sando en un estado determinado y que no ha sido un error puntual. Cuando se alcance un determi- nado nivel en la barra, entonces se efectuar´a la acci´on asociada a dicho pensamiento. Para que el robot realice un movimiento m´as continuo en vez de moverse en peque˜nos intervalos deberemos, una
Figura 8: Barras de progreso para un sistema de 3 estados, reposo, izquierda y derecha.
vez superado el umbral, continuar pensando en el mismo estado para mantenernos por encima del umbral.
La cantidad de intervalos necesarios para llegar al umbral en la barra y el tiempo que se tarde depen- der´a tanto de los algoritmos utilizados, como del entrenamiento de la persona. Cuanto menor sea el error conseguido en el sistema y se disponga de mayor entrenamiento, se requerir´a menos tiempo para ejecutar una acci´on.
3.4. ENTRENAMIENTO Y PRUEBAS
EXPERIMENTALES
En este apartado se comentar´a el protocolo a seguir tanto para determinar qu´e algoritmos y qu´e configuraciones son los que mejor funcionan globalmente, como qu´e tendr´a que hacer un usua- rio nuevo que vaya a comenzar a utilizar el siste- ma.
Para obtener el modelo que mejores resultados ofrezca en funci´on de los par´ametros de los algo- ritmos se ha realizado el siguiente proceso:
Para realizar las pruebas experimentales se han registrado las se˜nales de varias personas empleando el software dise˜nado para almace- nar las se˜nales.
A continuaci´on se ha realizado un procesa- miento offline de todas las se˜nales probando diferentes configuraciones de los par´ametros de cada algoritmo as´ı como varios algorit- mos, con el fin de obtener qu´e algoritmo y con qu´e par´ametros presenta los mejores re- sultados.
Por ´ultimo se seleccionar´a el algoritmo que mejores resultados proporcione.
Para una persona nueva que vaya a utilizar el sis-
tema por primera vez se seguir´ıa el siguiente pro- cedimiento:
Se registran las se˜nales de la persona em- pleando el software dise˜nado para almacenar las se˜nales.
A continuaci´on se utilizan dichas se˜nales para entrenar la red neuronal empleando los algo- ritmos con los par´ametros obtenidos durante el estudio realizado anteriormente.
Por ´ultimo se utilizar´a dicho modelo ya entre- nado para la persona para probar el sistema en tiempo real.
Se pretende mejorar el sistema de forma que la persona inicialmente tenga que hacer s´olo un m´ıni- mo de tests iniciales y que con ellos se entrene la red neuronal. A continuaci´on se seguir´ıan reco- giendo datos, pero esta vez se usar´ıa ya el modelo obtenido para que el usuario pueda tener una re- alimentaci´on visual de como funciona el sistema.
Con ello el aprendizaje ser´a m´as r´apido. El sis- tema adem´as seguir´ıa entrenando con cada nueva adquisici´on de se˜nales. Cuando veamos que el sis- tema tiene un porcentaje de fallos aceptable, se pasar´ıa a utilizar el sistema de forma voluntaria en tiempo real.
4. PRIMEROS RESULTADOS
Para obtener los primeros resultados se ha seguido el procedimiento explicado en la secci´on 3.4 y los tareas mentales ha consistido en pensar en mover el brazo a derecha e izquierda. Los electrodos se han situado en las posiciones del sistema interna- cional C3, C4, F3 y F4 y la frecuencia de mues- treo ha sido de 512 Hz. Se ha utilizado la FFT como algoritmo discriminador y la red neuronal perceptr´on multicapa como clasificador. Tras un estudio de los par´ametros de estos algoritmos, es- tos se han fijado a los valores por defecto especifi- cados en 3.2.1 y 3.2.2.
Estos valores son: una resoluci´on de 1Hz para la FFT y 20 neuronas en 1 capa oculta, una tasa de aprendizaje de 0.03, un momento 0.2 y 1000 ite- raciones para la red neuronal. Los resultados ob- tenidos pueden verse en la tabla 1, estos resulta- dos iniciales no tienen porcentajes de acierto muy elevados, pero son v´alidos para una primera apro- ximaci´on.
En la tabla 1 se observa que cuantas menos mues- tras utilizamos para detectar un estado mayor in- formaci´on por segundo se consigue, pero los resul- tados son m´as bajos, se tiene menos informaci´on con la que tomar la decisi´on. Por ello el resultado
Muestras Tiempo Porcentaje (seg.) de acierto ( %)
64 1/8 57
128 1/4 57
256 1/2 56
512 1 59
1024 2 60
Cuadro 1: Primeros resultados sistema EEG.
m´as alto se obtiene cogiendo m´as tiempo de se˜nal.
En la figura 9 se observan los espectros de una simulaci´on, se observa en cada color un estado, y aunque a simple vista es dif´ıcil verlo, hay ciertas diferencias entre uno y otro estado, es funci´on de la red neuronal tomar estos datos para crear un modelo que permita diferenciarlos.
Figura 9: Espectros de simulaci´on. En rojo un es- tado y en azul otro.
5. CONCLUSIONES
En este art´ıculo se han descrito los primeros pa- sos para el desarrollo de un sistema que permi- tir´a a personas con alto grado de discapacidad con- trolar un brazo robot mediante se˜nales electroen- cefalogr´aficas. Se ha mostrado como capturar las se˜nales y los algoritmos con los que se est´a traba- jando para procesar las se˜nales y poder determinar qu´e tarea mental se est´a ejecutando, y con ello po- der enviar los pertinentes comandos al robot para que ´este realice el movimiento deseado.
Como futuro trabajo se plantea como objetivo me- jorar ciertos aspectos tales como reducir el porcen- taje de error y detectar un mayor n´umero de esta- dos (pudiendo as´ı utilizar m´as grados de libertad en el brazo robot). Tambi´en se investigar´a como reducir el tiempo de detecci´on, lo que implicar´ıa mayor informaci´on por segundo (ancho de banda mayor).
Asimismo se pretenden desarrollar completamen-
te otros algoritmos discriminadores en los que se ha empezado a trabajar como son la Transformada de Wavelet y el An´alisis de Componentes Indepen- dientes (ICA) con el fin de mejorar los resultados obtenidos. Tambi´en se completar´a la implementa- ci´on de otro tipo de redes neuronales con las que se ha comenzado a trabajar, como las Redes neu- ronales autoorganizativas SOM y LVQ.
Referencias
[1] Data Acquisition Toolbox. http://www.
mathworks.com/products/daq/
[2] Decety, J. Lindgren, M. (1991). Sensation of effort and duration of mentaly executed ac- tions. Scand. J. Psychol. 32, 97-104.
[3] Jeong, Y., Lee, D., Kim, K and Park, J.
(2000). A wearable robotic arm with high force-reflection capability. IEEE International Workshop on Robot and Human Interactive Communication, Osaka, Japan.
[4] LR Mate 200iB (Caracter´ısticas) http://www.fanucrobotics.es/products/
robots/detail.asp?id=74
[5] Mill´an J.R., Ferrez P.W., Buttfield A. (2005).
Non Invasive Brain-Machine Interfaces - Fi- nal Report. IDIAP Research Institute - ESA [6] Mill´an, J.R., Renkensb, F., Mouri˜noc, J. and Gerstnerb W. (2004). Brain-actuated interac- tion. Artificial Intelligence, volume 159, pages 241-259.
[7] NI PCI-6023E. http://sine.ni.com/nips/
cds/view/p/lang/es/nid/10967
[8] OpenBook. http://www.
freedomscientific.com/fs_products/
software_open.asp.
[9] Sankai, Y. (2006). Leading edge of cybernics:
robot suit HAL. SICE-ICASE International Joint Conference, pages: 1-2.