GIGANTE GUERREIRO DAILEON [VeRLab]
Bem-vindo ao VeRLab! Laboratório Projetos Pessoal Publicações Reuniões Eventos Cursos Contatos VeRLab na mídia Tutoriais Área restrita Índice Versão para impressão Login Você está aqui: Bem-vindo ao VeRLab! » Cursos » Histórico da Disciplina "Introdução à Robótica" » Introdução à Robótica » GIGANTE GUERREIRO DAILEON Visitou: » GIGANTE GUERREIRO DAILEON Tabela de conteúdos
Engenheiros e Cientistas responsáveis:
Exibições públicas e testes:
Protótipo TP1
Protótipo TP2
Protótipo TP3
Protótipo Prévia
O maior e mais sagrado Mecha de todos os Tokusatsus!
Leonardo Palhares, Engº Mecânico (leonardomotta@ufmg.br)
Moisés Lisboa, Cientista da Computação (moises@dcc.ufmg.br)
Rafael Pissolato, Engº de Controle e Automação (rafaelpissolato@yahoo.com.br)
Tiago Amadeu, Engº de Controle e Automação (taarruda@yahoo.com.br)
01/11/06 - Uma pena… Na hora do vamo vê, o Daileon decepcionou a todos e nem sequer saiu do lugar… Mas, pelo menos, durante a competição, os responsáveis técnicos pelo Gigante conseguiram descobrir o problema! Então, ao final do campeonato, disputamos uma partida simbólica com o campeão, onde pudemos mostrar um pouco a força do Gigante Guerreiro Daileon!!! Parabéns à todos os grupos e ao campeão, que fizeram partidas muito emocionantes!! 30/11/06 - Tá chegando a competição!!! Estabelecemos algumas estratégias e adaptamos o robô para executá-las com maior facilidade! O que será que o Daileon vai aprontar???
28/11/06 - Mais uma grande apresentação do Gigante!!! Fez cada movimento com grande precisão!! E ainda mostrou repetibilidade, ao realizar o trajeto proposto pela segunda vez melhor ainda que na primeira! Agora, as últimas forças da equipe se concentram em montar a garra no Daileon e preparar as estratégias para a competição!
27/11/06 - Tivemos alguns problemas inesperados com os LDR's utilizados para seguir a faixa escura, pois a sombra interferia na diferenciação de preto e branco. Contornamos esse problema mudando os LDR's de posção no robô. Fora esse incoveniente, sentimo-nos levemente preparados para a prévia, enfim… 24/11/06 - Depois de muito trabalho, Daileon já parte com o piscar da luz de partida, se orienta pela luz polarizada, e segue a faixa preta até o computador!! Ufa!!! E ainda temos muito trabalho à fazer!
22/11/06 - Robô se orienta com bastante eficiencia pela luz polarizada, quando próximo à ela. Porém, com a mudança na redução, seguir a faixa preta ficou bem mais complicado. O fato de termos poucas portas analógicas à nossa disposição na Handy Board preocupa o grupo… Estrutura mecânica para capturar blocos apresentou-se funcional.
17/11/06 - Reduzimos a frente do robô e efetuamos a redução. Posicionamos também um encoder em cada roda. Ao realizarmos testes de rotação e translação do Daileon com controle proporcional, percebemos que precisamos de mais pulsos por volta da roda. Programa para a prévia começa a ser feito.
13/11/06 - Começamos a pensar nas estratégias para a competição. Porém, concluímos que primeiro temos que ver o que nosso robô é capaz de fazer! Começamos então a bolar uma redução menor e definir aspectos estruturais do robô, tal como o posicionamento dos sensores.
31/10/06 - A apresentação do Daileon foi muito boa! Seguiu a parede perfeitamente, fez uma linha reta quase boa (hehe!) e executou o algoritmo Wavefront com magnificência! Até o nosso protótipo de testes do controle PD foi muito bem em sua primeira (e possivelmente última) aparição. Ele ficou meio tímido no início, mas logo mostrou o seu potencial! Um viva para o Gigante!!!
30/10/06 - Sim! Compramos 2 break beams novinhos! Dois porque não precisaríamos de mais, e também ficaria meio difícil montar dois numa roda… Mas não pára por aí! A leitura deles é péssima e não serve pra usar as rotinas binárias disponíveis para a Handy Board! Um viva para Murphy! 27/10/06 - Testes de controle PD no protótipo de testes realizados com sucesso! Descobrimos hoje que precisamos de mais 4 sensores break beam! Usaremos os de algum mouse velho, ou compraremos alguns novinhos? Descubra no próximo capítulo! 26/10/06 - Acoplamos o segundo break-beam no equipamento de teste. Vasculhamos praticamente toda a internet atrás de um compilador assembler para formato .icb, achamos, não funcionou, vasculhamos mais, e por fim encontramos um arquivo que parece atender a nossos propósitos de testar um encoder de quadratura! Ufa! Mas a busca foi muito cansativa, e faremos os testes amanhã… 25/10/06 - Com força total, montamos o equipamento de teste do controle PD já com o break-beam acoplado, construímos um "bend-sensor" usando um potenciômetro e peças lego. Mas ainda temos um longo caminho… 24/10/06 - Primeiros testes com o sensor óptico são realizados. Verificamos também o bom funcionamento dos sensores break-beam, apesar de sua aparência catastrófica! 23/10/06 - Voltando ao trabalho, grupo delibera sobre o TP… O tempo vai ser um grande inimigo! 03/10/06 - Grande apresentação do Gigante Guerreiro Daileon!!! Seguiu a linha com destreza e maestria! E além de tudo teve 100% de aproveitamento na distinção de cores! Ooooohhhhhh!!! 29/09/06 - Após um período reservado à construção de gráficos e organização do trabalho, a equipe reuniu-se novamente. O programa de seguir linha foi um sucesso!!! Porém o pobre Daileon ainda não consegue diferenciar as cores… 22/09/06 - Todos os dados da calibração dos sensores foram coletados. Corpo técnico agora se concentra na construção do software para realizar a próxima tarefa: seguir a faixa preta. 18/09/06 - Sensores posicionados! Programa pra coleta de dados pronto e funcional! Alguns testes sem compromisso foram realizados com o intuito de se ter uma melhor noção da variação de intensidade do feixe refletido com a cor do obstáculo. 15/09/06 - Optando por simplicidade visando o sucesso na implementação para o TP2, o Gigante ja toma sua forma! Com tração diferencial, esquema de redução compacto baseado em roscas-sem-fim e uma inovadora estrutura de suporte dianteiro baseado em uma esfera de plástico, agora vai! Sensores já foram montados em peças Lego, prontos para serem testados. Foi detectada uma falha na entrada analógica 6, estando ela inutilizada. Será que essa limitação impedir-nos-á de alcançar o sucesso? 13/09/06 - Depois de um curto período de férias, voltamos ao trabalho! A estrutura do Daileon está sendo totalmente reformada. Membros do grupo não gostam do título de "Engenheiros do Daileon" dado ao grupo, e pretendem fazer motim! 05/09/06 - Primeira apresentação não foi boa. Devido a limitações de precisão no controle da rotação do eixo dianteiro do Daileon, a primeira tarefa não pode ser cumprida com sucesso. Corpo técnico em fase de análise dos fatos ocorrido para decidir-se sobre o rumo que o Gigante irá seguir. 04/09/06 - Problemas na calibração do movimento de rotação do Mecha gera muitos problemas que não eram esperados pelo grupo técnico. Atitudes desesperadas estão sendo tomadas para cumprir o deadline que vence amanhã!
03/09/06 - Testes realizados e medições de translação e rotação feitas. Gráfico com regressão linear dos pontos obtidos construído. Agora testes específicos da tarefa a ser cumprida serão realizados.
1°/09/06 - O Gigante vive!!! Depois de várias experimentações em sua estrutura, ele adquire a forma ótima! Com um compacto sistema de redução e com direito até a eixo diferencial (Ohhhh!!!) ele promete conquistar o público fã de séries japonesas com efeitos especiais incríveis! 30/08/06 - O Gigante começa a tomar forma! Estrutura mecânica quase completa. Testes no IC e na Handy Board deram resultados positivos. 28/08/06 - Equipe técnica reúne-se para discutir estratégias e aspectos mecânicos do Mecha.
Ôôô Galaxyyyy!!! Ôôô Galaxyyyy!!!
Vô dexá a vida me levá!!!!!
Performance ao vivo do gigante!!!
Protótipo não muito bem sucedido, estrutura mecânica bastante rígida, redução compacta, dois motores (translação e rotação). Principal falha: controle complexo da rotação (roda dianteira), devido à relação tempo de acionamento X ângulo e a grande influência de fatores externos como carga da bateria e aderência do piso. Característica chave: utilização de um diferencial no eixo traseiro, possibilitando a rotação do robo, tendo somente um motor para translação.
Robô diferencial, com redução utilizando rosca sem fim, estrutura mecânica reforçada e uma esfera na ponta oposta ao eixo de tração para equilíbrio da estrutura.
Principais características: sensor de proximidade (fotodetetor + fotoemissor), possibilitando o reconhecimento de cores e distânica, dois sensores de intensidade de luz (LDR), distinção entre linha a seguir (preta) e piso branco.
Basicamente a mesma estrutura mecânica do protótipo TP2, porém com uma haste móvel que mede a distância do robô à parede. Dois encoders foram também acoplados um em cada roda do robô.
Principais características: encoders em cada roda, para efeito de controle de posição e velocidade do robô, haste móvel para seguir a parede sempre à mesma distância ("bend-sensor").
Com relação ao protótipo anterior, a frente do robô foi compactada. A redução proporcionada pelas engrenagens e roscas sem fim também foi diminuída, para termos maior velocidade. A haste móvel, que mantinha o robô à uma distância fixa da parede, foi removida, pois a julgamos muito frágil para a competição. Também montamos dois encoders, um em cada eixo das rodas, para termos um controle de posicionamento. Um LDR na traseira do robô foi montado junto à um polarizador, para orientarmos o robô num momento inicial. Os LDR's da frente do robô foram mantidos, para seguirmos a faixa preta e também para detectarmos a luz de partida, assim como o sensor óptico também foi mantido, usado para identificarmos a cor dos blocos que representam o computador.
Como na prévia a manipulação dos blocos se restringe ao plano do campo de competição, não sofisticamos muito nossa estrutura manipuladora. Ela então consiste-se basicamente de uma jaula que aprisiona o bloco em seu interior. A entrada da jaula é localizada na parte frontal do robô.
Montar um robô cuja tarefa será desenhar três quadrados sobrepostos. Fazer uma estrutura firme e resistente. Calibrar os movimentos de translação e rotação, medindo os erros. TP1
Estruturar o robô para utilização de sensores. Uso de um sensor ótico e dois sensores LDR. Montagem e processamento dos sinais medidos serão avaliados.
Realizar várias tarefas de controle no robô. Sensores break beam implementando shaft encoders e potenciômetro usado como "bend-sensor".
Executar algumas tarefas básicas para a competição, a fim de mostrar que nosso robô está preparado para a mesma. Detalhes do Projeto
Nosso primeiro pensamento foi o de fazer com que nosso robô se movimentasse da forma mais confiável possível! Dessa forma, trabalhamos bastante no controle de andar em linha reta e rotacionar 90°. Para isso, usamos dois encoders, um em cada roda. Com os testes iniciais, percebemos que a quantidade de pulsos por volta das rodas era muito baixo, não sendo suficiente para nosso controle. Contruímos então um encoder com mais pulsos por volta, porém a rotina que gerenciava a contagem desses pulsos estava perdendo alguns deles, provavelmente devido à alta freqüência dos pulsos. Resolvemos então, nesse ponto, trabalhar em outros aspectos da prévia.
Para orientar o robô inicialmente, montamos um LDR junto à um polarizador, de forma que, de um lado do campo, a leitura da luz polarizada é máxima, e do outro lado, mínima. Lembrando que a fonte de luz polarizada dos dois lados do campo tem uma diferença de 90º. Assim, enquanto o robô não encontra a luz máxima ou mínima, ele gira em torno de si. Ao encontrar, ele segue em frente.
Para encontrar a faixa preta e seguí-la até o computador, o robô primeiramente ignora a primeira faixa preta. Após passar por ela, ele faz a seguinte seqüência de movimentos: para, gira pra direita um ângulo um pouco menos que 90º, e depois segue em frente até encontrar a faixa preta para seguí-la. Fizemos assim de forma a ganhar tempo, pois se seguísse-mos a faixa preta desde o início, o robô daria voltas desnecessárias. Dessa forma, conseguimos economizar 50% do tempo gasto nessa etapa. Ao começar a seguir a linha, o robô passa a verificar constantemente o status do seu sensor ópitico, até perceber que ele capturou um bloco, preto ou branco. Ele distingue a cor do bloco, mostra o resultado, e então passa a executar uma seqüência de movimentos de forma a realizar a trajetória descrita na prévia, sempre carregando o bloco. Apresentação
Apresentação do GGD para a competição
Código IC para executar a tarefa do TP1
Código IC para executar as tarefas do TP2
Código IC para executar as tarefas do TP3
cursos/introrobotica/2006-2/grupo5/index.txt · Última modificação: 2006/12/06 20:45 (edição externa)