Panorama do projeto
Robô de alto desempenho da categoria Micro Mouse
Este trabalho de formatura tem como foco o desenvolvimento de um robô de alto desempenho respeitando o conjunto de limitações impostos pela categoria MicroMouse. O objetivo deste trabalho é projetar e construir um robô capaz de explorar labirintos, calcular rotas ótimas e percorrê-las com agilidade, em conformidade com os padrões de competição estabelecidos pela NTF - All Japan.
Para alcançar esse objetivo, o projeto é abordado sob três principais frentes: mecânica, elétrica e computacional, sendo que cada uma delas será detalhada ao longo do trabalho.
Em resumo, este trabalho visa desenvolver um robô de alto desempenho para a categoria MicroMouse, seguindo os padrões da competição NTF - All Japan. Com foco nas áreas mecânica, elétrica e computacional, buscamos criar um robô capaz de explorar labirintos, calcular rotas ótimas e percorrê-las com agilidade.
Regras da modalidade
-
Estrutura do labirinto:
- O labirinto é uma grade de 16x16 células, onde cada célula mede 18 cm x 18 cm.
- As paredes do labirinto têm 5 cm de altura e devem ter seu topo pintado de cores contrastantes para facilitar a detecção.
- A entrada do labirinto é localizada em um dos cantos, e a saída (meta) está em uma região central de 2x2 células.
-
Características do robô:
- O robô deve ser totalmente autônomo durante a competição.
- Suas dimensões não podem exceder 25 cm x 25 cm na base, sem restrições de altura.
- O robô não pode usar qualquer tipo de comunicação externa ou controle remoto durante a prova.
-
Exploração e resolução:
- O robô deve explorar o labirinto, mapear sua estrutura e encontrar o caminho mais curto até a saída.
- É permitido que o robô execute múltiplas tentativas (corridas) para otimizar o tempo. A melhor corrida será considerada para a classificação.
-
Tempo de competição:
- Cada equipe tem um tempo total de 5 minutos para realizar quantas corridas desejar.
- O tempo é contado a partir do momento em que o robô inicia sua exploração até o término das corridas ou o esgotamento do tempo total.
-
Critérios de pontuação:
- A pontuação é baseada no menor tempo registrado pelo robô para alcançar a saída.
- Penalidades podem ser aplicadas caso o robô danifique o labirinto ou ultrapasse os limites especificados.
-
Condições gerais:
- Não é permitido tocar no robô durante as corridas, exceto para reinicializá-lo entre as tentativas.
- Qualquer tentativa de manipulação externa, sabotagem ou violação das regras resultará em desclassificação.
Portanto com estas regras em mente, buscamos desenvolver, do zero, um robô que estivesse dentro destas limitações e também atendesse os seguintes requisitos:
Requisitos Funcionais
Para possibilitar o início do desenvolvimento do projeto e maximizar suas chances de êxito, os requisitos funcionais foram levantados e analisados cuidadosamente.
Abaixo encontram-se listados e descritos detalhadamente os requisitos identificados como necessários para a concretização do projeto proposto:
-
Identificar as paredes do labirinto
- O robô deve utilizar fototransistores em conjunto com LEDs infravermelhos para identificar e detectar paredes ao seu redor, enviando sinais ao microcontrolador que permitam o mapeamento e a resolução do labirinto.
-
Mapear o labirinto com as paredes identificadas
- Com as informações coletadas pelos sensores, o robô deve criar um “gêmeo digital” simplificado do labirinto, permitindo sua localização e o cálculo da rota mais rápida até o ponto final.
-
Calcular a rota mais rápida até o fim do labirinto
- Utilizando algoritmos de grafos e flood, o robô deve determinar rotas possíveis até o final do labirinto e identificar a mais rápida, permitindo maior aceleração e menor tempo de conclusão.
-
Percorrer uma rota calculada
- O robô deve seguir a rota calculada de forma precisa, utilizando sensores de inércia, corrente e encoders angulares para monitorar o deslocamento e algoritmos de controle (como PID) para evitar colisões e manter velocidade.
-
Estimar sua posição e orientação atual no labirinto
- Utilizando técnicas de odometria e os sensores disponíveis, o robô deve estimar continuamente sua posição e orientação no labirinto em relação ao gêmeo digital armazenado.
-
Salvar as informações do labirinto na memória flash
- O gêmeo digital deve ser armazenado e atualizado na memória flash durante a exploração, garantindo que as informações sejam preservadas entre diferentes modos de operação (exploração e corrida).
-
Identificar o fim do labirinto
- O robô deve ser capaz de reconhecer o final do labirinto, realizar uma parada no ponto de chegada e emitir um som através de um buzzer para sinalizar o objetivo alcançado, iniciando o retorno ao início.
-
Calcular uma rota para o início do labirinto que mapeie outras partes do labirinto
- O retorno ao ponto inicial deve ser realizado por uma rota que explore áreas não visitadas, permitindo um mapeamento mais completo do labirinto e buscando rotas mais eficientes para a solução.
-
Parar no começo do labirinto
- O robô deve finalizar a volta com uma parada total no ponto inicial, sinalizando o término da volta e permitindo o prosseguimento das próximas etapas da competição.
Requisitos Não Funcionais
As características mínimas inerentes ao projeto, representadas pelos seus requisitos não funcionais, foram levantadas e estão listadas a seguir:
-
Sua projeção no chão deve caber em um quadrado de 25x25 cm:
O regulamento da competição estabelece que nenhum robô apto a competir na categoria pode ter uma projeção maior que 25 cm². Esse requisito é essencial para garantir a elegibilidade do projeto. -
Ter bateria suficiente para durar 5 minutos em execução:
O robô tem direito a 5 voltas no total, somando, no máximo, 5 minutos de execução. Como a bateria não pode ser trocada entre as voltas, ela deve ser capaz de sustentar o funcionamento do robô durante todo esse período. -
Ter uma capacidade de aceleração e freio de 30 m/s²:
Para competir em alto nível, o robô deve possuir uma capacidade elevada de acelerar e desacelerar em espaços limitados, como o labirinto de 2,88 m de lado. Campeões mundiais da categoria alcançam acelerações de até 30 m/s², uma meta competitiva e atingível para este projeto. -
Ter uma velocidade máxima de 6 m/s:
A velocidade máxima, embora não prioritária em um espaço pequeno, deve ser suficiente para permitir o desenvolvimento rápido de retas. O objetivo é atingir 6 m/s, que é a média dos principais competidores, possibilitando ao robô percorrer a maior reta do labirinto (2,8 m) em menos de 1 segundo. Essa velocidade será alcançada com motores de baixa rotação e alta potência, combinados com uma redução mecânica eficiente. -
Ser capaz de fazer curvas de 90° com mais de 1 m/s:
Para manobrar de forma eficiente no labirinto, o robô deve ser capaz de realizar curvas de 90° e 45° sem desaceleração significativa, mantendo uma velocidade de pelo menos 1 m/s durante as manobras. -
Ter um tamanho máximo de 11,9 cm (Capacidade de percorrer caminhos diagonais no labirinto):
O labirinto é composto por um grid de 16x16 quadrados de 18x18 cm. Com paredes de 1,2 cm de espessura, o espaço restante para o robô é de 16,8 cm. Para permitir o deslocamento em diagonais, o tamanho do robô deve respeitar o seguinte cálculo:Assim, o robô deve ter uma largura máxima de 11,9 cm para atender a esse requisito.