• Nenhum resultado encontrado

Desenvolvimento de um robô para o concurso Micromouse

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento de um robô para o concurso Micromouse"

Copied!
86
0
0

Texto

(1)

Desenvolvimento de um robˆ

o para

o concurso Micromouse

Por

Davide Jos´e Dias Borges

Orientador:

Doutor Ant´onio Lu´ıs Gomes Valente

Co-orientador:

Doutora Teresa Paula Coelho Azevedo Perdico´

ulis

Disserta¸c˜ao submetida `a

UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO para obten¸c˜ao do grau de

MESTRE

em Engenharia Electrot´ecnica e de Computadores, de acordo com o disposto no DR – I s´erie–A, Decreto-Lei n.o

74/2006 de 24 de Mar¸co e no Regulamento de Estudos P´os-Graduados da UTAD

DR, 2.a

s´erie – Delibera¸c˜ao n.o

(2)
(3)

Desenvolvimento de um robˆ

o para

o concurso Micromouse

Por

Davide Jos´e Dias Borges

Orientador:

Doutor Ant´onio Lu´ıs Gomes Valente

Co-orientador:

Doutora Teresa Paula Coelho Azevedo Perdico´

ulis

Disserta¸c˜ao submetida `a

UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO para obten¸c˜ao do grau de

MESTRE

em Engenharia Electrot´ecnica e de Computadores, de acordo com o disposto no DR – I s´erie–A, Decreto-Lei n.o

74/2006 de 24 de Mar¸co e no Regulamento de Estudos P´os-Graduados da UTAD

DR, 2.a

s´erie – Delibera¸c˜ao n.o

(4)
(5)

Orienta¸c˜ao Cient´ıfica :

Doutor Ant´onio Lu´ıs Gomes Valente

Professor Associado C/ Agrega¸c˜ao do Departamento de Engenharias

Universidade de Tr´as-os-Montes e Alto Douro

Doutora Teresa Paula Coelho Azevedo Perdico´ulis

Professora Auxiliar C/ Agrega¸c˜ao do Departamento de Engenharia Electrot´ecnica Universidade de Tr´as-os-Montes e Alto Douro

(6)
(7)

”A parte que ignoramos ´e muito maior que tudo quanto sabemos.”

Plat˜ao (428/27 a.C. – 347 a.C.)

”Al andar se hace el camino. | O caminho faz-se caminhando.”

Antonio Machado(1875 – 1939)

Dedico a todos que me acompanharam nesta caminhada, em especial aos meus pais, as minhas irm˜as e ´a Vˆania Rebelo

(8)

Declara¸c˜ao,

Esta disserta¸c˜ao foi escrita sem ter em considera¸c˜ao o novo acordo ortogr´afico.

(9)

UNIVERSIDADE DE TR ´AS-OS-MONTES E ALTO DOURO Mestrado em Engenharia Electrot´ecnica e de Computadores

Os membros do J´uri recomendam `a Universidade de Tr´as-os-Montes e Alto Douro a aceita¸c˜ao da disserta¸c˜ao intitulada “ Desenvolvimento de um robˆo para o concurso Micromouse” realizada por Davide Jos´e Dias Borgespara satisfa¸c˜ao parcial dos requisitos do grau de Mestre.

Outubro 2013

Presidente: Doutor Jos´e Paulo Barroso de Moura Oliveira,

Direc¸c˜ao do Mestrado em Engenharia Electrot´ecnica e de

Computadores do Departamento de Engenharias da Universidade de Tr´as-os-Montes e Alto Douro

Vogais do J´uri: Doutor Paulo Jos´e Cerqueira Gomes da Costa,

Professor Auxiliar da Universidade do Porto

Doutor Eduardo Jos´e Solteiro Pires,

Professor Auxiliar do Departamento de Engenharias da Universidade de Tr´as-os-Montes e Alto Douro

Doutor Ant´onio Lu´ıs Gomes Valente,

Professor Associado C/ Agrega¸c˜ao do Departamento de Engenharias da Universidade de Tr´as-os-Montes e Alto Douro

Doutora Teresa Paula Coelho Azevedo Perdico´ulis,

Professora Auxiliar C/ Agrega¸c˜ao do Departamento de Engenharia Electrot´ecnica da Universidade de Tr´as-os-Montes e Alto Douro

(10)
(11)

Desenvolvimento de um robˆo para

o concurso Micromouse

Davide Jos´e Dias Borges

Submetido na Universidade de Tr´as-os-Montes e Alto Douro para o preenchimento dos requisitos parciais para obten¸c˜ao do grau de

Mestre em Engenharia Electrot´ecnica e de Computadores

Resumo —O micromouse ´e um concurso mundial onde pequenos robˆos aut´onomos, tamb´em chamados micromice, resolvem um labirinto composto de 16x16 c´elulas. Um robˆo micromouse ´e constru´ıdo de forma a explorar um labirinto a partir de um dos seus cantos em direc¸c˜ao ao seu centro, no menor per´ıodo de tempo poss´ıvel. Um micro-controlador est´a ligado aos sensores e motores permitindo que o micromouse se mova autonomamente numa direc¸c˜ao predefinida, bem como receber informa¸c˜ao de sensores e parar antes de bater numa parede. O robˆo precisa de manter o controlo da sua traject´oria, fazer o mapeamento do labirinto na sua mem´oria e de saber descobrir se o centro foi atingido. Neste trabalho ´e constru´ıdo um robˆo com as caracter´ısticas e requisitos necess´arios para a participa¸c˜ao no concurso Micromouse. Para a escolha do algoritmo de pesquisa a ser adoptado pelo robˆo realizaram-se testes em ambiente simulado com compara¸c˜ao de quatro dos principais algoritmos para este tipo de robˆos e, ap´os a an´alise dos resultados, escolhemos o algoritmo Flood Fill por ser aquele que resolve qualquer tipo de labirinto. ´E tamb´em o algoritmo que tem melhor desempenho na obten¸c˜ao do caminho mais curto para o centro do labirinto.

Palavras Chave: micromouse, algoritmo de pesquisa, rob´otica did´atica, microrob´otica.

(12)
(13)

Development of a robot for

Micromouse contest

Davide Jos´e Dias Borges

Submitted to the University of Tr´as-os-Montes and Alto Douro in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering and Computers

Abstract — Micromouse is a worldwide contest where small autonomous robots, named micromice, solve a maze of 16 x 16 cells. A robot is built in order to explore a trajectory from one corner of the maze towards its center in the shortest time period; a micro-controller is connected to sensors and motors enabling the micromouse to move autonomously in a predefined direction as well as to receive information from sensors and also to halt before hitting a wall. The mouse needs to keep track of its trajectory, which is done by mapping the maze on to its memory and finding out whether its center has been reached. In this work, the mechanical and electrical design of the robot are described as well as some of the used search algorithms. After conducting tests in various simulated mazes to assess the performance of the algorithms, the Floodfill was chosen for its best timings and effectiveness in reaching the centre of the labyrinth.

Key Words: micromouse, search algorithms, didactic robotics, microrobotics.

(14)
(15)

Agradecimentos

A realiza¸c˜ao desta disserta¸c˜ao foi s´o poss´ıvel devido ao aux´ılio e apoio prestado por algumas pessoas.

Gostaria de aqui deixar os meus sinceros agradecimentos a todas elas porque, directa ou indirectamente, me ajudaram a ultrapassar as dificuldades deste percurso e me incentivaram a concluir mais esta importante etapa da minha vida. Agrade¸co ent˜ao:

`

A UTAD, a mui nobre academia que me abriu a porta na altura em que me candidatei ao ensino superior e que me ofereceu as condi¸c˜oes necess´arias `a realiza¸c˜ao deste trabalho;

Aos meus orientadores, Prof. Ant´onio Valente e Teresa Perdico´ulis, por me dirigirem e aconselharem desde o in´ıcio, sempre com irrefut´avel paciˆencia, disponibilidade e simpatia;

Aos Comerciais da GE (General Electric) que sempre me apoiaram nos meus primeiros passos profissionais especialmente ao Romeu Gomes, Justiniano Cruz, Rufino Saraiva, Rui Malheiro e Olindina Maia;

Ao Engenheiro Crist´ov˜ao, das oficinas de mecˆanica pela disponibilidade, pois a sua ajuda foi preciosa para fixar os motores e o eixo, bem como na elabora¸c˜ao das rodas;

`

A minha fam´ılia, que nunca deixou de acreditar em mim e que sempre me apoiou; `

A Vˆania Rebelo, em especial, pela compreens˜ao, apoio e amor, demonstrados em xv

(16)

todos os momentos da realiza¸c˜ao deste trabalho;

Aos meus amigos de agora e de sempre, Telmo Ad˜ao, Ant´onio Santos, Miguel Pereira e Sim˜ao Cardeal por todo o companheirismo, amizade e apoio demonstrados ao longo da minha vida acad´emica;

E a todos os que acreditaram, o meu MUITO OBRIGADO!

UTAD, Davide Jos´e Dias Borges

Vila Real, Julho 2013

(17)

´Indice geral

Resumo xi

Abstract xiii

Agradecimentos xv

´Indice de tabelas xix

´Indice de figuras xxi

Acr´onimos xxiii

1 Introdu¸c˜ao 1 1.1 Motiva¸c˜ao e objectivos . . . 2 1.2 Organiza¸c˜ao da disserta¸c˜ao. . . 3 2 O Micromouse 5 2.1 Descri¸c˜ao . . . 5 2.2 Competi¸c˜oes . . . 7

2.2.1 Resenha hist´orica sobre o Micromouse . . . 7

2.2.2 Regras . . . 12

2.3 Observa¸c˜oes finais . . . 13

3 O Robˆo micromouse 15 3.1 Perspectiva de todo o sistema . . . 15

(18)

3.2 Componentes do robˆo . . . 15

3.2.1 Motores . . . 16

3.2.2 Sensores . . . 18

3.3 Algoritmos de pesquisa . . . 21

3.3.1 Left Wall Follower e Right Wall Follower . . . 21

3.3.2 Tremaux . . . 22 3.3.3 Flood Fill . . . 22 3.4 Observa¸c˜oes finais . . . 23 4 Implementa¸c˜ao do Robˆo 25 4.1 Design electr´onico . . . 25 4.2 Design mecˆanico . . . 27 4.3 Design el´ectrico . . . 27 4.4 Programa¸c˜ao . . . 31 4.5 Observa¸c˜oes finais . . . 31 5 Testes e resultados 33 5.1 Teste labirinto 1 . . . 34 5.2 Teste labirinto 2 . . . 36 5.3 Teste labirinto 3 . . . 37 5.4 Teste labirinto 4 . . . 39 5.5 Teste labirinto 5 . . . 40 5.6 Teste labirinto 6 . . . 42 5.7 Observa¸c˜oes finais . . . 43

6 Conclus˜ao e trabalho futuro 45 6.1 S´ıntese conclusiva . . . 45

6.2 Avalia¸c˜ao e principais conclus˜oes . . . 46

6.3 Perspectivas para trabalho futuro . . . 47

Bibliografia 49 A Regras Micromouse Portuguese Contest 55 A.1 Regras para o robˆo micromouse . . . 55

A.2 Regras para o labirinto . . . 56

A.3 Regras para o concurso . . . 57

A.4 Elegibilidade do concurso . . . 58

´Indice remissivo 61

Sobre o Autor 63

(19)

´Indice de tabelas

4.1 Tabela de conex˜ao ao Pic. . . 32

5.1 Tabela resultados teste 1. . . 35

5.2 Tabela resultados teste 2. . . 37

5.3 Tabela resultados teste 3. . . 38

5.4 Tabela resultados teste 4. . . 40

5.5 Tabela resultados teste 5. . . 41

5.6 Tabela resultados teste 6. . . 43

(20)
(21)

´Indice de figuras

1.1 Micromouse . . . 2

2.1 Labirinto. . . 6

2.2 Topo Moonlight Special, meio Moonlight Flash , canto inferior direito Midnight Express.. . . 8

2.3 Jornal The Day em 7 Junho 1979. . . 9

2.4 Micromouse portuguese contest. . . 11

2.5 Resultados micromouse portuguese contest.. . . 11

3.1 Esquema de liga¸c˜ao interno. . . 16

3.2 Ajuste do robˆo `a esquerda. . . 19

3.3 Ajuste do robˆo `a direita. . . 19

3.4 Robˆo ajustado ao centro. . . 20

4.1 Constru¸c˜ao da board no eagle. . . 26

4.2 Micromouse na sua fase inicial. . . 26

4.3 Circuito de controlo dos motores. . . 28

4.4 Circuito transmissor IR. . . 29

4.5 Circuito receptor IR. . . 29 xxi

(22)

4.6 Esquema de liga¸c˜oes ao Pic. . . 30

4.7 Dspic33. . . 30

4.8 Esquema para controlar a tens˜ao. . . 31

5.1 Left Wall Follower 1. . . 34

5.2 Right Wall Follower 1. . . 34

5.3 Tremaux 1. . . 35

5.4 Flood Fill 1. . . 35

5.5 Left Wall Follower 2. . . 36

5.6 Right Wall Follower 2. . . 36

5.7 Tremaux 2. . . 36

5.8 Flood Fill 2. . . 36

5.9 Left Wall Follower 3. . . 37

5.10 Right Wall Follower 3. . . 37

5.11 Tremaux 3. . . 38

5.12 Flood Fill 3. . . 38

5.13 Left Wall Follower 4. . . 39

5.14 Right Wall Follower 4. . . 39

5.15 Tremaux 4. . . 39

5.16 Flood Fill 4. . . 39

5.17 Left Wall Follower 5. . . 40

5.18 Right Wall Follower 5. . . 40

5.19 Tremaux 5. . . 41

5.20 Flood Fill 5. . . 41

5.21 Left Wall Follower 6. . . 42

5.22 Right Wall Follower 6. . . 42

5.23 Tremaux 6. . . 42

5.24 Flood Fill 6. . . 42

6.1 Grigora . . . 48

(23)

Acr´

onimos

Lista de acr´

onimos

Sigla Expans˜ao

AC Alternating Current (corrente alternada)

IES Institui¸c˜ao de Engenheiros de Singapura (Institui¸c˜ao de Engenheiros de Singapura)

BBC British Broadcasting Corporation DC Direct Current (corrente cont´ınua) CAMM California Micromouse Competition

IRED Infravermelho

ISM Industrial, Scientific and Medical

MOSFET Metal-Oxide-Semiconductor Field-Effect Transistor NMOS Trans´ıstor MOSFET de canal N

PMOS Trans´ıstor MOSFET de canal P

(24)

1

Introdu¸c˜

ao

O conceito de micromouse, como um dispositivo para a resolu¸c˜ao de labirintos, foi introduzido pela revista IEEE Spectrum em 1977 (Day, 1979). Nessa revista era anunciado o concurso amazing micromouse maze contest que teria lugar em Nova York em Junho de 1979. A esse concurso chegaram cerca de 6000 inscri¸c˜oes mas somente 15 robˆos entraram em competi¸c˜ao. Nos dias de hoje esta competi¸c˜ao existe em diversos pa´ıses, sendo de real¸car a competi¸c˜ao anual UK Micromouse que se realiza no Reino Unido, e a all japan micromouse robot competition no Jap˜ao, que no ano de 2010 ia j´a na sua 31a

edi¸c˜ao. A competi¸c˜ao consiste numa corrida contra-rel´ogio de robˆos aut´onomos designados ratos ou mice em inglˆes, em busca do centro do labirinto. O labirinto ´e composto por 256 c´elulas, numa matriz de 16 x 16 c´elulas dispostas numa grelha de 180 mm. Cada parede do labirinto tem 5 cm de altura e 12 mm de espessura o que torna a distˆancia livre, ou seja de parede a parede, de 168 mm. O objectivo do trabalho descrito nesta disserta¸c˜ao foi a elabora¸c˜ao de um micromouse para a participa¸c˜ao no concurso Micromouse. O trabalho pressup˜oe a constru¸c˜ao da parte de hardware do robˆo, bem como a implementa¸c˜ao de algoritmos com vista `a resolu¸c˜ao do labirinto, designados por firmware, com posterior optimiza¸c˜ao do desempenho em prova. Pretende-se n˜ao s´o ter um robˆo capaz de executar a prova mas tamb´em de a vencer.

(25)

2 CAP´ITULO 1. INTRODUC¸ ˜AO

1.1

Motiva¸

ao e objectivos

Com este trabalho pretende-se contribuir para o desenvolvimento da rob´otica m´ovel e did´actica na UTAD bem como na regi˜ao, sobretudo `as camadas mais jovens da popula¸c˜ao. Para esse fim foi constru´ıdo um robˆo para participar no concurso Micromouse que se pretende que venha a ter um bom desempenho no concurso. Inicialmente s˜ao estudados v´arios algoritmos para a resolu¸c˜ao do labirinto para posteriormente se escolher de entre eles o que se revelar mais eficiente na resolu¸c˜ao do labirinto.

Figura 1.1 – Micromouse.

Os principais objectivos deste trabalho s˜ao a constru¸c˜ao de um robˆo para o concurso Micromouse, o que compreende todo o projecto de hardware, montagem do robˆo e desenvolvimento de firmware para a implementa¸c˜ao de rotinas de baixo n´ıvel, ou seja, movimentos prim´arios. Compreende tamb´em o estudo de algoritmos j´a

(26)

1.2. ORGANIZAC¸ ˜AO DA DISSERTAC¸ ˜AO 3

utilizados noutros robˆos e publicados em diversos artigos, estudo este que compreende a leitura dos artigos, implementa¸c˜ao em software de simula¸c˜ao dos diversos algoritmos e an´alise detalhada do desempenho.

O estudo dos algoritmos d´a lugar `a selec¸c˜ao de um, ou v´arios, tendo em vista uma determinada fun¸c˜ao de desempenho na resolu¸c˜ao de labirintos. Os algoritmos a estudar s˜ao o Left Wall Follower, o Right Wall Follower, o Tremaux e o Flood Fill.

1.2

Organiza¸

ao da disserta¸

ao

Esta disserta¸c˜ao encontra-se estruturada em seis Cap´ıtulos, servindo o presente Cap´ıtulo como uma introdu¸c˜ao de enquadramento do trabalho, apresentando-se tamb´em a motiva¸c˜ao e os principais objectivos do trabalho.

O Cap´ıtulo 2 inicia-se com uma resenha hist´orica sobre o concurso Micromouse, onde se enumera a evolu¸c˜ao da competi¸c˜ao do micromouse ao longo dos anos. Seguidamente faz-se um levantamento das regras do concurso, sendo que as regras em rela¸c˜ao aos participantes podem ser alteradas a cada concurso.

A discuss˜ao de alguns dos m´etodos que podem utilizar-se na programa¸c˜ao assim como das diversas componentes ´e apresentada no Cap´ıtulo 3. O desenho dos circuitos para o processo de fabrico do micromouse encontram-se no Cap´ıtulo 4, assim como e enumera¸c˜ao e descri¸c˜ao das componentes presentes no micromouse.

No Cap´ıtulo 5 apresentam-se os testes efectuados e os resultados obtidos em simula¸c˜oes com vista `a avalia¸c˜ao do desempenho do robˆo.

A finalizar a disserta¸c˜ao, no Cap´ıtulo 6 discutem-se os resultados obtidos e apresentam-se algumas perspectivas de trabalho futuro.

(27)
(28)

2

O Micromouse

Este Cap´ıtulo inicia-se com uma apresenta¸c˜ao geral do Micromouse assim como da enumera¸c˜ao das suas caracter´ısticas. Segue-se uma resenha hist´orica do concurso, pois no que diz respeito ao robˆo propriamente dito n˜ao houve grandes evolu¸c˜oes nem flexibilidade do seu fabrico. ´E real¸cada a competi¸c˜ao portuguesa de micromouse que teve in´ıcio no ano de 2013. S˜ao depois ainda apresentadas as regras que regem para o concurso Micromouse.

2.1

Descri¸

ao

O Micromouse ´e um evento onde pequenos robˆos aut´onomos competem entre si de forma a resolver um labirinto no m´ınimo tempo poss´ıvel. Os robˆos, tamb´em designados de micromouse, tˆem como objectivo encontrar o caminho para o centro do labirinto a partir de um canto desconhecido do labirinto. `A medida que o robˆo avan¸ca no labirinto atrav´es do seu algoritmo, os micromice devem ser capazes de manter em mem´oria a configura¸c˜ao do labirinto, a sua posi¸c˜ao dentro do labirinto, o registo das c´elulas j´a percorridas no labirinto e optimizar um caminho que deve ser percorrido no menor tempo poss´ıvel. Uma vez atingido o centro, retorna `a sua

(29)

6 CAP´ITULO 2. O MICROMOUSE

Figura 2.1– Labirinto.

posi¸c˜ao inicial.

Ao longo dos anos, o desafio de criar um robˆo aut´onomo que possa resolver um labirinto espalhou-se no mundo inteiro sendo o desafio inicial desenvolver um robˆo capaz de encontrar o centro do labirinto, o que em si exige competˆencias em micro rob´otica e programa¸c˜ao. Ao longo dos anos os objectivos transformaram-se numa corrida para o centro, com robˆos capazes de atingir velocidades elevadas (Davis,

2012). O micromouse n˜ao poder´a exceder os 250mm de largura e de comprimento sendo que n˜ao existem restri¸c˜oes na altura do mesmo.

O labirinto ´e constitu´ıdo por c´elulas quadradas de 18 cent´ımetros de face e com muros com 5 cm de altura, perfazendo no seu conjunto uma matriz composta de 16x16 c´elulas.

As paredes constituintes do labirinto dever˜ao ter 50mm de altura e 12mm de largura e exteriormente dever´a envolver o labirinto por completo. Estas dever˜ao ser brancas reflectindo a luz infravermelha e as passagens entre elas dever˜ao ter 168mm de largura. O ch˜ao do labirinto dever´a ser preto fosco absorvendo a luz infravermelha. A c´elula de partida dever´a ser num dos quatro cantos do labirinto contendo paredes

(30)

2.2. COMPETIC¸ ˜OES 7

em trˆes lados com orienta¸c˜ao de modo a que quando a abertura estiver a ’norte’, as paredes exteriores est˜ao a ’sul’ e a ’oeste’ como ditam as regras. O centro do labirinto ´e um conjunto das quatro c´elulas centrais sem paredes internas e constitui o destino. Ser˜ao permitidas, e at´e espect´aveis, a existˆencia de m´ultiplos caminhos para o destino.

Os eventos Micromouse s˜ao actualmente realizados regularmente em escolas, col´egios, universidades e centros de exposi¸c˜ao a volta do mundo.

2.2

Competi¸

oes

Desde 1950 at´e aos tempos de hoje tˆem vindo a crescer as competi¸c˜oes de micromice por todo o mundo, verificando-se cada vez com mais qualidade na constru¸c˜ao dos robˆos e melhores tempos obtidos na resolu¸c˜ao do labirinto.

2.2.1

Resenha hist´

orica sobre o Micromouse

O Micromouse come¸ca por ser um pequeno robˆo aut´onomo constru´ıdo para navegar num labirinto. O primeiro registo dum robˆo a resolver um labirinto ´e datado de 1950, contru´ıdo por Claude Elwood Shannon (Shannon,2012) sendo ele quem construiu e apresentou pela primeira vez o labirinto original. No entanto, a primeira competi¸c˜ao de Micromouse s´o come¸cou na d´ecada de 1970 (Kibler et al.,2011), quando os robˆos foram testados um contra o outro. Em 1972 robˆos mecˆanicos foram constru´ıdos com molas para um concurso de corrida patrocinado pela revista Machine Design. O conceito de Micromouse como um dispositivo de solu¸c˜ao de um labirinto foi introduzido pela revista IEEE Spectrum, em 1977. Spectrum anunciou o Concurso Amazing Maze Micromouse que iria ser realizado em junho de 1979, em Nova Iorque, tendo sido recebidas cerca de 6000 inscri¸c˜oes, mas somente 15 micromouses faziam parte da fase final pois aparentemente muitos relataram brain failure, enquanto outros afirmaram blow-up e uma variedade de outras raz˜oes. Dos 15 robˆos apurados para a fase final, apenas 4 conseguiram resolver o labirinto de 8 x 8 durante a

(31)

8 CAP´ITULO 2. O MICROMOUSE

Figura 2.2– Topo Moonlight Special, meio Moonlight Flash , canto inferior direito Midnight Express.

sua primeira passagem e dois nas restantes tentativas. O vencedor foi Moonlight Flash,com um tempo de 30,04 segundos (Day, 1979;Kibler et al., 2011).

As regras dos concursos seguintes come¸caram ent˜ao a tornar-se mais sofisticadas, tendo os pr´oximos concorrentes um desafio cada vez maior na constru¸c˜ao de robˆos inteligentes capazes de encontrar o centro do labirinto. Em 1980, realizou-se a primeira competi¸c˜ao europeia que teve lugar em Londres. Das 100 inscri¸c˜oes recebidas, apenas 9 robˆos competiram nas finais. Nesse ano, apenas Nick Smith com o seu robˆo Sterling, encontrou o centro do labirinto com o tempo de 3 minutos e 49 segundos (Mosa et al., 2012). Os delegados da new japan science foundation levaram as

(32)

2.2. COMPETIC¸ ˜OES 9

Figura 2.3 – Jornal The Day em 7 Junho 1979.

regras de volta para T´oquio e organizaram o 1o

all-japan competition Micromouse em Novembro do mesmo ano, mas nenhum dos participantes resolveu o labirinto (Online,2012). Em 1981 teve lugar em Paris uma competi¸c˜ao, onde participaram 13 concorrentes. Nick Smith ganhou novamente, sendo o seu robˆo Sterling o mais r´apido dos 8 robˆos a atingir o centro do labirinto. Alan Dibley venceu a edi¸c˜ao britˆanica de 1982 com seus robˆos Thezeus. O primeiro concurso mundial de Micromouse foi realizado em Tsukuba, no Jap˜ao, em Agosto de 1985 (Harrison, 2013), onde participaram concorrentes da Europa e dos EUA. Os robˆos foram se tornando bastante sofisticados, usando sensores infra-vermelhos ou ultra-som, com motores de passo ou DC. O campe˜ao desse ano foi o japonˆes Noriko e o melhor concorrente n˜ao-japonˆes sendo Dave Woodfield’s na s´etima posi¸c˜ao. A edi¸c˜ao de 1987 foi organizada

(33)

10 CAP´ITULO 2. O MICROMOUSE

pelo Instituto de Engenheiros El´etricos em Londres, com 13 concorrentes. David Otten, do MIT, obteve os dois primeiros pr´emios com os micromouses Mitee I e II. Nesse ano, uma nova pontua¸c˜ao foi introduzido para recompensar robˆos capazes de resolver o labirinto de forma completamente independente, nomeadamente 10 segundos foram deduzidos ao tempo de execu¸c˜ao se o robˆo nunca fosse tocado do in´ıcio ao fim (Bradbeer,2012). As competi¸c˜oes de Singapura Micromouse come¸caram em 1987, patrocinado pela IES, a Institui¸c˜ao de Engenheiros de Singapura. Em 1988, mir3+, da Nanyang Technological Institute conquistou o terceiro lugar. Em julho de 1989 na cidade de Londres, a equipa de Singapura teve 6 dos 8 melhores pr´emios. David Otten com o seu Mitee III terminou em 2 o

lugar, enquanto que a Empresa Dave Woodfield ficou em quinto. Em outubro do mesmo ano, o IES realizou a sua primeira competi¸c˜ao Micromouse Internacional, e a equipa local, mais uma vez venceu cinco dos sete lugares contra os robˆos do Reino Unido, EUA, Jap˜ao, Taiwan e Austr´alia.

Em 1990, os clubes Micromouse come¸caram a aparecer nas escolas. As regras do campeonato foram alteradas para o Campeonato Mundial de 1991, em Hong-Kong, de forma a que o foco fosse a fiabilidade e n˜ao apenas a velocidade pura (Xioco and Tascon, 1999). Foi a maior reuni˜ao internacional de robˆos desde Tsukuba, em 1985, com 30 robˆos de 13 pa´ıses. A Royal Holloway organizou o seu primeiro evento, em 2000, em Londres, e os robˆos apareceram j´a na TV para os Technogames, programa da BBC. Em 2001, a primeira competi¸c˜ao de Escolas e Faculdades ´e organizada pela Manchester Metropolitan University. Desde ent˜ao, em cada ano, realiza-se um evento Micromouse. Pela primeira vez em 2004, o campeonato nacional Micromouse foi realizado no Centro de Inova¸c˜ao Tecnol´ogica, em Birmingham. V´arias competi¸c˜oes se seguiram com a realiza¸c˜ao na Universidade de Santa Clara em 2005, seguindo-se a competi¸c˜ao no estado de Fresno em 2006 com Tepidius, o micromouse constru´ıdo por Kyle Tanabe, Dian Nguyen e Paul Ramirez a terminar num fant´astico segundo lugar, perdendo contra a equipa UC Davis por apenas 1,71 segundos. O IEEE 6 decorreu a 3 de maio de 2008 em San Jose State University sendo novamente a equipa UC Davis a ganhar com o seu Mousey a fazer o tempo de 8:31.74 sendo os lugares seguintes atribu´ıdos por c´elulas exploradas. Actualmente,

(34)

2.2. COMPETIC¸ ˜OES 11

j´a no ano de 2013 decorreram v´arios concursos como o ’All America Micromouse’ onde em primeiro lugar ficou a equipa Green Giant V2.2 com um tempo fant´astico de 0:6.55 segundos. O segundo e terceiro lugares apenas conseguiram acabar a prova com os tempos de 1:11.4 e 2:56.1 respectivamente. Em portugal j´a existe

Figura 2.4 – Micromouse portuguese contest.

Figura 2.5 – Resultados micromouse portuguese contest.

uma competi¸c˜ao designada Micromouse Portuguese Contest que realizou a sua primeira edi¸c˜ao em Maio de 2013 e contou com quatro participa¸c˜oes, sendo dois destes representantes da Utad atrav´es do clube de rob´otica (Valente,2013a). Esta ´e uma competi¸c˜ao aberta a todos os interessados querendo a organiza¸c˜ao realizar esta

(35)

12 CAP´ITULO 2. O MICROMOUSE

competi¸c˜ao em diversas zonas do pa´ıs num futuro pr´oximo. Os resultados de uma forma geral foram satisfat´orios visto que dois dos quatro robˆos conseguiram resolver o labirinto, tendo o robˆo Gr´ıgora ganho com um tempo de 0:44:477 na sua primeira manga. Os outros participantes foram classificados consoante as c´elulas descobertas pelo seu robˆo.

2.2.2

Regras

As regras que regem os principais concursos Micromouse s˜ao as regras oficiais da IEEE International Micromouse Competition(IEEE,2013). Em resumo uma equipa pode ser constitu´ıda no m´aximo por 5 elementos e apenas corresponder a um micromouse, tendo um elemento respons´avel pela equipa. Por norma s´o existe um escal˜ao de competi¸c˜ao. Depois do parque fechado s´o um elemento da equipa poder´a ter acesso, quando solicitado pelo j´uri, ao labirinto. A participa¸c˜ao est´a sujeita ao pagamento de uma inscri¸c˜ao no valor estipulado por equipa. O micromouse dever´a ser totalmente aut´onomo e sem a utiliza¸c˜ao de fontes de energia que utilizem processos de combust˜ao. ´E permitido fazer pequenas repara¸c˜oes durante o concurso mas n˜ao ´e permitido ter qualquer hardware ou software adicionado, substitu´ıdo, apagado ou modificado pelo operador. Um micromouse n˜ao poder´a saltar, subir, arranhar, danificar ou destruir as paredes que constituem o labirinto podendo os ju´ızes impedir um micromouse de participar se existir um risco de tal acontecer. Cada corrida come¸ca na c´elula de partida e termina quando o micromouse retorna a essa mesma c´elula e fica imobilizado por 2 segundos ou ´e suspensa pelo j´uri, sendo que o tempo m´ınimo para ir da partida ao destino dever´a ser registado como o seu tempo oficial de uma corrida. O operador n˜ao poder´a tocar no micromouse durante uma corrida sem a autoriza¸c˜ao do j´uri. O micromouse pode viajar de volta desde o destino at´e `a c´elula partida que n˜ao ´e considerado uma corrida. Cada micromouse ter´a um limite m´aximo de actua¸c˜ao de 10 minutos obtendo a pontua¸c˜ao pelo melhor tempo de uma corrida. Quando um micromouse chega ao destino poder´a parar e permanecer no centro do labirinto ou continuar a explorar outras partes do labirinto regressando `a c´elula de partida. Caso este n˜ao permane¸ca no destino n˜ao poder´a ser parado

(36)

2.3. OBSERVAC¸ ˜OES FINAIS 13

manualmente e depois recome¸car. O tempo para cada corrida dever´a ser medido desde o instante que o micromouse sai da c´elula de partida at´e que entra na zona de destino. Ao concorrente ´e dado 1 minuto, desde o momento em retira o micromouse do parque fechado, para fazer ajustes aos sensores se assim o necessitar. Depois de retirado do parque fechado, n˜ao poder´a haver selec¸c˜ao de estrat´egias nem ´e poss´ıvel introduzir no micromouse, por qualquer processo, informa¸c˜ao sobre o labirinto. O cron´ometro recome¸car´a ao fim de 1 minuto, mesmo que o concorrente ainda esteja a ajustar os sensores do robˆo. Se um micromouse tiver problemas o concorrente poder´a pedir permiss˜ao ao j´uri para abandonar a corrida e recome¸car desde o in´ıcio. Um micromouse n˜ao poder´a recome¸car somente porque falhou uma curva, podendo neste caso o j´uri adicionar uma penalidade pelo recome¸co. Se nenhuma corrida com sucesso for conseguida o j´uri dar´a uma avalia¸c˜ao qualitativa do desempenho do robˆo, baseada na distˆancia alcan¸cada, no comportamento e na qualidade do controlo. Se um robˆo tiver de sair por problemas t´ecnicos, o j´uri poder´a admitir que este volte mais tarde ao concurso. Os robˆos dever˜ao permanecer no parque fechado at´e o labirinto ser revelado, colocando o micromouse na partida `as ordens do j´uri. Os casos omissos ser˜ao resolvidos pelo j´uri do concurso (Valente, 2013b).

2.3

Observa¸

oes finais

Portugal come¸ca a ter alguns bons exemplos de robˆos para participar em competi¸c˜oes europeias e at´e internacionais de Micromouse. No pr´oximo Cap´ıtulo ´e analisado o que devemos ter em conta para a escolha de componentes f´ısicos para o robˆo assim como alguns dos poss´ıveis algoritmos para a resolu¸c˜ao de labirintos para podermos construir e programar o melhor robˆo poss´ıvel.

(37)
(38)

3

O Robˆ

o micromouse

O robˆo tem como finalidade encontrar o centro do labirinto, onde est˜ao as quatro c´elulas designadas como destino. Depois de encontrado esse destino, o robˆo tem de calcular qual o melhor caminho no sentido de alcan¸car o destino no m´ınimo tempo poss´ıvel, ganhando quem fizer o menor tempo desde a partida at´e ao designado destino.

3.1

Perspectiva de todo o sistema

A figura 3.1 representa a inter-rela¸c˜ao entre os diferentes componentes do micromouse. O robˆo ´e controlado pelo micro controlador que ´e o c´erebro do robˆo, sendo alimentado por uma fonte de alimenta¸c˜ao que ´e, neste caso, uma bateria. Recebe informa¸c˜oes dos sensores que processa de forma a comandar correctamente os motores.

3.2

Componentes do robˆ

o

A parte f´ısica ´e constitu´ıda por duas componentes principais: os motores e os sensores. ´E atrav´es deles que o c´erebro do robˆo pode funcionar. Comparando com

(39)

16 CAP´ITULO 3. O ROB ˆO MICROMOUSE

Figura 3.1 – Esquema de liga¸c˜ao interno.

um humano, os motores seriam as pernas e os sensores os olhos.

3.2.1

Motores

Existem motores de passo de todos os tamanhos e resolu¸c˜oes. Mesmo que o nosso esquema conceptual de um motor de passo execute uma rota¸c˜ao completa em quatro etapas, a maioria dos motores tˆem maior resolu¸c˜ao(mais etapas). Alguns motores de passo giram 7,5◦ por passo e outros giram t˜ao pouco quanto 0,9por passo. Alguns motores de passo s˜ao fortes, outros s´o precisam mover a cabe¸ca de um CD-player (Auyeung, 2005).

O funcionamento b´asico do motor de passo ´e dado pelo uso de solen´oides alinhados dois a dois, que quando energizados atraem o rotor fazendo-o alinhar-se com o eixo determinado pelos solen´oides, causando assim uma pequena varia¸c˜ao de ˆangulo que

(40)

3.2. COMPONENTES DO ROB ˆO 17

´e chamada de passo. A velocidade e o sentido de movimento s˜ao determinados pela forma como cada solen´oide ´e activado (a ordem e a velocidade entre cada activa¸c˜ao). O n´umero de passos ´e dado pelo n´umero de alinhamentos poss´ıveis entre o rotor e as bobinas. Ou seja, para aumentar o n´umero de passos de um motor usa-se um n´umero maior de bobinas, n´umero maior de p´olos no rotor (para isso usa-se uma roda dentada)(elipe Gon¸calves Brites and de Almeida Santos, 2008).

Em geral, os motores de passo de tamanhos menores (2,54 cm de diˆametro e cerca de 1,9 cm de espessura) tˆem tamanhos de passo maiores e menos torque, enquanto as maiores (3,8 cm c´ubicos ou mais) tˆem tamanhos mais finos e mais torque. Um motor menor e mais leve faz com que o tamanho total do micromouse seja mais pequeno e mais leve. Alta resolu¸c˜ao e alto torque de motor de passo pode ser directamente ligado a uma roda motriz. Esta abordagem simplifica o desenho mecˆanico, mas acrescenta mais peso e aumenta a dimens˜ao global. No caso de motores de passo, ´e poss´ıvel aumentar o fornecimento de energia para os motores de modo que se possa usar uma pilha com uma tens˜ao mais baixa. O princ´ıpio b´asico ´e o mesmo que o de um regulador de comuta¸c˜ao de impulso. No entanto, porque o motor n˜ao necessita de uma tens˜ao exacta, a maior parte do retorno e o controlo de um regulador de impulso podem ser omitidos (F.Farias and T.M.Raunheitte, 2013).

Um motor DC destina-se a trabalhar a partir de uma fonte de corrente cont´ınua, sendo que tens˜ao ´e aplicada aos terminais do motor e este come¸ca a girar (Hall,2004). Um dos motores DC com codificador inclu´ıdo mais utilizados no desenvolvimento do robˆo para o Micromouse s˜ao os motores da Faulhaber. ´E um motor de 6 V com 14000 rpm sem carga e com o codificador cupulado (IE2-256) de 256 pulso por volta. A desvantagem deste tipo de motor com codificador ´e o pre¸co, cerca de 150 e por motor, tornado o pre¸co total do robˆo num valor elevado. Mas o desempenho de um motor DC, em rela¸c˜ao ao de um motor passo-a-passo, ´e tamb´em muito superior. Tamb´em ´e poss´ıvel utilizar motores DC e associar codificadores sendo que os valores retirados desses codificadores n˜ao s˜ao muito exatos pois existem sempre erros. Em termos de electr´onica de controlo estes motores requerem uma ponte H, PWM (de Pulse-width modulation) para controlar a tens˜ao, e deste modo a velocidade, e

(41)

18 CAP´ITULO 3. O ROB ˆO MICROMOUSE

de um processo de contar os pulsos do codificador QEI (de quadrature codificador interface). Para este ´ultimo, um microcontrolador com um m´odulo de leitura QEI ´e o ideal. No entanto, tamb´em se pode utilizar dois temporizadores para o efeito (Valente, 2013a).

Ao compararmos estes motores sob o ponto de vista econ´omico escolhemos os motores DC sem codificadores que se podem encontrar, por exemplo, em brinquedos.

3.2.2

Sensores

Os sensores num micromouse servem para v´arios prop´ositos. O primeiro objectivo, independentemente do algoritmo de explora¸c˜ao e abordagem, ´e garantir que o robˆo possa detectar erros. Nenhum robˆo ´e perfeito, nenhum labirinto ´e perfeito com a especifica¸c˜ao. Os sensores detectam pequenos erros que o robˆo tem de corrigir, antes que esses erros se acumulem at´e um n´ıvel que n˜ao possam ser corrigidos. O segundo prop´osito ´e mapear o labirinto. Naturalmente, esta finalidade s´o faz sentido para os robˆos inteligentes. Os sensores que podem detectar paredes ao longe minimizam o movimento do robˆo durante a fase de explora¸c˜ao e economizam tempo (Gims et al.,

1999).

Quando o robˆo est´a em movimento no labirinto, as suas rodas v˜ao escorregar e podem ter rota¸c˜oes diferentes, pelo que nunca temos a certeza que o robˆo est´a a andar em linha recta. Para compensar esses erros que aparecem, usamos uma esp´ecie de sistema de controlo de feedback, ou seja, controlar os movimentos baseando-se nos dados recebidos constantemente. O sistema de controlo que vamos utilizar ´e chamado de controlo proporcional.

A ideia subjacente ´e que controlo proporcional tem uma sa´ıda, neste caso, os motores, e uma entrada de retorno que s˜ao os sensores de infravermelhos, onde utilizamos os dados do feedback para alterar o valor de sa´ıda em fun¸c˜ao do caminho que o robˆo tem de seguir. Aqui temos um exemplo onde o robˆo ter´a de ser ajustado para a esquerda.

(42)

3.2. COMPONENTES DO ROB ˆO 19

Figura 3.2– Ajuste do robˆo `a esquerda.

Como podemos verificar na Figura 3.2, a sa´ıda do sensor de esquerda ser´a menor do que a sa´ıda do sensor de direita, porque o sensor est´a mais afastado da parede. Com a diferen¸ca dos sensores da direita e da esquerda podemos ver qual ´e o erro, e assim, adicionando esse valor de erro na velocidade do motor da direita e, simultaneamente, subtrai-lo na velocidade do motor da esquerda faz com que o robˆo vire ligeiramente para a esquerda e assim se aproxime do centro da c´elula (Wang et al., 2008).

Figura 3.3– Ajuste do robˆo `a direita.

Aqui temos um exemplo onde o robˆo ter´a de ser ajustado para a direita. Os nossos sensores tˆem novamente valores diferentes, mas desta vez o sensor da direita ter´a o menor valor. Ent˜ao, fazendo o mesmo c´alculo da diferen¸ca entre os valores dos

(43)

20 CAP´ITULO 3. O ROB ˆO MICROMOUSE

sensores obtemos um valor negativo para o erro. Quando somamos esse valor ´a velocidade do motor direito e subtraimos a velocidade do motor esquerdo, o robˆo vai virar ligeiramente `a direita reduzindo assim o erro e desloca o robˆo para o centro.

Figura 3.4 – Robˆo ajustado ao centro.

Na Figura 3.4 temos um exemplo onde o robˆo j´a est´a centrado com a c´elula. O valor da sa´ıda do sensor da direita ser´a igual ao valor da sa´ıda do sensor da esquerda. Ent˜ao, fazendo o mesmo c´alculo dos exemplos anteriores obtemos uma resposta de valor 0. Neste caso a velocidade dos motores n˜ao ´e alterada visto o robˆo j´a estar no centro da c´elula (Eakins, 2008).

O sensor IR (de intensidade reflexiva) ´e o mais simples de todos os sensores de telemetria. ´E emitido para uma parede um feixe de IR, e um fototransistor recebe a intensidade da radia¸c˜ao reflectida. Em teoria, a intensidade ´e o inverso do quadrado da distˆancia. Na pr´atica, este tipo de abordagem s´o ´e utiliz´avel para aplica¸c˜oes que tem uma distancia muito pequena. Um grande problema ´e que se o labirinto ´e pintado em v´arios tons de branco a calibra¸c˜ao trona-se quase imposs´ıvel. Al´em disso, como os micromice competem em ambiente de ilumina¸c˜ao normal, as lˆampadas tamb´em produzem IR o que pode interferir ficando o micromouse sem saber quais s˜ao os seus IR ou os das lˆampadas. Este tipo de sensores ´e do tipo mais antigo, e tamb´em o mais utilizado devido `a sua simplicidade. Eles s˜ao propensos a problemas como a vibra¸c˜ao do micromouse porque os sensores reflexivos s˜ao optimizados para a detec¸c˜ao de reflex˜ao a uma certa distˆancia. Os sensores reflectores podem ser

(44)

3.3. ALGORITMOS DE PESQUISA 21

usados para detectar as paredes que n˜ao est˜ao imediatamente em torno do robˆo. Ao maximizar a largura da frente de sensores, estes podem detectar paredes reflectoras frontais, que s˜ao perpendiculares `a direc¸c˜ao de movimento. S˜ao tamb´em muito ´

uteis na detec¸c˜ao de erros de rota¸c˜ao, porque eles podem ser utilizados para alinhar a direc¸c˜ao do robˆo durante uma curva. Mesmo que tenha ideias de utiliza¸c˜ao de outros sensores muito melhores, ´e seguro garantir que o robˆo possa passar a usar este tipo de sensores no caso de as coisas n˜ao sa´ırem como o esperado (Mosa et al.,

2012).

Os sensores IR s˜ao os aconselhados para este tipo de robˆos, pois ´e uma solu¸c˜ao econ´omica e de grande eficiˆencia, precisando apenas de ligeiras calibra¸c˜oes devido ´a luz que se fa¸ca sentir no labirinto e possa interferir no feixe de luz dos sensores.

3.3

Algoritmos de pesquisa

O objectivo do algoritmo de pesquisa ´e encontrar um caminho desde a origem at´e ao destino pretendido do labirinto, que no nosso caso ´e o centro do labirinto. A forma mais simples de resolver um labirinto ´e com o algoritmo aleat´orio, que anda sempre em frente no labirinto at´e encontrar uma parede. Embora existam muitos algoritmos diferentes os algoritmos mais utilizados para a resolu¸c˜ao do labirinto s˜ao o Left Wall Follower, o Right Wall Follower, o Tremaux e o Flood Fill (Sharma,

2009).

3.3.1

Left Wall Follower e Right Wall Follower

O seguidor de parede ´e das regras mais conhecidas, tamb´em conhecida como a regra da m˜ao esquerda ou direita. Se o labirinto ´e simplesmente conexo, isto ´e, todas as suas paredes est˜ao ligadas entre si ou com limite exterior do labirinto, o algoritmo processa-se mantendo uma m˜ao em contacto com uma das paredes do labirinto, onde o jogador est´a a garantir que n˜ao se perde e vai chegar ao centro caso haja uma liga¸c˜ao da parede exterior ao centro. Caso contr´ario, vai voltar para

(45)

22 CAP´ITULO 3. O ROB ˆO MICROMOUSE

a entrada ap´os percorrido os corredores do labirinto. Se as paredes est˜ao ligadas, o micromouse pode ser enganado e fazer um loop ou c´ırculo, n˜ao chegando assim ao objectivo (Mishra and Bande, 2008).

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

(46)

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¸

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.

(47)
(48)

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).

(49)

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

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

(50)

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

(51)

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

(52)

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

(53)

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.

(54)

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¸

ao

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

4.5

Observa¸

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.

(55)

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

(56)

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

(57)

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

(58)

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.

(59)

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

(60)

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

(61)

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.

(62)

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

(63)

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

(64)

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.

(65)

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

(66)

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¸

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 ajuda a que seja poss´ıvel realizar mais explora¸c˜oes e testar o caminho mais curto.

(67)
(68)

6

Conclus˜

ao e trabalho futuro

6.1

S´ıntese conclusiva

Esta disserta¸c˜ao est´a estruturada em seis Cap´ıtulos, sendo que no Cap´ıtulo 1 se faz o enquadramento do trabalho, apresentando-se tamb´em a motiva¸c˜ao e os principais objectivos do trabalho.

A primeira parte do Cap´ıtulo 2 consiste numa resenha hist´orica sobre o concurso Micromouse, onde ´e descrita a evolu¸c˜ao da competi¸c˜ao Micromouse ao longo dos anos. Na segunda parte, faz-se o levantamento das regras que s˜ao aplicadas ao concurso, sendo que as regras em rela¸c˜ao aos participantes podem ser alteradas a cada concurso.

A discuss˜ao de alguns dos m´etodos que se podem utilizar na programa¸c˜ao assim como das diversos componentes foram apresentados no Cap´ıtulo 3. O layout dos circuitos para o processo de fabrico do micromouse foram descritos no Cap´ıtulo 4, assim como os componentes presentes no micromouse bem como a rela¸c˜ao entre essas mesmas componentes.

No Cap´ıtulo 5 encontram-se os testes realizados e os resultados obtidos em simula¸c˜oes 45

(69)

46 CAP´ITULO 6. CONCLUS ˜AO E TRABALHO FUTURO

que permitam avaliar o desempenho do robˆo.

No presente capitulo, ´e feita uma discuss˜ao dos resultados obtidos e apresentam-se algumas perspectivas de trabalho futuro.

6.2

Avalia¸

ao e principais conclus˜

oes

A escolha dos motores com os codificadores separados talvez n˜ao tivesse sido a melhor escolha, pois como s˜ao separados existe sempre alguma varia¸c˜ao da sua posi¸c˜ao exacta a cada ensaio que se realiza visto o custo de um motor j´a com codificadores ser muito elevado torna-se mais econ´omica a solu¸c˜ao adoptada mesmo sabendo que n˜ao existe tanta precis˜ao. J´a numa fase posterior os motores com codificador poder˜ao vir a ser adquiridos. Toda a parte f´ısica do trabalho foi realizada e posteriormente alterada por alunos de rob´otica para o actual Grigora, sendo neste montados esses motores que facilitam a obten¸c˜ao da posi¸c˜ao exacta do micromouse. A escolha do m´etodo a adoptar face aos resultados obtidos nos v´arios testes ´e o Flood Fill pois como verificado no Capitulo 5 foi o que obteve melhor desempenho e nos d´a mais confian¸ca para um bom resultado, resultado satisfat´orio face ao primeiro lugar alcan¸cado no Micromouse Portuguese Contest.

Em termos did´acticos este trabalho enriqueceu o conhecimento sobre rob´otica assim como sobre os algoritmos de pesquisa estudados tendo tamb´em contribu´ıdo para visitas a escolas secund´arias e profissionais no sentido de sensibilizar os mais novos para os cursos de rob´otica despertando assim o interesse deles na ´area.

Poss´ıveis melhoramentos

Alguns dos melhoramentos a fazer no micromouse foram j´a implementados na vers˜ao do Grigora, tendo esta vers˜ao verificado melhores resultados. Uma das altera¸c˜oes foi a inclus˜ao dos motores j´a com codificador que ajudaram num melhor controlo da posi¸c˜ao do robˆo. Outra altera¸c˜ao foi a redu¸c˜ao para quatro sensores em vez dos seis, pois conseguem obter os dados necess´arios com um menor consumo de

(70)

6.3. PERSPECTIVAS PARA TRABALHO FUTURO 47

energia. ´E conveniente alterar o tipo de borracha dos pneus para que o micromouse tenha mais aderˆencia principalmente nas curvas. Outros melhoramentos a dar a uma nova vers˜ao passar´a pelo algoritmo de pesquisa que poder´a ser mais eficiente na descoberta do caminho mais curso e r´apido.

6.3

Perspectivas para trabalho futuro

Futuramente, para al´em dos testes realizados em ambientes simulados existe todo um interesse em construir outro micromouse, j´a com algumas das altera¸c˜oes realizadas no Grigora como a altera¸c˜ao dos motores e adaptar o algoritmo aos imprevistos do ambiente real. O desempenho do grigora no concurso foi satisfat´orio embora tenha limita¸c˜oes principalmente na velocidade para n˜ao derrapar e embater numa parede. Participar em concursos com outras universidades. Pretende-se desenvolver um Kit para as escolas com base neste robˆo, sendo j´a uma evolu¸c˜ao do Grigora com motores Nema 8 e processador Andruino leonardo para programar em Blockly. Pretende-se tamb´em a realiza¸c˜ao de workshops para que possam pˆor em pratica esse Kit.

(71)

48 CAP´ITULO 6. CONCLUS ˜AO E TRABALHO FUTURO

(72)

Bibliografia

Abbey, S., Dixon, B., Dowell, P., e Rico, E. (2010). Micromouse. Pode consultar-se em http://www.angelfire.com/oh4/thevault/Spring_Report.pdf.

Ara´ujo, L. P. D. (2005). Utiliza¸c˜ao pr´atica do programa EAGLE 4.14. Pode obter-se em http://www.prof2000.pt/users/lpa/. 25

Auyeung, P. T. (2005). Micromouse handbook. pages 24–26. Pode consultar-se em

http://www.drtak.org/teaches/UCD/book/book.pdf. 16

Awhad, G., Marose, K., Qiao, X., e Magnuson, C. (2013). Macromouse: A maze solving robot final report. Technical report, Department of Computer Science and Engineering - University of Minnesota, Minneapolis. Pode consultar-se em

http://www.carlmagnuson.com/documents/RobotReport.pdf.

Bradbeer, R. (2012). Micromouse. S´ıtio da Internet. http://www.ee.cityu.edu. hk/~rtbrad/micromouse.html. 10

cai, J., Wan, X., Huo, H., e Wu, J. (2010). An algorithm of micromouse maze solving. International Conference on Advances Science and Contemporary Engineering 2010, 10:1995–2000. 23

Imagem

Figura 1.1 – Micromouse.
Figura 2.1 – Labirinto.
Figura 2.2 – Topo Moonlight Special, meio Moonlight Flash , canto inferior direito Midnight Express.
Figura 2.3 – Jornal The Day em 7 Junho 1979.
+7

Referências

Documentos relacionados

Considerando que a maioria dos dirigentes destas entidades constituem-se de mão de obra voluntária e na maioria das vezes sem formação adequada para o processo de gestão e tendo

Sendo assim, a utilização de modelos didáticos surge como uma importante ferramenta para proporção de um ambiente prazeroso para o processo de ensino-aprendizagem, já que aguça

Neste artigo, apresenta-se uma análise quantitativa do caderno de Geografia do professor, do ensino fundamental II e ensino médio, a fim de verificar a dimensão da cartografia

A apixaba- na reduziu o risco de AVE e embolismo sistêmico em mais de 50%: houve 51 eventos entre os pacientes do grupo apixabana versus 113 no grupo do AAS

Mesmo com suas ativas participações na luta política, as mulheres militantes carregavam consigo o signo do preconceito existente para com elas por parte não somente dos militares,

As mulheres travam uma história de luta por reconhecimento no decorrer do tempo sistematicamente o gênero masculino dominava o feminino, onde prevalecia a hierarquização do sexo

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma

Para o ferro puro foi utilizado uma camada de entrada com 4 neurônios (um para cada classe de dados de entrada – temperatura, tempo, diâmetro inicial de grão e