TP 2 - Construção de um robô móvel
A saga do nosso querido robô Enzo continua! Dessa vez ele irá se movimentar, perceber cores e tomar decisões!
O primeiro passo nessa etapa foi a construção da nova estrutura do Enzo. Ela consiste basicamente de uma base inferior, duas paredes laterais e uma base superior. Acima da base inferior foi montado um sistema de engrenagens para ligar os motores às rodas, que também utiliza as paredes laterais como apoio. A imagem abaixo mostra o começo da construção.
Como o Enzo iria se movimentar, foi necessário construir um sistema de engrenagens para transmitir a potência dos motores para as rodas. Conforme o ensinado nas aulas, considerando que não há perdas (o que é razoável neste caso), a diminuição da velocidade angular leva a um aumento do torque em cada eixo até as rodas. Foram feitas várias tentativas para um sistema de transmissão que conseguisse girar as rodas sobre o chão e/ou a mesa. Uma destas é mostrada abaixo.
Já que o Enzo está crescendo e precisa cumprir as tarefas sozinho (mas vamos ensiná-lo direitinho antes) a base superior serve como suporte para o Arduino e seus agregados. A imagem mostra como ficou a configuração.
Seguindo uma das dicas dadas pelo professor para este TP, inicialmente os sensores foram montados e testados separadamente do robô. No caso do sensor de proximidade, a equipe escolheu utilizar o TCRT5000. No sensor de cor, a equipe preferiu utilizar um LED do tipo RGB por simplicidade. A imagem abaixo mostra este equipamento montado em uma protoboard, onde ocorreram os primeiros testes.
Terminando as apresentações iniciais, chegou a hora de ver o Enzo dando seus primeiros passos! Lembrando que a primeira tarefa ele tem de ser capaz de fazer três movimentos: linha reta, triângulo e retângulo. Os vídeos abaixo mostram como ele realiza cada um:
A tarefa 2 envolve a identificação de cores pelo sensor de cor. Para isso, é preciso fazer uma calibração com as cores branca (reflexão total) e preta (absorção total) e assim se tem um valor mínimo e máximo de referência. Para a identificação de cada cor foram feitos ajustes manuais entre os valores obtidos pela reflexão de cada cor pelo bloco. Ainda sim, ocorrem alguns erros, que podem ser resultado da luz ambiente incidindo no sensor LDR. Os vídeos abaixo mostram a calibração utilizando uma folha e o teste de identificação das cores com blocos coloridos.
A terceira (e última) tarefa é uma junção das duas primeiras, pois o Enzo deve executar movimentos conforme a cor dos blocos que detecta na sua frente através do sensor óptico, que neste caso se comporta como sensor de proximidade. Como foi citado acima, e como de fato ocorreu no momento da gravação do vídeo abaixo, o sensor de cor errou a cor de alguns blocos, fazendo movimentos indesejados.
Depois de muito trabalho e dedicação, Enzo vai descansar porque logo logo terá que participar de uma corrida. Até breve pessoal!