identificação da dinâmica de um robô móvel a partir

Propaganda
IDENTIFICAÇÃO DA DINÂMICA DE UM ROBÔ MÓVEL A
PARTIR DE UMA REDE NEURAL ARTIFICIAL DO TIPO
MULTI-LAYER PERCEPTRON
Stéfano Coelho Santos (bolsista do PIBIC/CNPq), José Medeiros de
Araújo júnior (Orientador, Departamento de Engenharia Elétrica –
UFPI)
Introdução
A robótica é um ramo da tecnologia que estuda o desenvolvimento de máquinas
controladas por circuitos integrados. Neste ramo, tem se destacado o uso de sistemas
denominados de robótica móvel, uma área de ampla aplicação não só na indústria, mas
também, por exemplo, na vida doméstica.
O trabalho conjunto de especialistas das áreas de engenharia elétrica, engenharia
mecânica e ciência da computação tem permitido o aperfeiçoamento constante no controle de
robôs móveis, proporcionando maior eficiência na otimização desses sistemas. Uma das
técnicas usadas para se aperfeiçoar sistemas como estes são as redes neurais artificiais
(RNAs).
Uma rede neural artificial (RNA) é um tipo de processador constituído de unidades de
processamentos distribuídas paralelamente, mais simples que a estrutura de neurônios do
cérebro. Ou seja, o processamento de informações de uma rede neural se assemelha ao
processamento do cérebro, já que o conhecimento adquirido pela rede também se dá a partir
de um processo de aprendizagem por meio de seu ambiente de estudo. Além disso, assim
como no cérebro, o armazenamento de conhecimento na rede neural é obtido por meio de
conexões entre as unidades de processamento, através de forças de conexão conhecidas
como pesos sinápticos. Este procedimento é conhecido como algoritmo de aprendizagem.
No presente trabalho, a rede neural será aplicada na identificação de um modelo não
linear que represente a dinâmica do Robotino, que é um robô móvel didático fabricado e
desenvolvido exclusivamente para o treinamento no campo de automação e tecnologia. Este
robô possui utilização em diversas linhas de desenvolvimento, pois além de sua capacidade
física para implementação de aplicações diversas, permite desenvolver uma navegação
autônoma através da criação de algoritmos de controle por meio de programação. Com a
realização da identificação de um modelo que represente a dinâmica do Robotino, é possível
otimizar o seu funcionamento por meio da utilização deste modelo no controle de posição e
velocidade, bem como no auxílio aos sistemas de sensores do robô.
Metodologia
Para o desenvolvimento deste trabalho, foi utilizado o Robotino, um robô móvel
desenvolvido para fins de pesquisa educacional, fabricado pela Festo Didactic. Inicialmente
foram feitos testes com o robô, para que se tivesse o conhecimento e domínio necessário para
implantação do projeto a ser desenvolvido. Para os testes, além do robô, foram utilizados o
simulador Robotino® SIM Demo e o software de programação Robotino® View, também
fornecidos pela Festo Didactic. Através da figura 1 a seguir é possível visualizar o sistema de
robô móvel (Robotino) utilizado.
Figura 1. Robotino
Com a conclusão dos testes realizados, desenvolveu-se uma rede neural artificial
através do MatLab, um software de programação. Em seguida, a rede foi associada ao robô
móvel, com o objetivo de aplicá-la na identificação da dinâmica do robô.
Para a obtenção das amostras de dados a serem utilizadas nas etapas de treinamento
e validação do treinamento da rede neural, utilizou-se a interface de simulação do Robotino
juntamente com a linguagem de programação do software MatLab.
Resultados e Discussões
Foram testadas diversas configurações de rede, variando-se o número de neurônios de
camada oculta, a magnitude dos grupos de dados para o treinamento e validação do modelo
encontrado.
Os melhores resultados foram obtidos a partir do grupo de dados de 1300 amostras,
com a MLP apresentando uma estrutura 3:4:3 (3 neurônios de entrada, 4 neurônios na camada
oculta, 3 neurônios de saída). O erro médio quadrático (EMQ) de treinamento foi de
aproximadamente 0,0116, sendo sua curva de convergência apresentada na figura 2 a seguir.
Figura 2. Erro médio quadrático.
Embora a rede neural possa estimar as velocidades nas direções frontal e lateral, no
presente trabalho optou-se por estimar a dinâmica do omnidrive apenas em termos de ômega,
que é a variável que representa o deslocamento angular do robô. Em futuros trabalhos, na
validação do modelo dinâmico do omnidrive, serão consideradas as velocidades nas direções
frontal e lateral em conjunto com o deslocamento angular.
O gráfico de validação na direção ômega do modelo dinâmico construído através de
uma MLP está representado pela figura 4.
Figura 4. Validação do modelo neural obtido – Linha preta: Deslocamento angular real; Linha
vermelha: deslocamento angular estimado pela rede neural.
Conclusão
Com os testes desenvolvidos no início do trabalho, foi possível obter uma excelente
compreensão acerca do Robotino e suas capacidades. Isso possibilitou a construção de uma
boa linha de raciocínio e desenvolvimento para o projeto.
Tendo como base os conhecimentos adquiridos no início do projeto, foi feito um estudo
direcionado à criação de uma rede neural artificial com o objetivo de identificar a dinâmica do
omnidrive do Robotino.
O trabalho foi consolidado através da implementação da RNA utilizando os dados
coletados durante todo o projeto. Sendo assim, pretende-se que a aplicação de uma rede
neural para modelagem da dinâmica do Robotino, faça com que o mesmo execute seus
movimentos de uma forma mais dinâmica e inteligente.
Dessa forma, conclui-se que, o êxito na conclusão do projeto foi essencial para objetivo
criado no início da pesquisa.
Referências
1. HAYKIN, Simon. Redes neurais: princípios e prática. trad. Paulo Martins Engel. 2.ed. - Porto Alegre: Bookman, 2001.
2. CAMARGO, J. T. Franco; VERASZTO, E. Vizconde; BARRETO, Gilmar. Simulação do
modelo cinemático inverso de um robô através do uso de redes neurais
artificiais: um complemento ao ensino de robótica. COBENGE – Congresso
Brasileiro de Educação em Engenharia, São Paulo, 2014.
3. WEBER, Ralph-Christoph. Robotino Manual. Festo Didactic – Denkendorf, Germany,
2007.
Download