Algoritmo para resolução de um labirinto com o Bot'n Roll ONE A

 

 

 

O objetivo deste projeto foi criar um algoritmo para permitir ao Bot'n Roll ONE A resolver labirintos usando somente o seguidor de linha! O código foi desenvolvido para que o robô siga a linha preta num fundo branco, uma forma simples e barata de se construir um labirinto! O video acima mostra o desafio e explica o algoritmo.

 

Download do código fonte deste projeto: MazeSolver.zip

 

Podes consultar o código on-line clicando aqui!

 

Instruções do programa

 

Na primeira vez que usares este programa tens que configurar a velocidade e a pausa do robô:

 

1. No menu, seleciona cada parâmetro e define-o da seguinte forma:

 

speed = 40

pause = 300

debug = OFF

 

Nota: Pode ser necessário ajustar os valores mais tarde, mas estes valores padrão funcionam na maioria dos casos utilizando uma bateria de 12V carregada.

 

2. Seleciona "Start Run" e pressiona o botão Enter (no canto inferior direito).

 

3. O robô entra no modo "Explorar Labirinto" e explora o labirinto virando à esquerda sempre que possível, usando o algoritmo "Left Hand on The Wall". Ele guarda o percurso durante a movimentação e emite um sinal sonoro a cada intersecção detectada.

 

4. Quando atinge a meta (um quadrado preto) toca uma melodia e apresenta a mensagem "FINNISHED" (terminado) no LCD.

 

5. 2s mais tarde, apresenta na linha 1 do LCD o caminho guardado e na linha 2 o novo caminho mais curto calculado.

 

6. Pressiona qualquer tecla para voltar ao Menu. Podes alterar qualquer parâmetro, se achares necessário.

 

7. Coloca o robô de volta na posição inicial e seleciona "Start Run" (iniciar).

 

8. O robô agora entra no modo "Caminho mais Curto" e resolve o labirinto usando o caminho aprendido, que deve corresponder ao caminho mais curto.

 

9. Quando atingir a meta toca a melodia novamente.

 

Notas:

1) No final do modo "Caminho mais curto" volta para o modo "Explorar Labirinto" e podes agora colocar o robô num local diferente no labirinto.

 

2) O robô está em constante detecção de obstáculos. Retira do caminho todos os obstáculos que possam interferir com o robô caso contrário não irá gravar o caminho correto.

 

3) Diverte-te!