Está en la página 1de 108

INSTITUTO POLITÉCNICO NACIONAL

CENTRO DE INNOVACIÓN Y DESARROLLO


TECNOLOGICO EN CÓMPUTO

INTERFAZ CEREBRO COMPUTADORA PARA EL POSICIONAMIENTO


DE UN ROBOT DE 3 GRADOS DE LIBERTAD EN UN AMBIENTE 3D

T E S I S
QUE PARA OBTENER EL GRADO DE:
MAESTRÍA EN TECNOLOGIA DE CÓMPUTO
PRESENTA:
NEYLI-HAN MONTAÑO MARTÍNEZ

DIRECTORES DE TESIS:
DR. GABRIEL SEPÚLVEDA CERVANTES
DR. OMAR ARTURO DOMÍNGUEZ RAMÍREZ

México, D.F. Julio 2012


SIP-14-BIS

INSTITUTO POLITÉCNICO NACIONAL


SECRETARíA DE INVESTIGACiÓN Y POSGRADO

ACTA DE REVISIÓN DE TESIS

En la Ciudad de ___M_é_xi_co-,-,,_D_,F_,_ _ siendo las 11 :20 horas del dia 3 del mes de
----
Julio del 2012 se reunieron los miembros de la Comisión Revisora de la Tesis, designada
por el Colegio de Profesores de Estudios de Posgrado e Investigación del CIDETEC
para examinar la tesis titulada:

"INTERFAZ CEREBRO COMPUTADORA PARA EL POSICIONAMIENTO DE UN ROBOT DE 3 GRADOS DE


LIBERTAD EN UN AMBIENTE 3D"

Presentada por el alumno:

MONTAÑO MARTíNEZ NEYLI-HAN

Apellido paterno Apellido materno Nombre(s)

Con reg istro: IL-B-----L-_ L-I_O--1-1 _--,-­


1_9---,1_7---,--­1-,
21
aspirante de:
Maestría en Tecnología de Cómputo
Después de intercambiar opiniones los miembros de la Comisión manifestaron APROBAR LA TESIS, en virtud
de que satisface los requisitos señalados por las disposiciones reglamentarias vigentes,

LA COIVIISIÓN REVISORA

Directores de tesis

DR. GABRIEL SEPÚLVEDA CERVANTES

Primer Vocal

DR , JUAN
Secretario

~~~~I" LI"'\L.EZ ROBLES

PRESIDENTE DEL COLEGIO DE


_____________
FESORES ) S, E. P.
:f'("" q: fNSTlTUTO POUTEeN/Ca N ,~ r.laNAt

8
~:-:::..->---~--- WHRO Of INNOVAClON y DL,,¡¡¡Wll8
_::---=::::::;:,.~--------- T ~O \ tN (liMPUTO
INSTITUTO POLITÉCNICO NACIONAL
SECRETARÍA DE INVESTIGACIÓN Y POSGRA DO

.~

CARTA CESIÓN DE DERECHOS

En la Ciudad de México el día 02 del mes de julio del año 2012, la que suscribe Neyli-Han
Montano Martínez alumna del Programa de Maestría en Tecnología de Cómputo con
número de registro B101972 , adscrita al Centro de Innovación y Desarrollo Tecnológico en
Cómputo, manifiesta que es autor intelectual del presente trabajo de Tesis bajo la dirección
del Dr. Gabriel Sepúlveda Cervantes y Dr. Ornar Arturo Domínguez Ramírez, y cede los
derechos del trabajo intitulado Interfaz cerebro computadora para el posicionamiento de
un robot de 3 grados de libertad en un ambiente 3D, al Instituto Politécnico Nacional para
su difusión, con fines académicos y de investigación.

Los usuarios de la información no deben reproducir el contenido textual , gráficas o datos del
trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede ser obtenido
escribiendo a la siguiente dirección n.montano.mtz@gmail.com. Si el permiso se otorga, el
usuario deberá dar el agradecimiento correspondiente y citar la fuente del mismo.

Ney li-Han Montafío Martínel


Dedicatorias

A mi mami, a mi Maze y a mi papá Montaño,


por ser la luz que me guía cada día y
mi principal motivo para seguir adelante.
Agradecimientos

Muchas han sido las personas que, de un modo u otro, han participado con su
ayuda en la realización de esta tesis. A todas ellas quiero expresar mi agradecimiento.

En primer lugar agradezco y dedico este proyecto de tesis a mi mamá y mi Maze,


por ser mi ejemplo, por su comprensión, motivación y el apoyo incondicional que me
han brindado para lograr todas y cada una de mis metas, sueños y anhelos.

A mi tutor el Dr. Gabriel Sepúlveda Cervantes por haberme brindado sus


conocimientos y apoyo para llevar a cabo este trabajo. Además de su esfuerzo,
paciencia, comprensión e incondicional apoyo, durante estos 2 años.

Le agradezco especialmente al Dr. Edgar Alfredo Portilla por su entrega y


compromiso hacia mi trabajo, por haberme facilitado todos los medios, por haberme
escuchado y animado en todo momento durante este proceso de formación académica.

Al Dr. Omar Arturo Domínguez Ramírez por brindarme su ayuda, buenas


recomendaciones y la excelente disposición que tuvo a pesar de la distancia.

A Marco, porque siempre me ha apoyado y ha hecho de mi una mejor persona,


gracias por estar a mi lado.

Gracias también a mis queridos compañeros, que me apoyaron y me permitieron


entrar en su vida durante estos casi tres años de convivir dentro y fuera del CIDETEC.

Hago extensivo mi agradecimiento al Consejo Nacional de Ciencia y Tecnología


(CONACYT) por haberme otorgado una beca para realizar mis estudios de maestría.
Resumen

Una interfaz cerebro-computadora (ICC), se basa principalmente en el análisis de


las señales electroencefalográficas generadas por el usuario, con la finalidad de controlar
una determinada aplicación o componente externo. La forma en que el sistema responde
a las señales EEG generadas por el usuario, depende en gran medida de su habilidad para
modular su actividad cerebral, lo cual se logra con un adecuado entrenamiento, sin
embargo, debido a que el entrenamiento y habilidad de concentración requerida para
manejar una ICC exige un esfuerzo mental considerable por parte del usuario, existen
factores tales como la distracción, el cansancio o frustración que pueden afectar la
capacidad de éste para controlar sus patrones de onda a los que el sistema ICC responde.

Es por ello que se debe de establecer un protocolo de entrenamiento, considerando


diversos factores, tales como la cantidad de señales de control que requiere el sistema, el
tiempo de duración y reposo de cada sesión y el tipo de retroalimentación
proporcionado, este último es sin lugar a duda, uno de los que más repercusión puede
tener sobre el usuario.

El objetivo de esta tesis se centra en desarrollar una interfaz cerebro computadora


para desplazar un robot virtual de tres grados de libertad hacia una posición deseada,
empleando la actividad cerebral del usuario. El sistema se encuentra formado por un
dispositivo de adquisición de señales electroencefalográficas (EEG), un equipo de
cómputo, en el cual se realiza el procesamiento de los patrones de onda para traducirlos
en señales de control que determinan el sentido en que se debe de desplazar el robot
virtual, y una interfaz gráfica donde se presentan cuatro vistas diferentes del ambiente
virtual, las cuales permiten una visualización completa del desplazamiento que se esta
llevando a cabo.
Abstract

A Brain-Computer Interface (BCI) is based mainly on the analysis of


electroencephalographic signals generated by the user, in order to control a specific
application or external device. The way in which the system responds to EEG signals
generated by the user, depends largely on the user's ability to modulate brain activity,
which is achieved with adequate training, however, because the training and skill
concentration required to operate a BCI requires considerable mental effort from the
user, there are factors such as distraction, fatigue or frustration that may affect its
capacity to control their wave patterns to which the BCI system responds.

That is why it must establish a training protocol, to be set considering various


factors such as the amount of control signals required by the system, the resting time and
duration of each training session and the type of feedback provided, the latter is without
a doubt, one of which may have more impact on the user.

The aim of this thesis is to develop a brain computer interface to move a virtual
robot with three degrees of freedom to a desired position, using the user's brain activity.
The system is composed of a signal acquisition device electroencephalographic (EEG), a
computer equipment, in which processing is performed wave patterns generated by the
user, to translate in control signals which determine the direction in which to shift the
virtual robot, and a graphical interface which presents four different views of the virtual
environment, which allows complete visualization of displacement that is taking place.
Índice
Dedicatorias
Agradecimientos
Resumen
Abstract

1. Introducción .............................................................................................................. 1
1.1 Historia de las icc ...................................................................................................... 2
1.2 Historia de la realidad virtual .................................................................................... 3
1.3 Antecedentes ............................................................................................................. 5
1.4 Planteamiento del problema ...................................................................................... 7
1.5 Propuesta de solución ............................................................................................... 8
1.6 Objetivo general ........................................................................................................ 8
1.6.1 Metas ................................................................................................................... 8
1.7 Estructura de la tesis ................................................................................................. 9

2. Marco teórico .......................................................................................................... 11


2.1 Introducción ............................................................................................................ 11
2.2 Señales psicofisiológicas ........................................................................................ 11
2.2.1 Electrocardiograma (ECG) ............................................................................... 12
2.2.2 Electromiograma (EMG) .................................................................................. 14
2.2.3 Electro-oculograma (EOG) ............................................................................... 16
2.2.4 Cambios hemodinámicos .................................................................................. 16
2.2.5 Actividad electrodérmica (EDA) ...................................................................... 18
2.2.6 Electroencefalograma (EEG) ............................................................................ 18
2.3 Interfaz cerebro-computadora ................................................................................. 20
2.3.1 Partes de un sistema ICC .................................................................................. 20
2.3.1.1 Adquisición de la señal ........................................................................ 21
2.3.1.2 Procesamiento de la señal .................................................................... 21
2.3.1.3 Aplicación de control ............................................................................ 21
2.3.2 Etapa de entrenamiento ..................................................................................... 22
2.3.3 Retroalimentación ................................................................................................ 22
2.4 Clasificación de las ICC.......................................................................................... 23
2.4.1 Invasivas ........................................................................................................... 23
2.4.2 No invasivas ...................................................................................................... 24
2.4.3 Por el uso de estimulación ................................................................................ 25
2.4.3.1 Endógenos .................................................................................................. 25
2.4.3.2 Exógenos .................................................................................................... 28
2.5 Basados en potenciales evocados...................................................................... 28

i
Índice General

2.5.1 Onda P300 ......................................................................................................... 28


2.5.2 Potenciales evocados visuales........................................................................... 29
2.5.3 Potencial evocado auditivo ............................................................................... 31

3. Realidad virtual ....................................................................................................... 33


3.1 Introducción ............................................................................................................ 33
3.2 Realidad virtual ....................................................................................................... 33
3.3 Mundo virtual.......................................................................................................... 35
3.3.1 Autodesk 3ds max ............................................................................................. 35
3.3.2 Autodesk maya.................................................................................................. 36
3.3.3 Blender .............................................................................................................. 36
3.3.4 VRML (Virtual Reality Modeling Language) .................................................. 37
3.3.5 Unity 3D............................................................................................................ 37
3.4 Retroalimentación ................................................................................................... 38
3.5 Interacción............................................................................................................... 40
3.6 Inmersión ................................................................................................................ 41
3.7 Aplicaciones............................................................................................................ 42

4. Metodología ............................................................................................................. 43
4.1 Descripción del sistema .......................................................................................... 43
4.2 Recursos .................................................................................................................. 45
4.2.1 Hardware ........................................................................................................... 45
4.2.1.1 Dispositivo EPOC ...................................................................................... 45
4.2.1.2 Equipo de cómputo .................................................................................... 46
4.2.2 Software ............................................................................................................ 47

5. Desarrollo del sistema ICC .................................................................................... 49


5.1 Introducción ............................................................................................................ 49
5.2 Adquisición de las señales ...................................................................................... 49
5.3 Procesamiento de la señal ....................................................................................... 51
5.4 Aplicación de control .............................................................................................. 53
5.4.1 Obtención de las señales de control .................................................................. 53
5.4.1.1 Establecer la comunicación con el EPOC .................................................. 55
5.4.1.2 Adquisición de los parámetros de control .................................................. 55
5.4.1.3 Finalizar la comunicación con el EPOC .................................................... 57
5.4.2 Ensamblado del robot virtual ............................................................................ 58
5.4.3 Modelo cinemático del robot virtual ................................................................. 59
5.4.3.1 Cinemática directa de posición .................................................................. 60
5.4.3.2 Cinemática inversa de posición ................................................................. 60
5.4.4 Interfaz gráfica .................................................................................................. 62
5.5 Plataforma experimental ......................................................................................... 68

6. Pruebas y resultados ............................................................................................... 69


6.1 Descripción del experimento .................................................................................. 69
6.2 Etapas ...................................................................................................................... 70
6.2.1 Etapa de entrenamiento ..................................................................................... 70

ii
Índice General

6.2.2 Etapa de operación ............................................................................................ 72


6.3 Discusión................................................................................................................. 75

7. Conclusiones ............................................................................................................ 77
7.1 Conclusiones ........................................................................................................... 77
7.2 Aportes .................................................................................................................... 78
7.3 trabajos futuros........................................................................................................ 78

Referencias................................................................................................................... 81

Apéndice A ................................................................................................................... 86
Especificaciones técnicas de la icc ............................................................................. 86
A.1 Especificaciones técnicas del dispositivo EPOC ................................................... 86
A.2 Especificaciones técnicas del equipo de cómputo ................................................. 86

Apéndice B ................................................................................................................... 87
Códigos fuentes de la aplicación ................................................................................ 87
B.1 Código fuente del script Epoc.cs ............................................................................ 87
B.2 Código fuente del script RobotScript.js ................................................................. 89

iii
Índice de Figuras

Fig. 1 Sensorama desarrollado por Heiling 1956 [7]. .......................................................4


Fig. 2 HMD desarrollado por Sutherland [7]. ...................................................................4
Fig. 3 Imagen del ambiente virtual presentado al usuario en [8]. .....................................5
Fig. 4 Ambiente virtual presentado por la ICC desarrollada en [9]. .................................6
Fig. 5 Departamento virtual mostrado en el sistema ICC [10]. ........................................6
Fig. 6 Sistema nervioso [11]. ..........................................................................................12
Fig. 7 Potencial de acción en un ECG [12]. ....................................................................13
Fig. 8 Disposición de los electrodos en un ECG [14]. ....................................................14
Fig. 9 Electromiograma digital. ......................................................................................15
Fig.10 Disposición de los electrodos E0, E1, E2, E3 y Ref, para medir las bioseñales
de los músculos craneales y EEG en el sistema desarrollado en [15]. ...............15
Fig. 11 Medición en un EOG [16]. .................................................................................16
Fig. 12 Sistema NIRS. ....................................................................................................17
Fig. 13 Diagrama de flujo del hardware [18]. .................................................................17
Fig. 14 Disposición de los electrodos para medir la actividad electrodérmica. ..............18
Fig. 15 Ritmos cerebrales [4]. .........................................................................................19
Fig. 16 Partes de un sistema ICC. ...................................................................................20
Fig. 17 Implante de los electrodos en una ICC-Invasiva. ...............................................24
Fig. 18 Sistemas de sujeción de electrodos para un EEG. Izquierda: Gorro EEG,
donde cada uno de los electrodos es colocado junto con el gel electrolito.
Centro: Electrocap en el cual los electrodos ya vienen integrados. Derecha:
Sensornet, el cual es una red elástica que se ajusta a cada usuario. ....................24
Fig. 19 Sistemas comerciales para el desarrollo de ICC: Neurosky [21] y EPOC [22]. 25
Fig. 20 Disposición de los electrodos y diagrama de flujo de la ICC [23]. ....................26
Fig. 21 Arquitectura de la ICC [24]. ...............................................................................27
Fig. 22 Disposición de los electrodos [17]......................................................................28
Fig. 23 Matriz de dígitos [27]. ........................................................................................30
Fig. 24 interfaz gráfica para el desplazamiento [28]. ......................................................30
Fig. 25 Interfaz gráfica la ICC presentada en [30] para desplazar un robot virtual en
cuatro direcciones. ..............................................................................................32
Fig. 26 Elementos de la realidad virtual [7]. ...................................................................34
Fig. 27 Interfaz Autodesk 3ds Max.................................................................................35
Fig. 28 Autodesk Maya [33]. ..........................................................................................36

iv
Índice de Figuras

Fig. 29 Blender [34]. .......................................................................................................36


Fig. 30 VRML [36]. ........................................................................................................37
Fig. 31 Unity 3D [38]......................................................................................................38
Fig. 32 High-Res Dual Input Head Mounted Display (Hmd) [39]. ................................38
Fig. 33 The CAVE se estrenó en el ACM SIGGRAPH [40]. .........................................39
Fig. 34 Sistema de sonido envolvente [41]. ....................................................................39
Fig. 35 5dt Data Glove Ultra Wireless Kit [42]. .............................................................39
Fig. 36 Sistema de realidad virtual Meta Cookie [43]. ...................................................40
Fig. 37 Interacción con un entorno en 2D mediante un mouse como dispositivo de
entrada. ................................................................................................................40
Fig. 38 Dispositivo Phantom Premium [44]. ..................................................................41
Fig. 39 Sistema de VR inmersivo [45]............................................................................41
Fig. 40 Descripción del sistema ICC. .............................................................................43
Fig. 41 Diagrama de flujo del sistema ICC.....................................................................44
Fig. 42 dispositivo EPOC de la empresa Emotiv. ...........................................................45
Fig. 43 Headset Setup. ....................................................................................................46
Fig. 44 Expresiv Suite. ....................................................................................................46
Fig. 45 Affectiv Suite. .....................................................................................................46
Fig. 46 Cognitiv Suite. ....................................................................................................46
Fig. 47 Dell XPS15 equipo de cómputo del sistema ICC. ..............................................46
Fig. 48 Software Blender 2.54. .......................................................................................47
Fig. 49 Software Unity 3D. .............................................................................................47
Fig. 50 Descripción el sistema. .......................................................................................49
Fig. 51 Dispositivo EPOC de la empresa Emotiv. ..........................................................49
Fig. 52 Disposición de 19 electrodos con base en el Sistema Internacional 10-20. ....50
Fig. 53 A) Disposición de los electrodos en el sistema internacional 10-20 ..................50
Fig. 54 Cognitiv Suite Training. .....................................................................................52
Fig. 55 Selección de la actividad a entrenar. ..................................................................52
Fig. 56 Aceptar o rechazar el entrenamiento. .................................................................52
Fig. 57 Cognitiv Suite Action. ........................................................................................53
Fig. 58 Señales de control de la ICC, obtenidas del Emotiv Control Panel. ..................54
Fig. 59 Diagrama de flujo para acceder a los parámetros Acción y Magnitud,
empleando el SDK. .............................................................................................54
Fig. 60 Ensamblado del robot en Blender 2.54. ..............................................................58
Fig. 61 Robot en blender con huesos. .............................................................................59
Fig. 62 Relación entre cinemática directa e inversa. ......................................................59
Fig. 63 Sistema de referencia utilizado para calcular el modelo cinemático del robot. .59
Fig. 64 Relacion entre α y β. ...........................................................................................61
Fig. 65 Interfaz gráfica de la ICC. ..................................................................................62
Fig. 66 Ciclos de avance del robot. .................................................................................64

v
Índice de Figuras

Fig. 67 Desplazamiento del robot a la posición (45, 45, 0). ...........................................65


Fig. 68 Desplazamiento con respecto al eje y, para llegar a la coordenada deseada. .....65
Fig. 69 Desplazamiento con respecto al eje x, para llegar a la posición deseada. ..........66
Fig. 70 Desplazamiento con respecto al eje x, llegando a la posición (0.98,68,0) por
la limitante del área de trabajo del robot. ............................................................67
Fig. 71 Vista isométrica y lateral del desplazamiento realizado para llegar a la
coordenada y=45. ................................................................................................67
Fig. 72 Vistas del desplazamiento con respecto al eje x para llegar a la posición
deseada (45, 45, 0). .............................................................................................67
Fig. 73 Plataforma experimental. ....................................................................................68
Fig. 74 Pruebas sobre la plataforma experimental. .........................................................69
Fig. 75 Vistas del primer desplazamiento del robot para llevarlo a la posición
(-45,45,0).............................................................................................................72
Fig. 76 Vistas del robot en la posición (-25.05, 45.28, 0). ..............................................72
Fig. 77 Vistas del robot, en la posición (-45.54, 45.28, 0). .............................................72
Fig. 78 Primer desplazamiento en y para llegar a la posición deseada (0,60,15) ...........73
Fig. 79 vistas del robot, en la posición (-45.54, 45.28, 0)...............................................73
Fig. 80 Cambio de posición en y para llegar a la posición deseada................................74
Fig. 81 Desplazamiento con respecto al eje x. ................................................................74
Fig. 82 Posicionamiento del robot en las coordenadas (34.29, 46.64, 13.80) ................74

vi
Lista de Acrónimos

ICC Interfaz Cerebro-Computadora


BCI Brain-Computer Interface
DARPA Defense Advanced Research Projects Agency
VR Virtual Reality
HMD Head-Mounted Display
LEEP Large Expanse Enhanced Perspective
CAVE Cave Automatic Virtual Environment
ECG Electrocardiograma
EMG Electromiograma
EOG Electro-Oculograma
CBF Flujo Sanguíneo Cerebral
VSC Volumen Sanguíneo
CMRO2 Ritmo Metabólico Del Consumo De Oxigeno.
fMRI Functional Magnetic Resonance Imaging
NIRS Near-Infrared Spectroscopy
EDA Actividad Electrodermal
EEG Electroencefalograma
ECoG Electrocorticografía
SCPs slow cortical potentials
PEs Potenciales Evocados
PEV Potenciales Evocados Visuales
PEA Potenciales Evocados Auditivos
VRML Virtual Reality Modeling Language
SDK Software Development Kit
DLL Dynamic-Link Library
IDE’s Integrated Development Environment

vii
CAPÍTULO 1
INTRODUCCIÓN

El desarrollo de la tecnología ha traído consigo grandes avances en diversas áreas,


como lo son la educación, la industria y la medicina; cambiando la forma en que los
conocimientos son transmitidos, teniendo ahora la posibilidad de utilizar el internet
como medio de comunicación y el uso de maquinas que permiten realizar procesos que
antes eran muy complejos.

Sin embargo las dos áreas en las que el desarrollo se hace notar de forma más
relevante son: la industria y la medicina. En la primera, se ha logrado un aumento en la
automatización de los procesos de producción, lo que conlleva a generar productos de
mayor calidad en menor tiempo. En tanto que en el área médica, los avances
tecnológicos paulatinamente han permitido resolver ciertas problemáticas que se
presentan en los individuos, y que antes no podían ser diagnosticadas con certeza tal es
el caso de enfermedades neurológicas, las cuales hasta hace un siglo la única manera de
diagnosticarlas era realizando una autopsia [1].

Como respuesta a estos tipos de problemáticas, han surgido diversas tecnologías,


tales como el electroencefalograma (EEG), el cual es un registro de la actividad
bioeléctrica generada por el cerebro y se encuentra relacionada con el estado mental del
sujeto, permitiendo de esta forma detectar, ciertos patrones relacionados con
enfermedades tales como la epilepsia, tumores cerebrales, trastornos psiquiátricos, entre
otros.

De igual forma, el uso de la tecnología se ha empleado para desarrollar


dispositivos o sistemas adecuados a las necesidades de personas que padecen algún tipo
de discapacidad motriz, la cual las limita en sus actividades diarias, ya que la forma de
interactuar con su entorno se ve afectada. Dentro de los dispositivos que se han
desarrollado con este objetivo se encuentran las prótesis que permiten que dichas
personas puedan llevar una mejor calidad de vida; dentro de este tipo de prótesis se
encuentran las prótesis cosméticas, que solo cumplen con cubrir la apariencia de una
extremidad y que no son útiles para cualquier actividad lo cual es su principal falta, ya

1
CAPITULO 1. INTRODUCCIÓN

que el objetivo de utilizar una prótesis siempre surge de querer recobrar la movilidad de
la extremidad. Otro tipo de prótesis son mioeléctricas, que como su nombre lo denota
son controladas por impulsos eléctricos tomados directamente de los nervios de las
personas, sin embargo, la debilidad de este tipo de prótesis es que solo pueden ser
implantadas cuando dichos nervios siguen generando las señales necesarias para activar
la prótesis. Este tipo de tecnología ha sido desarrollada para personas que han perdido
alguna extremidad, sin embargo, también se presentan casos donde las personas no
pueden realizar ningún movimiento físico en sus extremidades a pesar de que su función
cerebral no se encuentra afectada.

Por esta razón surge la idea de interpretar las señales bioeléctricas provenientes del
cerebro, para utilizarlas como un medio de comunicación con algún dispositivo externo,
tales como prótesis robóticas, silla de ruedas, por mencionar algunos. A este tipo de
tecnología se le conoce como Interfaces Cerebro-Computadora (ICC) o BCI (Brain-
Computer Interface). Las señales de entrada mayormente empleadas para desarrollar
esta tecnología son las provenientes de un electroencefalograma, sin embargo, también
se han utilizado otras señales psicofisiológicas, como los cambios en el flujo sanguíneo
conocidos como los cambios hemodinámicos o las obtenidas mediante la medición de la
actividad neuromuscular con un electromiograma, el movimiento de los ojos mediante el
electro-oculograma, entre otras.

1.1 HISTORIA DE LAS ICC


El desarrollo de las ICC comienza en los años 70’s, sin embargo, la base de estos
sistemas se remonta desde el año 1875 cuando Richard Caton realizó los primeros
registros electroencefalográficos sobre monos y conejos [2].

Más adelante, el médico español Santiago Ramón y Cajal postuló una teoría sobre
la estructura y organización del cerebro, basada en que el tejido cerebral está compuesto
por células individuales, que se comunican entre sí. Teoría que sirvió como fundamento
de la electroencefalografía y por la cual obtuvo el premio Nobel de Medicina en 1906
[3].

Sin embargo, fue hasta 1920 cuando el Dr. Hans Berger, comenzó a estudiar el
electroencefalograma y en 1924 realizo el estudio en un ser humano y confirmó la
existencia de los ritmos alfa y beta, además de demostrar que la actividad eléctrica del
cerebro está relacionada con el estado mental del sujeto [2].

Estos tres hechos llevaron consigo a especular sobre la posibilidad de controlar


algún dispositivo externo mediante las señales provenientes del cerebro. Lo que propició
el desarrollo de una nueva tecnología 40 años después, cuando un grupo de científicos

2
1.2 HISTORIA DE LA REALIDAD VIRTUAL

de la UCLA (University of California at Los Angeles) desarrollaron un simple sistema


de comunicación que era controlado por el registro de la actividad bioeléctrica del
cerebro. Esto trajo consigo, el interés por parte de la Agencia de Investigación de
Proyectos Avanzados de Defensa (DARPA, Defense Advanced Research Agency),
estableciendo una investigación centrada en el desarrollo de dispositivos biónicos que
ayudarían en el desempeño de los soldados [4].

En la actualidad en un sistema ICC se pueden distinguir tres etapas fundamentales


que se llevan a cabo mientras el sistema se encuentra en ejecución:

1. Adquisición de la señal: Durante esta etapa se utilizan técnicas y tecnologías que


nos permiten adquirir las señales psicofisiológicas generadas por el cuerpo en
respuesta diversos estímulos.
2. Procesamiento de la señal: En esta etapa las señales son recibidas y se aplican
algoritmos que las traducen en señales de control para la aplicación de la interfaz.
3. Aplicación – Control: Es la etapa de interacción con el entorno y es utilizada como
retroalimentación para el usuario.

La complejidad para controlar un sistema ICC depende de las señales de control


que se requieran para interactuar con la aplicación final del sistema, debido a ello la
mayoría de las aplicaciones que se han desarrollado, utilizan un número reducido de
señales de control. Y muy pocas han sido desarrolladas para interactuar con ambientes
gráficos, aunque recientemente se han desarrollado trabajos cuya aplicación hace uso de
la realidad virtual, para que el usuario pueda sentirse dentro del ambiente con el cual
interactúa.

1.2 HISTORIA DE LA REALIDAD VIRTUAL


La realidad virtual (VR, Virtual Reality) es una tecnología que permite crear una
realidad sintética solo existente en la memoria del ordenador, pero en la que la persona
puede interactuar en tiempo real con los distintos elementos del ambiente virtual y
experimentar la sensación de encontrarse físicamente presente en ese lugar o espacio [5].
Entendiendo tiempo real como la capacidad de detectar la posición del usuario y
modificar el ambiente virtual instantáneamente [6].

El término realidad virtual, fue utilizado por primera vez por Jaron Lanier en 1989
[5], sin embargo, sus antecedentes se encuentran relacionados al desarrollo de otras
tecnologías, principalmente en los sistemas gráficos, sin los cuales la realidad virtual no
sería posible.

Los primeros avances entorno a esta tecnología se dan en 1940 con el desarrollo de
los primeros simuladores de vuelo. Y posteriormente, con la creación del Sensorama en
3
CAPITULO 1. INTRODUCCIÓN

1956 por Morton Heilig [7] (Ver Fig. 1) lo que se considera la primera aproximación de
un sistema de realidad virtual, el cual consistía en un visor para reproducir distintas
grabaciones a color de viajes en bicicleta o motocicleta. Más adelante en la década de los
sesenta Heilig patentó un dispositivo equipado con dos unidades de televisión a color.

Fig. 1 Sensorama desarrollado por Heiling 1956 [7].

En 1963, Ivan Sutherland, introduce el mundo de los gráficos por ordenador


interactivos con su aplicación Sketchpad, trabajo que utilizaba una pluma de luz para
realizar la selección y la interacción de dibujo, además de entradas de teclado.
Sutherland también diseñó lo que se considera como el primer HMD (Head-Mounted
Display) (ver Fig. 2) [7].

Fig. 2 HMD desarrollado por Sutherland [7].

En la década de los setenta Eric Howlett desarrolla el LEEP (Large Expanse


Enhanced Perspective) un sistema óptico para ofrecer un amplio campo de visión en una
pequeña pantalla. Esta tecnología fue integrada en dispositivos HMD desarrollados en la
NASA y posteriormente, en productos comerciales [7].

4
1.3 ANTECEDENTES

Durante los 80´s, VPL considerada la primer empresa de realidad virtual, anuncia
el sistema RB-2 (realidad construida para 2). Autodesk, Inc. anuncia su proyecto
CyberSpace, un programa la creación de ambientes virtuales para PC. Y Mattel presenta
el guante Powerglove, un sistema de seguimiento para la consola de videojuegos de
Nintendo, el cual se convierte en un popular dispositivo de VR de bajo costo [7].

Finalmente en 1990, Hennequin y Stone patentaron el primer guante que permitía


obtener información táctil. Y En 1993, Cruz-Neira Sandin y De Fanti, desarrollaron el
primer sistema CAVE (Cave Automatic Virtual Environment) [5], el cual se describirá
más adelante.

1.3 ANTECEDENTES
Como se mencionó anteriormente los sistemas ICC que se han desarrollado
permiten interactuar con una determinada aplicación, esta aplicación es presentada al
usuario de forma gráfica. Ya sea mediante una matriz de imágenes, donde cada una de
las imágenes se encuentra asociada a una determinada acción o una ambiente virtual en
dos o tres dimensiones, en el cual el usuario puede realizar una tarea específica.

Tal es el caso de [8] donde se desarrolló una ICC para personas tetrapléjicas, en la
cual se le presenta al usuario un ambiente virtual (ver Fig. 3)con una calle y 15 avatares ,
el objetivo es que el usuario se dirija de un avatar a otro e interactúe con cada uno de
ellos hasta el final de calle, para generar el desplazamiento el usuario debe de imaginar
el movimiento de sus pies, lo que genera que las ondas cerebrales del usuario adopten
una forma particular denominada ondas beta, que son captadas por el EEG.

Las pruebas realizadas en este sistema se realizaron con un solo sujeto de prueba el
cual fue un hombre de 33 años con lesiones en la medula espinal.

Fig. 3 Imagen del ambiente virtual presentado al usuario en [8].

A pesar de presentar un ambiente virtual en 3 dimensiones, el usuario solo puede


realizar el desplazamiento en un solo sentido.

5
CAPITULO 1. INTRODUCCIÓN

En [9] se presenta una ICC, con un ambiente virtual (ver Fig. 4), en el cual se
presentan un personaje y un tablero de ajedrez a cada lado del personaje. El objetivo es
mantener equilibrado al personaje mientras cruza una cuerda floja. En el juego, el
personaje camina hacia la cuerda floja y tropieza cada cierto tiempo para un lado elegido
al azar, para equilibrarlo, el jugador debe dirigir su mirada en el tablero de ajedrez en el
lado opuesto. El juego comienza con un período de entrenamiento, en el que el usuario
debe de visualizar por un lapso de 15 segundos el tablero que se le indica, este proceso
se repite tres veces, durante este entrenamiento se adquieren las señales que
posteriormente permitirán identificar la acción que el usuario desea realizar. Además de
la retroalimentación visual, la interfaz cuenta con retroalimentación auditiva.

Fig. 4 Ambiente virtual presentado por la ICC desarrollada en [9].

En esta interfaz el usuario solo puede modificar el comportamiento del ambiente


en un plano, pues la animación de desplazamiento del personaje ya se encuentra
programada y no puede ser modificada.

En [10] se le presenta al usuario un departamento virtual (ver Fig. 5) en el cual


puede caminar a lo largo de rutas predefinidas, en cada cruce, en pantalla aparecen unas
flechas que indican hacia donde se puede continuar el recorrido, y las cuales el usuario
puede seleccionar, con solo imaginar el movimiento relacionado a la dirección de cada
flecha.

Fig. 5 Departamento virtual mostrado en el sistema ICC [10].

En esta ICC, solo se requiere controlar dos señales, las cuales nos permitirán
realizar un recorrido por el departamento mostrado en la aplicación.

6
1.4 PLANTEAMIENTO DEL PROBLEMA

De los trabajos anteriores se puede observar que para interactuar con la aplicación
del sistema ICC solo se requieren un máximo de dos señales de control, pues a pesar de
que se usa un ambiente virtual en 3D, los desplazamientos o acciones que se pueden
realizar, solo son en dos dimensiones.

1.4 P LANTEAMIENTO DEL PROBLEMA


Una de las investigaciones más recientes en el área médica cuyo objetivo es
mejorar la calidad de vida de personas con alguna discapacidad son los sistemas ICC,
con los cuales se logra que el paciente pueda llevar a cabo una actividad empleando las
señales tomadas de sus ondas cerebrales e interpretándolas, sin embargo, uno de los
problemas principales es que la señal dura apenas unos 300 milisegundos y por ello, los
sistemas ICC de los que actualmente se tiene referencia emplean la técnica de motor de
imágenes, este tipo de procedimiento es lento y solo se ha desarrollado para llevar a cabo
desplazamientos en un plano y no en un ambiente de 3 dimensiones.

La mayoría de los sistemas ICC que emplean la técnica de motor de imágenes, se


basan en una reacción involuntaria por parte del usuario ante un estímulo y de acuerdo a
este, el sistema ejecuta una rutina específica. De esta forma el usuario solo selecciona la
tarea que desea llevar acabo de un número limitado de opciones que el sistema tiene
programado, pero no interactúa de forma directa en la ejecución de la acción.

En los últimos 20 años, la investigación en el desarrollo de las ICC ha crecido


rápidamente, y como consecuencia se han tenido grandes variaciones en cuanto a diseño
y técnicas para el procesamiento de las señales. Estas variaciones dependen de cuatro
características principales en un sistema ICC.
 La primera de ellas es el tipo de señales de entrada, pues como se mencionó
anteriormente existen diversas técnicas que nos permiten medir las señales
psicofisiológicas generadas por el cuerpo, en respuesta a diversos estímulos.
 El empleo de técnicas invasivas o no invasivas para colocar los electrodos con los
cuales se adquieren las señales.
 El uso de estimulación, necesaria para provocar los distintos patrones de actividad.
 Y por último las soluciones propuestas para el reconocimiento de los patrones
generados por el usuario, como lo son, el uso de redes neuronales o el uso de
técnicas de control, como la retroalimentación, donde el usuario es responsable de
controlar sus ondas cerebrales.

Considerando los puntos anteriores se observa la importancia de desarrollar un


sistema ICC que utilice técnicas EEG para la adquisición de las actividad cerebral del
usuario, debido a que actualmente se cuenta con diversos dispositivos comerciales de
bajo coste y compactos como los desarrollados por las empresas Emotiv y NeuroSky, los
7
CAPITULO 1. INTRODUCCIÓN

cuales pueden ser implementados en este tipo de sistemas. Se requiere un sistema que
interprete la intención del usuario y le permita interactuar de forma directa con la
aplicación, con el objetivo de que el sistema pueda ser implementado en diversos
entorno y aplicaciones.

1.5 PROPUESTA DE SOLUCIÓN


Para dar una posible solución al problema, en esta propuesta se pretende integrar
las tecnologías existentes que nos permitan desarrollar un sistema ICC que no emplee la
metodología de motor de imágenes, sino que determine que acción se debe llevar a cabo,
simplemente con el pensamiento del usuario, permitiéndole tener control dentro de un
ambiente 3D y que la respuesta sea la mejor posible.

Para el desarrollo del sistema se pretende utilizar el dispositivo EPOC de la


empresa Emotiv, el cual cuenta con 14 electrodos y un giroscopio de dos ejes, que
permitirán adquirir las señales electroencefalográficas que se van a emplear para
determinar la tarea se debe realizar.

1.6 OBJETIVO GENERAL


El presente trabajo tiene como objetivo el desarrollo de una Interfaz Cerebro-
Computadora que permita que el usuario final, pueda desplazar un robot virtual de tres
grados de libertad hacia una posición deseada, dentro de un ambiente 3D, respetando su
área de trabajo.

1.6.1 METAS

Con la finalidad de alcanzar el objetivo propuesto, se deben de cumplir con las


siguientes metas:

 Establecer el algoritmo control del sistema ICC, considerando la cantidad de


señales requeridas por el sistema.
 Calcular la cinemática directa e inversa de posición, para simular el
comportamiento de un robot real, dentro del ambiente 3D.
 Desarrollar una biblioteca de enlace dinámico (dll), la cual permite hacer la
adquisición de la actividad cerebral del usuario y traducirla a comandos de control.
 Desarrollar la interfaz grafica de la ICC, considerando la cinemática directa de
posición e inversa para programar el comportamiento del robot de acuerdo a las
señales de control recibidas.

8
1.7 ESTRUCTURA DE LA TESIS

1.7 ESTRUCTURA DE LA TESIS


La presente tesis se encuentra estructurada en siete capítulos

En el capítulo dos se presentan los fundamentos entorno a las interfaces cerebro


computadora, tales como, las señales psicofisiológicas utilizadas como señales de
entrada de las interfaces cerebro-computadora, la clasificación de estos sistemas
atendiendo a diferentes características como el uso de estímulos externos para generar
los patrones de onda o la forma en que los electrodos son implantados.

En el capítulo tres se define el término realidad virtual, así como sus componentes
y elementos de software y hardware utilizados para el desarrollo de sistemas de VR.

En el capítulo cuatro se presenta la descripción de la interfaz cerebro computadora


desarrollada en el presente trabajo de tesis, así como los recursos de hardware y software
empleados.

En el capítulo cinco se presenta el desarrollo de la interfaz cerebro computadora en


cada una de las etapas que componen a un sistema ICC.

En capítulo seis se muestran los resultados obtenidos durante la etapa de operación


del sistema. Así como el protocolo de entrenamiento realizado por el usuario para
posteriormente controlar el sistema.

En el capítulo 7 se presentan las conclusiones de este trabajo, las aportaciones


realizadas y los posibles trabajos a futuro.

9
CAPITULO 1. INTRODUCCIÓN

10
CAPÍTULO 2
MARCO TEÓRICO

2.1 INTRODUCCIÓN
En el presente capítulo, se muestra el marco teórico, necesario para la compresión
de esta tesis. El primer tema a abordar son las diferentes señales de entrada que
consideran las interfaces cerebro-computadora, dentro de los cuales podemos mencionar
las señales electroencefalográficas, sin embargo, dichas señales no son las únicas con las
que se puede controlar una ICC. Posteriormente se definirán las partes esenciales que
conforman a las ICC, así como diversas clasificaciones de las mismas, atendiendo al tipo
de estimulación que se presenta al usuario.

2.2 SEÑALES PSICOFISIOLÓGICAS


La psicofisiología es la disciplina encargada del estudio de los cambios fisiológicos
generados por los procesos psicológicos, es decir, la psicofisiología analiza los cambios
comportamentales y/o faciales que se presentan frente a ciertos estímulos. Dichas
respuestas fisiológicas son generadas por el sistema nervioso (ver Fig. 6), el cual se
divide en dos partes principales:

 Sistema nervioso central, formado por el encéfalo y la médula espinal, es el


encargado de proporcionar la información.
 Sistema nervioso periférico, son las ramificaciones nerviosas que reciben la
información sensorial o transmiten la información motora. A su vez, se divide en
dos partes: el sistema nervioso somático, encargado de la actividad motora y el
sistema nervioso autónomo, encargado de regular la actividad de los órganos
internos en respuesta de la constante comunicación con el sistema nervioso central
y periférico.

11
CAPITULO 2. MARCO TEORICO

Fig. 6 Sistema nervioso [11].

En respuesta a las señales fisiológicas y al área del cuerpo humano en la que son
detectadas, las señales que pueden ser tomadas como entradas en un sistema ICC,
pueden ser adquiridas por:

 Electrocardiograma – ECG.
 Electromiograma - EMG.
 Electro-oculograma – EOG.
 Actividad electrodermal – EDA.
 Cambios hemodinámicos.
 Electroencefalograma - EEG.

A continuación se describen las señales mencionadas, las cuales han sido de interés
para el desarrollo de esta tesis.

2.2.1 ELECTROCARDIOGRAMA (ECG)

El electrocardiograma (ECG) es el registro gráfico de las variaciones de potencial


eléctrico, generadas por el conjunto de células cardiacas y recogidas en la superficie
corporal.

Este registro se basa en lo siguiente, en estado de reposo, una célula cardiaca tiene
una carga eléctrica negativa en su interior y positiva en el exterior, la cual se conserva
debido a que las concentraciones de iones de potasio (K+) en el interior de la célula es

12
2.2.SEÑALES PSICOFISIOLÓGICAS

30 veces mayor que la concentración extracelular, mientras que en la concentración de


sodio (Na+) es 30 veces menor [12]. En estado de reposo las células cardiacas, debido a
estas concentraciones, son más permeables al potasio que al sodio, por lo cual los iones
de potasio pueden salir con más facilidad a diferencia de los iones de sodio. Esto genera
un cambio de potencial entre el interior y exterior de la célula. Sin embargo, cuando una
célula sufre algún estímulo sus propiedades fisicoquímicas se alteran generando una
mayor permeabilidad al sodio (el cual se encuentra en una mayor concentración en el
exterior de la célula) permitiéndole entrar en forma masiva al interior, lo que invierte el
potencial de la membrana.

Cuando se estimula una célula cardiaca, se presenta un potencial de acción, este se


encuentra formado por las siguientes fases: (Ver Fig. 7)

1. Fase 0 o fase de excitación: Cuando se presenta el estímulo se genera un aumento


del voltaje a unos +20mV.
2. Fase 2 o Meseta del potencial: Después de la fase de excitación el potencial es
prácticamente 0 durante un periodo de duración variable.
3. Fase 3 o fase de re polarización: Se genera un cambio de permeabilidad de la
membrana, restaurando el potencial a los niveles anteriores.
4. Fase 4: Hasta la llegada de un nuevo estímulo, se presenta un periodo estable.

Fig. 7 Potencial de acción en un ECG [12].

A las disposiciones de los electrodos se les conocen como derivaciones. En una


práctica clínica se utilizan un número de doce estándar y se disponen de la siguiente
forma: 3 bipolares de los miembros, 3 bipolares amplificadas de los miembros y 6
unipolares de precordiales [13]. (Ver Fig. 8)

13
CAPITULO 2. MARCO TEORICO

Fig. 8 Disposición de los electrodos en un ECG [14].

 Derivaciones Bipolares del Plano Frontal.- En ellas registran las diferencias de


potencial eléctrico entre los dos electrodos seleccionados:
Lead I: Brazo izquierdo (+) - Brazo derecho (-)
Lead II: Pierna izquierda (+) - Brazo derecho (-)
Lead III: Pierna izquierda (+) - Brazo izquierdo (-)
 Derivaciones Amplificadas del Plano Frontal.- En estas derivaciones la lectura se
lleva a acabo colocando el electrodo positivo en uno de los miembros y se compara
contra la sumatoria de los otros miembros conectados al polo negativo. Para
registrar estas derivaciones los electrodos se colocan de la siguiente forma:
aVR: Brazo derecho (+) - Brazo izquierdo + Pierna Izquierda (-)
aVL: Brazo izquierdo (+) - Brazo derecho + Pierna Izquierda (-)
aVF: Pierna izquierda (+) - Brazo derecho + Brazo izquierdo (-)
 Derivaciones Unipolares de Precordiales en el Plano Horizontal.- Comparan la
actividad del punto en que se coloca el electrodo a nivel del corazón (Electrodo
explorador) contra la suma de los tres miembros activos o Central Terminal (Brazo
izquierdo, Brazo derecho, Pierna izquierda, que da como resultado 0).

2.2.2 ELECTROMIOGRAMA (EMG)

El EMG consiste en un registro de la actividad bioeléctrica de un músculo en


respuesta a la estimulación del nervio motor con una mínima descarga eléctrica que
desencadena el impulso (Ver Fig. 9). Se realiza insertando electrodos en forma de agujas
muy finas en el interior del músculo que se va a explorar. Cuando el músculo se
encuentra en reposo la actividad eléctrica se mantiene estable, la cual puede ser medida
sobre la superficie de la piel, sin embargo, cualquier contracción muscular, produce
actividad eléctrica. El EMG también mide la naturaleza y velocidad de la conducción del
impulso a lo largo del nervio, lo que se denomina Electroneurografía.

14
2.2.SEÑALES PSICOFISIOLÓGICAS

Fig. 9 Electromiograma digital.

En [15] se desarrolló un dispositivo de entrada alternativo que puede ser utilizado


incluso por personas con discapacidades motoras severas, empleando técnicas de EMG
para medir las bioseñales de los músculos craneales y técnicas de EEG para la medición
de las bioseñales del lóbulo occipital del cerebro (Ver Fig. 10), que se transforman en
controles de movimiento de un cursor en dos dimensiones, click del botón izquierdo del
ratón y un interruptor ON / OFF para las funciones de control del cursor. Este sistema
clasifica bioseñales en las funciones mediante la aplicación de los umbrales de amplitud.

Fig. 10 Disposición de los electrodos E0, E1, E2, E3 y Ref, para medir las bioseñales de los músculos
craneales y EEG en el sistema desarrollado en [15].

La evaluación experimental del sistema se realizó con seis sujetos no entrenados,


cada uno de los cuales fue capaz de desplazar el cursor desde las esquinas de la pantalla
hacia el centro y realizar un click al final de la trayectoria, en un promedio de 16
segundos. Este nivel de rendimiento alcanzado por sujetos no entrenados revela que esta
interfaz puede ser empleado para aplicaciones como la navegación web y el control de
aparatos a través de una debida configuración de hardware / software.

15
CAPITULO 2. MARCO TEORICO

2.2.3 ELECTRO -OCULOGRAMA (EOG)

El electro-oculograma es un examen, en el cual se efectúa una medición de las


variaciones eléctricas generada por el movimiento ocular sádico. Este se produce cuando
existe un movimiento rápido de los ojos con la finalidad de enfocar un objeto. La
medición se efectúa mediante la colocación de electrodos cerca de los músculos de los
ojos. El ojo humano se puede ver como un dipolo donde la retina representa el extremo
negativo y la córnea al positivo.

El EOG se basa en que al generar un movimiento ocular la córnea y la retina se


acercan a sus respectivos electrodos lo que produce la diferencia de potencial, la cual
será positiva o negativa dependiendo de la dirección del movimiento, y cuya magnitud
depende del ángulo de rotación (Ver Fig. 11).

Fig. 11 Medición en un EOG [16].

En [17] se desarrolló una ICC cuyas señales de control son tomadas de las señales
provenientes de un EEG y un EOG.

2.2.4 CAMBIOS HEMODINÁMICOS

Los cambios hemodinámicos mencionados, están definidos por los dos principales
cromóforos (conjunto de átomos de una molécula, responsable de su color), oxi-
hemoglobina (HbO) y desoxi-hemoglobina (Hb), en el tejido cerebral que no absorben
de forma constante la luz y que indican la oxigenación del tejido. Estos cromóforos
tienen diferentes coeficientes de absorción, dependiendo de la longitud de onda de luz
utilizada.

Por ejemplo, la visualización del movimiento de una extremidad provoca


cambios en el flujo sanguíneo cerebral (CBF), volumen sanguíneo (VSC) y el ritmo
metabólico del consumo de oxigeno (CMRO2). Como resultado de estas variaciones, se
obtiene un aumento en la oxi-hemoglobina y una disminución en la desoxi-hemoglobina

16
2.2.SEÑALES PSICOFISIOLÓGICAS

en el periodo activo. Estos cambios nos dan a conocer cuál es la actividad que el usuario
desea llevar a cabo.

Fig. 12 Sistema NIRS.

Los procedimientos comúnmente usados para medir estos cambios fisiológicos son
imagen por resonancia magnética funcional (fMRI - functional magnetic resonance
imagin) y la espectroscopía del infrarrojo cercano (NIRS – Near-infrared spectroscopy,
ver Fig. 12), los cuales permiten estudiar los cambios hemodinámicos durante la
activación de la función cerebral.

En [18] se explora la viabilidad de utilizar los cambios hemodinámicos como


entrada para una interfaz cerebro-computadora óptica en un ambiente de juego 3D (Ver
Fig. 13), empleando espectroscopía de infrarrojo cercano (NIRS). La tarea que el usuario
debe realizar es atravesar una cueva que se encuentra en el ambiente de juego.

Fig. 13 Diagrama de flujo del hardware [18].

Finalmente, como logro de la investigación, se obtuvo una interfaz que se puede


utilizar en otros ambientes de juegos, además de ser la primera vez que se utilizó una
interfaz cerebro computadora óptica fuera del área biomédica, ya que este tipo de ICC se
emplea en prótesis, principalmente.

Se demostró la posibilidad de que si el usuario piensa en el movimiento de una


extremidad, en este caso el movimiento del brazo, la información puede ser medida y
convertida a un comando.
17
CAPITULO 2. MARCO TEORICO

El proyecto se realizó en la Universidad Nacional de Maynooth Irlanda y el


apoyo para el desarrollo del trabajo fue proporcionado por la Fundación de Ciencia de
Irlanda (SFI) y la Autoridad de Educación Superior de Irlanda (HEA).

2.2.5 ACTIVIDAD ELECTRODÉRMICA (EDA)

La actividad electrodérmica describe los cambios de la conductividad eléctrica de


la piel entre dos puntos, que varía con su nivel de humedad.

Esta actividad presenta un incremento cuando al sujeto se le presenta un estímulo


que provoca alguna reacción, sin embargo, cuando el sujeto se encuentra en un estado de
reposo o relajado la EDA disminuye.

La medición de la EDA, se puede realizar con


dos procedimientos (Ver Fig. 14):

 Exosomático: En este procedimiento se


colocan dos electrodos en dos zonas de la palma de la
mano, donde hay actividad sudorípara y se hace pasar
una pequeña corriente eléctrica a través de ellos. Este
procedimiento es mayormente usado para medir la
conductancia dérmica (SC).
 Endosomático: Se registra la actividad
eléctrica natural de las glándulas ecrinas1 mediante la
disposición de dos electrodos, entre una zona donde
hay actividad sudorípara y donde no lo hay. A esta
disposición de los electrodos se les denomina arreglo
Fig. 14 Disposición de los electrodos
para medir la actividad unipolar y a esta medida se le llama potencial dérmico
electrodérmica. (SP).

2.2.6 ELECTROENCEFALOGRAMA (EEG)

Un electroencefalograma consiste en el registro y evaluación de los potenciales


eléctricos generados por el cerebro, los cuales son adquiridos por medio de electrodos
situados sobre la superficie del cuero cabelludo [19].

Estos potenciales eléctricos surgen en respuesta a la excitación de las neuronas,


cada una de las cuales se encuentra conectada a otras formando una red. La estimulación

1
Glándulas Ecrinas del sudor, son estructuras tubulares con una parte secretora, situada debajo de dermis,
un conducto que atraviesa la dermis y una parte final que se abre en un pequeño poro en la superficie de la
epidermis.

18
2.2.SEÑALES PSICOFISIOLÓGICAS

de estas células nerviosas puede ser por estímulos procedentes de órganos receptores,
como el oído o los ojos, o por impulsos provenientes de otros nervios. Esta actividad
eléctrica puede ser medida a través de electrodos colocados directamente en el cerebro,
con ayuda de una intervención quirúrgica o bien pueden ser colocados sobre el cuero
cabelludo del paciente.

Las oscilaciones de potencial, que son adquiridas por los electrodos y mostrados en
el EEG, son conocidas como ritmos de actividad cerebral o ritmos cerebrales y sus
variaciones dependen del estado de conciencia del individuo o de determinadas acciones
o estímulos que se le presenten. Se distinguen cuatro ritmos principales, los cuales se
muestran en la siguiente tabla.

Tabla 1 Ritmos cerebrales, registrados en un EEG [2].

Ritmos Banda de Frecuencia ( Hz ) Amplitud ( µV )


Delta (δ) 0.5 - 3.5 20 – 200
Theta (θ) 4–7 20 – 100
Alfa (α) 8 – 13 20 – 60
Beta (β) 14 – 30 2 – 20
Ritmos Mu (µ) 7 - 12 20 – 60

Fig. 15 Ritmos cerebrales [4].

A continuación se denota una pequeña descripción de cada uno de los ritmos que
se han mencionado, así como del ritmo mu (µ), el cual presenta características similares
al ritmo alfa, sin embargo sus propiedades fisiológicas y topológicas son diferentes.
 Ritmo Beta (β): Este ritmo se produce cuando la persona se encuentra en estado
consiente, predomina en las áreas frontales y frontales superiores.
 Ritmo Alfa (α): Se observa en las regiones posteriores de la cabeza y en la zona
occipital cuando la persona se encuentra con los ojos cerrados, en un estado de
relajación o meditación profunda. Este ritmo se atenúa cuando el paciente
comienza a generar actividad mental, como poner atención a un determinado
estimulo.

19
CAPITULO 2. MARCO TEORICO

 Ritmo Theta (θ): Suelen tener una distribución en las regiones temporales y se
encuentra asociado al sueño o estado de inconciencia.
 Ritmo Delta (δ): Estas ondas aparecen mientras el paciente se encuentra en
estado profundo de sueño.
 Ritmo mu (µ): Suele aparecer en trenes de unos pocos segundos de duración, con
una frecuencia de 7-12 Hz y 20 – 60 µV. Se localiza en regiones centrales y
principalmente se presenta en adultos, se relaciona con procesos sensitivo-motores.

Cabe señalar que los ritmos que se presentan cuando se produce algún movimiento
en las extremidades, es decir, los ritmos mu y beta, no solo suelen aparecer con la
ejecución del movimiento, sino de igual forma se presentan con el simple de hecho de
imaginarlo, lo que ha sido de gran utilidad en el desarrollo de sistemas ICC.

2.3 INTERFAZ CEREBRO -COMPUTADORA


Una Interfaz cerebro computadora se define como un sistema de ingeniería capaz
de traducir nuestras intenciones en interacción real con un mundo físico o virtual [20],
mediante las lecturas provenientes de un electroencefalograma (EEG), el cual consiste
en el registro y evaluación de los potenciales eléctricos generados por el cerebro y
obtenidos por medio de electrodos situados sobre la superficie del cuero cabelludo.
Dentro del electroencefalograma se presentan las siguientes ondas, las cuales reflejan el
estado de consciencia del individuo: delta de menos de 4 Hz, theta de 4-8 Hz, alpha de 8
a 12 Hz, beta de aproximadamente 12-30 Hz.
Los sistemas ICC se encuentran formados por 4 partes principalmente, de las
cuales se hablará a continuación.

2.3.1 PARTES DE UN SISTEMA ICC

Independientemente de la señal psicofisiológica que se emplee como entrada en un


sistema ICC y del dispositivo empleado para la adquisición de la señal, los sistemas ICC
se encuentran formados por los siguientes componentes [21] (Ver Fig. 16).

Fig. 16 Partes de un sistema ICC.

20
2.3.INTERFAZ CEREBRO COMPUTADORA

2.3.1.1 A DQUISICIÓN DE LA SEÑ AL

Como ya se ha descrito, el principio fundamental de las ICC se basa en el


procesamiento de la actividad eléctrica proveniente del cerebro, generada en respuesta a
un cierto estímulo. Atendiendo a ello, la mayoría de los sistemas, emplean las señales
electroencefalográficas como señales de entrada. En esta etapa, las señales adquiridas
por los electrodos son amplificadas, filtradas y digitalizadas.

2.3.1.2 P ROCESAMIENTO DE LA S EÑAL

La etapa de procesamiento de la señal se lleva a cabo en el equipo de cómputo y se


subdivide a su vez en las siguientes 4 etapas:

1. Preprocesamiento: En esta etapa se recibe la lectura de los electrodos, es decir,


las señales se encuentran disponibles en el equipo de cómputo para llevar a acabo
su análisis. A esta etapa se le considera como la adecuación de las señales para
comenzar a ser trabajadas.
2. Extracción de características: Como se describió previamente, los patrones de
onda recibidos se encuentran relacionados con movimientos musculares,
concentración o simplemente con el hecho de imaginar un movimiento, por lo
tanto estas intenciones o estímulos determinan las características de cada una de
las señales electroencefalográficas que se reciben y son consideradas para la
siguiente etapa.
3. Aprendizaje y clasificación: En esta etapa se lleva a cabo una asociación de los
distintos patrones de ondas generados con una acción específica. Para ello es
necesario que el usuario haya llevado a cabo una serie de entrenamientos.
4. Traducción a ordenes de control: Una vez que se han determinado cuales son los
patrones que van a ser reconocidos, se efectúa una comparación y el resultado se
ve reflejado en ordenes o comandos de control que son enviados a un ambiente
virtual o bien en un dispositivo externo, como puede ser un robot, una silla de
ruedas, etc.
2.3.1.3 A PLICACIÓN DE CONTROL

Finalmente en esta etapa se hace uso del resultado de la clasificación e


interpretación para realizar una acción y permitir la interacción del usuario con algún
dispositivo, como puede ser una prótesis robótica, un teclado visual, etc.

21
CAPITULO 2. MARCO TEORICO

2.3.2 ETAPA DE ENTRENAMIENTO

Para controlar una ICC se requiere de un previo entrenamiento y así tener un mejor
desempeño del sistema. Dentro de las etapas de entrenamiento se debe de considerar
algún tipo de retroalimentación con el objetivo de facilitar el aprendizaje de los
usuarios.

Debido a que el uso de este tipo de sistemas requiere de un esfuerzo de


concentración por parte del usuario, se deben de establecer ciertos parámetros, con la
finalidad de que se llegue a tener un mejor control de sistema. Estos parámetros son los
siguientes:
 Sesión de entrenamiento.- Es necesario determinar las tareas mentales que se
deben de realizar con el fin de estandarizar las sesiones, así como el tiempo en el
que se llevará a cabo la sesión de entrenamiento, incluyendo dentro del mismo la
etapa de colocación de los electrodos e intervalos de reposos para permitir que el
usuario pueda recuperarse del esfuerzo mental realizado.
 Protocolo de entrenamiento.- Dentro del protocolo de entrenamiento se determina
el número de sesiones así como la frecuencia con que las mismas se van a llevar a
cabo. Cabe mencionar que dentro del protocolo, se debe establecer si se presentará
algún tipo de retroalimentación o no, con el objetivo de que el usuario aprenda a
controlar sus señales EEG.
 Prueba.- Después de un determinado número de sesiones de entrenamiento es
conveniente llevar a cabo algunas pruebas donde se le pida al usuario controlar la
ICC. La realización de las pruebas consiste en tres periodos:
1. Periodo de reposo, se le indica al sujeto que debe procurar estar en reposo
absoluto.
2. Posteriormente se le indica el tipo de tarea mental o acción que debe de llevar a
cabo.
3. Finalmente el sujeto debe de ejecutar la acción previamente indicada.

2.3.3 RETROALIMENTACIÓN
La mayoría de los sistemas ICC proporcionan algún tipo de retroalimentación a sus
usuarios con el objetivo de facilitar el proceso de aprendizaje y que el usuario aprenda a
modificar sus señales electroencefalográficas, traduciéndose en un mejor desempeño del
sistema.

El retroalimentación más empleado en el desarrollo de estos sistemas es del tipo


visual y se encuentra familiarizado principalmente con la técnica de potenciales
evocados (PEs), es decir, al usuario se le presenta un estímulo visual, el cual está

22
2.4.CLASIFICACION DE LAS ICC

relacionado con la acción que desea el sistema lleve a cabo, provocando de esta forma
un patrón de ondas por parte del usuario. Otro tipo de retroalimentación relacionado con
la técnica de PEs es un estímulo sonoro, el cual al igual que el estímulo visual es
relacionado con una actividad a realizar. Sin embargo, algunos autores consideran que
éstos, no pueden ser considerados como retroalimentación en el contexto de las ICC, y
es debido a que en la mayoría de estos sistemas los estímulos visuales y sonoros no son
propiamente empleados como un tipo de retroalimentación al usuario, sino más bien, son
estímulos empleados directamente para generar un patrón de ondas determinado en el
usuario [2].

Independientemente del tipo de retroalimentación, la manera en como este se


presente al sujeto permite hacer una clasificación:
 Discreto.- Este tipo de retroalimentación se le proporciona al usuario al final de
cada prueba, o bien cada ciertos intervalos de tiempo durante la ejecución de la
tarea mental.
 Continuo.- Al sujeto se le informa continuamente sobre el estado de su respuesta.

2.4 CLASIFICACIÓN DE LAS ICC


El primer factor se debe determinar en el desarrollo de un sistema ICC, debe ser la
forma de la medición eléctrica del cerebro y atendiendo a esta característica principal,
surge una primera clasificación: invasivas y no invasivas.

El segundo factor que se presenta dentro de la clasificación de los sistemas ICC,


comprende la tarea cognitiva o mental y la forma en que se va a realizar, es decir, si el
sistema provoca mediante algún estimulo (el cual puede ser principalmente visual o
auditivo) la señal de control en el usuario, o si es el usuario quien debe de ser capaz de
generar los patrones necesarios para el reconocimiento de la actividad que la ICC
realizará.

Todos los sistemas ICC presentan estas dos características principales, sin
embargo, suele haber una que lo caracteriza. En las siguientes secciones se abordan estas
clasificaciones.

2.4.1 INVASIVAS

Dentro de esta clasificación las ICC requieren de una intervención quirúrgica, ya


que los electrodos son implantados dentro del cráneo (ver Fig. 17) para registrar la
actividad eléctrica de corteza cerebral. A esta técnica se le denomina
Electrocorticografía (ECoG). Dentro de las ventajas de este tipo de sistemas se pueden
mencionar que existe una mayor fidelidad de las señales, traduciéndose en un menor

23
CAPITULO 2. MARCO TEORICO

tiempo de entrenamiento por parte del usuario y debido a que los electrodos quedan
fijados no se requiere de tiempo de preparación para emplear la ICC, sin embargo, la
vida útil de los electrodos es limitada.

Fig. 17 Implante de los electrodos en una ICC-Invasiva.

2.4.2 NO INVASIVAS

Como su nombre lo denota este tipo de ICC no se implanta de forma directa en el


cerebro, sino que la adquisición de las señales se realiza empleando electrodos,
colocados en la superficie del cuero cabelludo. La desventaja es que la señal que llega a
los electrodos suele ser baja en comparación con las invasivas.

Dentro de los métodos empleados para la adquisición de las señales, se encuentran


el EEG, MEG, EOG y los cambios hemodinámicos. De igual forma, en la actualidad
existen sistemas que facilitan la fijación y la disposición de los electrodos. En la Fig. 18
dentro de las cuales podemos mencionar, el uso de gorros con una serie de agujeros,
donde se ajustan los electrodos.

Fig. 18 Sistemas de sujeción de electrodos para un EEG. Izquierda: Gorro EEG, donde cada uno de los
electrodos es colocado junto con el gel electrolito. Centro: Electrocap en el cual los electrodos ya vienen
integrados. Derecha: Sensornet, el cual es una red elástica que se ajusta a cada usuario.

24
2.4.CLASIFICACION DE LAS ICC

Este tipo de sistemas de sujeción son de gran utilidad en el área médica, sin
embargo, existen algunos dispositivos más estéticos y cómodos para la adquisición de
señales electroencefalográficas, como lo son: MindSet de NeyroSky y EPOC de Emotiv
que se muestran en la Fig. 19.

Fig. 19 Sistemas comerciales para el desarrollo de ICC: Neurosky [22] y EPOC [23].

Ambos dispositivos han sido desarrollados para el área del entretenimiento, su


arquitectura es cerrada, sin embargo, si se cuenta con las librerías de desarrollo de dichos
dispositivos, es posible el desarrollo de ciertas aplicaciones.

2.4.3 POR EL USO DE ESTIMULACIÓN

Como se mencionó previamente, el funcionamiento de los sistemas ICC, dependen


de la actividad eléctrica generada por el cerebro, la cual surge en respuesta a una
determinada estimulación que se le presenta al usuario, atendiendo a esta característica
dichos sistemas pueden ser endógenos o exógenos.

2.4.3.1 ENDÓGENOS

En las ICC endógenas no se requiere de ninguna estimulación externa para que el


usuario sea capaz de generar la actividad eléctrica necesaria para el funcionamiento de la
ICC. Es decir, el usuario debe ser capaz de concentrarse para modular los patrones de
onda necesarios para ejecutar alguna actividad, para lo cual se requiere de una serie de
entrenamientos previos, para que el sistema responda a los patrones de onda del usuario.

En este tipo de sistemas se emplean los potenciales lentos (SCPs), los cuales son
variaciones de voltaje que cambian cada 0.5 - 10 s.

En [24] se diseñó una ICC utilizando señales de EEG, en la cual el sujeto tiene que
pensar en una tarea específica. El método usa el espectro de potencia y la diferencia de
potencia en 4 bandas:
 delta y theta
 beta
 alpha
 gamma

25
CAPITULO 2. MARCO TEORICO

El trabajo en [24] propone una técnica utilizando el espectro de potencia y la


diferencia de potencia de las 4 bandas mencionadas anteriormente en 6 canales, para
clasificarlas en 2 salidas donde una es la línea base y la otra salida es la señal de la tarea
mental específica.

Para ello se crearon filtros elípticos para extraer el EGG en las 4 bandas
mencionadas; las bandas delta y theta se combinan debido a que su rango de frecuencia
es pequeño, se calcula el espectro de potencia y la diferencia de cada banda en los 6
canales genera la diferencia del espectro de potencia. Ambos son utilizados por una red
neuronal perceptron multicapa (MLPBP) para clasificarlos en la línea base y el estado de
la tarea mental.

A diferencia de otros trabajos de ICC que emplean las bandas delta, theta, alpha y
beta debajo de 30 Hz., en este proyecto se emplea la banda gamma en un rango de 30 a
50 Hz. Además se utiliza la diferencia del espectro de potencia en lugar de la asimetría
del espectro de potencia.

Se obtuvo una ICC eficiente con 10 nodos, donde el sujeto solo tiene que pensar en
una tarea específica (ver Fig. 20).

Fig. 20 Disposición de los electrodos y diagrama de flujo de la ICC [24].

El proyecto se desarrolló en el Departamento de Ciencias de la Computación,


Universidad de Essex, Colchester, Inglaterra.

En [25] se presenta un sistema que utiliza la capacidad humana para controlar un


videojuego en un dispositivo móvil utilizando electroencefalografía (EEG) y ritmos Mu.
Las señales se obtuvieron de un gorro de electrodos diseñados especialmente para dichas
señales, éstas son enviadas a través de una conexión bluetooth a una pc la cual las
procesa en tiempo real. La información se mapea como señales de control, y son
enviadas vía wireless al dispositivo móvil (ver Fig. 21).

26
2.4.CLASIFICACION DE LAS ICC

Fig. 21 Arquitectura de la ICC [25].

La adquisición de señales se realiza mediante tres electrodos C3, C4 y CZ


colocados de acuerdo al sistema internacional 10/20, el cual indica la colocación de los
electrodos en la cabeza del usuario para la adquisición del EEG.

Los movimientos de izquierda y derecha fueron controlados empleando el


diferencial µ sobre ambos hemisferios del cerebro como base para la clasificación,
mostrando una diferencia de 10 Hz en C3 cuando se piensa en mover la mano derecha y
en C4 cuando se piensa en mover la mano izquierda.

Los participantes aprendieron a controlar sus ritmos Mu (µ) rápidamente y a


mantener esos niveles de control de 5-6 sesiones de entrenamiento. Se logró una
transmisión de datos de forma inalámbrica.

Este proyecto fue parcialmente financiado por la Universidad de Sydney, Australia


y publicado en el simposium sobre juegos e inteligencia computacional de la IEEE en el
año 2008.

En [17], se basa en un EEG que utiliza ritmos inducidos por imágenes. El término
self-paced hace referencia a que la ICC es capaz de determinar si la actividad cerebral en
curso es una señal de control o no. Se desarrollaron dos aplicaciones: una es el entorno
virtual free space (el cual es un juego en el que el usuario tiene que navegar en un
ambiente y recoger unas monedas), la segunda aplicación es la interfaz Brainloop la cual
es una interfaz entre el GrazBCI y Google Earth.

Las señales de control se toman de los EEG y de los Electro-oculogramas (EOG)


(ver Fig. 22) Cuando el sujeto parpadea, mira hacia arriba y hacia abajo, mira hacia la
izquierda o derecha, o simplemente mueve los ojos en forma circular. Para determinar
las señales de control se realizaron sesiones de entrenamiento de un minuto donde los
sujetos movían los ojos.

27
CAPITULO 2. MARCO TEORICO

La ICC desarrollada es capaz de distinguir entre una


señal de control generada intencionalmente y una que no.
El procedimiento de selección desarrollado para la
aplicación BrainLoop permite al usuario escoger de
manera fácil y rápida un continente y controlar o
manipular la cámara virtual de Google Earth.

Este trabajo fue apoyado por el Fondo para la


Promoción de la Investigación Científica en Austria,
Fig. 22 Disposición de los número de proyecto P16326-BO2 y financiando
electrodos [17]. parcialmente por el proyecto de investigación número
PRESENCCIA IST 2006-27731.

2.4.3.2 EXÓGENOS

Las ICC exógenas, son aquellas que necesitan de una estimulación externa para
generar la actividad cerebral necesaria para su funcionamiento. En este tipo de
interfaces, al usuario se le presenta de forma simultánea y continua una serie de
estímulos, por lo general visuales, los cuales generan un patrón de ondas distinto. Este
tipo de ICC son con las que actualmente se está trabajando, pues una de sus principales
ventajas es que casi no se requiere entrenamiento por parte del usuario.

Dentro de esta clasificación se utiliza la técnica de potenciales evocados (PEs),


dentro de los cuales destacan los potenciales evocados visuales (PEV) y potenciales
evocados auditivos (PEA).

2.5 BASADOS EN POTENCIALES EVOCADOS

Los potenciales evocados o PEs, es la actividad eléctrica que se genera en


respuesta a un estímulo sensorial. Existen dos tipos de PEs, dependiendo del estimulo
sensorial aplicado: los visuales y los auditivos, los cuales se comentan en las siguientes
secciones.

2.5.1 ONDA P300

La onda P300 es un PEs que puede ser registrado por un EEG, y que surge en
respuesta a un estímulo visual, auditivo o somatosensorial, infrecuente o particularmente
significativo, combinado con un estímulo frecuente o rutinario, típicamente evocan un
pico positivo cercano a los 300 ms sobre la corteza parietal en el EEG [26], se encuentra
relacionada a la acción de toma de decisiones.

28
2.5.BASADOS EN POTENCIALES EVOCADOS

En algunos casos de estudio se ha observado que 300 – 350 ms después del


estímulo utilizado para generar la onda P300, se presenta una onda similar a la anterior,
la cual ha sido denominada P3a, y difiere en tres aspectos con la P300: se presenta 60 –
80 ms antes de la onda P300, tiene una distribución frontocentral, y se atenúa a lo largo
de las 5-10 presentaciones siguientes. Razón por la cual, la onda P3a se ha presentado
como un indicador del cambio involuntario de atención ante estímulos novedosos o
inesperados [26]

Además de la componente P3a, se presenta un segundo componente denominado


como P3b, y se ha relacionado con la aparición de eventos infrecuentes pero relevantes
para la acción a realizar o estímulos que implican la toma de decisiones [26]. Sin
embargo, se desconoce el significado preciso de ambos picos.

En [27], se presenta el control de la navegación de un robot LEGO a través de la


adquisición y análisis de ondas cerebrales vía EEG mediante el desarrollo de un sistema
de clasificación utilizando técnicas de Inteligencia Artificial (IA).

Utilizan un sistema de propósito general para ICC llamado BCI2000 el cual es


usado para adquisición de datos, presentación de estímulos y aplicaciones de monitoreo
del cerebro, tales señales se toman de potenciales evocados P300, el cual es un potencial
relacionado con eventos y es registrado mediante el EEG como una deflexión positiva de
voltaje con latencia de 300ms.

Se logró el desplazamiento del robot a través del puerto paralelo. Para emplear la
información de los EEG, éstos se convirtieron al formato ASCII para exportarlos a
MatLab.

2.5.2 POTENCIALES EVOCADOS VISUALES

En la técnica de potenciales evocados visuales o PEV, se muestra una matriz de


imágenes, cada una de las cuales representa una acción específica y el procedimiento
que se lleva a cabo es iluminar paulatinamente las filas y las columnas para detectar
cual es la actividad que el usuario desea llevar a cabo. La actividad eléctrica generada en
este tipo de estímulos se encuentra en el área occipital de la corteza.

Las formas de onda generadas por los PEV dependen de factores externos tales
como la intensidad del estímulo, la frecuencia, el color utilizado para el patrón o el
tamaño del campo visual que se le presenta al usuario. Sin embargo, también dependen
de ciertos factores por parte del usuario, como son la concentración, la edad, la
capacidad visual, etc.

29
CAPITULO 2. MARCO TEORICO

En [28] se desarrolló una ICC que ayuda al usuario a introducir números


telefónicos. Se basan en el Estado De Equilibrio De Potenciales Evocados Visualmente
(SSVEP por sus siglas en inglés). El usuario observa en pantalla los dígitos del 0 al 9 y
las teclas de borrar y enter. De esta forma el usuario escoge el número que desea
introducir simplemente mirando cada dígito o botón deseado.

En pantalla se muestra una matriz de imágenes de 3x4. La


primera fila corresponde a los dígitos del 1 al 4, la segunda del 5 al
8 y la última contiene las teclas borrar, 9, 0 y enter (ver Fig. 23).
De forma secuencial se resalta la primera fila, luego la segunda y
luego la tercera, cuando se ilumina la fila en la que se encuentra el
digito a introducir el sistema detecta un cambio en las patrones de
onda generados por el usuario y repite el mismo procedimiento Fig. 23 Matriz de
para iluminar las columnas y detectar cual es el digito que se desea dígitos [28].
introducir.

Los resultados obtenidos fueron que 8 de los 13 usuarios tuvieron un desempeño


óptimo. Se determinó que la velocidad de transferencia depende de la selección,
aparición u ocurrencia del dígito y la velocidad. Con el SSVEP se logra determinar
cuando los ojos se mueven o direccionan.

Se puede esperar un alto rendimiento cuando se usan más estimulaciones visuales


y métodos de procesamiento de señales más sofisticados y optimizados para cada
usuario.

En [29] se desarrolló un sistema ICC para el desplazamiento en cuatro


direcciones de un objeto en la pantalla de la computadora (ver Fig. 24) en tiempo real
basándose en la estimulación visual. Fue diseñado como un tablero de elección múltiple
inteligente en forma de un arreglo de 4 imágenes que parpadean, de forma que cuando el
usuario pone su atención en una imagen específica se puede observar una reacción en el
EEG y esta reacción es tomada como señal de control.

Fig. 24 interfaz gráfica para el desplazamiento [29].

30
2.5.BASADOS EN POTENCIALES EVOCADOS

Utilizan un sistema de adquisición de datos y una unidad de preprocesamiento de


señal. Para desarrollar todas las tareas de procesamiento de señales en tiempo real la
unidad de análisis fue implementada en LabView y C/C++, mientras que la unidad de
simulación está basada en el código de optimización de la velocidad de MatLab.
Utilizaron 5 electrodos sobre el área occipital y uno sobre la corteza frontal. La
estructura modular, la alta velocidad y la frecuencia de banda óptima son características
de la plataforma ICC que permiten una extensión a un número mayor de comandos en
un futuro cercano. El proyecto se desarrolló en el Laboratorio de Procesamiento
Avanzado de Señal del Cerebro en el Instituto de Ciencia del Cerebro RIKEN, en Japón.

En [30], se desarrolló una ICC usando las señales de un magnetoencefalograma


(MEG) multicanal, para controlar en tiempo real un juego de computadora y un brazo
robótico, empleando la visualización de imágenes representativas.

El sistema utiliza un enfoque de procesamiento de señales de varios canales de la


MEG, las señales medidas en cada uno de los sensores se consideran mezclas lineales de
conjunto de necesidades que estén asociadas con actividad cerebral. Se conoce que solo
un número pequeño de señales reflejan estados del cerebro relacionados con las tareas
útiles para el proyecto. Estas señales se determinan por tiempo y frecuencia. El software
de adquisición de datos se ejecuta en Linux y permite leer y escribir archivos en forma
simultánea.

El reporte del proyecto es el primero que describe una ICC basada en MEG,
capaz de procesar señales en tiempo real.

Para poder desempeñar la aplicación de mover un brazo robótico, el usuario fue


entrenado durante 20 minutos para poder generar desplazamientos, con solo imaginarlo.

2.5.3 POTENCIAL EVOCADO AUDITIVO

Respecto a los potenciales evocados auditivos o PEA, consisten en generar un


estímulo sonoro con el objetivo de provocar la onda P300, cuya morfología depende de
las siguientes características principales: intensidad, duración y frecuencia. Las ondas
generadas por los PEA se encuentran relacionadas a la actividad eléctrica producida por
dicho estímulo en el oído, el nervio auditivo y las regiones de la corteza cerebrales
relacionadas con la audición.

En [31] se propone una ICC la cual responde a dos señales de control generadas
por los patrones de onda del usuario, que se encuentran relacionados al estado de
relajación y a imaginar el movimiento de la mano derecha. El objetivo del sistema es
controlar un robot móvil en cuatro direcciones: girar a la derecha, girar a la izquierda,

31
CAPITULO 2. MARCO TEORICO

avanzar y retroceder, para lo cual la ICC presenta estímulos visuales (ver FIG. 25) y/o
auditivos relacionados a cada uno de estos desplazamientos.

Fig. 25 Interfaz gráfica la ICC presentada en [31] para desplazar un robot virtual en cuatro direcciones.

Para evaluar el funcionamiento del sistema se realizaron pruebas en las que el se


utilizaron estímulos visuales y auditivos y posteriormente donde solo se emplearon los
visuales o auditivos, teniendo como resultado una mejora en el control del sistema,
cuando sólo se utilizaron estímulos auditivos.

32
CAPÍTULO 3
REALIDAD VIRTUAL

3.1 INTRODUCCIÓN
Hoy en día los gráficos de computadora permiten modelar el mundo real y verlo en
otra dimensión o experimentar cosas que no son accesibles en la vida real, o incluso que
no han sido creadas. Sin embargo, el desarrollo tecnológico no solo ha traído consigo
una mejor visualización en gráficos de computadora, sino también ha permitido dar el
siguiente paso, interactuar con el ambiente virtual, a través de ciertos dispositivos de
entrada como el mouse, el teclado, guantes, etc. La interacción de estos elementos
genera una nueva tecnología llamada realidad virtual.

3.2 REALIDAD VIRTUAL


La realidad virtual o más comúnmente conocida como VR (por sus siglas en inglés
Virtual Reality) es un medio compuesto por simulaciones interactivas que detectan la
posición o acción del usuario y remplazan o aumentan la retroalimentación a uno mas de
sus sentidos, dando la sensación de estar mentalmente inmerso o presente en el mundo
virtual [7] .

Atendiendo a la definición anterior los sistemas de realidad virtual están


compuestos por cuatro elementos principales (ver Fig. 26):

 Mundo virtual: Esta formado por una colección de objetos en un espacio, y por las
reglas y las relaciones que rigen estos objetos [7].
 Retroalimentación: El sistema debe de proporcionar retroalimentación sensorial al
usuario, entorno a su posición o las acciones que se estén llevando a cabo dentro
del ambiente virtual.
 Interactivo: Un sistema de VR, debe de ser interactivo, permitiendo que el usuario
afecte el ambiente virtual.

33
CAPITULO 3. REALIDAD VIRTUAL

 Inmersión: Es la sensación de estar en el ambiente, esta sensación puede ser tanto


física como mental y se logra con la interacción de los cuatro elementos de los
sistemas de VR.

Fig. 26 Elementos de la realidad virtual [7].

La aportación de cada uno de estos elementos dentro de un sistema de VR se lleva


a cabo haciendo uso de software y hardware específico, por ejemplo para la creación del
ambiente virtual se utiliza software de modelado y animación, para la retroalimentación
del usuario se emplean dispositivos como pueden ser monitores, sonido tridimensional,
etc., para la interacción con el ambiente virtual se emplean dispositivos como, mouse,
joysticks; y la interacción en tiempo real de cada uno de estos elementos genera
inmersión por parte del usuario.

Dependiendo de las herramientas utilizadas por el sistema de VR, este se puede


clasificar en tres tipos [32]:

 Sistemas inmersivos: Son aquellos sistemas donde el usuario se siente dentro del
mundo virtual que esta explorando. Este tipo de sistemas utilizan diferentes
dispositivos denominados accesorios, como pueden ser guantes, trajes especiales,
visores o cascos, estos últimos le permiten al usuario visualizar los mundos a
través de ellos. Estos dispositivos son ideales para aplicaciones de entrenamiento o
capacitación [32].
 Sistemas semi-inmersivos: O sistemas inmersivos de proyección se caracterizan por
ser 4 pantallas en forma de cubo (tres pantallas forman las paredes y una el piso),
las cuales rodean al observador, el usuario usa lentes y un dispositivo de
seguimiento de movimientos de la cabeza, de esta manera al moverse el usuario las
proyecciones para cada pared son calculadas por el motor de VR y desplegadas por
los proyectores que están conectados a la computadora. Este tipo de sistemas son
usados principalmente para visualizaciones donde se requiere que el usuario se
mantenga en contacto con elementos del mundo real [32].

34
3.3 MUNDO VIRTUAL

 Sistemas no inmersivos: O de escritorio, son aquellos donde el monitor es la


ventana hacia el mundo virtual y la interacción es por medio del teclado,
micrófono, mouse o joystick, este tipo de sistemas son idóneos para
visualizaciones científicas, también son usados como medio de entretenimiento y
aunque no ofrecen una total inmersión son una buena alternativa de bajo costo
[32].

3.3 MUNDO VIRTUAL


Teniendo en cuenta que el mundo virtual se encuentra formado no solo por los
objetos presentados sino también por las reglas y relaciones que determinan su
comportamiento, el desarrollo del mismo se puede definir en dos etapas:

 Modelado: Es decir, el diseño y construcción del ambiente virtual.


 Programación o Modelo matemático: Entendiendo matemático no solo como
ecuaciones, sino que también pueden ser reglas de movimiento, interacción,
desarrollo, etc. y objetos que actúan en función de dichas reglas [33].

Dependiendo de las características de la aplicación que se va a implementar, hoy


en día se cuenta con una gran variedad de software para desarrollar cada una de estas
etapas.

3.3.1 AUTODESK 3DS MAX

Autodesk® (ver Fig. 27) es un software de modelado y animación 3D de alta


calidad. Dependiendo del objetivo final de los modelos estos pueden estar formados por
grandes o bajas cantidades de polígonos, además de ser exportables para su visualización
o simulación.

Fig. 27 Interfaz Autodesk 3ds Max.

35
CAPITULO 3. REALIDAD VIRTUAL

3.3.2 AUTODESK MAYA

Es un software dedicado al desarrollo de gráficos 3D (ver Fig. 28), efectos


especiales y animación, ofrece diversas herramientas para modelado, animación,
renderizado, simulación de ropa y cabello, dinámicas (simulación de fluidos), etc., tiene
soporte para captura de movimiento. Además de poder realizar el renderizado de una
imagen, repartiendo el trabajo entre varios ordenadores de una red.

Fig. 28 Autodesk Maya [34].

3.3.3 BLENDER

Es un software libre, multiplataforma y gratuito para modelado 3D, animación y


edición de videos (ver Fig. 29). Posee una gran variedad de primitivas geométricas,
incluyendo curvas, mallas poligonales, vacíos, NURBS, metaballs. Dentro de las
herramientas de animación cuenta con la denominada armadura o esqueleto, la cual se
puede modificar utilizando cinemática inversa. Permite importar y exportar ficheros a 3d
Studio, collada, etc.

Fig. 29 Blender [35].

36
3.3 MUNDO VIRTUAL

3.3.4 VRML (V IRTUAL REALITY MODELING LANGUAGE )

Es un lenguaje para modelar mundos virtuales en 3D (ver Fig. 30); a partir de


formas geométricas básicas, que serán presentados a través de internet. Para su
desarrollo se requieren de dos herramientas: un editor de texto, para la creación del
archivo donde por medio de comandos se agregan y determinan las características del
modelo y un visualizador VRML donde se podrá observar el modelo. Una amplia gama
de formatos de archivos 3D se puede convertir en VRML. Por ejemplo, AutoCAD,
Autodesk 3D Studio [36].

Fig. 30 VRML [37].

3.3.5 UNITY 3D

Es un motor 3D de videojuegos multiplataforma creado por Unity Technologies.


Permite la creación de entornos, aplicaciones interactivas, aplicaciones web y juegos en
3D. El contenido de la aplicación es construido desde el editor y el gameplay (ver Fig.
31) se programa usando un lenguaje C#, Javascript o Boo Scrpt. Para la creación de
aplicaciones, Unity cuenta con las siguientes herramientas [38]:

 Assets: Son archivos de imagen, de sonido y modelos 3D que se usan para crear el
juego o aplicación.
 Game Objects: Cuando un asset es usado en una escena de juego, se convierte en
un "Game Object".
 Components: Los componentes se pueden utilizar para programar
comportamientos, definir apariencias, e influenciar otros aspectos de la función de
un objeto en el juego. Los componentes más comunes son luces, cámaras, etc.
 Scripts: Es la forma en la que el usuario define el comportamiento del juego. Y se
programa usando JavaScript, C# o Boo Script.
 Prefabs: Almacena los objetos como activos permitiendo que sean usados, creados
o copiados en diferentes partes del juego.

37
CAPITULO 3. REALIDAD VIRTUAL

Fig. 31 Unity 3D [39].

3.4 RETROALIMENTACIÓN
Los desarrollos con respecto a los sistemas de VR han evolucionado
constantemente entorno a la retroalimentación presentada al usuario, buscando la manera
de estimular cada vez más los sentidos con el objetivo de aportar más realismo a las
experiencias virtuales de la siguiente forma:

 Sentido de la vista: En los sistemas de VR es estimulado a través de imágenes


generadas por un ordenador, las cuales cada vez se asemejan más a la realidad
utilizando modelos 3D.
Dentro de las tecnologías empleadas para estimular este sentido se encuentran el
Head Mounted Display (ver Fig. 32), el cual es un dispositivo en forma de casco
con dos pequeñas pantallas y auriculares que permiten crear la sensación de
encontrarse en el ambiente virtual.

Fig. 32 High-Res Dual Input Head Mounted Display (Hmd) [40].

Otra de las tecnologías utilizadas son los CAVE (ver Fig. 33), los cuales son una
sala en forma de cubo, en la que se colocan proyectores orientados hacia cada una
de las paredes, techo y suelo del lugar, para generar un entorno de realidad virtual
inmersivo.

38
3.4 RETROALIMENTACIÓN

Fig. 33 The CAVE se estrenó en el ACM SIGGRAPH [41].

 Estimulación del Oído: Mediante la incorporación de sonido envolvente (ver Fig.


34), para incrementar la inmersión por parte del usuario.

Fig. 34 Sistema de sonido envolvente [42].

 Estimulación de Tacto: Entorno a la estimulación de este sentido, se han


desarrollado dispositivos hápticos, que permiten simular la sensación de tocar algo
que se encuentra presente en un ambiente virtual, pero que no existe en la realidad.
Dentro de la tecnología empleada para estimular el sentido del tacto del usuario
podemos encontrar los guantes de datos (ver Fig. 35), utilizados para conocer la
posición y orientación de la mano.

Fig. 35 5dt Data Glove Ultra Wireless Kit [43].

39
CAPITULO 3. REALIDAD VIRTUAL

 Estimulación de los Sentidos del Olfato y del Gusto: Los desarrollos entorno a
estimular estos dos sentido han sido pocos. Debido a la complejidad del desarrollo
de un sistema que permita variar los olores y/o sabores entorno al ambiente virtual
que se le presenta al usuario. Una investigación para desarrollar un sistema de
realidad virtual (ver Fig. 36) que integre la retroalimentación ambos sentidos se
lleva acabo en la Universidad de Tokio.

Fig. 36 Sistema de realidad virtual Meta Cookie [44].

El sistema fue capaz de engañar la percepción sensorial del usuario haciéndole


creer que se come una galleta del sabor que eligió, siendo que se come una galleta
normal. La investigación se fundamenta en el hecho de que el sentido del gusto no
solo se ve afectado por la textura de los alimentos sino también por los otros
sentidos.

3.5 INTERACCIÓN
La forma de interacción del usuario con el ambiente virtual se lleva a cabo
utilizando diversos dispositivos, dependiendo si la presentación es en 2D o 3D. Para
interactuar con entornos en 2D, se utilizan tres dispositivos principalmente:
 Mouse (ver Fig. 37)
 Teclado
 Joysticks

Fig. 37 Interacción con un entorno en 2D mediante un mouse como dispositivo de entrada.

40
3.6 INMERSIÓN

En cuanto a los entornos 3D se pueden utilizar los siguientes dispositivos:


 HMD (Head Mounted Display)
 Dispositivos Hápticos (ver Fig. 38)

Fig. 38 Dispositivo Phantom Premium [45].

3.6 INMERSIÓN
La sensación de inmersión en los sistemas de VR (ver Fig. 39) se encuentra
principalmente relacionada a entornos tridimensionales, debido a que el usuario tiene
una ubicación espacial del ambiente virtual que se le presenta y con el cual puede
interactuar a través de cascos, guantes u otros dispositivos que capturan la posición y
rotación de diferentes partes del cuerpo humano.

Fig. 39 Sistema de VR inmersivo [46].

41
CAPITULO 3. REALIDAD VIRTUAL

3.7 APLICACIONES
La realidad virtual es una tecnología que ha sido aplicada principalmente en las
áreas de: entretenimiento con el desarrollo de videojuegos, sistemas para entrenamiento
o aprendizaje a través de simuladores y médica empleando simulaciones para
rehabilitación física o tratamientos psicológicos.

A continuación se presentan algunos trabajos donde se hace uso de la realidad


virtual.

 En [47] se presenta un entrenador de bajo costo en el uso del fibroscopio (BC),


instrumento médico para iluminación y exploración de cavidades y órganos
huecos, utilizando realidad virtual. Se muestra el diseño 3D de la tráquea y los
bronquios y la simulación del desplazamiento del BC.
 En [48] se estudió el uso de la realidad virtual en la terapia de exposición, haciendo
uso de sistemas inmersivos, en los cuales la exposición del paciente ante ciertas
situaciones de la vida real puede ser controlada, permitiendo un avance gradual en
el tratamiento.
 En [49] se realiza un estudio de rehabilitación con terapia convencional contra la
rehabilitación mediante realidad virtual, demostrando que ambas tienen resultados
similares, sin embargo, el uso de la rehabilitación mediante realidad virtual
favorece la motivación de los pacientes al tratamiento.
 En [50] se presentan tres ejemplos de aplicaciones clínicas de la realidad virtual en
el ámbito escolar para la evaluación del trastorno por déficit de atención, el
tratamiento de la fobia escolar y de la ansiedad ante los exámenes mediante
exposición virtual.

Dentro de los sistemas de realidad virtual que se han utilizado para interfaces
cerebro-computadora, se encuentran los desarrollados con entornos 2D, debido a que
para entornos en 3D se requieren más señales de control, lo que se traduce en una mayor
complejidad para el usuario de controlar el sistema ICC.

42
CAPÍTULO 4
METODOLOGÍA

El sistema ICC esta formado por el dispositivo EPOC, con el cual se hace la
adquisición de la actividad cerebral del usuario y un equipo de computo, para realizar el
procesamiento de las señales y traducirlas en las señales de control utilizadas por la
aplicación para desplazar un robot virtual de tres grados de libertad hacia una posición
deseada. Así como las herramientas de hardware y software empleadas para el desarrollo
del sistema.

4.1 DESCRIPCIÓN DEL SISTEMA


El sistema ICC endógeno desarrollado en este trabajo de tesis (ver Fig. 40) se
encuentra formado por los siguientes elementos:

Fig. 40 Descripción del sistema ICC.

 El dispositivo EPOC, que nos permite tomar las señales cerebrales del usuario.
 Una PC, donde se lleva a cabo el procesamiento de cada una de las señales que son
recibidas desde el dispositivo EPOC, para poder reconocer cual es la acción que se
debe llevar a cabo dentro del ambiente virtual.
 El Ambiente virtual, donde se lleva a cabo el desplazamiento del robot. Y el cual
se presenta en 4 configuraciones:
1. Vista isométrica, para proporcionar una ubicación espacial.
2. Vista frontal, tomada desde el plano z-y, para tener una perspectiva de los
desplazamientos correspondientes en dichos ejes.

43
CAPITULO 4.METODOLOGÍA

3. Vista lateral correspondiente al plano x-y, para visualizar el desplazamiento


de profundidad.
4. La vista superior tomando el plano x-z.

Para desplazar el robot dentro del ambiente virtual, el sistema responde a tres
señales de control:
 Dos señales EEG, asociadas a los movimientos avanzar y retroceder, para
determinar el sentido del desplazamiento del robot virtual.
 Y una señal para indicar un cambio de eje, sobre el cual se realizará dicho
desplazamiento. Esta señal es una combinación de una señal EEG y los valores
obtenidos del giroscopio del EPOC y se genera de la siguiente forma: el usuario
deberá modular sus patrones de onda, indicando una determinada acción, que
podría ser un giro, y posteriormente indicando con la cabeza si es que se desea
aceptar o no esa señal, obteniendo una señal de confirmación de cambio de eje.

En el siguiente diagrama de flujo (ver Fig. 41) se muestran los procesos que se
llevan a cabo para el funcionamiento de la ICC.

Fig. 41 Diagrama de flujo del sistema ICC.

44
4.2 RECURSOS

4.2 RECURSOS
En esta sección se presentan las herramientas de software y hardware utilizados
para el desarrollo del sistema propuesto.

4.2.1 HARDWARE

4.2.1.1 DISPOSITIVO EPOC

Es un sistema EEG inalámbrico, desarrollado por Emotiv Systems [23], cuenta con
14 electrodos activos y dos electrodos de referencia, además de un giroscopio de dos
ejes para conocer las rotaciones en x y y (yaw y pitch), es utilizado para la etapa de
adquisición de las señales EEG generadas por el usuario al recibir un cierto estimulo.

Fig. 42 Dispositivo EPOC de la empresa Emotiv.

El dispositivo (ver Fig. 42) cuenta con una interfaz gráfica llamada Emotiv Control
Panel, donde se muestra información en tiempo real del estado de la diadema, la calidad
de la señal proveniente de los electrodos, así como el perfil de usuario con el que se esta
trabajando y en el cual, los patrones de onda serán almacenados. Además cuenta con
cuatro aplicaciones con las que el usuario puede interactuar:

 Headset Setup (Fig. 43): Se observa la disposición y la señal proveniente de cada


uno de los electrodos.
 Expressiv Suite (Fig. 44): Reconoce las expresiones faciales del usuario y se
visualizan en un avatar.
 Affectiv Suite (Fig. 45): Interpreta los pensamientos conscientes y atentos a largo
plazo como entusiasmo, felicidad, aburrimiento, etc.
 Cognitiv Suite (Fig. 46): Después de un corto periodo de entrenamiento permite
controlar el desplazamiento de un cubo en tres dimensiones.

45
CAPITULO 4.METODOLOGÍA

Fig. 43 Headset Setup. Fig. 44 Expresiv Suite.

Fig. 45 Affectiv Suite. Fig. 46 Cognitiv Suite.

4.2.1.2 EQUIPO DE CÓMPUTO

El equipo de cómputo es donde se lleva a cabo el procesamiento de las señales


EEG, utilizando el SDK del EPOC, conformado en tres archivos de encabezado (edk.h,
EmoStateDLL.h y edkErrorCode.h) e implementado en dos archivos DLL de Windows
(edk.dll y edk_utils.dll) que permiten establecer la comunicación con el dispositivo,
establecer ajustes de usuario y de la aplicación.

Fig. 47 Dell XPS15 equipo de cómputo del sistema ICC.

 Procesador Intel® Core™ i7-Q740 a 1.73 GHz)


 Windows® 7 Home Premium Original de 64Bit Service Pack 1
 8GB de RAM Doble Canal Compartido DDR3
 NVIDIA® GeForce® GT 453M 2GB
 2 puertos USB 3.0 y 1 puerto USB 2.0 (combo eSATA/powershare)

46
4.2 RECURSOS

4.2.2 SOFTWARE

 Visual Studio 2008 es un entorno de desarrollo integrado, que permite desarrollar


diversas aplicaciones y soporta varios lenguajes de programación tales como
Visual C++, Visual C#, Visual J#, ASP.NET y Visual Basic .NET. Se trabajó en
este IDE con el SDK del EPOC, para crear dll con las funciones para la adquisición
y procesamiento de las señales, así como la traducción a las señales de control de
la interfaz gráfica de la ICC.

 Blender 2.54 es un software libre, multiplataforma, dedicado al modelado y


animación tridimensionales. Se usó para el ensamblado del robot virtual (ver FIG.
48) y para aportarle características al modelo, que permitan simular un
comportamiento real, dentro del ambiente virtual de la aplicación.

Fig. 48 Software Blender 2.54.

 Unity 3D Se usó para desarrollar el ambiente virtual y la aplicación final del


sistema ICC (ver Fig. 49). El contenido de la aplicación es construido desde el
editor y el gameplay se programa usando un lenguaje C#, Javascript.

Fig. 49 Software Unity 3D.

47
CAPITULO 4.METODOLOGÍA

48
CAPÍTULO 5
DESARROLLO DEL SISTEMA ICC

5.1 INTRODUCCIÓN
En este capítulo se describe el diseño e implementación de la ICC no invasiva-
endógena, cuyo diagrama a bloques se puede observar en la siguiente figura:

Fig. 50 Descripción el sistema.

5.2 ADQUISICIÓN DE LAS SEÑALES


Para la etapa de adquisición se utiliza el dispositivo EPOC mostrado en la siguiente
figura, que permite obtener las tres señales de control para la interfaz gráfica de la ICC.
Adquiriendo las lecturas de sus 14 electrodos y del giroscopio de dos ejes.

.
Fig. 51 Dispositivo EPOC de la empresa Emotiv.

49
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

La colocación de los electrodos en el sistema EPOC corresponde a la designada


por el Sistema Internacional 10-20, el cual señala que la separación entre electrodos
adyacentes son del 10% o 20% de la distancia medida desde la nasion, que es el punto
entre la frente y la nariz; y el inion que es el punto más bajo del cráneo de la parte
posterior de la cabeza y normalmente se indica mediante una protuberancia prominente,
así como de los puntos preauriculares A1 y A2 (Ver Fig. 52).

Fig. 52 Disposición de 19 electrodos con base en el Sistema Internacional 10-20.

Como se puede apreciar en la Fig. 52, la posición de los electrodos se encuentra


definida por las letras O, P, F, T y C, lo cual corresponde a los nombres de los lóbulos:
Occipital, Parietal, Frontal, Temporal y Central respectivamente, así como de un
subíndice par o impar, que indica si el electrodo corresponde al hemisferio derecho o
izquierdo respectivamente.

Fig. 53 A) Disposición de los electrodos en el sistema internacional 10-20


B) Disposición de los electrodos en el dispositivo EPOC.

50
5.3 PROCESAMIENTO DE LA SEÑAL

Para la lectura de las ondas cerebrales el sistema emplea el método de diferencia


con referencia común, es decir, se efectúa la medición de cada uno de los electrodos con
respecto a los electrodos de referencia, en este caso los electrodos CMS y DRL, de esta
forma se obtienen los patrones de onda, mismos que son almacenados para que
posteriormente la aplicación los reconozca y sean traducidos en una determinada acción.

El dispositivo EPOC internamente toma muestras con una frecuencia de 2048 Hz,
que luego se muestrean a 128 Hz [51]. Para ello el hardware cuenta con lo siguiente:
1. Filtro de paso bajo con un corte a 85Hz
2. Filtro de paso alto con un corte en 0.16Hz
3. Filtro notch a 60/50 Hz.

La señal resultante se pone a disposición a través del SDK

5.3 PROCESAMIENTO DE LA SEÑAL


Como se describió en la sección 2.3.1.2 el procesamiento de las señales se lleva a
cabo en el equipo de cómputo y se subdivide en cuatro etapas:

 Preprocesamiento
 Extracción de características
 Aprendizaje y clasificación
 Traducción a órdenes de control

Estas cuatro etapas se llevan a cabo a través de la aplicación Cognitiv Suite de


Emotiv Control Panel, en la que se evalúa la actividad cerebral del usuario en tiempo
real [23] para discernir su intención de llevar acabo distintos movimientos de un objeto
virtual. Dentro de la aplicación se pueden realizar 14 diferentes acciones:

 Neutral.
 6 movimientos direccionales (empujar, jalar, izquierda, derecha, arriba y abajo).
 6 vueltas (en sentido horario, anti-horario, izquierda, derecha, adelante y atrás).
 Desaparecer.

Para controlar estas acciones es necesario llevar a cabo una serie de entrenamientos
en la sección Training del Cognitiv Suite cuya duración es de 8 segundos (Ver Fig. 54),
durante los cuales se reciben los datos EEG preprocesados que serán utilizados para
establecer un patrón de ondas que se almacena y asocia a una determinada actividad,
permitiendo que posteriormente las señales recibidas en la sección Action del Cognitiv
Suite puedan ser comparadas con los patrones almacenados para determinar cual es la
acción que el usuario desea realizar.

51
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

Fig. 54 Cognitiv Suite Training.

El proceso de entrenamiento que se sigue para cada una de las acciones que se
desean entrenar, y mediante el cual se llevan a cabo las tres primeras etapas del
procesamiento de las señales, consiste en tres pasos:

1) Primero se debe seleccionar la acción con la que se van a relacionar los patrones
de onda obtenidos (Ver Fig. 55). Para la ICC desarrollada estas acciones deben
de ser izquierda, derecha y giro en sentido horario.
2) Iniciar el entrenamiento presionando Start Training para ello es importarte que el
usuario se concentre en la acción que desea llevar acabo para modular sus
señales cerebrales, durante un lapso de 8 segundos.
3) Finalmente, se debe de aceptar o rechazar el entrenamiento (Ver Fig. 56), si el
entrenamiento es aceptado, los patrones de onda son almacenados en una base de
datos.

Fig. 55 Selección de la actividad a entrenar. Fig. 56 Aceptar o rechazar el entrenamiento.

52
5.4 APLICACIÓN DE CONTROL

Al finalizar la sesión de entrenamiento de cada actividad, es posible corroborar en


la sección Action (Ver Fig. 57) que el usuario es capaz de controlar las acciones
entrenadas, cumpliendo de esta forma con la etapa de traducción a órdenes de control.

Fig. 57 Cognitiv Suite Action.

Teniendo como resultado las señales de control que se utilizan en la aplicación de


la ICC y a las cuales se puede acceder haciendo uso del SDK.

5.4 APLICACIÓN DE CONTROL


El desarrollo de la aplicación final de la ICC, que consiste en un ambiente 3d
donde el usuario puede desplazar un robot virtual, se trabajó en cuatro etapas:

 Obtención de las señales de control.


 Ensamblado del robot virtual.
 Modelado cinemático del robot virtual.
 Integración del ambiente virtual.

Cada una de las cuales se explican a continuación.

5.4.1 OBTENCIÓN DE LAS SEÑALES DE CONTROL

Como se mencionó en la sección 5.3, para discernir cual es la acción que el usuario
desea ejecutar se hace una comparación de los patrones de onda recibidos y los patrones
de onda almacenados durante la etapa de entrenamiento y dependiendo de la similitud de
los patrones, se generan dos señales de control (Ver Fig. 58):

 Acción: cuyo valor indica cual de las acciones entrenadas es la que se va a ejecutar.
 Potencia: toma un valor de 0 a 1 y representa el grado de similitud existente entre
el patrón de ondas almacenado durante el entrenamiento y el patrón leído al
momento de ejecutar una acción.

53
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

Fig. 58 Señales de control de la ICC, obtenidas del Emotiv Control Panel.

Estos dos parámetros son utilizados como señales de control para desplazar el
robot virtual de la aplicación de la ICC. Para acceder a los datos del EPOC a través del
Emotiv Control Panel se debe establecer una comunicación con el dispositivo, para
hacerlo es necesario llevar a cabo los tres procesos que se muestran en el siguiente
diagrama de flujo.

Fig. 59 Diagrama de flujo para acceder a los parámetros Acción y Magnitud, empleando el SDK.

54
5.4 APLICACIÓN DE CONTROL

En el diagrama a bloques de la Fig. 59, se puede observar que para acceder a los
datos se requiere realizar lo siguiente:

 Establecer la comunicación con el EPOC


 Adquirir de los parámetros de control
 Finalizar la comunicación con el EPOC

Cada uno de los cuales se implementa en una DLL (Dynamic-Link Library)


desarrollada en Visual Studio 2008, que permite integrar el dispositivo EPOC con otros
IDE’s (Integrated Development Environment) para facilitar el desarrollo de aplicaciones,
como el software Unity, donde se desarrollo la interfaz gráfica del sistema ICC.

5.4.1.1 ESTABLECER LA COMUNICACIÓN CON EL EPOC

Antes de llamar a cualquier función del SDK, la aplicación debe de establecer una
conexión con el dispositivo. Para ello, existen dos funciones declaradas en el SDK:

 EE_EngineConnect(), permite establecer una conexión directa con la diadema.


 EE_EngineRemoteConnect(), se utiliza para conectar la aplicación con el Emotiv
Control Panel.

Ambas funciones regresan un valor constante definida como EDK_OK cuyo valor
es 0 si la conexión se ha establecido satisfactoriamente.

Como se mencionó previamente la conexión se realiza a través del Emotiv Control


Panel, por lo que la conexión con el EPOC se establece con el siguiente código.

if (EE_EngineRemoteConnect("127.0.0.1", 3008) != EDK_OK)


{
printf("Emotiv Engine start up failed.");
getchar();
exit(-1);
}
else
{
printf("Emotiv Engine started!\n");
}

Código 1 Conexión con Emotiv Control Panel.

5.4.1.2 ADQUISICIÓN DE LOS PARÁMETROS DE CONTROL

El Emotiv Control Panel y la diadema se comunican con la aplicación mediante


eventos, los cuales son recuperados empleando la función EE_EngineGetNextEvent().

55
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

Existen tres categorías de eventos que deben de ser tomados en cuenta en el desarrollo
de la aplicación:

 Hardware, este tipo de eventos se generan cuando la diadema es conectada o


desconectada.
 EmoState, estos eventos determinan los cambios en el estado cognitivo y
emocional del usuario.
 Suite: relacionados con el entrenamiento y la configuración del Cognitiv Suite y
Expressiv Suite.

Para poder acceder a los eventos que se generen se deben definir los siguientes
punteros:

// Puntero a la estructura interna de eventos asignados por


EE_EmoEngineEventCreate();
EmoEngineEventHandle eEvent = EE_EmoEngineEventCreate();
// Puntero a la estructura interna de eventos del tipo EmoState asignados por
EE_EmoStateCreate();
EmoStateHandle eState = EE_EmoStateCreate();

Código 2 Puntero a los eventos del dispositivo EPOC

A continuación se muestra el código implementado para la adquisición y


actualización de los datos Acción y Potencia utilizados como señales de control de la
aplicación de la ICC.

// Se determina si existe un nuevo evento.


int state = EE_EngineGetNextEvent(eEvent);
if (state == EDK_OK)
{
// Se define el tipo de evento.
EE_Event_t eventType = EE_EmoEngineEventGetType(eEvent);
EE_EmoEngineEventGetUserId(eEvent, &userID);

switch (eventType)
{
// Hardware – Nueva diadema conectada
case EE_UserAdded:
break;

// Hardware – Diadema desconectada


case EE_UserRemoved:
break;

56
5.4 APLICACIÓN DE CONTROL

// EmoState – Actualizacion del estado cognitivo del usuario


case EE_EmoStateUpdated:
EE_CognitivAction_t accion;
float potencia;
EE_EmoEngineEventGetEmoState(eEvent, eState);
accion = ES_CognitivGetCurrentAction(eState);
potencia = ES_CognitivGetCurrentActionPower(eState);
eje = ES_ExpressivGetUpperFaceActionPower(eState);

actionType = accion;
actionPower = potencia;
cambioEje = eje;
break;
// Suite – Cognitiv Training
case EE_CognitivEvent:
break;

default:
break;
}
}
else if (state != EDK_NO_EVENT)
{
printf("Internal error in Emotiv Engine!\n");
}

Código 3 Adquisición de los parámetros de control.

El código mostrado anteriormente se debe de establecer dentro de un ciclo o


bucle para que los datos sean actualizados por lo menos 10-15 veces por segundo, para
ello se usa un ciclo o bucle principal.

5.4.1.3 FINALIZAR LA COMUNICACIÓN CON EL EPOC

Antes de cerrar la aplicación se debe de finalizar la conexión con el dispositivo,


además de liberar la memoria asignada a EmoStateHandle y EmoEngineEventHandle.
Para que posteriormente la aplicación pueda volver a conectarse con el dispositivo
EPOC.

EE_EngineDisconnect();
EE_EmoStateFree(eState);
EE_EmoEngineEventFree(eEvent);

Código 4 Finalizar la comunicación con el EPOC y liberar los recursos ocupados.

57
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

5.4.2 ENSAMBLADO DEL ROBOT VIRTUAL

Un brazo robótico se define como el conjunto de elementos electromecánicos que


propician el movimiento de un elemento terminal (gripper, herramienta, etc.) [5]. De
forma general poseen una constitución física similar a la anatomía de los brazos del
cuerpo humano, debido a esto para hacer referencia a los elementos que componen el
robot se utilizan palabras como cintura, hombro, codo o muñeca.

El brazo robótico utilizado para la aplicación se muestra en la Fig. 60, es un robot


manipulador, con tres grados de libertad del tipo rotacional y fue diseñado utilizando el
software SolidWorks 2010.

Cada una de las partes que lo componen se diseñaron de forma independiente (ver
Fig. 48) por lo que para utilizar el robot dentro de un ambiente virtual, se procedió a
importar y ensamblar cada una de las piezas empleando el software de diseño y
animación Blender 2.54 (ver Fig. 60).

Fig. 60 Ensamblado del robot en Blender 2.54.

Para simular el mismo comportamiento que el de un robot real se crearon huesos,


los cuales son elementos que se les asigna un grupo de vértices del mallado del robot,
logrando con ello que estos vértices se muevan de la misma forma que lo hace el hueso
al que están unidos. Como se mencionó anteriormente, el robot cuenta con tres grados de
libertad por lo tanto, fue necesario crear tres huesos que emulan el comportamiento de
los actuadores en un robot real.

En la Fig. 61, podemos observar las vistas frontal, lateral e isométrica del robot, al
mismo tiempo que podemos ver los huesos creados para moverlo, cabe mencionar que
éstos son necesarios solo para mover el robot y que no se observan cuando la aplicación
se está ejecutando.

58
5.4 APLICACIÓN DE CONTROL

Fig. 61 Robot en blender con huesos.

5.4.3 MODELO CINEMÁTICO DEL ROBOT VIRTUAL

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


referencia fijo. El análisis cinemático de los robots manipuladores permite determinar su
posición y orientación, mediante la cinemática directa o la cinemática inversa,
dependiendo del tipo de variable que se esté manejando (ver Fig. 62).

Fig. 62 Relación entre cinemática directa e inversa.

En la Fig. 63 podemos observar el sistema de referencia fijo utilizado para calcular


el modelo cinemático del robot.

a) b)
Fig. 63 Sistema de referencia utilizado para calcular el modelo cinemático del robot.

59
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

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


respecto al eje z, longitud del primer eslabón, longitud del segundo eslabón,
longitud del tercer eslabón, ángulo respecto el eje x, ángulo medido del plano xz,
al segundo eslabón, ángulo medido del segundo eslabón al tercer eslabón, es la
proyección en el eje x, es la proyección en el eje z.

Para establecer la configuración de los ejes coordenados, se tomó como referencia


la disposición empleada por el software Unity, con el cual se desarrolló la aplicación.
Una vez establecidas las características y el sistema de referencia del robot, se procedió
a calcular tanto la cinemática directa como inversa para obtener los valores de posición
del efector final.

5.4.3.1 CINEMÁTICA DIRECTA DE POSICIÓN

La cinemática directa permite 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. Considerando el sistema de referencia, los ángulos (q1, q2, q3)
así como los eslabones (l1, l2, l3), los cuales se observan en la Fig. 63-a, se obtuvo de
forma geométrica la posición del efector final. Obteniendo las siguientes ecuaciones:

[ ( ) ( )] ( ) (1)

( ) ( ) (2)

[ ( ) ( )] ( ) (3)

5.4.3.2 CINEMÁTICA INVERSA DE POSICIÓN

La cinemática inversa resuelve la configuración que debe adoptar el robot para


llevarlo a una posición y orientación conocida.

Como podemos observar en la Fig. 63-a), 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, observando la Fig. 63 Sistema de referencia utilizado para


calcular el modelo cinemático del robot. podemos afirmar que:

(5)

60
5.4 APLICACIÓN DE CONTROL

( ) (6)

Dónde: es la longitud del eje y hacia el efector final,


es la proyección en el plano xz.

Considerando que los eslabones se encuentran situados en un mismo plano y


utilizando el teorema del coseno, se obtiene:
(7)
( ) ( )

( ) (8)
( )

( ) √ ( ) (9)

√ ( ) (10)
( )
( )

(11)
( )
√ ( )

( )
( )
( )
En la Fig. 64 Relacion entre α y β. se puede obsevar que, q2 es la diferencia entre los
ángulos α y β.

Fig. 64 Relacion entre α y β.

61
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

(12)

(13)
( )

( )

( ) (14)
( )
( )

(15)
( )
( )
( )

( )

Tanto la cinemática directa como la inversa se programaron en la aplicación para


generar el desplazamiento del robot y para obtener la posición del efector final.

5.4.4 INTERFAZ GRÁFICA

El ambiente virtual de la aplicación esta formado por el robot manipulador con


una configuración inicial (0, 68, 0) que representa la posición del efector final con
respecto al sistema de referencia, cuyas coordenadas articulares (Q1, Q2, Q3) son (0 ,90°,
0) y una mesa de trabajo. Este ambiente se presenta en la interfaz grafica (ver Fig. 65),
en cuatro perspectivas: vista isométrica, vista frontal, vista lateral y vista superior.

Fig. 65 Interfaz gráfica de la ICC.

62
5.4 APLICACIÓN DE CONTROL

Además de las diferentes perspectivas que permiten una mayor inmersión por parte
del usuario y una ubicación espacial de los desplazamientos, en la interfaz se muestran
los valores correspondientes a la posición del efector final del robot y de los ángulos Q1,
Q2 y Q3 de cada uno de los eslabones.

Para desplazar el robot, se programaron dos scripts en Unity:

 El primero de ellos “Epoc.cs” se programó utilizando el lenguaje C# y permite


importar las funciones de la dll desarrollada en Visual Studio 2008, con la que se
obtienen los datos del EPOC empleados como señales de control de la aplicación.

public class Epoc : MonoBehaviour


{ [DllImport ("EpocDLL")]
private static extern double Init( );
[DllImport ("EpocDLL")]
private static extern double updateEvents( );
[DllImport ("EpocDLL")]
private static extern double getActType( );
[DllImport ("EpocDLL")]
private static extern double getActPower( );
[DllImport ("EpocDLL")]
private static extern double Confirm( );
[DllImport ("EpocDLL")]
private static extern double Exit( );

public int AcType = 0;


public double AcPower = 0.0;
public float Confirm = false;

// Use this for initialization


void Start ()
{
Init(); }
// Update is called once per frame
void Update ()
{
updateEvents();
AcType = getCogActionType();
AcPower = getCogActionPower();
cambioEje = Confirm();
SendMessage("Action",AcType);
SendMessage("Power",AcPower);
SendMessage("Axis",cambioEje); }
}

Código 5 Script para importar las funciones de la dll.

63
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

 El segundo código “RobotScript.js” es un java script, que permite desplazar el


robot, empleando como señales de entrada los parámetros Acción, Potencia y
Confirm adquiridos del dispositivo EPOC a través del Emotiv Control Panel (ver
sección 5.4.1).

Para recibir estos datos, en el primer script se utiliza la función


SendMessage("Action",AcType), la cual llama a la funcion Action declarada en
RobotScript.js con el valor AcType;. Obteniendo de esta forma las tres señales de
control para el desplazamiento del robot el cual queda representado en los
siguientes diagramas de flujo:

1) AcTYpe: Cuyo valor indica el sentido del desplazamiento. Tomando el valor de


32, cuado el usuario indica retroceder y 64 para avanzar. (ver Fig. 66).
2) AcPower: Con un rango de 0 a 1, indica la magnitud de desplazamiento en
proporcion de 1:0.1, es decir, por cada AcPower=1, se indica un
desplazamiento de 0.1.
3) Confirm: Indica un cambio de eje, sobre el que se efectua el desplazamiento.

Fig. 66 Ciclos de avance del robot.

Además del algoritmo correspondiente a los diagramas de flujo, en el script


RobotScript.js se programó la cinemática inversa del robot, obtenida en 5.4.3.2, para
conocer la posición del efector final, la cual se encuentra limitada al área de trabajo del
robot, definida de la siguiente forma:

( ) ( ) (16)

64
5.4 APLICACIÓN DE CONTROL

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


posición respecto al eje , longitud del primer eslabón, longitud del segundo
eslabón, longitud del tercer eslabón.

Si se cumple cualquiera de las siguientes condiciones, entonces el robot continuo


desplazándose, de lo contrario, no realiza ningún movimiento:

De esta forma para llevar el efector final a una coordenada deseada el usuario debe
realizar varios pasos. Por ejemplo para llevar el efector final a la coordenada (45, 45, 0)
(ver Fig. 67-B).

A) B)
Fig. 67 Desplazamiento del robot a la posición (45, 45, 0).

Teniendo en cuenta que la posición inicial es (0, 68, 0) (ver Fig. 67-A), se
recomienda realizar lo siguiente:
1) Desplazarse sobre el eje y (ver Fig. 68), para llegar a la posición y=45, debido a
que el desplazamiento es sobre el mismo eje.

Fig. 68 Desplazamiento con respecto al eje y, para llegar a la coordenada deseada.

65
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

2) Y finalmente desplazarse con respecto al eje x para llegar a la coordenada x=45


(ver Fig. 69).

Fig. 69 Desplazamiento con respecto al eje x, para llegar a la posición deseada.

En cambio si el primer desplazamiento se realiza sobre el eje x, el efector final del


robot no se puede desplazar hasta la posición 45 pues el desplazamiento es en pequeños
incrementos y al llegar a la posición (0.98, 68, 0) (ver Fig. 70), el robot deja de
desplazarse debido a que ya no cumple con las condiciones establecidas de:

Teniendo:

( ) ( ) ( ) (17)

(18)

(19)

Indicando que la coordenada no se encuentra dentro del área de trabajo, por lo que
el robot no puede realizar más desplazamiento con respecto al eje x, y debe mandar la
señal de control Confirm para realizar un cambio de eje.

66
5.4 APLICACIÓN DE CONTROL

Fig. 70 Desplazamiento con respecto al eje x, llegando a la posición (0.98, 68, 0) por la limitante del área
de trabajo del robot.

Después de realizar el cambio de eje, el usuario debe desplazarse en el eje y hasta


la posición y =45 (ver Fig. 71). Y después volver a hacer un cambio de eje, para trabajar
sobre el eje x para desplazarse hasta x=45 (ver Fig. 72).

Fig. 71 Vista isométrica y lateral del desplazamiento realizado para llegar a la coordenada y=45.

Fig. 72 Vistas del desplazamiento con respecto al eje x para llegar a la posición deseada (45, 45, 0).

67
CAPÍTULO 5. DESARROLLO DEL SISTEMA ICC

5.5 P LATAFORMA EXPERIMENTAL

Fig. 73 Plataforma experimental.

En la Fig. 73 se muestra el sistema ICC que como se mencionó en 4.1 esta formado
por:

 EL dispositivo EPOC, para adquirir las señales electroencefalográficas del usuario.


 Una Laptop donde se lleva a cabo el procesamiento de las señales obtenidas del
EPOC, para poder discernir la intención del usuario de realizar una determinada
acción relacionada al desplazamiento del robot virtual.
 Ambiente Virtual, donde se muestra el robot con una determinada configuración, y
sobre el cual el usuario podrá modificar su posición.

En 4.2 se describen las especificaciones técnicas tanto del EPOC como del equipo
de cómputo utilizado en el sistema, sin embargo, cabe mencionar que los requerimientos
mínimos para el correcto funcionamiento del dispositivo EPOC y por ende del sistema
ICC son los siguientes:

 Procesador Intel Pentium 4 a 2.4 GHz (o equivalente).


 Microsoft Windows XP con Service Pack 2 o Microsoft Windows Vista.
 1 GB RAM.
 50 MB de espacio.
 1Puerto USB 2.0.

68
CAPÍTULO 6
PRUEBAS Y RESULTADOS

6.1 DESCRIPCIÓN DEL EXPERIMENTO


El objetivo de esta tesis fue desarrollar una Interfaz Cerebro-Computadora (ver
Fig. 74) que permita que el usuario final, pueda desplazar un robot virtual hacia una
posición deseada, dentro de un ambiente 3d, respetando su área de trabajo. Por lo cual
para evaluar el funcionamiento del sistema ICC se pidió al usuario que desplazara el
efector final del robot a las siguientes coordenadas cartesianas:

 (-45,45,0)
 (0,60,15)
 (35,45,15)

Estas coordenadas fueron establecidas con dos objetivos:

 Que el usuario pueda percibir el desplazamiento correspondiente en cada una de


las vistas que se presentan en la interfaz gráfica de la ICC.
 Mostrar la habilidad del usuario de mantener las señales de control.

Fig. 74 Pruebas sobre la plataforma experimental.

69
CAPÍTULO 6. PRUEBAS Y RESULTADOS

6.2 ETAPAS
La evaluación de las prestaciones del sistema se ejecuta en dos etapas. La primer
etapa es la de entrenamiento, en la cual se hicieron pruebas con el Emotiv Control Panel,
con el objetivo de almacenar los patrones de onda que son interpretados para obtener las
señales de control de la interfaz gráfica. Una vez obtenidos los patrones de onda se procede
a la etapa de operación, en la que se evaluará la habilidad del usuario para controlar el
sistema ICC.

6.2.1 ETAPA DE ENTRENAMIENTO

En la etapa de entrenamiento se utiliza el Emotiv Control Panel como herramienta


para almacenar los patrones de onda del usuario, que serán interpretados en las señales de
control: Accion, Potencia y Confirm.

Para controlar la aplicación con estas tres señales, el usuario debe de realizar un
entrenamiento en la sección Training del Cognitiv Suite donde se asocia un patrón de ondas
a cada una de las siguientes acciones:

 Left
 Right
 Rotate Clockwise
 Neutral, se refiere a un estado mental relajado, es decir, no debe de estar asociada a
ninguna otra actividad del Cognitiv Suite.

El tiempo de duración de una sesión de entrenamiento fue de 1hr., incluyendo en este


tiempo la colocación del EPOC a intervalos de reposo de 5 minutos por cada 10 minutos de
entrenamiento, para permitir que el usuario se recuperara del esfuerzo mental realizado.

La etapa de entrenamiento consistió en un total de 12 sesiones distribuidas, las que se


llevaron a cabo cumpliendo con una sesión diaria de una hora por tres días consecutivos
seguidos de un día de descanso, hasta completar las doce sesiones de la etapa de
entrenamiento, realizándose en un total de 15 días.

Cabe señalar que el plan puede variar con cada usuario, sin embargo, se recomienda
que durante las tres primeras sesiones se realice lo siguiente:
Tabla 2 Plan de entrenamiento de las tres primeras sesiones.

# Actividad
 Entrenamiento de la acción Neutral
1  Entrenamiento de la acción Push
 Prueba de la acción Push por 5 minutos

70
6.2 ETAPAS

 Prueba de la acción Push por 5 minutos


2  Entrenamiento de la acción Pull
 Prueba de la acción Pull – Push por 5 minutos
 Prueba de la acción Pull – Push por 5 minutos
 Entrenamiento de la acción Push
3
 Entrenamiento de la acción Push
 Prueba de la acción Pull – Push por 10 minutos

Entendiendo por Entrenamiento y Prueba, lo siguiente:

 Entrenamiento: Dentro de la sección Training del Cognitive Suite realizar cinco veces
lo siguiente:
1) Seleccionar la acción a entrenar, dentro de la lista desplegable.
2) Iniciar el entrenamiento presionando Start Training.
3) Finalmente, se debe de aceptar o rechazar el entrenamiento.

 Prueba: Dentro de la sección Action del Cognitive Suite, concentrarse en la o las


acciones entrenadas y corroborar la habilidad de control, manteniendo una de las
señales, por un lapso de 5 segundos, y después cambiar a la acción Neutral para
regresar el cubo a su posición inicial.

Con el objetivo de que en la tercera sesión el usuario sea capaz de controlar tres de las
señales del Cognitiv Suite, que son traducidas en la señal Accion, que indica el sentido del
desplazamiento del robot virtual.

Si en la tercera sesión se logra dicho objetivo, se recomienda que en la cuarta sesión


se lleve el mismo plan de entrenamiento que la tercera, para reforzar la habilidad del
usuario de modular sus patrones de onda. Y para la quinta sesión añadir la acción Rotate
Clockwise.
Tabla 3 Plan de entrenamiento de la quinta sesión.

# Actividad
 Prueba de la acción Pull – Push por 5 minutos
5  Entrenamiento de la acción Rotate Clockwise
 Prueba de la acción Pull – Push – Rotate Clockwise por 10 minutos

Da la sesión número 6 a la 12 se recomienda que el usuario realice pruebas con las


acciones Left – Right – Rotate Clockwise y entrenamientos de aquella acción que se le
dificulte controlar. Cuando el usuario haya entrenado las cuatro acciones, se procede a
realizar las pruebas con la interfaz grafica (ver Fig. 65 Interfaz gráfica de la ICC.) en la etapa de
operación.

71
CAPÍTULO 6. PRUEBAS Y RESULTADOS

Este protocolo de entramiento fue el que se siguió para que el usuario pudiera
desplazar el robot virtual de la ICC desarrollada.

6.2.2 ETAPA DE OPERACIÓN

 Para llevar el robot a la posición (-45,45,0) el usuario realizó lo siguiente, utilizando


principalmente las vistas lateral e isométrica, debido a que dichas coordenadas se
encuentran sobre el plano x,y.
1) Se efectuó el primer desplazamiento modificando la coordenada en x (ver Fig. 75).

A) Vista Isométrica B) Vista Lateral


Fig. 75 Vistas del primer desplazamiento del robot para llevarlo a la posición (-45, 45, 0).

2) Se realizó un cambio de eje, para modificar la coordenada en y, hasta llegar a 45(ver


Fig. 76).

Fig. 76 Vistas del robot en la posición (-25.05, 45.28, 0).

3) Se realizó dos cambios de eje, para situarse sobre el eje x, y modificar la coordenada
hasta llegar a (-45,45, 0).

Fig. 77 Vistas del robot, en la posición (-45.54, 45.28, 0).

72
6.2 ETAPAS

En la Fig. 75 Vistas del primer desplazamiento del robot para llevarlo a la posición (-45, 45, 0) se
puede observar que el primer desplazamiento del usuario es modificando la posición en x,
llegando a una posición que se encuentra fuera del área de trabajo del robot, razón por la
cual el robot ya no puede desplazarse sobre el eje x, teniendo que hacer un cambio de eje
para continuar con el ejercicio.

También se puede apreciar que el robot se pasa de las coordenadas (-45, 45, 0), esto
se debe a la capacidad de modulación que el usuario tiene sobre sus ondas cerebrales, para
generar las señales de control correctas, y llevar el efector final del robot hacia la posición
deseada.

 En el segundo ejercicio se propuso (0, 60, 15) como posición deseada y se le pidió al
usuario llevar a cabo el primer desplazamiento sobre el eje y (ver Fig. 78) y
posteriormente sobre el eje z (ver Fig. 79) con la finalidad de reducir los pasos
necesarios para cumplir con el objetivo del ejercicio.

A) Vista Isométrica B) Vista Lateral


Fig. 78 Primer desplazamiento en y para llegar a la posición deseada (0, 60, 15)

A) Vista Isométrica B) Vista Frontal


Fig. 79 vistas del robot, en la posición (-45.54, 45.28, 0).

Durante el ejercicio el usuario visualizó los desplazamientos correspondientes en las


vistas isométrica, lateral y frontal; el cambio de la vista lateral a la frontal se debe a la
configuración inicial del robot (0, 90, 0) la cual se modifica a (90,35.81, 57.31) para llegar
a la posición deseada que se encuentra en el plano z-y.

73
CAPÍTULO 6. PRUEBAS Y RESULTADOS

 Para el último ejercicio se estableció como posición deseada (35, 45, 15), y se
realizaron los siguientes pasos:
1) El primer desplazamiento se realizó sobre el eje y para alcanzar la posición y=45
(ver Fig. 80)

A) Vista Isométrica B) Vista Frontal


Fig. 80 Cambio de posición en y para llegar a la posición deseada
2) Después se realizaron dos cambios de eje para ubicarse sobre el eje x y modificar la
posición del efector final (ver Fig. 81).

A) Vista Isométrica B) Vista Frontal


Fig. 81 Desplazamiento con respecto al eje x.
3) Por último se mandaron las señales de control para modificar la posición en z y
llegar a la posición deseada (ver Fig. 82).

Fig. 82 Posicionamiento del robot en las coordenadas (34.29, 46.64, 13.80)

74
6.3 Discusión

6.3 DISCUSIÓN
Las sesiones de entrenamiento y operación del sistema se planearon para un total de
nueve sujetos, 3 del sexo femenino y 6 del sexo masculino. Dentro del grupo siete no tenían
ninguna experiencia con ICC y dos de ellos previamente habían realizado sesiones de
entrenamiento para modular sus ondas EEG.

Sin embargo, debido a la falta de hardware y tiempo, el plan de entrenamiento no se


siguió de manera constante. Por lo que las pruebas del sistema ICC, se realizaron
únicamente con un sujeto del sexo masculino, cuya capacidad de controlar sus señales EEG
ha sido previamente utilizada en proyectos relacionados, tales como:

 El estudio de la influencia que tiene la interacción humana vía interfaz cerebro


computadora en el control de un robot. En el que se propone incluir la intención del
usuario dentro del controlador, para estudiar la forma en que ésta afecta en la
trayectoria prestablecida.
 Control de un robot móvil diferencial mediante una ICC. El robot móvil responde a
dos señales de control, una para indicar avanzar y la segunda para girar, respondiendo
a estas necesidades se realizó la implementación del sistema ICC.
 Movimiento de dos grados de libertad de una plataforma móvil.

En los tres ejercicios establecidos para analizar el sistema ICC y la habilidad del
usuario de controlarlo, se consiguió llegar a la posición establecida para cada uno de ellos,
con pequeños márgenes de error, los cuales para este trabajo pueden ser corregidos,
estableciendo márgenes de desplazamiento más pequeños, pues el establecido en la
aplicación es de 1:0.1 por cada actualización de las señales de control de la aplicación.

Los parámetros de posición del robot que se despliegan en la interfaz gráfica del
sistema, proporcionaron al usuario los datos necesarios para determinar las señales de
control que debían ser enviadas para llegar a la posición establecida en cada una de las
pruebas.

75
CAPÍTULO 6. PRUEBAS Y RESULTADOS

76
CAPÍTULO 7
CONCLUSIONES

7.1 CONCLUSIONES
En el presente trabajo se realizó un estudio del marco teórico y el estado del arte de
las interfaces cerebro computadora de las interfaces cerebro computadora. En el cual se
describen cada una de las etapas que componen a un sistema ICC, partiendo de las
diferentes tecnologías que son usadas para adquirir las señales psicofisiológicas que pueden
ser utilizadas como señales de entrada en los sistemas ICC, hasta la implementación del
sistema ICC no invasivo - endógeno desarrollado en el presente trabajo.

Debido a que la habilidad de controlar un sistema ICC se encuentra relacionada a la


capacidad del usuario de modular los patrones de onda generados, para la etapa de pruebas
se diseño un protocolo de entrenamiento, para controlar las acciones left, right y rotate
clockwise dentro de la aplicación Cognitive Suite del Control Panel. Las sesiones de
entrenamiento se deben realizar estando en calma, pues de lo contrario, si el usuario se
encuentra en una situación de estrés o cansancio, las ondas cerebrales reflejan este estado,
lo que se traduce en una disminución de la habilidad para controlar el sistema.

La interfaz gráfica del sistema es utilizada como retroalimentación, proporcionando al


usuario una referencia visual de la posición del robot, permitiéndole conocer cuales son las
acciones que debe realizar para controlar el sentido del desplazamiento y con qué
intensidad debe llevar a cabo la actividad mental para lograrlo.

Cabe señalar que la interfaz desarrollada puede ser implementada con otros proyectos
en desarrollo, que permitan evaluar el desempeño del sistema en diferentes entornos.
Aunque la aplicación del sistema ICC en una interfaz gráfica para que permite que el
usuario interactue de forma directa con la aplicación recordando que un sistema con un
mayor número de acciones a controlar incrementa considerablemente la etapa de
entrenamiento y la habilidad del usuario de llegar a controlarlo.

77
CAPÍTULO 7.CONCLUSIONES

7.2 APORTES
Del desarrollo de la interfaz cerebro computadora presentada, se obtuvieron dos
aportaciones principales:

 Se desarrolló una biblioteca de enlace dinámico, que permite integrar el dispositivo


EPOC con otros IDEs, para el desarrollo de otro tipo de aplicaciones gráficas o para
controlar dispositivos externos.

 Se estableció el algoritmo de decisiones del sistema ICC, con base en las señales de
control definidas para el desplazamiento del robot virtual.

Durante el desarrollo del sistema ICC, se sometieron y fueron aceptados los


siguientes artículos:

 “Control de un robot manipulador virtual, utilizando una interfaz Cerebro


Computadora”. 4° Congreso Internacional de Ingenierías Mecánica, Eléctrica,
Electrónica, Mecatrónica y Computacional (CIMEEM 2011). Septiembre 27 al 29 del
2011. Querétaro, Querétaro.
 “Posicionamiento de un robot virtual”. XII Simposio Mexicano en Cirugía Asistida
(MEXCAS 2011). Septiembre 30 del 2011. Ciudad de México, D.F.
 “BCI para el control de robots virtuales”. 7° Congreso Internacional Tendencias
Tecnológicas en Computación. Octubre 17 al 21 del 2011. Ciudad de México, D. F.
 “Influencia de la Interacción humana vía Interfaz Cerebro Computadora (BCI) en el
control de un robot”. Noviembre 3 y 4 del 2011. Puerto Vallarta, Jalisco. 10°
Congreso Nacional de Mecatrónica.

7.3 TRABAJOS FUTUROS


El desarrollo de un sistema ICC, trae consigo una amplia gama de aplicaciones
dentro de las que

 Para trabajos a futuro se debe considerar llevar a cabo la evaluación del protocolo
de entrenamiento y del sistema con un mayor número de sujetos, con el objetivo
de evaluar el funcionamiento del sistema.

 Implementar el sistema ICC para interacción remota utilizando protocolos


TCP/IP, con el objetivo de proponer al sistema como una herramienta para
diagnóstico remoto de personas con discapacidad motriz.

78
7.3 TRABAJOS FUTUROS

 Se propone implementar nuevos algoritmos para la extracción y clasificación de


las características de las señales adquiridas con el dispositivo EPOC.

 Desarrollar un sistema EEG de arquitectura abierta, para obtener las señales


bioeléctrica del usuario.

 Implementar el sistema ICC con dispositivos externos, para evaluar su


funcionamiento y la forma en que la interfaz puede ayudar al usuario a tener una
percepción del desplazamiento o acción que se esta llevando a cabo con el
dispositivo externo.

79
CAPÍTULO 7.CONCLUSIONES

80
REFERENCIAS

REFERENCIAS

[1] Instituto Nacional de Transtornos Neurológicos y Accidentes Cerebrovasculares.


Disponible en: http://espanol.ninds.nih.gov/trastornos/diagnostico_neurologico.htm.
[Consulta: 1 Julio 2012].

[2] R. R. Angevin, "Retroalimentación en el Entrenamiento de una Interfaz Cerebro


Computadora Usando Técnicas Basadas en Realidad Virtual", Tesis doctoral,
Universidad De Málaga, Escuela Técnica Superior De Ingenieros De
Telecomunicación, Málaga, España, 2005.

[3] M. Á. L. Gordo, "Interfaz BCI de Altas Prestaciones Basada en la Detección y


Procesamiento de la Actividad Cerebral", Tesis doctoral, Universidad de Granada,
España, 2009.

[4] A. Vallabhaneni, T. Wang and B. He, "Brain—Computer Interface", Neural


Engineering, Minneapolis, Minnesota, Bioelectric Engineering, 2005, pp. 85-121.

[5] B. S. Zárate, "Inducción de Relajación en un Ambiente de Realidad Virtual y la


Influencia de los Sentidos", Tesis Doctoral, Facultad de Ciencias de la Salud,
Castellón, España, 2012.

[6] G. Burdea and P. Coiffet, "Virtual Reality Technology", Vol. 1, Estados Unidos:
WILEY-INTERSCIENCE, 2003.

[7] W. R. Sherman and A. B. Craig, "Understanding Virtual Reality - Interface,


Application and Design", Estados Unidos: Morgan Kaufmann Publishers, 2003.

[8] R. Leeb, D. Friedman, G. R. Müller-Putz, R. Scherer, M. Slater and G. Pfurtscheller,


"Self-Paced (Asynchronous) BCI Control of a Wheelchair in Virtual Environments:
A Case Study with a Tetraplegic", Computational Intelligence and Neuroscience,

81
REFERENCIAS

Vol. 2007, nº 79642, p. 8, 2007.

[9] C. Lalor, P. Kelly, C. Finucane, R. Burke, R. Smith, R. B. Reilly. and G. EcDarby,


"Steady-State VEP-Based Brain-Computer Interface Control in an Immersive 3D
Gaming Environment" EURASIP Journal on Applied Signal Processing, Vol. 19, pp.
3156–3164, 2005.

[10] R. Leeb, R. Scherer, C. Keinrath, G. Pfurtscheller, D. Friedman, F. Y. Lee, H.


Bischof and M. Slater, "Combining BCI and Virtual Reality: Scouting Virtual
Worlds", de Toward Brain-Computer Interfacing, Massachusets, Massachusets
Institute of Technology, 2007, pp. 393-407.

[11] "Tema 11. La función de relación I. El sistema nervioso humano". Disponible en:
http://www.aula2005.com/html/cn3eso/11relaciosn/11snervioses.htm. [Consulta: 10
Junio 2012].

[12] "Cardiología - Potenciales de Membrana". Disponible en:


http://www.iqb.es/cardio/fisiologia/fisio01.htm . [Consulta: 10 Junio 2012].

[13] Departamento de Ciencias Fisiologicas. "Guias de Laboratorio - Electrocardiograma".


Disponible en: http://fisiopuj.tripod.com/Guias/1_Electrocardiograma.pdf. [Consulta:
6 Junio 2012].

[14] Dr. J. R. V. Nandayapa. "Cardio Intervención - Electrocardiograma". Disponible en:


http://cardiointervencion.com/estudios-del-corazon/electrocardiograma/. [Consulta: 6
Junio 2012].

[15] P. Armando B. Barreto, M. Scott, D. Scargle and P. M. Adjouadi, "A practical EMG-
based human-computer interface for users with motor disabilities", Journal of
Rehabilitation Research and Development Vol . 37 No . 1, pp. Pages 53-64,
January/February 2000.

[16] "El Electrooculograma (EOG)". 22 Mayo 2008. Disponible en:


http://www.seeic.org/sociedad/premio/dos.pdf. [Consulta: 6 Junio 2012].

[17] R. Scherer, A. Schloeg, F. Lee, H. Bischof, J. Janša and G. Pfurtscheller, "The Self-
Paced Graz Brain-Computer Interface: Methods and Applications", Computational
Intelligence and Neuroscience, Vol. 2007, nº 79826, p. 9, 2007.

[18] C. Soraghan, F. Matthews, D. Kelly, T. Ward, C. Markham, B. Pearlmutter and R.


O'Neill, "A Dual-Channel Optical Brain-Computer Interface in a Gaming
Environment", National University of Ireland Maynooth, Co. Kildare, Irlanda,

82
REFERENCIAS

Irlanda.

[19] Departamento de Electrónica, Universidad de Alcalá, España, "Instrumentación


Biomédica Tema 5 - Electroencefalografía". Disponible en:
http://web.usal.es/~lcal/electroencefalografia.pdf. [Consulta: 6 Junio 2012].

[20] J. Minguez, "Tecnología de Interfaz Cerebro - Computador". Disponible en:


http://webdiis.unizar.es/~jminguez/Sesion001_UJI.pdf. [Consulta: 6 Junio 2012].

[21] J. L. M. Pérez, "Comunicación con computador mediante señales cerebrales.


Aplicación a la tecnología de la rehabilitación", Tesis doctoral, Universidad
Politécnica de Madrid, Madrid, España, 2009.

[22] NeuroSky. Disponible en: http://store.neurosky.com/products/mindset/. [Consulta:


Junio 2012].

[23] Emotiv, Emotiv Software Development Kit - User Manual for Release 1.0.0.4.

[24] R. Palaniappan, "Brain Computer Interface Design Using Band Powers Extracted
During Mental Tasks", de IEEE EMBS Conference on Neural Engineering,
Arlington, Virginia, March 16 - 19, 2005.

[25] P. A. Pour, T. Gulrez, O. AlZoubi, G. Gargiulo and R. A. Calvo, "Brain-Computer


Interface: Next Generation Thought Controlled Distributed Video Game
Development Platform", IEEE Symposium on Computational Intelligence and
Games, Sydney, Australia, 2008..

[26] J.A. Periáñez and F. Barceló, "Electrofisiología de las funciones ejecutivas", Revista
de Neurología, Vol. 38, nº 4, pp. 359-365, 2004.

[27] S. M. Saddique and L. H. Siddiqui, "EEG Based Brain Computer Interface",


Journal Of Software, Vol. 4, nº 6, August 2009.

[28] M. Cheng, X. Gao, S. Gao and D. Xu, "Design And Implementation Of A Brain
Computer Interface With High Transfer Rates", IEEE Transactions On Biomedical
Engineering, Vol. 49, nº 10, October 2002.

[29] P. Martinez, H. Bakardjian and A. Cichocki, "Fully-Online, Multicommand Brain-


Computer Interface with Visual Neurofeedback Using SSVEP Paradigm",
Computational Intelligence and Neuroscience, Vol. 2007, nº 94561, p. 9, 2007.

[30] C. Hesse, R. Oostenveld, T. M. Heskes, O. Jensen, "On The Development Of A

83
REFERENCIAS

Brain-Computer Interface System Using High-Density Magnetoencephalogram


Signals For Real-Time Control Of A Robot Arm", IEEE Benelux EMBS Symposiu,
December 6-7, 2007.

[31] R. Argevin, F. Velasco, L. da Silva and S. Sancha, Paradigma de navegación para


controlar un robot en todas direcciones a través de un sistema BCI", Simposio CEA de
BIOINGENIERÍA 2011, Palma de Mallorca, España, 2011.

[32] "II. Fundamentos de realidad virtual". Disponible en:


http://telematica.cicese.mx/computo/super/cicese2000/realvirtual/Part2.html.
[Consulta: 6 Junio 2012].

[33] H. H. Andrade and X. M. Navas, "Realidad Virtual y Aprendizaje". Disponible en:


http://dsc.itmorelia.edu.mx:8080/pDSC/Documentos/Articulos/Documentos/isva.pdf.
[Consulta: 6 Junio 2012]

[34] "Spaceboy worKshop 3D", 15 Febrero 2012. Disponible en:


http://spaceboy3d.com/3dWorkshop/?p=77. [Consulta: 6 Junio 2012].

[35] Blender Foundation, "Blender - Features & Gallery". Disponible en:


http://www.blender.org/features-gallery/features/. [Consulta: 6 Junio 2012].

[36] VRML.ORG, "The definitive source for VIRTUAL REALITY MODELING


LANGUAGE" Disponible en: http://www.vrml.org/7/. [Consulta: 6 Junio 2012].

[37] S. Šinjur, "Collision detection between moving objects using uniform space
subdivision". Disponible en: http://www.cescg.org/CESCG-2001/SSinjur/index.html.
[Último acceso: 6 Junio 2012].

[38] "EcuRed - Conocimiento con todos y para todos" Disponible en:


http://www.ecured.cu/index.php/Unity3D. [Consulta: 6 Junio 2012].

[39] Unity. Technologies, "Unity". Disponible en: http://unity3d.com/unity/editor/.


[Consulta: 6 Junio 2012].

[40] "BIOPAC Systems, Inc.". Disponible en: http://www.biopac.com/head-mounted-


display. [Consulta: 6 Junio 2012].

[41] "What is a CAVE?". Disponible en: http://www.sv.vt.edu/future/vt-cave/whatis/.


[Consulta: 6 Junio 2012].

[42] Sony, "SONY - make.believe". Disponible en:

84
REFERENCIAS

http://www.sony.es/hub/auriculares/10/auriculares-entretenimiento--casa. [Consulta:
6 Junio 2012].

[43] "5DT Fifth Dimension Technologies". Disponible en:


http://www.5dt.com/products/pdataglove_wirelesskit.html. [Consulta: 6 Junio 2012].

[44] "Technoreeze". Disponible en: http://www.technoreeze.com/2011/06/17/realidad-


virtual-en-los-sentidos-del-gusto-y-el-olfato/. [Consulta: 6 Junio 2012].

[45] Sensable, "Sensable - Products & Services". Disponible en:


http://www.sensable.com/phantom-premium-1-5.htm. [Consulta: 6 Junio 2012].

[46] C. Woodford, "ExplainThatStuff", 23 Agosto 2011. Disponible en:


http://www.explainthatstuff.com/virtualreality.html. [Consulta: 6 Junio 2012].

[47] M. Solar and E. Ducoing, "Entrenador virtual de fibrobroncoscopia de bajo costo para
enseñanza", Revista Médica de Chile, Vol. 139, nº 9, pp. 1169-1175, 2011.

[48] B. O. Rothbaum, A. Garcia and A. O. Rothbaum, "Tratamiento de los transtornos de


ansiedad con terapia de exposición a realidad virtual", Revista de Psiquiatría y Salud
Mental, 2011.

[49] I. Sánchez, J. Hernández, E. Sucar and R. S. Leder, "Actividades simuladas de la vida


diaria para rehabilitación motora del miembro superior en pacientes con enfermedad
vascular cerebral", Archivos de Neurociencias (México), Vol. 14, nº 4, p. 237-242,
2009.

[50] J. Gutiérrez, I. Alsina, C. Carvallo, A. Letosa and E. Magallón, "Aplicaciones clínicas


de la realidad virtual en el ámbito escolar", C. Med. Psicosom, nº 82, p. 32-51, 2007.

[51] Emotiv, "Emotiv Fórum Topic sobre el procesamiento interno del EPOC", 12
Diciembre 2009. Disponible en:
http://emotiv.com/forum/messages/forum12/topic527/message2946/?phrase_id=1082
74#message2946. [Consulta: 6 Junio 2012].

[52] J. C. Quinche and F. L. González, "Entornos Virtuales 3D, Alternativa Pedagógica


para el Fomento del Aprendizaje Colaborativo y Gestión del Conocimiento en
Uniminuto", Formacion Universitaria, Vol. 4, nº 2, p. 45'54, 2011.

[53] F. E. Leon, E. Bayona and J. Bayona, "Neurorrehabilitación La otra revolución del


siglo XXI", ACTA MÉDICA COLOMBIANA, V1ol. 34, nº 2, pp. 88-92, 2009.

85
AP[ENDICE A

APÉNDICE A
ESPECIFICACIONES TÉCNICAS DE LA ICC

A continuación se detallan las especificaciones del hardware utilizado para el desarrollo


del sistema ICC. Sin embargo, cabe mencionar que la interfaz, puede ser implementado en
equipos de computo que cuenten con las características mencionadas en la sección 5.5.

A.1 ESPECIFICACIONES TÉCNICAS DEL DISPOSITIVO EPOC

A continuación se encuentran las especificaciones técnicas del dispositivo EPOC


de la empresa Emotiv:

Numero de Canales o Electrodos 14 activos y 2 (CMS/DRL) de referencia


AF3, AF4, F3, F4, F7, F8, FC5, FC6, P3
Nombre de los canales (S.I. 10-20)
(CMS), P4 (DRL), P7, P8, T7, T8, O1, O2
Muestreo ~128Hz a través del SDK y 2048Hz interno
Ancho de banda 0.2 - 45Hz, Filtro notch a 50Hz y 60Hz
Conectividad Wireless, 2.4GHz band
Tipo de batería Batería de litio
Duración de la batería Aproximadamente 12 hrs.

A.2 ESPECIFICACIONES TÉCNICAS DEL EQUIPO DE CÓMPUTO

 Dell XPS15
 Procesador Intel® Core™ i7-Q740 a 1.73 GHz)
 Windows® 7 Home Premium Original de 64Bit Service Pack 1
 8GB de RAM Doble Canal Compartido DDR3
 NVIDIA® GeForce® GT 453M 2GB
 2 puertos USB 3.0
 1 puerto USB 2.0 (combo eSATA/powershare)

86
APÉNDICE B
CÓDIGOS FUENTES DE LA APLICACIÓN

En este apéndice se detallan los códigos fuentes de los scripts Epoc.cs y RobotScript.js
que determinan el comportamiento de la aplicación de la ICC desarrollada.

B.1 CÓDIGO FUENTE DEL SCRIPT EPOC.CS

using UnityEngine; public float cambioEje = 0.0f;


using System;
using System.Collections; // Iniciar la comunicacion con el dispositivo
using System.Runtime.InteropServices; EPOC
void Start ()
public class Epoc : MonoBehaviour {
{ Init();
// Importar las funciones de la dll }
[DllImport ("EpocDLL ")] // Esta función es llamada una vez por frame.
private static extern double Init( ); // Las señales de control son actualizadas.
[DllImport ("EpocDLL ")] void Update ()
private static extern double updateEvents(); {
[DllImport ("EpocDLL ")] UpdateEvents();
private static extern int getCogActType();
[DllImport ("EpocDLL ")] AcType = getCogActionType();
private static extern double getActPower();
AcPower = getCogActionPower();
[DllImport ("EpocDLL ")]
cambioEje = Confirm();
private static extern float Confirm();
[DllImport ("EpocDLL ")] SendMessage("Action",AcType);
private static extern double Exit(); SendMessage("Power",AcPower);
SendMessage("Cambio",cambioEje);
// Definicion de las variable a utilizar
public int AcType = 0; }
public double AcPower = 0.0;

87
AP[ENDICE B

B.2 CÓDIGO FUENTE DEL SCRIPT ROBOTSCRIPT.JS


var base: GameObject; function OnGUI ()
var brazo: GameObject; {
var brazo2: GameObject; GUI.Box (Rect (20, 20, 100, 100),
var proxy: GameObject; "Posición");
GUI.Label (Rect (35, 50, 160, 130), "x : ");
// Posición del efector final del robot GUI.Label (Rect (55, 50, 160, 130), PosX);
var px = 0.0; GUI.Label (Rect (35, 70, 160, 130), "y : ");
var py = 0.0; GUI.Label (Rect (55, 70, 160, 130), PosY);
var pz = 0.0; GUI.Label (Rect (35, 90, 160, 130), "z : ");
GUI.Label (Rect (55, 90, 160, 130), PosZ);
// Área de trabajo
var minimo:Vector3; GUI.Box (Rect (20, 130, 100, 100),
var maximo:Vector3; "Ángulos");
GUI.Label (Rect (35, 160, 160, 130), "Q1:");
// Ángulos de cada uno de los eslabones GUI.Label (Rect (65, 160, 160, 130), Q1);
var q1 = 0.0; GUI.Label (Rect (35, 180, 160, 130), "Q2:");
var q2 = 0.0; GUI.Label (Rect (65, 180, 160, 130), Q2);
var q3 = 0.0; GUI.Label (Rect (35, 200, 160, 130), "Q3:");
var cosq3 = 0.0; GUI.Label (Rect (65, 200, 160, 130), Q3);

// Longitud de los eslabones GUI.Box (Rect (20, 240, 100, 60), "Eje: ");
var r1 = 11; GUI.Label (Rect (65,270, 100, 100),
var r2 = 22; EjeActual);
var r3 = 35; }

/*Variables generales para el desplazamiento // Inicialización de las variables


del robot*/ function Start()
var Pos : float; {
var Desplazamiento : int; Pos = 0.0;
var Magnitud : float; Desplazamiento = 0.0;
var aTrabajo : int; Magnitud = 0.0;
var aTrabajo2 : int; px = 0.0;
var cEje : float; py = 68.0;
var Eje : int; pz = 0.0;
var bC : int; Eje = 1;
var tiempoC : float; cEje = 0.0;
bC = 0;
/*Variables que almacenan los valores de }
posición, ángulos y eje, para desplegarlos en
pantalla*/ /*Indica si el desplazamiento es de avance o
private var PosX : String; retroceso*/
private var PosY : String; function Action (AcType : int)
private var PosZ : String; { Desplazamiento = AcType; }
private var Q1 : String;
private var Q2 : String; // Se obtiene la magnitud del desplazamiento
private var Q3 : String; function Power (AcPower : double)
private var EjeActual : String; { Magnitud = AcPower*0.1; }

// Se indica si se realiza o no un cambio de eje


function Cambio (cambioEje : float)
{ cEje = cambioEje; }
// Función principal
/*Función para desplegar en pantalla la function Update () {
posición del efector final del robot*/ /*Se pregunta por un cambio de eje y se

89
AP[ENDICE B

hacen los cambios correspondientes*/ PosZ = pz.ToString();


if (cEje >= 0.0 && Desplazamiento == 512
&& bC ==0) { // Cinemática inversa de posición
if (Eje < 2) conv = Mathf.PI/180;
Eje = Eje +1; cosq3=Mathf.Clamp(((-px*px-(py-r1)*
else (py-r1)-pz*pz+r2*r2+r3*r3)/(2*r2*r3)),
Eje = 0; -1,1);
bC=1; q1=Mathf.Atan2(pz,px);
tiempoC = Time.time; q3=Mathf.PI-Mathf.Atan2*
} (-Mathf.Sqrt(1-cosq3*cosq3),cosq3);
if(Time.time > tiempoC+10.0f) {
bC=0; if(px>=0) {
} q1=Mathf.Atan2(pz,px);
/*Si se cumple la condición se genera un q2=Mathf.Atan2((py-r1),
avance positivo en el desplazamiento del (Mathf.Sqrt(px*px+pz*pz)))-
robot*/ Mathf.Atan2((r3*Mathf.Sin(q3)),
if (Desplazamiento == 64) { (r2+(r3*Mathf.Cos(q3))));
if(Eje == 0) { px += Magnitud; } }
if(Eje == 1) { py += Magnitud; } else {
if(Eje == 2) { pz += Magnitud; } q1=-Mathf.Atan2(pz,px);
} q2=Mathf.Atan2((py-r1),
/*Si se cumple la condición el robot (-Mathf.Sqrt(px*px+pz*pz)))-
retrocede en su posición*/ Mathf.Atan2((r3*Mathf.Sin(q3)),
if(Desplazamiento == 32) { (r2+(r3*Mathf.Cos(q3))));
if(Eje == 0) { px -= Magnitud; } }
if(Eje == 1) { py -= Magnitud; }
if(Eje == 2) { pz -= Magnitud; } q1/=conv;
} q3/=conv;
// Se limita el desplzamiento del robot q2/=conv;
px=Mathf.Clamp(px,minimo.x,maximo.x);
py=Mathf.Clamp(py,minimo.y,maximo.y); Q1 = q1.ToString();
pz=Mathf.Clamp(pz,minimo.z,maximo.z); Q2 = q2.ToString();
Q3 = q3.ToString();
if (py>= 11) {
aTrabajo = (px*px)+((py-r1)*(py-r1))+ /*Se genera el desplazamiento
(pz*pz)-((r2+r3)*(r2+r3)); correspondiente en cada una de las
aTrabajo2 = (px*px)+((py-r1)*(py-r1))+ articulaciones, de acuerdo a la
(pz*pz)-((r3+r2)*(r3-r2)); cinemática inversa*/
base.transform.localEulerAngles.x = q1;
base.transform.localEulerAngles.y = 90;
// Si el robot se encuentra dentro de su área base.transform.localEulerAngles.z = 0;
de trabajo, se continua desplazando
if (((aTrabajo < 0)||(aTrabajo == 0)) && brazo.transform.localEulerAngles.z=
(aTrabajo2>0)) { q2+90;
proxy.transform.position= brazo.transform.localEulerAngles.x=0;
Vector3(px,py,pz); brazo.transform.localEulerAngles.y=180
;
if (Eje==1) brazo2.transform.localEulerAngles.z=q3;
EjeActual = 'X'; brazo2.transform.localEulerAngles.x=0;
if (Eje==2) brazo2.transform.localEulerAngles.y =0;
EjeActual = 'Y'; }
if (Eje==3) }
EjeActual = 'Z'; }
// Desplegar la posicion en pantalla
PosX = px.ToString();
PosY = py.ToString();

90

También podría gustarte