Aventuras y desventuras tratando de registrar mi actividad cerebral.

El año pasado en Octubre, se publicaba como cada año Octuweb y contenía un artículo de Meri Fernández sobre Neurotecnología. En ese momento pensé: necesito comprarme ya una diadema EEG.

Y ahora mismo puede que te preguntes ¿Qué es una diadema EEG? Pues es una un dispositivo que se usa en electroencefalografía, una técnica no invasiva que gracias a electrodos colocados en nuestro cuero cabelludo registra ondas cerebrales superficiales. Es algo que se lleva usando desde hace muchos años, pero que hace relativamente poco ha llegado a precio más o menos accesible al público general.

Y me dirás, ¿para qué sirve? Pues en principio con esos registros de ondas cerebrales se están haciendo diferentes cosas: desde interfaces para interaccionar con el PC a través de comandos mentales, hasta investigaciones sobre calidad auditiva, ansiedad, gustos musicales…

Así que me la compré y te voy a resumir aquí un poco mis aventuras y desventuras.

¿Cuál me compré?

Pues yo realmente la que quería era una Open BCI, que además de tener sets personalizables con impresora 3D, te permitía comprar por separado las partes. Además su tecnología es Open Source y tienes acceso ilimitado a los datos. ¿El problema? No me alcanzaba el presupuesto.

Así que me hice con una Emotiv Insight, que poseía 5 sensores por un precio de 299 dólares (más gastos de envío y aduana). Así que me puse a esperar por ella y al final, tras unas semanas, ¡llegó!

Primeros pasos.

Una vez que la tuve en mis manos, me puse a descargarme lo necesario para usarla. En este caso son las aplicaciones propias de Emotiv que aunque son 4, la que más habitualmente se utiliza es la Emotiv App. Se necesita para poder emparejar con ella la diadema, y luego poder acceder a los datos. Porque y aquí viene una de las primeras decepciones, no tienes acceso directo ni al dispositivo, ni a los datos a través de una API, sino que tienes que tener instalada esa APP en tu portátil que te abre un puerto y te permite obtener datos.

También, es necesario que registres tu aplicación en su web para que te provean de un código de aplicación y un código secreto, aunque esto me preocupaba menos.

Comenzamos a unir decepciones.

Yo ya estaba algo desilusionada con lo de no poder tener acceso directo a los datos, pero me dije bueno, al menos hay códigos de ejemplo en varios lenguajes incluyendo C# y Node, de los que puedo partir. Así que me bajé el ejemplo de Node y comencé a probar.

Una de las primeras desilusiones es que a mí me registraba muy mal por la cantidad de pelo que tengo, así que tuve que usar a Juan Manuel Rodriguez Perez para hacer las pruebas. Además, la batería se agotaba rápidamente.

Pero lo peor, fue darme cuenta que la diadema te permite obtener diferentes tipos de datos: información del dispositivo, registro EEG, movimiento de la cabeza, performance (estrés, ansiedad, relajación, frustración…), comandos mentales y expresiones faciales. Y yo lo que quería eran los registros EEG, pero para acceder a ellos hay que hacer un pago mensual de 55 a 99 dólares.

Ahora tienen una opción 0 euros, que te da acceso a un sólo dispositivo pero sólo 5 registros (que se te van en pruebas).

Entonces, ¿Qué hice?

Pues lo que hice fue decidir probar otro tipo de registro y en ese momento me dije lo más sencillo es hacer un juego simple con expresiones faciales. Así que utilizando el código de ejemplo, decidí hacer un juego de Piedra, Papel y Tijera, en el que guiñar el ojo fuese Piedra y sonreír fuese Tijera.

¿Cómo lo hice?

Pues lo primero fue ver el tipo de respuesta que da el registro de expresiones faciales que es de este tipo:

En el objeto fac, lo que vienen son los registros de acción de los ojos, acción de la parte superior de la cara, potencia de la acción de la parte superior de la cara, acción de la parte inferior de la cara, potencia de la acción de la parte inferior de la cara.

Lo siguiente fue crear un proyecto Node sencillo con tres clases: game.js con la lógica del juego, cortex.js con los métodos necesarios para acceder a los registros de la diadema y piedra_papel_tijera.js que lo integra todo y además inicia una consola en la que va el bucle del juego.

¿Cómo se conecta con la diadema?

Pues tras arrancar la Emotiv App, detectar nuestra diadema y emparejarla, necesitamos tener un código que acceda a los datos. Utilicé los métodos que necesitaba del código de ejemplo en Node que la compañía tiene en su repositorio de Github, para loguearse y autenticarse a través del web socket.

Lo que sí modifiqué un poco los de obtener datos para que sólo me guardase datos en un array en el momento justo que yo quisiera (cuando el booleano isRecordToSave estuviese a true y sólo los 10 primeros registros) y añadí un método para devolver ese array de registros.

¿Qué lógica tenía el juego?

Pues era muy sencillo, simplemente recogía los datos que venían del registro del usuario y comprobaba si había sonreído o guiñado el ojo para asignarle un 1 o un 3 (Piedra o Tijera) y sino un 2 por defecto (papel). La opción de la máquina se obtiene con un Math.random() y luego se comparan las opciones para decidir el ganador.

Y esto lo integré en el tercer fichero, simplemente ejecutando una consola que le muestra texto al usuario y llama al cortex.js cuando es necesario para traerse los 10 registros. Luego llama al game.js para evaluarlos y obtener la opción de la máquina y muestra el resultado.

Todo muy simple:

¿Y cómo fue?

Pues la verdad que conseguimos que algunas veces registrase bien y poder echar alguna partida. Pero, puede ser que porque no la habíamos usado mucho, muchas de las veces no registraba bien las expresiones. Unido a que duraba poco la batería y que emparejarla no siempre funcionaba bien, hacía que la experiencia en general fuese tediosa.

Como primero aproximación estuvo bien, pero me he quedado con las ganas de poder tener los registros brutos y a ser posible, de la EEG. Así que principalmente me siento decepcionada y pensando en ver, si en algún momento tendré presupuesto para invertir en otro dispositivo que tenga lo que yo busco.

Espero que te haya servido de utilidad este post y animarte a probar uno de estos dispositivos, que aunque mi experiencia no haya sido muy buena, si que son increíbles y pueden llegar a ofrecernos mucha diversión.

Software Developer at Sngular. PhD on Immunology, always learning and trying to share knowledge. Microsoft Most Value Professional on Developer Technologies.

Software Developer at Sngular. PhD on Immunology, always learning and trying to share knowledge. Microsoft Most Value Professional on Developer Technologies.