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).
Download

uma plataforma para tecnologia assistiva