robo explorador de labirintos...

52
UNIVERSIDADE TECNOL ´ OGICA FEDERAL DO PARAN ´ A ENGENHARIA DE COMPUTAC ¸ ˜ AO BRUNO EDUARDO DE OLIVEIRA MENEGUELE FERNANDO PADILHA FERREIRA VINICIUS DA SILVA ARCANJO ROB ˆ O EXPLORADOR DE LABIRINTOS 2D MONOGRAFIA CURITIBA 2011

Upload: others

Post on 27-May-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA

ENGENHARIA DE COMPUTACAO

BRUNO EDUARDO DE OLIVEIRA MENEGUELE

FERNANDO PADILHA FERREIRA

VINICIUS DA SILVA ARCANJO

ROBO EXPLORADOR DE LABIRINTOS 2D

MONOGRAFIA

CURITIBA

2011

Page 2: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

BRUNO EDUARDO DE OLIVEIRA MENEGUELE

FERNANDO PADILHA FERREIRA

VINICIUS DA SILVA ARCANJO

ROBO EXPLORADOR DE LABIRINTOS 2D

Monografia apresentada a materia de Oficina

de Integracao 2, no curso de Engenharia de

Computacao da Universidade Tecnologica Federal

do Parana, como requisito parcial a aprovacao na

disciplina.

Orientador: Prof. Luciano Scandelari

CURITIBA

2011

Page 3: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

BRUNO EDUARDO DE OLIVEIRA MENEGUELE

FERNANDO PADILHA FERREIRA

VINICIUS DA SILVA ARCANJO

ROBO EXPLORADOR DE LABIRINTOS 2D

Monografia do projeto de Oficinas de Integracao 2, com apresentacao prevista para 15

de Junho de 2011 na Universidade Tecnologica Federal do Parana, como requisito

parcial a aprovacao na disciplina. Aprovada por:

Orientador:

Prof. Luciano Scandelari

Banca:

Prof. Mario Sergio Teixeira de Freitas

Prof. Miguel Antonio Sovierzoski

Francisco Otavio Coelho Sturm Antunes

CURITIBA

2011

Page 4: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

4

Agradecimentos

Agradecemos ao professor, e nosso orientador, Luciano Scandelari (Departamento

de Eletronica - UTFPR) por sua atencao e orientacao, assim como por apresentar solucoes

de extrema importancia ao projeto. Creditamos grande agradecimento tambem ao pro-

fessor Hugo Vieira Neto (Departamento de Eletronica - UTFPR) que nos ajudou ao inıcio

do projeto, principalmente em relacao a funcionamente e dicas de componentes a serem

utilizados no decorrer do projeto.

Ainda agradecemos ao professor Hugo Vieira Neto que nos convidou, a partir

do projeto que estavamos desenvolvendo, a participar da competicao de robotica The

Freescale Cup: Intelligent Car Racing, na qual temos como orientador o professor Joao

Alberto Fabro (Departamento de Informatica - UTFPR) ao qual agradecemos por algumas

conversas e dicas ao decorrer do desenvolvimento do robo proposto, assim como pela

disposicao de ir a Sao Paulo na abertura da competicao citada acima.

Para finalizar, agradecemos ao companheiro de turma Fabiano Guilherme Prado

Araujo por disponibilizar sua camera digital por alguns dias para registrarmos a finalizacao

do projeto com sucesso, assim como os demais companheiros que nos apoiaram durante

o desenvolvimento.

Page 5: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

Resumo

Este projeto consiste na construcao de um robo autonomo capaz de, a partir de

um ponto qualquer e sem previo conhecimento, explorar e solucionar um labirinto 2D. O

labirinto sera composto por linhas pretas ortogonais em fundo branco e um ponto final,

sendo obrigatorio ao robo percorre-lo sobre as linhas pretas. Seu sistema de deteccao sera

composto por um conjunto de sensores de luz infravermelha e a tomada de decisao sera

baseada no algoritmo Seguidor de Parede (Wall follower), tambem conhecido como Regra

da Mao Esquerda/Direita.

Page 6: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

Lista de Figuras

1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3 Arduino Duemilanove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Estrutura de um fototransistor . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 Princıpio de funcionamento do motor . . . . . . . . . . . . . . . . . . . . . 15

6 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

7 Fluxo de corrente em uma Ponte H . . . . . . . . . . . . . . . . . . . . . . 18

8 Circuito esquematico da ponte H . . . . . . . . . . . . . . . . . . . . . . . 19

9 Disco do encoder de 36 faixas . . . . . . . . . . . . . . . . . . . . . . . . . 20

10 Controle por PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

11 Funcionamento dos sensores de refletancia . . . . . . . . . . . . . . . . . . 22

12 Circuito esquematico dos sensores de refletancia . . . . . . . . . . . . . . . 23

13 Regra da mao esquerda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

14 Metodo de simplificacao de caminhos . . . . . . . . . . . . . . . . . . . . . 27

15 Chassi inicial - primeiros testes . . . . . . . . . . . . . . . . . . . . . . . . 29

16 Projeto CAD: Segundo chassi utilizado . . . . . . . . . . . . . . . . . . . . 30

17 Segundo chassi utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

18 Chassi atual - visao superior . . . . . . . . . . . . . . . . . . . . . . . . . . 31

19 Chassi atual - visao inferior . . . . . . . . . . . . . . . . . . . . . . . . . . 31

20 Chassi atual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

21 Saıda de curva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

22 Placa com 3 sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

23 Placa com 5 sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

24 Casos de tomada de decisao . . . . . . . . . . . . . . . . . . . . . . . . . . 37

25 Transicao - definindo fim de curva . . . . . . . . . . . . . . . . . . . . . . . 38

26 Variacao da rotacao do motor CC em relacao a tensao aplicada . . . . . . . 41

27 Exemplo de loop problematico . . . . . . . . . . . . . . . . . . . . . . . . . 42

28 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Page 7: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

Lista de Tabelas

1 Ativacao da ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2 Comparacao entre os algoritmos . . . . . . . . . . . . . . . . . . . . . . . . 23

3 Simplificacoes tabeladas pela equipe . . . . . . . . . . . . . . . . . . . . . . 27

4 Simplificacoes nao tabeladas pela equipe . . . . . . . . . . . . . . . . . . . 28

5 Orcamento - Projeto proposto . . . . . . . . . . . . . . . . . . . . . . . . . 47

Page 8: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

Sumario

1 Introducao 9

1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Diagrama em Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Fundamentos teoricos 12

2.1 Plataforma Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2 Diodos Emissores de Luz - LEDs . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Fototransistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Motores CC e Caixa de Reducao . . . . . . . . . . . . . . . . . . . . . . . 14

2.4.1 Princıpio de funcionamento . . . . . . . . . . . . . . . . . . . . . . 15

2.4.2 Motores Utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.4.3 Caixa de Reducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.5 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6 Encoders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.7 Modulacao por Largura de Pulso - PWM . . . . . . . . . . . . . . . . . . . 20

2.8 Sensores de Refletancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.9 Algoritmos de decisao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.9.1 Busca em largura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.9.2 Algoritmo de Dijkstra . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.9.3 Algoritmo “Regra da mao” . . . . . . . . . . . . . . . . . . . . . . . 25

3 Desenvolvimento do projeto 29

3.1 Infraestrutura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.1 Chassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.2 Labirinto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2 Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.1 Controle por PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.2 Disposicao dos sensores . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.3 Definindo final de curva - transicao . . . . . . . . . . . . . . . . . . 36

Page 9: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

9

4 Problemas Encontrados 40

5 Conclusao 43

A Cronograma 46

B Orcamento 47

C Relatorio reunioes 48

Page 10: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

10

1 Introducao

AGV (do ingles, Veıculos Guiados Automaticamente) sao essencialmente robos

moveis utilizados em areas industriais para mover materiais de um ponto a outro. Sao

bastante utilizados em grandes industrias, porem, recentemente seu uso esta se estendendo

para hospitais, para o transporte de comida e medicamentos, e tambem em outros ambi-

entes com alto ındice de insalubridade ou nocivos para o ser humano. Sua alimentacao

e feita por baterias, a movimentacao por motores eletricos e seu controle e feito por um

microcontrolador aliado a diversos tipos de sensores. As implementacoes de baixo custo

utilizam guias no piso para demarcar a trajetoria e um conjunto de sensores opticos faz a

deteccao desta linha. Ja em implementacoes mais complexas, e caras, sao utilizados lasers

ou comunicacao sem fio (GPS, Bluetooth e GSM) para estabelecer a trajetoria (Souza,

2011; Dietsch e Torrens, 2007; Ali et al., 2010).

Este documento apresenta os passos tracados pela equipe para o desenvolvimento

de um robo autonomo capaz de definir seu proprio trajeto em um ambiente guiado. Serao

desenvolvidos tanto a parte fısica como seu algoritmo de decisao, que simulara, por meio

de um labirinto de linhas pretas ortogonais, um ambiente no qual o robo tera que explorar

ate encontrar o ponto final, o qual e o unico ponto distinto reconhecido pelo robo.

1.1 Motivacao

A equipe teve por motivacao o desafio da construcao de um robo autonomo capaz

de resolver labirintos.

1.2 Objetivo

Desenvolvimento e controle de um robo seguidor de linhas capacitado a explo-

rar e solucionar labirintos 2D, utilizando sensores de refletancia - objetivo principal da

disciplina.

Construcao do labirinto que sera formado por retas ortogonais apropriadas a

infraestrutura do robo. A partir de um ponto inicial o robo ira explorar o labirinto ate

um ponto final, sem o conhecimento do mesmo. Em seguida, posto uma segunda vez no

mesmo ponto inicial o robo sera capaz de percorrer o menor caminho obtido atraves da

exploracao.

Page 11: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

11

1.3 Metodologia

Apoiando-se no cronograma e atraves dos objetivos existentes no projeto, uti-

lizamos o fluxograma abaixo para atingir com os objetivos.

Figura 1: Metodologia

Fonte: Autoria propria

1.4 Diagrama em Blocos

Segue na Figura 2 o diagrama de blocos do robo. Atraves deste diagrama e

possıvel uma melhor visualizacao da interacao entre os componentes do mesmo.

Page 12: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

12

Figura 2: Diagrama de Blocos

Fonte: Autoria propria

Page 13: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

13

2 Fundamentos teoricos

2.1 Plataforma Arduino

O Arduino e uma plataforma open-source de desenvolvimento criada com o ob-

jetivo de oferecer facil comunicacao usuario-hardware. Este pode receber informacoes de

uma variedade de sensores e interagir com o ambiente, controlando luzes, motores, e out-

ros atuadores. O microcontrolador e programado usando a linguagem de programacao e

o ambiente de desenvolvimento Arduino.

Uma das maiores vantagens do sistema de desenvolvimento do Arduino e que

ele pode ser executado em sistemas operacionais variados, como “Windows”, “MacOS” e

“GNU/Linux”, enquanto outros sao limitados a um unico sistema.

Na Figura 3 encontra-se o Arduino utilizado neste projeto, modelo “Duemi-

lanove”, com micro-controlador ATMega328. Ele contem 14 entradas/saıdas digitais

(sendo que 6 funcionam como PWM), 6 entradas analogicas, 32Kb de memoria Flash

e 2Kb de memoria RAM. A comunicacao e feita por cabo USB, com isso requer o uso de

um computador para envio/recebimento das informacoes (Arduino Team, 2011).

Figura 3: Arduino Duemilanove

Fonte: (Arduino Team, 2011)

2.2 Diodos Emissores de Luz - LEDs

Assim como e necessario fornecer energia para gerar o par eletron-lacuna - para

um diodo comecar a conduzir - da mesma maneira, a energia e liberada quando um

eletron se recombina com uma lacuna. Essa energia pode ser emitida na forma de calor,

para o cristal - estrutura atomica repetitiva que compoe o substrato do diodo - ou na

Page 14: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

14

forma de fotons. No silıcio e germanio, a maior parte e emitida na forma de calor.

Entretanto, em outros semicondutores tais como o arseneto de galio ou fosfeto de galio

ha uma quantidade de fotons gerados suficiente para criar uma fonte de luz bem visıvel.

Este processo de emissao de luz aplicando-se uma fonte eletrica de energia e chamado

de eletroluminescencia. Um diodo que funciona nestas condicoes e denominado diodo

emissor de luz (LED) (Millman e Halkias, 1981; Boylestad e Nashelsky, 1999).

2.3 Fototransistor

O fototransistor e um fotodispositivo semicondutor bem mais sensıvel que o fo-

todıodo. Este dispositivo, e normalmente ligado em uma configuracao emissor comum,

com a base aberta, e uma radiacao e concentrada em uma regiao proxima da juncao

coletor JC , como mostra a Figura 4. A operacao deste dispositivo pode ser entendida

considerando que a juncao JE (juncao emissor) e polarizada no sentido direto, e a juncao

JC e polarizada reversamente (isto e, o transistor esta polarizado na regiao ativa) (Millman

e Halkias, 1981).

Figura 4: Estrutura de um fototransistor

Fonte: (Millman e Halkias, 1981)

Sem que exista uma radiacao de excitacao, portadores minoritarios - moleculas

com carga oposta a carga predominante do material - sao gerados termicamente e os

eletrons atravessam a base, indo para o coletor, da mesma maneira que as lacunas atrav-

essam o coletor indo para a base, constituindo a corrente de saturacao reversa de coletor

Page 15: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

15

ICO; a corrente no coletor (IC) e dada pela expressao 1 (Millman e Halkias, 1981):

IC = (β + 1)ICO (1)

onde β representa o ganho de corrente para um transistor em configuracao emissor comum.

Se um feixe luminoso incidir no dispositivo, ocorrera geracao de portadores mi-

noritarios adicionais por foto geracao, que contribuirao para a corrente de saturacao re-

versa, da mesma maneira que as cargas minoritarias geradas termicamente. Portanto,

ira surgir uma corrente de saturacao reversa devida a luz incidente, designada por IL, na

formula acima, que resulta na formula 2 (Millman e Halkias, 1981):

IC = (β + 1)(ICO + IL) (2)

Sucintamente, com a ausencia de luz e inversamente polarizadas, as juncoes nao conduzem

corrente eletrica (resistencia eletrica extremamente alta). Se incidirmos luz nestas juncoes,

a sua resistencia eletrica diminui muito, havendo conducao de corrente eletrica.

2.4 Motores CC e Caixa de Reducao

Segundo KOSOW (Kosow, 1982), pode-se entender por motor tudo que trans-

forma energia eletrica em energia mecanica, os quais fazem parte de um conjunto maior

denominado de maquinas eletricas, dividindo este grupo juntamente com geradores, porem

os geradores sao contrarios quanto a transformacao de energia, ja que estes transformam

energia mecanica em eletrica. Toda maquina eletrica e composta por duas partes, sendo

a parte estacionaria o estator e a parte rotatoria o rotor.

O rotor e construıdo de um material ferromagnetico, o qual e envolvido por um

enrolamento denominado de enrolamento de armadura e em seu interior ha o anel comu-

tador, sendo este ultimo responsavel por realizar a inversao das correntes que circulam no

enrolamento de armadura. Este anel comutador e montado e gira junto ao eixo do motor.

O estator e a parte estatica do motor, montada em torno do rotor, de uma forma a

permitir o giro livre do rotor internamente. E constituido de um material ferromagnetico,

assim como o rotor, e e envolto por um enrolamento denominado enrolamento de campo,

o qual possui a funcao de produzir um campo magnetico fixo, interagindo com o campo

do enrolamento de armadura.

Page 16: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

16

E possıvel destacar tres caracterısticas principais para o rotor, sendo estas:

1. Permite a rotacao para acao motora mecanica;

2. Em virtude desta rotacao, produz a acao de chaveamento necessario para a co-

mutacao (comutator);

3. Contem os condutores que induzem a tensao ou providenciam um torque eletro-

magnetico, o qual produz/mantem a rotacao do eixo.

O funcionamento do conjunto que compoe o motor sera apresentado na subsecao

abaixo.

2.4.1 Princıpio de funcionamento

Uma bobina - o rotor - quando possui uma determinada diferenca de potencial

entre seus polos, possui uma corrente em um sentido que gera um campo magnetico;

ao inverter essa diferenca de potencial, o sentido da corrente se inverte e a polarizacao

magnetica tambem. Portanto, fazendo o uso desta inversao magnetica atraves de uma

diferenca de potencial e utilizando os conceitos de atracao e repulsao entre os polos de um

ima, consiste o princıpio de funcionamento de um motor de corrente contınua (Honda,

2006).

Na Figura 5 e explicado este princıpio de funcionamento:

Figura 5: Princıpio de funcionamento do motor

Fonte: (Honda, 2006)

Na situacao a), a bobina esta horizontal. Devido a atracao dos polos opostos,

existe um torque que ira forcar a rotacao da bobina no sentido anti-horario. A bobina

sofre aceleracao angular e continua seu giro anti-horario, como se ilustra em b).

Page 17: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

17

Esse torque continua ate que os polos da bobina alcancem os polos opostos dos

ımas fixos (estator). Na situacao c) - a bobina girou 90 graus - nao ha torque algum, uma

vez que o rotor esta em equilıbrio devido a atracao do estator, resultando em uma forca

de atracao nula. Este e o momento de inverter o sentido da corrente no rotor, que ira

polarizar reversamente seus polos magneticos - para ocorrer uma grande repulsao entre

os polos do rotor e do estator. Devido a inercia do rotor a bobina ira girar no sentido

anti-horario e o novo torque e gerado atraves destas forcas repulsivas como exibido em d).

Mesmo apos a bobina ter sido girada de 180 graus, o movimento continua, a

bobina chega na “vertical” - giro de 270 graus - o torque novamente se anula, a corrente

novamente inverte seu sentido. Ha um novo torque e a bobina chega novamente a situacao

a) - giro de 360 graus. E o ciclo se repete (Honda, 2006).

2.4.2 Motores Utilizados

O robo possui dois motores de corrente contınua (CC) FA-130RA da empresa

Mabuchi, o mesmo possui 12300 rpm, sem carga, e um torque de 36 gf.cm. A tensao

nominal e de 3V e a corrente mınima necessaria para seu funcionamento e de 150mA.

2.4.3 Caixa de Reducao

Utilizando uma caixa de reducao, atraves de combinacoes de determinadas en-

grenagens, pode-se diminuir a quantidade de rotacoes por minuto dos motores utilizados

para obter um maior torque.

Na caixa de reducao utilizada neste projeto, sao possıveis as seguintes com-

binacoes: 12,7:1, 38:1, 115:1 e 344:1. Uma taxa de reducao X:Y, significa que o motor

roda X voltas para o eixo rodar Y voltas. Portanto, utilizando a reducao 344:1, com

um motor de 12300 rpm, isto significa que a cada segundo o motor completa 205 voltas,

enquanto o eixo de rotacao, o qual a roda esta acoplada, completa 0,6 voltas.

Sabendo que a roda completa 0,6 voltas por segundo e que seu raio e 2,5 cm,

entao sua velocidade escalar e 15,7 cm/s.

2.5 Ponte H

Conforme dito na secao 2.4, a polarizacao aplicada em seus terminais que deter-

mina o sentido de rotacao do motor. Sendo assim, para alternar o sentido de rotacao

Page 18: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

18

do motor, basta inverter a diferenca de potencial existente entre os terminais do motor.

Portanto, pode-se utilizar uma chave para inverter essa tensao aplicada aos terminais. E

razoavel sugerir o uso de transistores, na regiao de saturacao, para operar como chave

eletronica.

Um circuito que foi desenvolvido justamente para esse proposito de conseguir

chavear o sentido de rotacao dos motores, e denominado como Ponte H. Uma ponte H e

composta por 4 chaves posicionados formando a letra H, sendo que cada uma localiza-se

num extremo e o motor e posicionado no meio (Patsko, 2006), conforme a Figura 6.

Figura 6: Ponte H

Fonte: (Patsko, 2006)

Para que o motor funcione, basta ativar um par de chaves diagonalmente opostas,

o que faz com que a corrente flua do polo positivo para o negativo da fonte, atravessando

o motor e fazendo-o girar. Para inverter a rotacao, basta ativar o outro par de chaves e

desativar o par que estava anteriormente ativado. Consequentemente, o sentido de rotacao

sera invertido, conforme a Figura 7.

Quando a base do transistor e devidamente polarizada, ele e capaz de conduzir

uma corrente entre seus terminais coletor e emissor, sendo que nos transistores NPN, a

conducao da corrente se dara do coletor para o emissor, enquanto que nos transistores

PNP, a corrente sera conduzida do emissor para o coletor (Patsko, 2006). Para ocorrer

esta conducao, a base do transistor NPN deve estar polarizada em, pelo menos, +0,6V

da tensao do emissor (barreira de tensao de um diodo de silıcio), enquanto que em um

transistor PNP essa tensao deve ser -0,6V (Millman e Halkias, 1981). Desta maneira, a

ativacao dos transistores NPN e feita usando um sinal logico alto (HIGH) e dos PNP com

Page 19: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

19

Figura 7: Fluxo de corrente em uma Ponte H

Fonte: (Patsko, 2006)

sinal logico baixo (LOW).

Portanto, pode-se utilizar a polaridade de ativacao dos pares NPN e PNP para

utilizar estes como sendo chaves eletronicas que operam na regiao de saturacao. Sendo

que a ativacao dos transistores sera feita atraves das saıdas logicas do microcontrolador.

Segundo PATSKO, quando os transistores sao desligados, interrompendo a pas-

sagem de corrente do circuito, as propriedades indutivas do motor forcam a corrente a

continuar fluindo, o que pode danificar os transistores. Portanto, para evitar os possıveis

danos, e adicionado um diodo em paralelo com cada transistor, com a finalidade de drenar

a corrente que poderia forcar a passagem atraves dos transistores.

A ponte H que utilizamos foi construıda atraves de componentes discretos, ini-

cialmente conectados a uma protoboard e posteriormente soldados a uma placa de cir-

cuito impresso (PCI), a qual fica acoplada ao Arduino (denominada ”shield”), como visto

Figura 20.

Na Figura 8 pode-se ver o diagrama esquematico da ponte H construıda. Os

transistores TIP 31 e 32, PNP e NPN respectivamente, realizam a funcao de chaves

eletronicas e os transistores BC 548 e 558, NPN e PNP respectivamente, sao utilizados

para amplificar a corrente fornecida pelo microcontrolador, pois o mesmo suporta, no

maximo, 40mA em cada pino digital e sao necessarios de 50 a 100mA para saturar os

TIPs. Com essa configuracao, a queda de tensao entre coletor e emissor dos TIPs e de

aproximadamente 0,2V, totalizando uma diferenca de apenas 0,4V entre tensao a fornecida

pela bateria e a que chega aos motores. As regras de ativacao da ponte sao descritas na

Tabela 1.

Page 20: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

20

Figura 8: Circuito esquematico da ponte H

Fonte: Autoria Propria

Pino1 Pino2 MovimentoLOW LOW ParadoHIGH LOW Frente HIGH = 5V

LOW HIGH Tras LOW = 0V

HIGH HIGH Parado

Tabela 1: Ativacao da ponte H

2.6 Encoders

Embora as especificacoes dos motores (CC) sejam iguais, na pratica, sempre terao

uma diferenca de rotacao em cada um devido a imperfeicoes dos materiais e da tolerancia

dos componentes do circuito de controle. Dessa forma, este fator atrapalha muito o

projeto, ja que um seguidor de linha deve seguir precisamente a linha. Uma solucao para

este problema e conseguir um sensor capaz de detectar o defasamento da rotacao dos

motores.

O encoder e um sensor preso a um objeto em rotacao (como uma roda) para medir

sua rotacao (Society Of Robots, 2010). O encoder ira contar a quantidade de faixas pretas

e brancas, por exemplo, em um disco acoplado no eixo de rotacao. A quantidade de faixas

esta diretamente relacionada a precisao do encoder, sendo que um encoder com precisao

de 10 graus, deve ter 36 faixas alternadas entre preto e branco, ja que o disco possui 360

graus.

Page 21: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

21

Segue o exemplo de um disco do encoder de precisao de 10 graus, na Figura 9,

que construımos para o projeto:

Figura 9: Disco do encoder de 36 faixas

Fonte: Autoria propria

Portanto, utilizando um encoder em cada eixo dos motores, e possıvel medir

sua defasagem em graus e, consequentemente, a diferenca de velocidade entre as rodas.

Sabendo disso, atraves de um controle de tensao pode-se diminuir a rotacao mais rapida

para regular esta defasagem. Neste projeto, o controle foi feito atraves de PWM.

2.7 Modulacao por Largura de Pulso - PWM

O Arduino Duemilanove possui determinadas saıdas digitais que sao capazes de

utilizar modulacao por largura de pulso. Esta e uma tecnica usada para gerar sinais de

ondas retangular com largura do ciclo de trabalho ajustavel, que e o tempo que o sinal

fica em nivel logico alto, durante um intervalo de tempo. A frequencia de Modulacao de

Largura de Pulso (PWM) do Arduino Duemilanove e 500 Hz, perıodo de 2 milisegundos.

A Largura do pulso de trabalho pode ser ajustada na saıda digital em uma escala crescente

de 0 a 255, sendo estes valores o ciclo de trabalho nulo e completo respectivamente (Hirzel,

2011). Portanto, um valor de 127 tem um ciclo de trabalho de 50% do total, sendo esta

uma onda que permanece 1 milisegundo em nıvel alto e 1 milissegundo em nıvel baixo.

Para um melhor entendimento sobre esta escala, a Figura 10 contem exemplos de

PWM com valores variados. Cada linha verde na vertical representa 2 milisegundos.

Page 22: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

22

Figura 10: Controle por PWM

Fonte: (Hirzel, 2011)

A utilidade de se utilizar PWM e que atraves desta escala de ciclo de trabalho

e possıvel conseguir controlar o nıvel de tensao media. Portanto, este efeito poderia ser

utilizado para acender um LED, utilizando PWM desde 0 ate 255, durante um intervalo

de tempo o que daria um efeito de degrade de luminosidade crescente ao LED.

2.8 Sensores de Refletancia

Um sensor de refletancia consiste em um circuito eletronico que seja capaz de

detectar o quao reflexiva e a superfıcie atraves de um raio de luz incidente. Sendo assim,

um LED, ver secao 2.2, infravermelho sera o emissor do feixe de luz a uma determi-

nada superfıcie, que neste projeto sera o labirinto composto por regioes pretas e brancas.

Sabendo, atraves da Fısica, que uma superfıcie preta absorve grande parte da luz incidente

enquanto a superfıcie branca reflete grande parte, pode-se usar o fototransistor, devido

suas caracterısticas explicadas na Secao 2.3, como receptor dos raios de luz refletidos em

ambas as superfıcies.

Na Figura 11 sao ilustrados dois pares de sensores, sendo que cada par consiste

em um receptor - fototransistor - e um emissor - LED infravermelho. O emissor incide

um feixe de luz sobre a superfıcie, representado atraves das linhas contınuas, o qual e

formado por varios raios de luz. Na superfıcie preta grande parte da luz e absorvida,

Page 23: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

23

porem ha uma fina camada de plastico sobre a fita utilizada, o que faz com que parte da

luz reflita no mesmo angulo incidido, de acordo com a lei da reflexao. Essa luz refletida

tem baixa intensidade, logo nao influencia muito a leitura. Ja na superfıcie branca grande

parte da luz e refletida, de modo difuso por ser uma superfıcie irregular, o que nao nos

garante exatamente qual a porcentagem da luz incidente que sera refletida ao receptor.

Entretanto, quanto mais perto do emissor ele tera uma maior probabilidade de receber

os raios refletidos. E atraves desse princıpio que e possıvel detectar as linhas pretas do

labirinto, ou seja, caminhos possıveis pelos quais o robo pode percorrer.

Figura 11: Funcionamento dos sensores de refletancia

Fonte: Autoria propria

Um problema detectado foi que os primeiros fototransistores comprados tinham

alta sensibilidade em suas laterais, o que fazia com que eles detectassem raios refletidos

por outros emissores alem do seu par e tambem que detecte raios emitidos pela lateral do

seu par emissor, independente da superfıcie. Os emissores foram envoltos com fita preta,

para diminuir seu angulo de incidencia, e o problema foi resolvido. Porem, posteriormente,

a placa com os sensores foi perdida e novos componentes foram comprados. Esses novos

fototransistores nao apresentaram o mesmo problema e a protecao externa foi deixada de

lado.

A Figura 12 representa o diagrama esquematico do circuito utilizado como sensor

de refletancia. Cada par de sensores corresponde a um circuito deste, sendo que sua

alimentacao e a leitura analogica do pino Vout e feita pelo Arduino.

Page 24: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

24

Figura 12: Circuito esquematico dos sensores de refletancia

Fonte: Autoria propria

2.9 Algoritmos de decisao

O algoritmo de decisao e responsavel por receber dados provenientes dos sensores

e realizar a decisao de continuar reto ou de fazer alguma curva. Porem, essa decisao nao

e tao trivial ja que se trata de um labirinto e, caso for encontrada alguma encruzilhada, o

robo deve decidir por qual caminho seguir. Alem destas tomadas de decisoes, e importante

que o algoritmo, de alguma forma, forneca um caminho direto ate o ponto final. Nesta

secao serao explicados os algoritmos estudados para a resolucao do labirinto.

Inicialmente a equipe pensou em duas solucoes: o algoritmo do caminho mınimo

de Dijkstra (Cormen et al., 2002) e o de Busca em largura (Cormen et al., 2002), porem,

mais tarde foi encontrado e adotado um terceiro algoritmo denominado de “Regra da

mao” (Vannoy, 2009). A Tabela 2 mostra as principais vantagens e desvantagens de cada

algoritmo. Em seguida, sera apresentada uma breve explicacao de cada um desses e o

motivo de ter sido ou nao escolhido.

2.9.1 Busca em largura

A primeira ideia apresentada pela equipe foi o algoritmo de busca em largura em

uma matriz de caminhos possıveis entre o ponto inicial e final do labirinto, o qual seria

percorrido pelo robo.

O funcionamento deste algoritmo e uma ideia basica: a partir de um ponto inicial,

e feita uma busca em todos os nos (caminhos) adjacentes - vizinhos - e para cada um

desses a busca se repete para todos os proximos nos adjacentes, e assim sucessivamente

Page 25: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

25

Busca em Largura Dijkstra Regra da Mao

VantangensDetermina o menorcaminho geral.

Determina o menorcaminho geral.

Determina o menorcaminho, do percor-rido.

Nao requer trata-mento de ciclos.

Nao requer trata-mento de ciclos.

Baixo consumo dememoria.Simplicidade.

DesvantagensAlto consumo dememoria.

Requer o mapa dolabirinto.

Requer tratamento deciclos.

Requer o mapa dolabirinto.

Nao determina omenor caminho geral.

Tabela 2: Comparacao entre os algoritmos

ate encontrar o ponto desejado, tornando-se uma especie de forca bruta, ja que a busca e

feita em todos os caminhos existentes, e o escolhido e o que achar o ponto final primeiro.

Para o armazenamento dos nos ja percorridos e a fim de obter o menor caminho possıvel

foi utilizada uma fila para auxiliar no gerenciamento de prioridade dos nos adjacentes. Ao

final do processo, isto e, quando o no final e encontrado, basta que um caminho contrario,

ou seja, do ponto final para o ponto inicial, seja percorrido para saber qual caminho da

matriz foi resultante do menor caminho atraves da forca bruta.

Com a matriz montada e executado o algoritmo e obtido o caminho mınimo, mas

isso nos limitaria quanto a forma do labirinto, ja que a cada simples modificacao feita

nos labirintos a matriz de caminhos teria que ser reconstruıda e o algoritmo executado

novamente. O principal problema encontrado foi o consumo de memoria para o armazena-

mento e processamento deste algoritmo, ja que o aumento nao seria linear ao crescimento

do labirinto, nos limitando assim ao tamanho do labirinto utilizado. Um outro problema e

a necessidade do conhecimento antecipado da matriz para poder executar este algoritmo,

sendo necessario a intervencao humana a cada modificacao no labirinto.

O proximo algoritmo que sera apresentado foi capaz de solucionar o problema

de memoria, ja que nao percorre toda a matriz, ou seja, todos os nos vizinhos do grafo,

apenas o caminho mınimo que liga dois pontos.

Page 26: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

26

2.9.2 Algoritmo de Dijkstra

O algoritmo de Dijkstra e um dentre varios que calcula o caminho mınimo en-

tre dois pontos distintos de um grafo, onde cada caminho possui um determinado peso,

pode-se pensar nesses pesos como sendo a distancia entre dois pontos que limitam este

caminho. O que torna esse algoritmo muito usado e eficiente e seu custo a maquina

(complexidade) e sua tomada de decisao partindo do princıpio dos algoritmos gulosos,

buscando sempre a decisao que parece otima no momento. Porem, para a execucao deste

algoritmo e necessario o conhecimento de todo o grafo antecipadamente, como no algo-

ritmo apresentado anteriormente.

Por um bom tempo esta foi a opcao escolhida pela equipe, porem, posterior-

mente foi encontrada uma nova solucao, a qual foi escolhida, pois nao era necessario o

conhecimento antecipado da matriz de caminhos e o consumo de memoria era menor ao

do algoritmo de Dijkstra.

2.9.3 Algoritmo “Regra da mao”

Este algoritmo foi considerado o mais adequado, ate o momento, para a solucao

dos problemas que a equipe possuıa, tanto com relacao a memoria, tanto quanto em

relacao ao processamento do microcontrolador. Alem de solucionar este problema, sua

ideia e implementacao sao simples. Porem, ha uma condicao: o robo primeiro tera que

explorar o labirinto, a fim de achar o ponto final, antes de realizar o calculo do caminho

mınimo a partir de um metodo de simplificacao; a exploracao e dada de acordo a regra

escolhida, que sera apresentada posteriormente. Pode-se dizer que este algoritmo tambem

e de forca bruta, porem, apenas na exploracao, ja que a partir da segunda vez que o robo

for colocado no mesmo ponto inicial ele ira percorrer o menor caminho a partir dos quais

ele explorou.

Para explorar o labirinto estipula-se qual regra usar, da mao esquerda ou da mao

direita:

• Mao esquerda

1. Sempre prefira virar a esquerda do que ir reto ou virar a direita.

2. Sempre prefira ir reto do que virar a direita.

Page 27: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

27

• Mao direita

1. Sempre prefira virar a direita do que ir reto ou virar a esquerda.

2. Sempre prefira ir reto do que virar a esquerda.

Figura 13: Regra da mao esquerda

Fonte: Autoria propria

Por mais que nao haja caminho a esquerda, como na Figura 13 na situacao 5), o

caminho tomado tende a esquerda, que no caso seria continuar reto.

Conforme e detectada uma decisao feita pelo robo (virar a esquerda, ir reto, virar

a direta ou voltar), a mesma e armazenada em um vetor, onde simultaneamente ocorrem

as simplificacoes para obter o menor caminho possıvel sobre os caminhos explorados. Estas

simplificacoes sao feitas da seguinte forma: caso o robo virar a esquerda, e armazenada a

letra ‘E’ no vetor, na proxima decisao supoe-se que o robo encontre o final de um caminho,

porem, nao e final do labirinto, entao ele volta (giro de 180o em cima de seu eixo) e e

armazenado ‘V’. Supoe-se novamente que a proxima decisao tomada e virar a esquerda,

armazena-se ‘E’ e e verificado que ocorreu a sequencia ‘E’, ‘V’ e ‘E’, a qual pode ser

simplificada com ‘R’ indicando que na proxima vez que o robo passar por este ponto ele

devera continuar reto.

Para facilitar o entendimento do que foi dito sobre o metodo de simplificacao dos

caminhos, observe a Figura 14.

Todos os passos, do 1) ao 4), poderiam ser simplificados como mostra no passo 5).

Utilizando este metodo o uso de memoria e consideravelmente inferior ao dos algoritmos

apresentados anteriormente, sendo este o escolhido pela equipe para resolucao do labirinto.

Page 28: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

28

Figura 14: Metodo de simplificacao de caminhos

Fonte: Autoria propria

A simplificacao apresentada na Figura 14 e apenas uma de um total de 12 out-

ras. Todas foram tabeladas pela equipe, como mostra a Tabela 3, porem, nesta tabela

as letras utilizadas para representar as tomadas de decisao foram expressas de acordo

a lıngua inglesa, ou seja, “L” para esquerda (left), “R” para direita (right), “S” para

frente (straight) e “U” para voltar (turn), diferentemente as letras utilizadas nas figuras

apresentadas anteriormente.

Conjunto SimplificacaoS U L RL U S RL U L SR U R SS U R LR U S LR U L UL U R U

L R R R S US R R R L UR L L L S US L L L R U

Tabela 3: Simplificacoes tabeladas pela equipe

Porem, algum dos loops encontrados pela equipe poderiam ser resolvidos com

algumas simplificacoes que nao foram implementadas no robo, as quais foram apresentadas

Page 29: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

29

na Tabela 4. Estas simplificacoes sao referentes a quadrados que sao explorados a partir

do centro de uma de suas arestas, ou seja, o robo comeca a explorar o quadrado ao

“meio”. Estas nao foram utilizadas devido a algumas regras que a equipe estipulou para

desenvolver o labirinto, fazendo com que este tipo de loop nao fosse implementado, embora

sao facilmente simplificados.

Conjunto SimplificacaoL R R R R L UR L L L L R U

Tabela 4: Simplificacoes nao tabeladas pela equipe

Page 30: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

30

3 Desenvolvimento do projeto

3.1 Infraestrutura

3.1.1 Chassi

A princıpio era necessaria uma infraestrutura mecanica para carregar o microcon-

trolador e os componentes eletronicos. Alem disso, era importante decidir a localizacao

do eixo central da caixa de reducao, que ira acoplar as duas rodas juntamente com os

dois motores. Era necessario tambem definir a localizacao dos sensores de refletancia.

Alem destas decisoes quanto a localizacao, a equipe nao conhecia a quantidade exata de

componentes eletronicos a serem utilizados. Por fim, foi montada uma estrutura simples,

apenas com o intuito de organizar o Arduino juntamente com a matriz de contatos e os

motores para ver como seria o comportamento do robo em movimento. Essa montagem

foi feita com papelao, conforme a Figura 15.

Figura 15: Chassi inicial - primeiros testes

Fonte: Autoria propria

Com a construcao desse prototipo a equipe concebeu uma forma inicial ao robo.

O proximo passo foi criar um chassi que suportasse tudo o que fosse preciso, inclusive

os sensores de refletancia que ficariam abaixo do carro. Um primeiro projeto formal do

chassi foi criado utilizando o software AutoCAD, o qual ficou como a Figura 16.

Page 31: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

31

Figura 16: Projeto CAD: Segundo chassi utilizado

Fonte: Autoria propria

Com estas medidas, foi feito o novo chassi, utilizando uma prancheta de madeira

que e utilizada normalmente como suporte para folha A4. O resultado e apresentado na

Figura 17.

Figura 17: Segundo chassi utilizado

Fonte: Autoria propria

Page 32: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

32

A equipe utilizou por algum tempo o chassi da Figura 17. Entretanto, apos

concluıda uma nova ideia de como fazer uma curva de 90 graus de forma eficiente, foi

necessario um novo chassi que tivesse o eixo de rotacao centrado. A explicacao da neces-

sidade do eixo no centro do chassi sera detalhada na Secao 3.2.3, que mostra o mecanismo

de transicao para iniciar/finalizar as curvas. Portanto, foi desenvolvido um novo chassi,

que atendesse esse requisito, dessa forma, segue na Figura 18 e a Figura 19, as quais

mostram uma visao superior e inferior, respectivamente, do projeto CAD.

Figura 18: Chassi atual - visao superior

Fonte: Autoria propria

Figura 19: Chassi atual - visao inferior

Fonte: Autoria propria

Page 33: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

33

Com o projeto CAD pronto a equipe pode montar defenitivamente o chassi final

(atual) do robo, o qual e mostrado na Figura 20.

Figura 20: Chassi atual

Fonte: Autoria propria

3.1.2 Labirinto

O labirinto e construıdo utilizando-se de um material para ser usado como fundo

branco (cartolina) e outro para os caminhos possıveis que sao demarcados por linhas

pretas (fita isolante). O mesmo sera constituıdo de linhas ortogonais e sem inclinacao;

deve existir um espacamento mınimo a cada segmento de linha para que o robo consiga

realizar a curva. Inicialmente o lairinto nao possuıa loops, ou seja, nao havia a preocupacao

de o robo entrar em ciclos, porem, com adaptacoes no algoritmo de decisao foi possıvel a

incorporacao destes.

Com a incorporacao de ciclos no labirinto houve uma preocupacao a ser levada

em conta: nao se construir ciclos infinitos, ou seja, aqueles que, por mais que o robo

mude sua regra de decisao, nunca conseguira sair do mesmo. A equipe tentou observar

padroes para se definir esse tipo de ciclo, a fim de quando fosse detectado o padrao, o robo

tomaria uma decisao diferente. Porem, todos padroes encontrados nao eram verdadeiros,

Page 34: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

34

ou seja, sempre havia um contraexemplo que se aplicado este padrao poderia acarretar

serios problemas em simplificacoes futuras.

Com este problema foi decidido que nao poderia haver loops infinitos, apenas

ciclos que o robo poderia entrar e sair, como por exemplo: um quadrado em que a entrada

seja a mesma que a saıda.

3.2 Controle

O objetivo desta secao consiste em explicar a parte logica e funcional de controle

denvolvida neste projeto. Sucintamente, as variaveis de controle do hardware sao os

dados obtidos dos sensores de refletancia juntamente com o controle de PWM, conforme

o esquema na Figura 2.

3.2.1 Controle por PWM

Neste projeto o PWM foi utilizado para manter o robo movendo-se em linha reta,

fazendo o controle de tensao em cada um dos motores atraves de dois pares de sensores

de refletancia que detectarao quando o robo nao esta centralizado em relacao a linha,

suprindo a necessidade de se utilizar encoders. Estes dois sensores foram posicionados

estrategicamente, exatamente na extremidade da largura da linha, para alinhar o centro

do robo com o centro da faixa que o robo deve seguir. Dessa forma, sempre que a leitura for

de uma superfıcie branca e indicado que o robo esta caminhando em linha reta. Quando

um dos sensores faz a leitura de uma superfıcie preta, significa que o robo nao esta alinhado

e o vetor direcao e dado por este sensor que esta fazendo a leitura da superfıcie preta.

Foi utilizado o conceito de que quando o robo esta andando em linha reta o

vetor direcao do mesmo e paralelo ao vetor direcao do centro da linha. Portanto, toda

vez que este vetor nao estiver centralizado uma rotina e disparada no microcontrolador,

verificando para onde o vetor direcao esta apontando e o corrige a velocidade dos motores

ate obter a direcao paralela ao centro da linha. Esta correcao e feita aplicando uma escala

de PWM decrescente no motor localizado no mesmo lado do sensor que esta fazendo

a leitura de superfıcie preta. Isto faz com que o robo mude levemente sua trajetoria,

corrigindo a direcao ate que este sensor faca a leitura de uma superfıcie branca. Dessa

forma, conclui-se que o vetor direcao do robo esta paralelo ao vetor direcao do centro da

fita.

Page 35: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

35

Normalmente, apos o robo fazer uma curva, o vetor direcao nao estara central-

izado com a linha, tal como e exemplificado na Figura 21.

Figura 21: Saıda de curva

Fonte: Autoria propria

Na Figura 21, os dois sensores sao formados por retangulos verde e cinza, sendo

o receptor e o emissor respectivamente. No instante 1), o robo estava virando para a

direita e percebe a descentralizacao, atraves da leitura da superfıcie preta no sensor do

lado do motor direito. No instante 2), a escala decrescente de PWM e aplicada no motor

do mesmo lado do sensor que esta lendo a superfıcie preta, no caso, o motor direito.

Portanto, os motores estao com velocidades diferentes, o que vai provocar uma rotacao

para o lado do motor que esta com a escala reduzida, conforme e indicado atraves das

setas na imagem. No instante 3), como o robo ainda esta descentralizado, a escala de

PWM e ainda mais reduzida. No instante 4), o robo percebe que o vetor direcao esta

paralelo ao vetor direcao central da linha e portanto, desativa a escala de reducao de

PWM.

Na Figura 21 e mostrada uma situacao em que o robo detecta uma curva para

a direita e a faz na forma determinada, porem, para a realizacao da mesma nao e tao

simples como mostra a figura. Na Secao 3.2.3 sera apresentado com detalhes a forma que

o robo define o fim de uma curva, a fim de iniciar o controle de PWM como e mostrado

na Figura 21. Porem, primeiramente sera mostrado como estao dispostos os sensores de

refletancia, para depois apresentar o conceito de Transicao para fim de curva.

Page 36: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

36

3.2.2 Disposicao dos sensores

Os sensores de refletancia devem ser dispostos de uma forma que permita a mel-

hor deteccao das linhas pretas possıvel ao robo, ja que com a velocidade do mesmo a

leitura dos sensores nem sempre sera 100% precisa como prevista na teoria. Inicialmente

a configuracao utilizava tres pares de sensores alinhados um ao lado do outro por um

espacamento de 1 cm, como mostra a Figura 22. A equipe acreditava que com esta

disposicao era possıvel fazer o controle e o alinhamento. O controle foi possıvel, mas o

problema encontrado foi quanto ao alinhamento: por mais reto que fosse o caminho, o

robo nao conseguia permanecer alinhado, pois o espacamento entre os sensores era grande

comparado a largura da faixa preta e ao espacamento utilizado na placa de sensores ao

atual, que sera explicada posteriormente, assim como a diferenca na rotacao dos motores

(ja que nao sao identicos), fazendo com que o mesmo se movesse em zig zag.

Figura 22: Placa com 3 sensores

Fonte: Autoria propria

Para tentar contornar este problema, a equipe optou por acrescentar mais dois

pares de sensores. Estes pares sao exclusivamente para fazer o controle do PWM, man-

tendo o alinhamento. Atualmente ha 5 sensores, sendo um central e dois laterais, para

fazer controle e tomada de decisao de curvas e outros dois, denominados pela equipe como

“meios”, para controlar o PWM. A Figura 23 mostra a atual placa de sensores, com a

identificacao de cada.

Sera detalhado o funcionamento dos sensores laterais juntamente com o central

para a tomada de decisao pelo algoritmo utilizado. A seguir sera mostrada uma imagem

contendo todos os 8 possıveis casos em que os sensores atraves de seus valores de leituras

aonde deverao tomar uma decisao.

Conforme o Algoritmo Regra da Mao (Vannoy, 2009) para tomada de decisao, os

Page 37: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

37

Figura 23: Placa com 5 sensores

Fonte: Autoria propria

tres sensores (laterais e central) sao exibidos na Figura 24. Nesta figura, em cada quadro

sao mostrados duas setas, uma azul e uma vermelha, sendo respectivamente o estado

anterior da decisao e posterior a decisao tomada devido a multipla escolha existente. Esta

decisao e tomada de acordo com a leitura dos sensores, conforme indicado na legenda,

sendo que “1” ou “0” significam respectivamente leitura de superfıcie preta e branca.

Existem 5 casos de decisao que permitem multipla escolha, isto e, o robo tem a

opcao de escolher por no mınimo 2 caminhos. Entretanto, a escolha a ser tomada depende

de qual Regra da Mao que o robo adotou, direita ou esquerda. Partimos do pressuposto

que o robo esta utilizando a Regra da Mao esquerda e portanto, na Figura 24, os quadros

enumerados de 1 a 5 ilustram esses casos, observe tambem a leitura dos sensores na

legenda para entender porque a decisao foi tomada de acordo com o Algoritmo.

Alem destes 5 casos, existem mais 3 casos basicos, enumerados de 6 a 8, que

possuem apenas uma escolha, conforme explicado na decisao do Algoritmo.

3.2.3 Definindo final de curva - transicao

Foi citado na Secao 3.2.1 sobre a definicao de fim de curva que e necessario fazer

para o inıcio do controle de PWM apos o termino de uma curva e tambem, na Secao 3.1.1,

sobre a necessidade de desenvolver um chassi que contenha o eixo de rotacao centralizado,

para a realizacao mais eficiente de uma curva de 90 graus desde o inıcio ate o termino da

mesma. Ambas citacoes apresentam o conceito de “Transicao” para definir o fim de uma

curva, o qual sera apresentado nesta secao.

O conceito de transicao e referente ao estado em que o robo tem que se apre-

sentar para que seja decidido quando uma curva terminou. Esta informacao e de plena

Page 38: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

38

Figura 24: Casos de tomada de decisao

Fonte: Autoria propria

importancia devido a forma em que a programacao do robo foi implementada, deixando

evidente quando o mesmo esta em linha reta ou em curva, a fim de evitar decisoes inde-

sejadas enquanto se realiza a curva, devido ao movimento dos sensores sobre a superfıcie

branca ou preta.

Quando o robo esta em linha reta o controle de PWM esta agindo com o intuito

de alinhar o mesmo; quando e detectada uma tomada de decisao, onde um ou os dois

sensores laterais estao avistando preto, o robo passa por uma lista de possıveis decisoes,

dependentes das leituras dos sensores, e caso a decisao seja realizar uma curva o robo entra

em um estado em que, independente do que os sensores leiam, nao deve tomar nenhuma

decisao, a menos que se complete uma transicao especıfica, ou seja, quando um conjunto

de sensores (que sera mostrado posteriormente) passa de uma leitura de branco para uma

leitura de preto.

Este conjunto de sensores sempre e composto pelo sensor central e o sensor do

meio (os mesmos que controlam o PWM) referente ao lado da curva feita, como por

exemplo: caso a curva seja para a direita, os sensores que deverao indicar se a transicao

foi completa ou nao sao o sensor central e o sensor direito do meio.

Page 39: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

39

Uma vez que se inicia a curva para a direita o sensor direito do meio esperara ate

que sua leitura passe de branco para preto, nao dando importancia para a mudanca de

preto para branco. Quando o mesmo detecta essa mudanca o proximo a esperar por essa

mesma transicao (branco para preto) e o sensor central, sendo que quando este realizar

esta deteccao a transicao e dita “completa” e o estado do robo passa de “curva” para

“reta” ativando o controle de PWM e a permissao de tomadas de decisoes novamente.

Todo este processo pode ser melhor observado na Figura 25 onde a faixa em

formato de “L” e em azul representa a curva e as setas indicam quais sensores fazem

parte do conjunto que devem completar a transicao.

Figura 25: Transicao - definindo fim de curva

Fonte: Autoria propria

Este metodo foi adotado devido a forma com que o robo termina a curva, sendo

necessario um controle de PWM sutil, evitando que o mesmo venha a andar na forma

de zig zag por um perıodo de tempo, possibilitando a deteccao de curva mesmo em uma

reta, caso o controle de PWM nao conseguir estabilizar o robo rapidamente.

Page 40: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

40

Para que este metodo seja aplicado controladamente e de uma forma um tanto

quanto perfeita foi necessario aplicar uma frenagem brusca ao robo antes de realizar a

curva e ao termino da mesma, possibilitando uma leitura mais precisa dos sensores e

evitando que a inercia atrapalhasse a movimentacao correta do carro.

Page 41: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

41

4 Problemas Encontrados

Ponte H A construcao da ponte H, a princıpio, foi problematica porque ate o momento

a equipe nao tinha estudado transistores. Dessa forma, ficou complicado o entendimento

do circuito. Mesmo com a explanacao de PATSKO, foram encontrados problemas porque

os transistores sugeridos sao BC548 e BC558, que nao conseguiram ativar devidamente

os motores. A solucao foi encontrada atraves da sugestao do professor Hugo Viera Neto

(Departamento Academico de Eletronica - UTFPR), que era substituir os transistores

BC558 e BC548 por TIP32 e TIP31. No entanto, o circuito estava consumindo muita

corrente da bateria 9V (nao recarregavel) para ativar os TIPs, gerando um alto custo com

baterias. Por isso, a equipe teve que pesquisar outras configuracoes de ponte H. A primeira

tentativa foi utilizar a configuracao Darlington, mas a queda de tensao nos transistores

era muito alta, em seguida encontrou-se outra solucao que, com algumas sugestoes do

orientador, se tornou a configuracao final.

Alinhamento sobre o caminho Inicialmente, a ideia era usar apenas 3 pares de

sensores infravermelhos, a qual a equipe havia confianca sobre o funcionamento, porem,

apos os primeiros testes foi constatado o problema de alinhamento do robo sobre a linha

dos caminhos. Seu movimento era em forma de zig zag fazendo com que muitas vezes o

robo nao detectasse a curva, devido a sua inclinacao em relacao a trajetoria. A solucao

encontrada, a partir de uma conversa com o orientador, e utilizada na versao atual do

robo foi a utilizacao de 5 pares de sensores, sendo 2 para o controle por PWM e outros

3 para controle da tomada de decisao atraves do algoritmo. Porem, houve tambem a

tentativa de utilizacao de enconders, os quais geraram novos problemas.

Encoders O principal problema encontrado em utilizar encoders foi conseguir um su-

porte mecanico fixo, em uma boa posicao dos sensores, para se fazer uma leitura precisa

do disco preto e branco. Outro problema consiste na criacao do disco do encoder e sua

eficiencia, tal como dito na secao 2.6. Foi utilizado um disco com precisao de 10 graus,

portanto o disco do encoder possui 36 faixas, sendo que o tamanho do sensor que fara a

leitura dos faixas ja estava praticamente no limiar de uma faixa. Dessa forma, a precisao

da parte mecanica onde se acopla o disco e extremamente essencial ja que o sensor que

fara a leitura esta em uma regiao bem limitada. O resultado de tudo isso foi que nao

Page 42: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

42

houve sucesso na construcao do suporte, preso com cola quente, gerando oscilacoes na

leitura dos sensores. Felizmente, o controle por PWM supriu a necessidade dos encoders.

Posicao dos Sensores Apesar da equipe ter planejado a posicao e a disposicao ideal

dos sensores no chassi, ao testar o robo, o tempo de resposta dos motores faz com que os

movimentos nao ocorram como foram idealizados. Ao detectar uma curva, por exemplo,

o robo deveria parar imediatamente uma roda e continuar a outra, porem a roda que

deveria parar ainda se move por inercia alguns centımetros, o necessario para o robo

perder o alinhamento com a faixa. Para resolver esse problema a equipe desenvolveu

um sistema de frenagem para as rodas, invertendo sua corrente por alguns milisegundos,

determinados empiricamente, sem que elas realmente rodem para tras.

Motores Utilizados Um problema grave encontrado foi em relacao aos motores de

corrente contınua utilizados; quando este recebe uma tensao maior que a nominal ira

gerar mais rotacoes, sendo que, na Figura 26 percebe-se a nao-linearidade da variacao de

tensao em relacao a rotacao do motor. Dessa forma, este problema e grave porque o robo

nao possui um regulador de tensao para a alimentacao ideal dos motores que e 3V. Sendo

assim, quando a tensao das baterias e superior a 3V, a direcao do robo torna-se, de certa

forma, instavel e prejudicial para as leituras dos sensores, influenciando desde tomadas de

decisao e a realizacao da curva, por instabilidade da rotacao independente dos motores,

ate o controle de PWM, ja que este controle foi calibrado a tensao nominal dos motores.

Figura 26: Variacao da rotacao do motor CC em relacao a tensao aplicada

Fonte: (Borrell, 2009)

Page 43: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

43

Loops problematicos Outro problema importante observado e a que o labirinto pode

conter loops problematicos para o Algoritmo Seguidor de Parede, como por exemplo na

Figura 27.

Figura 27: Exemplo de loop problematico

Fonte: Autoria propria

Para entender o problema, basta tomar qualquer referencial inicial em uma das

pontas neste labirinto e colocar o ponto final no interior do quadrado, tal como e indicado

pelo vetor na Figura 27. Executando o Algoritmo da Regra da Mao Esquerda, percebe-se

que o robo literalmente entrara em loop, fazendo o seguinte percurso: left, left, turn, left,

left, turn, left, left, turn, e assim continuara. Se o Algoritmo da Regra da Mao Direita

fosse utilizado, o problema persistiria. Dessa forma, este loop deveria ser tratado de outra

forma para encontrar o caminho final. Forma esta que a equipe desconhece ate a data de

conclusao deste documento.

Page 44: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

44

5 Conclusao

Com o esforco individual de cada um dos integrantes e o compartilhamento de

conhecimentos e ideias foi possıvel realizar todos os objetivos propostos pela equipe sobre

o projeto. Desde uma simples montagem de um chassi para suportar os componentes

basicos do robo, ate ao ponto de o mesmo ser qualificado como seguidor de linha. Em

seguida, o planejamento para possibilitar o robo a fazer curvas de 90 graus e tomadas de

decisoes, incluindo a desenvolvimento de uma placa com a disposicao dos sensores, e a

construcao de um shield sobre o Arduino para minimizar espaco e problemas de conexao

entre componentes. Por fim, o robo foi qualificado como solucionador de labiritos 2D,

sendo submetido a varios testes sobre os mais diversos trajetos e labirintos, como foi

proposto no inıcio do desenvolvimento do projeto, abrangendo quase a totalidade das

possıveis simplificacoes, inclusive loops.

Alguns fatores ainda podem ser melhorados no robo, a fim de aumentar seu

desempenho e diminuir a necessidade de correcoes da trajetoria. Os principais sao: con-

strucao de um suporte mais apropriado para o ajuste de altura e deslocamento da placa de

sensores; elaboracao de um sistema de controle de tensao das baterias, fazendo com que

chegue uma tensao mais constante possıvel nos motores e que indique quando elas estejam

descarregadas; e tambem a substituicao das rodas atuais (off-road) por um modelo mais

estreito, com o intuito de diminuir o atrito com a superfıcie, facilitando a realizacao das

curvas.

Em fim, a realizacao deste projeto foi de grande satisfacao a equipe, pois, desde

o inıcio do curso de Engenharia de Computacao os integrantes da equipe possuiam um

objetivo em comum: produzir algo concreto, que poderia ser mostrado como fruto de

um trabalho longo e difıcil. Principalmente por estes estarem no inıcio do curso e terem

pouca experiencia com a parte mecanica. Porem, a dedicacao e esforco, assim como a

curiosidade, de todos os integrantes foram fundamentais a realizacao bem sucedida deste

projeto.

Page 45: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

45

Referencias

M. Yakut Ali, S. G. M Hossain, H. Jamil, e M. Z. Haq. Development of Automated

Guided Vehicles for Industrial Logistics Applications in Developing Countries Using

Appropriate Technology. www.ijens.org/108702-1919%20IJMME-IJENS.pdf, Marco

2010.

Arduino Team. http://arduino.cc, Abril 2011.

Adam Borrell. Tamya “Toy” Motor Testing. http://www.pololu.com/docs/0J11/all,

2009.

Robert Boylestad e Louis Nashelsky. Dispositivos Eletronicos e Teoria dos Circuitos.

LTC, 6a edition, 1999.

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, e Clifford Stein. Algoritmos:

teoria e pratica. Campus, 2a edition, 2002.

Jeanne Dietsch e Bill Torrens. Self-Guided Vehicle with Enhanced Con-

trol System. http://www.growthconsulting.frost.com/web/images.nsf/0/

40254B68ACBF00CF652572BF00405F85/$File/TI%20Alert%20NA.htm, Janeiro 2007.

Timothy Hirzel. PWM. http://www.arduino.cc/en/Tutorial/PWM, Marco 2011.

Flavio Honda. Motores de Corrente Contınua - Guia rapido para uma especificacao pre-

cisa. Technical report, Siemens, 2006.

Irving L. Kosow. Maquinas Eletricas e Transformadores. Globo, 4a edition, 1982.

Jacob Millman e Christos C. Halkias. Eletronica - Dispositivos e Circuitos, volume 1.

McGraw Hill do Brasil, 1981.

Luıs Fernando Patsko. Tutorial Montagem da Ponte H. http://www.maxwellbohr.com.

br/downloads/robotica/mec1000_kdr5000/tutorial_eletronica_-_montagem_

de_uma_ponte_h.pdf, Dezembro 2006.

Society Of Robots. Sensors - Robot Encoder (Slot, Rotary, Linear). http://www.

societyofrobots.com/sensors_encoder.shtml, 2010.

Page 46: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

46

Rodrigo Ferreira De Souza. Fabricacao de AGVs (Veıculos Guiados Automaticamente) de

Baixo Custo. http://www.mecatronicaatual.com.br/secoes/leitura/700, Janeiro

2011.

Richard T. Vannoy. Teaching a Robot to Solve a Line Maze. http://www.pololu.com/

file/download/line-maze-algorithm.pdf?file_id=0J195, Abril 2009.

Page 47: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

47

A Cronograma

Figura 28: Cronograma

Page 48: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

48

B Orcamento

Na Tabela 5 sera apresentado o orcamento feito para o desenvolvimento do projeto

proposto pela equipe. Todo material utilizado para a producao do robo do inıcio ao

atual foi computado no orcamento abaixo, incluindo a quantia comprada apos a falha ou

desgaste dos mesmos.

Produto Quantidade Valor (R$)Transistor TIP31C 4x 0,87Transistor TIP32C 4x 1,08Transistor BC558 4x 0,80Transistor BC548 4x 0,70Emissor infravermelho 20x 0,74Receptor infravermelho 20x 0,75Diodo 1N4007 10x 0,10Resistores 20x 0,03Protoboard 550 furos 1x 14,65Fita isolante 1x 4,70Cartolina branca 4x 0,80Caixa de reducao 1x 57,00Motores 2x 10,00Rodas 3x 25,00Arduino 1x 100,00Bateria 9V 4x 10,00Pilhas Recarregaveis 4x 6,25Total R$ 364,75

Tabela 5: Orcamento - Projeto proposto

Page 49: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

49

C Relatorio reunioes

05/03 Pesquisamos o que era preciso para construir um robo, pois todos tinham interesse

em projetar um.

Como todos ja tinhamos experiencia com Arduino, e ja temos este microcontrolador

iremos adotar esse para o controle do robo.

Decidimos fazer um robo seguidor de linha capaz de resolver um labirinto formado

por segmentos de linhas ortogonais.

Analisamos brevemente se o projeto que queremos fazer seria economicamente vi-

avel.

Estudamos algoritmos que resolvem labirinto.

09/03 Definimos a lista de componentes que seriam necessarios para infraestrutura:

– 5 fototransistors (receptor);

– 5 LED’s infravermelhos (emissor);

– 2 motores DC ate 6V;

– 2 Rodas + eixo;

– Caixa de reducao;

– Chassi para acomodacao dos componentes;

– 1 protoboard;

– 4 Transistores NPN e PNP (pontes H);

– Arduino - ATMega328 Duemilanove;

– Fios de diversas cores;

– Resistores e Diodos;

– Fita Isolante e cartolinas brancas (labirinto);

Foram aproveitados alguns componentes que ja possuiamos, por exemplo, rodas,

caixa de reducao e motores DC.

12/03 Projetamos o diagrama eletrico do circuito. Interacao com os sensores, que sao

emissores e receptores infravermelho e tambem a organizacao do chassi.

Page 50: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

50

Primeiramente projetamos um prototipo do chassi em CAD para suportar o acopla-

mento de um protoboard evitando a necessidade de um circuito impresso inicial-

mente.

Construcao das pontes H utilizando transistores BC548 e BC558, porem foi detec-

tado insuficiencia de corrente nos motores levando a procura de um novo modelo de

transistor para tal tarefa.

19/03 Foi escolhido, com a ajuda do professor Hugo, transistores do modelo TIP31C e 32C

para a construcao das pontes H. O circuito foi montado na protoboard e testado o

seu funcionamento com o arduino e os motores. Ao medirmos a tensao nos motores

vericamos que ele estava trabalhando com 4V, sendo que o especificado era 3V,

entao colocamos um diodo 1N4007 na entrada da alimentacao para diminuir essa

subretensao.

Montamos a primeira placa com os sensores de refletancia. O circuito foi soldado

em uma placa perfurada, contendo 3 pares de fototransistores e LEDs em linha.

26/03 Orientacao do Scandelari sobre as especificacoes do esquema dos sensores (intensi-

dade em relacao a sensibilidade) e tambem sobre o arranjo dos sensores.

Discutimos os algoritmos para resolucao do labirinto. Inicialmente tinhamos a ideia

de mapear todo o labirinto e, em seguida, aplicar o algoritmo de Dijkstra para

encontrar o menor caminho, porem isso exigiria um grande processamento e bastante

memoria do microcontrolador. Porem, encontramos umalgoritmo chamado “Regra

da Mao Esquerda”, no qual o robo segue a linha como se fosse um muro, mantendo

sempre a mao esquerda nele. Deste modo, em um labirinto simplemente conexo,

com pouco processamento o robo consegue chegar ao final e, aplicando algumas

simplificacoes no caminho percorrido, e possıvel determinar o menor caminho obtido

durante a exploracao.

02/04 O circuito foi totalmente montado e testado. O robo conseguiu seguir uma linha,

porem tinha dificuldade em fazer curvas orotgonais e em andar em linha reta.

A dificuldade em seguir linha reta se deve a defasagem da rotacao entre os dois

motores, entao foi levado em conta a possibilidade do uso de Encoders e/ou controle

por PWM para sanar tal problema.

Page 51: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

51

Ja a dificudade em fazer curvas ortogonais e devido a haver apenas 3 sensores, o

que nao permite identificar todas as interseccoes possıveis. Para isso planejamos a

contrucao de um circuito com 5 sensores.

09/04 Foi testada a hipotese do uso de Encoders para controlar a defasagem nas rotacoes

dos motores, para evitar o ”samba”do robo. Porem a ideia foi totalmente descartada

com a utilizacao do controle por PWM, ja presente no Arduino, levando a equipe

grandes avancos quanto ao controle da defasagem.

Em funcao da utilizacao do PWM e dos novos sensores (5 no total), a programacao

e tomadas de decisao na trajetoria do robo foi totalmente reestruturada.

16-23/04 Apesar do grande avanco alcancado com os 5 sensores, o robo ainda apresentava

um problema em fazer curvas ortogonais. O seu eixo de rotacao nem a posicao dos

sensores foram planejados e, deste modo, ao terminar uma curva ele se encontrava

muito inclinado em relacao a linha, tendo trabalho para se realinhar.

Entao a equipe comecou a planejar outro chassi e uma nova configuracao para os

sensores, porem intercalando com a escrita da qualificacao.

07/05 Montagem do novo chassi em acrılico e placa de circuito impresso dos sensores. Para

acoplar esta placa ao chassi foram utilizados dois conjuntos de parafusos, porcas e

aroelas, fixos ao chassi, permitindo o ajuste do seu posicionamento.

09/05 Montagem da ponte H Darlington.

Enquanto nao esta pronto o “shield” da ponte H, a protoboard fica improvisada

acima do Arduino, apoiado pelas baterias.

11/05 Implementacao do algoritmo de simplificacao, ajuste da disposicao dos sensores e

tambem a implementacao da frenagem do motor como solucao para curvas eficientes.

14/05 Novas simplificacoes foram “descobertas” pela equipe, dando maior liberdade e se-

guranca na montagem do labirinto.

Planejamento de um labirinto definitivo, que sera utilizado ate o termino do projeto.

A utilizacao da protoboard suspensa sobre o Arduino esta influenciando mais do

que o esperado sobre o robo, principalmente nas frenagens pre e pos curva, princi-

palmente por seu peso e distribuicao sobre o Arduino, levando a equipe fazer varios

Page 52: ROBO EXPLORADOR DE LABIRINTOS 2D^paginapessoal.utfpr.edu.br/.../Monog-11-1-Robo-Explorador-Labirinto.… · ROBO EXPLORADOR DE LABIRINTOS 2D^ Monogra a do projeto de O cinas de Integra˘c~ao

52

ajustes a fim de testar o algoritmo de decisao e simplificacao em busca de possıveis

erros.

21/05 Foi montado o “shield” com as duas pontes H, o qual substitui a protoboard e reduz

significamente o volume e peso do robo. Substituimos o pack com 4 pilhas de Ni-MH

(4,8V) por duas baterias de Li-Ion em paralelo (3,7V). Com a nova configuracao da

ponte H a perda de tensao diminuiu de aproximadamente 1V para aproximadamente

0,3V.

28/05 Montamos outra PCI para colocar os Leds indicadores de direcao e um Buzzer para

alertar a tensao na bateria, e tambem tocara um musica ao final do percurso.

01-02/05 Um componente do carregador das baterias de Li-Ion entrou em combustao. Como

nao conseguimos identifica-lo, voltaremos a utilizar as pilhas de Ni-MH.

Implementamos a dupla verificacao para cada decisao a ser tomada. Isto se tornou

necessario para evitar decisoes precipitadas, devido ao ma posicionamento do robo,

identificado durante a verificacao dos dados salvos na EEPROM do Arduino. Tambem

foi implementado um metodo para que ele nao salvasse mais de uma vez a mesma

decisao, para salvar uma nova decisao ele deve ter vindo de uma reta.

O robo, agora ja pode ser chamado de Dijkstra Movel (ou UTcom1), resolveu pela

primeira vez um labirinto, mas ainda esta instavel.

03-04/06 Quando as pilhas estao com a carga completa (aproximadamente 4V), o robo nao

responde como o esperado, porem, apos abaixar um pouco a tensao (aproximada-

mente 3,7V), ele volta ao normal. Isso devido a curva de resposta dos motores.

Foram gravados e editados alguns vıdeos do robo percorrendo o labirinto para a apre-

sentacao. Tambem foram definidos alguns topicos importantes para a apresentacao

e os assuntos pendentes da monografia.