Tabela de conteúdos

Grupo 7 - Megazord

Membros

“Do, or do not. There is no try” - Master Yoda

Link para os vídeos do Grupo 07 no YouTube:

https://www.youtube.com/playlist?list=PLAwqcnYt9koFh5wxRdC3lVUCj_5M7ZdkT

TP1 - Escriba

Objetivo: Construir um robô capaz de escrever “UFMG” dentro do espaço determinado e em menos de 3 minutos, utilizando-se de dois motores elétricos.

Considerações: A presente descrição consta como um requisito para o trabalho, mas também uma forma de documentar e mostrar algumas ações tomadas ao longo da execução. O formato desse texto seguirá em caráter de relato.

DIA 1: LEGO 101

O primeiro dia de trabalhos foi uma experiência de familiarização com as peças do LEGO e suas possibilidades. Também fez-se uma seleção de motores e correção em suas conexões e fiação.

Adotou-se uma abordagem para a montagem do robô seguindo uma linha de “impressora 3D”. A concepção do robô foi e um prisma-prisma.

Têm-se o registro da primeira concepção do carro para movimentos laterais do robô

E também o registro da concepção inicial do braço do robô, para movimentos de profundidade.

DIA 2: O BRAÇO

Durante o segundo dia de trabalhos, fez-se o possível para tornar o braço do robô mais eficiente ao modelo que estava sendo construído. Percebeu-se, no entanto, que o uso do eixo dentado não era eficaz para movimentar o braço de escrita.

DIA 3: NOVA ESTRUTURA

Decidiu-se refazer toda a estrutura do robô, mantendo-se a mesma concepção. Já havia-se percebido que o movimento do braço não estava adequado e estendeu-se esse entendimento para o movimento do carro. Após a reconstrução do robô, obteve-se o esboço definitivo para a missão.

DIA 4: TESTES DE SOFTWARE

Com a versão final do robô, começou-se os testes finais do código principal e dos comandos de escrita. Percebeu-se, no entanto, a necessidade de uma melhor fixação do motor elétrico responsável pela movimentação do braço.

DIA 5: GO FOR LAUNCH

Trocou-se o motor do braço e bem como sua fixação, corrigindo o problema de alinhamento detectado anteriormente. Realizou-se os testes com as pilhas e o robô performou muito bem. Montagem final concluída e totalmente operacional. Expectativas são boas para a apresentação final.

DIA 6: HORA DE MORFAR

DIA DA APRESENTAÇÃO!!! MEGAZORD 1.0 performou perfeitamente bem! O grupo está de parabéns pelo trabalho!

Seguem algumas imagens e comentários referentes à soluções de engenharia adotadas no robô:

Detalhe para encaixe do motor de acionamento lateral. Foi-se necessário mudar o encaixe do LEGO para que a engrenagem encaixasse adequadamente:

Detalhe das reduções dos dois motores. Fez-se necessário a troca do motor do braço, bem como do seu suporte de LEGO, visto que em testes anteriores o mal encaixe prejudicava a escrita. !!!NOTA AOS FUTUROS ALUNOS: É DE EXTREMA IMPORTÂNCIA QUE OS MOTORES ESTEJAM FUNCIONANDO O MELHOR POSSÍVEL. VERIFICAR ENCAIXES, FIAÇÃO, CONEXÕES, ENGRENAGENS E AFINS!!!!!

Detalhe da base utilizada. Optou-se pelo uso de dois trilhos para proporcionar maior estabilidade ao carro, que era um conjunto pesado. Também optou-se por utilizar batentes ao final dos trilhos para garantir que o carro não escapasse.

Detalhe do carro

Detalhe da montagem final:

Código utilizado escriba.ino

TP 2 - Quaesitor

“The quaesitor (Greek: κοιαισίτωρ, κυαισίτωρ) was a Late Roman/Byzantine police official of Constantinople, specifically a magistrate, responsible for controlling the flow of legal and illegal immigration into the capital city of Byzantium. The office of the quaesitor was first established in 539 through the Novella 80 of Emperor Justinian I (r. 527–565), designed to deal with the arrival of unemployed people to Constantinople living as criminals or beggars. One of his functions was to investigate people passing through Constantinople by determining their names, origins, and reasons for being in the city. Furthermore, the quaesitor had the authority to deal with unemployed persons by forcing the physically fit among the unemployed to work in a public industry such as a bakery (if an unemployed person refused to work, he would be expelled from Constantinople). The quaesitor was also granted judicial functions whereby his court dealt with certain types of crimes such as forgery.”

Texto extraído da Wikipedia https://en.wikipedia.org/wiki/Quaesitor

Objetivo: Construir um robô móvel capaz de executar deslocamentos pré-determinados, identificar cores distintas, buscar e identificar blocos de cores distintas no tablado de competição e executar movimentos a partir da percepção de cada cor.

Considerações: A descrição a seguir cataloga as decisões tomadas no decorrer do desenvolvimento do TP2. Os vídeos referentes ao TP2 podem ser acessados no mesmo link postado no início da página.

DIA 1: VINHOS E JAZZ

O primeiro dia da montagem do robô incluiu uma sessão de vinho e jazz na casa do integrante Gustavo. As primeiras concepções para a plataforma móvel foram construídas. Foi decidido o uso de um motor para cada roda e o uso da roda esférica como ponto de apoio central à plataforma.

Enquanto isso, o integrante Arthur já trabalhava ativamente na programação do arduíno para a execução dos movimentos pré-determinados e para a aquisição e distinção de cores.

DIA 2: PRIMEIRAS ADAPTAÇÕES

No segundo dia de montagem, percebeu-se algumas dificuldades mecânicas e elétricas.

Em termos mecânicos, as principais complicações se deveram as transmissões entre os motores e os eixos das rodas. Afim de corrigir esse problema, foi-se retirada a correia de transmissão do motor para a caixa de redução, adotando mais uma engrenagem. Também percebeu-se certas dificuldades na execução de curvas, devido ao deslizamento da roda esférica e da potência diferenciada entre os motores. Para essa correção, implementou-se um menu de configurações no qual seria possível, dentre outras opções, variar a potência elétrica entre os motores 1 e 2, na tentativa de iguala-las e o tempo de atuação dos motores para executar cada curva, descritas no formato de ângulo.

Detalhe das reduções construídas:

DIA 3: O IDENTIFICADOR QUE NÃO IDENTIFICA

Houveram uma série de dificuldades referentes ao funcionamento dos LED´s. Inicialmente o grupo não era capaz de fazê-los funcionar com a máxima potência, acreditando que o problema fosse a saída do arduino e possíveis conexões. Após a ajuda do Prof. Douglas, detectou-se que a raiz do mal funcionamento estava em uma linda de código, que, corrigida, fez com que os LED´s funcionassem perfeitamente. A partir do correto funcionamento dos LED´s, foi possível avaliar a captação do LDR e se as faixas estabelecidas para a identificação das cores estava adequada. Após ajustes, o robô atingiu capacidade plena de distinguir as cores exigidas nesse trabalho.

A seguir, fotos da montagem do robô:

DIA 4: BUSCADOR

Após todos os ajustes, o robô desempenhou as missões exigidas pelo trabalho com quase total perfeição.

Falhou no desenho do quadrado, pois houveram problemas na execução das curvas em 90 graus. No dia anterior ele havia sido testado e performou bem, o que levou o grupo a concluir que o possível desmonte para transporte entre um dia e outro prejudicou a montagem e calibração do dia anterior. Fora essa falha, as demais missões foram executadas corretamente e a construção foi elogiada pelo professor.

Seguem fotos da montagem final. Detalhe para a alça de apanhe dos blocos na parte anterior, com uma peça superior para bloqueio de luz e para as engrenagens de redução que estavam abaixo da plataforma do arduino.

Código utilizado vagalume.ino

TP 4 Projeto Final - Autonome

Introdução:

Após falha no TP3, onde o robô do grupo não conseguiu performar bem, decidiu-se repensar a estratégia e efetuar as metas simples inicialmente. Com a proximidade do TP4 e da competição, era necessário que o robô cumprisse, ao menos, as tarefas básicas exigidas para o trabalho.

A missão do TP4 Projeto Final consistia em:

Ser capaz de ser calibrado em 60 segundos ou menos; Entrar em modo de espera após a calibração; Não queimar a largada; Iniciar o cumprimento da tarefa após acesa a luz de início; Ser capaz de se orientar segundo a luz polarizada; Navegar autonomamente pelo campo; Coletar os blocos/esferas que se encontram dispersos no campo; Carregar o bloco/esfera até a base (ou mantê-lo preso ao robô); Desligar todos os atuadores ao término de 60 segundos.

Dia 1 - Remodelagem

Decidiu-se por manter a característica principal do robô, um robô diferencial com uma roda esférica de apoio. No entanto, necessitou-se executar modificações estruturais a fim de tirar as correias da tração, utilizando-se apenas engrenagens e para a inserção de novos sensores LDRs para o acionamento via luz inferior e para a localização, via luz polarizada.

Durante a apresentação do TP3, percebeu-se que as engrenagens não estavam devidamente fixadas. Dessa forma, foram realizadas modificações na estrutura para que as engrenagens mantivessem firmes. Além disso, era necessário que as reduções funcionasse de maneira a deixar as etapas de rotação iguais para a leitura homogênia dos encoders, cuja função é determinar a velocidade e o sentido da rotação.

Instalou-se também os sensores ópticos para seguir a linha. O algoritmo criado conseguia com que o robo corrigisse sua direção a medida que a leitura dos sensores modificava entre branco e preto. Também foram instalados LDR diferenciais para identificar as luzes polarizadas. Priorizou-se um posicionamento compacto de maneira a proporcionar o melhor funcionamento

Seguem as imagens do resultado

Detalhe dos reforços nas reduções, aumentando a confiabilidade das engrenagens e tornando o rôbo melhor tracionado:

Detalhe dos sensores opticos nas peças de Lego brancas e do LDR diferencial a frente do rôbo:

Dia 2 - Criação

A ideia inicial do grupo era a utilização de encoders, capazes de informar ao arduino a velocidade do robô. Para que se fosse possível trabalhar com esses sensores, o grupo precisou criar uma peça adaptativa. Após a fabricação em madeira e resina, instalou-se os sensores ligados aos eixos conforme demonstrado.

Juntamente com o desenvolvimento das peças o código estava sendo preparado para que o robô fosse capaz de manter-se em stand by, ligar quando a luz acendesse e se orientar.

Dia 3 - Teste dos Sensores

Após a conclusão da montagem estrutural, iniciou-se os testes de movimento e de sensores do robô. Percebeu-se que alguns dos sensores não funcionavam corretamente. Também houve um problema de mal contato dos fios de um dos motores, o que estava causando, possivelmente, falhas no uso dos encoders e problemas na locomoção do robô.

Os sensores defeituosos foram reconstruídos, alterando o circuito e melhorando as ligações. Substitui-se também o motor defeituoso. A implementação do código mostrou-se funcional. O robô conseguia aguardar a luz em stand-by, iniciar sua orientação após o acendimento da luz, e seguir as linhas pretas ao longo do tablado. Foi preciso uma árdua jornada de trabalho para o funcionamento do robô, mas ao fim, ele performou bem.

Dia 4 - Refatoração do código

Decidiu-se modularizar o código que até então era um monobloco para facilitar as inserções de sensores, motores e suas dependências de controle no menu do robô. O crescimento do código gerou problemas de conflito que precisaram ser debugados um a um.

Código utilizado equilibrista

Dia 5 - Apresentação

A apresentação do TP4 Projeto Final ocorreu de maneira esperada. O robô conseguiu executar todos os requisitos, a exceção da captura do bloco, que era esperado. Ao longo de toda a construção para o último TP, houveram dificuldades com a utilização de sensores e, dado o resultado do TP3, o grupo decidiu por conseguir executar as tarefas mais simples e garantir os pontos.

Em relação a construção, mais uma vez o robô conseguiu nota máxima. Segue-se as imagens do dia da apresentação.

Dia 6 - Competição

Para a competição foram instalados LDR´s laterais que evitassem a colisão com a parede. Durante a fase de testes eles funcionaram perfeitamente porém, com a mudança de luminosidade do ambiente, eles não conseguiram evitar que o robô colidisse com a parede durante a competição.

Foi desenvolvido um sistema de prensa na parte anterior do robô para a captura dos blocos. No entanto, a dificuldade de locomoção e alguns problemas de identificação prejudicaram o desempenho desse sistema.

O robô conseguiu se deslocar da base em 6 das 7 partidas. Lamentamos as dificuldades que houveram durante o trabalho e a dificuldade de estabelecer uma tática capaz de desempenhar melhor durante a competição.