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.