scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

El objetivo de este proyecto de investigación es el desarrollo de un sistema para controlar un brazo robótico según la intención de movimiento del usuario. El sistema consiste en una interfaz cerebro-computador basada en electroencefalografía, una interfaz gráfica, y por último la comunicación de ésta con el robot para que realice tareas de movimiento hasta el destino deseado por el usuario. Las características atribuidas a la interfaz desarrollada van más allá de la capacidad de producir el fenómeno neurológico necesario para descifrar de él la intención del movimiento del usuario; ya que con el diseño establecido se consigue crear la sensación de profundidad, y además, al realizar un posicionamiento del resto de elementos involucrados en la escena en tiempo real a partir de posiciones relativas, mediante realidad aumentada, se le otorga cierto grado de libertad de movimiento al usuario. El funcionamiento de la aplicación desarrollada se describe a continuación: Desde el punto de vista del usuario. La interfaz gráfica muestra, superpuesto a la captura de vídeo en tiempo real del entorno circundante, un mallado a modo de guía para informar al usuario de las posiciones predefinidas existentes en su campo de visión. El usuario se concentra en una posición concreta de las posibles que le son presentadas, y el sistema lleva a cabo una estimulación cromática mediante flashes luminosos de todas las posiciones. Dicha estimulación produce el fenómeno neurológico deseado (el potencial evocado P300, concretamente), que medido y procesado permite decodificar la intención del usuario. Esa intención se transfiere al sistema robótico, y éste realiza el movimiento hasta la posición deseada por el usuario. Desde el punto de vista del sistema robótico. La interfaz gráfica muestra, superpuesto nuevamente a la captura en tiempo real del entorno, el mallado, pero en esta ocasión, desde la perspectiva del propio robot. Por tanto, una vez que el sistema le comunica la posición, el movimiento del robot puede entenderse como un movimiento hacia la posición de los cubos determinada por la posición del usuario respecto a él. En este documento queda reflejada la realización de este proyecto, englobando todas las etapas del mismo, desde la idea inicial hasta la finalización, pasando por todas las fases intermedias tales como diseño y desarrollo. Noé Martínez, Raquel; Mínguez Zafra, Javier

Full text

Proyecto Final de Carrera Ingenier´ıa Inform´atica Curso 2010-2011 Desarrollo de una interfaz gr´afica cerebro-computador para el movimiento de una pr´otesis rob´otica con actividad mental Raquel No´e Mart´ınez Marzo de 2011 Director: Javier M´ınguez Zafra Codirector: Luis Montesano del Campo Departamento de Inform´atica e Ingenier´ıa de Sistemas Centro Polit´ecnico Superior Universidad de Zaragoza ((There is an objective reality out there, but we view it through the spectacles of our beliefs, attitudes, and values. )) David G. Myers, Social Psychology Agradecimientos ((Your friend is the man who knows all about you, and still likes you)) Elbert Hubbard Nunca es f´acil escuchar, sin perder la sonrisa ni dispersar la atenci´on, cuando no entiendes nada de lo que te est´a contando. Nunca es f´acil aguantar los cambios de humor y los desplantes, cuando tras el d´ıa entero fuera de casa llega arremetiendo contra todo lo que le rodea. Nunca es f´acil seguir alentando, cuando ves la imagen de la derrota y el des´animo en su cara. Nunca es f´acil aguantar siempre los mismos agobios, cuando piensas que al final todo se consigue y parece no querer escucharte. Nunca es f´acil ayudar a pensar cuando no se sabe ni sobre qu´e hay que pensar. Nunca es f´acil seguir explicando un razonamiento sin perder la compostura ni la paciencia, cuando lo has hecho una y otra vez y se sigue en el mismo punto. Nunca es f´acil... Nunca es f´acil comprender a un ingeniero... Por todo esto que han sabido hacer conmigo, simplemente, gracias. v Desarrollo de una interfaz gr´afica cerebro-computador para el movimiento de una pr´otesis rob´otica con actividad mental RESUMEN El objetivo de este proyecto de investigaci´on es el desarrollo de un sistema para controlar un brazo rob´otico seg´un la intenci´on de movimiento del usuario. El sistema consiste en una interfaz cerebro-computador basada en electroencefalograf´ıa, una interfaz gr´afica, y por ´ultimo la comunicaci´on de ´esta con el robot para que realice tareas de movimiento hasta el destino deseado por el usuario. Las caracter´ısticas atribuidas a la interfaz desarrollada van m´as all´a de la capacidad de producir el fen´omeno neurol´ogico necesario para descifrar de ´el la intenci´on del movimiento del usuario; ya que con el dise˜no establecido se consigue crear la sensaci´on de profundidad, y adem´as, al realizar un posicionamiento del resto de elementos involucrados en la escena en tiempo real a partir de posiciones relativas, mediante realidad aumentada, se le otorga cierto grado de libertad de movimiento al usuario. El funcionamiento de la aplicaci´on desarrollada se describe a continuaci´on: Desde el punto de vista del usuario. La interfaz gr´afica muestra, superpuesto a la captura de v´ıdeo en tiempo real del entorno circundante, un mallado a modo de gu´ıa para informar al usuario de las posiciones predefinidas existentes en su campo de visi´on. El usuario se concentra en una posici´on concreta de las posibles que le son presentadas, y el sistema lleva a cabo una estimulaci´on crom´atica mediante flashes luminosos de todas las posiciones. Dicha estimulaci´on produce el fen´omeno neurol´ogico deseado (el potencial evocado P300, concretamente), que medido y procesado permite decodificar la intenci´on del usuario. Esa intenci´on se transfiere al sistema rob´otico, y ´este realiza el movimiento hasta la posici´on deseada por el usuario. Desde el punto de vista del sistema rob´otico. La interfaz gr´afica muestra, superpuesto nuevamente a la captura en tiempo real del entorno, el mallado, pero en esta ocasi´on, desde la perspectiva del propio robot. Por tanto, una vez que el sistema le comunica la posici´on, el movimiento del robot puede entenderse como un movimiento hacia la posici´on de los cubos determinada por la posici´on del usuario respecto a ´el. En este documento queda reflejada la realizaci´on de este proyecto, englobando todas las etapas del mismo, desde la idea inicial hasta la finalizaci´on, pasando por todas las fases intermedias tales como dise˜no y desarrollo. vii ´ Indice 1. Introducci´on 1 1.1. Contexto..................................... 1 1.2. Motivaci´on y trabajo relacionado . . . . . . . . . . . . . . . . . . . . . . . 1 1.3. Alcancedelproyecto .............................. 3 1.4. Estructura del documento . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Dise˜no del sistema 6 2.1. Interfazgr´afica(GUI).............................. 6 2.1.1. Sistema de referencia . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2. Paradigma de estimulaci´on visual . . . . . . . . . . . . . . . . . . . 7 2.2. Posicionamiento en la escena . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1. Previo .................................. 14 2.2.2. Localizaci´on............................... 14 2.2.3. Limitaciones en la “libertad”de movimiento . . . . . . . . . . . . . 26 2.3. Implementaci´on................................. 28 3. Integraci´on 30 3.1. Sistema de comunicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2. Interfaz Hombre-m´aquina . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.1. Protocolo neurofisiol´ogico . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.2. Adquisici´on de datos . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.3. Modificaciones necesarias . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2.4. Comunicaci´on.............................. 34 3.3. Integraci´on GUI-ROBOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.1. Sistema rob´otico. Infraestructura . . . . . . . . . . . . . . . . . . . 35 3.3.2. Limitaciones impuestas . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.3. Comunicaci´on.............................. 40 4. Validaci´on 41 4.1. Evaluaci´on de la precisi´on en la estimaci´on de la posici´on . . . . . . . . . . 41 4.1.1. Pruebasaisladas ............................ 41 4.1.2. Prueba de larga duraci´on . . . . . . . . . . . . . . . . . . . . . . . . 42 4.1.3. Modificaciones posteriores . . . . . . . . . . . . . . . . . . . . . . . 42 ix F.1.Arquitectura...................................147 F.2.Desarrollo ....................................148 F.3. Sistema de coordenadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 F.4.Funcionamiento.................................150 F.5. Patrones de calibraci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 F.6. Paso 1 calibrado c´amaras: puntos . . . . . . . . . . . . . . . . . . . . . . . 152 F.7. Paso 1 calibrado c´amaras: resultado . . . . . . . . . . . . . . . . . . . . . . 152 F.8. Paso 2 calibrado c´amaras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 F.9. Paso 2 calibrado c´amaras: l´ıneas . . . . . . . . . . . . . . . . . . . . . . . . 153 F.10.Marcadores ...................................155 F.11.patt.sample1...................................156 F.12.Marcador y objeto virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 F.13.Cat´alogo de marcadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 F.14.Estudiomarcadores...............................158 F.15.Influenciadistancia...............................159 xvi ´ Indice de tablas 3.1. L´ımitesdelrobot ................................ 39 B.1. comparativa diferentes modelos Virtual Vision . . . . . . . . . . . . . . . . 73 xvii 1. Introducci´on ((Todo lo que puedas imaginar es real.)) Pablo Picasso 1.1. Contexto Este proyecto fin de carrera se ha realizado en el Centro Polit´ecnico Superior en el departamento de Inform´atica e Ingenier´ıa de Sistemas de la Universidad de Zaragoza, en concreto, con el grupo de Rob´otica, Percepci´on y Tiempo Real (RoPeRT). El trabajo desarrollado supone una propuesta que combina varias l´ıneas de investigaci´on tanto en el campo de las Interfaces Cerebro Computador, como en el campo de la Visi´on por Computador. 1.2. Motivaci´on y trabajo relacionado Una de las aplicaciones rob´oticas con mayor potencial de impacto en la sociedad es aquella destinada a suplir o aumentar capacidades de personas, por ejemplo, con discapacidades f´ısicas o mentales, as´ı como aquellas destinadas a rehabilitaci´on y recuperaci´on de funciones perdidas. El desarrollo de sistemas rob´oticos que cumplan estas funciones no s´olo mejora la calidad de vida de las personas necesitadas y de su entorno, sino que tambi´en tendr´a una importante influencia en variables socio-econ´omicas asociadas a estas dependencias. En este contexto, las Interfaces Cerebro-Computador (ICC) son sistemas que permiten traducir en tiempo real la actividad el´ectrica cerebral en comandos para controlar dispositivos. No hacen uso de actividad muscular, y por tanto, pueden ser utilizadas por personas con deficiencias neuromusculares severas, como la esclerosis lateral amiotr´ofica o el infarto cerebral. Gran parte del trabajo relacionado con la aplicaci´on de esta tecnolog´ıa al control de pr´otesis rob´oticas se ha centrado en el uso de t´ecnicas invasivas para recoger la actividad cerebral y han sido probadas en animales. Dadas las fuertes barreras ´eticas y morales que presentan estas t´ecnicas, los m´etodos no invasivos, aqu´ellos que no requieren inter- 1 1. Introducci´on 1.2 Motivaci´on y trabajo relacionado venci´on quir´urgica como el electroencefalograma (EEG1), han experimentado un impulso importante en los ´ultimos a˜nos. En la actualidad, existen varios prototipos de ICC basados en EEG para el control de sillas de ruedas el´ectricas [1] o para el control de robots m´oviles de telepresencia [2]. Sin embargo, a d´ıa de hoy, no existen sistemas para el control de pr´otesis de brazo capaces de realizar tareas de manipulaci´on de forma funcional. Actualmente existe un trabajo relacionado con el control de una pr´otesis mediante una t´ecnica no invasiva que consiste en una mano prot´esica que realiza dos movimientos, abrir y cerrar [3]. En este proyecto se ha desarrollado un sistema para controlar una pr´otesis de brazo rob´otica seg´un la intenci´on del usuario. La aplicaci´on desarrollada consiste en una Interfaz Cerebro-Computador basada en EEG con un protocolo de control centrado en el potencial evocado P3002, una interfaz gr´afica que mediante realidad aumentada realiza el posicionamiento en escena de los elementos involucrados, y por ´ultimo, la comunicaci´on de ´esta con el sistema rob´otico para que ejecute el movimiento hasta el destino deseado por el usuario. A muy alto nivel, el funcionamiento del sistema es el siguiente: 1. La interfaz gr´afica muestra, superpuesto a la captura de v´ıdeo en tiempo real, un mallado a modo de gu´ıa para informar al usuario de las posiciones predefinidas existentes en su campo de visi´on. 2. El usuario se concentra en una posici´on determinada de las ofertadas, y el sistema realiza una estimulaci´on crom´atica mediante flashes luminosos de todas las posiciones. 3. Ante la estimulaci´on de la posici´on deseada, se produce el fen´omeno neurol´ogico buscado (el potencial evocado P300, concretamente), que medido y procesado permite decodificar la intenci´on del usuario. 4. Esa intenci´on se transfiere al sistema rob´otico, y ´este realiza (de manera aut´onoma) el movimiento hasta la posici´on deseada por el usuario. 1ElectroEncephaloGraph 2Positive 300 2 1. Introducci´on 1.3 Alcance del proyecto 1.3. Alcance del proyecto El principal objetivo del presente proyecto consiste en el dise˜no, desarrollo y validaci´on de una interfaz gr´afica que permita el movimiento, en las tres coordenadas del espacio, de una pr´otesis rob´otica mediante actividad mental. Para ello, las se˜nales el´ectricas del cerebro obtenidas a partir del registro del electroencefalograma (EEG) se analizan mediante t´ecnicas de Interfaz Cerebro-Computador (Brain Computer Interface, BCI), convirtiendo las intenciones del usuario en comandos de movimiento capaces de manejar el sistema rob´otico. Los objetivos particulares en este proyecto son: Dise˜no de una interfaz gr´afica que permita al usuario una f´acil distinci´on entre las regiones del espacio propuestas. Posicionamiento de los elementos en escena a trav´es de c´amaras, mediante transformaciones relativas entre ellos, para obtener una transformaci´on global del entorno desarrollado haci´endolo conocido en todo momento. Validaci´on de la plataforma en cuanto al funcionamiento esperado. Integraci´on de la interfaz gr´afica con el sistema rob´otico y la plataforma BCI2000. Validaci´on del sistema total dise˜nado con un usuario a modo de prueba de concepto, realizando validaciones de la integraci´on entre BCI2000 y la interfaz gr´afica y de la integraci´on entre el robot y la interfaz gr´afica. Y una ´ultima validaci´on del sistema completo no realizada por encontrar problemas (detallados en apartados sucesivos) con la validaci´on anterior entre el robot y la interfaz gr´afica. 3 1. Introducci´on 1.3 Alcance del proyecto Debido a que el sistema total realizado incluye partes desarrolladas ´ıntegramente para este proyecto fin de carrera y partes existentes sobre las cuales tan s´olo se ha dise˜nado su integraci´on en el conjunto, en la figura 1.1, se detalla la naturaleza de cada una de dichas partes involucradas en el proyecto. Aquellas desarrolladas en su totalidad para este proyecto se se˜nalan en color rojo; las partes existentes y utilizadas sin modificaci´on interna se se˜nalan en verde; y las partes dise˜nadas para la integraci´on de los elementos ya desarrollados al proyecto se se˜nalan en azul. Figura 1.1: Partes que integran el proyecto 4 1. Introducci´on 1.4 Estructura del documento 1.4. Estructura del documento El presente documento consta de seis cap´ıtulos. En este primer cap´ıtulo se encuentra la introducci´on. El cap´ıtulo 2 est´a destinado al dise˜no del sistema, donde se detalla cada una de las partes que integran el sistema desarrollado. La integraci´on del sistema completo, interfaz gr´afica, plataforma BCI2000 y sistema rob´otico, se explica en el cap´ıtulo 3. En el cap´ıtulo 4 se encuentra la evaluaci´on y validaci´on de cada una de las partes. En el cap´ıtulo 5 se describen las pruebas de validaci´on de la integraci´on de la interfaz gr´afica con la plataforma BCI2000 y el sistema rob´otico por separado. Y, por ´ultimo, el cap´ıtulo 6, presenta las conclusiones obtenidas tras el trabajo realizado en el proyecto y las posibles l´ıneas de trabajo futuro sobre el mismo. Adem´as, se incluyen a modo de complementaci´on del trabajo desarrollado, seis anexos. En el primero de ellos, anexo A, se describe el proceso evolutivo seguido por el proyecto. En el anexo B, se realiza una definici´on de Realidad Virtual y Realidad Aumentada y se presenta un estudio acerca de las diferentes gafas que podr´ıan ser un sustituto para el soporte actual de la interfaz, la pantalla. A lo largo del anexo C, se pretende dar una visi´on general de las Interfaces Cerebro-Computador en aquellos aspectos relacionados directamente con este proyecto, as´ı como una descripci´on de las dos herramientas utilizadas para el tratamiento de se˜nales cerebrales. Por su parte, en el anexo D, se profundiza en todos aquellos detalles referentes a la definici´on de la apariencia definitiva de la interfaz gr´afica. El anexo E presenta todos aquellos resultados derivados de las pruebas realizadas sobre el sistema. Y por ´ultimo, en el anexo F, se realiza una descripci´on m´as amplia de la herramienta ARToolKit, una de las partes esenciales en la implementaci´on. 5 2. Dise˜no del sistema En este cap´ıtulo se describen las diferentes partes que integran el proyecto. En la secci´on 2.1 se detalla la interfaz gr´afica, y en la secci´on 2.2, se explica todo lo relacionado con el posicionamiento en la escena de los diferentes elementos involucrados. 2.1. Interfaz gr´afica (GUI) Para establecer el dise˜no de la interfaz gr´afica a desarrollar hay que tener presente las principales pinceladas de su objetivo final, aunque dicho objetivo se va a ir explicando y reafirmando a medida que se avance en la explicaci´on del dise˜no e integraci´on del sistema completo. La interfaz gr´afica debe ser capaz de mostrar est´ımulos visuales en determinados instantes de tiempo, los cuales deben provocar en el sujeto el fen´omeno neurol´ogico deseado (el potencial evocado P300). Ante este hecho se ve justificada la definici´on de un paradigma de estimulaci´on (apartado 2.1.2); ya que el potencial evocado mencionado se obtiene a partir de paradigmas que combinan est´ımulos aleatorios: est´ımulos frecuentes e infrecuentes. Adem´as, es necesario establecer una serie de requisitos adicionales que dicha interfaz debe cumplir: intuitiva para el usuario, es decir, f´acil de utilizar; y claridad inequ´ıvoca en la sensaci´on de profundidad para el usuario, ya que ´esta es la caracter´ıstica m´as importante, junto con la libertad de movimiento otorgada al usuario al realizar el posicionamiento en escena en tiempo real, y a partir de localizaciones relativas, mediante realidad aumentada. En los sucesivos apartados, se detalla cada una de las partes que componen dicha interfaz, as´ı como todos los cambios realizados durante el proceso para llegar a cumplir esos requisitos establecidos anteriormente. En primer lugar, se establece el sistema de referencia utilizado (apartado 2.1.1), y a continuaci´on, se explica el paradigma de estimulaci´on seguido para interaccionar con el usuario (apartado 2.1.2), paradigma que determina todo lo relacionado con la apariencia de la interfaz. 6 2. Dise˜no del sistema 2.1 Interfaz gr´afica (GUI) 2.1.1. Sistema de referencia Dado que el mundo real en el que nos desenvolvemos es tridimensional, din´amico y los cambios que se producen en ´el son causados por nuestros propios movimientos y/o por los movimientos de otros objetos o actores, es necesario designar los puntos en dicho espacio tridimensional. Para ello el sistema de referencia utilizado es el sistema cartesiano (x,y) extendido hacia la tercera dimensi´on a˜nadiendo una nueva coordenada z, sistema cartesiano tridimensional. En la figura 2.1, se representa la orientaci´on establecida de los ejes de coordenadas en el sistema de referencia cartesiano tridimensional. As´ı mismo, el tipo de estructura de referencia usado para los sentidos positivos de los ejes est´a basado en la regla de la mano derecha (secci´on D.2). Todas los sistemas de coordenadas a los que se haga referencia a lo largo del presente documento se suponen siguiendo dicha regla. Figura 2.1: Sistema de coordenadas cartesianas tridimensional 2.1.2. Paradigma de estimulaci´on visual Debido a la dificultad que supone la incorporaci´on de una tercera dimensi´on (profundidad) en un sistema como el desarrollado, y a que la definici´on de dicho paradigma de estimulaci´on visual es una de las partes fundamentales en este proyecto, (la interfaz gr´afica depende por completo de sus caracter´ısticas), su establecimiento ha experimentado numerosos cambios. A continuaci´on se presenta un resumen de las diferentes alternativas propuestas, considerando varios puntos clave: forma, color y disposici´on de dicha forma en el espacio (detalladas en su totalidad en la secci´on D.2) y una descripci´on m´as en profundidad de la opci´on elegida. En algunas de las aplicaciones desarrolladas hasta el momento basadas en Interfaz Cerebro-Computador [1] [2], utilizan como elemento de atenci´on el punto, situado en el espacio mediante dos coordenadas (x,y), pero al tener que introducir la sensaci´on de profundidad, la tercera dimensi´on (coordenada z), dicho elemento de atenci´on debe poseer tambi´en esa caracter´ıstica, por lo que es necesario utilizar un volumen. La definici´on de dicho volumen (el cubo); la dotaci´on de un color caracter´ıstico y la definici´on de las diferentes posiciones alcanzables por ´este; y, por ´ultimo, la incorporaci´on de una gu´ıa semitransparente (el mallado), para facilitar al usuario la ubicaci´on de las diferentes posiciones ofertadas, suponen la primera fase (ver apartado D.2.1.1) en el establecimiento del paradigma de estimulaci´on. 7 2. Dise˜no del sistema 2.2 Posicionamiento en la escena 2.2.1. Previo Calibrado de c´amaras Para poder establecer una correspondencia coherente entre los puntos de una imagen real tomada por una c´amara y la realidad, es decir para obtener un correcto posicionamiento en la escena, necesitamos que las c´amaras con las que tomamos las im´agenes est´en correctamente calibradas. Calibrado, se denomina al proceso de estimaci´on de los par´ametros intr´ınsecos y extr´ınsecos de una c´amara. En este proyecto se ha seguido la calibraci´on en dos pasos ya que ofrece mayor exactitud para medidas en 3D (una explicaci´on m´as detallada sobre el calibrado de las c´amaras puede encontrarse en la secci´on F.4). Elecci´on patr´on marcador Ante la variedad de marcadores presentados por ARToolKit, se realiza un estudio comparativo (ver apartado F.5.1.2), con el fin de elegir aquel que presente m´as estabilidad conforme se aumenta la distancia a ´el. El patr´on elegido se muestra en la figura 2.6. Figura 2.6: Patr´on utilizado 2.2.2. Localizaci´on Para relacionar el sistema de coordenadas del usuario con el sistema de coordenadas del robot y lograr as´ı la sincronizaci´on de ambos mundos, para una exitosa conclusi´on del movimiento del brazo rob´otico hasta la posici´on deseada por el usuario, es necesario conocer la posici´on del mallado respecto al robot. Dicha localizaci´on se lleva a cabo a trav´es de las dos c´amaras existentes en el sistema, una asociada al usuario y otra asociada al robot, y del marcador que act´ua de referencia base para el sistema de transformaciones necesario para establecer las localizaciones relativas. La notaci´on utilizada [4] durante la explicaci´on es como sigue: aTb→d´onde se encuentra B respecto a A aTb=  R11 R12 R13 Tx R21 R22 R23 Ty R31 R32 R33 Tz  Una explicaci´on m´as detallada de dicha matriz se encuentra en el apartado F.5.2. aHb→transformaci´on homog´enea relativa de B respecto de A →localizaci´on (orientaci´on y posici´on) de B respecto de A →movimiento (rotaci´on y traslaci´on) de llevar A hasta B 14 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Una matriz de transformaci´on homog´enea para un espacio tridimensional y en el contexto de la rob´otica, se representa como sigue, siendo [n o a] una terna ortonormal que representa la orientaci´on y pel vector que representa la posici´on. aHb=   nxoxaxpx nyoyaypy nzozazpz 0 0 0 1   =n o a p 0 0 0 1=R p 0 1 donde: aHb=    0 0 0 1     =    px py pz 1     =OrigenbaHb=    1 0 0 0     =    nx ny nz 0     = Direcci´on xb aHb=    0 1 0 0     =    ox oy oz 0     = Direcci´on ybaHb=    0 0 1 0     =    ax ay az 0     = Direcci´on zb siendo: R=n o a|R|= 1 Debe se˜nalarse, tambi´en, la inversa de una matriz homog´enea: aH−1 b=    nxnynz−n−Tp oxoyoz−o−Tp axayaz−a−Tp 0 0 0 1     =n o a p 0 0 0 1 Y teniendo en cuenta el significado geom´etrico de una matriz de transformaci´on, se deduce que los vectores fila de la submatriz de rotaci´on de la matriz aHb, representan los ejes principales del sistema de coordenadas de referencia. Los elementos posicionados sin realizar ninguna transformaci´on ser´ıan, en primer lugar, la c´amara asociada al usuario ya que, como se ha comentado con anterioridad, se establece como origen de coordenadas del mundo. Y para el usuario, la posici´on del mallado, que se corresponde con la calculada respecto a su c´amara asociada. Dicha posici´on viene establecida por definici´on, es fija en todo momento respecto al usuario (respecto al origen de coordenadas de la aplicaci´on). La representaci´on gr´afica de la transformaci´on objetivo en el proceso seguido se muestra en el gr´afico de transformaci´on de la figura 2.7. Adem´as, cualquier otra relaci´on puede ser obtenida f´acilmente a partir del gr´afico. Para ello se va desde el nodo inicial al final multiplicando las matrices de transformaci´on 15 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.7: Gr´afico de transformaci´on correspondiente a los arcos del gr´afico, y considerando que si se recorren ´estos en el sentido inverso a las flechas debe utilizarse una matriz inversa. A continuaci´on se explica el procedimiento seguido para las dos c´amaras: Localizaci´on del mallado respecto a la c´amara 1 Como se ha mencionado, calcular la posici´on del mallado respecto al usuario es lo mismo que calcular la localizaci´on del mallado respecto a la c´amara asociada al usuario (c´amara C1). Transformaci´on desde el eje de coordenadas de la c´amara C1 hacia el eje de coordenadas del mallado, es decir, traslaci´on del origen de coordenadas de la aplicaci´on (0,0,0), situado en la c´amara C1, hasta la posici´on designada para el mallado, en concreto a una distancia de 450 mm. (ver figura 2.4). Localizaci´on del mallado respecto a la c´amara 2 Para calcular la transformaci´on final existente entre el mallado y la c´amara 2, se han seguido una serie de transformaciones asociadas a localizaciones intermedias que son explicadas a continuaci´on. En la figura 2.8 se visualizan las transformaciones objetivo, desde ambas c´amaras al mallado. 16 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.8: G respecto C1 →C1HG G respecto C2 →C2HG 17 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Por tanto, la concatenaci´on de transformaciones necesaria para calcular la localizaci´on del mallado respecto a la c´amara 2, asociada al robot, empezando por el objetivo a conseguir y en pasos sucesivos explicando c´omo se obtiene cada una de las transformaciones necesarias, quedar´ıa como sigue, siendo:      Ggrid (mallado) C1 c´amara usuario C2 c´amara robot      Mmarker (marcador) Htransformaci´on homog´enea Ttransformaci´on no-homog´enea C2HG=C2HC1·C1HG(figura 2.9)                                                      C2HC1=C2HM·MHC1(figura 2.10)                                    C2HM=H(C2TM)1(figura 2.11) C2TM= C2 detecta M (ARToolKit)2 MHC1=H([C1HM]−1)1(figura 2.12)      C1HM=H(C1TM)1(figura 2.13) C1TM= C1 detecta M (ARToolKit)2 C1HG(figura 2.8) 1Referente a OpenGL.2Referente a ARToolKit. 1Transformaci´on de matriz no-homog´enea utilizada por ARToolKit, a matriz homog´enea utilizada por OpenGL 2Detecci´on de marcadores de ARToolKit, explicada con m´as detalle en el apartado F.5.1 18 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.9: C2HG=C2HC1·C1HG 19 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.10: C2HC1=C2HM·MHC1 20 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.11: C2HM=H(C2TM) C2TM= C2 detecta M (ARToolKit) 21 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.12: MHC1= [C1HM]−1 22 2. Dise˜no del sistema 2.2 Posicionamiento en la escena Figura 2.13: C1HM=H(C1TM) C1TM= C1 detecta M (ARToolKit) 23 3. Integraci´on En este cap´ıtulo se describe el sistema de comunicaciones y las modificaciones pertinentes introducidas al realizar tanto la integraci´on de la interfaz hombre-m´aquina (secci´on 3.2) como la integraci´on entre la interfaz gr´afica y el robot (secci´on 3.3). En la figura 3.1 queda reflejado el esquema general con los diferentes componentes. Figura 3.1: Esquema general de la aplicaci´on desarrollada 30 3. Integraci´on 3.1 Sistema de comunicaciones 3.1. Sistema de comunicaciones El sistema de comunicaciones est´a compuesto por dos enlaces cliente-servidor. En uno la plataforma BCI2000 act´ua como entidad cliente y la interfaz gr´afica act´ua como entidad servidor y en el otro la interfaz gr´afica act´ua como entidad cliente y el robot como entidad servidor. El elemento com´un a ambos enlaces es la interfaz gr´afica por ser la parte desarrollada ´ıntegramente en este proyecto y as´ı evitar, en la medida de lo posible, modificaciones internas de las partes ya existentes incorporadas al proyecto. La conexi´on entre estas entidades est´a basada en el paradigma cliente/servidor sobre TCP/IP mediante sockets. La plataforma de sockets utilizada es de prop´osito general, realizando una adaptaci´on de la misma a las necesidades del proyecto, en cuanto a la estructura y contenido de los mensajes empleados en la comunicaci´on. El dise˜no realizado para cada una de las comunicaciones se detalla en su apartado correspondiente. Apartado 3.2.4 para la interfaz hombre-m´aquina y apartado 3.3.3 para la pr´otesis rob´otica. 3.2. Interfaz Hombre-m´aquina En esta secci´on se describen los componentes del sistema de interacci´on hombre-m´aquina. En primer lugar, en el apartado 3.2.1, el protocolo neurofisiol´ogico seguido y la se˜nal cerebral objeto de estudio. A continuaci´on, en el apartado 3.2.2, el sistema de interfaz cerebro-computador que se encarga de la adquisici´on, procesamiento y tratamiento de resultados. Y por ´ultimo, la interfaz gr´afica, que por su relevancia en este proyecto se explica en el apartado 2.1. La interfaz gr´afica est´a sincronizada con el m´odulo de aplicaci´on de la herramienta BCI2000 y su funci´on es, como se ha comentado con anterioridad, la de mostrar est´ımulos visuales en determinados instantes de tiempo marcados por el sistema de eventos de dicha herramienta. Estos est´ımulos deben provocar en el sujeto el potencial evocado P300. 3.2.1. Protocolo neurofisiol´ogico Hablando de t´ecnicas de adquisici´on de se˜nales cerebrales, podemos definir b´asicamente dos modalidades: las t´ecnicas invasivas, y las no invasivas. En el primer caso, la implantaci´on de los electrodos en la corteza cerebral, o directamente en el cerebro, se realiza mediante intervenci´on quir´urgica, por lo que a pesar de la nitidez de la se˜nal obtenida, ventaja fundamental de este tipo de t´ecnicas, no debemos dejar de lado las consideraciones ´eticas que supone su utilizaci´on. Por contra, en las t´ecnicas no invasivas no se requiere ning´un tipo de intervenci´on en el paciente. El m´etodo m´as utilizado, por accesibilidad econ´omica, facilidad de montaje y 31 3. Integraci´on 3.2 Interfaz Hombre-m´aquina adaptaci´on sin grandes requerimientos a cualquier laboratorio, es la electroencefalograf´ıa (EEG). Como ya se ha comentado en la introducci´on, tras una breve argumentaci´on, es esta t´ecnica la utilizada para la adquisici´on de se˜nales cerebrales (para m´as informaci´on, consultar apartado C.1.1). La infraestructura necesaria para la adquisici´on de se˜nales mediante EEG se centra en un montaje de electrodos situados en unas posiciones determinadas que vienen marcadas por un gorro con orificios gu´ıa. Concretamente consta de 18 electrodos, 16 de ellos destinados a la recogida de la se˜nal (canales), 1 de tierra, y 1 de referencia. Esta disposici´on seguida viene marcada por el Sistema Internacional 10-20 (explicaci´on con m´as detalle en la secci´on C.3). Dichos electrodos est´an conectados a un amplificador, el cual a su vez, se encuentra conectado a un ordenador mediante un cable USB. Para intentar minimizar la p´erdida de informaci´on de las se˜nales objeto de estudio y obtener as´ı la mayor nitidez posible al recoger la actividad cerebral, deben aplicarse unos protocolos de limpieza, montaje y aplicaci´on de geles espec´ıficos (ver secci´on C.4), a fin de reducir todo lo posible la impedancia entre los electrodos y el cuero cabelludo. As´ı mismo, por parte del sujeto, se requiere concentraci´on para evitar, en cuanto est´e en su mano, cualquier tipo de artefacto1(ver apartado C.1.3). Considerando las diferentes caracter´ısticas ofrecidas por EEG, se encuentran diversas se˜nales neurofisiol´ogicas (ver apartado C.1.2) que resultan ´utiles en cuanto a comunicaci´on o control. Para este proyecto, la se˜nal elegida ha sido, dentro de los fen´omenos asociados a alg´un est´ımulo sensorial externo (denominados potenciales evocados), la onda P300, descrita inicialmente por Sutton, et al [5], es un componente positivo de larga latencia de los potenciales evocados que puede provocarse por est´ımulos de diferente naturaleza que afecten a distintos sistemas sensoriales (somest´esico, visual, auditivo). Recibe su nombre por su polaridad positiva y porque su pico o meseta se encuentra en torno a los 300 milisegundos en sujetos adultos j´ovenes tras la aparici´on de un est´ımulo esperado en una secuencia de est´ımulos aleatorios. Sin embargo, dicha latencia al pico m´aximo puede variar, seg´un factores como: la edad del sujeto, la complejidad del paradigma empleado y de la v´ıa sensorial. Esta onda se obtiene a partir de paradigmas que combinan est´ımulos aleatorios: est´ımulos frecuentes e infrecuentes. El sujeto debe atender exclusivamente a la presentaci´on del est´ımulo infrecuente, est´ımulo diana o blanca y contar el n´umero total de veces en que este est´ımulo aparece. En este caso, el sujeto seleccionados es un adulto joven y el paradigma utilizado es un paradigma de estimulaci´on visual (ver apartado 2.1.2), el cual combina est´ımulos luminosos coloridos como est´ımulos diana y ausencia de est´ımulo luminoso como est´ımulo frecuente. En la figura 3.2 se observa un ejemplo de se˜nal P300 obtenida durante la tarea de screening. 1Alteraci´on no deseada en la se˜nal producida por movimientos oculares, musculares... 32 3. Integraci´on 3.2 Interfaz Hombre-m´aquina Figura 3.2: Representaci´on visual de un potencial P300 Este fen´omeno neurol´ogico ser´a utilizado como base en la interacci´on para el sistema BCI. Para m´as informaci´on, como se ha ido se˜nalando a lo largo del apartado, consultar el Anexo C, en el cual se ampl´ıa la informaci´on sobre tecnolog´ıas BCI (adquisici´on, se˜nales neurol´ogicas y artefactos), infraestructura, sistema 10-20 y protocolo de montaje y limpieza. 3.2.2. Adquisici´on de datos Como cualquier sistema de comunicaci´on o control, los sistemas BCI tienen una entrada, como por ejemplo, la actividad electrofisiol´ogica del usuario, una salida (determinados comandos para un dispositivo), componentes que traducen la entrada en la salida, y un protocolo que determina el onset, offset y tiempo de operaci´on [6]. En este proyecto, para la realizaci´on de la adquisici´on de datos ha sido empleado un entorno de c´odigo abierto, BCI2000[7]. BCI2000 es un sistema basado en eventos, compuesto por tres m´odulos principales: adquisici´on, procesado y aplicaci´on, comunicados entre s´ı por TCP/IP. El m´odulo de adquisici´on se encarga de la adquisici´on de la se˜nal cerebral que llega a los electrodos tras ser amplificada. El m´odulo de procesado recibe esa se˜nal y la procesa en busca de un patr´on neurol´ogico concreto (en este proyecto, la se˜nal P300). Y el m´odulo de aplicaci´on se encarga de enviar a la interfaz los est´ımulos a visualizar que tratan de provocar en el usuario el potencial evocado P300. Y un m´odulo adicional que se encarga de la sincronizaci´on entre los anteriores. As´ı mismo, para conseguir un buen rendimiento del sistema, es necesario el uso correcto de m´etodos de aprendizaje. En este caso, la aplicaci´on elegida ha sido P300GUI, script de Matlab que cuenta con un clasificador lineal. La herramienta P300GUI adapta el sistema a un sujeto particular, algo esencial ya que cada persona tiene una actividad cerebral distinta, y por tanto, un potencial P300 distinto ante los est´ımulos. 33 3. Integraci´on 3.2 Interfaz Hombre-m´aquina Antes de la realizaci´on de experimentos en tiempo real (los denominados experimentos online), es necesario el entrenamiento del sistema recogiendo datos de la actividad cerebral de un sujeto en concreto (experimentos offline). Posteriormente se aplica una clasificaci´on lineal de esos datos mediante el m´etodo estad´ıstico SWLDA2, generando una matriz de pesos, par´ametro de entrada de BCI2000, que determina la importancia relativa de cada canal, al determinar la selecci´on deseada del sujeto, determinando el rendimiento del sistema. Se habla de un sistema entrenado o calibrado y listo para la realizaci´on de experimentos online una vez introducida la matriz de pesos en BCI2000 para un sujeto concreto, siempre y cuando haya sido entrenado correctamente. Si se desea m´as informaci´on, puede consultarse el apartado C.5, donde se realiza una descripci´on m´as detallada de ambas herramientas. 3.2.3. Modificaciones necesarias Al realizar la integraci´on con la plataforma BCI2000, se introducen los targets (figura 3.3), empleados para dar feedback al usuario acerca de la selecci´on vaticinada por el clasificador a partir del estudio de su intenci´on de movimiento. Figura 3.3: Targets 3.2.4. Comunicaci´on En este caso como entidad cliente se encuentra la plataforma BCI2000 y como entidad servidor la interfaz gr´afica. La decisi´on de que la interfaz gr´afica sea el servidor se debe a que la aplicaci´on debe mantener una gesti´on de eventos continua y as´ıncrona. Una vez establecida la conexi´on, desde la plataforma BCI2000 se env´ıa a la interfaz gr´afica el est´ımulo a mostrar en cada instante, (un n´umero del 0 al 9 para estimulaci´on, siendo el 0 el correspondiente a la no estimulaci´on y del 1 al 9 cada uno de los posibles planos). Adem´as, una vez que se ha determinado la posici´on deseada por el usuario, se env´ıa a la interfaz un car´acter (explicada su correspondencia en la figura 5.2) para indicar el cubo seleccionado, el target. Para iniciar la estimulaci´on, tanto al inicio como entre secuencias, es necesario el env´ıo de un 0. De esta manera se muestra en primera instancia el mallado as´ı como se indica al usuario el comienzo de la estimulaci´on. 2StepWise Linear Discriminant Analysis 34 3. Integraci´on 3.3 Integraci´on GUI-ROBOT 3.3. Integraci´on GUI-ROBOT En esta secci´on se describe el sistema rob´otico (apartado 3.3.1), las limitaciones que presenta (apartado 3.3.2) y por ´ultimo, su comunicaci´on con la interfaz gr´afica (apartado 3.3.3). 3.3.1. Sistema rob´otico. Infraestructura Un robot sin software no tiene vida, no puede actuar ni percibir. Por ello la inform´atica est´a tan ligada a la rob´otica, ya que dota a los robots de la capacidad de actuar coherentemente con los datos recibidos. Entre 2001 y 2006, la empresa suiza Neuronics, gracias a las continuas investigaciones y al desarrollo, as´ı como a la producci´on y a la comercializaci´on realiz´o el lanzamiento de la serie de productos Katana 100, 200, 300 y 400. En concreto en este proyecto, el modelo usado ha sido el Katana 300 (figura 3.4). Figura 3.4: Brazo rob´otico utilizado El sistema de ejes de coordenadas en el robot est´a dispuesto como puede apreciarse en la figura 3.5 (a). En concreto, los ejes para la base del robot en cuesti´on, pueden verse en la figura 3.5 (b). (a) (b) Figura 3.5: Sistema de coordenadas del robot Incorporando el sistema rob´otico a la interfaz desarrollada, el posicionamiento completo en la escena quede definido en la figura 3.6. 35 3. Integraci´on 3.3 Integraci´on GUI-ROBOT Figura 3.6: Posicionamiento en la escena 3.3.2. Limitaciones impuestas El robot presenta dos limitaciones al integrarlo junto con la interfaz, la situaci´on de su origen de coordenadas, y el espacio de trabajo con el que cuenta al encontrarse situado en una posici´on fija. Origen de coordenadas Debido a que no se puede acceder al origen de coordenadas (0,0,0) del robot por encontrase dentro de su cilindro central, surge la necesidad de una nueva transformaci´on, de la c´amara 2 en el robot: RHC2 Dicha matriz de transformaci´on es fija, obtenida realizando una traslaci´on (expresado en mil´ımetros) RHC2=    1 0 0 120,0 0 1 0 0,0 0 0 1 −45,0 0 0 0 1     y una rotaci´on mediante ´angulos Euler, concretamente en este caso, se usa la convenci´on “ZXZ”: La transformaci´on buscada del sistema del espacio al brazo rob´otico puede lograrse a trav´es de la matriz de transformaci´on R, donde los ´angulos de Euler φ,θyψespecifican la orientaci´on de un sistema de referencia de ejes ortogonales, normalmente m´ovil (la c´amara), respecto a otro sistema de referencia de ejes ortogonales normalmente fijos (el robot), y por tanto act´uan como tres coordenadas generalizadas. 36 3. Integraci´on 3.3 Integraci´on GUI-ROBOT R(φ, θ, ψ) = =Rot(z, φ)·Rot(x, θ)∗Rot(z, ψ) = =    cos φ−sin φ0 0 sin φcos φ0 0 0 0 1 0 0 0 0 1         1 0 0 0 0 cos θ−sin θ0 0 sin θcos θ0 0 0 0 1         cos ψ−sin ψ0 0 sin ψcos ψ0 0 0 0 1 0 0 0 0 1     = =    cos φcos ψ−sin φcos θsin ψ−cos φsin ψ−sin φcos θsin ψsin φsin θ0 sin φcos ψ+ cos φcos θsin ψ−sin φsin ψ+ cos φcos θcos ψ−cos φsin θ0 sin θsin ψsin θcos ψcos θ0 0 0 0 1     Quedando RHC2de la siguiente forma: RHC2=RHC2·R(φ, θ, ψ) De este modo, la transformaci´on desde el eje de coordenadas del robot hacia el eje de coordenadas del mallado resulta: RHG=RHC2·C2HG Quedando el grafo de transformaci´on como muestra la figura 3.7, y el esquema completo de las transformaciones como muestra la figura 3.8 Figura 3.7: Gr´afico completo de transformaci´on 37 3. Integraci´on 3.3 Integraci´on GUI-ROBOT Figura 3.8: Esquema de transformaciones completo 38 3. Integraci´on 3.3 Integraci´on GUI-ROBOT Espacio de trabajo El robot tiene una posici´on fija, al tratarse de un brazo rob´otico industrial. Esto hace que existan posiciones inalcanzables por su propia estructura. Teniendo en cuenta dichas limitaciones, se calculan las posiciones alcanzables y no alcanzables para el robot. Los l´ımites establecidos para el robot pueden verse en la siguiente tabla: zrmin rmax -100 110 630 -50 110 640 0 160 640 50 160 640 100 170 630 150 180 620 200 180 610 250 170 590 300 160 560 350 160 530 400 300 500 450 250 450 Tabla 3.1: L´ımites del robot A cada distancia en el eje z, le corresponde un radio m´ınimo y un radio m´aximo de alcance de acuerdo a la expresi´on: radio (r) = px2+y2 Para valores de z entre dos de los valores de la tabla, para el l´ımite superior se elige el m´aximo de los radios m´ınimos y para el l´ımite inferior, se elige el m´ınimo de los radios m´aximos. Esto traducido para el usuario se realiza mostrando en pantalla aquellas posiciones accesibles con el setup establecido en cuanto a la posici´on del usuario respecto al robot, y aquellas posiciones no accesibles no se muestran, adem´as del mensaje WARNING; un ejemplo de esto puede verse en la figura 3.9, donde no aparecen las posiciones inferiores del mallado por encontrarse fuera del espacio del trabajo del robot. Figura 3.9: Mensaje de informaci´on: Existen cubos inalcanzables 39 5. M´etodos de experimentaci´on 5.1 Introducci´on A Figura 5.1: Montaje realizado en este proyecto. Las posiciones coloreadas en rojo corresponden a los 16 electrodos, la posici´on coloreada en amarillo corresponde al electrodo de tierra y la posici´on coloreada en azul al electrodo de referencia. 46 5. M´etodos de experimentaci´on 5.2 Validaci´on de la interfaz hombre-m´aquina Adem´as, para facilitar la tarea de control, el nombrado de los distintos est´ımulos sigue la disposici´on presentada en la figura 5.2. La correspondencia establecida en cuanto a nomenclatura entre BCI2000 y la interfaz gr´afica es como sigue, el color verde en el teclado representa los cubos situados en las posiciones m´as cercanas (plano xy - 1), el color azul, los cubos situados a media distancia (plano xy - 2) y el color rojo para los situados en las posiciones m´as lejanas (plano xy - 3). Figura 5.2: Correspondencia de nomenclaturas entre BCI2000 y la interfaz gr´afica. 5.2. Validaci´on de la interfaz hombre-m´aquina La prueba a realizar para la validaci´on de este conjunto, para validar la correcta integraci´on, es la tarea de screening, el estudio de la respuesta P300 ante la interfaz gr´afica. En dicha tarea el usuario debe prestar atenci´on a una secuencia de est´ımulos (9 tipos de est´ımulos diferentes, planos luminosos) presentados c´ıclicamente, con el fin de contabilizar la iluminaci´on de cada una de las posiciones predefinidas durante aproximadamente 8 minutos. El tiempo entre est´ımulos 300 ms, la duraci´on del est´ımulo visual 300 ms, y el tiempo entre secuencias 4s. En cada ejecuci´on debe contabilizar un total de 30 apariciones para la posici´on determinada. Una imagen tomada durante la sesi´on de screening puede verse en la figura 5.3. Figura 5.3: Imagen de la sesi´on de screening realizada Los resultados de la realizaci´on de esta primera tarea en cuanto a obtenci´on de P300 son satisfactorios y se explican a continuaci´on. 47 5. M´etodos de experimentaci´on 5.2 Validaci´on de la interfaz hombre-m´aquina En la figura 5.4(a) se muestra la actividad cerebral en los distintos canales, represent´andose los 16 canales en el eje de las ordenadas y el tiempo transcurrido en el eje de las abcisas. Supone una visualizaci´on gr´afica del c´alculo de la medida r21 por cada canal. En este caso concreto, los canales 4, 6, 9 y 10 presentan los valores m´as altos a una latencia de 300ms. En la figura 5.4(b), puede verse el mapa topogr´afico de la distribuci´on de los valores r2sobre la superficie de la cabeza a aproximadamente 300ms. En el l´obulo frontal es el ´area con mayor valor para r2a esa latencia. (a) (b) Figura 5.4: (a) Valores r2, en el intervalo de 0 a 800 ms, para cada canal, tras la aparici´on del est´ımulo objetivo, mostrados sobre escala crom´atica, representando los colores c´alidos las zonas de mayor actividad cerebral, y los fr´ıos las de menor. (b) Mapa topogr´afico En la figura 5.5, en la gr´afica superior, se muestra la representaci´on visual del potencial P300. Concretamente, muestra la actividad el´ectrica registrada en el electrodo FCz, correspondiente al canal 6, cuando no se muestra el est´ımulo en color verde, y cuando el est´ımulo aparece en pantalla en color rojo. En la gr´afica inferior, se muestra la diferencia de los cuadrados (variaci´on de r2de las dos se˜nales anteriores). Se observa un pico importante alrededor de los 300 ms, este pico representa la se˜nal P300. Este promedio observado es el promedio te´orico, siendo siempre inferior en la pr´actica. Figura 5.5: Representaci´on visual del potencial P300 y su rendimiento te´orico 1M´etrica para determinar en cada instante temporal el grado de diferencia entre la se˜nal correspondiente al objetivo y la clase no objetivo, en este caso el potencial evocado P300 48 5. M´etodos de experimentaci´on 5.3 Validaci´on sistema interfaz gr´afica-robot 5.3. Validaci´on sistema interfaz gr´afica-robot Para la validaci´on de la integraci´on realizada entre la interfaz gr´afica y el sistema rob´otico se realizan experimentos sin involucrar la parte de BCI2000, con el ´unico prop´osito de evaluar la posici´on alcanzada por el robot ante una posici´on solicita para alcanzar por la interfaz gr´afica. El setup establecido para dicha prueba se presenta en la figura 5.6. Figura 5.6: Setup establecido para las pruebas de validaci´on con el robot Hay que se˜nalar que se realizaron dos tipos de pruebas, enviando en ambos las mismas secuencias de coordenadas, pero visualizando ventanas diferentes. Debido a que la interfaz env´ıa al robot las coordenadas x,y,z en la c´amara 2 transformadas al sistema de coordenadas del robot mediante la transformaci´on obtenida al realizar un calibrado de dicha c´amara manualmente, la primera prueba que se realiza para validar la correcta integraci´on de la interfaz y el brazo rob´otico se realiza observando lo mostrado en la ventana asociada a la c´amara 2, sin tomar en consideraci´on la visualizaci´on de la ventana del usuario. La posici´on inicial del mallado puede verse en la figura 5.7 (a) (b) (c) Figura 5.7: Visualizaci´on en la c´amara 2 (a) Posici´on inicial que presenta el mallado en esta prueba (b) y (c) Durante la estimulaci´on En la figura 5.8, se observa la posici´on del robot para tres cubos distintos: 49 5. M´etodos de experimentaci´on 5.3 Validaci´on sistema interfaz gr´afica-robot (a) (b) (c) Figura 5.8: Imagen de la sesi´on de validaci´on entre interfaz y sistema rob´otico realizada. Ejecuci´on parcialmente correcta Los resultados observados no son completamente satisfactorios ya que la posici´on alcanzada por el robot est´a desplazada respecto al objetivo, el punto central del cubo alcanzado. Este error, como se ha comentado, viene determinado por la calibraci´on manual de dicha c´amara. La segunda prueba realizada se centraba en la pantalla del usuario, figura 5.9: (a) (b) (c) Figura 5.9: Imagen de la sesi´on de validaci´on entre interfaz y sistema rob´otico realizada. Ejecuci´on parcialmente correcta Los resultados obtenidos presentan errores mayores que los observados en la pantalla de la c´amara del robot, ya que sumado a la calibraci´on manual realizada, con los errores de precisi´on que esto puede introducir, aqu´ı influyen tambi´en las vibraciones e inestabilidades en cuanto a la posici´on proporcionada por la herramienta ARToolKit por lo que en la pantalla del usuario se observa que la posici´on alcanzada por el robot se aleja a´un m´as de la posici´on correcta. Por tanto, puede concluirse la influencia de los errores de precisi´on de la calibraci´on manual de la c´amara 2 en la visualizaci´on en la pantalla asociada a dicha c´amara y en la visualizaci´on en la pantalla del usuario, se suma este error de precisi´on al introducido por la herramienta ARToolKit. 50 5. M´etodos de experimentaci´on 5.4 Validaci´on del sistema completo 5.4. Validaci´on del sistema completo En cuanto a la integraci´on del sistema completo cabe se˜nalar que no se realiza una validaci´on de todo el sistema porque al no conseguir una integraci´on satisfactoria entre la interfaz y el robot por los problemas comentados en el apartado anterior, se considera que el funcionamiento no es el adecuado y deseado para realizar experimentos con usuarios reales. 51 6. Conclusiones y trabajo futuro En este cap´ıtulo se resumen las conclusiones y aportaciones de este Proyecto Fin de Carrera, destac´andose tanto las caracter´ısticas del sistema desarrollado como todo el proceso de dise˜no y evaluaci´on que ha permitido llegar hasta ´el. 6.1. Conclusiones ((The line between failure and success is so fine that we scarcely know when we pass it: so fine that we are often on the line and do not know it. )) Elbert Hubbard En este Proyecto Fin de Carrera, se ha realizado una interfaz gr´afica mediante la cual un usuario, eligiendo mentalmente, y siguiendo una metodolog´ıa concreta, una de las posiciones que se le ofrecen, y tras un tratamiento de las se˜nales cerebrales obtenidas de dicha elecci´on, es capaz de mover un brazo rob´otico a la posici´on deseada. Se ha dise˜nado e implementado un paradigma de estimulaci´on visual capaz de provocar en el usuario la se˜nal P300, se˜nal necesaria en este tipo de experimentos. El paradigma dise˜nado es ´util para el estudio de la onda P300, dada la constancia con que se aprecian los par´ametros y morfolog´ıa de este potencial y ha servido para la consecuci´on de lo planteado al inicio del desarrollo de la aplicaci´on, el movimiento de un brazo rob´otico con actividad mental. En este Proyecto Fin de Carrera se han cumplido en gran medida los objetivos propuestos. Sin embargo hay aspectos para los que no se ha conseguido una soluci´on en los plazos marcados. A continuaci´on se describen estos problemas y posibles soluciones en los mismos: (i) una pobre calibraci´on entre la c´amara asociada al robot y el propio robot, proponiendo como soluci´on una calibraci´on mediante trayectoria conocida; (ii) ruido incremental con la distancia por parte de ARToolKit, con la soluci´on de implementar un filtro de mediana para mitigar las vibraciones ya que proporciona un valor real presente y no un promedio; o, sustituir la herramienta utilizada por otra que, sin necesidad de ser modificada internamente de soporte a dos flujos de v´ıdeo. Estos problemas encontrados, al tratarse de puntos sin abordar a nivel t´ecnico, han impedido la completa consecuci´on del proyecto ya que no se puede seguir adelante al no disponer de una configuraci´on estable y correcta sobre la que realizar los experimentos de BCI en sujetos reales. 52 6. Conclusiones y trabajo futuro 6.2 Trabajo futuro 6.2. Trabajo futuro ((Predictions is very difficult, especially about the future.)) Niels Bohr Hay varias ideas y mejoras que se podr´ıan aplicar a este proyecto con respecto a funcionalidad y soporte. Posibles l´ıneas de trabajo futuro: Para aumentar la robustez del sistema, reforzar el c´alculo de la posici´on de la c´amara ante oclusiones parciales de un marcador, ya que hasta el momento, o la c´amara dispone de la visualizaci´on completa del mismo o el marcador no puede ser identificado correctamente, y por tanto no se puede calcular de nuevo su posici´on y orientaci´on. Reconocimiento de objetos 3D como posibles posiciones para ofertar al usuario en lugar de las prefijadas en el mallado. Ampliar la posibilidad de selecci´on no s´olo a posiciones en el espacio sino a objetos detectados en el campo de visi´on del usuario. Incorporaci´on de unas gafas de RA (justificado el porqu´e prevalecen sobre las de RV - ver anexo B -) para proyectar sobre ellas la interfaz dise˜nada; en un intento de asemejar lo m´aximo posible la situaci´on a la situaci´on real. En este proyecto fin de carrera no se usaron por no encontrar en el mercado en el momento deseado, un modelo que cumpliera con todas las expectativas deseadas. (hab´ıa un modelo que se ajustaba muy bien pero en el momento de tomar una decisi´on acerca del uso o no de este dispositivo no hab´ıa salido al mercado. A d´ıa de hoy dicho modelo ya se encuentra en el mercado pero excede el presupuesto disponible). 53 Bibliograf´ıa [1] I. Iturrate, J.M. Antelis, A. K¨ubler, J. M´ınguez. A Noninvasive Brain-Actuated Wheelchair Based on a P300 Neurophysiological Protocol and Automated Navigation. IEEE Transactions on Robotics, 25(3):614–627, June 2009. [2] C. Escolano, J. Antelis, and J. Minguez. Human-Brain Teleoperated Robot between Remote Places. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2009. [3] G.R. M¨uller-Putz, R. Scherer, G. Pfurtscheller, C. Neuper, R. Rupp. Non-Invasice Control of Neuroprostheses for the Upper Extremity: Temporal Coding of Brain Patterns. IEEE Engineering in Medicine and Biology Society, pages 3353–3356, September 2009. [4] J. D. Tard´os. Localizaci´on espacial. Sistemas de percepci´on y rob´otica. M´aster en Ingenier´ıa de Sistemas e Inform´atica. Centro Polit´ecnico Superior. Universidad de Zaragoza, 2008. [5] S. Sutton, M. Braren, J. Zubin, E.R. John. Evoked-Potential Correlates of Stimulus Uncertainty. Science, 150(3700):1187–1188, 26 November 1965. [6] J.R. Wolpaw, N. Birbaumer, D.J. McFarland, G. Pfurtscheller, T.M. Vaughan. Brain-Computer Interfaces for communication and control. Clinical Neurophysiology, 113:767–791, 2 March 2002. [7] G. Shalk, D.J. McFarland, T. Hinterberger, N. Birbaumer, J.R. Wolpaw. BCI2000: A General-Purpose Brain-Computer Interface (BCI) System. IEEE Transactions on Biomedical Engineering, 51(6):1034–1043, May 2004. [8] S.R. Benbadis D. Rielo. EEG Atlas: EEG Artifacts. Neurology in eMedicine, Electroencephalograpy Atlas:1–13, 2006. Update Mar 8, 2010. [9] E. Niedermeyer, F. Lopes da Silva. Electroencephalography: Basic Principles, Clinical Applications, and Related Fields. Lippincott Williams and Wilkins, 5 edition, 2005. [10] BCI2000 workshop. The 10-20 International System. Albany, NY, June 2005. 55