Última alteração: 2013-11-19
Resumo
Introdução: A navegação de robôs móveis pode ser formulada como um problema de classificar, a partir de dados provenientes de sensores, que direção o robô deve tomar em seu ambiente. Diferentes técnicas de Aprendizado de Máquina podem ser utilizadas na indução de modelos para a classificação automática de dados, possibilitando que se criem controladores para sistemas robóticos. Neste projeto foi investigada a navegação de robôs móveis com o uso de técnicas de Aprendizado de Máquina. Foram realizados estudos acerca da navegação de robôs móveis controlados por Redes Neurais Artificiais (RNA), técnica de aprendizado de máquina frequentemente usado em problemas de controle.
Resultados e discussões: Partindo do trabalho anterior “Navegação de robôs móveis com o uso de técnicas de Aprendizado de Máquina” onde já se havia estudado e realizado o processamento de imagem, coleta de possíveis exemplos de treinamento, estudo de técnicas de interpolação polinomial, neste projeto foram realizadas algumas alterações para que a RNA obtivesse uma taxa de acerto necessária para uma boa navegação em tempo real do robô. Para tal, abandonou-se o modelo “Pure Pursuit” uma vez que mostrou-se ineficaz para pistas do tipo que utilizou-se no projeto (apenas uma faixa de direcionamento ao invés de duas). O novo modelo criado relaciona cada intervalo de ângulo com uma classe diferente. Além disso, alterou-se o grau do polinômio interpolador para 1 (reta), o que melhorou bastante a resposta da RNA em comparação com a anterior, em que foi utilizado um polinômio de grau 2. Testes foram realizados juntamente com o robô, utilizando a toolbox para MATLAB RWTHMindstormsNXT que possibilitou usar a resposta da RNA para gerar comandos para o Lego NXT e obtendo-se uma resposta satisfatória. Algo que poderia melhorar bastante na navegação seria uma melhora no algoritmo de processamento de imagem, uma vez que a pista precisa estar em uma situação bastante idealizada (grande contraste pista-ambiente) para que a RNA responda corretamente.
Conclusão: Foi possível criar com sucesso exemplos de treinamento, de tal forma que a RNA treinada a partir destes obteve taxas de acerto bastante elevadas, podendo ter assim uma generalização bastante correta. O método de interpolação polinomial utilizado para representar as curvas e no treinamento da RNA também se mostrou bastante satisfatório. Em tempo real, o robô conseguiu executar os comandos de acordo com o esperado, dentro dos limites estabelecidos.