Tabela de conteúdos

TRABALHO PRÁTICO 2

Objetivo

Esse trabalho prático tem por objetivo a introdução e a aplicação de sensoreamente e tratamento de informações para controle a atuação de um robô. Deve-se implementar sensores capazes de auxiliar o robô em duas tarefas, seguir uma linha escura no chão e o reconhecimento de cores de objetos.

Desenvolvimento

Alterações Estruturais

Percebemos que para o desenvolvimento do TP2 seria necessário fazer algumas mudanças estruturais no robô, como o reforço do eixo biapoiado, que não era robusto o suficiente para suportar choques mecânicos, bem como a troca do referencial frete-traz do robô para melhor aproveitamento de espaço para fixação de sensores.

No modo de calibração o programa solicita que o usuário aproxime dos sensores blocos de diferentes cores e pressione start. O sistema determina assim as faixas de valores que serão consideradas para cada uma das seis cores disponíveis (preto, azul, verde, amarelo, marrom e vermelho) e para cada um dos leds. No modo de execução, a partir do cruzamento das informações fornecidas pelos dois leds é possível determinar a cor dos blocos.

Contrução dos Sensores

Para realizar as taferas solicitadas para o trabalho prático foi nessário a construção de alguns sensores, que têm a função de detectar e mensurar a distância entre o robô e objetos , identificar a cor dos objetos, além de detectar linha escura no solo para poder seguir trajeto formado por ela.

Sensor Ópto Reflexivo

Tais sensores são muito utilizados comercialmente em diversas aplicações como detecção de ojetos, caracterização de superfícies , medição de distâncias, construção de shaft encoders, detecção de códigos de barras. Para detectar e menssurar a distância de objetos posicionados de frete ao robô, bem como a detecção das linhas escuras no solo foi implementado no robô sensores opto-reflexivos, CHAVE OPTICA REFLEXIVA TRIANGULAR do fabricante CROMATEK.

Para a implementação foi necessário a fazer a interface dos sensores com a handy-board. Para cada elemento do sensor, emissor e receptor, foi contruído um circuitos para interface como mostrado.

Emissor: Segundo o data-sheet do sensor a tensão de operação do emissor (LED1) varia entre 1,2 e 1,7V, e a corrente de operação entre 20 e 100mA. Senso assim analisando a malha do emissor foi dimensionado o resistor R1 do circuito apresentado.Foi escolhido um resistor de 100R por ser um valor comercial e estar centralizado dentro da faixa calculada para R1.

Receptor: Conforme apresentado no circuito o receptor (Q1) teve um de seus terminais conectado no barramento de terra e outro no terminal V sens da handy-board, que é uma entrada analógica do circuito controlador do robô.

Implementação Física:

Para implementação fisica soldamos os terminais de terra do emissor e do receptor em um mesmo condutor. No terminal do emissor foi soldado um condutor com a resistência R1 em série, e no terminal de sinal do receptor foi soldado um condutor sem associação de resistências. Todos as conecções foram isoladas com tubos termoretráteis e conectadas com barramento de pinos para facilitar a ligação no barramento da handy-board. Para facilitar a organização dos sensores padronizamos os fios condutores conforme mostrado:

As chaves ópticas foram posicionadas no robô de acordo com a sua função, conforme ilustrado na figura abaixo:

Sensor de Cores

Para a implementação do sensor para detecção de cores, utilizou-se se um LDR (Light Dependent Resistor), que é um tipo de resistor cuja resistência varia conforme a intensidade de radiação do expectro visível que incide sobre ele. Utilizando dessa caracteristica do LDR e do princípio de que os corpos de cores diferentes absorvem certas faixas de onda do espéctro visível e refletem as outras, pensamos em um sensor RGB, que emitiria feixes de luz dentro de faixas específicas do expéctro de luz visível (vermelho, verde e azul). Uma vez controlada a emissão dos feixes de luz, e medindo e recepção da intensidade luminosa do LDR conseguiríamos então inferir a cor do objeto posicionado de frente ao sensor. Fazendos testes com o senso ainda na forma de protótipo , e sem nenhuma isolação contra a influencia da luz ambiente, podemos adquirir os dados mostrados abaixo:

Led Vermelho Led Azul Led verde
Bloco Vermelho207047
Bloco Verde656023
Bloco Azul504032
Bloco Amarelo204417

Analisando os dados chegamos a conclusão que não seria necessário implementar um sensor RGB uma vez que o sensor respoderia muito bem mesmo que fosse um sensor do tipo RB. Sendo assim implementamos o sensor utilizando um LDR, conectado em uma entrada analógica da handy-board, e dois LED (vermelho e azul) que foram conectados na porta SPI, configurada como saída digital, para que pudessemos controlar a emissão dos feixes de luz. A montagem do sensor foi feita em uma matriz de contatos, na qual os componentes foram inseridos e soldados para que tivessemos um posicionamento estável dos mesmo. A matriz de contatos foi encoberta por blocos legos da cor preta, de forma a possibilitar a montagem do sensor no robô e a proteção do LDR contra a influencia da luz ambiente, uma vez que o bloco a ser análisado ocuparia toda a abertura frontal do sensor impedindo que feixes de luz oriundos da luz ambiente incidissem sobre o LDR.

Aquisição de Dados dos Sensores

Foram adquiridos dados dos sensores para que pudéssemos fazer análise dos dados obtidos. Tal análise encontra-se no Relatório em versão PDF.

Programação

O programa desenvolvido para a Handy Board conta com um menu de funções e programas para a execução das atividades do TP1 (Desenhar um círculo e um quadrado) e as funções do TP2 (Seguir linha e identificar cores). As opções podem ser selecionadas girando o potenciômetro e confirmando as escolhas através do botão start. O botão stop retorna ao menu inicial ou cancela a função em execução. As funções do TP2 apresentam dois modos cada sendo um para calibração e um para execução. No modo de calibração da função de seguir linha o programa solicita ao usuário que posicione os sensores opto fora da linha e pressione start para realizar a identificação do solo. Este valor é gravado em uma variável global e determina a separação entre os valores que serão considerados piso normal e linha. No modo de execução o robô se movimenta seguindo a trajetória marcada no piso utilizando um fator de correção fixo na velocidade de cada uma das rodas caso o sensor detecte a linha. Na função de identificação de cores os dois leds coloridos são acionados alternadamente para identificar o bloco que se encontra a frente do robô conforme mostrado na Figura 5. Este modo de identificação foi utilizado ao invés da identificação utilizando apenas um led colorido para aumentar a confiabilidade do processo.

No modo de calibração o programa solicita que o usuário aproxime dos sensores blocos de diferentes cores e pressione start. O sistema determina assim as faixas de valores que serão consideradas para cada uma das seis cores disponíveis (preto, azul, verde, amarelo, marrom e vermelho) e para cada um dos leds. No modo de execução, a partir do cruzamento das informações fornecidas pelos dois leds é possível determinar a cor dos blocos.

Conclusão

AS duas tarefas do TP2 foram realizadas com sucesso, o robô for capaz de identificar todos os 6 blocos disponíveis no laboratório,de forma bem confiável. A função de seguir a trilha escura do campo foi executada de forma bem pragmática, o robô somente seguia linhas retas e quando identificava o fim da linha ou uma curva parava a sua trajetória. Concluímos que o TP2 foi bem sucedido, todas as funcionalidades requisitadas foram implementadas com resultados finais satisfatórios.

ANEXO

Em anexo cópia do relatório em formato PDF e código do robô

tp2_robotica-_hummer.pdf

prog_tp2.rar