Trabalho Prático 4 – Controle
Objetivos
O trabalho prático 4 teve três objetivos principais. O primeiro dele consistia em fazer o robô se alinhar autonomamente com duas fontes de luz presentes na pista de testes, usando o conceito de LDR diferencial e lentes polarizadoras que quando aplicadas faziam com que o robô pudesse diferenciar as duas luzes presentes na pista. O segundo objetivo consistiu em construir shaft-encoders para que o robô pudesse imprimir o movimento de formas geométricas pre determinadas(quadrado, triângulo ou reta) de forma autônoma, sendo que o comprimento de tais formas geométricas é definido no menu da Handyborad, cabendo assim unicamente ao robô o processamento dos dados recolhidos pelos sensores break-beam para realizar com precisão o movimento correspondente a cada forma geométrica. Por fim o terceiro objetivo consistia em implementar no robô a capacidade de tomar decisões que levavam a ações distintas por parte do robô diante de cada cor de cubo identificada pelo sensor LDR, já que tal algorítimo de identificação de cor já havia sido implementado no trabalho prático 3.
Desenvolvimento
Com o intuito de atender as novas demandas do trabalho prático e aperfeiçoar a parte mecânica e estrutural, foram feitas grandes alterações na estrutura do robô, sempre com ênfase em manter o robô compacto, simples e funcional, dispensando assim peças desnecessárias que além de acrescentar peso ao robô, estavam tornando a estrutura menos robusta. Entre essas modificações destacam-se o substancial aumento da caixa de engrenagens para que as rodas do robô pudessem tem um maior torque mantendo a baixa velocidade, e a organização dos fios e a colocação de etiquetas nos mesmos, facilitado assim a montagem rápida do robô, já que um dos maiores desafios desse trabalho prático foi implementar um grande número de sensores na estrutura compacta do robô.
Programação
Como o trabalho prático tenha três objetivos distintos, a programação foi implementada em 4 funções que podiam ser escolhidas através do menu da Handyboard.
1-Calibração
Na primeira opção do menu da Handyboard era possível escolher entre calibrar o controlador PD, que usa os dados retornados pelos sensores break-beam para calcular a velocidade do robô e a calibração do sensor LDR responsável pela identificação das cores dos cubos.
2-Alinhamento LDR
Essa função contem o algorítimo responsável pela realização de um dos objetivos do trabalho prático: o alinhamento do robô com uma fonte de luz através da aplicação do conceito de LDR diferencial. Para tanto, foi adotada a estratégia de fazer o robô girar até que seu par de sensores LDR estivessem apontados diretamente para a fonte de luz, garantido assim que o robô estaria aninhado com a mesma.
3-Navegação e identificação de cor.
Nessa função o robô começa a se mover para frente e continua a se mover até que seu sensor óptico reflexivo localizado na parte frontal do robô detecte a aproximação de algum cubo colorido. Logo após sua parada o algorítimo de identificação de cor desenvolvido no trabalho prático 3 é executado para determinar a cor do cubo. Dependendo da cor determinada pelo algorítimo, o robô toma decisões para cada cor de cubo(amarelo, vermelho, verde e azul) e executa acoes distintas para cada cor, como pode se ver abaixo: Bloco Amarelo → vire à esquerda 90 graus e ande para frente; Bloco Vermelho → gire 180 graus e ande para frente; Bloco Verde → pare e emita um sinal sonoro. Bloco Azul → vire à direita 90 graus e ande para frente;
4-Shaft-encoders
Finalmente nessa última função o robô utiliza dos dados retornados pelos dois sensores break-beam instalados um em cada roda pra controlar a velocidade do robô quando este estiver realizando o trajeto referente a uma das três figuras geométricas(quadrado, triângulo ou reta) que podem ser selecionadas no submenu dessa função
Conclusão
A inclusão de novos sensores permitiu um notável aumento na precisão da movimentação do robô, especialmente os Shaft-encoders, que pela primeira vez possibilitaram que o robô andasse em linha reta, já que o algorítimo ativamente corrige as variações naturais que um motor apresenta em relação ao outro, assim como se espera de um sistema de malha fechada.
Videos