IC: Robô Móvel Autônomo com Sistema de Navegação Baseado em Visão Computacional

Título Completo: Robô Móvel Autônomo com Sistema de Navegação Baseado em Visão Computacional para Ensino de Engenharia
Orientado: Samuel Santos de Oliveira
Categoria: Robótica
Data de Conclusão: 09/2020 – PIVIC
Link: Relatório Final

Os robôs móveis autônomos apresentam diversas aplicações e tem destaque na área de mobilidade urbana. No entanto, ainda existem diversas barreiras e desafios para esta tecnologia como o alto custo, complexidade técnica, normas e aspectos de segurança.

A versatilidade e multidisciplinaridade dos robôs os tornam ideais para serem utilizados no ensino STEM (Science, Technology, Engineering, and Mathematics) [3], focando principalmente na área de engenharia

Existem diversas iniciativas para ensino de conteúdos de engenharia por meio da robótica. Em particular, existem algumas iniciativas que utilizam os conceitos de carros autônomos e de visão computacional, como a o Duckietown (MIT), na qual utiliza robôs de baixo custo denominados Duckiebots (Figura d) com grande capacidade de processamento e sensoriamento, incluindo o uso de visão computacional. Existem outras iniciativas como o Donkey Car (Figura a) e iniciativas utilizando Android (Figura c) e automodelismo (Figura b).

Projetos de robôs autônomos utilizando visão computacional: a) Projeto Donkey Car; b) Zheng Wang RC Car; c) Android’s Autonomous Vehicle; e d) projeto Duckietown.

Baseado em estudos da área e nestas iniciativas para ensino, foi proposto um estudo inicial para a elaboração de plataforma similar ao Duckiebot, mas com os ajustes necessários para minimizar custos e refletir a realidade brasileira, como identificação de placas em português e de outras possíveis particularidades nacionais.

Foi estabelecido como meta inicial, a construção e adaptação de um robô móvel autônomo móvel. O desenvolvimento do protótipo apresentou vários desafios, principalmente pela dificuldade de utilizar os algoritmos originais do projeto Duckiebot e a suspensão das atividades acadêmicas na UFU devido a pandemia.

Após passar por algumas adaptações ao longo de 2020, o projeto apresentou resultados promissores ao utilizar códigos de elaboração própria, onde o Raspberry Pi 3b contido no protótipo foi capaz de utilizar a câmera, o hat de motores de menor custo e identificar placas de “pare”, atendendo de forma parcial os objetivos almejados para o projeto.

Imagens do protótipo desenvolvido.

O custo do projeto, incluindo o Raspberry, Driver do Motor, Câmera e acessórios, foi de aproximadamente R$ 685,00.

Para testar a movimentação do robô e a comunicação do Raspberry PI com a placa de acionamento dos motores, foi realizado o controle remoto do protótipo via instruções comandos de um teclado. O robô apresentou bom desempenho, indicando que o Stepper Hat escolhido funciona adequadamente.

O segundo teste foi em a utilização da câmera para identificação da placa PARE, onde o robô deve se movimentar e ao detectar a placa, o mesmo pare suas funções por um determinado período. Durante os testes, o robô parou corretamente ao encontrar as placas no campo de visão da câmera.

Dentre os problemas encontrados, podemos citar:

– a não detecção inicial da câmera, necessitando uma ampla investigação dos drivers e de sua instalação, até conseguir fazer a mesma funcionar corretamente;

– o treinamento do classificador, o detector de placas Haar Cascade funcionava perfeitamente no notebook utilizado para o treinamento. Entretanto, não funcionou no Raspberry PI, sendo necessário aumentar o número de imagens positivas e negativas para o treinamento e consequentemente a geração de um classificador mais forte.

– travamentos e gargalos frequentes no Raspberry PI. Isto indica a necessidade de otimização do código, sendo observado que o desenvolvimento de um novo código, ao invés de utilizar os das plataformas citadas no início do trabalho, pode não ser viável.

Contudo, apesar das dificuldades, foi um bom aprendizado inicial sobre as limitações do hardware e dos módulos, necessitando mais averiguação para avaliar o seu funcionamento. É sugerido como trabalho futuro a otimização do código, utilização de mais sensores e módulos, a identificação de mais placas e melhor avaliação dos códigos do projeto DuckieTown.