Relatório Técnico -...

17
Universidade Tecnológica Federal do Paraná – UTFPR Departamento Acadêmico de Eletrônica – DAELN Departamento Acadêmico de Informática – DAINF Engenharia de Computação Oficina de Integração 3 (IF66J) – S71 – 2015/2 Relatório Técnico Robilu: ensinando lógica para crianças Bianca A. V. Alberton [email protected] Lucas P. de Moura [email protected] Luisa B. de Oliveira [email protected] Roger Tosin [email protected] Dezembro de 2015 Resumo A integração das crianças em atividades práticas aplicando e utilizando ferramentas adequadas, tais como ferramentas de robótica, faz com que elas tenham contato direto com a compreensão de estratégias e planeja- mento de movimentos. Isto estimula seus sensores cognitivos a desenvol- ver o seu raciocínio lógico. Tomando como verdade que crianças apren- dem de forma eficaz através de brincadeiras físicas e táteis, este relatório apresenta o processo de desenvolvimento de uma ferramenta de ensino de lógica para crianças de quatro a oito anos de idade, através de um jogo envolvendo um tablet e um robô denominado Robilu, o qual desloca-se por um caminho com obstáculos. Por meio do tablet, a criança deve pro- gramar uma sequência de comandos que leve o robô de sua origem até um destino dado, evitando obstáculos ao longo do caminho. Para a coor- denação de seus movimentos, o Robilu move-se sobre linhas em um grid com fundo branco. Por meio deste jogo, pretende-se contribuir para o es- tímulo do raciocínio lógico da criança na medida em que ela desenvolva estratégias para deslocar o Robilu até o seu objetivo. 1 Introdução A facilidade de acesso à tecnologia na forma de computadores, tablets, celu- lares e vídeo-games conferiu uma nova dimensão de aprendizado: a realização de experimentos e simulações através destes equipamentos ajuda a consolidar e fixar os conhecimentos teóricos vistos em sala de aula. Utilizando estas tecno- logias educativas, surge o conceito de construtivismo, no qual o aluno deixa de ser um elemento passivo no processo de aprendizado e passa a construir o seu próprio conhecimento a partir da experimentação [TRFK04]. Segundo Jean Piaget [Pia95], a criança constrói seu conhecimento por meio de uma experimentação física, especialmente através da manipulação de obje- tos. Para solidificar esses conhecimentos, precisa-se de uma estrutura organi- 1

Transcript of Relatório Técnico -...

Page 1: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Universidade Tecnológica Federal do Paraná – UTFPR

Departamento Acadêmico de Eletrônica – DAELN

Departamento Acadêmico de Informática – DAINF

Engenharia de ComputaçãoOficina de Integração 3 (IF66J) – S71 – 2015/2

Relatório TécnicoRobilu: ensinando lógica para crianças

Bianca A. V. Alberton [email protected]

Lucas P. de Moura [email protected]

Luisa B. de Oliveira [email protected]

Roger Tosin [email protected]

Dezembro de 2015

Resumo

A integração das crianças em atividades práticas aplicando e utilizandoferramentas adequadas, tais como ferramentas de robótica, faz com queelas tenham contato direto com a compreensão de estratégias e planeja-mento de movimentos. Isto estimula seus sensores cognitivos a desenvol-ver o seu raciocínio lógico. Tomando como verdade que crianças apren-dem de forma eficaz através de brincadeiras físicas e táteis, este relatórioapresenta o processo de desenvolvimento de uma ferramenta de ensinode lógica para crianças de quatro a oito anos de idade, através de um jogoenvolvendo um tablet e um robô denominado Robilu, o qual desloca-sepor um caminho com obstáculos. Por meio do tablet, a criança deve pro-gramar uma sequência de comandos que leve o robô de sua origem atéum destino dado, evitando obstáculos ao longo do caminho. Para a coor-denação de seus movimentos, o Robilu move-se sobre linhas em um gridcom fundo branco. Por meio deste jogo, pretende-se contribuir para o es-tímulo do raciocínio lógico da criança na medida em que ela desenvolvaestratégias para deslocar o Robilu até o seu objetivo.

1 Introdução

A facilidade de acesso à tecnologia na forma de computadores, tablets, celu-lares e vídeo-games conferiu uma nova dimensão de aprendizado: a realizaçãode experimentos e simulações através destes equipamentos ajuda a consolidare fixar os conhecimentos teóricos vistos em sala de aula. Utilizando estas tecno-logias educativas, surge o conceito de construtivismo, no qual o aluno deixa deser um elemento passivo no processo de aprendizado e passa a construir o seupróprio conhecimento a partir da experimentação [TRFK04].

Segundo Jean Piaget [Pia95], a criança constrói seu conhecimento por meiode uma experimentação física, especialmente através da manipulação de obje-tos. Para solidificar esses conhecimentos, precisa-se de uma estrutura organi-

1

Page 2: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 2

zada da inteligência. Portanto, para haver aprendizado é necessária a “assimi-lação”, ou seja, a incorporação desse objeto aos conhecimentos que a criança jápossui. Para isso, precisa acontecer a inter-relação entre as experiências físicase as lógicas [Sou08].

Nesse sentido, a utilização de jogos educativos contribui para o processo deaprendizagem, pois segundo [TRFK04], eles “divertem enquanto motivam, faci-litam o aprendizado e aumentam a capacidade de retenção do que foi ensinado,exercitando as funções mentais e intelectuais do jogador”.

Assim, este documento relata o desenvolvimento de uma ferramenta parao ensino de lógica para crianças de quatro à oito anos de idade por meio deum jogo educativo. Ele está estruturado como segue: as subseções desta seçãodescrevem o jogo e os objetivos do projeto; as seções seguintes relatam os fun-damentos teóricos e o desenvolvimento do aplicativo para sistema operacionalAndroid, da comunicação entre o aplicativo e o robô, e do robô em si; por fim,são apresentados os resultados e as considerações finais.

1.1 O jogo

O jogo proposto é composto por quatro itens: um grid, um conjunto de obstá-culos, um robô e um tablet. Nele a criança deve digitar comandos no tablet parao robô (seguir em frente, girar para a esquerda e girar para a direita) de modoque ele percorra o grid do seu ponto de partida até o de chegada desviando dosobstáculos.

Para torná-lo mais atrativo, foi criado uma história para o jogo: o persona-gem principal, o robô Robilu, é um cachorro perdido na cidade (grid). Porém, oRobilu deve fugir da carrocinha e do cachorro bravo, ambos representados pe-los obstáculos no grid. Assim, o objetivo do jogo é ajudar o Robilu a chegar emcasa, sem colidir com nenhum obstáculo. A Figura 1 mostra as imagens utiliza-das para os personagens do jogo e a casa do Robilu no tablet.

Figura 1: Personagens do jogo e casa do Robilu. Autoria própria.

O jogo foi projetado com um design de com cores vivas e formas simples, demodo a tornar mais fácil para a criança memorizar o papel que cada comando

Page 3: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 3

exerce na programação do caminho a ser seguido pelo robô.Os obstáculos têm como objetivo deixar a brincadeira mais complexa, pois

a criança deve fazer uma lista de comandos antecipando a localização dessesobstáculos a fim de evitá-los. Além disso, a sua posição pode ser mudada, demodo que a criança possa aumentar ou diminuir o grau de dificuldade do jogo.

A função do grid é coordenar a movimentação do robô. Para tornar o con-trole do Robilu mais simples, o grid foi preenchido com linhas destacadas, o quetambém contribui para que a criança pratique o conceito de contagem.

Para tornar mais interessante à brincadeira, o robô interage com a criançamovendo um rosto mecânico e reproduzindo músicas. Ambos têm como fi-nalidade transmitir os estados emocionais do Robilu para que a criança possaidentificar mais intuitivamente se obteve sucesso ou não com sua sequência decomandos.

O tablet exibe os comandos na orientação paisagem, pois esta é a orientaçãoque as crianças tendem a segurar o dispositivo [FGa14]. O aplicativo foi feitopara que os gestos utilizados pelas crianças sejam intuitivos, como apertar edeslizar.

Para a comunicação do robô com o tablet optou-se pelo protocolo Blueto-oth, conforme será detalhado na Seção 2.1. A Figura 2 mostra a visão geral doscomponentes envolvidos no jogo proposto.

Figura 2: Visão geral dos componentes envolvidos no jogo proposto. Autoriaprópria.

Page 4: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 4

1.2 Requisitos

De modo a melhor descrever os objetivos deste projeto e avaliar a sua viabili-dade, foram determinados os seus requisitos funcionais e não funcionais.

• Requisitos funcionais:

1. O software do tablet irá obter os comandos do usuário e enviá-lospara o robô.

2. O software do tablet irá aguardar uma resposta do robô (trajeto con-cluído ou colidiu).

3. O sistema embarcado (SE) reproduzirá os comandos recebidos pelaestação base.

4. O SE detectará a colisão com outros objetos.5. O SE se orientará por meio de uma linha no grid.6. O SE enviará feedback sonoro (buzzer) e visual (movimentos mecâ-

nicos) para o usuário.7. O SE detectará se o mesmo atingiu o objetivo no grid.

• Requisitos não funcionais:

1. Como base/controle deverá ser utilizado um tablet com sistema ope-racional Android .

2. A comunicação entre o Robilu e o tablet deve ser realizada por pro-tocolo Bluetooth.

3. Para controle do robô deverá ser utilizado o microcontrolador Ar-duino.

4. Para detecção de linha deverá ser empregue sensores de infraverme-lho.

5. Para detecção de colisões deverá ser utilizado um sensor de fim decurso .

6. O feedback visual do SE será realizado por meio de servomotores quecontrolem as sombrancelhas e a boca do robô.

7. O feedback sonoro do SE ocorrerá através de um buzzer.8. Ao finalizar o percurso, o Robilu deverá exibir um sorriso feliz, erguer

as sombrancelhas e tocar uma música que represente felicidade.9. Ao colidir ou receber comandos insuficientes para finalizar o per-

curso, o Robilu deverá exibir um sorriso triste, abaixar as sombran-celhas e tocar uma música triste.

2 Desenvolvimento do aplicativo

O aplicativo para controle do robô foi desenvolvido para o sistema operacionalAndroid seguindo as orientações propostas por [Lec15] e é capaz de funcionartanto em celulares quanto em tablets. Embora o intuito do projeto seja utilizarapenas tablets.

Page 5: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 5

De maneira geral, a aplicação funciona conforme o fluxograma da Figura 3.Ao iniciar o aplicativo, o usuário deve primeiramente encontrar e estabelecer aconexão com o Robilu na lista de dispositivos Bluetooth ao alcance do tablet.

Figura 3: Fluxograma representando a lógica de funcionamento do aplicativo.Autoria Própria.

Em seguida, a aplicação exibe a tela da Figura 4. Conforme descrito na Sub-seção 1.1, ela é utilizada para escolher as instruções a serem enviados ao Robilu,de modo que ele saia da posição em que está e desloque-se até o objetivo finaldo jogo sem colidir. A região da tela com fundo verde é utilizada para decidirquais comandos serão enviados ao robô. Existem três opções de comandos delocomoção, locomover-se para frente, virar 90° para direita e virar 90° para es-querda. Quando selecionados, eles são armazenados na lista de comandos eexibidos na região em azul, de maneira que o último botão pressionado estejasempre visível. Caso a lista seja maior do que a tela, o usuário poder verificar asprimeiras instruções por meio da função scrolling, disponível para ativação emtodos os aplicativos Android.

Figura 4: Tela do aplicativo. Autoria Própria.

Page 6: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 6

Na parte inferior da região verde há três botões que, da esquerda para a di-reita, correspondem as instruções: verificar a conexão, remover o último co-mando da lista e limpar toda a lista. O envio da lista de instruções é feito pormeio do botão ”VAI” e a partir deste momento, a tela do aplicativo desativa to-dos os botões até receber uma resposta do Robilu indicando que se ele chegouao seu objetivo final ou não e se colidiu. Essa resposta é exibida para o usuárioem forma de caixa de diálogo.

Antes de mandar a lista de instruções para o Robilu, o aplicativo verifica oestado da conexão. Caso o dispositivo esteja desconectado, o botão "VAI"é de-sativado e o de conexão exibirá um risco vermelho. Neste caso, o usuário deveráselecionar este último para encontrar e reestabelecer a conexão.

2.1 Comunicação entre o aplicativo e o robô

A troca de informações entre o tablet e o robô é feita através do protocolo de co-municação sem fio Bluetooth, devido ao fato de estar presente na maioria dosdispositivos Android disponíveis no mercado. Além disso, é de fácil programa-ção e possui baixo consumo de energia para estabelecer a conexão com outrosdispositivos de curto alcance [BS15].

No robô, a conexão Bluetooth é estabelecida por meio do módulo HC-06,que é baseado na tecnologia Bluetooth CSR BC04 e opera na frequência de 2.4GHz.Ele foi escolhido por possuir baixo consumo de energia, baixo custo e taxa deerro de bit igual a zero enquanto a conexão estiver estabelecida [Co.11].

3 O robô

Esta seção é destinada a detalhar o funcionamento e a implementação de cadaum dos componentes do robô. Ele é composto por um Arduino, duas baterias,sensores de infravermelho, um sensor de fim de curso, três servomotores, umbuzzer e motores DC, conforme a Figura 5. A Figura 6 descreve a relação lógicaentre os componentes do sistema embarcado..

3.1 Arduino

Para o controle do robô utilizou-se a plataforma open-source Arduino Uno. Elautiliza o microcontrolador ATmega328P e foi escolhida para o protótipo por serde fácil programação e possuir 14 entradas/saídas digitais, 6 entradas analógi-cas, 1 UART e clock de 16 MHz [Ard15].

3.2 Alimentação

A alimentação do robô é feita por meio de duas baterias: uma alcalina de 9V paraalimentação do Arduino e outra de polímero de lítio (Li-PO) de 11,1V e 1450mAh

Page 7: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 7

Figura 5: Componentes do projeto e comunicação entre eles. Autoria própria.

Figura 6: Relação lógica entre os componentes do sistema embarcado. Autoriaprópria.

para alimentação dos demais componentes. Optou-se por separar a alimenta-ção do microcontrolador das demais partes para que não ocorra interferênciada corrente dos motores.

Devido ao fato da bateria Li-PO fornecer uma tensão acima das aceitas pe-los componentes, utilizou-se o circuito integrado LM7805 para regular a tensãopara 5V [Cor01]. O regulador foi acoplado a um dissipador de calor, uma vez quea tensão não utilizada no circuito (6,1V) é transformada em calor.

3.3 Seguidor de linha

O Robilu é um robô seguidor de linha, ou seja, ele é capaz de detectar uma linhadesenhada no chão e seguir o caminho pré-determinado por ela [PSG10]. Nocaso do jogo proposto, o grid é composto por uma ”rua” branca com uma linha

Page 8: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 8

preta no centro.Para detectar a linha foram utilizados sensores de infravermelho. Cada sen-

sor consiste em um par de fototransistores (um transmissor e um receptor) en-capsulados no mesmo formato de um LED. Quando o transmissor emite a luzinfravermelha, a superfície branca do grid a reflete, de modo que ela seja cap-tada pelo receptor, conforme a Figura 7. Quando a luz é captada, o fototransistorconduz corrente e a tensão sobre o coletor diminui. Entretanto, quando a luz in-cide sobre uma superfície não refletora, como a linha, o fototransistor deixa deconduzir e a tensão observada no coletor é a tensão de alimentação do mesmo.

Figura 7: Emissão e recepção de luz infravermelha quando a mesma incide so-bre uma superfície branca. Fonte: [Ver13].

De modo a digitalizar o sinal do sensor de infravermelho, a saída do coletordo fototransistor receptor é comparada a uma tensão de referência por meio docircuito integrado LM339, conforme a Figura 8.

Figura 8: Conexão entre o fototransistor receptor e o comparador. Autoria pró-pria.

Entretanto, o uso de apenas um sensor não é o suficiente para manter o robôsobre a linha, pois se o robô perde a trajetória da linha não será capaz de se loca-lizar e retornar automaticamente. Por isso, utilizou-se três sensores e para cadacaso de leitura dos mesmos, um valor de erro é atribuído à posição do Robilu,conforme a Figura 9. O melhor caso é quando apenas o sensor central está de-tectando a linha (erro nulo), enquanto o pior caso é quando apenas um sensor

Page 9: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 9

da extremidade a detecta.

Figura 9: Erro atribuído para cada leitura do sensor, onde o sensor ativo é repre-sentado pelo círculo preto. Autoria própria.

Para tratar o erro de posicionamento do robô utilizou-se um controladorproporcional integral derivativo (PID), que altera a velocidade dos motores DC.Em sistemas digitais esse controle é descrito pela equação 1, na qual v[n] cor-responde ao ajuste de velocidade do motor no instante n, e[n] é o erro conformedeterminado pela Figura 9. Os parâmetros Kp , Ki e Kd são, respectivamente, asconstantes de ganho proporcional, integral e derivativo [Nis02].

v[n] = Kp ×e[n]+Kd × (e[n]−e[n −1])+Ki ×n∑

i=0e[i ] (1)

O termo proporcional influencia no tempo de resposta para corrigir umavariação no sinal de entrada, enquanto o termo integral faz com que o sistemaatinja um estado estacionário. O termo derivativo também melhora a estabili-dade atuando na parte transitória da resposta do sistema [Ins11]. Tais constan-tes foram determinadas empiricamente devido ao tempo limitado para cons-trução do protótipo.

3.4 Locomoção e detecção de colisões

A locomoção do robô no grid é feita por meio do o kit Tamiya Twin-motor Ge-arbox, o qual é composto por dois motores Mabuchi FA-130 e duas caixas deredução acopladas. Os motores operam em tensões entre 1,5 e 3 V, sendo queem 3 V eles operam com correntes de até 2,1 A [Ltd14].

Para interfacear os motores com o Arduino é utilizado o circuito integradoLD293D, que é composto por duas pontes H [Inc90]. Ele possui diodos de prote-ção para evitar que o mesmo seja danificado pela força eletromotriz gerada peloenrolamento do motor (indutância), opondo-se à variação da corrente.

A detecção de colisões é feita por meio do sensor de fim de curso. Este possuiuma haste que sente o contato e pressiona o botão de acionamento colocandoem curto circuito os terminais, conforme mostra a Figura 10.

Page 10: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 10

Figura 10: Funcionamento de um sensor de fim de curso. Fonte: [Bra14].

3.5 Feedback visual e auditivo

O Feedback visual consiste na movimentação mecânica da boca e das sombran-celhas do robô por meio de três servomotores, enquanto o auditivo consiste namúsica tocada por um buzzer. Ambos são acionados em conjunto em duas oca-siões:

1. para expressar alegria, que consiste na exibição de uma expressão de feli-cidade e de uma música animada, ocorre quando o Robilu atinge o obje-tivo do jogo;

2. para expressar que o robô ficou chateado por meio de uma expressão euma música triste que ocorrem quando ele colide com um obstáculo ouquando o usuário envia uma sequência de comandos insuficiente para elechegar ao seu objetivo.

Os servomotores escolhidos são do modelo “Tower Pro SG90 - 9g Micro Servo”por possuírem baixo custo e biblioteca pronta para utilização com o Arduino.Eles são alimentados com tensão entre 4.8V e 6V e são controlados por modu-lação de largura de pulso de até 2ms. Um pulso de 0ms corresponde à 0° derotação do eixo do motor, enquanto um pulso de 2ms equivalem à 180 ° [Pro14].

Para construir as sombrancelhas e a boca foi utilizado um tecido preto pre-enchido com algodão. Dentro do tecido há um eixo metálico que é acoplado aoservomotor. Quando o motor rotaciona o seu eixo para cima, o eixo do lado defora da boca movimenta-se de forma análoga e desloca o centro do tecido paracima, de modo a produzir uma expressão triste, conforme é possível observarna Figura 11(c). Para manter a expressão triste, as sombrancelhas movem-se nosentido contrário ao da boca. A expressão feliz vista na figura 11(b) é o padrãodefault do Robilu.

Optou-se por utilizar um rosto mecânico ao invés de um display LCD parainserir um desafio maior ao projeto. Além disso, a equipe acredita que um rostomecânico torna o Robilu mais próximo de um animal de estimação e a utilizaçãode um display LCD torna-o mais artificial.

O Buzzer possui duas camadas de metal e uma camada interna de cristalpiezoelétrico. A camada interna vibra na mesma frequência da corrente envi-ada, reproduzindo um som. Para a programação do buzzer é necessário enviar

Page 11: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 11

Figura 11: Detalhe mecânico do funcionamento da boca do Robilu. (a) Vistalateral. (b) Vista frontal com expressão feliz. (c) Vista frontal com expressãotriste. Autoria própria.

a sequência das frequências e a sua duração. Por exemplo, se a corrente enviadacorresponder à frequência de 261Hz, a nota Dó será reproduzida.

As duas músicas escolhidas são do jogo de vídeo game Super Mário Bros.A música feliz é a música tema do jogo (”Super Mario Bros. theme”) e a tristese chama ”Underworld”. Elas são reconhecidas em todo o mundo, mesmo poraqueles que nunca jogaram este jogo [Nin15].

3.6 Placa de circuito impresso

O robô possui duas placas de circuito impresso (PCI): uma para acomodar ossensores de infravermelho e outra para acomodar e alimentar os circuitos inte-grados (dois LM339, um L293D e um LM7805). Esta segunda também contem-plam as barras de pinos para alimentação e conexão dos motores DC, da placade sensores de infravermelho, dos servomotores, do sensor de fim de curso e dobuzzer. Ambas possuem apenas uma camada e foram projetada com o auxíliodo software Proteus [Ele15]. A Figura 12 mostra uma imagem da PCI para aco-modação dos sensores de infravermelho após montada, enquanto a Figura 13mostra o projeto da PCI.

3.7 Firmware do robô

De maneira geral, o Robilu possui três estados: esperando por comandos doaplicativo, andando para a frente e executando curvas.

Quando o robô recebe um comando para locomover-se para a frente, ele dedeve verificar se está sobre a linha do grid e corrigir a sua rota com o auxílio doalgoritmo PID até que ele encontre uma intersecção para executar o próximocomando. Enquanto está andando em linha reta ele também deve verificar se

Page 12: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 12

Figura 12: Placa de circuito impresso com os cinco sensores de infravermelho.Autoria própria.

Figura 13: Projeto da PCI para alimentação e conexão dos componentes do robô.Autoria Própria.

colidiu, se há uma rua a frente e se chegou ao objetivo do jogo. Caso uma des-sas condições seja verdadeira, o Robilu envia uma mensagem para o dispositivoAndroid, conforme explicado na Seção 2.

As curvas são executadas por meio da rotação do robô em torno do seu pró-prio eixo sobre uma interseção até que ele encontre a rua mais próxima no sen-tido horário ou anti-horário, o qual é determinado pelo comando recebido.

O firmware do robô pode ser resumido por meio da Figura 14.

Page 13: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 13

Figura 14: Fluxograma representando a lógica do firmware do robô. Autoria Pró-pria.

4 Resultados

Após montado e com todos os componentes integrados, o protótipo do Ro-bilu ficou com a aparência vista na Figura 15. A sua base é feita em madeirae abriga os motores DC, as caixas de redução, dois pares de rodas, o botão paraligar/desligar o robô e os pilares metálicos na sua face superior. Na inferior es-tão a placa de sensores de infravermelho e outros dois pares de rodas. Os quatro

Page 14: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 14

pares de rodas estão interligados por uma esteira de plástico.

Figura 15: Robilu. Autoria própria.

Conectado aos pilares metálicos está a caixa que abriga os circuitos. Ela éfeita de papel Holler 3mm, que é um material parecido com papelão, porémmais resistente e foi envolta com uma pelúcia, de modo a conferir ao robô umaspecto mais amigável para crianças. Do lado de fora da caixa está o o móduloBluetooth HC-06, o buzzer e o rosto do robô. A sombrancelha esquerda do robôpossui liberdade de 75° a direita, 20° e a boca, 30° . Essa diferença deve-se aoseixos metálicos de cada um, visto que eles foram fabricados com arames poucoflexíveis e não possuem um padrão.

O grid inicial era composto por várias cartolinas brancas e possuía dimen-sões 140cm x 200cm, porém possuia muitas ondulações. Isto dificultou a lei-tura dos sensores de infravermelho, pois o chassi do robô é muito baixo e eleslocalizam-se muito próximos da cartolina. Então optou-se por utilizar um gridmenor. Testou-se uma mesa branca (Figura 16) e uma única cartolina e bemfixa sobre o chão. Em ambos os grids o resultado obtido melhorou considera-velmente.

As linhas pretas do grid foram feitas com fita adesiva de 1cm de largura. Essaespecificação deve-se ao espaçamento disponível entre os sensores de infraver-melho na placa. A desvantagem de utilizar linhas tão finas é que a resposta dosmotores DC é muito lenta. Portanto reduziu-se a velocidade do robô para queos motores possuam mais tempo para responder a uma variação de posição nalinha. Para uma tensão de 1 V aplicada nos motores DC, a sintonia do PID utili-zado para controlar a posição e seguir a linha são Kp = 20, Ki = 4 e Kd = 1

20 . Comtensões acima de 1,5V verificou-se que o robô perde completamente a linha enão consegue encontrá-la novamente.

Page 15: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 15

Figura 16: Grid desenvolvido. Autoria própria.

4.1 Custos do protótipo

A Tabela 1 exibe os custos para montagem do protótipo do Robilu. O tabletnão foi incluído nos custos do projeto devido ao fato de os valores de comprado mesmo variarem entre R$ 300,00 e R$3 000,00 e de ele poder ser facilmentesubstituído por um celular com sistema operacional Android.

Tabela 1: Custos para montagem do protótipo.

Item R$/un Qtde. Valor (R$)Material para o grid 21,70/un 1 21,70Material para o obstáculo 8,30/un 5 41,50Tecido para o robô (m²) 15,00/un 1 15,00Papelão para o robô 10,00/un 1 10,00Componentes diversos (ex. soquetes) 50,00/un 1 50,00Servomotores 27,00/un 2 54,00Base para o robô 80,00/un 1 80,00Sensor de fim de curso 5,00/un 1 5,00Buzzer 5,00/un 1 5,00Motor DC 25,00/un 2 50,00Arduino Uno original 100,00/un 1 100,00Sensores de seguidor de linha (par RX-TX) 3,50/un 5 17,50Valor total 449,70

Page 16: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 16

5 Considerações Finais

Considera-se que o protótipo atente satisfatóriamente a todos os requisitos fun-cionais e não funcionais descritos na Seção 1.2. Assim, é possível declarar queos objetivos propostos foram alcançados, uma vez que o robô consegue deco-dificar os comandos enviados pelo tablet, seguindo a linha do grid sem dificul-dades e com pouca oscilação. Entretanto, não houve tempo hábil para testar ojogo com crianças e verificar se o mesmo cumpre o seu papel educativo, ficandocomo continuação para um trabalho futuro.

Como melhorias futuras para o projeto, inclui-se a utilização de uma basemaior para o chassi, pois o atual carece de espaço na parte inferior, deixandopouco espaço entre os sensores de infravermelho. Isto influenciou o uso de ga-nhos com valores maiores na sintonia do controlador PID. Apesar disso, considera-se que o robô percorre a linha de forma satisfatória.

Trabalhos futuros podem fazer o refinamento da parte mecânica do feed-back visual e com isso aumentar os graus de liberdade dos movimentos da bocae das sobrancelhas.

Agradecimentos

A equipe gostaria de fazer os seguintes agradecimentos: a Maiko Min Ian Lie,Rafael Barcellos Lemos dos Santos e André Luiz Constantino Botta pela ajudana compreensão do seguidor de linha e nas inúmeras sugestões que ajudaramo projeto a prosseguir; a João Pedro Curti, pelo empréstimo de ferramentas epelas sugestões; a Mariana Carrião e Juan Pietro, pelo seu suporte e ajuda nasdificuldades encontradas ao longo do caminho; a Pedro Felippe Haiduk e LevyBertoleti, pelas consultorias nas partes mecânicas; aos familiares, por nos apoi-arem durante as muitas horas de trabalho dedicadas ao Robilu e por nos aju-darem a encontrar e construir as partes mecânicas do robô; ao funcionários doRLE, por cederem o espaço para a construção e realização de testes com o robô;e aos professores Guilherme Alceu Schneider e Gustavo Benvenutti Borba, pelasorientações e sugestões ao longo do desenvolvimento do protótipo.

Referências

[Ard15] Arduino. Arduino mega, 2015.

[Bra14] Newton. Braga. Como usar micro-switches e chaves de fim de cursocomo sensores, 2014.

[BS15] Inc Bluetooth SIG. Bluetooth, 2015.

[Co.11] Guangzhou HC Information Technology Co. Hc-06 - product datasheet, Abril 2011.

Page 17: Relatório Técnico - UTFPRpaginapessoal.utfpr.edu.br/gustavobborba/if66j-s71-projetos/files/IF66... · a criança deve fazer uma lista de comandos antecipando a localização desses

Relatório Técnico: Robilu 17

[Cor01] Fairchild Semiconductor Corporation. Lm78xx - 3-terminal 1a posi-tive voltage regulator, 2001.

[Ele15] Labcenter Eletrectronics. Proteus pcb design packages, 2015.

[FGa14] Lucas A. Fabossi and Ana L. S. V. Guimarães. Design de interface vol-tado a crianças em educação infantil. UTFPR faz pesquisa em design,2014.

[Inc90] Texas Instruments Incorporated. L293d datasheet- quadruple half-hdriver. Estados Unidos da América, 1990.

[Ins11] National Instruments. Explicando a teoria pid, Dezembro 2011.

[Lec15] Ricardo R. Lecheta. Google Android. 4a edition, 2015.

[Ltd14] Mabuchi Motors Co. Ltd. Fa-130ra datasheet. Japão, 2014.

[Nin15] Nintendo. Corporate information, 2015.

[Nis02] Norman S. Nise. Engenharia de Sistemas de Controle. 3a edition, 2002.

[Pia95] Jean Piaget. Seis estudos de psicologia. 1995.

[Pro14] Tower Pro. Servo motor sg90 data sheet, 2014.

[PSG10] Mehran Pakdaman, M. Mehdi Sanaatiyan, and Mahdi Rezaei Ghah-roudi. A line follower robot from design to implementation: Techni-cal issues and problems. The 2nd International Conference on Com-puter and Automation Engineering (ICCAE). IEEE, pages 5–9, 2010.

[Sou08] Kênia B. de Souza. Piaget e a construção de conceitos geométricos.Estudo parte de monografia de conclusão de especialização, 2008.

[TRFK04] Liane M. R. Tarouco, Letícia C. Roland, Marie-Christine J. M. Fabre,and Mary L. P. Konrath. Jogos educacionais. Centro Interdisciplinarde Novas Tecnologias na Educação, 2, 2004.

[Ver13] Rodrigo C. Vertulo. Sensor de linha com arduino, 2013.