CONTROLE DE UM MANIPULADOR ROBÓTICO VIA ELETROOCULOGRAFIA: UMA PLATAFORMA PARA TECNOLOGIA ASSISTIVA Victor R. F. Miranda∗, Romeu Medeiros†, Leonardo A. Mozelli§∗, Ana Cláudia S. Souza‡, Armando Alves Neto∗, Adriano S. Vale Cardoso∗ ∗ CELTA – Centro de Estudos em Engenharia Eletrônica e Automação/UFSJ † ‡ Curso de Graduação em Engenharia de Telecomunicações/UFSJ Departamento das Engenharias de Telecomunicações e Mecatrônica UFSJ – Universidade Federal de São João del-Rei Rod. MG 443 km 7 – 36420-000 – Ouro Branco, MG, Brasil Emails: [email protected], [email protected], {mozelli,aclaudia,aaneto,adrianosvc}@ufsj.edu.br Abstract— This paper proposes an online control of a robotic arm by eye movement. Eye movement is captured by electrooculography then is mapped using genetic programming and positions are sent to the robotic arm using a serial port. Preliminary results of this study are presented and analyzed. Keywords— Electrooculography, Human-Machine Interface, Genetic programming, Assistive Robotics Resumo— Este artigo propõe um sistema de controle de um braço robótico usando o movimento ocular. O movimento dos olhos é capturado via eletrooculografia, mapeado por meio da programação genética e enviado para o braço robótico por comunicação serial. Os resultados preliminares deste sistema são apresentados e analisados. Palavras-chave— 1 Eletrooculografia, Interface Homem-Máquina, Programação genética, Robótica Assistiva Introdução Nas últimas décadas tem havido grande interesse da comunidade acadêmica na melhoria da qualidade de vida de indivı́duos com algum tipo de restrição motora. Nesse contexto, as Interfaces Homem-Máquina (IHMs) têm ajudado a estabelecer a comunicação entre um ser humano e algum dispositivo externo, normalmente sem a necessidade do uso dos membros inferiores ou superiores. Cresce a cada dia o número de dispositivos controlados por sinais biomédicos, como o controle de teclados virtuais por meio de sinais de Eletroencefalografia (EEG) (Akram et al., 2015; Vos et al., 2014; Hoffmann et al., 2008), cadeiras de roda controladas por EEG e Eletrooculografia (EOG) (Kaufmann et al., 2014; Barea et al., 2002), e dispositivos com reconhecimento automático de voz (Goh et al., 2014; Noyes et al., 1989). Ao mesmo passo, no contexto do uso de manipuladores robóticos como dispositivos assistivos, amplia-se a gama de sinais biomédicos utilizados para controlá-los, bem como a tecnologia adotada para aquisição dos sinais. Em Hochberg et al. (2012) pacientes são capazes de realizar movimentos que requerem habilidade motora fina, como alcance e preensão de objetos em um espaço de trabalho tridimensional. Contudo, esta tarefa foi viabilizada por meio da implantação de um microeletrodo de 96 canais no córtex cerebral dos pacientes. Já em Onose et al. (2012) adota-se um método não invasivo, baseado na combinação de § Autor para correspondência. Sistema de aquisição de dados Sinal do EOG Identificação dos movimentos: dir., esq., cima, baixo Manipulador robótico Programação genética Mapeamento do movimento dos olhos Retorno visual Posição do robô Figura 1: Interface Homem-Máquina baseada em Eletrooculografia para controle de um manipulador robótico. um par de câmeras para rastreamento da posição da cabeça e EEG com a mesma finalidade. Os movimentos oculares oferecem uma forma de controle de dispositivos externos para pessoas com restrições motoras severas. Apesar de existirem diferentes técnicas de registro do movimento dos olhos, tais como video oculografia em infravermelho (Gitelman et al., 2000) e sistemas de rastreamento baseados em fluxo óptico (Geetha et al., 2009), a EOG é uma das técnicas mais utilizadas na detecção do movimento dos olhos, baseando- se no registro do potencial córneo-retiniano oriundo das hiperpolarizações e despolarizações entre a córnea e a retina (Barea et al., 2002). Diferentes tipos de sinais podem ser registrados, tais como piscadas ou movimentos sacádicos e de perseguição. O tempo de resposta da EOG é muito rápido comparado com outros sinais biomédicos, sendo particularmente interessante do ponto de vista de aplicações de controle, como é o caso do uso de manipulador robótico. A literatura contém diversos trabalhos envolvendo EOG em tecnologia assistiva, como no controle de cadeiras de roda (Aziz et al., 2014; Barea et al., 2002) ou de robôs que trazem objetos para o usuário (Iánez et al., 2012). Esforços atuais têm sido empregados para que esses sistemas sejam cada vez mais rápidos e intuitivos. O objetivo principal do nosso trabalho é apresentar o protótipo de um sistema assistivo destinado a indivı́duos com comprometimento severo das funções motoras, cujo diagrama esquemático é mostrado na Figura 1. O sistema é composto por uma Interface Homem-Máquina desenvolvida para fazer a aquisição de sinais gerados a partir do movimento ocular de um indivı́duo, por meio de eletrooculografia. Os sinais são decodificados, gerando comandos simples de deslocamento espacial em 4 direções (direita, esquerda, cima, embaixo) que servem, por sua vez, como referência para o controle de um manipulador robótico. Foi utilizado um manipulador com especificações bastante simplificadas, disponı́vel para práticas didáticas no curso de graduação em Engenharia Mecatrônica da UFSJ, visando apenas ilustrar a viabilidade da plataforma proposta. Portanto, mesmo diante de limitações devido ao hardware disponı́vel a hipótese proposta pode ser validada. Além disso, convém mencionar que apenas movimentos sacádicos voluntários serão levados em consideração aqui, i.e., movimento rápido dos olhos usado para localizar partes de interesse em uma cena ou para trazer uma nova parte do campo visual para a região da fóvea (Rodrigues, 2001). São movimentos distintos dos chamados movimentos de perseguição, nos quais os olhos se movem lentamente e de forma contı́nua. Portanto, a capacidade de seguimento de trajetórias do sistema robótico também é limitada pelo escopo dos sinais adquiridos pela interface. Neste sentido, os principais blocos mostrados no diagrama esquemático da Figura 1 serão apresentados na seção 2, detalhando as decisões de implementação e estratégias adotadas. Em seguida alguns experimentos são descritos na seção 3 e as perspectivas futuras delineadas na seção 4. 2 Materiais e Métodos Nesta seção, serão detalhadas as funções de cada um dos blocos funcionais apresentados no diagrama esquemático da Figura 1, bem como as decisões de implementação e os equipamentos desenvolvidos. 2.1 Sistema de Medição e Aquisição de Dados O potencial ocular pode normalmente ser modelado como um dipolo, podendo ser estimado colocando-se eletrodos em torno dos olhos de um indivı́duo e registrado pela tensão induzida quando o olho se movimenta. Os valores tı́picos de amplitude encontrados no registro do EOG variam entre 15 e 200 µV, com frequência inferior a 40 Hz e variação de ±30 ◦ (Steinhausen et al., 2014). Para este trabalho, foi construı́do um sistema de registro utilizando-se o amplificador diferencial AD620BN, um componente com baixo nı́vel de ruı́do e baixo custo, cuja faixa de frequência é superior a 120 kHz. Após essa amplificação inicial, dois amplificadores operacionais foram utilizados para implementação de um filtro passa-baixas de 25 Hz, conforme esquemático da Figura 2. Os sinais foram digitalizados utilizando-se uma placa de aquisição de dados modelo NI-6009, fabricada pela empresa National instruments, com resolução de 16 bits e taxa de 48 kS/s. Após simulações da placa de aquisição, uma placa de circuito impresso foi produzida contendo os circuitos de condicionamento do sinal. Uma fonte de tensão simétrica de 15 V foi utilizada para alimentação da placa. 2.2 Calibração Nesta fase do trabalho, o usuário foi instruı́do a manter a cabeça imóvel, a fim de se evitar artefatos de movimento detectados pelos sensores. O indivı́duo permanece sentado diante de um monitor de computador, a cerca de 50 cm de seu campo visual. Inicialmente, durante a etapa de treinamento, o usuário deve direcionar o olhar para um ponto de referência mostrado na tela em diferentes posições, que variam vertical, horizonal e diagonalmente. Foram realizadas 90 medições de 1 segundo cada. É importante salientar que tal procedimento de calibração pode ser executado, de forma razoável, pela maioria dos indivı́duos com restrições motoras, não se limitando ao nosso usuário-teste. 2.3 Programação Genética A programação genética (PG) foi utilizada para estimar o comportamento dos olhos do usuário, sem que para isso fosse necessário um conhecimento prévio da estrutura (modelo) para a solução (Poli et al., 2008). Esta técnica foi utilizada também por Poli et al. (2011) na seleção de canais de eletroencefalografia que apresentavam as melhores caracterı́sticas para controle de um mouse. Essa técnica de computação evolucionária baseia-se no princı́pio da Evolução Estocástica, valendo-se de critérios de inicialização de população e evolução 0 1 2 3 4 5 6 7 8 A A C2 3 R2 6 R6 C4 620Ω LM348N J5 RCJ-011-SMT 6 560Ω 68µF C5 7.5µF LM348N C 5 11 1.5kΩ C1 13µF B U1B 7 R5 2 AD620BN 5 1 R3 1.3kΩ C C3 1µF 6.2kΩ 1µF U1A 4 8 1 7 U2 3 J2 2 RCJ-011-SMT 4 R7 R4 13kΩ 4 R1 1kΩ 11 R15 1kΩ J1 RCJ-011-SMT B C11 3300µF J7 C7 10 J3 RCJ-011-SMT R9 6 6.2kΩ 1.3kΩ 1.5kΩ C6 13µF U1D J6 RCJ-011-SMT 14 R13 C9 620Ω LM348N 68µF 13 560Ω C10 7.5µF 5 AD620BN D C8 1µF 12 R12 8 R10 9 2 4 1µF U1C 4 8 1 7 U3 3 E R14 R11 13kΩ C12 3300F 4 R8 R16 1kΩ 1kΩ 282834-4 11 1 P1 2 P2 3 P3 4 P4 11 D E LM348N J4 RCJ-011-SMT F F Figura 2: Diagrama esquemático do circuito de condicionamento e aquisição de dados. G G 1 2 3 4 ração da direção do movimento. Para identificação do movimento cima e embaixo foi identificado o limiar de −0,87 V, como apresentado na Figura 3. Durante a etapa de calibração foi verificada a faixa de frequências dos trechos referentes às piscadas. Implementando-se um filtro rejeita-faixas de 3 a 4 Hz no canal que registra os movimentos para cima para baixo os trechos referentes às piscadas foram removidos. 5 6 7 8 −3 Sinal do EOG [V] 0 −4 −5 −6 −7 −8 8 10 12 14 16 18 20 Tempo [s] 22 24 26 28 (a) −0.8 Sinal do EOG [V] dos indivı́duos mais aptos a gerarem uma solução com base em algum critério pré-estabelecido. Cada indivı́duo representa uma possı́vel solução para o problema em uma codificação feita por meio de uma estrutura em árvores (Guo et al., 2011). Cada ramo desta árvore é constituı́do por uma função, que pode ser uma determinada condição, operação aritmética ou lógica. No presente trabalho, apenas funções aritméticas foram consideradas para geração da representação do deslocamento dos olhos do usuário. Para a programação genética, foi utilizada uma população inicial de 10.000 indivı́duos, elitismo de 10 %, taxa de mutação de 35 % e taxa de cruzamento de 50 %. Nos testes, foram realizadas em torno de 75 gerações. O banco de dados de treinamento é composto pelas posições de um ponto de referência na tela e os potenciais elétricos correspondentes lidos da placa de aquisição. Os valores referentes da posição do ponto na tela variaram de −10 a 10, nos eixos horizontal e vertical. Para a implementação da programação genética foi utilizado o Java Genetic Algorithm Package, o JGAP (Meffert and Rotstan, 2002). A função de desempenho foi definida como sendo o erro quadrático médio entre os valores encontrados e os valores conhecidos. O erro máximo permitido foi de 4 %. Foi adotado um critério de parada em 200 gerações caso o resultado obtido não fosse suficiente para a realização da calibração. Observou-se que essa situação ocorre quando os eletrodos estão mal posicionados. Em um segundo momento, o usuário foi instruı́do a direcionar o olhar para a direita, para a esquerda, para cima e para baixo a partir de um estı́mulo sonoro. Cada movimento foi realizado 16 vezes. O ponto de referência se deslocou na tela de acordo com o movimento dos olhos da pessoa, fornecendo, assim, realimentação visual para o usuário. Os sinais foram separados em movimentos voluntários e piscadas. Os sinais direita e esquerda foram identificados a partir da derivada do sinal de EOG. O limiar de −6 V foi identificado para sepa- −0.85 −0.9 −0.95 −1 10 12 14 16 Tempo [s] 18 20 22 (b) Figura 3: Sinais de EOG após a amplificação: (a) movimento direita-esquerda (os últimos dois segundos correspondem a uma piscada); e (b) movimento cima-embaixo. 2.4 Comportamentos Pré-estabelecidos Tendo em vista a limitação do hardware disponı́vel, optou-se por estabelecer um conjunto de comportamentos pré-definidos para o robô, em detrimento de um sistema capaz de seguir trajetórias variantes no tempo obtidas a partir do rastreamento direto do movimento dos olhos. Assim, foi definida uma série de comportamentos básicos, conforme RA OA OE OA OB ou OC OD OD ou OC RE RC OE RD OE ou OC OA ou OC OB OD RB OB Figura 4: Comportamentos pré-estabelecidos para o manipulador: as direções dos olhos são indicadas para esquerda (OE), direita (OD), alto (OA), baixo (OB) e centro (OC). ilustrado na máquina de estados da Figura 4. A região central do campo visual foi definida como posição de descanso. Apenas quando o olhar ultrapassa os limites de ±30 ◦ , na vertical ou na horizontal, assume-se que o usuário efetuou um comando. O comportamento pré-estabelecido faz com que o manipulador gire na mesma direção que desencadeou o comando, até o limite máximo programado. Apenas quando o olhar retorna até a posição de descanso o manipulador volta à posição central. Para programar a lógica dos comandos préestabelecidos, foi utilizado o ambiente de programação MatLab, em um computador com as seguintes configurações: processador Intel Core i3, 2,13 GHz e memória RAM DDR de 8 GB. A escolha foi baseada na possibilidade de se integrar completamente o sistema de identificação dos movimentos oculares ao robô, ambos programados no mesmo ambiente. Portanto, o mesmo computador foi o responsável por processar os dados coletados pela placa de aquisição de dados, executar a lógica dos comandos pré-estabelecidos e, em seguida, produzir comandos de posição para o manipulador via comunicação serial. 3 Resultados O eletrooculograma foi registrado por meio de um par de eletrodos de Ag-AgCl posicionados nos cantos exteriores direito e esquerdo dos olhos para detectar o movimento horizontal, e outro par acima e abaixo de cada olho para detectar o movimento vertical. Um eletrodo de referência foi posicionado na testa do usuário. Além disso, as posições estimadas dos olhos foram mapeadas para valores de ângulos no intervalo de −150 ◦ a 150 ◦ , de modo a serem aplicados ao robô. Para os experimentos, foi utilizado o manipulador robótico ED-7220C da ED Corporation, com 5 graus de liberdade e controlador dedicado. Esse sistema possui restrições quanto ao acionamento e controle, pois foi projetado para práticas educacionais simples. Somado a isso, a dinâmica desse manipulador é muito lenta se comparada ao tempo de resposta dos movimentos oculares, o que inviabiliza o uso direto dos olhos na definição de trajetórias de movimento. Para fins práticos, optou-se por limitar o escopo deste trabalho aos movimentos sacádicos. Para movimentos oculares na horizontal, a junta da base do manipulador é acionada, ao passo que para movimentos verticais aciona-se a junta de cotovelo. Quatro usuários participaram do experimento utilizando a tela do computador, e um usuário participou da manipulação do braço robótico. A figura 5 ilustra uma parte do experimento desse usuário operando o sistema. Os resultados dos testes foram compilados na Tabela 1. Taxa de acertos média foi da ordem de 91,4 %. Tabela 1: Resultados dos testes realizados com quatro usuários do sistema. Usuários Taxa de acerto 1 93,94 % 2 89,39 % 3 91,12 % 4 91,26 % 4 Conclusões e Perspectivas Futuras Os resultados preliminares demonstram ser possı́vel o controle de um manipulador robótico por meio do sistema simples de detecção de Eletrooculografia (EOG) baseada em programação genética. Dessa forma, um primeiro passo rumo a um sistema assistivo para indivı́duos com comprometimento motor severo foi dado, mostrando que a hipótese de execução de comportamentos pré-programados ativados pela movimentação ocular são viáveis. Neste artigo, apenas movimentos simples foram adotados, devido às restrições do hardware disponı́veis. Contudo, de posse de um manipulador mais compatı́vel com o estado da arte, seria possı́vel incorporar comportamentos mais complexos, como trazer alimento até o indivı́duo ou encher uma garrafa de água. Os resultados preliminares da programação genética nos levam à conclusão de que, devido ao comportamento não determinı́stico dos sinais do EOG, o sistema fica instável após dois minutos de utilização. Entretanto, este comportamento ainda exige análises mais aprofundadas. Entretanto, é importante e oportuno ressaltar que artefatos como a piscada não afetam os resultados. Trabalhos futuros serão necessários para a melhoria do algoritmo de detecção. Acredita-se que, na etapa de treinamento, a população inicial possa (a) (b) (c) (d) (e) (f) Figura 5: Experimento com o sistema real: (a) o robô inicia em sua posição central; (b) o usuário o movimento do robô para sua esquerda; (c) de volta ao centro; (d) agora à sua direita; (e) novamente ao centro; (f) finaliza à esquerda. ser reduzida, melhorando assim o tempo total de uso do equipamento. Além disso, pretende-se explorar outros recursos, tais como piscadas e os movimentos de perseguição, para que o robô possa alcançar e pegar objetos no seu entorno em qualquer posição dentro do seu espaço de trabalho. Agradecimentos Os autores agradecem ao Conselho Nacional de Desenvolvimento Cientı́fico e Tecnológico (CNPq), à Coordenação de Aperfeiçoamento de Pessoal de Nı́vel Superior (CAPES) e à Fundação de Amparo à Pesquisa de Minas Gerais (FAPEMIG) pelo apoio. Referências Akram, F., Han, S. M. and Kim, T.-S. (2015). An efficient word typing P300-BCI system using a modified T9 interface and random forest classifier, Computers in Biology and Medicine 56: 30–36. Aziz, F., Arof, H., Mokhtar, N. and Mubin, M. (2014). HMM based automated wheelchair navigation using eog traces in eeg, Journal of Neural Engineering 11(5). Barea, R., Boquete, L., Mazo, M. and López, E. (2002). Wheelchair guidance strategies using EOG, Journal of Intelligent and Robotic Systems 3(34): 279–299. Geetha, A., Ramalingam, V., Palaniappan, B. (2009). recognition - a real time Systems with Applications Palanivel, S. and Facial expression approach, Expert 36(1): 303–308. Gitelman, D. R., Parrish, T. B., Labar, K. S. and Mesulam, M. M. (2000). Real-time monitoring of eye moviments using infrared videooculography during functional magnetic resonance imaging of the frontal eye fields, Neuroimage 11(1): 58–65. Goh, Y. H., Raveedran, P. and Jamuar, S. S. (2014). Robust speech recognition using harmonic features, IET Signal Processing 8(2): 167–175. Guo, L., Rivero, D., e Cristian R. Munteanu, J. D. and Pazos, A. (2011). Automatic feature extraction using genetic programming: An application to epileptic EEG classification, Expert Systems with Applications 38: 10425–10436. Hochberg, L. R., Bacher, D., Jarosiewicz, B., Masse, N. Y., Simeral, J. D., Vogel, J., Haddadin, S., Liu, J., Cash, S. S., van der Smagt, P. and Donoghue, J. P. (2012). Reach and grasp by people with tetraplegia using a neurally controlled robotic arm, Nature 485(7398): 372–375. Hoffmann, U., Vesin, J.-M., Ebrahimi, T. and Diserens, K. (2008). An efficient P300-based brain-computer interface for disabled subjects, Journal of Neuroscience Methods (167): 115– 125. Iánez, E., Úbeda, A., Azorin, J. M. and PerezVidal, C. (2012). Assistive robot application based on an RFID control architecture and a wireless EOG interface, Robotics and Autonomous Systems 8(60): 1069–1077. Kaufmann, T., Herweg, A. and Kübler, A. (2014). Toward brain-computer interface based wheelchair control utilizing tactually-evoked eventrelated potentials, Journal of Neuroengineering and rehabilitation 7(11). Meffert, K. and Rotstan, N. (2002). JGAP: Java genetic algorithms package, http://jgap.sourceforge.net/. Noyes, J. M., Haigh, R. and Starr, A. F. (1989). Automatic speech recognition for disabled people, Applied Ergonomics 4(20): 293–298. Onose, G., Grozea, C., Anghelescu, A., Daia, C., Sinescu, C. J., Ciurea, A. V., Spircu, T., Mirea, A., Andone, I., Spanu, A., Popescu, C., Mihaescu, A.-S., Fazli, S., Danoczy, M. and Popescu, F. (2012). On the feasibility of using motor imagery eeg-based brain-computer interface in chronic tetraplegics for assistive robotic arm control: a clinical test and long-term post-trial follow-up, Spinal Cord 50(8): 599–608. Poli, R., Langdon, W. B. and MacPhee, N. F. (2008). A field guide to genetic programming. Poli, R., Salvaris, M. and Cinel, C. (2011). Evolution of a brain-computer interface mouse via genetic programming, Lecture Notes in Computer Science 6621: 203–214. Rodrigues, S. T. (2001). O movimento dos olhos e a relação percepção–ação, in L. A. Teixeira (ed.), Avanços em comportamento motor, Editora Movimento, pp. 122–146. Steinhausen, N., Prance, R. and Prance, H. (2014). A three sensor eye tracking system based on electrooculography, IEEE SENSORS, pp. 1084–1087. Vos, M. D., Kroesen, M., Emkes, R. and Debener, S. (2014). P300 speller BCI with a mobile EEG system: comparison to a traditional amplifier, Journal of Neural Engineering 11(3).