Localização
Utilizando os conceitos do LDR diferencial, o robô deve ser capaz de se alinhar com a fonte de luz mais próxima presente no campo.
OBS: O robô não será informado de qual lado está!
Odometria e Controle
Utilize sensores break-beam para construir shaft-encoders.
Implemente um controlador PD para controlar a velocidade do robô. O robô deve ser capaz de realizar um determinado caminho que será selecionado através do menu (Reta, Quadrado, Triângulo).
OBS: O comprimento da reta e do lado das figuras geométricas deverá ser escolhido pelo menu.
Navegação(line-following)
O robô deverá seguir as linhas marcadas no campo de competição. Para isso deverá utilizar no máximo dois sensores ópticos à escolha do grupo (óptico-reflexivo ou LDR).
OBS: Se necessário, insira um item no menu para realizar uma calibração antes da tarefa, minimizando assim a influência da luz ambiente.
Menu
Todas as tarefas devem ser facilmente acessadas através de um menu. A facilidade de uso desse menu também será avaliado.
O robô movel construido em lego foi feito em formato tanque. Isto se deve a três fatores:
Toda sistema de locomoção se encontra na parte traseira do robô. Isto inclui o sistema de diferenciais duplos, reduções com engrenagens, e motores. Já a parte da frente foi destinado ao posicionamento de sensores de locomoção, identificação de luz polarizada, identificação de cor, breakbeams, e handyboard. Como não havia um peça fina o suficiente para ser utilizado no breakbeam, foi utilizado dois discos furados, cortados de um cartão telefônico. O sensores utilizados para seguimento de linha são dois ldr's setados para fornecer um input digital. Um led de luz foi adicionado para melhorar a precisão da leitura da linha pelos sensores. Para realizar a leitura da luz polarizada foi construido um “torre” de lego com dois sensores ldr's. Estes sensores tem cada um um filtro de polarização posicionado na frente. Cada filtro foi alinhado com a luz de uma lampada que se encontra na mesa de testes.
A principal dificuldade que isso presenta é que nosso robô tem a limitação de não poder ir para frente e virar a mesma vez. O que nós não encontramos como uma limitação para fazer as tarefas requeridas
O robô tem um total de 7 sensores. Eles são:
O software tem uma função main() que só tem o menu do programa e ele faz chamadas para as diferentes funções de cada tarefa.
O maior desafío do software foi a leitura dos sensores. Nesta oportunidade eles não precisam de uma calibração antes da demostração de funcionamento, só com uma calibração inicial está bom. A alineação se faze “online”, já que primeiro o robô faz uma volta para fazer medições. O seguidor da linha tem um umbral no meio dos valores de branco e preto, esse sensor tem uma saida muito diferente entre o branco e preto, então é muito bom frente ao ruidos. E o sensor de encoder não precisa calibração.
Para fazer o seguimento da linha, ele faz uma leitura do chão e determina em que posição ele está. Depende a posição é a decisão que que faz. As cuales são, ir para frente ou virar. Se não tem linha ninguna debaixo, ele vai para frente como condição de error.
As principais dificuldades encontrados no decorrer do TP3 foram: