Ferramentas do usuário

Ferramentas do site


cursos:introrobotica:2017-1:grupo10:tp3

Trabalho práctico 3


Tarefas requeridas

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.


Estrutura

O robô movel construido em lego foi feito em formato tanque. Isto se deve a três fatores:

  • A equipe decidiu implementar um sistema de tração diferente deste o segundo TP, que seria basicamente utilizar um motor para locomoção reta, e outra para o “spin” para o robô.
  • No segundo TP o grupo teve dificuldades em usar rodas, já que a fita preta da mesa de testes atrapalhava no funcionamento do robô. Com a utilização de esteiras o atrito com o solo é maior, e o robô consegue facilmente se deslocar por cima das linhas preta sem deslizar.
  • A utilização de um sistema de diferencial duplo pode reduzir a quantidade final de engrenagens necessárias para gerar a redução necessária para o deslocamento satisfatório do robô.


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



Sensores

O robô tem um total de 7 sensores. Eles são:

  • 2 enconders ópticos nos engrenagens: São dois sensores digitais. Eles fazem o controle de velocidade e também o controle da posição.
  • 2 LDR no chão: São dois sensores analógicos. Eles lê o chão para detetar a linha. Temos um no centro e dois, um de cada lado.
  • 2 LDR polarizados: São dois sensores analógicos. Eles olham as lampadas para fazer uma diferença entre a iluminação delas, desta forma se pode saber quando está alinhado a uma delas.
  • 1 detetor de cor: É um sensores analógicos. Esse sensor não é necessário para nosso trabalho, mas ele já está instalado para o trabalho final.



Software

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.


Dificuldades

As principais dificuldades encontrados no decorrer do TP3 foram:

  • Alterar o menu para permitir que as opções sejam escolhidas com mais facilidade pelo usuário. No caso usar o knob. Para isto foi necessário reformular completamente o menu antigo utilizado no TP2.
  • Como implementar o uso do breakbeam no código de odometria e seguimento de linha. No caso, o breakbeam fornece uma input de 1 caso nada estiver entre o led e o receptor,e zero caso haja algo entre elas. Portanto foi criado um contador que soma a cada vez que algo entra no caminho do led e receptor. A partir disto se identificou a quantidade de rotações o motor realiza a determinada potencia para uma determinada distancia.
  • Como foi implementado uma nova configuração de robô móvel, do tipo tanque com esteira, foi necessário obter as reduções ideais para o funcionamento adequado do robô.
  • No seguimento de linha existem algumas bifurcações muito próximas uma da outra. Fazer com que o robô consiga seguir as linha nestas regiões representou uma enorme dificuldade. Para superar esta dificuldade, a medição pelos sensores de seguimento de linha foi melhorado ao se posicionar um led de luz branca embaixo do robô.



Vídeos


cursos/introrobotica/2017-1/grupo10/tp3.txt · Última modificação: por 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki