====== Grupo 4 - MoU - Masters of Universe! ====== ===== TP2: ...Sensores! ===== Nosso primeiro passo neste trabalho foi a construção do robô sobre o qual montaríamos os sensores, ja que o robô do TP anterior era um tanto instável. A construção Em alguns dias, tínhamos um robô bastante melhor que o anterior (quem dera tivéssemos usado ele para fazer o trajeto quadrado!). ===== Desafios Encontrados ===== Pode-se dizer que os maiores desafios encontrados neste trabalho foram reslacionados à montagem elétruca dos sensores. Um dos sensores óticos que foi entregue ao grupo estava queimado, e o outro repondia valores em uma faixa pequena (apenas valores maiores que 190, aproximadamente). Depois disso compramos outro sensor ótico e o montasmos sem um resisor, no entanto o sensor quiemou. Decidimos então usar apenas um sensor ótico para implementar a função do robô seguir a linha preta - isso poderia ser feito melhor com dois sensores, mas também é possível fazê-lo0 com um só, como de fato fizemos. para identificar as cores, decidimos usar um LDR com três leds coloridos - um verde, um azul e um vermelho - ao invés do sensor ótico. ==== Interface da HandyBoard ==== Para este, trabalho, programamos a handyboard para realizar medições (correspondentes aos vários exercícios solicitados) e fazer o trajeto sobre a linha preta. A proporção de potência entre os motores e o tempo entre iterações para o algoritmo da linha preta pode ser parametrizada em tempo de execução, com o uso do knob. Também podem ser feitas calibrações de cor preta e branca (para que o robô saiba diferenciar as cores no trajeto sobre a linha) e calibrações para cada uma das cores dos blocos (vermelho, amarelo, azul e verde). ==== Algoritmo para identificação de cores ==== A idéia que utilizamos para identificar as cores foi a seguinte: montamos um LDR com os três leds (vermelho, verde e azul) e, após termos posicionado um bloco colorido à frente do sensor, ligamos um led de cada vez e medimos a resposta do LDR com aquele led ligado. Caso tenhamos um bloco vermelho, o LDR responderá valores baixos quando o led vermelho estiver ligado (a luz do led incide no bloco e é refletida de volta no sensor), e valores maiores para os outros. Durante a calibração, caracterizamos cada uma das quatro cores (verde, vermelho, amarelo e azul) como um tripla de valores (r,g,b), que correspondem aos valores da resposta média do LDR quando os leds vermelho, verde e azul estão ligados. Assim, quando vamos detectar a cor de um bloco, medimos sua tripla de cores (r,g,b) e achamos, dentre as tripla de cores btidfas durante a calibração, aquela que "mais se assemelha" aos valore medidos. Fazemos isso tratando as triplas como pontos no espaço 3-d e medindo a distãncia euclidiana entre o valor medido e os valores calibrados. Caso o valor medido se aproxime mais do valor calibrado para o bloco azul, por exemplo, então deduzimos que detectamos um bloco azul, e imprimimos a resposta no display. Este foi o procedimento adotado para a detecção de cores. Para esta tarefa, foi muito importante a realização do "networking". Em particular, não podemos deixar de mencionar o apoio que tivemos do grupo [[http://www.verlab.dcc.ufmg.br/doku.php?id=cursos:introrobotica:2007-2:grupo9:index|DooM]] na troca de idéias e experiências com Leds e montagem de sensores. ==== Algoritmo da linha preta ==== Foi utilizado apenas um sensor ótico para realização do trajeto da linha preta. Memorizamos os valores Branco e Preto, e determinamos um erro para a diferenciação de ambas as cores(baseado no número de testes que foram realizados). Os sensores mediam aproximadamente 200 na cor branca, e 240 na cor preta. O segundo fator memorizado era de que lado da linha o robô iria iniciar sua trajetória (Esquerda ou Direita). A partir de então, toda vez que o sensor detectava ter encontrado a linha preta, a indicação era que iria virar para o lado oposto ao último escolhido. Se não tivesse virado ainda, viraria para o lado oposto ao iniciado. E assim, formou-se um zigue-zague que foi sendo corrigido a medida que os conflitos ocorriam. ==== Mídia ==== [[http://www.youtube.com/watch?v=3N345Ek3JCo|Vídeo YouTube - Identificação de Cores]] [[http://www.youtube.com/watch?v=2jnw6CrnkYQ|Vídeo YouTube - Linha Preta]] ==== Documentação ==== Na documentação encontram-se todas as tarefas de exercícios e medições pedidas na especificação. [[http://www.dcc.ufmg.br/~lgomide/robotica/tp2/relatorio-1.pdf|Documentação]]