Caminho de construçãoInicianteUm fim de semana

Construa um robô seguidor de linha: do simulador à pista real

Um robô seguidor de linha funcional, compreendido de ponta a ponta — da leitura da linha ao laço PID que o orienta — construído com peças que você ajustou primeiro na simulação.

Esquema técnico de Construa um robô seguidor de linha: do simulador à pista realSENSOR ERROR

Um robô seguidor de linha é o melhor primeiro robô: ele sente, decide e se move, mas todas as suas partes são simples o bastante para serem compreendidas por completo. Este caminho de construção trata dele exatamente assim — como um caminho. Em vez de uma lista de peças e uma foto de fiação para copiar, você desbloqueia um nó de cada vez, aprendendo o mecanismo por trás de cada etapa antes de construí-la.

Você começa entendendo como uma fileira de sensores de infravermelho (IR) se transforma em um único erro de direção e como um laço Proporcional-Integral-Derivativo (PID) transforma esse erro em movimento suave. Cinco sensores são o ponto ideal para uma primeira construção: três funcionam em baixa velocidade, mas dão uma posição grosseira; oito oferecem resolução mais fina em alta velocidade, mas complicam a fiação e a calibração. A média ponderada que reduz essas leituras a um único número com sinal — negativo quando a linha está à esquerda, positivo quando está à direita — é o único sinal que o laço de direção vê, e é por isso que obter esse número corretamente importa mais do que escolher uma placa específica.

Esse sinal então precisa se tornar duas velocidades de roda diferentes. A direção diferencial permite que o robô esterce fazendo as rodas girarem em taxas diferentes, e a árvore tecnológica leva você do driver de motores bruto, passando por modulação de largura de pulso (PWM) e pela cinemática que transformam uma única correção em comandos para a esquerda e a direita. Você também verá onde a odometria se encaixa: contar o movimento das rodas informa quanto você percorreu e por que essa estimativa deriva sem uma referência externa — um tema que retorna em todos os robôs de labirinto.

Antes de gastar dinheiro ou arriscar uma fiação errada, você ajusta o comportamento no simulador do navegador, desenhando uma pista, alterando a quantidade e o espaçamento dos sensores e arrastando os ganhos Proporcional, Integral e Derivativo enquanto observa o erro, o tempo de volta e o tempo sobre a linha. O simulador é um modelo didático, não um protótipo: ele pressupõe uma pista plana, binária e de alto contraste, calibração ideal, nenhuma mudança de luz ambiente e um laço perfeitamente periódico, sem deslizamento das rodas. Os ganhos encontrados aqui são um ponto de partida próximo, mas você ainda precisará calibrar a matriz real e ajustar novamente na sua fita.

Só então você conecta o robô real: saídas dos sensores de refletância para pinos compatíveis com sinal analógico, PWM e direção para o L298N (pinos lógicos não podem fornecer corrente de motor — a ponte H dupla comuta a corrente real), uma alimentação separada dos motores em seu próprio trilho e um terra comum que una todos os módulos. O nó final é a montagem e a iteração em um percurso real com fita, onde você transfere os ganhos do simulador e ajusta para a superfície, a tensão da bateria e o tempo do laço. A mesma estrutura reaparece depois no solucionador de labirintos de linhas, que adiciona uma camada de decisão sobre este seguidor; portanto, consolidar esta base economiza tempo duas vezes.

Siga a árvore tecnológica abaixo de cima para baixo. Cada nó é liberado quando seus pré-requisitos são concluídos, e seu progresso é salvo neste dispositivo, para que você possa construir o robô durante um fim de semana sem perder o progresso.

Lista de materiais

Peça Qtd. Custo aproximado Observações
Arduino Uno ou Nano 1 US$ 5–8 Um Nano é a melhor opção aqui: ele expõe A6 e A7, então cabe uma matriz de 8 canais
Matriz de refletância IR 1 US$ 4–10 5 canais para aprender; 8 se quiser velocidade depois. Exija saída analógica
L298N ou TB6612FNG 1 US$ 2–4 TB6612FNG se estiver comprando — ele não dissipa os ~1,5 V que o L298N perde como calor
Motorredutor TT 2 US$ 4 Os amarelos. As versões com encoder custam US$ 2 a mais e evitam uma reconstrução
Chassi 2WD com rodas e rodízio 1 US$ 6–10 Geralmente vendido como kit com os motores
Pacote de bateria 1 US$ 3–8 6×AA NiMH ou 2×18650 com suporte protegido. Não use um bloco de 9 V
Fios jumper, fita, interruptor — US$ 5 Fita elétrica fosca de 19 mm para a pista

Total: aproximadamente US$ 30–45. A melhoria mais valiosa dessa lista são motores com encoders — não para este projeto, que não precisa deles, mas porque um robô seguidor de linha quase sempre se transforma em um solucionador de labirintos de linhas, e esse precisa deles.

Para a pista: fita preta fosca sobre um piso claro fosco. Fita brilhante reflete como branca no ângulo errado, e um piso brilhante faz o mesmo; isso produz um robô que funciona em uma superfície e não em outra por motivos que parecem software.

Como tudo se conecta

De Para Por que importa
Matriz VCC, GND Arduino 5 V, GND Os emissores são o consumo de corrente aqui — 100–200 mA em uma matriz de 8 canais
Matriz OUT1–8 A0–A7 Analógico, um canal cada. É por isso que um Nano supera um Uno
Driver PWMA, PWMB D9, D3 Pinos precisam ter capacidade PWM
Pinos de direção do driver D8, D7, D5, D4 Quaisquer pinos digitais
STBY do driver (somente TB6612FNG) D12, acionado em HIGH Se ficar flutuando, nada acontece, silenciosamente
+ da bateria VM / +12V do driver Nunca o pino de 5 V do Arduino
− da bateria GND do driver, GND do Arduino, GND da matriz Um terra comum, com ligação em estrela a um único ponto

Duas falhas explicam a maioria dos problemas na primeira execução, e nenhuma produz mensagem de erro. A falta de terra comum faz com que os sinais de direção não tenham referência, então nada se move enquanto tudo parece corretamente conectado. A corrente dos motores passando pelo Arduino faz o trilho de 5 V cair, reinicia a placa e aparece como uma falha de software.

Construa em marcos

Não conecte o robô inteiro e só depois depure. Cada etapa abaixo tem um teste, e uma etapa que não passa no teste fica escondida dentro da seguinte.

# Marco O teste Uma aprovação parece
1 Os motores giram Dirija cada roda para a frente e para trás com ciclo de trabalho 200, sobre blocos Ambas giram nos dois sentidos; anote o ciclo de trabalho em que cada uma começa
2 Zona morta medida Varra o ciclo de trabalho de 0 em passos de 5 Você tem dois números, e eles diferem — frequentemente de 5 a 10
3 Linha reta Dirija as duas rodas para a frente por 2 m no piso Menos de 10 cm de deriva; se não, ajuste um motor no software
4 Sensores fazem a leitura Imprima todos os canais sobre a linha e sobre o piso As duas leituras de cada canal diferem em centenas de contagens
5 Calibração Passe pela linha durante 3 s e imprima os valores normalizados 0 no piso, perto de 1000 na linha, em todos os canais
6 Posição Mova o robô sobre a linha com a mão e imprima a posição ponderada Suave e monótona — sem saltos quando a linha cruza a fronteira de um sensor
7 Somente P Conduza apenas com ganho proporcional, sem I nem D Acompanha uma curva suave, com uma pequena oscilação. A oscilação é esperada aqui
8 Adicione D Aumente o derivativo até a oscilação ser amortecida Acompanhamento suave em retas e curvas suaves
9 Pista completa Execute um laço fechado com uma curva fechada Completa voltas sem perder a linha
10 Recuperação após perda da linha Retire o robô da linha no meio do teste Ele vira na direção em que já estava virando, em vez de seguir em linha reta

O marco 6 é aquele que as pessoas pulam e não deveriam. Se o sinal de posição salta quando a linha cruza dois sensores, nenhum laço de controle pode ser ajustado — a descontinuidade parece um erro súbito e enorme, e o robô dá um solavanco exatamente nesse ponto a cada volta. Um salto ali significa que a matriz não foi calibrada por canal, ou que o limiar de um canal está excluindo-o cedo demais.

Como fica um bom resultado

Medição Construção de iniciante Bem ajustada
Velocidade nas retas 0,15–0,25 m/s 0,4–0,6 m/s
Amplitude da oscilação em uma reta ±15 mm Menos de ±5 mm
Curva mais fechada que ele acompanha raio de ~30 cm raio de ~15 cm
Taxa do laço 50 Hz 200 Hz ou mais
Voltas antes de perder a linha Poucas Indefinidamente, até a bateria cair

A taxa do laço merece atenção porque limita silenciosamente todo o restante. Um laço de controle a 50 Hz vê a linha a cada 20 ms e, a 0,5 m/s, isso são 10 mm de deslocamento entre decisões. Remover todos os delay() do laço e ler apenas os sensores que você usa normalmente leva a primeira construção de 50 Hz para várias centenas, e o acompanhamento melhora sem tocar em nenhum ganho.

Solução de problemas

Sintoma Causa provável Correção
Nada se move Não há terra comum, ou STBY está baixo Una todos os terras; acione STBY em HIGH
A placa reinicia quando começa a dirigir Corrente dos motores passando pelo Arduino Use uma alimentação separada para os motores; compartilhe apenas o terra
Segue em frente e ultrapassa a linha Matriz sem calibração, ou muito alta Recalibre nesta superfície; defina a altura a 3–8 mm
Acompanha, mas oscila muito P muito alto, ou D muito baixo Divida P por dois e depois aumente D
Oscila cada vez mais rápido P muito alto Reduza até estabilizar e depois ajuste a partir daí
Sai da pista nas retas Motores diferentes Ajuste no software e verifique novamente na velocidade de uso
Desvia apenas em baixa velocidade Dois limiares de atrito estático diferentes Meça a zona morta de cada motor e compense separadamente
Perde a linha em curvas fechadas Velocidade alta demais, ou matriz perto demais das rodas Reduza; mova a matriz para frente para ganhar mais antecipação
Sai de rumo ao perder a linha Erro definido como 0 quando a linha é perdida Mantenha o último erro — zero significa “centralizado”
Funciona e piora durante uma execução A bateria cai, então os ganhos deixam de servir É esperado; feche um laço de velocidade ou aceite uma execução mais curta
Falha perto de uma janela Infravermelho ambiente Subtraia a leitura com o emissor desligado ou proteja a matriz

Para onde seguir

O robô seguidor de linha é deliberadamente uma base, e três caminhos partem diretamente dele.

Adicione detecção de junções e ele se transforma em um solucionador de labirintos de linhas — o mesmo laço PID por baixo, com uma camada fina de decisão por cima que classifica os ramos e lembra a rota. Este é o melhor próximo projeto, porque reutiliza tudo aqui e acrescenta apenas uma ideia realmente nova.

Adicione encoders e você poderá manter uma velocidade comandada em vez de um ciclo de trabalho comandado, o que elimina completamente o problema de “piorar conforme a bateria descarrega” e torna o ajuste estável durante toda a execução.

Aumente a velocidade, o que é mais difícil do que parece e ensina mais. A velocidade expõe todas as aproximações: a taxa do laço passa a ser o limite, a matriz precisa ficar mais à frente para haver antecipação, é preciso desacelerar antes das curvas, não depois, e os pneus começam a deslizar. Esse último ponto é a parede — veja deslizamento das rodas e tração para saber onde ele aparece.

Roteiro do projeto

O caminho de construção

Siga a árvore tecnológica das peças até um robô funcionando. Cada nó é desbloqueado quando seus pré-requisitos são concluídos, e seu progresso fica salvo neste dispositivo.

0 / 15 concluídos

100%
Componente

Adicione a matriz de refletância IR

Componente

Ver componente
Componente

Adicione o driver de motores L298N

Componente

Ver componente
Componente

Adicione os motores de tração

Componente

Ver componente
Caminho de aprendizagem

Controle de motores

Caminho de aprendizagem

Abrir caminho
Caminho de aprendizagem

Controle PID

Caminho de aprendizagem

Abrir caminho
Tutorial

Direção diferencial e esterçamento

18 min

Abrir tutorial
Montagem

Conecte o robô

45 min

Montagem

Monte e teste em uma pista real

60 min

Objetivo

Robô seguidor de linha concluído

Você construiu

Componentes

Tutoriais deste caminho

Pratique antes de fazer a fiação

Ajuste no simulador ao vivo

O caminho de construção passa por um laboratório no navegador. Acerte o comportamento aqui e depois transfira suas configurações para o robô real.

Perguntas frequentes

Preciso comprar peças antes de começar este projeto?

Não. Toda a parte de medição e controle do projeto roda no simulador do navegador, então você pode entender como um robô seguidor de linha lê a linha e ajustar seus ganhos de PID antes de comprar qualquer coisa. Apenas as etapas finais de construção — fiação e montagem — precisam do Arduino físico, da matriz IR e do driver de motores.

Quanto tempo leva para construir um robô seguidor de linha?

Se você já tem as peças, um primeiro robô seguidor de linha funcional é um projeto de fim de semana: uma tarde para aprender a medição e o controle e ajustá-los no simulador, depois algumas horas para conectar o Arduino, a matriz IR e o driver de motores e iterar em uma pista com fita. O ajuste feito na simulação é transferido diretamente, o que elimina a maior parte da tentativa e erro.

Qual é a parte mais difícil de construir um robô seguidor de linha?

Quase sempre o laço de controle, não a fiação. Fazer o robô acompanhar curvas suaves sem oscilar exige ajustar os ganhos de PID para seus motores específicos, altura dos sensores e velocidade. É exatamente por isso que este caminho de construção pede que você ajuste primeiro no simulador — para que os ganhos já estejam próximos antes de o robô tocar o chão.

Por que meu robô seguidor de linha oscila ao redor da linha?

Oscilação normalmente significa que o ganho proporcional está alto demais, o amortecimento derivativo está baixo demais ou o robô está se movendo mais rápido do que a taxa de atualização dos sensores permite. Reduza primeiro a velocidade básica e depois diminua Kp em cerca de 20% e adicione um pouco de Kd. No protótipo, um delay() longo no laço acrescenta tempo morto que torna o termo derivativo ineficaz, por mais alto que você o ajuste — mantenha o intervalo de controle fixo.

Quantos sensores IR um robô seguidor de linha precisa?

Cinco é um ponto de partida prático: suficiente para calcular uma posição ponderada suave e ver para que lado a linha curva, mantendo a fiação e o cálculo de posição fáceis de inspecionar. Três sensores funcionam em uma pista de treino lenta e com uma linha larga; robôs de competição muitas vezes usam oito para obter resolução mais fina em alta velocidade, mas cada sensor adicional é outra calibração e outro fio para acertar.

Como calibro a matriz de refletância IR?

Antes de um teste, passe lentamente a matriz pela fita preta e pelo quadro branco e registre a leitura mínima e máxima de cada sensor; depois normalize as leituras ao vivo com base nessa faixa. A calibração importa porque a altura do sensor, a refletividade da superfície e a iluminação do ambiente alteram os valores brutos, e uma matriz sem calibração desloca a posição ponderada mesmo quando o robô está centralizado.