Sunteți pe pagina 1din 9

UM SISTEMA DE RECONHECIMENTO DE FALA PARA ENSINO DE

ROBTICA DESTINADO AO CONTROLE DE ROBS LEGO NXT 2.0

A SPEECH RECOGNITION SYSTEM FOR TEACHING OF ROBOTICS FOR THE CONTROL OF


LEGO NXT 2.0 ROBOT

PAGANI, Diego Henrique 1; POSTAL, Adriana 2; CASTRO, Jose Pereira de 3

1
Mestrando em Informtica pela Universidade Federal do Paran (UFPR)
dhpagani@gmail.com
2
Professora Assistente da Universidade Estadual do Oeste do Paran - UNIOESTE, Campus Cascavel
adriana.postal@unioeste.br
3
Professor Assistente da Universidade Estadual do Oeste do Paran - UNIOESTE, Campus Cascavel
josue.castro@unioeste.br

Resumo

Este trabalho apresenta o desenvolvimento de um sistema de comando por voz para robs Lego
Mindstorms NXT 2.0 utilizando reconhecimento de fala. At o momento, o sistema de reconhecimento
de fala est identificando os comandos emitidos pela voz de forma aceitvel, com 96% no melhor caso,
e 42% no pior. O projeto atualmente encontra-se em fase de desenvolvimento, tanto para melhorar o seu
desempenho quanto para ampliar io nmero de comandos reconhecidos.

Palavras-chave: Robtica, reconhecimento de fala, Lego NXT 2.0

Abstract
This paper presents the development and implementation of a voice command system for LEGO
MINDSTORMS NXT 2.0 robots using speech recognition. At this moment the system is running with
efficiency of 96% in the best case and 42% in the worst case. The project is under development, aiming
to improve performance and to ampliate the number of recognized commands.
Key-words: Robotics, speech recognition, Lego NXT 2.0.

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 72


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
INTRODUO
de realizar certas aes. Por exemplo, podem juntar

Com a tecnologia atual, a interatividade certas peas e motores e formar um carro, que se

dos equipamentos eletrnicos vem crescendo move para frente ou para trs e pelos lados. Ou

bastante. Com cada vez mais poder computacional, talvez um sistema de segurana, onde o sensor

smartphones, video-games, mais recentemente os de ultrassom pode detectar a presena de algum

televisores, e outros dispositivos, vem apresentando objeto nas proximidades, e realizar alguma ao

funcionalidades cada vez mais interessantes para o contra este objeto. Isso exercita a imaginao, faz

usurio, com o uso de filtros para fotos, realidade a prtica da lgica de programao e melhora a

aumentada, reconhecimento de comandos por voz. iterao humano-rob.

Trs dos servios mais conhecidos para O sistema foi desenvolvido na plataforma

reconhecimento de voz em celulares, Google MATLAB, e estabelece a conexo entre

Now (Google, 2014) para sistemas operacionais computador e rob atravs da biblioteca RWTH-

Android, Cortana (Microsoft, 2014) para sistemas Mindstorms NXT Toolbox (LFB LEHRSTUHL

operacionais Windows Phone e Siri (APPLE, FR BILDVERARBEITUNG, 2014) por meio de

2014) para os sistemas operacionais iOS tm conexo Bluetooth. Optou-se pela implementao

como objetivo serem assistentes pessoais, capazes em MATLAB, pois este software contm uma

de ouvir comandos e executarem aes perante estas srie de bibliotecas, como a Signal Analysis

entradas. Eles no precisam de um treinamento de Toolbox que implementa todas as funes bsicas

locutor para interpretar os comandos ditos e esto de processamento de sinais e tambm por oferecer

presentes na maioria dos smartphones modernos. uma linguagem interpretada, que possibilita um

Visando o auxlio no ensino de robtica, este processo de prototipao de sistemas mais eficiente.

trabalho apresenta a implementao de um sistema Alm disso, facilita a descoberta de erros no cdigo

de reconhecimento de comandos de voz, para e tambm permite a realizao de testes em tempo

controle de um rob Lego Mindstorms NXT real atravs de seu console.

2.0 (LEGO, 2014). Por este conjunto de rob ser O trabalho est assim dividido: na seo 2

composto por diversas peas, motores e sensores, descrevemos o sistema desenvolvido, juntamente

temos diversas possibilidades de combinao de a interface; a seo 3 descreve o sistema de

peas, sendo que cada uma delas pode desempenhar reconhecimento de voz e seus mdulos; a seo 4

diferentes aes. Com isso, os alunos podem mostra a configurao dos testes; a seo 5 mostra

aprender de forma prtica a montar uma estrutura os resultados encontrados; por fim, na seo 6, so

de um rob que seja minimamente estvel e capaz descritas as consideraes finais sobre o trabalho.

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 73


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
O SISTEMA
Figura 1 Tela do sistema de controle

O sistema est sendo realizado de forma


modular, o que reduz o custo de manuteno do
cdigo por manter o mnimo de replicao de
cdigo possvel, utilizando nomes de funes e
variveis com fcil identificao de sua funo.
Cada mdulo independente, unindo suas
funes e comunicao pela interface do sistema,
o que possibilita uma maior autonomia de cada
FUNCIONAMENTO DO SISTEMA
mdulo e a manuteno desta aplicao menos
custosa. Abaixo segue a lista dos mdulos e suas Podemos ver na Figura 1 que a interface do sistema
respectivas descries. A Figura 1 mostra a interface dividida em 4 partes: Conexo LEGO; Comandos
grfica do sistema. Cadastrados; Controle Manual; Controle por voz.
Abaixo, segue a descrio de cada um destes
Interface: responsvel por interagir com o usurio comandos.
e realizar a ligao entre os outros mdulos;
Manipulao do Lego: mdulo responsvel por 1. Conexo LEGO: Mostra o estado da conexo
comunicar-se com o rob Lego Mindstorms com o rob, com botes de conectar ou desconectar
NXT 2.0, utilizando a biblioteca RWTH-Mindstorms com o rob, e com um campo de texto para inserir
NXT Toolbox; o nome dado ao rob nas configuraes;
Sistema de reconhecimento de fala: responsvel 2. Controle Manual: Esta seo mostra os botes
por identificar o comando enviado pelo usurio. para controle manual do rob, indicado pelos botes
coloridos. Os comandos pelos botes : azul
O MATLAB possui um sistema de frente, amarelo girar esquerda, laranja girar
criao de interfaces prprio, capaz de suprir as direita, branco ir para trs, vermelho parar). Ao
necessidades do desenvolvimento desde trabalho. clicar no boto, mandado o comando ao rob e
Ele apresenta uma fcil manipulao, e um este s ir parar de executar o comando ao clicar no
conhecimento bsico de seus comandos. Por tratar boto vermelho, ou seja, ao clicar no boto amarelo
todos os eventos dos componentes da tela como o rob iniciar a manobra de girar esquerda, e se
funes, determinar as aes destes componentes nada o interromper, ele girar esquerda at a carga
no apresentou problemas. da sua bateria se esgotar.

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 74


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
O mdulo de gravao responsvel por
3. Comandos cadastrados: Os comandos cadastrados
captar amostras dos comandos, ditos pausadamente
so fixados dentro do cdigo, pois precisam ser
pelo locutor, e armazenar estes dados para uso
atrelados as aes do rob. possvel adicionar
futuro.
novas amostras aos comandos j criados para
aumentar o tamanho da base de dados. MDULO DE PR-PROCESSAMENTO

4. Controle por voz: composta por um nico


O modulo de pr-processamento
boto, responsvel por receber o comando dito,
responsvel por permitir que a amostra de som
interpretar e enviar o comando ao rob, caso ele
seja transformada de forma que permita ao sistema
esteja conectado.
reconhecer o comando emitido. Esta transformao
necessria, pois para o reconhecedor de voz,
A princpio, necessrio que se clique
a informao mais importante a forma em
manualmente no boto Enviar comando para que
que o espectro da voz muda conforme o tempo
o sistema capture o som pelo microfone e ento
(PLANNERER, 2005).
interprete o comando e realize-o. Nos trabalhos
A Figura 2 mostra as ondulaes provenientes
futuros ser alterado esta parte para que ele sempre
dos rudos ao capturarmos o espectro puro da vogal
esteja capturando sons pelo microfone, tornando
/a:/ . Como o objetivo do reconhecedor de voz
o uso do sistema intuitivo. Desta forma cria-se a
entender o que foi dito, estas ondulaes ruidosas
necessidade de aprimorar, no s o reconhecimento
devem ser separadas.
de fala, como o tratamento de rudos e tambm
para a distino entre comandos destinados ao Figura 2 Amostra da vogal /a:/ (frequncia= 11000
rob e dilogos que gerem rudos capazes de serem Hz, tempo=72ms)

identificados como comando.

Sistema de Reconhecimento de Comandos de Voz

Uma das formas de contornar isto utilizar


O sistema de reconhecimento de comandos
o mtodo Mel Frequency Cepstral Coefficients
de voz desenvolvido dividido em mdulos de
(MFCC) (SAHIDULLAH, 2012) , que filtra e
gravao, pr-processamento, classificao e
normaliza o sinal, deixando as mudanas na voz mais
anlise. Cada mdulo responsvel por realizar
salientes. O resultado desta operao mostra os nveis
uma parte especfica do sistema.
de energia contidos em cada frequncia, pelo tempo
MDULO DE GRAVAO igualmente espaado. Segundo Rabiner (1993),

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 75


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
experimentos mostram que a percepo humana de componentes de frequncia de sons no segue uma
escala linear. Ento para cada frequncia f na escala linear, mapeia-se para a escala MEL que corresponde a
real percepo do sistema auditivo humano. A Figura 3 mostra as diferenas antes e aps o processamento
do sinal da voz.

Figura 3
a) amostra da vogal /a:/ (frequncia= 11000 Hz, tempo=72ms)]Log power spectrum da vogal /a:/ (frequncia
= 11000Hz e N = 512) e
b) amostra da vogal /a:/ aps todo o processo MFCC, e aplicao dos nveis de energia (nmero de canais
= 22).

A Figura 4 (abaixo) apresenta quatro amostras do comando Pare pr-processadas. Todas so


semelhantes ao ouvido humano, mas os nveis de energia representados so diferentes, devido ao rudo
existente ou alteraes na intensidade da voz do locutor. Todas tem maior intensidade na parte esquerda
do grfico, que se assemelha ao fato da palavra Pare ser paroxtona.

Figura 4 4
amostras do
comando
Pare, ps
processamento


Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 76
Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
MDULO DE CLASSIFICAO supervisionado, para que seja possvel de classificar
corretamente padres previamente apresentados a
Este mdulo responsvel por requisitar
rede. A RNA implementada foi a do tipo multilayer-
ao mdulo de pr-processamento os resultados
perceptron, construda com a toolbox do MATLAB
aplicados base de dados criada pelo mdulo de
com os parmetros padro. A Figura 6, por Pagani
gravao. Ento com a base de dados criada,
(2012), mostra um exemplo de uma rede neural com
necessrio utilizar um classificador. A princpio,
4 neurnios de entrada, 6 da camada intermediria e
testou-se com dois modelos simples de classificao:
4 de sada.
Redes Neurais Artificiais (RNA) e distncia de
Levenshtein.
Figura 6 Exemplo de uma Rede Neural Artificial
A distncia de Levenshtein (SAMWORTH,
2013) calcula, entre dois vetores (V1 e V2, o nmero
mnimo de operaes necessrias para transformar
V2 em V1, adaptada para trabalhar com matrizes,
o que no exige nenhum tipo de treinamento ou
processamento prvio base de dados. A Figura
5 exemplifica a ideia do algoritmo. A varivel v1
apresenta uma palavra com 8 caracteres, e a v2 com
7. A diferena entre duas letras caracteriza mais
duas mudanas neste vetor, tendo como resultado
final 3 alteraes entre estes vetores: duas de
alterao e uma de eliminao.

Figura 5 Exemplo de como calculada a distncia


de Levenshtein
MDULO DE ANLISE

Este mdulo analisa a amostra de voz do


usurio, aplica o pr-processameno e identifica
qual o comando a amostra de udio representa.
As Redes Neurais Artificiais possuem
Isto feito utilizando os algoritmos apresentados
diversos tipos de organizao, funcionamento e
na sesso 3.3.
aplicaes. So modelos computacionais inspirados
O comando identificado ento convertido
no sistema nervoso de um animal. Este tipo
em instrues de movimentao e enviado ao
de classificador, necessita de um treinamento
rob Lego pelo computador onde o sistema

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 77


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
de reconhecimento de voz est sendo executado, Devido a cada amostra gerar uma matriz
atravs de uma conexo Bluetooth. de 96x22, totalizando 2112 elementos, uma rede
A Figura 7 exemplifica o funcionamento neural com esta quantidade de neurnios de entrada
geral do sistema de reconhecimento de voz. A voz necessita de um poder computacional superior ao
capturada, passa por um pr-processamento. Se disponvel, ento de maneira emprica definiu-se
a base de dados est sendo criada, ento a voz agrupar as matrizes por linhas, calculando a mdia
armazenada na base com o comando dito inserido delas, gerando um vetor resultante de 22 posies.
manualmente. Se Est sendo classificada, ento a Com esta simplificao da dimenso,
matriz de sada vai para o classificador que consulta pode-se testar ambos os classificadores e avaliar
a base de dados (para a RNA, feito o treinamento seu comportamento. Com isto, a RNA possui 22
da rede, uma nica vez) e a partir destes dados diz entradas, 18 neurnios na camada intermediria
qual o comando de sada, encaminhando para o rob. e 3 neurnios de sada (um neurnio disparado
para cada sada). A sada final de cada neurnio
Figura 7 Exemplo de funcionamento do sistema
de reconhecimento de voz arredondada de forma tradicional, aps cada teste.
A Figura 8 exemplifica a configurao da rede.

Figura 8 Exemplo da rede neural, extrado usando


a funo view do MATLAB

EXPERIMENTOS

Para descobrir quo preciso o sistema


de reconhecimento de comandos de voz proposto RESULTADOS OBTIDOS
neste trabalho, conduziu-se alguns experimentos
envolvendo dois locutores do sexo masculino, com Analisando os dados obtidos, a Tabela 1

trs comandos: Pare, Ande e Gire. Para cada mostra as taxas de acerto, utilizando a RNA como

locutor, foi elaborada uma base de dados com 10 mtodo de classificao. As bases de dados e as

amostras de cada comando, totalizando duas bases amostras foram nomeadas como A - Locutor 1 e B

(Base A do Locutor A e Base B do Locutor B). Locutor 2. Foram realizados, com os 2 locutores

Para realizar os testes, definiu-se que cada locutor e diferentes combinaes com as bases de dados.

deveria fornecer 33 amostras para cada comando. Podemos notar que o Locutor A obteve uma taxa

Na captura de todas as amostras, definiu-se que seria de acerto satisfatria utilizando sua base de dados,

realizada em apenas um canal (Mono), com 16 bits o que significa que a rede conseguiu aprender o

de representao e com 11000 Hz. padro. O Locutor B apresentou resultados inferiores

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 78


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
ao do Locutor A, mesmo utilizando a sua prpria Tabela 3 Levenshtein sem nenhum tratamento
base dados.

Tabela 1 RNA com agrupamento


CONSIDERAES FINAIS

Os testes realizados so promissores, mas


o sistema ainda necessita de mais ajustes e testes.

A Tabela 2 mostra os resultados dos O sistema de classificao utilizando o algoritmo

testes aplicados base, utilizando a Distncia de Levenshtein tem bons resultados se a amostra

de Levenshtein como mtodo classificatrio. de voz for semelhante s cadastradas no banco

Os resultados podem ser considerados melhores de dados. J com a RNA, por ter sido realizado o

comparados com os resultados dos testes utilizando agrupamento pela mdia, pode ter causado perda

a RNA, pois em todos os testes a taxa de acerto foi de preciso, que pode ter sido a causa do resultado

superior. inferior ao do algoritmo de Levenshtein. Existindo

O Locutor A se manteve com uma taxa de divergncias, o sistema pode ser incapaz de

acerto satisfatria com qualquer base de dados, reconhecer comandos incorretamente de uma voz

mas o Locutor B teve uma taxa de acerto inferior diferente das cadastradas.

ao esperado utilizando a base de dados do Locutor O algoritmo de Levenshtein tem uma

A e a base dos dois locutores unidas. caracterstica que quanto maior a base, maior
o tempo necessrio para o reconhecimento do
Tabela 2 Levenshtein com agrupamento comando dito, pois a amostra a ser reconhecida
precisa ser comparada com cada elemento presente
na base de dados. Estas amostras, por serem

matriciais, o custo computacional elevado, se

A Tabela 3 mostra as taxas relativas aos feito de forma tradicional. Utilizar instrues que

dados sem o agrupamento por mdia, considerando utilizam os registradores de clculo vetorial da

toda a matriz 96x22. CPU (Central Processing Unit) ou instruir a GPU

Pode-se perceber que esses testes (Graphics Processing Unit) para realizar estes

apresentaram resultados melhores comparado com a clculos pode tornar o tempo de processamento

Tabela 2. Isso pode ter acontecido devido a perda de inferior ao atual.

preciso que o agrupamento por mdia pode causar. Na RNA, por necessitar de uma etapa
de treinamento em que no h garantias de

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 79


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira
convergncia, no se pode inferir nenhuma speech recognition. New Jersey: Prentice Hall, 1993.

medida de tempo necessria para o treinamento, SAHIDULLAH, Md., SAHA, Goutam. Design, analysis and
experimental evaluation of block based transformation
apenas limitando a quantidade de pocas. Para o
in MFCC computation for speaker recognition. Speech
reconhecimento, ps-treinamento, o tempo pode ser Communication, v. 54, n.4, p.543-565, 25 nov. 2012.

considerado rpido. Disponvel em: <http://www.sciencedirect.com/science/


article/pii/S0167639311001622>. Acesso em 02 abr. 2014.
Outro fator que deve ser revisto, a da
SAMWORTH, Richard J.. Optimal weighted nearest neighbour
captura de som para a gerao da base de dados e classifiers. The Annals Of Statistics, [S. l.], v. 40, n. 5,
dos testes. Temos muitos equipamentos disponveis p.2733-2763, 18 fev. 2013. Disponvel em: <http://arxiv.org/
pdf/1101.5783v3.pdf>. Acesso em: 04 abr. 2014.
no mercado, em que cada um apresenta diferentes
nveis de rudo e tambm diferentes locais que
podem ser gerados as bases de dados. Estabelecer
Artigo submetido em: 31.08.2014
um critrio de seleo de equipamentos, pesquisar
formas de tratamento de rudos externos podem ser
Artigo aceito para publicao em: 27.12.2014
necessrios para tornar este sistema mais genrico.

REFERNCIAS

APPLE. Siri. Disponvel em <https://www.apple.com/ios/siri/>.


Acesso em 20 de agosto de 2014.

GOOGLE, Google Now. Disponvel em: <http://www.google.com/


landing/now/>. Acesso em 20 de agosto de 2014.

LEGO. LEGO.com Mindstorms. Disponvel em: <http://www.


lego.com/en-us/mindstorms/?domainredir=mindstorms.lego.
com>. Acesso em: 04 abr. 2014.

LFB LEHRSTUHL FR BILDVERARBEITUNG. RWTH-


Mindstorms NXT Toolbox. Disponvel em: <http://www.
mindstorms.rwth-aachen.de/trac>. Acesso em: 04 abr. 2014.

MICROSOFT. Cortana. Disponvel em: <http://www.


windowsphone.com/pt-br/how-to/wp8/cortana/meet-cortana>.
Acesso em 20 de agosto de 2014.

PAGANI, D.H. Estudo Comparativo entre redes neurais artificiais


e redes neurais pulsadas usando MATLAB. 2012. Monografia.
Universidade Estadual do Oeste do Paran.

PLANNERER, B.. An Introduction to Speech Recognition.


Munich: IEEE, 2005. 69 p.

RABINER, Lawrence; JUANG, Biing-hwang. Fundamentals of

Revista Eletrnica Cientfica Inovao e Tecnologia Volume 02 - Nmero 10 - 2014 80


Universidade Tecnolgica Federal do Paran ISSN 2175-1846
Cmpus Medianeira

S-ar putea să vă placă și