{{cursos:introrobotica:2008-2:grupo5:tp-2-cachorro.jpg|}} ==== RoboBeagle McCluskey ==== O terceiro robô desenvolvido pelos componentes do Quarteto é o RoboBeagle McCluskey. Agora, o robô possui sistemas de aquisição de dados e deve tomar decisões baseadas nas informações. Leva em seu nome a homenagem ao grande cientista McCluskey e já se orienta em um campo de batalha. O grupo mantém a jornada em busca de um robô cada vez mais autônomo. ==== Objetivos ==== Dentre os objetivos do trabalho prático, o principal é a familiarização com os sensores na robótica e o processamento do sinal. Obviamente outros conhecimentos como montagem de sensores e montagem de estruturas em lego vão ser aperfeçoados. ==== Tarefas a serem realizadas pelo robô ==== O software desenvolvido para a HandyBoard deve permitir ao robô: - Seguir luz em um campo delimitado. A apresentação será realizada em um campo com duas fontes de luz polarizadas perpendiculares entre si. Com o auxílio de sensores e polarizadores, devemos possibilizar ao robô seguir em direção a uma das duas luzes; - Seguir linha. O robô deve ser capaz de seguir uma linha escura no campo delimitado; - Andar em linha e identificar blocos. Andar em linha reta e identificar blocos coloridos que serão colocados em seu caminho; - Ao realizar a tarefa anterior, o robô deve tomar decisões, previamente informadas pelo programador da tarefa. O Robô possui um sistema de emergência com uma parada no modo manual, caso seja necessário parar com as operações do mesmo, basta clicar no botão de emergência "stop" ==== Decisões de Projeto e Funcionamento ==== * O RoboBeagle possui três rodas, sendo duas rodas do tipo simples dispostas lado a lado e uma esférica (do tipo "rolon") localizada a frente do eixo imaginário formado pelas rodas simples. A cada uma das rodas simples está ligado um motor distindo. * Como pode observar nas fotos, para uma melhor distribuição de tensão superficial no eixo das rodas, colocamos doi pontos de contato para cada eixo de roda, ou seja, a roda do robô fica entre estruturas de Lego, isso reduz o desgaste das peças Lego e torna o robô mais robusto. * Como no robô "Surfista Prateado, para o robô transladar uma tensão de mesmo sinal deve ser aplicada em cada motor e para ele rotacionar tensões de sinais contrários devem ser aplicadas em cada motor (o parâmetro de entrada dos motores é o percentual da potência máxima). O eixo de rotação do motor é o centro do eixo imaginário que une as duas rodas simples. Obs.: O parâmetro de entrada dos motores são os percentuais das potências máximas, sendo assim, quando se falar de potência negativa, é a potência aplicada a uma tensão com sinal oposto. * Decidimos inserir um sistema de emergência para segurança do robô, essa função permite parar o funcionamento do robô a qualquer instante com o acionamento do botão de segurança. * Colocar os sensores estrategicamente posicionados para obter uma melhor captura dos respectivos sinais. O sensor de luz polarizada na parte superior do robô, o sensor de cor para blocos direcionado para frente e no meio do robô e o sensor de seguir linha na parte inferior do robô. * Fazer o sensor de cores incidindo a luz branca e medindo o a resposta do sinal. Da mesma maneira que poderíamos fazer um sensor com 4 Leds coloridos e incidir as 4 cores possíveis, decidimos inserir uma luz branca e medir o sinal de resposta, baseado nesse sinal identificar a cor do bloco. ==== Etapas de desenvolvimento ==== * Dia 28/10: Terminamos os testes das funções implementadas e desenvolvemos o site com o relatório do trabalho prático. * Dia 27/10: Terminamos o desenvolvimento do software, inserimos as funções de seguir linha, seguir luz e a tarefa final que é a identificação de cores de blocos. Iniciamos o desenvolvimento do site e do relatório que será entregue. * Dia 26/10: Terminamos as medições necessárias para o desenvolvimento do trabalho. * Dia 25/10: Iniciamos as medições solicitadas na especificação do trabalho e atualizamos o software, algumas lógicas de funcionamento foram desenvolvidas no decorrer do projeto. * Dia 23/10: Terminamos os sensores e acoplamos no robô, a parte inicial do software já estava pronta e iniciamos alguns testes dos sensores. Esse passo inicial com os sensores foi somente para verificar a relação entre os sensores e se realmente estavam funcionando. * Dia 21/10: Fizemos a montagem do robô, a estrutura do robô anterior foi alterada para uma otimização da redução nas engrenagens, travamento do motor e permitir o acoplamento dos sensores. Iniciamos o desenvolvimento do software com o menu e atividade que serão desenvolvidas na apresentação. * Dia 19/10: Foi proposto o trabalho prático em sala de aula e esclarecidas as dúvidas iniciais sobre o projeto. Após a aula, pegamos o material necessário para construção dos sensores. ==== Dificuldades encontradas e Soluções Propostas ==== - O limiar de decisão medido no sinal pode variar com o dia da realização do trabalho devido a iluminação local. Como não sabemos as condições do dia da apresentação, decidimos fazer uma função de calibração dos sensores que será executada no dia da apresentação, isso tende a reduzir os nossos problemas com interferência e variação das condições do tempo no dia da apresentação. ==== Medidas Realizadas ==== De acordo com as especificações do trabalho, realizamos algumas medidas para entender o funcionamento dos sensores. * Com o bloco vermelho a 3mm do sensor com o motor desligado, temos: ^ Com caixa ^ Sem caixa ^ | 83,0 | 62,0 | | 83,0 | 61,0 | | 83,0 | 58,0 | | 83,0 | 58,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | | 83,0 | 57,0 | ^ Média ^ Média ^ | 83,0 | 57,55 | ^ Desv. Pad. ^ Desv. Pad. ^ | 0 | 1,4 | {{cursos:introrobotica:2008-2:grupo5:tp2-grafico1.jpg|}} * Com o bloco vermelho a 3mm do sensor com o motor ligado, temos: ^ Com caixa ^ Sem caixa ^ | 80,0 | 72,0 | | 81,0 | 72,0 | | 81,0 | 72,0 | | 81,0 | 72,0 | | 81,0 | 72,0 | | 81,0 | 71,0 | | 81,0 | 72,0 | | 81,0 | 72,0 | | 82,0 | 72,0 | | 82,0 | 72,0 | | 82,0 | 71,0 | | 82,0 | 71,0 | | 82,0 | 71,0 | | 82,0 | 72,0 | | 82,0 | 72,0 | | 83,0 | 72,0 | | 83,0 | 72,0 | | 83,0 | 72,0 | | 83,0 | 72,0 | | 83,0 | 71,0 | ^ Média ^ Média ^ | 81,65 | 71,75 | ^ Desv. Pad. ^ Desv. Pad. ^ | 00,93 | 00,40 | {{cursos:introrobotica:2008-2:grupo5:tp2-grafico2.jpg|}} * Medição de cores e distâncias: ^Azul 3mm^Azul 1cm^Azul 2cm^Amarelo 3mm^Amarelo 1cm^Amarelo 2cm^Verde 3mm^ Verde 1cm^Verde 2cm^Vermelho 3mm^Vermelho 1cm^Vermelho 2cm^ |92,0|96,0|106,0|60,0|71,0|83,0|93,0|99,0|106,0|62,0|66,0|74,0| |91,0|97,0|106,0|60,0|71,0|83,0|93,0|99,0|105,0|61,0|70,0|74,0| |91,0|97,0|106,0|59,0|71,0|82,0|93,0|99,0|106,0|58,0|67,0|74,0| |92,0|97,0|106,0|59,0|71,0|82,0|93,0|99,0|105,0|57,0|65,0|74,0| |92,0|97,0|106,0|60,0|71,0|81,0|92,0|98,0|106,0|57,0|65,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|92,0|99,0|105,0|57,0|64,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|65,0|73,0| |91,0|97,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|73,0| |91,0|96,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|73,0| |91,0|96,0|107,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|64,0|73,0| |91,0|96,0|106,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|64,0|72,0| |91,0|96,0|106,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|65,0|72,0| |91,0|96,0|106,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|65,0|73,0| |91,0|96,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|65,0|72,0| |91,0|96,0|106,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|65,0|73,0| |91,0|96,0|106,0|59,0|71,0|81,0|92,0|98,0|105,0|57,0|64,0|72,0| |91,0|96,0|106,0|59,0|71,0|81,0|93,0|98,0|105,0|57,0|64,0|72,0| ^Média^Média^Média^Média^Média^Média^Média^Média^Média^Média^Média^Média^ |91,15|96,50|106,05|59,15|71,00|81,30|92,60|98,30|105,15|57,55|64,90|72,95| ^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^Desv. Pad.^ |0,37|0,51|0,22|0,37|0,00|0,66|0,50|0,47|0,37|1,39|1,45|0,69 {{cursos:introrobotica:2008-2:grupo5:tp2-grafico3.jpg|}} * Medição de ambiente sem bloco: ^ Linha Branca ^ |136| |136| |136| |137| |136| |136| |136| |136| |136| |136| |136| |136| |136| |136| |136| |138| |139| |141| |141| |139| ^ Média ^ | 136,95 | ^ Desv. Pad. ^ | 1,70 | {{cursos:introrobotica:2008-2:grupo5:tp2-grafico4.jpg|}} * Medidas com o sensor de linha Sensor da esquerda (Referencial robô) ^ Linha Branca ^ Linha Preta ^ | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | | 11,0 | 189,0 | ^ Média ^ Média ^ | 11,0 | 189,0 | ^ Desv. Pad. ^ Desv. Pad. ^ | 00,0 | 00,00 | Sensor da direita (Referencial robô) ^ Linha Branca ^ Linha Preta ^ | 12,0 | 197,0 | | 12,0 | 197,0 | | 12,0 | 197,0 | | 12,0 | 197,0 | | 12,0 | 198,0 | | 12,0 | 197,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 197,0 | | 12,0 | 197,0 | | 12,0 | 198,0 | | 12,0 | 197,0 | | 12,0 | 197,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | | 12,0 | 198,0 | ^ Média ^ Média ^ | 12,0 | 197,0 | ^ Desv. Pad. ^ Desv. Pad. ^ | 00,93 | 00,40 | {{cursos:introrobotica:2008-2:grupo5:tp2-grafico5.jpg|}} ==== Fotos ==== {{cursos:introrobotica:2008-2:grupo5:tp2-1.jpg|}} {{cursos:introrobotica:2008-2:grupo5:tp-2-2.jpg|}} {{cursos:introrobotica:2008-2:grupo5:tp-2-3.jpg|}} {{cursos:introrobotica:2008-2:grupo5:tp-2-4.jpg|}} ==== Documentação ==== {{cursos:introrobotica:2008-2:grupo5:relatorio_tp2.pdf|}} ==== Código ==== {{cursos:introrobotica:2008-2:grupo5:codigo_tp2.rar|}}