Professional Documents
Culture Documents
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA MECANICA
GRADUAÇÃO EM ENGENHARIA MECÂNICA
ALYSSON CARNIATO
ANDRÉ THIAGO TAGUCHI
DAVID CESAR PILOTO
Maringá
2018
ALYSSON CARNIATO
ANDRÉ THIAGO TAGUCHI
DAVID CESAR PILOTO
Orientador:
Professor Me. Cássio Rodolfo Aveiro da Silva
Coorientador:
Professor Dr. Wagner André dos Santos Conceição
Maringá
2018
ALYSSON CARNIATO
ANDRÉ THIAGO TAGUCHI
DAVID CESAR PILOTO
Aprovado em de de
BANCA EXAMINADORA
_____________________________________
Prof. Me. Alisson Cocci de Souza
Universidade Estadual de Maringá
_____________________________________
Guilherme Hitoshi Kaneko
Universidade Estadual de Maringá
Maringá
2018
RESUMO
.
ABSTRACT
The present work consisted in developing a model of an autonomous collaborative robot that is
able to move through a path that simulate a simple e-commerce warehouse. For this was
performed the selection of the parts of the mechanism responsible for the lifting of the load and
the Arduino platform was used to control the optical sensors responsible for the robot's
locomotion. From the initial tests it was necessary to use the PID control to move the model.
The tools used were the Arduino platform, the CAD software Solidworks® v. 2011 and the
software Matlab. The PID constants were tuned by the Ziegler-Nichols method. This resulted
in a robot capable of carrying a light load and moving smoothly through a predetermined
trajectory.
3D Formato Tridimensional
CAD Computer Aided Design
CC Corrente Contínua
DC Direct Current
EEPROM Electrically-Erasable Programmable Read-Only Memory
GPS Global Positioning System
IDE Integrated Development Environment
LED Light Emitting Diode
MV Variável Manipulada
P Resposta Proporcional
PD Proporcional- Diferencial
PI Proporcional-Integral
PV Process Variable
PID Proporcional-Integral-Diferencial
PLA Poliácido Láctico
PWM Pulse Width Modulation
RMA Robô Móvel Autônomo
SLAM Simultaneous Localization And Mapping
SP Variável de Processo
SRAM Static Random Access Memory
SV Valor Desejado
SUMÁRIO
1 INTRODUÇÃO ................................................................................................................... 13
3 METODOLOGIA................................................................................................................ 30
4 RESULTADOS .................................................................................................................... 37
5 CONCLUSÃO...................................................................................................................... 51
REFERÊNCIAS ..................................................................................................................... 52
1 INTRODUÇÃO
Do seu surgimento na década de 70 quando era utilizado apenas por grandes empresas
e instituições bancarias até os dias de hoje, o comércio eletrônico tem revolucionado
gradualmente a forma como compramos e vendemos. Isso se deve principalmente à
aproximação entre fabricantes e consumidores que essa modalidade possibilita. Uma atividade
que antes era restrita ao ambiente físico de uma loja e ao seu horário de funcionamento hoje é
realizada de qualquer lugar, a qualquer hora, de forma fácil e segura (MENDONÇA, 2016, p.
240-245).
Impulsionados pela democratização da internet e de formas cada vez mais eficazes de
se realizar transações monetárias online, os negócios baseados em e-commerce hoje abrangem
uma gama enorme de prestadores de serviço. Segundo o último relatório Webshoppers
fornecido pela E-bit, uma empresa que monitora o varejo digital no Brasil, o comércio
eletrônico faturou cerca de R$ 47,7 bilhões obtendo um crescimento nominal de 7,5% no ano
de 2017. O mesmo relatório prevê para 2018 um faturamento de pelo menos R$ 55 bilhões, um
crescimento de 12% (SECULODIGITAL, 2018).
No entanto o aumento desses números tem um preço. Junto com eles, crescem também
as demandas e expectativas de clientes que esperam cada vez mais por um serviço rápido e
eficiente. Dessa forma, varejistas online necessitam cada vez mais de tecnologias que possam
atualizar as operações de seus armazéns às realidades do setor. Segundo o Centro Alemão de
Tecnologia e Gestão, em um armazém comum de uma empresa de e-commerce, apenas a
atividade de coleta de itens, que na maioria dos casos é feita de forma manual, corresponde a
55% dos custos de logística na armazenagem dos produtos (BOGUE, 2016, p. 583).
Diversas formas de automação têm sido usadas em armazéns no decorrer dos anos. No
entanto, devido a quantidade de pedidos e itens armazenados atualmente, a automação dos
processos se tornou um pré-requisito absoluto para a manutenção do negócio. Nesse quadro, a
robótica móvel se destaca como um dos eixos principais da revolução do trabalho em um
armazém. Uma tendência que, iniciada pela gigante Amazon, tem a cada dia, encontrado mais
adeptos entre as empresas do setor (BROWN, 2018).
14
Tendo em vista todo esse quadro o estudo das técnicas de automação e sua aplicação
tem fundamental importância nas transformações que serão vistas nos próximos anos no
ambiente de trabalho.
2 REVISÃO BIBLIOGRÁFICA
2.1.1 Atuadores
Atuadores são dispositivos que geram e impõem movimento a qualquer parte mecânica
pelo desenvolvimento de forças e binários baseada num princípio físico de conversão de
energia. Podem ser, por exemplo, motores elétricos, cilindros hidráulicos, ou pneumáticos,
eletroímãs, etc. Muitas vezes tem associados elementos de transmissão mecânica (SANTOS,
2003).
2.1.2 Sensores
2.2 CONTROLADOR
Unidade capaz de gerar informação de ativação de um ou mais atuadores com base num
algoritmo de controle. Esse algoritmo pode levar em conta o comando desejado, o estado
corrente do atuador e o próprio ambiente. Os algoritmos mais comuns recorrem ao chamado
controle PID (proporcional-integral-diferencial) (SANTOS, 2003).
Quando não existe em separado, o controlador chega a incluir a unidade de potência, ou
seja, o elemento que liga diretamente ao atuador fornecendo-lhe a energia que necessita com
18
base numa informação de baixo teor energético, como os sinais elétricos da saída de muitos
controladores (SANTOS, 2003).
O PID é o algoritmo de controle mais usado nas aplicações de automação. Essa técnica
consiste em calcular um valor de atuação sobre o processo a partir das informações do valor
desejado e do valor atual da variável do processo (NOVUS, 2003). Esse tipo de controle é
largamente utilizado pois minimiza o erro e evita oscilações do sistema.
A Figura 2 mostra a estrutura do controlador PID juntamente com seus parâmetros, ou
seja: O parâmetro proporcional, responsável por minimizar o sinal de erro; o parâmetro integral
responsável por zerar o erro e o parâmetro derivativo responsável pela antecipação das entradas
de dados.
Os parâmetros PID podem ser calibrados usando-se diversas técnicas dependendo do
objetivo final do sistema em que este é aplicado (BISHOP, 2001).
Variável manipulada: Variável sobre qual o controlador atua para controlar o processo,
é designada pela sigla MV. Alguns exemplos são a posição de uma válvula, tensão aplicada a
uma resistência de aquecimento, etc.
Variável de processo: Comumente representada pela sigla PV (process variable) é a
variável sobre o qual se efetuará o controle no processo; como umidade, velocidade, pressão,
etc.
Valor desejado para variável de processo: Também conhecido como Referência é
representado pelas siglas SP ou SV e representa o valor a ser alcançado pelo processo.
Ação controle: Pode ser direta ou reversa. É direta quando a variável de processo
aumenta com o aumento da variável manipulada aumenta e reversa quando a variável de
processo aumenta quando a variável manipulada diminui.
Erro ou Desvio: É a diferença entre PV e SV.
De forma simples a ideia por trás de um controlador PID é receber o sinal, calcular a
resposta de saída através do cálculo proporcional, integral e derivativo e então somar as três
componentes para calcular o valor de saída da variável manipulada. Dessa forma é possível
obter um valor de atuação para o processo partindo-se do valor atual da variável manipulada e
do valor desejado para essa variável. Esse valor de atuação é utilizado para se enviar um sinal
ao atuador que controla a variável, estabilizando o processo (NOVUS, 2003).
Resposta proporcional – P: Essa função do controlador produz um valor na saída
proporcional ao erro obtido na realimentação. A resposta proporcional pode ser ajustada a partir
da constante de ganho Kp. Quanto maior a constante Kp, maior será o ganho do erro e mais
instável será o sistema, ou seja, em termos práticos o processo irá se estabilizar abaixo do valor
de referência. No entanto se a constante Kp for muito pequena, menor será o seu tempo de
resposta, ou seja, o processo se estabilizará próximo ao valor de referência, porém com grande
oscilação (NOVUS, 2003).
Resposta Proporcional-Integral – PI: O controle Integral sempre é utilizado com o
controle Proporcional. A função integral soma todos os erros instantâneos e então a somatória
é multiplicada pela constante Ki. A função integral do controlador PID acelera o movimento
do processo até o ponto desejado e elimina o erro que ocorre na função anterior. Um valor alto
para essa parcela gera instabilidade no processo, enquanto que um valor muito pequeno irá
aumentar o tempo que o processo irá demorar para atingir o valor de referência (NOVUS,
2003).
Resposta Proporcional-Derivativa – PD: A ação derivativa consiste em uma resposta de
saída do controlador sendo esta proporcional à velocidade de variação do desvio. A ação
20
derivativa tem o efeito de reduzir a velocidade das variações da variável de processo, evitando
que essa se eleve ou reduza rápido demais. Essa ação tem efeito nulo caso o processo esteja
estável, atuando apenas quando há variação no erro (NOVUS, 2003).
Resposta Proporcional-Integral-Derivativa- PID: Através da união das três respostas
obtêm-se o controle através da parcela proporcional, a eliminação do erro através da parcela
Integral e a diminuição das oscilações através da parcela derivativa (NOVUS, 2003).
Existem várias formas de se fazer o ajuste dos parâmetros P, I e D. As mais comuns são
por meio de métodos como os de Ziegler Nichols e “guessandcheck”.
A forma mais comum do método de Ziegler Nichols define-se inicialmente I e D como
zero enquanto aumenta-se P até que o ciclo comece a oscilar periodicamente. A partir daí o
período crítico (Pcr) e o ganho crítico (Kcr) podem ser obtidos de forma experimental ou através
de simulação dinâmica à um degrau unitário, geralmente em formato de s representado na
Figura 3 (OGATA, 2010).
Essa curva tem como característica duas constantes. O atraso, ou tempo morto 𝜏𝜏𝑚𝑚 e a
constante de tempo τ, essas constantes podem ser encontradas traçando uma linha tangente com
os eixos dos tempos e a linha c(t) = K. A função transferência para o processo v(t)/V(t) pode
ser aproximada como um sistema de primeira ordem com atraso de transporte, Equação 2.
(OGATA,2010).
21
grade
Dessa forma tem-se um quadro baseado no tempo de resposta do sistema e seus
parâmetros a serem utilizados, Quadro 2.
PI 0,9𝑇𝑇 𝐿𝐿 0
𝐿𝐿 0,3
O método “guessandcheck”, ou tentativa e erro pode ser utilizado quando se sabe o que
o ganho em cada parâmetro representa. No método, os termos integrador e derivativo são
zerados e o ganho proporcional é aumentado até que se inicie a oscilação do ciclo.
O ganho proporcional torna o sistema mais rápido, nessa etapa deve-se estar atento à
instabilidade do sistema. Uma vez que a parcela proporcional foi definida para obter uma
resposta rápida desejada, o termo integral é então aumentado para que se estabilize as
oscilações. Finalmente ajusta-se o termo integral para que o erro no estado estacionário seja o
menor possível. Definindo-se as parcelas proporcional e integral o termo derivativo é
aumentado até que o loop aumente sua rapidez em relação ao seu ponto de referência
(GOODWIN, 2000).
22
2.3 ARDUINO
SRAM 2KB
EEPROM 1KB
Velocidade do Clock 16MHz
Fonte: Hachouche, 2017.
Figura 6 - S1 e S3 acionados
Já quando o par S2 e S4 são acionados a corrente percorre pelo outro caminho, fazendo
que o motor gire no sentido oposto (Figura 7) (CARDOSO, 2018).
Figura 7 - S2 e S4 acionados
A ponte H L298N (Figura 8) também possibilita utilizar motores DC acima dos 5V,
fornecidos pelo Arduino, ou seja, permite a utilização de motores com maior potência, e
também utiliza sinais de PWM, permitindo o controle da velocidade dos motores, mais
características desse driver estão presentes no Quadro 4 (CARDOSO, 2018).
25
Esses motores são dispositivos que convertem pulsos elétricos em rotação mecânica com
variações angulares discretas. O eixo do motor é rotacionado em pequenos passos, o que
propicia movimentos com grande precisão, com isso é possível controlar o ângulo de rotação,
velocidade, posição e sincronismo. E esse é o ponto forte dos motores de passo, por conta da
grande precisão nos movimentos estes são utilizados em muitos dispositivos do dia-a-dia como
26
Este controlador (Figura 10) permite o Arduino controlar motores que possuam
correntes maiores que 50mA até um máximo de 500mA, o que impede que correntes excessivas
causem problemas de funcionamento ou até mesmo de o motor tornar-se inutilizável
(THOMSEM, 2018).
27
Este sensor (Figura 11) contém um LED infravermelho e um fototransistor, o LED emite
radiação que ao atingir uma superfície próxima é refletida. A radiação refletida é captada pelo
fototransistor gerando um sinal digital simples de valor 1 quando a radiação refletida for fraca
ou inexistente e valor 0 quando a radiação emitida for mais intensa, ou seja, nos caso do
seguidor de linha, usa-se uma faixa de cor preta que praticamente não reflete a radiação
infravermelha gerando o sinal digital de valor 1 e para outras superfícies de outra cor que não
seja a preta a radiação refletida é mais intensa gerando o sinal digital de valor 0
(INSTITUTODIGITAL, 2018).
2.8 MOTOR DC
3 METODOLOGIA
Primeiramente foi estabelecido que a construção do robô deveria ser simples, de baixo
custo e capaz de fazer com que este se mova seguindo um trajeto predefinido e transportar uma
carga leve de pelo menos 4kg para um local específico.
O trabalho foi dividido em três etapas: Produção do robô, Elaboração do código de
programação e Montagem do conjunto e controle.
Na etapa de Produção do robô, foram realizadas as atividades de seleção do chassi e
seleção ou elaboração das partes que compõem o mecanismo para o levantamento da carga
assim como a localização dos componentes no chassi. Nessa etapa também foi especificada a
carga a ser levantada a partir das tensões suportadas pelo chassi, obtidas através da simulação
feita através do software Solidworks® v. 2011 e o percurso a ser percorrido pelo robô.
Em seguida, na etapa de elaboração do código e circuito utilizaram-se as bibliotecas e
tutorias disponíveis, para a criação dos códigos de controle de movimentação, controle do motor
de passo responsável pelo funcionamento do mecanismo e declaração da função PID.
Na etapa de Montagem do conjunto e controle, as atividades realizadas foram: fixação
dos componentes na placa do chassi e aplicação do código.
Foi selecionado um kit completo (Figura 15) com carrinho, motores e a plataforma
Arduino disponível em sites especializados dentre os vários disponíveis. Para a escolha levou-
se em conta o espaço livre no chassi, assim como a carga pré-definida, custo do kit e
componentes que compunham o kit. A partir dessas características selecionou-se um conjunto
de um carrinho seguidor de linha com dois motores DC, duas rodas movidas pelos motores DC,
uma roda livre, um chassi de acrílico, dois sensores infravermelho, uma placa protoboard, placa
Arduino UNO e braçadeiras para fixação, que foram substituídas posteriormente por parafusos
para melhor fixação. Esse kit possui uma área de chassi de aproximadamente 61837,82 mm²,
que apresenta a possibilidade de modificação do chassi e facilidade de trabalho para a
montagem do mecanismo para levantamento de carga.
31
Devido à falta de informações sobre as tensões suportadas pelo chassi realizou-se uma
simulação utilizando o software SolidWorks® v. 2011 na determinação das tensões máximas
suportadas através do método de Mohr-Coulomb, e assim obter a carga máxima suportada para
que os estudos sobre o controle pudessem ser realizados dentro da carga já especificada.
Para o sistema de levantamento de carga a ser acoplado ao robô, foi realizado a seleção
de componentes disponíveis no mercado que fossem capazes de atender aos requisitos.
O atuador idealizado deveria ser composto por um parafuso posicionado no chassi
fixado em um mancal de deslizamento e controlado por um motor de passo. Então foi realizada
a seleção de um parafuso de modo que o mesmo pudesse ser acoplado ao eixo do motor através
de um acoplador, este foi o único critério para a seleção já que o objetivo do presente projeto
consiste em apenas demonstrar o controle por meio de automação de um motor de passo na
elevação da carga e não o dimensionamento do atuador. Também foi utilizado um mancal de
deslizamento axial para ser fixado na base de levante. Assim, após procura de vários parafusos,
selecionou-se um fuso roscado trapezoidal acompanhado por um mancal de deslizamento e um
acoplador para o motor-parafuso. Com as dimensões do parafuso, mancal e acoplamento em
mãos, foi possível determinar as dimensões aproximadas da guia da base e da base de levante
de tal sorte que fosse possível encaixar no mancal e no parafuso, além de que coubesse as partes
na superfície superior do carrinho sem que ocupasse muito espaço. Então, com o auxílio do
SolidWorks® V. 2011, fez-se o desenho 3D da guia da base (furo) e da base de levante (eixo)
que permitiu a realização da impressão dessas partes. O efeito do atrito entre a guia da base e a
base de levante foi reduzido devido a utilização de tolerância dimensional IT14. As partes
constituintes do atuador assim como uma representação do seu funcionamento são apresentadas
nas Figuras 17 e 18 respectivamente.
33
Os componentes do circuito final elaborado são compostos por: quatro sensores ópticos
do modelo TCRT5000, dois motores DC 12V, um motor de passo 28BYJ-48, placa driver
ULN2003, bateria de 9V, quatro pilhas AA (1,5V cada), uma protoboard, um circuito integrado
de ponte H-L298N e uma placa Arduino Uno.
Uma representação do circuito utilizado para o controle dos motores DC, motor de passo
e sensores ópticos, foi elaborado com o auxílio do software Fritzing e está representado na
Figura 19.
De início, fixou-se os dois motores DC de 12V com as duas rodas motoras na parte
traseira do chassi e em seguida foi fixado a roda livre na parte dianteira. Assim, foi montado
todo o circuito e fixado na superfície superior do carrinho, e depois os sensores seguidores
foram posicionados de modo que a altura do sensor para a superfície do chão não ultrapassasse
25 mm, que é a distância máxima especificada no datasheet do componente. A distância entre
35
4 RESULTADOS
Neste capítulo serão apresentados os resultados obtidos da seleção dos elementos para
o mecanismo de levantamento de carga, do controle do robô e do refinamento da sua
movimentação. É também explicado como se chegou a conclusão de que seria necessário o uso
do PID para estabilizar a navegação do robô na trajetória.
Os testes foram realizados na trajetória elíptica (Figura 21) definida simulando as duas
posições necessárias, ou seja, a posição de levantamento da carga e a de abaixamento. Manteve-
se especial atenção em como a disposição das partes fixadas no robô afetavam a leitura dos
sensores. Com isso, notou-se que a distância entre os dois sensores TCRT5000 da superfície do
circuito inicialmente definidos como 2 cm (valor menor que o descrito no datasheet do sensor),
não estava sendo totalmente efetivo, já que em alguns momentos o indicador de captação do
sensor indicava que a radiação emitida era recebida de volta, de modo que afetou negativamente
os dados coletados. Um dos motivos é que a superfície do circuito inicial de papelão continha
algumas imperfeições que o robô ao passar por estas, deixava os sensores muito próximos a
superfície ou muito afastada. Com a substituição da superfície por outra sem imperfeições
houve a melhora da leitura pelos sensores, o que fez o robô seguir a linha com maior fluidez.
No entanto, ainda houveram erros na leitura dos sensores, com isso notou-se que o chassi não
estava exatamente na horizontal e foi necessário adequá-lo pois a roda livre era um pouco mais
baixa que a altura das rodas traseiras (Figura 22), assim foi necessário regular a altura da
mesma.
38
A distância entre os sensores se mostrou correta nos testes, já que o carrinho seguia a
linha em trajetos retos com perfeição, mas em curvas muitas vezes o mesmo saiu do trajeto,
principalmente nas curvas (Figura 23), isto ocorria pois não havia até então uma forma de
reduzir a velocidade do carrinho nessas curvas.
39
Para seguir a linha, inicialmente utilizou-se dois sensores apenas, e o código foi dividido
em 3 funções principais: curva para esquerda e curva para a direita, além da função que faz a
parada do motor ao encontrar a linha horizontal e ativar o motor de passo para levante da carga.
Essas funções foram implementadas através da biblioteca stepper.h, e o código está
representado na Figura 25.
Uma das funções denominada LEFT é chamada pelo programa quando o sensor
esquerdo encontra a linha e consequentemente retorna um sinal 0 para o programa, fazendo
com que a roda esquerda pare, forçando o carrinho a realizar uma curva para a esquerda. A
função RIGHT é chamada pelo programa quando o sensor direito encontra a linha e
consequentemente retorna um sinal 0 para o programa, fazendo com que a roda direita pare,
forçando o carrinho a fazer uma curva para a direita.
A terceira função chamada de STOP é implementada pelo programa quando os dois
sensores, direito e esquerdo, encontram a linha colocada na horizontal com o circuito, fazendo
com que o robô pare e ative o motor de passo.
41
Para o controle do motor de passo também foi incluído uma variável para controlar o
sentido de rotação do motor, fazendo com que ele gire no sentido anti-horário e dessa forma
realize o levante da carga. Logo em seguida atribui-se um valor negativo para a variável,
girando o motor no sentido horário e realize o abaixamento da carga na segunda vez que a
função STOP é chamada (posição 2 da trajetória), um exemplo da função está representado na
Figura 26.
A função LSENSORES faz a leitura dos sensores, e guarda a informação em uma matriz,
e cada matriz gera um valor de erro, representado no Quadro 6, a sequência 8 altera a variável
modo para 1 chamando a função MOTORPARE que fará com que o robô pare e acione o motor
de passo, semelhante ao código com apenas 2 sensores, as sequências de 1 a 3 geram valores
negativos, que são utilizados pela função calculate e motorcontrol para aumentar a velocidade
na primeira roda e diminuir a velocidade na outra, fazendo com que o robô vire, por exemplo,
para a direita, a sequência 4 faz com que o robô ande em linha reta, as sequencias de 5 a 7 geram
valores positivos, diminuindo a velocidade na primeira roda e aumentando na outra, fazendo
com que desta vez o robô vire para a esquerda, um exemplo dessas funções estão presentes na
Figura 28 (ARDUINO PROJECT HUB, 2018).
A partir destes dados foi possível traçar o gráfico presente na Figura 29 utilizando o
aplicativo fit curve do software Matlab. Através desse aplicativo encontrou-se as constantes da
Equação 3 através do ajuste para os pontos obtidos.
Com as ações das partes proporcional e integral (PI) representadas na Figura 32.
46
E finalmente com as três ações atuando juntas, proporcional, integral e derivativa (PID)
(Figura 33).
Figura 33 - Controle PID.
O resultado da simulação sobre o chassi do robô pode ser visto na Figura 34. Nessa
simulação o chassi de polimetil-metacrilato (Acrílico) foi submetido a uma carga de 40 N
(aproximadamente 4 kg) localizada na região que representa o mecanismo de levante de carga,
as regiões de fixação colocadas próximas as rodas e os elementos de malha tendo dimensão
mínima de 0,18997626 mm nas regiões de contato e dimensão máxima de 3,7995251 mm.
48
Por ser um material frágil sobre a ação de uma carga, a análise da placa que compõe o
chassi foi feita pelo método de Mohr Coulomb. É possível observar que a área mais requisitada
é aquela entre as duas rodas e o motor de passo, onde se localiza a carga. Essa região é onde
pode se encontrar o fator de segurança mínimo, isto é 1,1; um valor adequado para testes em
um modelo. Portanto temos que a carga máxima no chassi é de 90N (9kg), valor acima da carga
de 4kg usada para os testes.
Como já citado o controle inicialmente foi feito apenas com dois sensores
infravermelhos, porém o resultado obtido não foi satisfatório já que durante os testes o modelo
não conseguia realizar o percurso de modo adequado, saindo do trajeto proposto e realizava as
curvas numa velocidade muito alta. A solução encontrada foi à utilização de um algoritmo PID.
O robô finalizado está representado na Figura 35.
49
4.4 CUSTOS
5 CONCLUSÃO
REFERÊNCIAS
ARDUINO PROJECT HUB. Distrelec: Automation & Robotics Contest. Disponível em:
<https://create.arduino.cc/projecthub> Acesso em: 22 de 06 de 2018
AUTO CORE ROBÓTICA. Kit Robô seguidor de linha V1. Disponível em:
<https://www.autocorerobotica.com.br/kit-robo-seguidor-de-linha-v1> Acesso em: 21 de 06
de 2018
ROVAI, M. Tutorial: Robô seguidor de linha com controle PID e ajustes por aplicativo
Android. Disponível em: <http://labdegaragem.com/profiles/blogs/tutorial-rob-seguidor-de-
linha-com-controle-pid-e-ajustes-por> Acesso em: 21 de 06 de 2018
4,620
41
33 ,9
30
2
100
2
13
26
2 f10 -0,0
8x -0,1 20
TR 04
60
30
32
15