Skip to content

Aplicação da lógica de WaveFront e Busca em largura numa matriz de forma a descobrir o menor caminho possível entre o robô e o destino.

Notifications You must be signed in to change notification settings

JeanBerly/WaveFront-em-Processing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

WaveFront-in-Processing

Status: Finalizado✔️

Vídeo demonstrando o funcionamento: https://youtu.be/g8vFpHMtH1I

É um programa em Processing no qual é utilizado o algoritmo WaveFront para descobrir o menor caminho entre um robô e seu destino

Como abrir o programa

Para abrir o programa é necessário fazer o download do Processing no seguinte link: Processing
  • Execute o processing.exe
  • No canto superior esquerdo clique em File
  • Clique em Open
  • Selecione o arquivo WaveFront.pde e abra
  • Clique no ícone ▶️ para executar

Como aumentar o número de obstáculos ou o tamanho da matriz

Caso queira aumentar o tamanho da matriz altere a variável dimensoes.
Caso queira alterar o número de obstáculos altere a variável num_obstaculos.

Funções no Programa

  1. Draw
  2. Nesta função é onde o desenho da matriz na tela é feita. Legenda dos valores na matriz e seus significados:
    • -5: Destino já percorrido
    • -4: Destino a ser percorrido
    • -3: Destino
    • -2: Robô
    • -1: Espaço livre porém não mapeado
    • 0: Obstáculo
    Foram utilizados valores negativos, já que os positivos representam a distância do bloco do robô.
  3. cria_mapa
  4. Nesta função o mapa é gerado e inicializado com valores de -1 e são sorteados os obstáculos e a posição do robô e destino garantindo que nenhum vá se sobrepor.
  5. wavefront
  6. Nesta função é procurado as posições do robô e destino, é aqui que as funções bfs e menorCaminho são chamadas.
  7. Simulacao
  8. É aqui que a função moverRobo é chamada.
  9. bfs
  10. A partir de uma coordenada x, y são analisados os 4 blocos adjacentes, preenchidos com o valor de (distância + 1) e adicionados a fila. Caso seja descoberto a posição destino a fila é limpa e será feito um return.
  11. menorCaminho
  12. A partir do destino é feito a procura do menor caminho procurando o bloco adjacente com menor valor.
  13. moverRobo
  14. É aqui que o robô irá percorrer o caminho até o destino.

About

Aplicação da lógica de WaveFront e Busca em largura numa matriz de forma a descobrir o menor caminho possível entre o robô e o destino.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published