Você está na página 1de 5

ROB DE COMPETIO CATEGORIA SEGUIDOR DE LINHA UTILIZANDO

ALGORITMO PID E PLATAFORMA ARDUINO


Luan Marinho Morais Pereira1, Gabriel Sabino Oliveira1, Pablo Henrique Ribeiro Bezerra1, Flvio Alves
dos Santos1, Francisco Marcelino Almeida de Arajo2
1
LABIRAS, DEPARTAMENTO DE INDUTRIA, SEGURANA E PRODUO CULTURAL DISPC IFPI
Endereo: Praa da Liberdade, 1597. Bairro Centro.
64000-040 TERESINAPI
2
Universidade Estadual do Piau UESPI
Endereo: Rua Joo Cabral, 2231. Bairro Piraj.
64002-150 TERESINA PI
E-mail: marcelino@labiras.cc

control, considering the performance and the time to complete


Resumo: Robs Seguidores de Linha so robs autnomos que
an entire route, that was projected to the tests. In results, the
tem a finalidade de seguir um trajeto descrito por uma linha
PID control proved to be more efficient; getting better results,
desenhada sobre uma superfcie de cor contrastante com a cor
beyond the research can serve as a basis for students of
da linha. Em competies, vence o rob que finaliza o percurso
technical curses and engineering, to understand how to work
em menor tempo seguindo o trajeto completamente. Com base
the process control techniques in practice.
nisso, foi desenvolvido um rob seguidor de linha e seu
software utilizando a plataforma Arduino e controle com Keywords: Line Follower Robots, PID Control, Arduino,
algoritmo PID, visando obter um melhor desempenho e mais Robotics Competition.
preciso comparado ao mtodo ON/OFF, que muito
impreciso quando a velocidade do rob alta e as curvas so 1 INTRODUO
acentuadas. No sensoriamento da linha foi utilizada uma barra O termo robtica refere-se ao estudo e utilizao de robs
de sensores de refletncia por infravermelho (IR). O software para diversas aplicaes. Isaac Asimov, cientista e escritor,
foi desenvolvido na linguagem C. Os parmetros referentes ao usou o termo pela primeira vez em 1942 em uma de suas obras
PID foram ajustados atravs do mtodo de tentativa e erro. Os chamada de Runaround. A criao de robs surgiu da
testes foram feitos utilizando a tcnica ON/OFF no rob, em necessidade do homem de automatizar atividades industriais.
seguida, foi utilizado o controle PID, levando em considerao Como consequncia benfica da revoluo industrial surgiram
o desempenho e o tempo para fazer todo um percurso, que foi mquinas cada vez melhores capazes de realizar e reproduzir
projetado para os testes. Nos resultados, o controle PID diversas tarefas, de forma autnoma ou no [CITI, 2014].
mostrou-se mais eficiente, obtendo melhores resultados, alm Desde ento, uso de robtica na indstria se tornou
de a pesquisa poder servir de base para estudantes dos cursos comum. Robs tm sido teis at mesmo para execuo de
tcnicos e das engenharias, para entender como funcionam as atividades simples rotineiras das pessoas, ou at mesmo
tcnicas de controle de processos na prtica. atividades que exijam certo grau de risco para as pessoas
Palavras Chaves: Robs Seguidores de Linha, Controle PID, fazerem. Hoje, robs so integrados de diversos sensores que
Arduino, Competio de Robtica. permitem monitorar atividades e o meio em que o mesmo se
encontra alm de realimentar sistemas proporcionando a
Abstract: Line follower robots are autonomous robots that execuo de tarefas de forma autnoma. Desta forma, pelo fato
have the finality of follow a way described by a line drawn on dos robs executarem tarefas importantes, tem-se buscado cada
a surface of contrasting color with the line color. At vez mais desenvolver robs com processamentos mais rpidos
competitions, wins the robot that finishes the route in less time, e cada vez mais precisos [IEEE SPECTRUM, 2010].
following the route completely. On this basis, was developed a Hoje j existem diversas formas e artifcios para melhorar
line follower robot and your software using the Arduino o desempenho e o tempo de realizao das atividades. Uma das
platform and control by PID algorithm, in order to obtain a formas bem conhecidas no ramo industrial atravs do
better performance and more precision compared to ON/OFF algoritmo PID (Proporcional-Integral-Derivativo). O sucesso
method, that is very inaccurate when the velocity is high and dos controladores PID tambm reforado pelo fato de que
the bends are accentuated. In the sensing of the line was used a muitas vezes representam o componente fundamental para os
reflectance sensors array that uses infrared (IR). The software sistemas de controle mais sofisticados que podem ser
was developed in C language. The PID parameters were implementados quando a lei bsica de controle no suficiente
adjusted by trial and error method. The tests were made using para obter os desempenhos requeridos [VISIOLI, 2006].
the ON/OFF technique in the robot, then was used the PID
Mostra Nacional de Robtica (MNR) 1
Este artigo visa apresentar o desenvolvimento de um rob de funes de leitura de pinos, atuao dos pinos e porta serial,
competio na categoria seguidor de linha, utilizando a tambm a parte do cdigo onde programada toda a lgica
plataforma Arduino e algoritmo PID, aplicando o mtodo das do processo.
tentativas e erros para ajuste dos valores das constantes do
controle PID. 3 CONTROLE PID
O PID o algoritmo de controle mais usado na indstria e
2 ARDUINO tem sido utilizado em todo o mundo para sistemas de controle
industrial. A popularidade de controladores PID pode ser
Arduino uma plataforma de prototipagem eletrnica de
atribuda em parte ao seu desempenho robusto em uma ampla
cdigo aberto, ele pode sentir o ambiente recebendo uma
gama de condies de funcionamento e em parte sua
entrada de uma variedade de sensores e pode atuar ao seu
simplicidade funcional, que permite aos engenheiros oper-los
arredor atravs do controle de luzes, motores, e outros
de uma forma simples e direta [NATIONAL INSTRUMENTS,
atuadores [ARDUINO, 2014].
2011]. Para isto necessrio entender que no cotidiano
Ele comporta um microcontrolador e um conversor existem variveis que podem ser controladas e manipuladas,
USB/Serial para ser possvel comunicar o microcontrolador a variveis como presso, vazo, temperatura, nvel, so
um computador. Existem diversas verses da placa, mas a mais exemplos comuns. Para que estas variveis possam ser
conhecida o Arduino UNO R3. Estas placas possuem mantidas sob controle dentro de um processo so utilizadas
diversos pinos que podem ser utilizados como entrada ou sada tcnicas de controle que quando aplicadas buscam manter
de sinais (digitais ou analgicos), esses pinos permitem a sempre constantes os valores desejados pelo usurio, por
comunicao com dispositivos externos como leds, LCDs exemplo, um ar condicionado configurado para uma
(Liquid Crystal Display), sensores, rels, pontes H, pequenos temperatura de 20C possui um sistema de controle que
motores, e demais dispositivos que podem indicar um status ou monitora a temperatura ambiente e atua seu sistema de
simplesmente atuar, modificando o processo. refrigerao para manter a temperatura de 20C constante
O microcontrolador da placa UNO R3 o ATmega328P [FRANCHI, 2011].
de 8bits, com 32 kbytes de memria flash, 2 kbytes de RAM O controle PID leva este nome por ser um sistema de
(Random Access Memory). Pelo fato do Arduino UNO R3 controle Proporcional-Integrador-Derivativo, mais da metade
possuir apenas 6 entradas com conversor analgico digital e o dos controladores industriais utilizados atualmente empregam
projeto deste artigo requerer 8 entradas deste tipo, opto-se pelo esquemas de controle PID ou PID modificado [OGATA,
uso de uma placa Arduino Mega 2560 R3. Este por sua vez, 2003]. O controlador PID recebe o valor de uma varivel do
usa o microcontrolador ATmega2560 de 8 bits, com 256 kbytes processo, que obtido atravs de um sensor e compara este
de memria Flash, 8 kbytes de RAM, alm de possuir 54 pinos valor com um set-point/referncia configurado, para calcular o
digitais que podem ser usados como entrada ou sada (sendo valor de erro. A partir do valor deste erro so calculados os
que 15 possuem o recurso PWM) e 16 entradas analgicas valores proporcionais, integrativos e derivados que so
[ATMEL CORPORATION, 2014]. somados na sada resultando numa resposta para elementos
O Arduino possui IDE (Integrated Development Environment) finais de controle, como vlvulas, por exemplo. O processo
prpria. O ambiente de cdigo livre Arduino torna fcil funciona em malha fechada, ou seja, o controlador recebe o
escrever cdigo e envi-lo placa I / O. A IDE executvel em feedback constante do sensor responsvel pela leitura da
Windows, Mac OS X, e Linux. O ambiente escrito em Java e varivel, observe a figura 1.
baseado em Processing, avr-gcc e outros softwares de cdigo
livre [ARDUINO, 2014].

2.1 IDE ARDUINO


A linguagem de programao Arduino se baseia em Wiring,
que por sua vez simplifica o uso da linguagem C/C++ no
programa. Por ser cdigo livre, hoje j existem na internet,
gratuitamente, vrias de bibliotecas escritas em C++ que
podem ser includas no cdigo fonte, de qualquer um que esteja
programando, para diversas tarefas [ARDUINO, 2014].

2.2 ESTRUTURA DA LINGUAGEM


A linguagem bem simples, e compostas por duas
funes principais, a funo setup() e a funo loop(). No Figura 1 - Diagrama de blocos de um controlador PID em
somente estas funes, a linguagem tambm pode compor malha fechada.
outras funes criadas pelo programador. Quando iniciado o No diagrama de blocos acima mostrado o fluxo do
Arduino, as funes so executadas linha por linha. controle PID em uma malha fechada, onde e(t) o erro
A funo setup() alm de ser a primeira funo a ser calculado no tempo que resultado do Set-point f(t), s(t) a
executada ao iniciar o programa, executada apenas uma vez sada do controlador PID que o resultado da somatria dos
quando o Arduino ligado ou quando for reiniciado. nessa valores proporcionais, integrador e derivativo, e f(t) o sinal de
funo que so configurados os pinos, alm de iniciar/ativar a feedback constante [CONTROL TUTORIALS, 2012].
comunicao serial.
A funo loop() a segunda funo a ser executada, nela as
instrues so executadas infinitamente, ou seja, ao executar a
ltima linha dentro da funo, o programa volta ao incio do
loop e executado novamente. no loop que so chamadas as
Mostra Nacional de Robtica (MNR)
O clculo realizado da seguinte forma no controlador:
= + +
Onde:
Kp: ganho proporcional
Ki: ganho integrativo
Kd: ganho derivativo
P: correo proporcional ao erro. A correo a ser
aplicada ao processo deve crescer na proporo que cresce o
erro entre o valor real e o desejado. I: correo proporcional ao
erro x tempo. Erros pequenos, mas que existem h muito tempo
requerem correo mais intensa. D: correo proporcional
taxa de variao do erro. Se o erro est variando muito rpido,
esta taxa de variao deve ser reduzida para evitar oscilaes
[NOVOS, 2014].
O PID no a soluo para o controle de todo o tipo de
processo. Uma vez que os requisitos de desempenho foram Figura 2 Funcionamento do Loop().
especificados, o prximo passo analisar o sistema e Todas estas atividades foram realizadas por quatro
selecionar um controle adequado. Na grande maioria das estudantes de engenharia mecnica, eltrica e tcnico em
aplicaes, um controle PID ir fornecer os resultados exigidos eletrotcnica, que dividiram os trabalhos em construo do
[NATIONAL INSTRUMENTS, 2011]. Quando sua aplicao chassi, configurao eletrnica, estudo do processo e
vivel o controle PID vantajoso por ser capaz de emitir um programao. Primeiramente foi elaborado um prottipo do
sinal de sada varivel para o atuador, consequentemente a chassi e definido todo o circuito eletrnico do rob, aps estar
varivel de processo ser manipulada de forma mais precisa, feito, foi elaborado uma pista para executar os testes. O rob e
suave e estvel. Diferentemente do modo de controle ON/OFF, a pista de testes produzida foram elaborados com base nas
que liga e desliga o atuador, o PID pode modul-lo de 0 a regras da competio de seguidores de linha da Robocore
100%. Considerando o exemplo anterior do ar condicionado, se [ROBOCORE, 2014].
seu sistema de controle for ON/OFF ele liga e desliga o
compressor para manter a temperatura constante, o PID
consegue gerar uma sada que pode ser usada por um inversor
de frequncia para realizar a modulao desse compressor de 0
a 100% da velocidade.

4 O TRABALHO PROPOSTO
O desafio do trabalho foi desenvolver um rob seguidor de
linha que fosse capaz de seguir a linha sem sair do trajeto e que Figura 3 Modelagem Conceitual da Verso Final do
realizasse uma volta no percurso em menor tempo possvel, o Rob.
que fez com que o rob estivesse sendo sempre configurado
para atingir nveis mais altos de desempenho. Para atingir 5 MATERIAIS E MTODOS
nveis de desempenho satisfatrios trabalhou-se com a hiptese
de que o rob sendo controlado por PID seria capaz de alcanar Aqui sero mostrados quais materiais foram utilizados
um melhor desempenho e que este mtodo de controle faria para construo do rob, e como decorreram os testes para
com que o rob seguisse a linha de forma mais precisa e suave. ajustar constantes de ganho do PID.
O rob seguidor de linha um rob construdo para
participar de competies onde o ganhador o rob que
consegue percorrer um trajeto com uma linha branca desenhada
em fundo preto, ou uma linha preta desenhada em fundo
branco, sem se perder no percurso nem utilizar atalhos. O rob
do projeto foi construdo sobre uma placa de MDF, utilizada
como chassi. Sobre este chassi foi instalado um par de motores
com rodas acopladas, uma placa Arduino MEGA, os sensores
de refletncias, uma ponte H, uma roda boba, e a bateria.
O Arduino realiza o controle do processo, ele recebe a leitura
dos sensores e executa o algoritmo PID para corrigir os erros, a
sada enviada para uma ponte H, que controla a velocidade e
direo dos motores.

Figura 4 Rob Seguidor de Linha Montado

Mostra Nacional de Robtica (MNR) 3


5.1 MATERIAIS e, por conseguinte, fazer o rob seguir a linha de maneira mais
suave.
O corpo do rob foi feito com MDF (Medium-Density
Fiberboard), possui 2 micro motores com reduo 30:1, 1 par Em cada teste realizado era medido o tempo que o rob
de rodas pololu 60x8mm e uma grande esfera transferidora, levava para completar uma volta completa no percurso. Uma
alm de alguns parafusos. Para o sensoriamento foi utilizado verificao visual era realizada para checar como estava a
uma barra de sensores de refletncia IR (QTR-8A um estabilidade do rob seguindo a linha e para que pudessem ser
conjunto de 8 sensores de sada analgica). E para controle foi corrigidos as oscilaes e movimentos bruscos que faziam o
utilizado um Arduino Mega 2560 R3 e uma ponte H L298. rob sair da linha.
Tabela 1 Lista de Materiais.
6 RESUTADOS E DISCURSSO
MATERIAIS QUANTIDADES
Durante os primeiros testes sem PID, utilizando o mtodo
ARDUINO MEGA 2560 R3 1 un. de controle ON/OFF, e com a velocidade baixa, foi visto que o
PONTE H L298 1 un. rob oscilava muito e realizava movimentos muito bruscos
tentando se estabilizar em meio a linha. Quando a velocidade
MDF(Medium-Density Fiberboard) 15cmx15cm foi aumentada, ainda utilizando o mtodo ON/OFF, verificou-
Micro Motores com Reduo 30:1 2 un. se que o rob no conseguia fazer as curvas. Ele se
desestabilizava e saa da linha.
Par de Rodas 60x8mm 1 un. Quando o controle PID foi implementado com as
Esfera Transferidora 1 un. constantes zeradas, constatou-se que rob seguia um
movimento prximo do retilneo e no fazia curvas. Aps isto,
BARRA DE SENSORES QTR-8A 1 un. ajustou-se inicialmente Kp at que o rob comeasse a seguir a
linha (oscilando ou no). Aps isto, o inicio-se o ajuste de Kd
para que diminusse a oscilaes em meio a linha. E por fim,
5.2 MTODOS ajustou-se Ki para otimizar o controle, melhorando o tempo de
Os testes foram realizados numa pista feita pelo grupo. resposta da sada.
Ela foi elaborada em CAD com um tamanho de 2,10x1,40m, a Com todos os testes, foi comprovado experimentalmente
linha possui uma largura de 19,0mm 1mm, e foi projetada em que o controle PID mais eficiente e eficaz que o mtodo de
cor branca sobre um fundo preto, conforme as regras do controle ON/OFF, para o seguidor de linha, sendo que quando
campeonato Winter Challeng [ROBOCORE, 2014], sendo as usava o controle ON/OFF o rob levava muito tempo para
cores da figura 5 representativas. A pista foi impressa em lona. fazer o percurso (quando conseguia fazer totalmente) enquanto
Ela possui uma rea que define a partida/chegada do rob, que que com o controle PID, percorria a pista com muito mais
utilizada para marcar quando o rob completa voltas no velocidade e com oscilaes bem pequenas.
percurso, tambm composta por curvas de leves e maiores
acentuaes com pequenas linhas de referncia para indicar o 7 CONCLUSES
incio/fim da curva. Uma rea circular utilizada para o teste
Com base no que foi apresentado, possvel observar que
da capacidade de curva do rob, e linhas perpendiculares esto
o controle do seguidor de linha utilizando controle PID bem
presentes para simular cruzamentos na pista.
mais eficiente que utilizando o mtodo de controle ON/OFF.
Embora algumas adversidades como o material da pista, que
refletia as ondas infravermelhas (IR) de maneira instvel, o
rob projetado conseguiu percorrer a pista elaborada muito
bem.
O trabalho desenvolvido utilizando mtodos de controle
ideal para estudantes dos cursos tcnicos, engenharias e reas
da tecnologia, pois uma forma de mostrar na prtica como
funcionam os algoritmos de controle e a forma como cada um
se comporta. Um aperfeioamento do trabalho desenvolvido
neste artigo pode ser a elaborao de um material didtico para
estudantes de automao, tomando como base de estudo tudo
que foi desenvolvido no seguidor de linha, explicando um
passo a passo de como pode ser construdo um rob, e utiliz-
Figura 5 Pista de testes. lo como ferramenta de teste para clculos e procedimentos
matemticos de controle.
Os primeiros testes do rob foram realizados sem o
controle PID pelo mtodo ON/OFF e com uma velocidade
baixa, aps os testes com a velocidade baixa foram realizados REFERNCIAS BIBLIOGRFICAS
novos testes e em cada um destes a velocidade era aumentada.
Aps os testes pelo mtodo ON/OFF, mudou-se o software
com a implementao do algoritmo PID, inicialmente com as ARDUINO. Home Page. Disponvel em:
constantes Kp, Ki e Kd ajustadas para zero. Assim pelo mtodo <http://www.arduino.cc>. Acesso em: 07/07/2014.
de tentativa e erro, foi ajustado o primeiramente o valor de Kp, ARDUINO. Introduction. Disponvel em:
depois Kd e por ltimo Ki. <http://arduino.cc/en/Guide/Introduction>. Acesso em:
Os valores das constantes de ganho foram vrias vezes 12/07/2014.
redefinidas durante estes testes at que se encontrasse sintonia,
Mostra Nacional de Robtica (MNR)
ATMEL CORPORATION. ATmega328p. Disponvel em:
<http://www.atmel.com/pt/br/devices/ATMEGA328P.a
spx>. Acesso em: 08/07/2014.
ATMEL CORPORATION. ATmega2560. Disponvel em:
<http://www.atmel.com/devices/atmega2560.aspx>.
Acesso em: 08/07/2014.
CITE. Histria da Robtica. Disponvel em:
<http://www.citi.pt/educacao_final/trab_final_inteligenc
ia_artificial/historia_da_robotica.html>. Acesso em:
07/07/2014.
CONTROL TUTORIALS. Introduction: PID Controller
Design. Disponvel em:
<http://ctms.engin.umich.edu/CTMS/index.php?exampl
e=Introduction&section=ControlPID>. Acesso em:
10/07/2014.
FRANCHI, Claiton Moro.Controle de Processo Industriais
Princpios e Aplicaes. So Paulo: rica, v. 1, 2011.
IEEE SPECTRUM. World Robot Population Reaches 8,6
Million. Disponvel em:
<http://spectrum.ieee.org/automaton/robotics/industrial-
robots/041410-world-robot-population>. Acesso em:
12/07/2014.
NATIONAL INSTRUMENTS. Explicando a Teoria PID.
Disponvel em: < http://www.ni.com/white-
paper/3782/pt/>. Acesso em: 09/07/2014.
NOVOS. Artigo Tcnico Introduo ao controle PID.
Disponvel em:
<http://das.ufsc.br/~aarc/ensino/posgraduacao/DAS661
3/PID_Novus.pdf>. Acesso em: 10/07/2014.
OGATA, Katsuhiko; LEONARDI, Fabrizio. Engenharia de
controle moderno. Prentice Hall, 2003.
ROBOCORE. Eventos. Disponvel em:
<https://www.robocore.net/upload/attachments/robocore
__regras_seguidor_de_linha_165.pdf.>. Acesso em:
15/04/2014.
VISIOLI, Antonio. Practical PID control. Springer, 2006.

Mostra Nacional de Robtica (MNR) 5

Você também pode gostar