interfaz cerebro computadora para el …itzamna.uam.mx/mexcas2011/g_sepulveda_etal.pdf · creadas a...

12
Interfaz Cerebro Computadora para el Posicionamiento de Un Robot Virtual Gabriel Sepúlveda Cervantes, Neyli-Han Montaño Martínez, Marco Antonio Román Pérez CIDETEC - IPN Palabras clave: BCI, realidad virtual, robótica. Resumen Este artículo muestra el desarrollo de una BCI la cual tiene por objeto controlar la posición de un robot virtual con tres grados de libertad. Para la medición de las ondas cerebrales emitidas por el usuario se emplea el dispositivo de la empresa Emotiv EPOC, que tiene 14 electrodos para la lectura y 2 de referencia. Para el procesamiento de las señales se trabaja con bibliotecas de enlace dinámico y el ambiente virtual 3D se desarrolló utilizando Blender 2.54 y el software Unity 3D. Introducción Una Interfaz Cerebro Computadora (BCI por sus siglas en inglés) es un dispositivo que permite la comunicación entre las funciones mentales o cognitivas de un individuo creadas a partir del cerebro donde las señales eléctricas son captadas, pre procesadas y clasificadas para comunicarse con un medio externo, ya sea una computadora o un hardware específico. Las aplicaciones de las BCI han aumentado durante las últimas dos décadas [1], desde controlar el encendido y apagado de luces, uso de sillas de ruedas, control de una computadora [5], movimientos en el espacio [6] hasta videojuegos [7], [8]. El interés en las BCI se reporta en los artículos de alto impacto desde 1973 [1], la primer publicación sobre investigación en BCI se realizó en 1990 [2] y 1991 [3]. El interés de la comunidad de investigadores ha ido en aumento para llegar al 2008 a una cifra de 1081 publicaciones [1], esto muestra que la investigación es insipiente y actual. La investigación en torno a las BCI se ha convertido en una labor multidisciplinaria debido a sus componentes médicos, eléctricos y electrónicos, tratamiento de señales, neurociencias y finalmente las aplicaciones que van desde la computación, domótica hasta la robótica y entretenimiento. Por lo anterior se han creado nuevas líneas de investigación para el acercamiento a esta tecnología. El primer acercamiento realizado incluye la interacción visual con el usuario para medir las ondas cerebrales en respuesta a los estímulos visuales. Esto ha creado una base firme de desarrollo midiendo la respuesta de la onda P300 [9], llamada así debido a su duración aproximada de 300 milisegundos. Otra aproximación ha sido mediante el uso de estímulos auditivos [10], donde se reproducen las

Upload: phamnguyet

Post on 25-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Interfaz Cerebro Computadora para el

Posicionamiento de Un Robot Virtual

Gabriel Sepúlveda Cervantes , Neyli-Han Montaño Martínez, Marco Antonio Román Pérez

CIDETEC - IPN

Palabras clave: BCI, realidad virtual, robótica.

Resumen

Este artículo muestra el desarrollo de una BCI la cual tiene por objeto controlar la

posición de un robot virtual con tres grados de libertad. Para la medición de las ondas

cerebrales emitidas por el usuario se emplea el dispositivo de la empresa Emotiv EPOC,

que tiene 14 electrodos para la lectura y 2 de referencia. Para el procesamiento de las

señales se trabaja con bibliotecas de enlace dinámico y el ambiente virtual 3D se desarrolló

utilizando Blender 2.54 y el software Unity 3D.

Introducción

Una Interfaz Cerebro Computadora (BCI por sus siglas en inglés) es un dispositivo

que permite la comunicación entre las funciones mentales o cognitivas de un individuo

creadas a partir del cerebro donde las señales eléctricas son captadas, pre procesadas y

clasificadas para comunicarse con un medio externo, ya sea una computadora o un

hardware específico. Las aplicaciones de las BCI han aumentado durante las últimas dos

décadas [1], desde controlar el encendido y apagado de luces, uso de sillas de ruedas,

control de una computadora [5], movimientos en el espacio [6] hasta videojuegos [7], [8].

El interés en las BCI se reporta en los artículos de alto impacto desde 1973 [1], la primer

publicación sobre investigación en BCI se realizó en 1990 [2] y 1991 [3]. El interés de la

comunidad de investigadores ha ido en aumento para llegar al 2008 a una cifra de 1081

publicaciones [1], esto muestra que la investigación es insipiente y actual.

La investigación en torno a las BCI se ha convertido en una labor multidisciplinaria

debido a sus componentes médicos, eléctricos y electrónicos, tratamiento de señales,

neurociencias y finalmente las aplicaciones que van desde la computación, domótica hasta

la robótica y entretenimiento. Por lo anterior se han creado nuevas líneas de investigación

para el acercamiento a esta tecnología. El primer acercamiento realizado incluye la

interacción visual con el usuario para medir las ondas cerebrales en respuesta a los

estímulos visuales. Esto ha creado una base firme de desarrollo midiendo la respuesta de la

onda P300 [9], llamada así debido a su duración aproximada de 300 milisegundos. Otra

aproximación ha sido mediante el uso de estímulos auditivos [10], donde se reproducen las

señales electroencefalográficas con dispositivos MIDI de audio. El cerebro humano

presenta actividad eléctrica debido a dos causas. La primera es interna, esto es, debido a su

funcionamiento involuntario como el control de la respiración, digestión etc. y por voluntad

del individuo, al mover su cuerpo, hablar o pensar, etc. La segunda causa de la actividad

cerebral es la aparición de estímulos externos, a través de algún sentido, como la vista,

oído, olfato, gusto o tacto. Esto lleva a una clasificación de las BCI dependiendo de su

implementación y del origen de las señales cerebrales. De acuerdo a su implementación se

clasifican en dos:

• Invasivas: Es decir, son implantadas directamente en el cerebro y su principal

aplicación es en el área de prótesis para devolver el movimiento a alguna extremidad.

• No Invasivas: La adquisición de las señales se realiza empleando electrodos,

colocados en la superficie del cuero cabelludo.

De acuerdo al origen de las señales se clasifican en:

• Exógenas, se le muestra al usuario una estimulación externa. Para generar la

actividad cerebral que es utilizada por la BCI. Para el desarrollo de este tipo de BCI se

utiliza la técnica de potenciales evocados (PEs), y se basa en la detección de la onda P300,

la cual está relacionada a la toma de decisiones, tiene una duración de unos 300ms y se

puede observar en el electroencefalograma. Los potenciales evocados pueden ser

provocados por estímulos visuales (PEV) o auditivos (PEA). En la técnica de PEV [P300],

se trabaja con una matriz de imágenes, las cuales representan una determinada actividad, y

el procedimiento es iluminar primero las filas y después las columnas, para detectar, cual es

la actividad que el usuario desea llevar a cabo. Respecto a los PEA, se provoca un estímulo

sonoro, para generar la onda P300, dependiendo de la intensidad, duración y frecuencia, del

estímulo. La principal ventaja de este tipo de BCI es el tiempo de entrenamiento que se

requiere para que el usuario pueda controlar la interfaz. Y dentro de sus desventajas se

puede mencionar que depende de la frecuencia con que se presenta el estímulo y por ende

de la concentración del usuario.

• Endógenos, este tipo de interfaces no requieren una estimulación externa, esto

quiere decir, que el usuario debe ser capaz de concentrarse y generar los patrones de onda

que se necesitan para ejecutar alguna actividad, por esta misma razón, este tipo de

interfaces requieren de una serie de entrenamientos previos, para que el sistema responda a

los patrones de onda del usuario.

Descripción del sistema

Un tipo de aplicación que incluye una BCI involucra los siguientes componentes: el

usuario, el dispositivo para captura de señales EEG, sistema de procesamiento de señales y

el ambiente virtual, como se puede apreciar en la Figura 1.

Fig. 1 Descripción de la interfaz cerebro-computadora

para aplicaciones de realidad virtual.

Cabe aclarar que, antes de que el usuario pueda utilizar la aplicación, se requiere

que antes tenga una sesión de entrenamiento, donde se establece cual es el movimiento que

se desea entrenar, esto es con el objetivo de que las señales sean almacenadas y

posteriormente se utilicen en la etapa de procesamiento [5].

Adquisición y procesamiento de las señales

La primer etapa es la adquisición de las señales, y se realiza empleando el

dispositivo EPOC de la empresa Emotiv, la cual cuenta con 14 electrodos, más 2 electrodos

de referencia, los cuales se disponen como se muestra en el Figura 2, y se encuentran

colocados cumpliendo con el sistema internacional 10/20, el cual describe la localización

de los electrodos para la realización del EEG.

Fig. 2 Disposición de los electrodos del dispositivo EPOC.

Para la adquisición de las señales de la diadema se utilizan las librerías de desarrollo

que incluye el dispositivo EPOC (Fig. 3), dentro de estas librerías, se encuentran las

funciones necesarias para establecer la conexión entre el dispositivo y la computadora, y las

funciones con las que se realiza la adquisición de los datos de cada uno de los electrodos.

Para el procesamiento de las señales, se programó una librería de enlace dinámico o

DLL (Dynamic-Link Library), haciendo uso de las bibliotecas de desarrollo del dispositivo

EPOC. La DLL se utiliza para controlar el robot virtual que se muestra en la aplicación

desarrollada en Unity 3D.

En esta etapa de procesamiento, se hace una evaluación de las ondas que se

adquieren, con el patrón que previamente se estableció para cada uno de los movimientos, y

con base en el reconocimiento de este patrón mediante comparación [6], se realiza el

desplazamiento correspondiente dentro de la aplicación.

Fig. 3 Dispositivo EPOC de la empresa Emotiv.

Diseño del robot

Un brazo manipulador o brazo robótico se define como el conjunto de elementos

electromecánicos que propician el movimiento de un elemento terminal (gripper,

herramienta o efector final) [7]. De forma general la mayoría de los manipuladores tienen

una constitución física muy similar y en cierta forma muy parecida a la anatomía de los

brazos del cuerpo humano, debido a esto en ocasiones para hacer referencia a los elementos

que componen el robot se utilizan palabras como cintura, hombro, codo o muñeca.

El robot utilizado en este trabajo fue diseñado utilizando el software SolidWorks 2010,

cuenta con tres grados de libertad, cada uno de tipo rotacional como se muestra en la Fig. 4,

es del tipo manipulador y en esta aplicación se utiliza solo para posicionamiento.

Modelo Cinemático

El modelo cinemático estudia el movimiento del robot con respecto a un sistema de

referencia fijo [8]. La cinemática directa consiste en determinar cuál es la posición y

orientación del extremo del robot dados los valores de las articulaciones y parámetros

geométricos de los elementos del robot, mientras que la cinemática inversa resuelve la

configuración que debe adoptar el robot para llevarlo a una posición y orientación

conocida.

Fig. 4 Ambiente virtual en el software Unity 3D.

Cinemática Directa

Después de haber establecido el modelo del robot, así como sus características

procedimos a calcular la cinemática directa. En la Fig. 5 podemos observar el sistema de

referencia fijo con respecto al cual calculamos la cinemática directa e inversa del robot, la

configuración de los ejes se debe a que el software Unity, en el cual se ejecuta la

simulación posee esa configuración.

La cinemática directa, se calculó de forma geométrica, considerando el sistema de

referencia, los ángulos (q1, q2, q3) así como los eslabones (l1, l2, l3), los cuales se pueden

observar en la Fig. 3, y con base en los cuales, la posición del efector final, queda

expresada con las siguientes ecuaciones

[ ( ) ( )] ( ) (1)

( ) ( ) (2)

[ ( ) ( )] ( ) (3)

Dónde: x es la posición respecto al eje x, y posición respecto al eje y, z posición

respecto al eje z, l_1 longitud del primer eslabón, l_2 longitud del segundo eslabón, l_3

longitud del tercer eslabón, q1 ángulo respecto el eje x, q2 ángulo medido del plano xz, al

segundo eslabón, q3 ángulo medido del segundo al eslabón al tercer eslabón, P_x es la

proyección en el eje x, P_z es la proyección en el eje z.

Fig. 5 Sistema de referencia del robot.

Fig. 6 Relación entre q2 y q3.

Cinemática Inversa

Como podemos observar q1 se encuentra directamente relacionado con la posición

en el eje z y x del efector final, Pz y Px, de donde surge la siguiente ecuación:

( )

( )

(4)

Lo siguiente a calcular es q3, Como podemos ver en la Fig. 5 podemos afirmar que:

(5)

( )

(6)

Dónde: l_4 es la longitud del eje y hacia el efector final y P_xz es la proyección en

el plano xz.

( )

( )

(7)

( )

( )

(8)

( ) √ ( )

( ) √

(9)

( √

)

(10)

En la Fig. 6 se puede obsevar que, q2 es la diferencia entre los ángulos α y β.

(12)

(

)

(

)

(13)

( ( )

( ))

(14)

(

)

( ( )

( ))

(15)

Desarrollo de la Aplicación

Para el desarrollo de la aplicación, primero se trabajó con el robot en el software de

diseño y animación Blender 2.54, donde cada pieza del robot fue importada y ensamblada.

Para lograr que el movimiento del robot fuera el mismo que el de uno real, se crearon

huesos, los cuales son elementos que se les asigna un grupo de vértices del mallado del

robot y éstos se mueven de la misma forma que lo hace el hueso al que están unidos.

Como mencionamos anteriormente el manipulador es de tres grados de libertad por

lo tanto fue necesario crear tres huesos que emulan el comportamiento de los actuadores en

un robot real, los huesos creados realizan la función de cintura, hombro y codo del

manipulador.

Fig. 7 Posición inicial.

Después de colocar los huesos necesarios para el movimiento del robot, se procedió

a importarlo en el software Unity 3D, el cual es un motor de videojuegos y cuya

programación se realiza utilizando java script.

En la Fig. 7 vemos el robot funcionando en el ambiente virtual, como se puede

observar se le han agregado texturas así como una mesa de trabajo solo para mejorar la

estética de la aplicación y al mismo tiempo lograr que en la aplicación una mayor

inmersión por parte del usuario.

Resultados

Se desarrolló una BCI no invasiva endógena cuyo objetivo es el desplazamiento del

robot, esto se logra haciendo que el usuario piense en mover arriba, abajo, izquierda,

derecha, adelante o atrás la posición del efector final, esto es equivalente a los

desplazamientos en ambos sentidos sobre los tres ejes cartesianos. Para poder simular el

comportamiento del robot se utilizó la cinemática inversa para seguir la posición de una

esfera que es la que el usuario mueve utilizando la interfaz cerebro computadora.

La BCI funciona de la siguiente forma; el usuario se coloca la diadema EPOC, se

realiza la conexión con el software Epoc Control Panel mostrado en la Fig. 8; esto solo si el

usuario desea realizar una sesión de entrenamiento o bien observar el grado de

concentración que tiene el ejecutar alguna acción, posteriormente se ejecuta la aplicación

desarrollada, si la conexión fue correcta el usuario puede empezar a mover el robot

simplemente pensando en la acción que desea ejecutar como lo hacía al entrenar con Epoc

Control Panel.

Fig. 8 Interfaz del software Emotiv Control Panel.

Es importante mencionar que el objeto que el usuario mueve es una pequeña esfera

y haciendo uso de la cinemática inversa podemos calcular los ángulos (q1, q2, q3) a los

cuales el robot debe llegar para posicionar su efector final en el mismo lugar que la esfera.

Conclusiones

La interfaz cerebro computadora que se desarrolló en el presente trabajo, presenta

dos ventajas:

Es no invasiva, es decir, para su funcionamiento, solo se requiere utilizar el

dispositivo EPOC el cual es colocado sobre el cráneo del usuario.

Es endógena, es decir, no se utiliza la técnica de potenciales evocados ni la onda

P300, lo cual permite que el tiempo de respuesta de la interfaz sea menor, así el sistema es

más rápido.

La interfaz desarrollada, logra posicionar el efector final del robot virtual. Para

trabajar con la BCI, primero se requiere que el usuario realice un entrenamiento previo,

utilizando el software Emotiv Control Panel, para que se almacenen los patrones de ondas

que el software interpreta como una determinada actividad, y que dichos patrones puedan

posteriormente ser utilizados para el desplazamiento del robot, es importante mencionar

que el tiempo de entrenamiento para cada persona es distinto, debido a que depende del

grado de concentración de la misma, aunque desde la primera sesión de 60 minutos

aproximadamente es posible controlar por lo menos dos acciones.

Al aumentar el número de acciones que el usuario puede ejecutar también aumenta

la complejidad para controlarlos por lo cual también aumentan el número de sesiones de

entrenamiento necesarias para lograr un buen desempeño en la aplicación.

El trabajo aquí desarrollado es considerado la base para llevar esta interfaz a

interactuar con un robot manipulador real, es decir, que el usuario logre el posicionamiento

de un robot real.

Es necesario mencionar que la aplicación desarrollada no interpreta que es lo que el

usuario piensa, como sabemos cada persona posee una actividad cerebral diferente, de

forma tal que si una persona piensa en mover el brazo derecho, su actividad cerebral sería

distinta al de otra pensando lo mismo, es por ello que el software se basa en el

reconocimiento de patrones, es decir, al realizar las sesiones de entrenamiento se crea una

base de datos con el patrón asociado a la acción que se desea ejecutar, este patrón depende

de las señales recibidas en cada electrodo de la diadema, de esta forma cuando la aplicación

se está ejecutando y detecta un patrón similar a otro entrenado se ejecuta la acción que este

representa.

Referencias

[1]Hamadicharef, “Brain Computer Interface (BCI) Literature- A bibliometric study”, in

10th International Conference on Information Science, Signal Processing and their

Applications, Kuala Lumpur, 2010, pp. 626-629.

[2] J. R. Wolpaw, D. J. McFarland, and G. W. Neat, "Development of an

Electroencephalogram-based Brain-Computer Interface," Annals of Neurology, vol. 28, no.

2, pp. 250-251, August 1990.

[3] J. R. Wolpaw, D. McFarland, G. Neat, and C. Forneris, "An EEG-based brain-computer

interface for cursor control," Electroencephalography and clinical Neurophysiology, vol.

78, no. 3, pp. 252-259, March 1991.

[4] M. A. Lebedev and M. A. L. Nicolelis, "Brainmachine interfaces: Past, present and

future," Trends in Neurosciences, vol. 29, no. 9, pp. 536-546, September 2006.

P. R. Kennedy, R. Bakay, M. M. Moore, K. Adams, and 1. Goldwaithe, "Direct control of a

[5] computer from the human central nervous system," IEEE Transactions on

Rehabilitation Engineering, vol. 8, no. 2, pp. 198-202, June 2000.

[6] J. R. Wolpaw and D. J. McFarland, "Control of a two-dimensional movement signal by

a noninvasive brain-computer interface in humans," Proceedings 629 of the National

Academy of Sciences (PNAS), vol. 101, no. 51, pp. 17 849-17 854, December 2004.

[7] http://edugamesresearch.com/blog/tag/bci/, consultada el 22 de agosto de 2011

[8]Damien Coyle, Jhonatan Garcia, Abdul R Satti and T Martin McGinnity, “EEG-based

Continuous Control of a Game using a 3 Channel Motor Imagery BCI”, IEEE Explore

[9] Martinez P., Bakardjian H., Cichocki A., “Fully-Online, Multi-Command Brain

Computer Interface with Visual Neurofeedback Using SSVEP Paradigm”, Laboratory for

Advanced Brain Signal Processing, RIKEN Brain Science Institute.

[10] Thilo Hinterberger, Gerold Baier, “Parametric Orchestral Sonification of EEG in Real

Time”, IEEE Explore

[11] Mínguez, J. 2011 (28 de junio). http://webdiis.unizar.es/~jminguez/Sesion001_UJI.pdf

[12] Palaniappan, R., “Brain Computer Interface Design Using Band Powers Extracted

During Mental Tasks”, IEEE EMBS Conference on Neural Engineering, Arlington,

Virginia, Marzo 16 - 19, 2005.

[13]López Gordo, M. A. 24 de febrero del 2009. “Interfaz BCI de altas prestaciones basada

en la detección y procesamiento de la actividad cerebral”. Departamento de Arquitectura y

Tecnología de Computadores, Granada, España.

[14] Martinez P., Bakardjian H., Cichocki A., “Fully-Online, Multi-Command Brain

Computer Interface with Visual Neurofeedback Using SSVEP Paradigm”, Laboratory for

Advanced Brain Signal Processing, RIKEN Brain Science Institute.

[15] Arboleda C., García E., Posada A., Torres R. “Diseño y construcción de un prototipo

de interfaz cerebro computador para facilitar la comunicación de personas con discapacidad

motora”. Revista EIA. 2009. pp. 105-115.

[16] Emotiv Software Development Kit User Manual for Release 1.0.0.4.

[17] Martínez A. G. M., Jáquez O. S. A., Rivera M. J., Sandoval R. “Diseño propio y

construcción de un brazo robótico de 5 GDL”. Revista de Ingeniería Eléctrica, Electrónica

y Computación. Vol. 4 (1). Julio 2008.

[18]Andueza L., Aguirre I. “Three degree of freesom robotic manipulator design for

educational purpose”. Revista Ciencia e Ingeniería. Vol. 30(1). Marzo 2009. pp. 3-14.