Tradutor Libras JF - Universidade Positivo

Propaganda
UNIVERSIDADE POSITIVO
NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
ENGENHARIA DA COMPUTAÇÃO
JOÃO PAULO BRITO DA SILVA
LUIZ FERNANDO MARTINS DO AMARAL
TRADUTOR LIBRAS JF
ORIENTADOR: Prof. José Carlos da Cunha
Curitiba, 12 de Setembro de 2011
UNIVERSIDADE POSITIVO
NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
ENGENHARIA DA COMPUTAÇÃO
TRADUTOR LIBRAS JF
__________________________________
JOÃO PAULO BRITO DA SILVA
__________________________________
LUIZ FERNANDO MARTINS DO AMARAL
BANCA EXAMINADORA
PROFESSOR ORIENTADOR MS. JOSÉ CARLOS DA CUNHA
PROFESSOR MS. MAURICIO PERRETTO
PROFESSOR MS. VALFREDO PILLA JUNIOR
CURITIBA, 12 de Setembro de 2011
AGRADECIMENTOS
Agradecemos aos amigos, professores, familiares e afins, que ajudaram a concretizar o projeto proposto.
RESUMO
Segundo dados do Censo 2000 do Instituto Brasileiro de Geografia e Estatística 14,5% da
população brasileira possui algum tipo de deficiência (IBGE, 2000). O surdo-mudo possui grande
dificuldade para se comunicar, ficando numa situação de desvantagem, uma vez que vivemos num
mundo dominado pela língua oral, composta por vocábulos e gramática desconhecidos pela
comunidade portadora de deficiência auditiva. Partindo das dificuldades encontradas por essa
população na comunicação do dia-a-dia, o protótipo desenvolvido busca sua maior integração social
e cultural. A funcionalidade é capaz de traduzir de forma eficiente e em tempo real a LIBRAS – Língua
Brasileira de Sinais, utilizando para tanto, um par de luvas sensoriais acopladas a um acelerômetro
tri-axial cada uma, cujas respectivas funções são coletar e fornecer ao software de controle
informações dos movimentos dos dedos e das mãos no espaço físico. A comunicação entre hardware
de aquisição de dados (luva sensorial e acelerômetro) e interface computacional acontece através do
uso de microcontroladores e protocolo de comunicação USB. O protótipo possui a capacidade de
armazenar gestos conforme necessidade do usuário e/ou interpretar os gestos. Estes gestos
interpretados são amostrados ao usuário em forma de texto na língua portuguesa. A interpretação
dos gestos ocorre de duas formas distintas: Dinamicamente e estaticamente. No modo dinâmico é
possível interpretar o alfabeto da LIBRAS. No modo estático pode-se interpretar gestos mais usados
no dia-a-dia e, no caso de formação de frases, fazer a conjugação de verbos para reformulação da
frase dentro do tempo verbal correto.
O sistema computacional possui ainda a habilidade de interagir com usuário (interação
homem-máquina), caracterizada pelo controle total de abertura de janelas e execução de funções
feito pela luva sensorial e/ou acelerômetro, distribuindo-se em janelas de vídeo-aula, formulários
contando a história da LIBRAS e funcionalidades de inserção e interpretação dos gestos.
Palavras-chave: Luvas Sensoriais, LIBRAS, acelerômetro, interação homem-máquina.
ARTICLE
According to data of Censo 2000 of Statistics and Geography Brazilian Institute (IBGE, 2000),
14,5% of Brazilian people has some kind of deficiency. The heard impaired has a great difficult in
communication, becoming unavailable to perform a series of activities, once we live who is generally
owned by oral language, composed by specific words and grammar which are usually unknown by
heard impaired community. Starting from this population known issues, the developed prototype aims
to their biggest social and cultural interaction. It is capable of efficient and fast LIBRAS – Brazilian
Signal Language – translating, by using a pair of sensor gloves mixed up with a tri-axis accelerometer
each, which has as main functions to collect and to provide to software interface information from
fingers moves and also from hand shaking. The communication between hardware and software was
possible by using a microcontroller and an USB communication protocol. The prototype is also able to
store and interpret gestures as the user needs.
These interpretations of gestures occur on two
different ways: dynamically and statically. In the dynamic mode it’s possible to interpret the LIBRAS
vocabulary from A to Z. In the static mode it´s possible to interpret common gestures and, in case of
phrases forms, to perform the verbal correction in order to have phrase pronounced correctly.
In the same time, the computational system is also able to interact with user by allowing the
full control of its interface only made by the sensor gloves, distributed in several learning windows,
history data and etc.
Key-words: Sensorial Gloves, Accelerometers, Gestures Translator, Man-machine interaction.
SUMÁRIO
INTRODUÇÃO ....................................................................................................................................... 10
2 – DESCRIÇÃO DO PROJETO............................................................................................................ 11
3 – DESCRIÇÃO TEÓRICA E ESPECIFICAÇÃO. ................................................................................ 12
3.1 - O QUE É A LIBRAS? ......................................................................................................................... 12
3.1.1 - Como surgiu?.......................................................................................................................... 12
3.1.2 - Características e Exemplos .................................................................................................... 13
3.2 - RECONHECIMENTO DE PADRÕES........................................................................................................ 13
3.3 – ESPECIFICAÇÃO DE HARDWARE ........................................................................................................ 15
3.3.1 - Luvas sensoriais ..................................................................................................................... 15
3.3.2 – Acelerômetro – Teoria e operação ........................................................................................ 16
3.3.3 – Microcontrolador .................................................................................................................... 18
3.4 – REQUISITOS..................................................................................................................................... 19
3.5 – ESPECIFICAÇÃO DE SOFTWARE ......................................................................................................... 20
3.5.1 - Aquisição dos dados ............................................................................................................... 20
3.5.2 - Tratamento dos dados pelo software ..................................................................................... 21
3.5.3 - Banco de Dados ..................................................................................................................... 23
4 – IMPLEMENTAÇÃO .......................................................................................................................... 25
4.1 – IMPLEMENTAÇÃO: HARDWARE .......................................................................................................... 25
4.1.1 - Firmware do microcontrolador: ............................................................................................... 25
3.1.2 – Montagem do circuito: ............................................................................................................ 26
4.2 – SOFTWARE ...................................................................................................................................... 27
4.2.1 - Login no sistema ..................................................................................................................... 28
4.2.2 - Realidade Virtual do sistema .................................................................................................. 29
4.2.3 - Inserção e Interpretação da LIBRAS ...................................................................................... 32
4.2.4 - Classes do software e suas funcionalidades .......................................................................... 36
5 – RESULTADOS E DISCUSSÃO. ...................................................................................................... 38
6 - REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................................. 42
LISTA DE FIGURAS
Figura 1 - Alfabeto da Língua Brasileira de Sinais (LIBRAS) .................. Erro! Indicador não definido.
Figura 2 - Ilustração da 5DT Dataglove5 Ultra ......................................... Erro! Indicador não definido.
Figura 3 - acelerômetro MMA7260Q utilizado no projeto ........................ Erro! Indicador não definido.
Figura 4 - Pinagem e imagem ilustrativa do PIC18F2550 ....................... Erro! Indicador não definido.
Figura 5 - Fluxo dos eventos durante aquisição/processamento dos dados. .......... Erro! Indicador não
definido.
Figura 6 - Amostragem do sinal de entrada e saída do microcontroladorErro! Indicador não definido.
Figura 7 - Lançamento das Threads ..................................................................................................... 23
Figura 8 - algoritmo do firmware gravado no microcontrolador ............................................................ 26
Figura 9 - Firmware para o microcontrolador PIC18F2550 ..................... Erro! Indicador não definido.
Figura 10 - Esquemático da comunicação entre Hardware e computador pela porta USB. ................ 26
Figura 11–Ilustração das dimensões placa de circuito Impresso e representação do Acelerômetro .. 27
Figura 12 - configuração recomendada do acelerômetro ao micrcontrolador. ..................................... 27
Figura 13 - Fórmula de cálculo da distância entre vetores ...................... Erro! Indicador não definido.
Figura 14 - Tela inicial do software .......................................................... Erro! Indicador não definido.
Figura 15 - Tela de inserção de dados .................................................... Erro! Indicador não definido.
Figura 16 - Tela de interpretação de dados ............................................. Erro! Indicador não definido.
LISTA DE QUADROS E TABELAS
Tabela 1- Especificações da Luva 5DT DataGlove 5 Ultra ................................................................................. 15
Tabela 2 - Configurações e aplicações do acelerômetro, conforme faixa de medida. .......................................... 16
Tabela 3 - Relação entre os pinos GS1, GS2 e a sensibilidade do acelerômetro/modo de funcionamento. .......... 18
Tabela 4 - Dados do microcontrolador 18F2550 da Microchip ............................................................................. 19
Tabela 5 - Resultados do alfabeto ......................................................................................................................... 40
Tabela 6 - Resultados dos gestos ........................................................................................................................... 40
SÍMBOLOS, ABREVIATURAS, SIGLAS E CONVENÇÕES
mV/g
Milivolts por unidade de aceleração da gravidade;
g
Aceleração da gravidade;
V
Volts;
GND
Aterramento;
GHz
GigaHertz;
MHz
MegaHertz.
1 - INTRODUÇÃO
Nas escolas e centros especializados na educação de portadores de necessidades especiais,
são usados métodos pedagógicos específicos para pessoas surdas com o objetivo de fazer com que
desenvolvam ao máximo sua capacidade de comunicação. Um dos grandes diferenciais no processo
educacional dos surdos é o aprendizado da LIBRAS (Língua Brasileira de Sinais), um idioma que faz
a representação das letras, palavras e expressões complexas através de sinais corpóreos, que por
sua vez englobam expressões faciais e gestos com braços e mãos (GABARDO, 2005) .
É por meio da linguagem que um povo se constitui, integra e identifica as pessoas e lhe dá o
carimbo de pertencimento, de identidade. Neste caso, a existência de uma cultura surda ajuda a
construir as identidades das pessoas surdas dentro da sociedade. De acordo com a pesquisadora
surda PERLIN (1998), as identidades são múltiplas e multifacetadas, podendo ser definidas em várias
categorias, sempre dependendo de suas vivências sociais; assim como vemos aqueles que nasceram
ouvintes e ensurdeceram, aqueles que tiveram contato tardio com a comunidade surda, aqueles que
continuam com uma identidade dividida entre os dois mundos e aqueles que se guiaram sempre pela
experiência visual.
Muitas tentativas educacionais foram feitas com o objetivo de educar crianças surdas e, por
muito tempo, a surdez foi apontada como a causa do fracasso escolar. A surdez dificulta a
comunicação colocando o surdo em desvantagem, pois vivemos num mundo dominado pela língua
oral composta por vocábulos e gramática que são desconhecidos pelo surdo. Portanto, os surdos são
portadores de necessidades especiais (PEREIRA, 2002).
Segundo SASSAKI (2003), educadores e pesquisadores em todo o mundo têm um objetivo
em comum, o de propor aos surdos uma melhor condição de vida social e, por isso, surgiram várias
filosofias educacionais.
Partindo das dificuldades encontradas pelos deficientes auditivos na comunicação do dia-adia, o presente trabalho a ser desenvolvido busca a maior integração social e cultural dessa
população. Usando-se de tecnologia apropriada e componentes necessários desenvolver-se-á um
protótipo capaz de traduzir de forma eficiente e em tempo real a libras.
Como ponto inicial, pensou-se numa forma de obter os movimentos dos dedos das mãos em
conjunto com os movimentos das mãos no espaço em três dimensões. Chegou-se então, na
conclusão de utilizar um par de luvas especiais em conjunto com um acelerômetro. Com esses dados
obtidos, foi desenvolvido um software capaz de fazer interpretação para Linguagem de Sinais.
11
2 – DESCRIÇÃO DO PROJETO.
O protótipo possui a capacidade de armazenar gestos conforme necessidade do usuário e/ou
interpretar os gestos. Estes gestos, quando interpretados, são amostrados ao usuário em forma de
texto na língua portuguesa, podendo este processo ocorrer de duas formas distintas: dinamicamente
e estaticamente. No modo dinâmico é possível interpretar o vocabulário (A-Z) da LIBRAS. No modo
estático é possível interpretar gestos completos e, no caso de formação de frases, fazer a conjugação
de verbos para reformulação da frase dentro do tempo verbal correto.
O sistema computacional possui ainda a habilidade de interagir com usuário (interação
homem-máquina), caracterizada pelo controle total de abertura de janelas e execução de funções
feito pela luva sensorial e/ou acelerômetro, distribuindo-se em janelas de vídeo-aula, formulários
contando a história da LIBRAS e funcionalidades de inserção e interpretação dos gestos.
Para melhor entendimento de como foi constituído o fluxo de eventos entre as diferentes
partes do protótipo, ilustramos o processo na figura 1. A aquisição de dados feita pelo computador da
luva sensorial e do acelerômetro se dará simultaneamente, passando essas informações ao software
que possui a responsabilidade de tratar essas informações.
Figura 1 - Fluxo dos eventos durante aquisição/processamento dos dados.
12
3 – DESCRIÇÃO TEÓRICA E ESPECIFICAÇÃO
3.1 - O que é a LIBRAS?
A Língua Brasileira de Sinais (LIBRAS) é utilizada por deficientes auditivos para a
comunicação entre eles. Para uma melhor compreensão dessa realidade é interessante que essa
linguagem se faça conhecer, e que haja uma procura por ela com o interesse de aprendê-la
(QUADROS, 1997).
A LIBRAS é uma das linguagens de sinais existentes no mundo para a comunicação entre
surdos. Ela tem origem na LSF - Linguagem de Sinais Francesa. As linguagens de sinais não são
universais, elas possuem sua própria estrutura de país pra país e diferem até mesmo de região pra
região de um mesmo país, dependendo da cultura daquele determinado local para construir suas
expressões ou regionalismos (ARAÚJO, 2010).
Como qualquer outra língua, ela também possui expressões que diferem de região para
região (os regionalismos), o que a legitima ainda mais como língua.
Segundo ARAÚJO (2010), as LS - Línguas de Sinais - não são simplesmente mímicas e
gestos soltos utilizados pelos surdos para facilitar a comunicação. Muito pelo contrário, são línguas
com estruturas gramaticais próprias. O que diferencia as Línguas de Sinais das demais línguas é a
sua modalidade visual-espacial. Dessa maneira, os surdos podem se interagir com outras pessoas,
ou ainda, entre si para conversar ou se expressar sobre qualquer assunto.
3.1.1 - Como surgiu?
No período de 1500 a 1855, já existiam muitos surdos no país. Nessa época, a educação era
precária. Em 1855, ocorreu a vinda ao Brasil de um professor francês surdo, chamado Adolph Hurt, e,
em 1887, foi fundado o primeiro Instituto Nacional de Surdos Mudos no Rio de Janeiro (SASSAKI,
2003).
No período de 1970 a 1992, os surdos se fortaleceram e reivindicaram os seus direitos.
Desde aquela época, as escolas tradicionais existentes no método oral mudaram de filosofia e, até
hoje, boa parte delas vêm adotando a comunicação total (PEREIRA, 2002).
Em 2002, foi promulgada uma lei que reconhecia a Língua Brasileira de Sinais como meio de
comunicação objetiva e de utilização das comunidades surdas no Brasil. Em 2005, foi promulgado um
decreto que tornou obrigatória a inserção da disciplina nos cursos de formação de professores para o
exercício do magistério em nível médio (curso normal) e superior (Pedagogia, Educação Especial,
Fonoaudiologia e Letras). Desde então, as instituições de ensino vêem procurando se adequar a essa
lei (ARAÚJO, 2010).
13
3.1.2 - Características e Exemplos
Segundo PEREIRA (2002), para determinar o seu significado, os sinais possuem alguns
parâmetros para a sua formação, como por exemplo, a localização das mãos em relação ao corpo, a
expressão facial, a movimentação que se faz ou não na hora de produzir o sinal, etc.
Há algumas particularidades simples, que facilitam o entendimento da língua, como o fato de
os verbos aparecerem todos no infinitivo e os pronomes pessoais não serem representados, sendo
necessário apontar a pessoa de quem se fala para ser entendido. Há ainda algumas palavras que
não tem sinal correspondente, como é o caso dos nomes próprios. Nessa situação, as letras são
sinalizadas uma a uma para expressar tal palavra. Uma representação do alfabeto LIBRAS pode ser
encontrado na figura 2.
Figura 2 - Alfabeto da Língua Brasileira de Sinais (LIBRAS)
3.2 - Reconhecimento de Padrões:
Voltando-se para a parte técnica do projeto, caracteriza-se a seguir o método de interpretação
dos gestos feitos pelos usuários durante a utilização do protótipo.
Os seres humanos são capazes de reconhecer padrões com grande rapidez. Faz parte da
natureza humana, ao observar um objeto, fazer uma coleta de informações, as quais são comparadas
com as propriedades e comportamentos conhecidos e armazenados em sua mente. Através dessa
comparação os seres humanos são capazes de reconhecer o alvo de sua observação. Este conceito
de reconhecimento é simples e familiar para todos em um ambiente real, mas no contexto da
inteligência artificial, o reconhecimento não é uma tarefa trivial. Não existe nenhuma máquina ou
14
software de inteligência artificial que seja capaz de igualar-se a capacidade de reconhecimento do
cérebro humano (MARQUES, 2005).
As iniciativas para o reconhecimento de padrões artificialmente dividem-se em duas
categorias: de reconhecimento de itens concretos e abstratos.
Ainda citando MARQUES (2005), temo que o reconhecimento de itens concretos envolve o
reconhecimento de impressões digitais, assinaturas, objetos físicos, formas de ondas, voz, faces,
enfim, o reconhecimento de itens que existem concretamente. Os elementos abstratos seriam itens
sem forma física como, por exemplo, a solução para um determinado problema.
O reconhecimento de padrões envolve três níveis de processamento: filtragem da entrada,
extração de características e classificação. A filtragem da entrada de dados tem o objetivo de eliminar
dados desnecessários ou distorcidos fazendo com que a entrada apresente apenas dados relevantes
para o reconhecimento do objeto em análise. A extração de características consiste da análise dos
dados de entrada a fim de extrair e derivar informações úteis para o processo de reconhecimento
(GABARDO, 2005).
O estágio final do reconhecimento de padrões é a classificação, onde através da análise das
características da entrada de dados o objeto em análise é declarado como pertencente a uma
determinada categoria. Quando se busca realizar o reconhecimento de padrões em modelos
estáticos, em especial a fase de classificação que é bastante onerosa, esses modelos são eficientes
apenas quando suposições de limite são satisfeitas. A eficiência de modelos estáticos depende de
um grande conjunto de suposições ou condições sobre as quais o modelo é construído. Para que o
modelo seja empregado com sucesso, é necessário que os usuários possuam um bom conhecimento
sobre as propriedades dos dados analisados e das capacidades do modelo. As redes neurais são
uma alternativa promissora para vários métodos de classificação convencionais. Elas possuem
vantagens como ser adaptativas em função dos seus dados (data driven), ou seja, são capazes de se
ajustar a si próprias sem a necessidade de qualquer especificação explícita. As redes neurais
também são modelos não lineares capazes de modelar com flexibilidade as complexas relações do
modelo do mundo real (MARQUES, 2005).
Reunindo estes dois temas principais citados acima, tornou-se possível a implementação do
projeto do tradutor de LIBRAS JF, que visa interpretar os sinais e gestos feitos pelo usuário em uma
linguagem comum a toda comunidade não-surda, proporcionando uma melhor forma de interação
entre as diferentes culturas.
15
3.3 – Especificação de Hardware
3.3.1 - Luvas sensoriais
Para obter as taxas de variações dos movimentos dos dedos, foi utilizado um par de Luvas
especiais do Fabricante 5DT, chamada DT Data Glove5 Ultra.
A 5DT DataGlove 5 Ultra, apresentada na Figura 3, segundo 5DT (2011), possui alta
qualidade de dados e precisão na simulação dos movimentos. As luvas vêm com a interface padrão
USB, eliminando a necessidade de fonte de alimentação externa.
Figura 3 - Ilustração da 5DT Dataglove5 Ultra
Este dispositivo possui sensores de fibra óptica, que permitem a captação de informações
como a flexão dos dedos da mão do usuário. Essas informações são transferidas à aplicação
(software) para tradução do movimento, ou seja, tradução das libras para língua portuguesa. A tabela
1 possui algumas características da Luva 5DT DataGlove 5 Ultra (5DT, 2011).
Tabela 1- Especificações da Luva 5DT DataGlove 5 Ultra
Material
Lycra Stretch preto
Resolução do sensor
12 bits A/D (alcance típico de 10 bits)
Sensores de Flexão
Baseado em fibra óptica 5 sensores no total
1 sensor por dedo, medidas, média de
articulação e primeira junta
Interface
USB 1.1 de alta velocidade RS-232
(opcional)
Alimentação
Via Interface USB
Taxa de Amostragem
Mínimo de 75Hz
(5DT, 2011)
16
Apesar da tecnologia da Luva 5DT DataGlove ser bem avançada, ela não é suficiente para o
sucesso do projeto, pois é capaz de captar somente os movimentos dos dedos. Para captar os
movimentos no espaço em três dimensões, será usado um acelerômetro tri-axial.
3.3.2 – Acelerômetro – Teoria e operação
Segundo MORIMOTO (2009), os acelerômetros são sensores capazes de converter a
aceleração da gravidade ou o movimento em sinais elétricos. Qualquer atividade onde haja
movimento pode ter o valor de sua aceleração medida por um acelerômetro. Para saber qual
aplicação é possível para um acelerômetro é preciso conhecer a ordem de grandeza da aceleração
que se deseja medir, visto que estes sensores são fabricados dentro de faixas de valores específicas.
A indústria automobilística proporcionou um grande barateamento de custos do instrumento
devido ao seu uso em larga escala. Nos carros, o acelerômetro exerce uma importante função ao
controle de estabilidade ao calcular as forças em que o veículo está sendo submetido, além de
auxiliar na orientação do GPS. Além de mais barato, o instrumento ocupa dimensões muito menores,
sendo encontrado com freqüência em celulares e computadores portáteis (PRADA, 2009).
Na tabela 2 são mostradas as faixas típicas de trabalho, com as suas respectivas aplicações.
Tabela 2 - Configurações e aplicações do acelerômetro, conforme faixa de medida.
Faixa de Medida
0,002 – 2g
1 – 2g
2 – 8g
8 – 10g
10 – 20g
20 – 40g
40 – 100 g
Aplicação Típica
Onde pode ser usado
Sismografia
Sismógrafos, Aparelhos para detecção de terremotos.
Detecção de movimento
Detecção de queda livre
Detecção de inclinação
Detecção de capotagem
Alarme antirroubo, detector de quedas de humanos.
HD´s, notebooks, Celulares, MP3 players...
Reconhecimento de movimentos, jogos…
Acionamento de Air Bags laterais em veículos, controle de
estabilidade e tração.
Estabilização de motores
Vibrações
de
motoresindustriais
Detecção de batidas,
pancadas,
choques
macânicos, colisões...
Pedômetros
Gravadores
de
movimento
Detecção de batidas de
automóvel
Trsnsporte de cargas, área de logística, manuseio de
encomendas e produtos..
Caminhas, corridas, exercícios, aparelhos de ginásticas e
academia...
Data Recorders, gravadores de evento...
Disparo de Air Bags
(PRADA, 2009)
Continuando com as afirmações de PRADA (2009), além da faixa de aceleração que se pode
medir, informações como a tolerância, formato de saída (digital, analógica, PWM, etc.),
encapsulamento e outros, também são levados em consideração na hora de especificar qual
componente se aplica a cada projeto.
17
Algumas das diversas características que devem ser observadas para especificar um
acelerômetro são:
• Quantidade de eixos: o modo de construção do dispositivo permite que ele forneça
informações em até três eixos simultaneamente, geralmente chamados pelos fabricantes de X, Y e Z.
Alguns modelos medem apenas um ou dois eixos (MORIMOTO, 2009).
• Faixa de medição: informa qual é a capacidade de medição do sensor, com valores
negativos (desaceleração) e positivos (aceleração). Esta faixa será importante para determinar em
qual aplicação o sensor pode ser utilizado, como já mostrado na tabela 2 (MORIMOTO, 2009).
Optou-se pelo uso do acelerômetro da Empresa Microchip MMA7260Q BreakoutBoard,
conforme mostrado na figura 4:
Figura 4 - Acelerômetro MMA7260Q utilizado no projeto (SPARKFUN, 2001)
Características do acelerômetro MMA7260Q, segundo SPARKFUN (2001):
• O Output dos valores dos 3-eixos é analógico;
• Alimentação 0 GND / 3.3V;
• Tem 4 modos de operação, 1.5G / 2G / 4G / 6G (Valores G máximos);
• 2 Seletores para selecionar o modo de funcionamento, GS1 e GS2;
• Pino Sleep, 3,3v – acelerômetro ligado, 0v – acelerômetro desligado;
• Estes três pinos podem ser controlados por um microcontrolador (arduino, por exemplo,
com os pinos digitais).
18
Mais informações podem ser vistas na tabela 3, que referencia a relação entre diversos pinos
do acelerômetro no que diz respeito à sensibilidade de medição.
Tabela 3 - Relação entre os pinos GS1, GS2 e a sensibilidade do acelerômetro/modo de funcionamento.
GS1
GND
GND
3.3V
3.3V
GS2
GND
3.3V
GND
3.3V
G-range
1.5g
2g
4g
6g
Sensibilidade
800mV/g
600mV/g
300mV/g
200mV/g
Seguindo a tabela 3, os pinos GND, GS1, GS2 ligam a 0V e os pinos VCC e Sleep ligam a
3,3V.
A sensibilidade deste acelerômetro pode ser alterada “onthefly”, isto é, ao ligar os pinos GS1
e GS2 a um microcontrolador podem alterar sua a sensibilidade mudando o valor lógico dos pinos. O
mesmo aplica-se ao pino Sleep (SPARKFUN, 2001).
3.3.3 – Microcontrolador
Os microcontroladores são chips inteligentes, que tem um processador, pinos de
entradas/saídas e memória. Através da programação dos microcontroladores podemos controlar suas
saídas, tendo como referência as entradas ou um programa interno (SILVA, 2007).
Segundo SILVA (2007), o que diferencia os diversos tipos de microcontroladores são as
quantidades de memória interna (programa e dados), velocidade de processamento, quantidade de
pinos de entrada/saída (I/O), alimentação, periféricos, arquitetura e set de instruções. O
microcontrolador que foi utilizado no trabalho está representado pela figura 5:
Figura 5 - Pinagem e imagem ilustrativa do PIC18F2550 (SILVA, 2007)
19
As características do microcontrolador 18F2550 do fabricante Microchip pode ser encontrado
na tabela 4, logo abaixo:
Tabela 4 - Dados do microcontrolador 18F2550 da Microchip
MemorySize
1000 Bytes
Numberof Pins
18
Access Time
20.0 µs
ClockSpeed
20.0 MHz (max)
OperatingTemperature
85.0 °C (max)
OperatingVoltage
2.00 V to 5.50 V
SupplyVoltage (DC)
5.50 V (max)
Case / Package
PDIP-18
(SPARKFUN, 2001)
3.4 – Requisitos
Para construção e funcionamento do projeto foi necessário:
- Um microcontrolador capaz de suportar a interface USB de comunicação. Utilizado:
PIC18F2550;
- Um computador para testes e desenvolvimento do software.
- Ferramentas para desenvolvimento do software:
- Plataforma de desenvolvimento: Visual Studio 2008 Express.
- Banco de Dados: SQL Server 2008 Express;
- Fonte de alimentação externa 5V;
- Bibliotecas de desenvolvimento disponibilizadas pelo Fabricante 5DT;
- Protoboard e componentes eletrônicos para desenvolvimento e teste;
Para o funcionamento do protótipo:
Foi preciso um par de luvas sensoriais, juntamente com o módulo de acelerômetro integrado
ao microcontrolador. O protótipo foi conectado a um computador que possuía no mínimo:
- Sistema Operacional Windows XP;
- 2 Gigabytes de memória;
20
- 300 Megabytes de espaço livre em disco;
- Processador de 2GHz;
A alimentação da luva sensorial se dá através da interface USB, que por sua vez, também é
responsável pela comunicação entre computador e hardware.
Na interpretação dos dados providos do hardware é necessário ainda o Software Identificador
de Libras JF.
No mais, necessitou-se que o usuário do protótipo entendesse um mínimo da LIBRAS ou
possuísse um manual dos gestos conhecidos pelo protótipo, afim de que pudesse efetuar com
sucesso a interação homem-máquina.
3.5 – Especificação de software
No contexto deste projeto, foi identificado a necessidade criar uma série de interações entre
os equipamentos de hardware e o software. O projeto divide-se então duas partes que se interagem:
Aquisição de dados do hardware e tratamento dos dados pelo software para identificação dos gestos.
3.5.1 - Aquisição dos dados
Como já é de conhecimento, o protótipo utiliza um acelerômetro com as características
mencionadas no tópico 2.4, ou seja, o sinal obtido é puramente analógico. O computador, por sua
vez, não é capaz de reconhecer tais sinais, o que torna indispensável o desenvolvimento de um
circuito para tratamento desse sinal analógico. Para isso foi utilizado um microcontrolador conforme
especificado. O microcontrolador, por sua vez, processa esses sinais analógicos e disponibiliza via
conexão USB binariamente os sinais digitalizados. Vejo o exemplo na figura 6 abaixo:
Figura 6 - Amostragem do sinal de entrada e saída do microcontrolador
Os sinais providos da luvas sensoriais já são digitais, ou seja, possuem configuração serial
configurada pelo fabricante. Desta forma os dados que chegam ao software já estão configurados
digitalmente. Tendo esses dados, coube ao software processá-los para compreender os gestos feitos.
21
3.5.2 - Tratamento dos dados pelo software
Após o computador receber os dados via conexão USB, o software já preparado para receber
essas informações inicia o ciclo de processamentos dessas informações. Um algoritmo foi
desenvolvido, seguindo a linha de raciocínio do digrama em blocos 1, descrito logo abaixo.
Para facilitar o desenvolvimento, a luvas sensorial possui algumas bibliotecas prontas para
recebimento dos sinais providos do hardware. Essas bibliotecas possuem identificador fd, indicando o
fabricante (Fifth Dimension Technologies). Para obter os valores é usado um verbo para definir uma
determinada ação (Scan, Get,Open, Close), e a informação que identifica o propósito da função
(SensorRawAll, SensorScaledAll, NumberSensors, Calibration). Em seguida, entre parênteses são
disponibilizados os parâmetros da referida função, geralmente compostos pelo ponteiro
do tipo
fdGlove (que representa a luva de dados na aplicação e é definido na biblioteca disponibilizada pelo
fabricante) e uma variável para armazenar informações a serem
recebidas
(como
os
valores
dos sensores), ou a serem enviadas (como por exemplo, valores para calibração).
Por exemplo, na função fdGetSensorRawAll (pGlove,vetor) , que pode ser implementada
para
obter
os
valores
de
todos
os
sensores
da
luva
de
dados
simultaneamente, fd
indica o fabricante, Get identifica a ação de receber informação, SensorRawAll mostra que
é uma função para obtenção de todos os sensores do dispositivo, pGloveé um ponteiro
do tipo fdGlove , e vetor indica um array fictício para armazenar os valores obtidos.
A figura 7 representando o diagrama em blocos descrito na próxima página demonstra o
funcionamento do software, no que se refere a tratamento de dados obtidos do hardware.
22
Figura 7 - Fluxograma de tratamento de dados
Aprofundando um pouco mais o tratamento dos dados, no que diz respeito à utilização de
threads, desenvolveu-se um sistema de busca baseado no tempo de resposta do hardware (100ms
por amostra) juntamente com a busca em paralelo proporcionada pelo uso das linhas de execução.
As threads são acionadas a cada ciclo de 400ms e cada uma tem a capacidade de retornar um valor
válido como resposta. Se esse valor válido for o mesmo em mais de uma thread, então o software
considera que aquele valor é o correto para o gesto que se quer identificar. Abaixo, na figura 8,
temos uma representação do que foi descrito acima:
23
Figura 8 - Lançamento das Threads
Como determinado, as threads se iniciam umas após as outras trazendo respostas
respectivas a cada ciclo de leitura determinado pelo tempo de início de cada thread.
3.5.3 - Banco de Dados
O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional criado
pela Microsoft em parceria com a Sybase em 1988 e inserido como produto complementar do
Windows NT. Ao final da parceria, em 1994, a Microsoft continuou aperfeiçoando o produto. Com a
nova versão a Microsoft SQL Server 2008 é fornecida uma plataforma de dados confiável, produtiva e
inteligente que permite que você execute suas aplicações de missão crítica mais exigentes, reduza o
tempo e o custo com o desenvolvimento e o gerenciamento de aplicações e entregue percepção que
se traduz em ações estratégicas em toda sua organização. O SQL é um banco de dados robusto e
usado por sistemas corporativos dos mais diversos portes.
Como já dito anteriormente, a inserção do valor fornecido pelo hardware ocorre via software.
Porém, um cálculo é feito antes da inserção efetiva, a fim de se obter valores inteiros e únicos que
caracterizem e diferenciem o movimento feito pelo usuário da luva. Este cálculo baseia-se no conceito
de distância de vetores, que por sua vez, descreve-se pela obtenção de um valor único retirado de
dois vetores, que denota a distância cartesiana entre eles. O conceito é muito simples, sendo a
distância representada pela diferença modular entre dois vetores. Para um melhor entendimento,
temos abaixo a descrição detalhada da equação 1:
Equação 1 – Distância entre dois pontos no espaço
A equação 1 representa a forma de cálculo entre dois vetores de três posições. No software
proposto, o cálculo deve ser feito com um vetor de oito posições, ou seja, a fórmula aumentaria
apenas em termos de fatores dentro da radiciação.
24
Tendo em conta esta distância numérica e única, a busca no banco de dados se dá
simplesmente pela execução de um comando “SELECT” feito via código no programa principal de
controle. Cabe a observação de que, como estamos lidando com um sistema analógico, uma
variância nesses valores para um mesmo movimento é possível e, por isso, o comando enviado ao
banco de dados para seleção da resposta correta é feito com uma margem de erro de dez unidades
de valor para mais ou para menos.
25
4 – IMPLEMENTAÇÃO
O projeto foi dividido em duas etapas, sendo estas compostas pelo desenvolvimento do
hardware e desenvolvimento do software, respectivamente.
4.1 – Implementação: Hardware
Para desenvolvimento do hardware, duas etapas foram traçadas e cumpridas baseadas na
descrição do capítulo três, sendo necessária a constituição do firmware do microcontrolador, bem
como a construção da placa de controle que envia os dados de forma digital para a interface
computacional. Para a montagem da placa de circuito impresso foram necessários os seguintes
componentes, representados pela tabela 5:
Tabela 5 - Componentes do protótipo
Componente
Descrição
Fabricante
Qtde
Microcontrolador
PIC 18F2550
Microchip
2
Acelerômetro 3 Eixos
Mma7260
Freescale
2
Capacitor
15nF
-
2
Capacitor
0.4uF
-
1
Capacitor
470nF
-
1
Capacitor
0.1uF
-
4
Resistores
10KOhm
-
1
Resistores
1KOhm
-
3
Regulador de Tensão
L78L33
STMICROELECTRONICS
2
Cabo USB
-
-
2
Conector USB B
-
-
2
4.1.1 - Firmware do microcontrolador:
O firmware desenvolvido precisou transformar o sinal analógico, proveniente do acelerômetro,
em um sinal digital. O algoritmo responsável por essa função específica baseou-se em duas rotinas
distintas: a captura de sinais feita pelo acelerômetro e o envio destes para o computador. Para
controlar o envio de sinais de forma a evitar a perda de dados ou mesmo a repetição deles,
introduzimos no firmware um critério de parada simples de um bit cuja função é determinar se o dado
lido foi recebido com sucesso ou se ainda está sendo recebido.
26
Todo o funcionamento básico do firmware foi descrito no fluxograma representado pela figura
9, que é mostrada logo abaixo:
Figura 9 - Algoritmo do firmware gravado no microcontrolador
A linguagem de programação C foi utilizada para o desenvolvimento do firmware, além de
duas bibliotecas padrão para conexão com porta USB. O firmware faz a leitura do sinal analógico a
cada 100ms através das portas de entrada do conversor AD do microcontrolador. Esses dados, por
fim, tornam-se digitais e são enviados ao software via porta USB.
3.1.2 – Montagem do circuito:
Como já dito, a segunda parte do desenvolvimento do hardware consituiu-se da montagem da
placa de circuito impresso capaz de fazer a comunicação com a interface computacional. A figura 10,
abaixo, representa detalhadamente a ligação dos componentes, bem como a resposta da
comunicação USB.
Figura 10 - Esquemático da comunicação entre Hardware e computador pela porta USB.
Outra representação do circuito descrito acima pode ser vista abaixo, através da figura 11:
27
Figura 11–Ilustração das dimensões placa de circuito Impresso e representação do Acelerômetro
Conforme mostrado na figura 11, as tensões fornecida pelo acelerômetro ( das dimensões X,
Y, Z) são recebidas pelo microcontrolador através dos canais de ADC (conversores analógicos para
digitais).
Esses canais, por sua vez, são responsáveis por transformar essas tensões em
informações digitais. Para se fazer essa conexão entre o microcontrolador e o acelerômetro
utilizamos alguns capacitores de 0,1uF e resistores de 1KOhm. A figura 12 mostra as conexões feitas,
além da configuração do acelerômetro para trabalhar dentro da faixa de captura. Essa configuração é
feita através da tensão fornecida por um dos pinos do microcotrolador (P0 ou P1 ou P2).
Figura 12 - configuração recomendada do acelerômetro ao micrcontrolador.
4.2 – Software
Para que a leitura dos dados de hardware seja feita de forma a possibilitar que usuários
comuns consigam interagir com o protótipo e utilizá-lo de forma produtiva, foi construído um sistema
de controle(software) capaz de interagir com usuário, afim de que o mesmo possa se comunicar,
aprender os gestos da libras, conhecer a história e incluir os gestos conforme necessidade e aprendizado.
O software foi implementado utilizando a interface de desenvolvimento Visual Studio 2010 C#
e foi condicionado a desempenhar as funções previstas com sucesso.
28
4.2.1 - Login no sistema
Como dito, cada usuário poderá possuir seus próprios gestos no sistema. Para isso, o login
no sistema deverá ser único para cada usuário. A figura 13 mostra a tela que valida a abertura do
sistema.
Figura 13 - Tela de login
Caso o usuário seja novo no sistema, o mesmo poderá fazer seu cadastro, informando dados
pessoais, senha e nome do login a ser usado no sistema. A figura 14 mostra esse formulário.
Figura 14 - Tela de cadastro
29
4.2.2 - Realidade Virtual do sistema
Com o objetivo de fornecer interatividade durante a navegação dento do sistema, foi
implementado, utilizando a luva sensorial e o acelerômetro, um modelo de interface de comandos em
que o usuário poderá abrir os formulários usando os movimentos da própria luva sensorial e o
acelerômetro. Assim que o sistema é aberto, uma série de opções de navegação são mostrados ao
usuário. São as opções contidas no sistema, lembrando que para fazer uso destas funções é
necessário dobrar os dedos em direção à palma da mão:

Polegar Direito – Abre e fecha formulário de interpretação de gestos.

Polegar Esquerdo – Abre e fecha formulário de inserção de novos gestos.

Indicador Esquerdo – Abre e fecha formulário de história da Libras.

Indicador Direito – abre e fecha formulário de vídeos de aprendizado da Libras.

Anular Direito – Abre e fecha formulário “Sobre” do sistema.

Médio Esquerdo – Habilita controle do mouse via dados do acelerômetro.

Movimento brusco do acelerômetro – fecha o sistema em definitivo.
Na imagem 15 temos a tela de abertura do sistema e as opções conforme descritas acima.
Figura 15 - Tela inicial
30
Como dito, o protótipo tem a intenção de abordar um pouco sobre o mundo da língua
brasileira de sinais. Neste intuito, o sistema computacional possui algumas telas abordando um pouco
a história e gestos conhecidos da Libras.
A tela da história da Libras, conforme mostrado na figura 16, aborda o início do uso desta
linguagem no Brasil e o seu avanço e uso na atualidade.
Figura 16 - Tela de história da LIBRAS
Foi desenvolvido ainda uma tela para aprendizado da Libras. Nesta existem 10 vídeo-aulas,
abordando os principais gestos da libras, como o alfabeto, cumprimentos, elogios, família,
agradecimentos e assim por diante. Nesta tela é possível escolher as vídeos-aula a partir da luva
sensorial, reproduzir, pausar ou reiniciar a vídeo-aula a partir dos movimentos específicos das mãos.
Seguem detalhados abaixo, os comandos existentes:

Polegar Esquerdo – Volta para vídeo anterior.

Indicador Esquerdo – Executa vídeo-aula escolhido.
31

Polegar Direito – Avança para próxima vídeoaula.

Indicador Direito – Pausa a vídeo-aula.

Médio Direito – Reinicia a vídeo-aula.

Movimento brusco do acelerômetro – fecha o formulário de vídeos-aula de
aprendizado.
Na figura 17 observar-se esta tela com seus comandos específicos, conforme mencionado.
Figura 17 - Tela de vídeo-aulas
A fim de obter informações de contato sobre as pessoas que construíram o sistema, foi
desenvolvido uma tela específica para isso, conforme mostrada na figura 18, com o nome “SOBRE”.
32
Figura 18 - Tela "SOBRE"
4.2.3 - Inserção e Interpretação da LIBRAS
O objetivo principal do sistema é a interpretação dos gestos feitos pelo usuário. Para tanto, é
necessário que haja a população do banco de dados com os gestos conhecidos. Seguindo esta linha
de raciocínio, foi desenvolvida uma tela capaz de capturar os gestos feitos pelo usuário e armazenar
num banco de dados. Este armazenamento pode ser feito por usuários diferentes, ou seja, diferentes
usuários podem inserir o mesmo gesto no banco de dados, possibilitando que o sistema saiba o
padrão de cada usuário durante o processamento de identificação dos gestos.
A figura 19 mostra o fluxograma que representa a forma com que o sistema armazena essas
informações.
33
Figura 19 - Fluxograma de inserção de dados
Tanto na inserção de dados quanto na interpretação de dados, ocorre a calibração do
hardware. É feita uma somatória dos valores de cada eixo do acelerômetro e de cada dedo da luva.
Após 50 leituras/somatória, é tirado um conjunto de médias, as quais simbolizam o ponto zero do
hardware. A partir deste momento, todos os valores coletados serão subtraídos deste conjunto de
dados.
Após a calibração, o campo para inserção do gesto é liberado. Neste campo o usuário poderá
digitar o nome do gesto a ser armazenado no banco de dados. Se o usuário tentar iniciar a gravação
sem digitar, uma mensagem de erro será levantada, informando ao usuário a necessidade de
preenchimento deste campo.
Como foi mostrado no fluxograma 1, o usuário deverá gravar cinco vezes o mesmo gesto,
para que seja gerado um centróide, ou seja, uma média final das gravações. É baseado neste
centróide que ocorre os filtros no banco de dados para interpretação dos gestos.
O inicio da gravação é determinada pelo usuário a partir do uso da luva esquerda, que neste
momento é chamada de “Luva de Controle”. Segue os comandos existentes para gravação:

Polegar Esquerdo – Inicia a gravação.

Indicador Esquerdo – Finaliza a gravação.
34

Médio Esquerdo – Fecha o formulário de inserção.
A Figura 20 mostra o formulário de inserção de gestos, com seus respectivos campos e
informações.
Figura 20 - Tela de inserção de dados
A gravação dos dados será feita em tabelas pré-definidas. Nessas tabelas constam os nomes
dos diferentes tipos de testes, os nomes dos gestos gravados e os valores calculados pelo software
para cada leitura feita.
Após a inserção dos gestos, é possível fazer a interpretação dos gestos e amostragem
computacional. A interpretação de gestos se dá de duas formas: dinamicamente ou estaticamente. Na
interpretação dinâmica o sistema filtra o banco de dados em busca de algum gesto do alfabeto.
Os dados são coletados num intervalo de 18 leituras do hardware. São utilizadas para
interpretação um total de três threads. Conforme os dados vão sendo lidos e tratados, um método
específico alimenta o gerenciador de threads. À medida que os dados chegam ao gerenciador de
threads, um contador é responsável por inicializar as threads ou finalizar o uso das mesmas. Quando
uma thread completa um conjunto de dez leituras, a mesma inicia o filtro no banco de dados para
identificação dos gestos.
No método de filtragem dinâmica é feito um loop comparando o conjunto de leituras com os
valores gravados no banco, buscando as possíveis combinações. Quando é retornado algum valor,
um contador é incrementado.
Quando o loop é terminado, um método de estatística é chamado, onde o mesmo verifica se
houve uma precisão de acertos acima de 70%. Se sim, o(s) gesto(s) encontrado(s) é(são)
retornado(s). Assim ocorre sucessivamente até as três threads finalizarem a filtragem e devolver ao
35
formulário a resposta através de uma combinação de gestos (neste caso devem-se haver no mínimo
duas respostas iguais para ser amostrado o nome do gesto).
Na filtragem estática, a forma com que os dados são coletados é comandada pelo usuário, ou
seja, existe um começo e fim de coleta de dados. Utilizando a luva da mão esquerda (luva de
controle) o usuário dispõe dos seguintes comandos:

Polegar Esquerdo: Inicializa a coleta de dados. O mesmo comando feito pela
segunda vez finaliza a coleta de dados.

Indicador Esquerdo: Muda o tipo de interpretação de Filtro estático para dinâmico.

Médio Esquerdo – Fecha o formulário de interpretação de gestos.
A filtragem estática não usa threads. Os dados coletados são passados para um método de
filtragem do banco de dados. Neste método, acontece um loop, ao fim do loop, uma função de
estatística é chamada para ver precisão de acertos (assim como acontece na filtragem dinâmica).
Após isso, os gestos encontrados são amostrados na tela para usuário. Uma vantagem desta
filtragem é a conjugação de verbos. Assim que o resultado é amostrado, o usuário pode incluir isso
num conjunto de outros gestos, podendo formar frases. Cada vez o usuário faz isso, um método de
conjugação de verbos é chamado. Este método percorre a frase montada a procura do agente verbal,
se o agente é encontrado, é verificado no banco de dados os verbos correspondentes da frase e
conjugados corretamente.
Uma representação do formulário de interpretação de dados acima descrito pode ser
encontrado na figura 21, inserida abaixo:
Figura 21 - Tela de interpretação de dados
36
4.2.4 - Classes do software e suas funcionalidades
O software desenvolvido dividiu-se em três tipos de classes distintos, de forma que todas em
conjunto contribuíssem para que a inserção de dados e usuários e a interpretação de gestos
ocorressem sem maiores problemas. As classes abaixo descritas representam estes três tipos:

Classes referentes a usuário:
clsLogin – Classe responsável pelo login do usuário. Nesta classe faz-se as validações de
senha e login.
clsControlCadastro – É a classe de controle de cadastro de novos usuários. Esta classe não é
responsável pelas ações no banco, ou seja, tem única finalidade de controlar as informações
do formulário e transmiti-las para classe de gravação ou obtenção dos dados do banco de
dados.
clsDadosCadastro
–
Esta
classe
recebe
os
parâmetros
da
classe
de
controle
(clsControlCadastro) e faz operação de cadastro no banco ou consulta no mesmo. É desta
classe que se grava ou obtém os dados a serem amostrados na tela de cadastro de novos
usuários do sistema.

Classes relativas à inserção de dados:
clsInsercao – Classe responsável pela inserção dos gestos no banco de dados e o tempo em
segundos do gesto coletado.
clsCentroide – Nesta classe existe vários métodos, os quais tem o objetivo de calcular a
média de valores de cada gesto a serem inseridos no banco de dados.

Classes relativas à interpretação dos gestos:
clsFiiltragemDinamica – Uma das classes principais do sistema. Possui métodos capazes de
fazerem buscas no banco de dados, gerar estatísticas e retornar ao formulário os gestos
encontrados.
clsFrasesConjugadas – À medida que os gestos são identificados, os mesmos são
armazenados num array dinâmico e são enviados a esta classe que tem o objetivo de
verificar a existência de verbos e assim conjugar a frase para o tempo verbal correto.
clsThreds – Nesta faz-se o gerenciamento das 3 threads abertas durante processamento de
identificação de gestos dinamicamente.

Classes genéricas:
clsCalibracao – Classe responsável pela calibração do acelerômetro e do par de luvas.
37
clsUnificacao – classe responsável pela unificação dos dados chegados da luva e
acelerômetro, já que este dados chegam duplicados e com tipo diferente da usual.
38
5 – RESULTADOS E DISCUSSÃO
Como já foi dito, além de utilizar a luva sensorial, foi preciso implementar algo que
conseguisse capturar as posições no espaço (X,Y,Z), neste caso fez-se uso do acelerômetro e
microcontrolador para comunicar-se com computador. A figura 22 nos mostra como ficou a placa.
Figura 22 - Placa de circuito desenvolvida
O protótipo final, em questão de hardware, ficou constituído de três módulos interligados ao
software: A luva sensorial, acima da luva ficou o acelerômetro preso a um elástico e no braço o
microcontrolador que faz a comunicação entre acelerômetro e computador. A figura 23 mostra como
ficou o protótipo final.
Figura 23 - Luva integrada ao circuito
Após todo o desenvolvimento do projeto, obtivemos como resultado a construção do software
computacional capaz de realizar todo o objetivo proposto.
39
Todas as funcionalidades são descritas detalhadamente no software de forma que qualquer
usuário leigo tenha totais condições de utilizar o software sem maiores problemas.
As telas principais do software são as de inserção e interpretação de dados, já comentadas
no capítulo anterior, e tem como característica semelhante, a necessidade de se calibrar a luva e o
acelerômetro antes de se iniciarem os trabalhos. Essa calibração leva não mais que 5 segundos e é
feita afim de que os dados sejam colhidos e tratados da melhor forma possível, eliminando ao
máximo a possibilidade de distorção destes dados.
Nota-se ainda, que a identificação dos dados pode ser feita da forma estática, ou seja,
iniciando e parando a identificação manualmente; ou de forma dinâmica, que por sua vez, denota a
identificação do movimento sem a necessidade da interferência manual. A primeira forma tem maior
nível de acerto devido à exatidão do tempo de movimento alcançada somente pela determinação
manual do usuário. Os níveis de acerto chegam a 70% em média, para movimentos tri-dimensionais,
e 85% em média, para movimentos estáticos (alfabeto).
Fazendo uma linha de comparação com o trabalho desenvolvido por GABARDO (2005), é
possível concluir que, atentando-se aos novos desafios citados no mesmo, atingiu-se, de forma
plenamente satisfatória, o resultado desejado, uma vez que conseguiu-se aumentar a margem de
acerto consideravelmente, subindo de 50% para 85%, em se tratando de identificação do alfabeto
LIBRAS. Além disso, tornou-se possível a identificação de gestos completos e com isso, a formação
de frases completas caracterizando o diálogo entre usuários de forma plena, trabalhando com uma
margem de acerto de 70% para esse tipo de interpretação de dados.
Para ilustrar esse desempenho, podem-se observar as tabela 5 e 6, com os movimentos
gravados e suas respectivas margens de acerto durante sua interpretação:
40
Tabela 5 - Resultados do alfabeto
Letra do Alfabeto
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
Q
Z
W
Y
Índice de acertos
95%
90%
80%
80%
60%
70%
60%
50%
95%
50%
50%
80%
70%
80%
70%
50%
50%
50%
60%
Índice de acertos
75%
80%
60%
Verbos
Nome do Gesto
EU
NÓS
VOCÊ
QUERER
NÃO QUERER
NÃO TER
GOSTAR
CHORAR
70%
70%
60%
60%
50%
Outros
Agente
Verbal
Tabela 6 - Resultados dos gestos
BOM
NOME
IDADE
AVIÃO
TIO
IRMÃO
50%
70%
50%
70%
60%
80%
Os novos desafios para este projeto são, sem dúvida a melhoria da captação de dados
dinâmicos em três dimensões, de forma a aumentar a acurácia da interpretação de gestos
completos. Outra dificuldade encontrada foi o tempo de processamento do sinal pela interface
computacional, que leva em torno de 100ms para processar cada entrada, e, como o software
precisa de no mínimo 10 leituras para interpretar um dado, nota-se que o software leva no mínimo
1 segundo para que um movimento seja lido, fato que inviabiliza a leitura em tempo real de uma
41
conversa em LIBRAS. A solução para este problema, é a implementação de um buffer,
configurado para armazenar os dados lidos em paralelo com a interpretação feita pelo software.
42
6 - REFERÊNCIAS BIBLIOGRÁFICAS
IBGE. Instituto Brasileiro de Geografia e Estatística. Disponível em: http://www.ibge.gov.br/home/,
acessado em 15 de Outubro de 2011.
PEREIRA, A. V. Barbosa. LIBRAS: Uma explicação para todos. Porto Alegre: [s.n.], 2002.
GABARDO, Thiago. Reconhecimento computacional da língua brasileira de sinais. Curitiba Universidade Positivo, 2005.
ARAÚJO, Ana Paula de. Estudo de caso: Comunicação entre surdos usando a LIBRAS. Aracaju: [s.n.],
2010.
MARQUES, J. Salvador. Reconhecimento de Padrões. São Paulo: Editora Wook, 2005.
5DT. Manual Luva 5DT Ultraseries. Disponível em: http://www.5dt.com/downloads/dataglove/ultra/
5DT%20Data%20Glove%20Ultra%20-%20Manual.pdf, acessado em 17 de Outubro de 2011.
PRADA, Rodrigo. Acelerômetro: O instrumento de interação do controle do Nintendo Wii. Campinas:
[s.n.], 2009.
SPARKFUN. Datasheet do acelerômetro MMA7260Q Breakout Board. USA: MICROCHIP, 2001.
SILVA, Renato A. Programando Microcontroladores PIC: Programação em Linguagem C. São
Paulo:Editora Ensino Profissional, 2007
Download