• Nenhum resultado encontrado

3.3 Algoritmos de pesquisa

3.3.2 Tremaux

O algoritmo Tr´emaux, inventada por Charles Tr´emaux (Snapp,2010), ´e um m´etodo eficiente para encontrar a sa´ıda de um labirinto que requer o desenho de linhas no ch˜ao para marcar um caminho e, ´e garantido que funcione para todos os labirintos que tˆem passagens bem definidas. Cada c´elula do caminho ter´a um estado de n˜ao visitado, marcado uma vez ou marcado duas vezes. Cada vez que um sentido ´e escolhido, ´e marcado pelo desenho de uma linha no ch˜ao. No in´ıcio ´e escolhida uma direc¸c˜ao aleat´oria, caso haja mais do que um. Ao chegar a um cruzamento que n˜ao foi visto antes, ou seja sem marcas, escolhe-se uma direc¸c˜ao aleat´oria marcando o caminho. Ao chegar a um cruzamento marcado e se o caminho actual ´e marcado apenas uma vez, de seguida, vira-se e caminha de volta marcando o caminho uma segunda vez. Se este n˜ao ´e o caso, escolhe a direc¸c˜ao com o menor n´umero de marcas. Quando finalmente chegar ao centro, os caminhos marcados exactamente uma vez v˜ao indicar um caminho directo de volta para o in´ıcio. Se n˜ao houver sa´ıda, este m´etodo ir´a lev´a-lo de volta ao come¸co, sendo que neste caso, cada caminho estar´a marcado exactamente duas vezes, uma vez em cada direc¸c˜ao (Snapp, 2010).

3.3.3

Flood Fill

A teoria b´asica do algoritmo Floodfill ´e simples. A distˆancia de uma c´elula a partir de outra c´elula ´e simplesmente a distˆancia horizontal entre as c´elulas. Naturalmente, esta distˆancia n˜ao corresponde directamente ao tempo que o robˆo requer para se deslocar entre as c´elulas. No entanto, est´a perto o suficiente para dar um bom come¸co ao micromouse. Dada esta suposi¸c˜ao b´asica, cada c´elula de destino tem o valor zero, porque cada uma est´a a zero de distˆancia do destino. Todas as c´elulas vizinhas, n˜ao contando com as diagonais tem valores de 1, porque estas est˜ao a

3.4. OBSERVAC¸ ˜OES FINAIS 23

uma c´elula de distˆancia do destino. Da mesma forma, todas as c´elulas vizinhas das c´elulas de valor 1 tem valor 2, porque se trata de duas c´elulas de distˆancia do destino. Note-se que o algoritmo de Floodfill apenas tenta atribuir um n´umero a cada c´elula indicando a distˆancia a partir do destino. O algoritmo n˜ao diz ao robˆo o que fazer a seguir mas, assim que descobrir a distˆancia de cada c´elula ao destino, ´e trivial descobrir o que fazer. E se n˜ao sabemos toda a configura¸c˜ao do labirinto? Isto n˜ao ´e um problema pois, se n˜ao explorou todas as c´elulas, simplesmente assumimos que n˜ao existe muro nas c´elulas. Isto significa que o algoritmo ´e ’ganancioso’, segue sempre o palpite mais optimista quando a informa¸c˜ao ´e insuficiente. O robˆo vai procurar o caminho mais curto. A prova ´e bastante longa e complicada, mas a ideia b´asica ´e que se existir um caminho mais curto do que o caminho tomado, o robˆo teria explorado o caminho mais curto. Portanto, n˜ao ´e poss´ıvel para o robˆo `a primeira encontrar um caminho mais longo. Esta afirma¸c˜ao, no entanto, n˜ao garante que o robˆo vai encontrar o caminho mais curto na primeira passagem, isto porque o robˆo pode ser enganado para tomar ’caminhos curtos’, enquanto cada novo muro mapeado na verdade revela o caminho tomado n˜ao ´e o ´optimo (cai et al.,2010).

3.4

Observa¸c˜oes finais

No Cap´ıtulo seguinte s˜ao descritos os componentes utilizados assim como os circuitos para o bom funcionamento do micromouse. Os motores DC e os sensores IR s˜ao os principais componentes para a movimenta¸c˜ao e orienta¸c˜ao do micromouse, sendo estes os componentes a usar no nosso micromouse. Podemos confirmar nos testes do capitulo 5 que o algoritmo que melhor serve na busca de uma boa resolu¸c˜ao do labirinto ´e o Flood Fill podendo ainda ser rectificado em alguns aspectos como tra¸car o percurso na diagonal quando temos duas curvas consecutivas, isto ´e, uma para cada lado.

4

Implementa¸c˜ao do robˆo

Este trabalho est´a dividido em duas partes: A primeira consiste na implementa¸c˜ao de todos os circuitos de controlo, assim como toda a parte mecˆanica do Micromouse. A segunda parte ´e a implementa¸c˜ao de m´etodos de pesquisa para resolver o labirinto e assim dar vida ao micromouse.

4.1

Design electr´onico

Todas as placas impressas foram projectadas usando o EAGLE (Ara´ujo, 2005) e foram produzidas no laborat´orio de Circuitos Impressos na UTAD. Na placa m˜ae encontram-se os componentes essenciais que fazem o robˆo funcionar e nela est´a, entre outros, o PIC dsPIC33fj128MC804 da Microchip (Microchip, 2008), um LCD de um Nokia 1100, mosfet drivers MAX4427 da Maxim (Maxim, 1993), ULN2803A da Motorola (Motorola,2001), MOSFETs ZXMC3A16DN8 da Zetex (Zetex,2005), o integrado LP38690 (semiconductor, 2009), o integrado TSL 261 (Instruments,

1992) e se necess´ario mais tarde tamb´em podemos colocar uma mem´oria FM24V10 (Ramtron, 2009).

26 CAP´ITULO 4. IMPLEMENTAC¸ ˜AO DO ROB ˆO

Figura 4.1 – Constru¸c˜ao da board no eagle.

4.2. DESIGN MEC ˆANICO 27

4.2

Design mecˆanico

O robˆo foi feito seguindo o regulamento que define os limites de concep¸c˜ao do mesmo. O Micromouse tem um sistema de contagem do n´umero de voltas que a roda efectua ao longo do seu percurso.

Podemos observar na Figura 1.1 o micromouse praticamente na sua fase final. A placa preta colocada na parte dianteira do robˆo n˜ao ´e apenas um elemento de est´etica, tem como objectivo impedir que exista perturba¸c˜oes entre o emissor IR e o receptor IR, permitindo assim uma boa utiliza¸c˜ao destes. Na parte traseira, do lado de c´a da imagem existem dois bot˜oes de press˜ao, tendo estes a fun¸c˜ao de start e reset. Do lado contr´ario est˜ao dois conectores para que se possa ligar uma ou duas baterias como preferir. No centro da traseira est˜ao dois conectores, um para a liga¸c˜ao com o programador do PIC e outro para ligar o LCD. Foram aplicadas duas placas para a fixa¸c˜ao do eixo, tendo presas nas extremidades do eixo as rodas atrav´es de rolamentos. Essas placas s˜ao feitas de alum´ınio e foram fixas na placa principal, sendo ent˜ao furadas nos locais de interesse para a passagem do eixo, do tubo do codificador, do eixo do motor e tamb´em para fixar o motor. As rodas tˆem uma parte dentada para assim fazer a liga¸c˜ao com os movimentos do motor e, por sua vez, rodar tamb´em o ´ıman que faz parte do codificador. As rodas foram revestidas de borrachas para que o atrito no labirinto seja maior e assim o micromouse possa ter menos erros com deslizes em curvas ou outros movimentos como o de correc¸c˜ao de posi¸c˜ao. A parte mecˆanica foi conseguida com a ajuda das oficinas de mecˆanica.

4.3

Design el´ectrico

Um circuito muito popular para motores DC ´e chamado de ponte H representado na Figura 4.3. ´E chamado assim porque se parece com a letra mai´uscula ’H’ em esquemas cl´assicos. A grande habilidade dum circuito de ponte H ´e que o motor pode ser controlado para a frente ou para tr´as a qualquer velocidade. Uma ponte H pode

28 CAP´ITULO 4. IMPLEMENTAC¸ ˜AO DO ROB ˆO

Figura 4.3 – Circuito de controlo dos motores.

ser implementada com v´arios tipos de componentes, por exemplo, com trans´ıstores bipolares comuns, trans´ıstores de FET ou trans´ıstores de MOSFET. S˜ao precisos quatro trans´ıstores para uma ponte H. Cada transistor forma um canto no ’H’, com o motor que ´e a barra no meio. `A entrada de cada MOSFET driver MAX4427 da Maxim chega a informa¸c˜ao para o controlo do motor, sendo que um sinal indica o PWM e outro indica a direc¸c˜ao.

O Micromouse possui seis sensores, os quais est˜ao colocados de maneira a cumprirem de forma optimizada a sua tarefa. No circuito emissor, Figura 4.4, s˜ao alimentados com a tens˜ao da bateria para podermos ter uma maior potˆencia. Todos eles funcionam por infravermelhos. Todos s˜ao colocados na parte frontal do micromouse, mas cada um tem uma direc¸c˜ao especifica para assim detectar as paredes. Eles emitem um feixe de infravermelhos o qual reflecte no obst´aculo, neste caso nas paredes, e retorna

4.3. DESIGN EL´ECTRICO 29

Figura 4.4 – Circuito transmissor IR.

Figura 4.5 – Circuito receptor IR.

para o receptor, Figura 4.5, sendo que a atenua¸c˜ao do sinal diz qual a distˆancia a que o obst´aculo se encontra. A distˆancia ser´a sempre uma fun¸c˜ao da luz emitida versus sensibilidade do receptor. Como cada porta tem uma sa´ıda de 20mA ´e necess´ario ligar o emissor atrav´es de um driver,neste caso o ULN2803, e n˜ao directamente do microcontrolador. No caso dos receptores apresentados n˜ao ´e necess´ario nenhuma

30 CAP´ITULO 4. IMPLEMENTAC¸ ˜AO DO ROB ˆO

amplifica¸c˜ao extra pois estes j´a amplificam.

Figura 4.6 – Esquema de liga¸c˜oes ao Pic. Figura 4.7– Dspic33.

O PIC representado nas Figuras 4.6 e 4.7 pertence ´a fam´ılia dsPIC33FJ128MCX02/4, sendo constitu´ıdo por 44 pinos. ´E um circuito integrado produzido pela Microchip Technology Inc., que pertence `a categoria dos microcontroladores, ou seja, um integrado que num ´unico dispositivo contempla todos os circuitos necess´arios para realizar um completo sistema digital program´avel. Neste projecto s˜ao utilizados 40 dos 44 pinos descritos na Tabela 4.1, pinos estes com diferentes fun¸c˜oes para controlar e comandar os diferentes m´etodos de actua¸c˜ao de cada componente. Os PWM s˜ao utilizados no controlo dos motores. As portas PGC PGD e MCLR s˜ao utilizadas para a programa¸c˜ao do PIC, ou seja, para fazer a liga¸c˜ao com o programador. Os RPs s˜ao sa´ıdas de programa¸c˜ao no PIC que se utilizam na grande parte dos componentes pois s˜ao portas que se podem programar.

No circuito de controlo de tens˜ao da Figura 4.8 ´e utilizado um LP38690, assim como tamb´em ´e projectado um divisor de tens˜ao. Circuitos estes que fazem com que a alimenta¸c˜ao dos diversos componentes tenham um valor correcto para o bom funcionamento dos mesmos.

4.4. PROGRAMAC¸ ˜AO 31

Figura 4.8 – Esquema para controlar a tens˜ao.

A alimenta¸c˜ao ´e feita atrav´es de uma bateria de Li-poly cell com 7.4V e 130mAH. Se preferirmos podemos utilizar duas baterias pois existem duas entradas para esse efeito, ligadas em paralelo.

4.4

Programa¸c˜ao

Foram realizados v´arios testes descritos no Cap´ıtulo seguinte para a escolha do melhor algoritmo para implementar no micromouse.

4.5

Observa¸c˜oes finais

Toda a parte f´ısica do robˆo est´a presente neste capitulo. Existe j´a uma evolu¸c˜ao a este robˆo, nomeadamente o novo micromouse Grigora onde existem algumas altera¸c˜oes em rela¸c˜ao, por exemplo, aos motores e ao n´umero de sensores. No capitulo seguinte s˜ao realizados os testes com algoritmos.

32 CAP´ITULO 4. IMPLEMENTAC¸ ˜AO DO ROB ˆO

Portas Pinagem identificador

SDA1/RB9 1 SDA PWM2H1/RC6 2 INBE PWM2L1/RC7 3 INAE RP24(1)/RC8 4 SCLK RP25(1)/RC9 5 SDI VSS 6 GND VCAP/VDDCORE 7 VCC RP10(1)/RB10 8 AD RP11(1)/RB11 9 BD RP12(1)/RB12 10 ID RP13(1)/RB13 11 – RA10 12 XRES RA7 13 XCS PWM1H1/RB14 14 INAD PWM1L1/RB15 15 INBD AVSS 16 AGND AVDD 17 AVCC MCLR 18 MCLR AN0/RA0 19 ADC1 AN1/RA1 20 ADC2 AN2/RB0 21 ADC3 AN3/RB1 22 ADC4 AN4/RB2 23 ADC5 AN5/RB3 24 ADC6 AN6/RC0 25 ADC7 AN7/RC1 26 – RP18(1)/RC2 27 – VDD 28 VCC VSS 29 GND RA2 30 OPT1 RA3 31 OPT2 RA8 32 – RB4 33 LEDD RA4 34 LEDC RA9 35 LEDE RP19(1)/RC3 36 IE RP20(1)/RC4 37 BE RP21(1)/RC5 38 AE VSS 39 GND VDD 40 VCC PGD3/RB5 41 PGD PGC3/RB6 42 PGC RB7 43 START SCL1/RB8 44 SCL

5

Testes e resultados

No ˆambito do presente trabalho foram realizados testes em v´arios labirintos distintos com os quatro m´etodos descritos no Cap´ıtulo 4. Os testes s˜ao realizados em seis labirintos com caracter´ısticas diferentes, onde apenas se alteram paredes do interior do labirinto, sendo que os algoritmos s˜ao testados em iguais condi¸c˜oes onde para cada labirinto ´e usada a mesma casa de partida assim como as condi¸c˜oes do labirinto previstas no regulamento do concurso. Os algoritmos testados s˜ao os descritos no Cap´ıtulo 3, ou seja, foi considerado o m´etodo Left Wall Follower como m´etodo 1, Right Wall Follower como m´etodo 2, Tremaux como m´etodo 3 e finalmente Flood Fill como m´etodo 4. Os testes foram realizados num simulador ”MicroMouse-r194” (solver, 2013). Os labirintos utilizados s˜ao os j´a existentes no programa oferecendo estes a possibilidade de serem alterados. A nossa escolha dos testes foram seis labirintos que com diferentes configura¸c˜oes que pensamos serem relevantes por essas mesmas diferen¸cas que tˆem, para que estejamos preparados a explorar qualquer labirinto.

Os testes apresentados mostram os resultados que o micromouse obt´em ap´os a fase de negocia¸c˜ao do labirinto e c´alculo do caminho curto. O micromouse faz o reconhecimento do labirinto n˜ao s´o enquanto procura o seu centro mas tamb´em quando faz o caminho de retorno para a c´elula inicial. Dessa forma, um algoritmo

34 CAP´ITULO 5. TESTES E RESULTADOS

que obtenha v´arios caminhos para o centro vai escolher o menor entre eles, podendo este por vezes n˜ao ser o mais r´apido. Analisando as imagens dos testes, as partes que aparecem a escuro significam que o robˆo desconhece essas c´elulas, pois n˜ao passou por l´a. Os tra¸cos de cor azul significam o primeiro caminho encontrado para o centro do labirinto e o vermelho significa o caminho mais curto para o centro do labirinto determinado pelo algoritmo. Nas tabelas podemos comparar os diferentes desempenhos dos algoritmos em cada labirinto constitu´ıdo por 256 c´elulas onde as quatro c´elulas centrais constituem o objectivo do labirinto. Foram realizados testes idˆenticos a estes em matlab, num programa elaborado pelo Prof. Ant´onio Valente com a ajuda dos alunos de rob´otica, sendo os resultados coerentes com estes.

5.1

Teste labirinto 1

5.1. TESTE LABIRINTO 1 35

Figura 5.3 – Tremaux 1. Figura 5.4 – Flood Fill 1.

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 200 200 256 208

Caminho encontrado N/A N/A 378 140

Curvas Caminho encontrado N/A N/A 160 42

Melhor caminho N/A N/A 378 84

Curvas melhor caminho N/A N/A 160 28

Tabela 5.1– Tabela resultados teste 1.

O labirinto do teste 1 tem como caracter´ıstica n˜ao ter nenhuma parede que una o centro a uma das paredes da extremidade do labirinto. Al´em disso, existem poucos caminhos alternativos de forma que o robˆo tem poucas op¸c˜oes de caminho. Como podemos verificar com os m´etodos 1 e 2 o robˆo n˜ao chega a conhecer um caminho para o centro do labirinto mesmo tendo explorado 200 das 256 c´elulas do labirinto. Isto acontece devido `a falta da parede que une o centro `a parede exterior fazendo com que o robˆo fa¸ca o seu percurso em torno do centro. Nos m´etodos 3 e 4 o objectivo ´e alcan¸cado. A diferen¸ca ´e que no m´etodo 3 tanto o caminho encontrado na primeira explora¸c˜ao como o de retorno s˜ao consideravelmente mais longos que no m´etodo 4, que numa primeira fase, obt´em um percurso com 140 c´elulas mas encontra um caminho com 84 c´elulas para este labirinto.

36 CAP´ITULO 5. TESTES E RESULTADOS

5.2

Teste labirinto 2

Figura 5.5– Left Wall Follower 2. Figura 5.6 – Right Wall Follower 2.

Figura 5.7 – Tremaux 2. Figura 5.8 – Flood Fill 2.

Para o teste 2 foi escolhido um labirinto apenas com a parede na casa de partida, como exigido no concurso, e a delimitar o centro do labirinto. Ainda que aparente

5.3. TESTE LABIRINTO 3 37

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 61 61 256 44

Caminho encontrado N/A N/A 249 21

Curvas Caminho encontrado N/A N/A 41 5

Melhor caminho N/A N/A 249 17

Curvas melhor caminho N/A N/A 41 3

Tabela 5.2– Tabela resultados teste 2.

maior facilidade, tal como no teste anterior com os m´etodos 1 e 2 o robˆo n˜ao chega a conhecer um caminho para o centro do labirinto pois anda sempre em c´ırculo. Nos m´etodos 3 e 4 o objectivo ´e alcan¸cado sendo claramente percept´ıvel ser o caminho do m´etodo 3 ´e uma solu¸c˜ao mas n˜ao em termos de caminho mais curto ou r´apido. O facto do m´etodo 3 ter este caminho t˜ao longo deve-se ao seu m´etodo de pesquisa que ´e baseado no m´etodo 2 e, ao optar virar sempre `a esquerda n˜ao vai ter a percep¸c˜ao de que n˜ao existem paredes, percorrendo o labirinto em forma de espiral at´e ao centro.

5.3

Teste labirinto 3

38 CAP´ITULO 5. TESTES E RESULTADOS

Figura 5.11 – Tremaux 3. Figura 5.12 – Flood Fill 3.

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 127 127 256 212

Caminho encontrado N/A N/A 332 160

Curvas Caminho encontrado N/A N/A 178 62

Melhor caminho N/A N/A 332 84

Curvas melhor caminho N/A N/A 178 42

Tabela 5.3 – Tabela resultados teste 3.

O labirinto usado para o teste 3 tem caracter´ısticas idˆenticas ao do teste 1 s´o que este tem caminhos mais curtos o que obriga o robˆo a fazer mais curvas. Como podemos verificar com os m´etodos 1 e 2 o robˆo n˜ao chega a conhecer uma rota para o centro do labirinto fazendo o percurso todo `a volta do mesmo. Nos m´etodos 3 e 4 o objectivo ´e alcan¸cado com a diferen¸ca de no m´etodo 3 serem calculados os v´arios caminhos poss´ıveis enquanto que no m´etodo 4 ´e calculado o caminho mais curto, que nem sempre poder´a ser o mais r´apido.

5.4. TESTE LABIRINTO 4 39

5.4

Teste labirinto 4

Figura 5.13 – Left Wall Follower 4. Figura 5.14 – Right Wall Follower 4.

Figura 5.15 – Tremaux 4. Figura 5.16 – Flood Fill 4.

Neste teste n´umero 4 o labirinto tem a particularidade de ter uma parede que une o centro do labirinto a uma das paredes exteriores. Devido a esse facto os m´etodos

40 CAP´ITULO 5. TESTES E RESULTADOS

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 198 198 255 174

Caminho encontrado 134 152 152 138

Curvas Caminho encontrado 68 94 94 58

Melhor caminho 134 152 152 92

Curvas melhor caminho 68 94 94 50

Tabela 5.4 – Tabela resultados teste 4.

1 e 2 conseguem chegar at´e ao centro do labirinto visto essa parede n˜ao deixar que se fa¸ca o percurso em volta como nos primeiros testes. Mesmo assim o m´etodo 4 continua a ser o m´etodo com o caminho mais curto, embora tendo partes do labirinto desconhecidas estas n˜ao s˜ao necess´arias para o melhor percurso.

5.5

Teste labirinto 5

5.5. TESTE LABIRINTO 5 41

Figura 5.19 – Tremaux 5. Figura 5.20 – Flood Fill 5.

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 217 217 255 112

Caminho encontrado 147 164 168 150

Curvas Caminho encontrado 95 85 91 55

Melhor caminho 147 164 168 44

Curvas melhor caminho 95 85 91 19

Tabela 5.5– Tabela resultados teste 5.

O labirinto do teste 5 ´e idˆentico ao anterior com a diferen¸ca de ter o canto superior esquerdo como caminho obrigat´orio para todos os algoritmos. Apesar disso, e olhando mais uma vez para os resultados obtidos, o m´etodo 4 mesmo sem precisar de explorar mais de metade do labirinto encontra o caminho mais curto.

42 CAP´ITULO 5. TESTES E RESULTADOS

5.6

Teste labirinto 6

Figura 5.21 – Left Wall Follower 6. Figura 5.22 – Right Wall Follower 6.

Figura 5.23 – Tremaux 6. Figura 5.24 – Flood Fill 6.

Para o ultimo teste foi escolhido o labirinto com todas as entradas do centro abertas e com a parede desde o exterior at´e ao centro. Pelo facto de existir essa parede foi

5.7. OBSERVAC¸ ˜OES FINAIS 43

Left Wall F. right Wall F. Tremaux Flood Fill

Total c´elulas exploradas 148 148 250 69

Caminho encontrado 71 95 95 41

Curvas Caminho encontrado 44 68 68 16

Melhor caminho 71 95 95 41

Curvas melhor caminho 44 68 68 16

Tabela 5.6– Tabela resultados teste 6.

poss´ıvel a todos os m´etodos encontrarem um caminho. No entanto podemos mais uma vez verificar que o m´etodo 4 ´e o vencedor mesmo este desconhecendo grande parte do labirinto. Com apenas 69 c´elulas exploradas o m´etodo 4 consegue encontrar o caminho mais curto com 41 c´elulas enquanto que no segundo lugar o m´etodo 1 precisa de 71 c´elulas para percorrer o seu caminho mais curto

5.7

Observa¸c˜oes finais

Com base nos testes realizados e considerando que as diferen¸cas entre os labirintos ser˜ao suficientes para representar qualquer tipo de labirinto podemos evidenciar que os algoritmos Left Wall Follower e o Right Wall Follower tˆem o problema de ficar a fazer c´ırculos em torno do centro se o labirinto n˜ao estiver ligado com uma parede desde o centro at´e uma parede exterior. Quanto ao algoritmo Tremaux conclu´ımos que seja qual for a caracter´ıstica do labirinto este acaba por chegar ao seu objectivo. ´E um algoritmo que explora todas as c´elulas acess´ıveis no labirinto e por isso poder´a ter problemas com o tempo de explora¸c˜ao do labirinto pois este ´e limitado. Al´em disso, como uma das bases deste algoritmo ´e o Left Wall Follower acaba por encontrar um caminho que ter´a sempre um percurso mais longo pois ao seguir as paredes vai ter tendˆencia a fugir sempre para as paredes exteriores. Por fim, como vencedor de todos os testes, o algoritmo escolhido para a implementa¸c˜ao no nosso micromouse ´e o Flood Fill. Este ´e o algoritmo que consegue resolver todos os labirintos, mesmo sem a necessidade de explorar todas as c´elulas do mesmo. Isto

Documentos relacionados