Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação Tiago Machado Gabardo Reconhecimento Computacional da Língua Brasileira de Sinais Curitiba 2005 Centro Universitário Positivo - UnicenP Núcleo de Ciências Exatas e Tecnológicas – NCET Engenharia da Computação Tiago Machado Gabardo Reconhecimento Computacional da Língua Brasileira de Sinais Monografia apresentada à disciplina de Projeto Final, como requisito parcial à conclusão do Curso de Engenharia da Computação. Orientador: Prof. José Carlos da Cunha. Curitiba 2005 TERMO DE APROVAÇÃO Tiago Machado Gabardo Reconhecimento Computacional da Língua Brasileira de Sinais Monografia aprovada como requisito parcial à conclusão do curso de Engenharia da Computação do Centro Universitário Positivo, pela seguinte banca examinadora: Prof. José Carlos da Cunha Prof. Edson Pedro Ferlin Prof. Valfredo Pilla Jr. Curitiba, 01 de janeiro de 2006. AGRADECIMENTOS Este trabalho não seria possível sem a ajuda direta ou indireta de algumas pessoas a quem sinto a obrigação de agradecer. Aos amigos do laboratório Alto Desempenho que muito contribuíram para a elevação do meu conhecimento técnico durante a execução dos projetos. Aos meus amigos, especialmente Gilberto e Rafael, por terem entendido a minha ausência devido a este trabalho e a compromissos da graduação. Também pelos momentos de alegria e descontração que serviram como um apoio para mim. Ao meu orientador e amigo, professor Cunha, por ter dado a idéia e confiado este projeto a mim. Também pela confiança na execução do mesmo e, por todas as oportunidades de crescimento pessoal e profissional que me proporcionou com a sugestão de projetos durante o curso. Para minha irmã, Renata, que sempre ficou feliz pelas minha conquistas. Para minha avó Rosa e tias Doroti, Tereza e Nelsi que tiveram um papel fundamental na minha infância. Especialmente às minhas tias Nelvi e Cida, por terem, desde a minha infância, participado ativamente da minha educação e vida escolar. Também por me acolherem em Curitiba. Obrigado pela constante prontidão em ajudar e por me tratarem como um verdadeiro filho. Aos meus pais, Renato e Lidia, por nunca terem medido esforços para me oferecer uma vida melhor e mais rica em oportunidades do que a que tiveram. Obrigado por terem me ensinado o valor do esforço em tudo que faço e por nunca terem permitido que eu desistisse de algo por causa das dificuldades encontradas. Não consigo expressar a minha admiração e gratidão por todo o esforço que vocês tiveram durante a minha educação e por terem devotado a mim grande parte de suas vidas sem almejar nenhum retorno. Não conseguimos definir o amor em palavras, mas tenho certeza que dele faz parte essa doação incondicional. Finalmente, agradeço a Deus por ter me oferecido oportunidades que somente pessoas privilegiadas têm. Entre elas, a chance de receber uma educação de primeira linha e de nascer em meio a pessoas tão maravilhosas como as citadas acima. SUMÁRIO LISTA DE FIGURAS ....................................................................................................................III LISTA DE TABELAS...................................................................................................................IV LISTA DE EQUAÇÕES .............................................................................................................. V LISTA DE SIGLAS.......................................................................................................................VI LISTA DE SIGLAS.......................................................................................................................VI LISTA DE SÍMBOLOS ...............................................................................................................VII RESUMO ....................................................................................................................................VIII ABSTRACT...................................................................................................................................IX 1 INTRODUÇÃO......................................................................................................................1 2 DESCRIÇÃO DO PROJETO..............................................................................................2 3 REVISÃO BIBLIOGRÁFIC A ...............................................................................................2 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 4 LÍNGUAS DE SINAIS ..................................................................................................2 RECONHECIMENTO COMPUTACIONAL DE GESTOS ......................................3 MEDIDAS DE TENDÊNCIA CENTRAL ....................................................................4 MEDIDAS DE VARIAÇÃO ..........................................................................................5 DISTRIBUIÇÃO NORMAL ..........................................................................................5 TEOREMA CENTRAL DO L IMITE ............................................................................5 ACELERÔMETROS – TEORIA DE OPERAÇÃO...................................................6 SENSORES DE CURVATURA ..................................................................................7 ESPECIFICAÇÃO TÉCNICA..............................................................................................8 4.1 ESPECIFICAÇÃO DO HARDWARE .........................................................................8 4.1.1 Acelerômetro – ADXL203 ...................................................................................8 4.1.2 Sensor de Curvatura – Flex Sensor ................................................................10 4.1.3 Microcontrolador.................................................................................................11 4.1.4 Transmissão de dados ......................................................................................12 4.1.5 Instalação dos sensores na luva......................................................................12 4.2 ESPECIFICAÇÃO DO SOFTWARE........................................................................13 5 VALIDAÇÃO DO PROJETO .............................................................................................15 6 CRONOGRAMA DO PROJETO ......................................................................................16 7 ESTUDO DE VIABILIDADE ECONÔMICA ....................................................................18 8 PROJETO DE HARDWARE .............................................................................................19 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 SENSORES DE CURVATURA ................................................................................19 ACELERÔMETRO .....................................................................................................19 BUFFER DE TENSÃO...............................................................................................20 MICROCONTROLADOR ..........................................................................................20 TRANSMISSÃO SERIAL ..........................................................................................20 TRANSMISSÃO USB ................................................................................................20 BUFFER DE COMUNICAÇÃO.................................................................................21 CIRCUITO DE ALIMENTAÇÃO...............................................................................21 SINAIS DE CONEXÃO..............................................................................................21 i 9 PROJETO DE SOFTWARE..............................................................................................23 9.1 FIRMWARE .................................................................................................................23 9.1.1 Fluxograma..........................................................................................................23 9.1.2 Diagrama de Estados ........................................................................................24 9.2 SOFTWARE DE CADASTRO ..................................................................................25 9.3 SOFTWARE DE ANÁLISE........................................................................................25 9.3.1 Análise Estatística ..............................................................................................25 9.4 DIAGRAMAS DE CASOS DE USO.........................................................................27 9.5 DIAGRAMA DE CLASSES .......................................................................................27 9.6 DIAGRAMAS DE SEQÜÊNC IA DO SOFTWARE DE CADASTRO...................30 9.7 DIAGRAMAS DE SEQÜÊNC IA DO SOFTWARE DE RECONHECIMENTO ..34 9.8 MODELO ENTIDADE RELACIONAMENTO .........................................................36 9.9 DICIONÁRIO DE DADOS .........................................................................................36 9.10 PROTÓTIPOS DE TELA...........................................................................................37 10 RESULTADOS ................................................................................................................37 11 CONCLUSÃO..................................................................................................................40 12 REFERÊNCIAS BIBLIOGRÁFICAS............................................................................42 13 ANEXOS ..........................................................................................................................43 13.1 A.1 DIAGRAMA ESQUEMÁTICO DOS SENSORES E INTERFACEAMENTO 44 13.2 A.2 DIAGRAMA ESQUEMÁTICO DA INTERFACE DE COMUNICAÇÃO.......45 13.3 A.3 DIAGRAMA ESQUEMÁTICO DO MICROCONTROLADOR .......................46 13.4 A.4 PROJETO DA PLACA DE CIRCUITO IMPRESSO – CAMADA TOP ........47 13.5 A. 5 PROJETO DA PLACA DE CIRCUITO IMPRESSO – CAMADA BOTTOM 48 13.6 A.6 MANUAL TÉCNICO............................................................................................49 13.7 A.7 MANUAL DO USUÁRIO.....................................................................................67 13.8 A.8 ARTIGO CIENTÍFIC O.........................................................................................84 13.9 A.9 FOTO 1 DO PROTÓTIPO DA LUVA ...............................................................90 13.10 A.10 FOTO 2 DO PROTÓTIPO DA LUVA .........................................................91 14 GLOSSÁRIO ...................................................................................................................92 ii LISTA DE FIGURAS Figura 1 - Visão geral do sistema ..............................................................................................2 Figura 2 - Sistema massa-mola .................................................................................................7 Figura 3 - Alfabeto da LIBRAS ...................................................................................................8 Figura 4 - Circuito interno do ADXL203....................................................................................9 Figura 5 - Encapsulamento do acelerômetro .........................................................................10 Figura 6 - Dimensões do Flex Sensor.....................................................................................11 Figura 7 - Microcontrolador MSC1211Y5 ...............................................................................12 Figura 8 - Sensores posicionados no dorso da luva .............................................................13 Figura 9 – Diagrama em blocos do software .........................................................................14 Figura 10 - Fluxograma do Firmware ......................................................................................24 Figura 11 - Diagrama de estados do Firmware .....................................................................24 Figura 12 - Gráfico de Distribuição dos Valores do Polegar para a Letra A .....................26 Figura 13 - Diagrama de Casos de Uso do Software de Cadastro ....................................27 Figura 14 - Diagrama de Casos de Uso do Software de Reconhecimento ......................27 Figura 15 - Diagrama de Classes do Software de Cadastro...............................................28 Figura 16 - Diagrama de Classes do Software de Reconhecimento .................................29 Figura 17 - Seqüência de Início do Software de Cadastro ..................................................30 Figura 18 - Seqüência de Inclusão Software de Cadastro ..................................................31 Figura 19 - Seqüência de Alteração Software de Cadastro ................................................32 Figura 20 - Sequência de Exclusão Software de Cadastro.................................................33 Figura 21 - Seqüência de Exibição dos Sensores Software de Reconhecimento...........34 Figura 22 - Seqüência Análise dos Dados Software de Reconhecimento .......................35 Figura 23 - MER..........................................................................................................................36 Figura 24 – Tela de Cadastro ...................................................................................................37 Figura 25 - Tela Principal ..........................................................................................................37 iii LISTA DE TABELAS Tabela 1 - Estudo de Viabilidade Econômica ........................................................................18 Tabela 2 - Sinais do Anexo A.1 (Sensores e Interfaceamento).........................................22 Tabela 3 - Sinais do Anexo A.2 (Transmissão de dados) ...................................................22 Tabela 4 - Sinais do Anexo A.3 (Microncontrolador) ............................................................22 Tabela 5 - Dicionário de Dados................................................................................................36 Tabela 6 - Resultados do Reconhecimento ...........................................................................39 iv LISTA DE EQUAÇÕES Equação 1 - Média Aritmética ....................................................................................................4 Equação 2 - Desvio Padrão ........................................................................................................5 Equação 3 - Equação de Hooke ................................................................................................6 Equação 4 - Segunda Lei de Newton .......................................................................................6 Equação 5 - Relação das equações de Hooke e Newton.....................................................6 v LISTA DE SIGLAS ADC - Analog Digital Converter. AC - Corrente Alternada. DC - Corrente Contínua. IBGE - Instituto Brasileiro de Geografia e Estatística. LIBRAS - Língua Brasileira de Sinais. MEMS - Micro Electro Mechanical System. RAM - Random Access Memory. USB - Universal Serial Bus. vi LISTA DE SÍMBOLOS B - Bytes. g - Força da gravidade. Hz - Hertz. K - Kilo. µ - Micro. n - Nano. O - Ohm. V - Volts. M - Mega. vii RESUMO Este trabalho descreve o desenvolvimento de um equipamento composto por uma luva equipada com sensores, interligada a um microcomputador do tipo PC, onde é executado um programa de reconhecimento da posição da mão do usuário. Este software é especializado no reconhecimento do alfabeto da Língua Brasileira de Sinais e pode ser usado como auxílio no aprendizado da LIBRAS e do Português por deficientes auditivos, bem como por não deficientes que queiram aprender este idioma de sinais. A leitura da posição da mão é feita com dois tipos de sensores: sensores de curvatura e movimento. Os dados destes sensores são transformados para forma digital e enviados para o computador através de um microcontrolador. Para análise dos dados no PC são usadas ferramentas estatísticas. Com este método, conseguiu-se um reconhecimento correto de 85% de todo o banco de dados. viii ABSTRACT This document shows the development of an equipment composed by a glove equipped with sensors, that is connected to a computer where a software will recognize the user’s position hand. This software is specialized in recognizing the Brazilian Sign Language’s alphabet and could be used to help teaching the Brazilian Sign Language and Portuguese to deaf people, and others that are interested in this sign language. The hand’s position is measured using two types of sensors: movement and bend sensors. The data of the sensors are passed to digital form and sent to computer by a microcontroler. Statistics tools are used to analise these data in the computer. Using this method, it was reached 85% of correct recognition considering the whole data bank. ix 1 1 INTRODUÇÃO Segundo dados do IBGE [1], aproximadamente 3,37% (5.7350.99 pessoas) da população brasileira é composta por pessoas portadoras de algum tipo de deficiência auditiva. Como pertencem a um grupo relativamente pequeno da população, a maioria dos deficientes auditivos se encontra à margem da sociedade. Os problemas de comunicação causados pela deficiência auditiva dificultam seriamente a socialização do indivíduo, já que a comunicação é um fator importantíssimo em áreas que demandam alto grau de interação social como, por exemplo, educação e mercado de trabalho. 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 de letras, palavras e expressões complexas através de sinais corpóreos. Os sinais geralmente englobam expressões faciais e gestos com braços e mãos. É possível que um surdo desenvolva a habilidade para se comunicar através da fala, mas há consenso entre os especialistas [2] de que o aprendizado de LIBRAS é uma forma mais natural de comunicação de uma pessoa deficiente auditiva, que ajuda a desenvolver a habilidade espacial do cérebro sendo possível estabelecer uma relação direta entre o mundo real e sua representação na linguagem de símbolos, o que não ocorre com a fala, já que não existe o feedback auditivo. Outra grande dificuldade lingüística que as pessoas surdas apresentam é em relação ao aprendizado do português escrito. Pensa-se, freqüentemente, que uma pessoa surda, por não apresentar nenhum problema relacionado à visão, não possui dificuldade alguma em produzir ou compreender um texto escrito. Entretanto é fato conhecido que nas instituições educacionais brasileiras, as dificuldades dos alunos surdos na aquisição da escrita é enorme, sendo a Língua Portuguesa um desafio para eles e seus professores. No caso do surdo brasileiro, o problema que se coloca é o seguinte: pelo fato de ser surdo, ele não adquire a língua oral, ou seja, o português falado de forma espontânea e, assim, seu desempenho nessa modalidade da língua portuguesa é, em geral, extremamente precário. Como as metodologias de ensino e aprendizagem da 2 escrita no Brasil fazem apelo, na maioria dos casos, ao aspecto fônico do idioma para ensinar as letras do alfabeto gráfico e, as palavras geralmente são apresentadas descontextualizadas e sem ênfase no significado, o desempenho do surdo em português escrito, que poderia ser excelente, acaba sendo precário ou quase nulo [2]. Argumenta-se que o português escrito pode ser plenamente adquirido pelo surdo se a metodologia recorrer, principalmente, a estratégias visuais, essencialmente à LIBRAS, não se enfatizando a relação letra-som, e se essas estratégias forem similares àquelas utilizadas no ensino do segundo idioma ou língua estrangeira. Com base nos argumentos apresentados acima e aliados ao fato de que a LIBRAS fornece todo o aparato lingüístico-cognitivo necessário à utilização de estratégias de interpretação e produção de textos escritos, propõe-se com este projeto, desenvolver um tipo de interface homem-máquina constituída por uma luva sensoreada e um software inteligente (operado em um computador) capazes de reconhecer as letras do alfabeto da LIBRAS feitos por um usuário. Espera-se que este sistema possa auxiliar deficientes auditivos na aprendizagem da língua portuguesa escrita e, também, pessoas ouvintes no aprendizado de LIBRAS. Futuramente, caso o projeto se mostre viável, existe a possibilidade de incrementar o hardware e software do projeto para que seja possível o reconhecimento de gestos mais complexos que representem palavras e expressões da Língua Brasileira de Sinais. 3 2 DESCRIÇÃO DO PROJETO A meta do projeto é produzir uma luva equipada com sensores resistivos de curvatura e acelerômetros, para que seja possível mapear a posição da mão de um usuário e enviar estes dados para um software que capaz de reconhecer os dados como sinais do alfabeto da LIBRAS. Os parâmetros avaliados são a curvatura dos dedos e sua relação entre si, bem como a posição da mão do usuário em relação ao solo. Os sensores são instalados na luva com ajuda de velcros costurados na mesma e nos sensores. Os sensores são lidos por um microcontrolador e estes dados enviados ao computador para que seja possível a análise dos mesmos. No computador, podem ser aplicados métodos estatísticos e/ou de inteligência artificial para identificação da posição relativa dos dedos e da mão e, conseqüentemente, o reconhecimento de um possível sinal do alfabeto da LIBRAS. Até o presente momento somente métodos estatísticos são usados para reconhecimento. Pode-se ter uma visão geral do sistema na figura 1. Figura 1 - Visão geral do sistema 4 3 REVISÃO BIBLIOGRÁFICA 3.1 Línguas de Sinais As línguas de sinais apresentam-se numa modalidade diferente das línguas orais-auditivas; são línguas espaço-visuais, ou seja, a realização dessas línguas não é estabelecida através do canal oral-auditivo, mas através da visão e da utilização do espaço. A diferença na modalidade determina o uso de mecanismos sintáticos específicos diferentes dos utilizados nas línguas orais. As línguas de sinais são sistemas lingüísticos independentes dos sistemas das línguas orais e não são universais. Pesquisas sobre idiomas de sinais vêm mostrando que estes são comparáveis em complexidade e expressividade a quaisquer idiomas orais. Estas línguas expressam idéias sutis, complexas e abstratas, permitindo que seus usuários discutam sobre diversos assuntos como filosofia, literatura ou política, além de esportes, trabalho, moda e a utilizem com funções estéticas para fazer poesias, estórias, teatro e humor [3]. As línguas de sinais são naturais porque, assim como as línguas orais, surgiram espontaneamente da interação entre pessoas e porque devido à sua estrutura permitem a expressão de qualquer conceito - descritivo, emotivo, racional, literal, metafórico, concreto, abstrato - enfim, permitem a expressão de qualquer significado decorrente da necessidade comunicativa e expressiva do ser humano. Por isso são complexas, porque são dotadas de todos os mecanismos necessários aos objetivos mencionados, porém, econômicas e “lógicas” porque servem para atingir todos esses objetivos de forma rápida e eficiente e até certo ponto de forma automática. Isto porque, tratando-se muitas vezes de significados que demandam operações complexas que devem ser transmitidas prontamente diante de diferentes situações e contextos, seus usuários terão que utilizar os mecanismos estruturais que elas oferecem de forma apropriada sem ter que pensar e elaborar longamente sobre como atingir seus objetivos lingüísticos. Como as línguas de sinais utilizam-se de um meio ou canal visual-espacial e não oral auditivo, muitas vezes apresentam formas icônicas, isto é, formas lingüísticas 5 que tentam copiar o referente real em suas características visuais. Esta iconicidade mais evidente nas estruturas das línguas de sinais do que nas orais deve-se ao fato de que o espaço parece ser mais concreto e palpável do que o tempo, dimensão utilizada pelas línguas orais-auditivas quando constituem suas estruturas através de seqüências sonoras que basicamente se transmitem temporalmente. A LIBRAS é natural e dinâmica como as línguas orais-auditivas, apresentando regras finitas que podem ser usadas para criar um número infinito de expressões e símbolos, de acordo com a necessidade de seus usuários. Considera-se que a LIBRAS é ou deve ser a língua materna dos surdos não porque é a língua natural dos surdos, mas sim porque, tendo os surdos bloqueios para a aquisição espontânea de qualquer língua natural oral, eles sim é que só vão ter acesso a uma língua materna que não seja veiculada através do canal oral-auditivo. A LIBRAS é a língua que possibilita aos surdos o desenvolvimento de toda capacidade lingüística nata de todo o ser humano [3]. 3.2 Reconhecimento Computacional de gestos Desde o surgimento dos primeiros computadores, existe um esforço para tornar a comunicação homem-máquina cada vez mais natural para os usuários destes equipamentos. Em todo histórico da Computação, buscou-se facilitar a operação dos computadores por meio de ferramentas implementadas em software e hardware, de forma a aumentar a produtividade do uso do computador. Assim, o objetivo principal é que o usuário possa extrair a máxima capacidade do equipamento, preocupando-se o mínimo com detalhes técnicos. Evoluções nesta área da computação mostram-se desafiadoras porque geralmente demandam que novas formas de interação sejam fáceis de ser assimiladas pelo usuário final e, ao mesmo tempo, mantenham toda a flexibilidade de funcionamento da máquina. Estes objetivos contrastantes geralmente fazem surgir soluções que exigem processamentos complexos, como por exemplo, o reconhecimento de imagens. Na maior parte das pesquisas relacionadas a este fim, procura-se fazer o reconhecimento do comportamento corporal do usuário. Como exemplo, podemos citar sistemas que utilizam reconhecimento de imagens, reconhecimento de voz e posições 6 ou movimentos de partes do corpo humano. As áreas mais vistosas para aplicações destas técnicas são a Realidade Virtual e Realidade Aumentada, porém, o campo de aplicações é muito mais amplo. Como a maioria destas novas interfaces procuram fazer uma análise do comportamento do usuário em relação ao espaço e/ou tempo, surge a idéia e fazer o reconhecimento computacional de gestos predeterminados. Desta forma, os idiomas de sinais servem bem a esta abordagem porque são idiomas completos, com regras muitas vezes complexas, porém, bem determinadas. Várias pesquisas que visam o reconhecimento de linguagens de sinais já foram desenvolvidas e outras estão em andamento. A maioria delas usa como ferramenta o reconhecimento de imagens; outras usam algum tipo de equipamento ligado ao corpo do usuário. Logicamente, do ponto de vista do usuário, o reconhecimento de gestos através de imagens é preferível porque implica em um grau de liberdade muito maior aos movimentos corpóreos. Porém, este tipo de técnica demanda um processamento computacional altamente complexo porque deve extrair várias imagens em um pequeno intervalo de tempo e também lidar com variações nas posições do corpo do usuário [4]. Outras técnicas fazem uso de uma luva equipada com diversos sensores [5][6] para mapear a posição da mão. Neste caso, o desafio é produzir uma luva que possa fornecer o maior número possível de informações sobre o posicionamento da mão, comprometendo minimamente a liberdade do usuário. Para o reconhecimento de gestos ou linguagens de sinais é também necessário um software capaz de obter as informações do hardware (câmeras e sensores) e decidir se os dados representam um sinal válido e qual sinal eles representam. Para isso, são usadas técnicas estatísticas e de inteligência artificial como redes neurais. Outro componente fundamental para uma análise consistente dos dados é um banco de dados com informações sobre os sinais que serão avaliados e que seja estatisticamente válido. No caso específico da LIBRAS, existem esforços para confecção de um banco de dados padrão para este fim [9]. É importante observar que a construção de tal base de dados é uma tarefa complicada já que apresenta um volume de dados grande devido às variações entre sinais executados por pessoas diferentes. O campo de pesquisas na área da interface homem-máquina oferece grandes desafios e, ao mesmo tempo, um campo de aplicações enorme que vai desde a operação remota de um dispositivo eletrônico até a aplicações em Engenharia da Reabilitação e Lingüística, por exemplo. 7 3.3 Medidas de Tendência Central A maioria dos conjuntos de dados apresenta uma diferente tendência de se agrupar ou concentrar em torno de um ponto central (ou “meio” do conjunto). Assim sendo, para um conjunto de dados, em particular, geralmente se torna possível selecionar um valor típico ou representativo para descrever todo o conjunto. Tal valor descritivo é uma medida de localização ou tendência central. Há diferentes definições de medidas de tendência central como, por exemplo, média, mediana, moda, ponto médio, etc [7]. A medida de tendência central relevante para este trabalho é a média aritmética (ou simplesmente “média”), que é obtida somando-se todos os valores do conjunto de dados e dividindo-se o total pelo número de itens envolvidos. Na implementação do software de reconhecimento estatístico, a média desempenha uma função crucial juntamente com uma medida da variação dos dados. A média é obtida pela Equação 1, onde n é o tamanho da amostra e xi é a iésima observação da variável aleatória X. Equação 1 - Média Aritmética 3.4 Medidas de Variação As medidas de variação são de grande importância para a estatística porque são ferramentas que fornecem meios para avaliação do comportamento dos dados. As medidas de tendência central dão uma idéia sobre o conjunto de dados, mas não são capazes de fornecer informações sobre como eles se distribuem. Usando-se alguma medida de tendência central em conjunto com uma medida de variação pode-se extrair este tipo de informação [8]. 8 A medida de variação mais importante é o Desvio Padrão – que avalia como os dados flutuam em torno da média. É uma medida de variação dos valores em relação à média. Assim, números relativamente próximos uns dos outros têm baixo desvio padrão, enquanto números mais dispersos têm maior valor de desvio padrão. O desvio padrão ? pode ser calculado pela Equação 2, onde n é o tamanho da amostra, x é o valor do dado corrente e X a média [7]. Equação 2 - Desvio Padrão 3.5 Distribuição Normal A distribuição normal é especialmente importante na estatística porque inúmeros fenômenos podem ser aproximados por meio dela e também porque oferece base para a inferência estatística e processos de decisão que usam o teorema central do limite [8]. A distribuição normal possui várias propriedades importantes: apresenta gráfico em forma de sino, suas medidas de tendência central são todas idênticas e sua dispersão média é igual a 1,33 desvio padrão [7]. Muitos conjuntos de dados apresentam uma distribuição normal ou, pelo menos, podem ter seus valores aproximados por uma distribuição normal. Assim, usando os conceitos de média e desvio padrão em uma distribuição normal, pode-se criar um sistema de decisão que leve em conta a probabilidade de um determinado dado pertencer a um conjunto específico de valores. Como esta é uma distribuição muito usada, foram criados tabelas e métodos para facilitar o cálculo de probabilidade. 9 3.6 Teorema Central do Limite O teorema central do limite é outro tópico importantíssimo no estudo da estatística. Este teorema explica que à medida que o tamanho de uma amostra de dados aumenta, a distribuição amostral das médias amostrais tende para uma distribuição normal. Em outras palavras, se extraímos amostras de mesmo tamanho da mesma população, calculamos suas médias e construímos um histograma dessas médias, esse histograma tende para a forma de um sino de uma distribuição normal e a média das médias amostrais será a média populacional. E isto é verdade independentemente da forma de distribuição da população original [7]. 3.7 Acelerômetros – Teoria de Operação. Um acelerômetro é um transdutor que converte uma aceleração aplicada sobre ele em uma grandeza elétrica. O princípio básico de funcionamento dos acelerômetros é a lei de Hooke, que diz que o deslocamento de uma mola é proporcional à força aplicada na mesma. Podemos formalizar esta definição usando a equação de Hooke, onde L é o deslocamento e K uma constante inerente à mola (Equação 3). Equação 3 - Equação de Hooke Outro princípio físico envolvido é a Segunda Lei de Newton, que relaciona força com massa e aceleração através da Equação 4. Equação 4 - Segunda Lei de Newton 10 Igualando as equações 1 e 2 obtém-se a Equação 5. Equação 5 - Relação das equações de Hooke e Newton Desta maneira, o problema de medir a aceleração, torna-se um problema de medir o deslocamento de uma massa conhecida. Os acelerômetros existentes no mercado fazem uso de um sistema de “massa e mola” diminuto fabricado com a tecnologia de micromáquinas de superfície (ou MEMS - Micro Electro Mechanical System). Esta tecnologia permite a fabricação de dispositivos eletromecânicos de dimensões microscópicas [10]. A figura 2 exemplifica o princípio de funcionamento do acelerômetro. Nela pode-se identificar a massa que deve ser considerada nos cálculos da aceleração e, as placas capacitivas fixas e móvel. Quando o dispositivo é sujeito à aceleração, a distância entre as placas capacitivas muda. Como a massa do braço móvel é conhecida, o deslocamento pode ser medido verificando-se a capacitância entre as placas. Como mostrado na equação 5, conhecendo-se o deslocamento do braço móvel, é possível calcular a aceleração sofrida. Existem acelerômetros de diversos tamanhos e diversas faixas de força e aceleração. Para uma noção mais intuitiva de aceleração, os fabricantes especificam a faixa de operação e resistência de seus acelerômetros em “g” (força da gravidade terrestre - aproximadamente 9,8 m/s2). Figura 2 - Sistema massa -mola 11 3.8 Sensores de curvatura Sensores de curvatura são sensores especializados na mensuração do ângulo de deslocamento de algum objeto em relação a outro. Existem vários tipos de sensores de curvatura [6]: indutivos, mecânicos, ópticos e resistivos. Sensores resistivos podem usar como materiais principais, borrachas condutivas ou um tipo especial de tinta condutiva. Estes sensores têm uma resistência elétrica determinada que se modifica linearmente (dentro de um limite especificado pelo fabricante) conforme é curvado. Os sensores de curvatura mais comuns e baratos são os sensores resistivos e por este motivo serão usados neste trabalho. 12 4 ESPECIFICAÇÃO TÉCNICA O sistema proposto deve reconhecer as letras do alfabeto da LIBRAS e ter um acerto de aproximadamente 70%. O reconhecimento abrange somente as letras de “a” até “z” do alfabeto datilológico mostradas na figura 3. O sistema não faz o reconhecimento que qualquer outro caracter ou sinal. 4.1 Especificação do Hardware O hardware envolvido no projeto é composto principalmente por dois tipos de sensores e um microcontrolador com conversor analógico digital embutido. Os sensores utilizados incluem um acelerômetro com dois eixos que será usado para análise da inclinação da mão do usuário bem como seu movimento horizontal e, um sensor resistivo que indica a curvatura de cada dedo da mão. O microcontrolador é usado para aquisição e envio dos dados provenientes dos sensores para o computador. Figura 3 - Alfabeto da LIBRAS 13 4.1.1 Acelerômetro – ADXL203 O acelerômetro utilizado neste projeto foi o ADXL203 fabricado pela Analog Devices [11]. As principais características deste dispositivo são listadas abaixo: ?? Dois eixos de operação. ?? Sensibilidade de 1V/g. ?? Resolução de 1mg. ?? Freqüência de operação selecionável por capacitor externo. ?? Faixa de operação de ±1,7g. ?? Resposta é um sinal analógico. ?? Circuito interno de condicionamento do sinal. ?? Encapsulamento de tamanho reduzido. Um dos eixos do acelerômetro é usado para medir a posição da mão do usuário da luva em relação ao solo e outro eixo para identifcar os padrões de movimento de algumas letras; portanto, a aceleração aplicada sobre ele será a força da gravidade e a aceleração de movimentos da mão que não deverão ser grandes. Isso permite que um acelerômetro com uma faixa de operação restrita (±1,7g) seja usado. O ADXL203 possui ainda um circuito interno para o condicionamento do sinal proveniente das placas capacitivas mostradas na figura 4. Figura 4 - Circuito interno do ADXL203 14 Analisando o circuito percebemos que as placas fixas são polarizadas com ondas quadradas em antifase, de modo que a cada ciclo a corrente que percorre o capacitor muda de sentido. A excitação tem freqüência de 100KHz e é de grande amplitude, o que resulta em baixa sensibilidade a ruído proveniente de dispositivos eletrônicos. Se a massa estiver centralizada, ambos os lados do capacitor diferencial têm capacitâncias iguais, e a tensão CA na massa é zero. No entanto, se a massa não está centralizada devido a uma aceleração, o capacitor diferencial torna-se desbalanceado. A forma de onda da massa é uma onda quadrada cuja amplitude é proporcional ao deslocamento e, portanto, à aceleração. A fase da tensão da massa em relação à excitação determina a polaridade da aceleração. A saída da massa é conectada a um amplificador não inversor, que amplifica o sinal de saída de 100KHz. A saída é demodulada em um demodulador síncrono que amostra a saída do amplificador, uma vez que a tensão neste esteja estabilizada. Uma vez que o demodulador é sincronizado em fase com a excitação, a polaridade do sinal de saída indica corretamente a polaridade da aceleração aplicada. Este acelerômetro possui também um pino de autoteste. Quando este pino é ativado, um sinal conhecido é aplicado ao sensor, criando um campo elétrico que força um deslocamento do braço móvel. Isto gera um sinal conhecido na saída, que pode ser monitorado permitindo verificar se o sinal na saída é o esperado, testando desta forma a integridade do acelerômetro. A figura 5 apresenta as dimensões do acelerômetro utilizado (em milímetros). Figura 5 - Encapsulamento do acelerômetro 15 4.1.2 Sensor de Curvatura – Flex Sensor Para mapear a posição dos dedos da mão, foram usados sensores de curvatura fabricados com um tipo de tinta condutiva alocada sobre um substrato flexível. Eles foram instalados no dorso de cada dedo da mão. Quando o sensor não está flexionado, apresenta uma resistência de aproximadamente 80K? . À medida que se flexiona o sensor, a resistência aumenta para aproximadamente 300 K? em 180º de curvatura. Este tipo de sensor é produzido pela empresa Spectra Symbol [12] e seu nome comercial é Flex Sensor. Suas dimensões são explicitadas na figura 6. Figura 6 - Dimensões do Flex Sensor 16 4.1.3 Microcontrolador O microcontrolador é o elemento responsável pela aquisição e tratamento dos dados provenientes dos sensores. Ele também faz a comunicação com o computador através de uma interface serial. Para que o microcontrolador possa manipular os dados dos sensores, é necessário que estes estejam no formato digital. Para tanto, é usado um conversor analógico-digital. Com vista na racionalização do espaço necessário para montagem do hardware, optou-se pela utilização de um microcontrolador com conversor A/D embutido. Este microcontrolador é o MSC1211Y5 fabricado pela Texas Instruments [13]. As principais características do dispositivo são listadas abaixo: ?? Núcleo da família 8051. ?? Memória flash de 32 KB interna ao chip. ?? Memória flash configurável entre memória de dados e programa. ?? Conversor A/D com oito entradas multiplexadas. ?? Conversor A/D de até 24 bits (limitados pela taxa de conversão). ?? Conversor A/D com calibração automática de offset e ganho. ?? Buffer interno. ?? Sensor de temperatura interno. ?? Gerador de tensão de referência interno com precisão de 2%. ?? Porta serial padrão RS232. ?? Tensão de alimentação de 2,7V até 5,25V. ?? Programação serial ou paralela. Um diagrama em blocos da estrutura interna do MSC1211Y5 é mostrado na figura 7. 17 Figura 7 - Microcontrolador MSC1211Y5 4.1.4 Transmissão de dados A transmissão de dados do hardware para o microcomputador se dá pela interface serial ou USB, dependendo unicamente da seleção do usuário. Para transmissões feitas pela porta USB é usado o dispositivo TUSB3410 fabricado pela Texas Instruments que faz a conversão de uma transmissão serial para USB. O fabricante fornece junto com este dispositivo, um driver para ser instalado no computador. Este driver permite que a porta USB, à qual está ligado o TUSB3410, seja tratada como um simples porta serial. Com o uso deste componente, é possível disponibilizar uma interface USB para o usuário, sem as complicações de um tratamento especial por software e hardware da interface USB. 4.1.5 Instalação dos sensores na luva O primeiro protótipo da luva foi confeccionado de lycra para melhor adaptação à mão do usuário. Os sensores são anexados à luva com velcros para que seja possível removê-los na lavagem da luva. 18 Um esquema do primeiro protótipo da luva é mostrado na figura 8. Figura 8 - Sensores posicionados no dorso da luva 4.2 Especificação do software O software deste projeto está divido em duas partes: firmware e programa de análise. O firmware é responsável pela configuração do microcontrolador, operação do conversor analógico digital e transmissão dos dados para o computador. O mesmo foi desenvolvido em linguagem C usando o software ? Keil da empresa ? Vision [14]. (Para carregar o código do programa no microcontrolador será usado o software TI Downloader, fornecido gratuitamente pela Texas Instuments). O software de análise tem a função de estabelecer a comunicação do computador com o microcontrolador, usando a interface serial RS232 ou USB, manter uma base de dados que contenha informações sobre a língua de sinais, analisar os dados provenientes dos sensores e decidir se a configuração dos dedos da mão representa algum sinal válido do alfabeto de LIBRAS. O software foi escrito na linguagem C++, com a ferramenta C++ Builder 6.0 da Borland. O banco de dados é o Paradox. A figura 9 é um diagrama em alto nível dos módulos do software. 19 O uso do software é simples. A interface com o usuário é de forma gráfica não sendo necessários conhecimentos técnicos avançados para operá-lo. Um usuário que saiba operar um computador não encontrará grandes problemas na operação do software após um pequeno treinamento ou leitura do manual do sistema. Figura 9 – Diagrama em blocos do software 20 5 VALIDAÇÃO DO PROJETO O funcionamento do sistema foi avaliado em testes usando todos os valores do banco de dados coletados dos usuários. Depois de implementada a classe de reconhecimento e a geração de relatórios todos os valores do banco de dados foram processados na classe de reconhecimento e os resultados anotados para posterior geração do relatório. O relatório exibe todas as entradas do banco de dados e o reconhecimento feito pelo software para cada entrada. Como o banco de dados pode conter muitas entradas, este esquema de representação pode se tornar insignificante. Por isso, no final do arquivo é mostrada uma representação percentual dos resultados. São exibidos o resultado total de erros e os erros individuais para cada letra. Assim é possível verificar o funcionamento do sistema como um todo e as letras críticas para o reconhecimento, podendo-se verificar quais posições da mão o sistema tem mais dificuldade para identificar. 21 6 CRONOGRAMA DO PROJETO Dezembro/04: ?? Pesquisas sobre LIBRAS e componentes de hardware. ?? Levantamento do alfabeto de sinais. ?? Conversa com especialistas em LIBRAS. Janeiro/05: ?? Estudos sobre o funcionamento do microcontrolador. ?? Estudo da arquitetura interna. ?? Estudo do processo de gravação. ?? Confecção da placa de circuito impresso. ?? Montagem do circuito em proto-board. Fevereiro/05: ?? Desenvolvimento de códigos de testes para o microcontrolador. ?? Desenvolvimento de códigos para operação do conversor A/D. ?? Desenvolvimento de códigos para operação da porta serial. ?? Programação de rotinas em C++ para leitura da porta serial do PC. Março/05: ?? Testes com os sensores de curvatura e projeto da disposição dos sensores na luva. ?? Desenvolvimento de um protocolo para comunicação entre microcontrolador e o microcomputador. Abril/05: ?? Aquisição da luva, instalação dos sensores e interligação do microcontrolador com os sensores e o PC. Maio/05: ?? Estudos de técnicas de software. ?? Estudar quais técnicas de software se adequam melhor ao reconhecimento dos dados. Junho/05: ?? Projeto do software. ?? Levantamento de requisitos. ?? Diagramas. 22 ?? Documentação geral do software. Julho/05: ?? Início da implementação do software e construção da base de dados. Agosto/05: ?? Desenvolvimento do Software. Setembro/05: ?? Realização dos testes. ?? Levantamento estatístico dos resultados obtidos. Outubro/05: ?? Documentação das conclusões e resultados finais. Novembro/05: ?? Elaboração do manual técnico e do usuário. ?? Elaboração do artigo científico. ?? Revisão da monografia. 23 7 ESTUDO DE VIABILIDADE ECONÔMICA Tabela 1 - Estudo de Viabilidade Econômica Componentes Quantidade Preço Total (R$) * MSC1211Y5 1 US$ 20,95 57,61 TLC084 2 US$ 1,05 5,77 ADXL203 1 US$ 12,00 33,00 Flex Sensor 7 US$ 10,00 192,50 Par de Luvas de Lycra 1 R$ 20,00 20,00 TUSB3410 1 US$ 2,50 6,87 Componentes eletrônicos (resistores, x R$ 30,00 30,00 Cabo USB 1 R$ 10,00 10,00 Cabo Serial 1 R$ 10,00 10,00 MAX232 1 US$ 0,50 1,37 UCC283-5 1 US$ 0,50 1,37 capacitores, cristais, fios, solda, etc). * Dólar cotado em R$ 2,75 Obs: Não computado o custo da mão de obra. 368,49 24 8 PROJETO DE HARDWARE O hardware envolvido no projeto tem a função de transformar os movimentos feitos pela mão de um usuário em sinais elétricos que possam ser tratados, convertidos para sinais digitais e enviados ao computador para análise do software. Para um melhor entendimento do funcionamento desta parte do projeto, divide-se a explicação do hardware em sensores, microcontrolador e transmissão de dados. Os diagramas esquemáticos completos de cada parte estão em anexo, bem como a lista de componentes usados Anexo A.4. O Anexo A.1 mostras as conexões dos sensores; o Anexo A.2, as ligações do microcontrolador e a última folha, Anexo A.3 exibe as ligações dos drivers de comunicação. 8.1 Sensores de Curvatura Após a instalação de todos os sensores de curvatura na luva, foram feitos testes com cada um destes para levantar com precisão qual o valor de resistência máxima e mínima que apresentavam de acordo com a flexão a que eram submetidos. Verificou-se que em repouso (curvatura de 0º) os sensores tinham uma resistência de aproximadamente 80K? ; quando totalmente curvados (mão completamente fechada), apresentavam uma resistência por volta de 300K? . A ligação dos sensores de curvatura foi feita por meio de um divisor de tensão. Com esta configuração, os valores de tensão mínimos e máximos que atuarão sobre os sensores de curvatura são de 1,023V e 2,5V, respectivamente. A variação de tensão é diretamente proporcional ao valor da resistência do Flex Sensor. 8.2 Acelerômetro Os eixos do acelerômetro apresentam internamente um resistor de 32K? ligado a sua saída, permitindo que sejam implementados filtros passa baixa (com valores de corte definido pelo projetista) apenas com a ligação de um capacitor externo. Este filtro pode ser usado para limitar a banda de resposta do acelerômetro. 25 Para o eixo que será usado como inclinômetro a banda de resposta pode ser reduzida porque a intenção é medir a posição da mão e reconhecer se esta se encontra na posição correta para execução dos sinais. No caso específico das letras da LIBRAS, o movimento vertical da mão não é usado com freqüência e não será repetido por mais de uma vez a cada segundo. Para o eixo horizontal Y, é necessário uma resposta mais precisa e rápida já que movimentos neste eixo são de grande importância para o reconhecimento correto do sinal. Para algumas letras a configuração da mão é idêntica, o único parâmetro variante é o movimento horizontal, o que justifica uma maior banda passante. 8.3 Buffer de Tensão Para ligar os sensores com o conversor analógico digital do microcontrolador foi usado um buffer de tensão feito com um amplificador operacional unipolar (TLC084). Este buffer foi usado apenas para garantir que as entradas do conversor analógico digital não interferissem nas medidas de tensão sobre os sensores. Os principais parâmetros observados na escolha do amplificador foram: resposta em freqüência (10 MHz), alimentação unipolar, resistência de entrada (1 T? ), slew-rate (16 V/? s), corrente elétrica máxima de saída (1,9 mA) e CMRR (110 dB). 8.4 Microcontrolador No Anexo A.2, o esquema de ligação do microcontrolador MSC1211Y5 é mostrado. Para cada pino de alimentação digital foi ligado um capacitor cerâmico de 100nF em paralelo com o pino. Estes capacitores foram usados para filtrar possíveis variações na alimentação, o que poderia influenciar na execução do firmware ou até mesmo danificar o dispositivo. Este microcontrolador possui dois modos de operação: modo de programação e modo de execução. A escolha entre estes dois modos é feita pelo estado lógico aplicado aos pinos PSEN e ALE. Se forem aplicados nestes pinos nível lógico baixo e alto respectivamente, após um reset o dispositivo entrará em modo de programação e estará pronto para gravar o código de programa na memória flash. 26 Caso o nível lógico nestes pinos seja aberto, o dispositivo entrará em modo de execução após o reset. 8.5 Transmissão Serial Para transmissão serial dos dados entre o microcontrolador e o computador é necessário adequar as tensões de trabalho entre ambos, já que a porta serial do computador trabalha com tensões de +8V e -8V e o microcontrolador com 0V e 5V. Para este fim foi usado o circuito integrado MAX232 da Texas Instruments. 8.6 Transmissão USB Para transmissão dos dados via porta USB foi usado o conversor TUSB3410 da Texas Instruments. Este dispositivo é composto por um microcontrolador da família 8052 que é especializado na conversão de dados seriais para o padrão de comunicação USB. Será usada a versão 1.1 da USB com velocidade de 1,5 Mb/s. Como este circuito integrado opera com tensão de 3,3V e a alimentação foi feita pelo próprio barramento USB (5V), foi usado o regulador UCC283-3 fabricado pela Texas Instruments. Quando conectado ao computador, o dispositivo é reconhecido como TI USB e usa um driver específico fornecido pelo fabricante. 8.7 Buffer de Comunicação Como foram usados dois padrões (serial e USB) para transmissão dos dados, foi necessário isolar os dispositivos de conversão (MAX232 e TUSB3410) para que a operação de um não interfira na operação do outro. Para isso foi usado o buffer 74LS244 em conjunto com dois transistores BC548 operando como portas inversoras. Quando o circuito estiver ligado à porta USB do computador, a alimentação de 5V do barramento USB estará ativa. Isso fará com que os transistores enviem os 27 sinais lógicos de controle adequados para o buffer, que ativará a parte da comunicação USB e colocará as saídas realtivas ao MAX232 em tri-state. Quando não houver alimentação de 5V do barramento USB, o buffer habilitará as suas saídas para o driver MAX232, colocando as saídas relativas ao TUSB3410 em tri-state, liberando a comunicação serial. Desse modo, a seleção da forma de comunicação do hardware com o computador se dará de forma automática, liberando o usuário desta responsabilidade. 8.8 Circuito de Alimentação A alimentação de todo o hardware é feita através de uma fonte estabilizada que forneça tensões contínuas entre 7V e 9V. Esta tensão é limitada em 5V pelo regulador UCC283-5 da Texas Instruments. Este regulador foi escolhido porque apresenta uma regulagem de alta precisão. 8.9 Sinais de Conexão As tabelas 1, 2 e 3 apresentam uma descrição dos sinais que fazem a interligação das diferentes folhas do diagrama esquemático. Os sinais que interligam diferentes folhas têm o mesmo nome nas duas folhas. 28 Tabela 2 - Sinais do Anexo A.1 (Sensores e Interfaceamento) Sinal Tipo Descrição Ligado com AIN0 Saída Tensão dos sensores Anexo 2 AIN1 Saída Tensão dos sensores Anexo 2 AIN2 Saída Tensão dos sensores Anexo 2 AIN3 Saída Tensão dos sensores Anexo 2 AIN4 Saída Tensão dos sensores Anexo 2 AIN5 Saída Tensão dos sensores Anexo 2 AIN6 Saída Tensão dos sensores Anexo 2 Tabela 3 - Sinais do Anexo A.2 (Transmissão de dados) Sinal Tipo Descrição Ligado com RX_uC Saída Dados de saída da Porta serial Anexo 3 TX_uC Entrada Dados de entrada da Porta Anexo 3 Serial Tabela 4 - Sinais do Anexo A.3 (Microncontrolador) Sinal Tipo Descrição Ligado com AIN0 Entrada Entrada do conversor A/D Anexo 1 AIN1 Entrada Entrada do conversor A/D Anexo 1 AIN2 Entrada Entrada do conversor A/D Anexo 1 AIN3 Entrada Entrada do conversor A/D Anexo 1 AIN4 Entrada Entrada do conversor A/D Anexo 1 AIN5 Entrada Entrada do conversor A/D Anexo 1 AIN6 Entrada Entrada do conversor A/D Anexo 1 Dados de entrada da Porta Anexo 2 RX_uC Entrada serial TX_uC Saída Dados de saída da Porta Serial Anexo 2 29 9 PROJETO DE SOFTWARE A parte de software deste projeto abrange o firmware, que faz a configuração e operação do microcontrolador, o software de cadastro das letras e o software de análise, que contém os algoritmos para reconhecimento dos sinais. O software de cadastro das letras foi separado do software de análise devido ao fato de que a operação de cadastros de letras e usuários pode comprometer todo o banco de dados e, conseqüentemente, todo o reconhecimento do sistema. Desta forma, a operação de cadastro deve ser supervisionada por uma pessoa que tenha um maior conhecimento sobre o sistema e que também conheça a LIBRAS. Assim, podese disponibilizar o software de reconhecimento para usuários leigos e o software de manipulação dos dados quando houver um conhecimento do sistema mais aprofundado por parte do usuário. 9.1 Firmware O programa que opera no microcontrolador inicia seu funcionamento configurando todos os periféricos que serão usados. Primeiramente, é feita a configuração da porta serial para uma velocidade de transmissão e recepção de 115200 bps. Após a configuração da porta serial, o conversor analógico digital é configurado. A taxa de conversão é configurada para 200 Hz (o que permite dados com uma largura de até 24 bits) e é escolhida a tensão de referência interna de 2,5V. Geralmente, a tensão de referência interna é escolhida porque o MSC1211Y5 possui um gerador de referência de alta precisão e estabilidade. Depois de configurado o conversor analógico digital, é feita uma calibração automática do conversor para anular as tensões de offset de entrada e escolher um ganho adequado para o amplificador interno. Depois disso, a interrupção da porta serial é habilitada e o programa entra em um laço infinito aguardando por um comando do computador. Quando algum comando é recebido do computador, a tarefa requisitada é executada e o programa coloca novamente o microcontrolador em espera por um novo comando. O programa do microcontrolador está preparado para receber os seguintes comandos: início de conversão dos dados dos sensores, envio de dados dos sensores, 30 e calibração do conversor A/D. Este último comando é necessário porque alguns minutos depois do início da operação do microcontrolador a temperatura deste dispositivo muda, fato que pode interferir na correta leitura dos sensores. Nas próximas seções são apresentados o fluxograma do firmware e o seu diagrama de estados. 9.1.1 Fluxograma t – Transmissão, c – Conversão, a – Calibração. Figura 10 - Fluxograma do Firmware 31 9.1.2 Diagrama de Estados Figura 11 - Diagrama de estados do Firmware 9.2 Software de Cadastro O software de cadastro tem a função principal de cadastrar usuários do sistema e as informações sobre os caracteres do alfabeto da LIBRAS. Para o cadastro dos caracteres o software estabelece automaticamente a comunicação com o hardware e mostra os dados dos sensores em tempo real usando a interface gráfica. A letra que deverá ser repetida pelo usuário da luva durante o cadastro aparece em uma foto no meio da tela do programa. Quando o usuário tiver feito o sinal correto daquela letra, os dados dos sensores são armazenados no banco de dados. 9.3 Software de Análise O software de análise é executado em um computador e tem a função de estabelecer a comunicação com o hardware, comandar o funcionamento do microcontrolador, analisar os dados recebidos com base em um banco de dados que contém informações sobre os caracteres da LIBRAS. 32 A conexão com o hardware é feita de forma automática. Quando receber o comando do usuário para conectar-se ao hardware, o programa avaliará quais portas seriais estão disponíveis para uso e tentará estabelecer comunicação com todas para descobrir em qual delas está conectada a luva. Quando a comunicação for estabelecida, a análise dos dados é iniciada. Nas próximas seções são mostrados os diagramas dos principais módulos do software. 9.3.1 Análise Estatística A análise dos sinais é feita usando os dados individuais de cada usuário ou os dados de todos os usuários do sistema. No início da execução da análise, os dados serão lidos do banco de dados e transferidos para a memória do computador. Estes dados são compostos pela média dos valores dos sensores para cada letra do alfabeto e seu desvio padrão. Com as informações da média e desvio padrão pode-se, com o teorema central do limite, decidir se um dado sinal é um caracter válido da LIBRAS. O gráfico apresentado na figura 12 pode auxiliar no entendimento deste processo. Este gráfico foi levantado com valores reais do sistema e corresponde às medidas do dedo polegar para a letra “a”. Pelo gráfico, podemos perceber que os dados estão dispostos em uma distribuição normal de probabilidade. O eixo Y mostra os valores lidos do sensor instalado sobre o polegar e o eixo X contém estes mesmos valores porém, padronizados para que fosse possível usar as tabelas de cálculo da área sob a curva. Foram usadas 30 amostras do sensor para que a disposição do gráfico fosse visivelmente normal [7]. A média dos valores é de aproximadamente 1,64 e o desvio padrão 0,0387. Um intervalo de dois desvios padrão foi criado para a área de decisão. Este intervalo é delimitado pelas retas verticais de –0,9 e 0,9. Através destes valores padronizados e das tabelas de cálculo de área, verifica-se que a área sob este intervalo corresponde a 63% da área total, ou seja, levando em consideração este conjunto de dados, podemos afirmar que uma amostra selecionada aleatoriamente tem 63% de chance de estar localizada dentro deste intervalo definido. 33 O algoritmo de reconhecimento usa este mesmo princípio para todas as letras. Cada letra é formada por sete sinais diferentes que possuem seus respectivos valores de média e desvio padrão. Para cada conjunto de dados (sete números correspondentes a cada sensor) lidos da luva, é feita uma avaliação para verificar em qual letra cada dedo se encaixa de acordo com sua posição. Figura 12 - Gráfico de Distribuição dos Valores do Polegar para a Letra A 34 9.4 Diagramas de Casos de Uso Figura 13 - Diagrama de Casos de Uso do Software de Cadastro Figura 14 - Diagrama de Casos de Uso do Software de Reconhecimento 35 9.5 Diagrama de Classes Figura 15 - Diagrama de Classes do Software de Cadastro 36 Figura 16 - Diagrama de Classes do Software de Reconhecimento 37 9.6 Diagramas de Seqüência do Software de Cadastro Figura 17 - Seqüência de Início do Software de Cadastro 38 Figura 18 - Seqüência de Inclusão Software de Cadastro 39 Figura 19 - Seqüência de Alteração Software de Cadastro 40 Figura 20 - Sequência de Exclusão Software de Cadastro 41 9.7 Diagramas de seqüência do Software de Reconhecimento Figura 21 - Seqüência de Exibição dos Sensores Software de Reconhecimento 42 Figura 22 - Seqüência Análise dos Dados Software de Reconhecimento 43 9.8 Modelo Entidade Relacionamento Figura 23 - MER 9.9 Dicionário de Dados Tabela 5 - Dicionário de Dados Tabela Campo Tipo Descrição Usuário Codigo Auto Incremento Chave Primária Nome String Nome do usuário Letra Caracter Chave Primária M_Polegar Real Média da curvatura Amostras do dedo polegar S_Polegar Real Desvio padrão da curvatura o polegar 44 9.10 Protótipos de Tela Figura 24 – Tela de Cadastro Figura 25 - Tela Principal 45 10 RESULTADOS A colocação dos sensores na luva foi feita de forma artesanal através de velcros costurados na mesma e nos sensores. A luva apresentou um funcionamento satisfatório apesar de sua fragilidade e problemas com desprendimento dos sensores que geralmente não são percebidos de imediato pelo usuário e conseqüentemente afetam o funcionamento do sistema. Os sensores apresentaram um bom desempenho não tendo sido notados qualquer alteração do funcionamento dos mesmos em relação ao uso e fadiga do material. O hardware se mostrou eficiente na leitura dos sensores e na transmissão dos dados para o computador. O conversor analógico digital foi configurado para uma taxa de amostragem de 200Hz e a transmissão serial ajustada para 115200 bps. Isto possibilitou que fossem lidos oito vezes todos os sete sensores durante um segundo. O software de reconhecimento usou como base a análise estatística, mais especificamente os conceitos de média, desvio padrão, distribuição normal e o teorema central do limite. Durante os testes verificou-se empiricamente que o reconhecimento apresentava melhor desempenho quando o intervalo de decisão era aumentado somando-se uma constante ao desvio padrão. Para os testes, todas as amostras de letras presentes no banco de dados foram submetidas à classe de reconhecimento. No total foram analisados 780 registros, ou seja, 30 amostras para cada uma das 26 letras. Durante o teste foram anotados todas as entradas de dados na classe de reconhecimento e o resultado indicado pela classe. A partir da comparação destes dados foi gerado um relatório com os valores percentuais dos erros de reconhecimento. Considerando o número total de erros para todo o banco de dados, obteve-se uma taxa de acerto de 85%. Os resultados total e de cada letra são mostrados na tabela 6. 46 Tabela 6 - Resultados do Reconhecimento LETRA A B C D E F G H I J K L M ERRO (%) 3 0 10 6 6 10 3 6 10 16 0 13 6 LETRA N O P Q R S T U V W X Y Z ERRO (%) 20 10 16 10 13 13 40 50 86 10 16 0 26 47 11 CONCLUSÃO De acordo com a proposta de funcionamento apresentada, o sistema de reconhecimento mostrou um desempenho superior ao esperado. Apesar de a colocação dos sensores na luva ter sido feita de forma artesanal, esta se mostrou estável a despeito da fadiga do material durante todo o desenvolvimento e teste do projeto. Em relação ao conforto e grau de liberdade do usuário da luva verificou-se que melhorias ainda devem ser feitas a fim aumentar o tempo de tolerância de uso da luva, já que, os velcros podem machucar a mão do usuário (principalmente as articulações) em um longo período de uso. Durante novos desenvolvimentos desse sistema é possível que se chegue à conclusão que outras modificações precisem ser feitas na luva ou na colocação dos sensores, porém, só será possível afirmar isto com o desenvolvimento de novas técnicas de reconhecimento. Analisando os erros do software, vemos que estes se concentram nas letras mais semelhantes e principalmente nas letras que são diferenciadas apenas pela abertura relativa dos dedos, sugerindo a melhoria do sistema de reconhecimento tanto por hardware como por software. Como novas técnicas de reconhecimento provavelmente exigirão a aquisição de um grande conjunto de dados, fica claro que a confecção da luva deve ser melhorada com o objetivo de deixá-la mais resistente ao esforço e conseqüentemente mais confiável durante todo este processo. Também podem ser feitas melhorias em relação ao aumento do número de sensores (tanto de curvatura como de movimentos) com o objetivo de refinar o reconhecimento da posição da mão do usuário em relação ao espaço e ao seu corpo. O hardware de aquisição se mostrou eficaz tanto para conversão dos dados de natureza analógica para digital como para a transmissão desses dados para o computador, sendo provavelmente o módulo do sistema que menos sofrerá alterações em possíveis melhorias que venham a ser desenvolvidas. Uma das melhorias que poderá causar modificações no hardware é a adição de novos sensores na luva, fazendo com que o microcontrolador tenha que ser trocado ou as entradas do seu conversor analógico-digital multiplexadas devido ao fato de só existirem oito entradas disponíveis. Dependendo do número de sensores e componentes adicionados será também necessário fazer novos testes para aferição da velocidade do sistema de 48 aquisição para verificar se a alteração não compromete o desempenho do sistema como um todo. Em relação ao reconhecimento estatístico implementado em software foi visto que este oferece um bom desempenho comparado ao esforço computacional e a relativa facilidade de implementação. Apesar disso, ainda é um esquema muito simples e pouco robusto para esta aplicação. Provavelmente, a estatística possa ser aplicada com uma eficiência muito maior quando usada em conjunto com outros algoritmos que usem redes neurais ou lógica fuzzy, por exemplo. Outro problema detectado durante os testes do sistema foi a impossibilidade de reconhecimento do momento da troca entre dois sinais. A troca de sinais é um evento crítico para um reconhecimento mais refinado dos caracteres e também, devido às variações produzidas nos sensores durante esses momentos, uma fonte de erros para o software de reconhecimento. Tentou-se corrigir este problema regulando a temporização de leitura dos sensores, porém o resultado foi insatisfatório. Ainda na tentativa de verificar este evento no sistema, foi feita uma análise dos sinais dos sensores no domínio da freqüência, o que também não gerou bons resultados devido à baixa freqüência de variação destes. Também será de grande ajuda a implementação de funções secundárias para a continuação do desenvolvimento do software. Tais funções teriam a responsabilidade de gerar relatórios, gráficos e outras formas de auxílio à análise do desenvolvedor devido a grande quantidade de dados que deve ser analisada e interpretada. Finalmente, em conversa com profissionais especializados no ensino da LIBRAS a pessoas surdas, conclui-se que o sistema em questão pode auxiliar na educação de deficientes auditivos se fizer reconhecimento de gestos mais complexos como palavras e expressões completas e também atuar como um elemento motivador no processo educacional dos surdos. 99 14 GLOSSÁRIO Dactilológico – Alfabeto em que as letras são representadas por sinais manuais.