Tabela de conteúdos

Grupo 4 - UaiBot

Flávio Bastos Haueisen

Luiz Fernando Leite Oliveira

Roberto Almeida Gontijo

TP 1 - Fotos

img_20120928_103530.jpg img_20120928_103605.jpg img_20120928_103554.jpg

img_20120928_103637.jpg img_20121005_173610.jpg

img_20120928_113033.jpg img_20120928_113024.jpg img_20121005_173558.jpg img_20121005_173620.jpg

No TP1 tivemos como grande problema a montagem inicial do nosso robô, decorridas do fato que o motor nunca ficava da mesma altura que as peças de lego. Após realizar alguns testes, descobrimos uma montagem que funcionou muito bem em cada eixo dos motores nós colocamos uma peça espiral que fica indiferente a variações de altura pequenas.

Fizemos uma montagem para o pivô que pode ser observada na seguinte imagem: Notamos que a borracha que envolvia a peça de lego impedia o eixo de rodar por estar arrastando na hora da curva, com isso, tiramos a borracha e tivemos um melhor resultado.

Para o suporte da caneta fizemos algo bem simples, em que a caneta ficava inclinda e apenas travada, se ele ficasse escrevendo durante um longo período de tempo tinhamos que dar uma forçada nela para ela voltar a escrever.

img_20120928_103614.jpg

Conhecendo os Motores


Luiz Fernando Leite Oliveira 2012/11/19 11:32 Após a montagem estar pronta fizemos testes iniciais para verificar em qual, potencia que o robô andaria em linha reta, a combinação obtida foi 73 para um motor e 70 para o outro.

Medições de Tempo


Após o momento em que já conheciamos a potência que colocavamos em cada motor para ele andar em uma linha reta fizemos medições para ver em quanto tempo ele fazia os 30cm que eram pedidos pela descrição do TP. O resultado obtido foi: 6.3 segundos. Ao fazer várias medições com esse tempo que encontramos os erros obtidos foram:

Fizemos os testes apenas com a potência que já conheciamos que fazia o nosso robô andar em linha reta.

Medida Distância(cm)
1 32,1
2 31,7
3 29,0
4 33,4
5 29,3
6 31,5
7 28,3

Giro de 90 graus


Para fazer o nosso robô girar apenas multiplicamos por -1 a potência de uma das rodas, ou seja, passou a funcionar como 73 e -70. E fizemos novas medições de tempo para ver quando ela passava a girar os 90 graus desejados.

Tempo(seg) Rotação (graus)
2 »90
1 110
0.9 100
0.7 84
0.8 92
0.78 90(na maioria das vezes)

O circulo Ao fazer o circulo não encontramos problemas pois fizemos um calculo para, com a potencia de linha reta já calculada e o raio do circulo que teriamos que descrever, qual seria a potência para de uma das rodas para o robô fazer o cir- culo da forma desejada, e com isso, apenas medimos o tempo de um circulo completo e depois fizemos os motores ficarem ligados por esse tempo vezes três.

A apresentação

Nossos teste para fazer mais rapidamente as a trocas de tempo para o giro foram feitos com a porta que liga a handy-board ao computador ligadas. Ao chegar na apresentação o robô se comportou de forma inesperada tendo giros maiores que os de 90 graus e deslocamentos maiores que 30cm depois, descobrimos que tinha uma diferença com essa porta ligada quando a ligamos o resultado voltou a ser o esperado.

TP2

Montagem dos sensores

Sensor de Cores

Como pode ser visto pela foto a montagem do sensor consiste em tres leds (RGB) que estão junto com um LDR, que está envolvido por um termoretractil para evitar que os raios dos três leds cheguem diretamente a ele, e essa estrutura está dentro de uma “caixa” feitas por peça de lego e atrás desta existe uma folha de papelão para que não chegasse luz por de trás do LDR.

Tivemos um certo problema ao fazer essa lógica de ligar os trés leds devido a duas portas digitais de saída de nossa placa não estarem funcionando, com isso, descobrimos uma função que transformava a porta digital 9 em uma porta de saída.

Sensor de Linha

No começo tentamos usar uma montagem com dois sensores sendo um LDR com um led acoplado e outro sensor infra-vermelho, o que não funcionou direito. Ao conversar com outro grupo que nos emprestou outro infra-vermelho pegamos os valores e os colocamos na frente do UAIBOT.

A Calibração dos Sensores

A calibração foi primeiramente com o sensor dentro da caixa e fizemos um programa para imprimir a cada segundo o que o sensor retornava. A calibração foi feita como mostram as fotos a seguir:

Dados obtidos:

Sensor Trapésio LDR todos os leds acesos
3 mm anteparo vermelho dentro da caixa 1110
1112
1111
1210
1211
Sensor Trapésio LDR todos os leds acesos
3 mm anteparo vermelho 9196
10201
10190
10194
10198
3 mm com motor ligado anteparo vermelho não foi notada diferença
Sensor Trapésio LDR todos os leds acesos
3 mm anteparo preto 138 232
140232
139232
135 232
135232

Cosiderações Notadas

Foi notado que através dos sensores que os sensor infra-vermelho seria melhor para verificar as linhas pretas as quais o robô deveria seguir, e o LDR seria melhor para o sensor de isopor.

A Implementação

Após a coletagem de dados que os sensores nos retornaram fizemos a implementação do programa que iria rodar.

Seguir Linha Preta

O programa de seguir linha preta consiste em uma máquina de estados com quatro estados, considerando 1 como preto e 0 como branco o que o sensor que está localizado embaixo está medindo, temos a seguinte máquina que foi bem simples de ser implementada:

maquina.pdf

Detecção de Cores

Para diferenciar as cores dos blocos primeiro foram feitas medições de cada bloco, com todos LEDs acesos, e com cada um aceso individualmente. Dessa maneira cada bloco tinha quatro medições. Dispondo esses dados em uma tabela extraimos a maneira mais rápida de determinar qual a cor do bloco. Com todos LEDs acessos conseguiamos determinar o maior número de blocos, e quando acontecia dúvida acendiamos somente um LED, e esse seria o que possibilitava a determinação da cor ou então que separasse os blocos em dúvida no maior número de grupos.