Académique Documents
Professionnel Documents
Culture Documents
Resumen
Resumen: En este artculo se describen las primeras aproximaciones al control de un brazo robot mediante las se
nales electroencefalogr
aficas
(EEG). El uso de se
nales EEG permitir
a que personas 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 rtmica 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 registrar
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 que estado se ha pensado, pudiendo utilizar esta informaci
on para mover un
brazo robot. En el artculo se describen los primeros resultados obtenidos.
Palabras clave: Interfaz cerebral, se
nales EEG,
redes neuronales, FFT.
1.
INTRODUCCION
a partir de se
nales EEG. En este sistema, en
primer lugar se registraran 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 ejemplo, 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 procesarlas y obtener cual es la tarea mental que
est
a pensando la persona en ese momento. Esta
informacion sera utilizada para enviar los comandos pertinentes de movimiento al brazo robot.
El artculo 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 permitiran recoger las se
nales
y el brazo robot que controlaremos tras realizar el
procesamiento adecuado. A continuacion se expone en la secci
on 3 el sistema de control basado en
EEG describiendo el procesamiento software realizado, el sistema de decision para controlar el robot
y el entrenamiento requerido para manejar la aplicacion. En la secci
on 4 se muestran los primeros
resultados experimentales y, por u
ltimo, se exponen las conclusiones en la secci
on 5.
2.
SISTEMA DE ADQUISICION
Y BRAZO ROBOT
En este apartado se describe la arquitectura hardware y software del sistema de adquisicon y del
brazo robot. El sistema de procesamiento EEG se
explicara en la secci
on 3. Este sistema de adquisici
on se compone de los electrodos que recoger
an
las se
nales directamente sobre la piel de la persona, un sistema de amplificacion y filtrado, y un
sistema de muestreo y digitalizacion de la se
nal.
A partir de este punto utilizaremos Matlab para
obtener las se
nales en el ordenador para su almacenamiento, tratamiento offline o para trabajar con
ellas directamente en tiempo real como se vera en
la secci
on 3.2.
Por u
ltimo, en este apartado se hablar
a sobre el
brazo robot que vamos a controlar. Una vez la parte software procese los datos y tome una decision
sobre el pensamiento detectado, se enviara dicha
instruccion al robot para que este realice el movimiento correspondiente. En la figura 1 vemos un
diagrama de bloques general del sistema.
2.2.
NICOLET VIKING IV D
Como sistema de amplificacion y filtrado se dispone del dispositivo Nicolet Viking IV D, que a pesar
de ser un dispositivo antiguo dispone de amplificadores y filtros de muy buena calidad. El dispositivo dispone de 4 amplificadores con la conexion
pin-jack de 2mm (+,-,Ground) con una sensibilidad de 1 V/div hasta 10mV/div en 13 pasos y 2V
pico-pico maxima 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/decada) seleccionables a distintas frecuencias.
Los filtros que han sido seleccionados son: filtro
paso-alto: 0.2 Hz y filtro paso-bajo: 30 Hz. Posteriores filtrados necesarios se realizaran por software. El dispositivo nos ofrece las se
nales de salida,
ademas de por pantalla, mediante cable coaxial,
uno por canal. La ganancia seleccionada para recoger las se
nales es de 20.000 (seleccionando una en
el dispositivo SNS=10V ). Se ha creado un perfil
en el dispositivo con todos estos par
ametros para
seleccionarlo y poder trabajar directamente con
esta configuracion.
El dispositivo tambien permite medir la impedancia de los electrodos. Hay que tener en cuenta al
colocarlos que la impedancia medida debe ser menor de 50K , para as obtener una calidad aceptable de se
nal.
ELECTRODOS
2.3.
NI PCI-6023E
Para adquirir la se
nal en el computador se utiliza una tarjeta de adquisici
on de National Instruments NI PCI-6023E [7]. Esta tarjeta muestreara y
digitalizar
a la se
nal proveniente de los amplificadores. Para conectar la salida en cable coaxial de
los amplificadores a la tarjeta PCI-6023E es necesario el bloque conector BNC-2110 que dispone
de 8 canales analogicos con conexion coaxial y un
cable SH68-68-EP que une dicho bloque con la tarjeta ubicada en el ordenador.
El modelo PCI-6023E dispone de 16 entradas
analogicas, de las cuales solo utilizaremos 4, una
por cada canal, 12 bits de resolucion de entrada,
un rango de entrada de 0,05 a 10 V, una sensibilidad media de 0.008 mV, y una maxima tasa
de muestreo total de 200 KS/s siendo mas que
suficiente para nuestra aplicacion, ya que muestrearemos cada canal a un maximo de 2KHz.
2.4.
200iB [4] que controlaremos a distancia mediante los registros electroencefalograficos 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 mirando y otra externa para poder ver el movimiento
de este durante los tests.
2.5.1.
data acquisition: lee datos del buffer (devuelve los datos ledos)
delete: elimina la conexion
information: da informaci
on sobre la conexion
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 decision. Tambien permite obtener las
muestras para almacenarlas y poder realizar estudios sobre los datos en modo offline. El resto del
software tambien se ha dise
nado en Matlab.
2.5.
Por u
ltimo y tras todo el procesamiento software, utilizaremos el brazo robot FANUC LR Mate
Servidor/Cliente
Modos de control
la forma de moverse:
El primero realizar
a los movimientos en coordenadas esfericas utilizando el eje J1 (ver figura 4), cuando se empleen 2 grados de libertad
se utilizara tambien el eje J3, el resto de ejes
se encontrar
an en una posicion fija. El movimiento de estos ejes se realiza a intervalos de
3 grados, siendo este par
ametro variable.
El segundo modo sera el de moverse en coordenadas cartesianas en el eje y manteniendo
el plano x/z constante. Para moverse por dicho plano de un punto a otro, la controladora
del robot mover
a cada eje individual del robot
de forma que alcancemos la posicion deseada,
realizando por lo tanto una trayectoria no rectilnea entre dos puntos. Para solventar esto,
se ha programado mediante software que el
robot se mueva a peque
nos intervalos consiguiendo una trayectoria mas rectilnea. Es decir, 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 rectilnea.
El movimiento por el plano se realiza a intervalos de 25 mm, siendo este par
ametro variable.
DE LOS
SITUACION
ELECTRODOS
3.
SISTEMA ELECTROENCEFA
LOGRAFICO
(EEG)
Las se
nales EEG que se van a considerar para
poder diferenciar entre los distintos estados mentales corresponden a pensamientos espont
aneos
del usuario. Dentro de estos pensamientos espont
aneos, existen dos categoras: potenciales lentos y actividad rtmica [5]. Se ha considerado la
actividad rtmica, ya que en potenciales lentos, el
tiempo requerido para detectar un estado es muy
alto, del orden de entre 4 a 10 segundos, mientras que para las se
nales de actividad rtmica dicho
tiempo es menor y permitir
a una mayor interaccion con el brazo robot.
Situaremos los electrodos en la cabeza sobre el
cuero cabelludo en las cercanas del
area motora del cerebro. Se ha seleccionado esta zona, ya
que como indican ciertos estudios [2], imaginar un
movimiento genera el mismo proceso mental e incluso fsico que realizar el movimiento, solo que el
movimiento queda bloqueado.
SOFTWARE DESARROLLADO
rtmica.
Para el c
alculo de la densidad espectral de potencia se ha empleado inicialmente la FFT (Fast
Fourier Transform). Con ello obtenemos el espectro en frecuencia y nos quedamos con el rango de
frecuencia de las se
nales EEG entre los 1 y los
32Hz con una resolucion de 1Hz, siendo este el
u
nico par
ametro variable para este algoritmo.
Figura 6: Diagrama de bloques software.
da la configuracion que vamos a utilizar, como por
ejemplo, el c
odigo de la persona que realizara los
test, en que posiciones del sistema internacional
se situaran los electrodos, cambios en la configuracion por defecto para la adquisici
on, que estados
mentales tendremos que pensar, . . . a continuacion
se pulsara start y comenzara la aplicacion que nos
ir
a indicando que debemos pensar y registrara las
se
nales durante 5 segundos, realizando 5 tandas
para cada estado comprendido en el test.
Para el procesamiento offline se utilizaran las
se
nales previamente almacenadas para, utilizando los algoritmos discriminadores y los clasificadores, crear un modelo especfico que nos permita diferenciar entre las tareas mentales. Con este procesamiento tambien se pretende determinar
que par
ametros de dichos algoritmos son los mas
optimos y ofrecen los mejores resultados. Los modelos creados se almacenar
an para su posterior uso
en la aplicacion de tiempo real.
Para el tiempo real se ir
an cogiendo un n
umero determinado 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 traves
del sistema de decision 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 caractersticas mas importantes de
las se
nales electroencefalograficas y as facilitar la
clasificacion de estas. Todo el procesamiento, como se ha comentado anteriormente, se est
a realizando en Matlab.
Para extraer las caractersticas mas 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 este desarrollando
se encontraran variaciones en unas u otras bandas
de frecuencia, por lo que un estudio en frecuencia
permitira encontrar diferencias entre los estados
mentales. Por lo tanto calculamos la Densidad Espectral de Potencia (DEP) entre los 0 y los 32 Hz
y as podremos ver las variaciones de la actividad
La concatenaci
on de los espectros de los 4 canales
de los que disponemos sera la entrada al algoritmo
clasificador teniendo 128 valores de entrada. Para
reducir el n
umero de puntos de entrada al clasificador, reduciendo su complejidad y su tiempo
de procesamiento, se seleccionaran aquellas bandas de frecuencias o conjuntos de ellas que tienen
mas informacion.
Otro algoritmo que se ha programado para obtener la DEP ha sido el Periodograma de Welch o
WOSA. Este metodo consiste en dividir el conjunto de muestras en subconjuntos mas peque
nos
incluyendo un posible solape y aplicarles una ventana (por ejemplo, hanning o hamming) y obtener el espectro de cada uno de ellos. Posteriormente se realiza un promedio de todos estos espectros obteniendo un espectro final con un varianza
menor respecto al espectro obtenido de haber utilizado directamente todas las muestras. Este algoritmo tiene varios par
ametros, ademas del n
umero
de puntos que determinara la resolucion del espectro (al igual que con la FFT), se requerir
a tambien
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 sera aquel con el
que se obtenga una resolucion de 1Hz (este dependera de la frecuencia de muestreo), un n
umero
de ventanas de 8 o el tama
no de la ventana de forma que obtengamos 8 (tambien 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 realizar simulaciones variando dichos par
ametros en
determinados rangos, teniendo en cuenta que filtrados previos o los algoritmos clasificadores tambien tendran par
ametros a determinar, y que en
funci
on de estos podran encontrarse varias configuraciones optimas. La solucion optima final
sera 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.
Se han comenzado a estudiar tambien otros algoritmos como la Transformada de Wavelet o el
An
alisis de Componentes Independientes (ICA Independent Component Analysis).
3.2.2.
Algoritmos clasificadores
Como se ha comentado en el apartado 3.2.1, como entrada a esta red neuronal se tendran los espectros concatenados de los 4 canales de los que
disponemos y la tarea mental a la que corresponden. Una vez especificados los par
ametros de la
red neuronal, esta realizar
a un aprendizaje por el
metodo de retropropagaci
on (BP - backpropagation) 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 parentesis 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 variando dichos par
ametros en determinados rangos
para encontrar las soluciones
optimas. La solucion
optima final sera 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 simulaciones dan como resultado los valores que hemos
seleccionado por defecto.
La red neuronal nos ofrecera un % de acierto, pero
este no sera del todo valido, ya que habr
a efectuado un modelo y lo habr
a testeado con los mismos
ejemplos que uso para crearlo. Por ello suele emplearse mas el % de acierto en validaci
on cruzada,
el cual, har
a x grupos con los datos de entrada, y
usara cada uno de los grupos para testear el modelo creado por el resto de datos. Por u
ltimo promediara los x resultados para ofrecer el porcentaje
de acierto en validaci
on cruzada. Este
sera un porcentaje mas valido, ya que al no coger todos los
valores para crear el modelo, se tendra en cuenta 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 u
ltimo
seg
un se van realizando iteraciones siempre disminuir
a (ver figura 7), ya que la red se adaptara cada
vez mejor a los valores de entrada. Pero en cambio, en el % de acierto de validaci
on cruzada, existira un mnimo, ya que llegar
a un momento en
el que si se hacen excesivas iteraciones, la red comenzara a aprender demasiado adaptandose a los
valores con los que se crea el modelo, por lo que,
PARA
SISTEMA DE DECISION
EL CONTROL DEL ROBOT
Para tomar una decision final sobre la tarea mental en que ha pensado la persona a partir del resultado obtenido del clasificador, que nos indicara a
que estado corresponde, debemos decidir si el valor obtenido es suficientemente alto como para tomarlo como un acierto, o en su defecto descartarlo
(lo cual no se considerar
a un error, pero tampoco
un acierto). El objetivo es conseguir un porcentaje de error mnimo, pero tambien un porcentaje
de acierto elevado, ya que si no fallamos en el reconocimiento, pero descartamos la mayora de los
valores, el sistema no sera valido.
Una vez obtenido un acierto y para evitar los posibles errores, se utilizaran una barras, similares
a las de la figura 8, que el usuario debera 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 estado, esta descender
a rapidamente. Con esto conseguimos corroborar que efectivamente se est
a pensando en un estado determinado y que no ha sido
un error puntual. Cuando se alcance un determinado nivel en la barra, entonces se efectuara la
accion asociada a dicho pensamiento. Para que el
robot realice un movimiento mas continuo en vez
de moverse en peque
nos intervalos deberemos, una
ENTRENAMIENTO Y PRUEBAS
EXPERIMENTALES
4.
PRIMEROS RESULTADOS
Muestras
64
128
256
512
1024
Tiempo
(seg.)
1/8
1/4
1/2
1
2
Porcentaje
de acierto ( %)
57
57
56
59
60
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 actions. 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
(Caractersticas)
http://www.fanucrobotics.es/products/
robots/detail.asp?id=74
[5] Millan J.R., Ferrez P.W., Buttfield A. (2005).
Non Invasive Brain-Machine Interfaces - Final Report. IDIAP Research Institute - ESA
5.
CONCLUSIONES
En este artculo se han descrito los primeros pasos para el desarrollo de un sistema que permitira a personas con alto grado de discapacidad controlar un brazo robot mediante se
nales electroencefalogr
aficas. Se ha mostrado como capturar las
se
nales y los algoritmos con los que se est
a trabajando para procesar las se
nales y poder determinar
que tarea mental se est
a ejecutando, y con ello poder enviar los pertinentes comandos al robot para
que este realice el movimiento deseado.
Como futuro trabajo se plantea como objetivo mejorar ciertos aspectos tales como reducir el porcentaje de error y detectar un mayor n
umero de estados (pudiendo as utilizar mas grados de libertad
en el brazo robot). Tambien se investigar
a como
reducir el tiempo de deteccion, lo que implicara
mayor informaci
on por segundo (ancho de banda
mayor).
Asimismo se pretenden desarrollar completamen-
[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.