desenvolvimento de um robÔ perseguidor...

30

Upload: dinhthien

Post on 03-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ

ENGENHARIA DE COMPUTAÇÃO

FABIANO GUILHERME PRADO ARAÚJO

IGOR RODRIGUES PESSOA

RAFAEL GÓES TURCHENSKI

DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR DE

OBJETOS

Trabalho Acadêmico

Curitiba, 2011

Page 2: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

FABIANO GUILHERME PRADO ARAÚJO

IGOR RODRIGUES PESSOA

RAFAEL GÓES TURCHENSKI

DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR DE

OBJETOS

Trabalho apresentado à matéria de O�cina de

Integração 2, do curso de Engenharia de Com-

putaçao da Universidade Tecnológica Federal do

Paraná.

Prof.Hugo Vieira Neto

Prof.Mário Sérgio Freitas

Curitiba, 2011

Page 3: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

AGRADECIMENTOS

Agradecemos ao professor Hugo e ao professor Mario pela assitência dada durante as aulas

da disciplina. Agradecemos também aos nossos colegas pelo apoio e a ajuda oferecida

durante o desenvolvimento do projeto.

Agradecemos ao professor Hugo e ao aluno Fernando Padilha pelo empréstimo de

materiais (sensor e servomotor , respectivamente), o que viabilizou a construção do robô.

Page 4: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

RESUMO

ARAÚJO, Fabiano; PESSOA, Igor; TURCHENSKI, Rafael.Desenvolvimento de um robô

perseguidor de Objetos. Trabalho Acadêmico �Curso de Engenharia de Computação,

Universidade Tecnológica Federal do Paraná. Curitiba, 2011.

O trabalho a seguir consiste na construção e programação de um robô com o objetivo

de seguir um certo objeto que entre em movimento. Através de dois sensores sharp ran-

ger, o robô identi�cará a localização do objeto e, a partir disso, o seguirá. Os sensores

estarão sobre um servo motor, utilizado para auxiliar a varrer o terreno e encontrar o

objeto a ser seguido. O robô possuirá dois motores de 3V cada para locomoção, duas

fontes de alimentação, duas pontes H, e um Arduino, que executará o algoritmo.

Page 5: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

Lista de Figuras

1 Diagrama de Blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Imagem de um arduino[1] . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Imagem de um motor DC[4] . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Imagem de um servomotor[3] . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Esquema da ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Funcionamento da ponte H[9] . . . . . . . . . . . . . . . . . . . . . . . . . 14

7 Ilustração do processo de triangulação [6] . . . . . . . . . . . . . . . . . . . 15

8 Exemplos de PWM[2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

9 Esquemático da Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

10 Chassi visto de cima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

11 Chassi visto de baixo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

12 Circuito completo do robô. Autoria Própria. . . . . . . . . . . . . . . . . . 22

13 Primeiro Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

14 Segundo Cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

15 Detecção utilizando dois sensores . . . . . . . . . . . . . . . . . . . . . . . 25

Page 6: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

SUMÁRIO

1 Introdução 7

1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Fundamentação Teórica 10

2.1 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Motores DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3 Servomotores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.4 Ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.5 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.5.1 Sensor IR SharpRanger GP2D12 . . . . . . . . . . . . . . . . . . . 14

2.6 PWM - Modulação por largura de pulso . . . . . . . . . . . . . . . . . . . 15

3 Desenvolvimento 17

3.1 Montagem da ponte H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.1.1 Material Utilizado . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Montagem da parte mecânica do robô . . . . . . . . . . . . . . . . . . . . . 18

3.3 Montagem da parte eletrônica do robô . . . . . . . . . . . . . . . . . . . . 21

3.4 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4 Resultados 28

5 Considerações �nais 29

Page 7: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

7

1 Introdução

1.1 Objetivo

Nosso projeto consiste na criação de um robô autônomo que utiliza dois sensores

de distância por infravermelho (IR Sharp Ranger) para seguir um objeto em movimento e

manter-se a uma distância pré determinada. Esta distância segura deverá se situar entre

o intervalo de alcance válido nos sensores.

1.2 Motivação

Sensores são dispositivos indispensáveis e onipresentes em aparelhos eletrônicos

modernos. Com a evolução da indústria eletrônica houve uma redução do tamanho e

custo dos componentes e circuitos integrados, o que abriu novas possibilidades para a

construção de sistemas móveis inteligentes autônomos. Na robótica existem dois modos

de controle de robôs: o comportamento plani�cado e o reativo. O primeiro baseia-se na

criação de um modelo de mundo armazenado previamente no robô, enquanto o segundo

na reação ao ambiente externo através de sensores. Iremos, com este projeto, criar um

robô reativo, baseado em sensores de distância por infravermelho. Este robô tem como

função seguir um objeto e �car a uma distância deste, podendo ser alterado para servir

como um sistema de vigilângia, se for acoplado uma câmera em sua estrutura.

Este projeto, por ambicionar a construção de um robô autônomo, gera desa�os

na área da eletrônica digital, programação de microcontroladores e mecânica.

1.3 Metodologia

Para o desenvolvimento do projeto, dividimos nossas tarefas em três áreas distin-

tas: eletrônica, programação e mecânica. Na primeira foram colocados todos os problemas

relativos ao circuito envolvido no sistema, assim como pré-requisitos para a construção

deste (entendimento de transistores, inversores, ampli�cadores, capacitores, ruído gerado,

picos de corrente, reguladores de tensão, etc.). Na segunda, o algoritmo de controle do

robô propriamente dito e na terceira o projeto e construção do chassi, além da compre-

ensão do funcionamento de motores DC (relações entre torque e RPM,entre outros).

Separamos uma boa parcela do tempo de projeto para o estudo do funcionamento

Page 8: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

8

e características dos dispositivos pois não possuíamos qualquer base em eletrônica. Isto

foi necessário para que pudéssemos ter uma ideia mais concreta do escopo que nosso

projeto englobava e do tempo necessário para cumpri-lo. Após de�nirmos o objetivo do

projeto, de�nimos as barreiras abstratas que este objetivo acarretava e, gradualmente de-

compusemos estas barreiras em funcionalidades possivelmente adquiridas com hardwares

especí�cos [8].

Após estudo e discussão entre o grupo foram de�nidos os componentes principais

a serem utilizados no sistema:

• Protoboard

• Arduino

• 4 Pilhas

• Bateria

• 2 Motores

• 2 Servomotores

• 2 Sensores

• 2 Rodas

• Ballcaster

Estes componentes foram integrados de acordo com o Diagrama de Blocos, Figura 1.

Uma explicação mais detalhada dos componentes e do diagrama de blocos será

feita nos capítulos posteriores. E assim iniciamos os testes com os dispositivos e a escrita

da monogra�a.

Page 9: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

9

Figura 1: Diagrama de Blocos

Page 10: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

10

2 Fundamentação Teórica

2.1 Arduino

O Arduino Duemilanove foi utilizado como controle principal do nosso robô. É

uma placa baseada no microcontrolador Atmega328, possui 14 pinos para entrada ou

saída digital (dos quais 6 podem ser utilizados para gerarem sinais PWM de 8 bits) e 6

entradas analógicas. Para comunicação, o arduino dispõe de duas portas para a interface

assíncrona (UART). Uma grande vantagem desta plataforma é que o bootloader (interface

de programação para a placa) já vem incluso, logo não é necessário investir na compra

de um programador externo. O Arduino foi desenvolvido com o objetivo de ser de fácil

manipulação para aqueles que não têm experiência com software ou hardware. Tanto a

placa como o ambiente de desenvolvimento são chamados Arduino. Com ele é possível

criar projetos que reagem e interpretam fenômenos físicos mediante o uso de sensores. A

IDE (Integrated development environment) presente permite que o usuário possa escrever

e editar o código que será convertido em instruções para o microcontrolador executar.

A interface foi escrita na linguagem Java, que foi utilizada como base para os projetos

Processing e Wiring, e sua programação se assemelha muito à linguagem C/C++. A

placa Arduino pode ser vista na Figura 2.[1]

Figura 2: Imagem de um arduino[1]

2.2 Motores DC

O motor de corrente continua é uma máquina elétrica que transforma energia

elétrica em mecânica. Nesse caso, é fornecida energia elétrica aos condutores e ao campo

Page 11: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

11

magnético para que seja gerada rotação através da força magnética. As máquinas elétricas

sempre serão compostas de duas estruturas magnéticas:

• Estator(parte estacionária): é composto de uma estrutura ferromagnética com pólos

aos quais são enroladas as bobinas que formam o campo, ou de um imã permanente.

• Rotor(parte que gira): é um eletroímã constituído por um núcleo de ferro com

enrolamentos em sua superfície que são alimentados por um sistema mecânico de

comutação.[7]

Podemos observar a parte interna do motor na Figura 3. Para ter torque su�ciente

Figura 3: Imagem de um motor DC[4]

para começar a rotação, o rotor necessita da interação de seus imãs com os do estator para

que o giro comece. As forças de atração e repulsão fazem com que eles puxem e empurrem

os pólos, e assim se da o torque necessário. Giram cada vez mais rapidamente até que

Page 12: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

12

as cargas ou atrito ligados ao eixo reduzam o torque a zero. A partir daí, a velocidade

angular do motor se torna constante. Um motor simples consiste em uma bobina que

gira entre dois imãs permanentes. Os pólos magnéticos da bobinas são atraídos pelos

pólos opostos dos imãs �xos. Sendo assim, ela gira no sentido buscando �car mais perto

desse imã, mas quando está perto de alcançá-lo, o sentido da corrente muda, fazendo com

que seja atraído pelo outro imã e repelido pelo mais perto. Nos motores DC, como os

utilizados por nós em nosso trabalho, é necessário a utilização de um comutador em seu

interior para a mudança periódica de polaridade, necessário para a mudança do sentido da

corrente no momento certo. O comutador são duas placas condutoras curvadas e �xadas

no eixo do rotor. Os terminais do enrolamento da bobina são conectados nessas placas.

Através de escovas acopladas a ele, ocorre a mudança da corrente no momento em que o

comutador troca o contato entre as escovas.

2.3 Servomotores

Servo motor é uma máquina que recebe um sinal de controle, veri�ca a posição

original, e depois atua no sistema em busca da posição desejada. É um motor que não

gira inde�nidamente, pode fazer a rotação de apenas 180 graus, mas são extremamente

precisos. Ele é constituído por três partes principais: Sistema atuador, sensor e circuito

de controle. O primeiro é um motor, geralmente de corrente contínua, e um conjunto de

engrenagens que forma uma caixa de redução com uma relação longa, pra aumentar o

torque. O sensor é normalmente um potenciômetro acoplado ao eixo do servo, e através

da sua resistência, é possível determinar a sua posição. E o circuito de controle é um

circuito composto de componentes eletrônicos discretos ou circuitos integrados que tem a

capacidade de receber o sinal do sensor e o sinal de controle e posicionar o motor no eixo

da direção desejada. Na Figura 4 podemos observar um servomotor.

Figura 4: Imagem de um servomotor[3]

Page 13: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

13

2.4 Ponte H

A ponte h é um circuito eletrônico formado por 4 chaves que com diferentes

combinações fazem com que uma corrente possa �uir em sentidos opostos. Esse circuito

é muito utilizado no controle de motores de corrente contínua, pois pode-se fazer o motor

girar tanto para o sentido horário quanto no sentido anti-horário. A ponte H pode ser

montada manualmente, mas também é possível encontrar circuitos integrados com essa

função. Na Figura 5 segue um esquema simpli�cado da mesma.

Figura 5: Esquema da ponte H

Quando as chaves C1 e C4 estiverem fechadas e C2 e C3 estiverem abertas, o

motor girará em um sentido. Caso contrário, C2 e C3 estiverem fechadas e C1 e C4 esti-

verem abertas, o motor girará no sentido oposto. É preciso ter um cuidado especial para

que as chaves C1 e C3 , assim como a C2 e a C4 não estejam fechadas simultaneamente,

o que causaria um curto na fonte. Isso é mostrado na Figura 6.

Page 14: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

14

Figura 6: Funcionamento da ponte H[9]

Em nosso projeto, inicialmente foi cogitado usar o circuito integrado L298 para

realizar as funções da ponte H, porém após alguns problemas com seu funcionamento,

decidimos construí-la com componentes discretos. Em nosso circuito estão inclusas duas

pontes H, uma para cada motor, pois deste modo podemos controlar a direção e a inten-

sidade do movimento do nosso robô.

2.5 Sensores

Há diversos tipos de sensores: de luz, som, temperatura, calor, radiação e muitos

outros que tem inúmeras aplicações em eletrônicos comumente utilizados hoje em dia. Seu

comportamento se baseia em reagir aos fenômenos do mundo a sua volta e transformar

essas grandezas físicas em grandezas lógicas. Sendo assim, a informação que é passada

para um circuito, por exemplo, corresponde a uma representação de um conhecimento do

mundo real.[11]

2.5.1 Sensor IR SharpRanger GP2D12

Utilizamos esta classe de sensores devido ao preço reduzido em relação a outros

sensores e também devido a baixa interferência que fatores externos, como condições

de iluminação ambiente e características de re�exão luminosa dos objetos, têm sobre a

leitura. Este sensor é composto por um emissor e um receptor. O emissor, um LED de luz

infravermelha ( λ = 800nm), emite um pulso de luz que, quando atinge um objeto dentro

Page 15: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

15

de seu alcance (10 a 80 cm) sofre re�exão e forma um triângulo ao atingir o receptor. A

partir dos dados da matriz linear de carga acoplada (CCD) calcula-se o ângulo de emissão

e, a partir deste, a distância do objeto. [5]

Figura 7: Ilustração do processo de triangulação [6]

2.6 PWM - Modulação por largura de pulso

PWM (Modulação por Largura de Pulso) é um método de emularmos um com-

portamento analógico a partir de uma porta digital. Para isto utilizamos um chaveamento

sobre a porta, ativando-a e desativando-a em um período de tempo. Geramos, deste modo,

uma onda retangular, onde o tempo do sinal em tensão alta é denominado �largura de

pulso�. Ao variarmos a relação entre o tempo da chave ligada e o período de oscilação

total, variamos também a tensão média que a carga recebe, ou seja, efetuamos uma modu-

lação da largura do pulso. A frequência escolhida para efetuarmos o PWM foi de 20kHz,

evitando assim a geração de ruído audível no motor. Na �gura 8, podemos visualizar

os pulsos gerados, utilizando a função analogWrite da biblioteca padrão do Arduino, que

fornece uma resolução de 8 bits para o controle da tensão de saida.[10]

Page 16: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

16

Figura 8: Exemplos de PWM[2]

Page 17: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

17

3 Desenvolvimento

3.1 Montagem da ponte H

3.1.1 Material Utilizado

Utilizamos os seguintes componentes para a montagem das Pontes-H:

• 1 Protoboard Pequena

• 4 Transistores TIP-31C

• 4 Transistores TIP-32B

• 8 Diodos N4007 (Resposta Rápida)

Na �gura 9 está o esquemático utilizado para a construção das Pontes-H. Os

transistores Q1, Q2, Q3 e Q4 são transistores TIP-32B do tipo PNP e os transistores da

parte inferior do esquemático (Q5, Q6, Q7 e Q8) são NPN. Foram utilizadas diferentes

classes de transistores com o objetivo de evitar um possível curto-circuito da fonte, pois,

acoplando em uma entrada lógica dois transistores NPN e PNP força-se que um transistor

esteja desativado, independentemente do nível lógico aplicado na entrada. As entradas

lógicas são realizadas pelos pontos A e B para uma ponte h e pelos pontos C e D para a

outra.

Figura 9: Esquemático da Ponte H

Page 18: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

18

3.2 Montagem da parte mecânica do robô

Para montar o chassi do robô foi primeiramente feita uma lista dos itens que

deveriam estar presentes, para ter uma noção do espaço a ser utilizado. Segue abaixo a

lista dos itens:

• Protoboard

Utilizamos a protoboard para fazermos as conexões da parte eletrônica, e também

a montagem da ponte H.

• Arduino

Utilizado para controle do robô.

• 4 Pilhas

Quatro pilhas são necessárias para fornecer tensão su�ciente para alimentar os mo-

tores. Cada motor tem a alimentação ideal de 3V. Esta tensão, entretanto, não é

mantida constante e varia com a carga na pilha. Para obtermos um funcionamento

mais estável do motor, controlamos a tensão fornecida pela ponte h.

• Bateria

Bateria de 9V utilizada para alimentar o Arduino.

• 2 Motores e 2 Caixas de redução

Os motores em conjunto com as caixas de redução são utilizados para movimentar

o robô. As caixas de redução são utilizadas para transmitir torque ao eixo e para

balancearmos a relação entre torque e rpm do motor.

• 2 Servomotores

Cada um sustentará um sensor. Com o sensor acoplado ao servomotor o sensor

rotaciona junto com o servo, assim podendo varrer o objeto perseguido.

• 2 Sensores

Utilizado para detectar o objeto e monitorar sua borda.

• 2 Rodas

Utilizada para transformar o torque do eixo em movimento do robô.

Page 19: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

19

• Ballcaster

Esfera metálica deslizante utilizada na parte inferior dianteira do robô, para queo

atrito entre o protótipo e o solo seja reduzido.

Visto a necessidade de todos esses itens serem colocados, foi feito um esquema que uti-

lizasse um espaço relativamente pequeno. Na Figura 10 temos uma ilustração do chassi

visto de cima e na Figura 11 uma ilustração do chassi visto de baixo.

Figura 10: Chassi visto de cima

Page 20: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

20

Figura 11: Chassi visto de baixo

Como podemos notar nas ilustrações, o motor e o ballcaster estão �xados na parte

inferior do chassi, e o restante dos itens na parte superior, lembrando que cada sensor

será �xado em um servo motor para que possa ser movimentado. No chassi foram feitos

dois cortes ao lado do motor para que as rodas pudessem ser encaixadas diretamente no

motor, sem necessitar de um prolongamento do eixo.

Page 21: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

21

3.3 Montagem da parte eletrônica do robô

Utilizamos a placa Arduino Duemilanueve como o controle principal do robô. Sua

função é controlar os motores DC, responsáveis pelo movimento do robô, e os servomoto-

res, responsáveis pelo movimento dos sensores de distância infravermelho, além de receber

e processar os dados vindos dos dois sensores de distância. No caso dos motores DC, o

controle ocorre através de duas pontes H, que recebem sinais PWM e assim controlam a

intensidade e o sentido das correntes passando pelos motores. No caso do servo motor, o

sinal é enviado diretamente já que este dispositivo possui uma ponte H embutida .

Utilizamos dois servo motores da série TURNIGY TG9e como bases móveis para

os sensores IR Sharp Rangers. Como os não oferecem grande carga mecânica para os

servos, a corrente fornecida pelo Arduino é su�ciente para a alimentação, não havendo

a necessidade de uma alimentação externa. Os servos foram ligados nas portas digitais

PWM do Arduino 3 e 5 e os sensores nas portas analógicas 1 e 2. Os sensores também

utilizam a corrente fornecida pelo Arduino e o esquemático da ligação pode ser visualizado

na Figura 12

Tanto a �xação dos servos no chassi quanto a dos sensores nos servos é feita

por meio de uma �ta adesiva de alta aderência. A Ponte H foi construída utilizando

transistores TIP-31C e TIP-32B além de diodos de resposta rápida N4007. A alimentação

dos motores é realizada por 4 pilhas de 1,5V ligadas em série e a corrente sobre cada motor

é controlada através do PWM sobre as os pontos A e B para o primeiro motor e C e D

para o segundo. O circuito completo do robô encontra-se na Figura 12.

Page 22: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

22

Figura 12: Circuito completo do robô. Autoria Própria.

Page 23: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

23

3.4 Algoritmo

O algoritmo utilizado para perseguir um objeto necessita de dois sensores IR. Seu

princípio de funcionamento é simples: ele faz um sensor IR (Sensor 1) oscilar em torno da

extremidade esquerda do objeto detectado enquanto o outro sensor IR(Sensor 2) oscila em

torno da extremidade direita. A rigor, é possível utilizar apenas um sensor para perseguir

o objeto, no entanto, enfrentaríamos um problema caso o objeto fosse detectado pela sua

extremidade direita, como iremos demonstrar nas Figuras 13 a 15.

O pseudocódigo do algoritmo usado para a detecção de objetos com apenas um

sensor está descrito abaixo e sua função é fazer com que o sensor oscile em torno da borda

de um objeto encontrado. Para isto, ao encontrar o objeto, o sensor vira para a esquerda,

até que este deixe de ser detectado. Quando isto ocorre, ele vira para a direita. Deste

modo, ele �cara oscilando em torno da borda direita do objeto.

Se (Sensor detectou um objeto)

Sensor vira para a esquerda

Se (Sensor não detectou)

Sensor vira para a direita

A detecção de um objeto pode ocorrer em dois cenários distintos. No primeiro,

ilustrado pelo diagrama da Figura 13, o sensor detecta o objeto pela extremidade esquerda.

Neste caso, se o objeto se mover para a direita, como exempli�cado pela �gura, irá sair

momentaneamente do alcance do sensor. O sensor, no entanto, responderá à ausência do

objeto, virando para a direita e reencontrando o objeto.

Page 24: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

24

Figura 13: Primeiro Cenário

No segundo cenário, ilustrado pelo diagrama abaixo, o sensor detecta o objeto

pela extremidade direita. Deste modo, se o objeto se mover para esquerda o sensor irá

responder ao estímulo virando para a direita, direção oposta àquela escolhida pelo objeto,

o que é problemático.

Figura 14: Segundo Cenário

Para contornarmos este problema optamos pela adição de outro sensor, que �cou

responsável por monitorar a extremidade direita do objeto. Assim, o robô responderá

corretamente a qualquer movimento no plano executado pelo objeto. Isto ocorre porque

Page 25: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

25

os 2 sensores possuem comportamentos opostos, ou seja, enquanto um ao detectar o objeto

vai para a esquerda o outro vai para a direita e, ao perder o objeto, o primeiro vai para

a direita e o segundo para a esquerda. Deste modo, um sensor oscila em torno da borda

direita enquanto o outro oscila em torno da borda esquerda.

Podemos visualizar este cenário na Figura 15. No instante t = 0 cada sensor

está oscilando em torno de uma borda. Após o deslocamento do objeto para a direita,

em t > 0 o sensor da esquerda perde o objeto de vista no entanto o da direita ainda o

detecta. Se o movimento do objeto fosse oposto, o sensor da direita perderia o objeto

de vista enquanto o da esquerda ainda o detectaria. Deste modo, não há uma borda

problemática na detecção.

Figura 15: Detecção utilizando dois sensores

Page 26: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

26

Segue abaixo o pseudocódigo do algoritmo utilizado pelo robô.

//Para o Sensor 1

Se (Sensor detectou um objeto)

Sensor vira para a esquerda

Se (Sensor não detectou)

Sensor vira para a direita

//Para o Sensor 2

Se (Sensor detectou um objeto)

Sensor vira para a direita

Se (Sensor não detectou)

Sensor vira para a esquerda

//Controle de movimento

Se angulo do Sensor1 ou do Sensor2< Angulo Mínimo

Robo vira a direita

Se angulo do Sensor1 ou Sensor2 >Angulo Máximo

Robo vira a esquerda

Se angulo Minimo < angulo do Sensor1 e Sensor2 < angulo Maximo

e Distancia atual maior que Distancia Confortável

Robo segue reto

Os dois quatro primeiros condicionais do código dizem respeito ao comporta-

mento dos sensores perante a detecção do objeto. Como podemos ver, o Sensor 1 vai a

esquerda caso haja detecção e para a direita caso não haja enquanto o Sensor 2 reage

de forma oposta ao Sensor 1. O controle do movimento do robô se baseia no ângulo dos

servomotores. A cada iteração é testado se o ângulo dos servomotores está dentro de uma

faixa preestabelecida, entre um ângulo máximo e um mínimo. Se esse for o caso, o robô

segue reto. Se o ângulo de algum dos servomotores estiverem aquém do mínimo, o que

signi�ca que o objeto está indo para a direita, o robô vira a direita. E se o ângulo de

Page 27: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

27

algum deles for maior que o ângulo máximo, o que indica uma trajetória do objeto para

a esquerda, o robô vira a esquerda.

O último condicional é o critério de parada e é o que faz com que o robô pare, caso

a distância para o objeto seja menor do que um limite pré-estipulado. Os ângulos esta-

becidos como máximo e mínimo foram 150◦ e 30◦, respectivamente e foram determinados

empiricamente.

Page 28: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

28

4 Resultados

Conseguimos concluir parcialmente a proposta do projeto. Finalizamos com êxito

a construção mecânica do robô e a integração entre os componentes eletrônicos do projeto.

No entanto tivemos um problema com um dos sensores de distância. Não conseguimos

um padrão estável nos valores obtidos e, assim, só conseguimos testar o algoritmo de per-

seguição utilizando apenas um sensor. Assim não foi veri�cada a corretude do algoritmo

utilizando 2 sensores. Apesar das falhas, consideramos um êxito o projeto como um todo,

pois conseguimos montar um robô autônomo capaz de entender o meio e responder a ele.

Page 29: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

29

5 Considerações �nais

Julgamos que o projeto foi bem instrutivo na medida em que adquirimos um

conhecimento razoável em eletrônica mas tivemos alguns problemas, gargalos que atrapa-

lharam o andamento do projeto. Um deles foi a tentativa fracassada de utilizar um CI de

dupla ponte H L298.

Page 30: DESENVOLVIMENTO DE UM ROBÔ PERSEGUIDOR …paginapessoal.utfpr.edu.br/msergio/portuguese/ensino-de-fisica/... · circuito composto de componentes eletrônicos discretos ou circuitos

30

Referências

[1] Arduino. http://www.arduino.cc, Abril 2011.

[2] Luso robotica. http://lusorobotica.com/img/arduino/pwm.gif, Junho 2011.

[3] Pyroelectro. http://www.pyroelectro.com/tutorials/servo_motor/parts/

hitec_servo_b.jpg, Julho 2011.

[4] Saber eletronica. http://www.sabereletronica.com.br/files/image/figura_1_

controle_dc.jpg, Junho 2011.

[5] Sharp datasheet. http://www.sharpsma.com/webfm_send/1203, Abril 2011.

[6] Society of robots. http://www.societyofrobots.com/, Abril 2011.

[7] Flavio Honda. Motores de corrente contÃnua , guia rýpido para uma especi�-

ca�ÿo precisa. Junho 2011.

[8] Joseph L. Jones, Anita M.Flynn, and Bruce A.Seiger. Mobile Robots Inspiration to

Implementation. 2nd edition, Abril 2011.

[9] LuÃs Fernando Patsko. Tutorial Montagem da Ponte H, Junho 2006.

[10] Myke Predko Michael Predko. Programming robot controllers. MacGraw-Hill Com-

panies, 2003.

[11] L. L. Suarez. Conhecimento Sensorial - Uma Analise segundo a Perspectiva da Se-

miotica Computacional. Junho 2000.