Ruta de construcciónPrincipianteUn fin de semana

Construya un robot seguidor de línea: simulación a pista

Un robot seguidor de línea funcional y comprendido en su totalidad: desde la lectura óptica hasta el lazo PID de dirección validado previamente en simulación.

Esquema técnico de Construya un robot seguidor de línea: simulación a pistaSENSOR ERROR

Un seguidor de línea es el mejor primer robot: sensing, decide y se mueve, y aun así cada una de sus partes es lo bastante simple para entenderla por completo. Esta ruta de construcción lo trata exactamente así: como una ruta. En lugar de una lista de piezas y una foto de cableado para copiar, desbloqueas un nodo cada vez, aprendiendo el mecanismo que hay detrás de cada paso antes de construirlo.

Empiezas entendiendo cómo una fila de sensores infrarrojos (IR) se convierte en un único error de dirección, y cómo un lazo proporcional-integral-derivativo (PID) convierte ese error en movimiento suave. Cinco sensores son el punto óptimo para una primera construcción: tres funcionan a baja velocidad pero dan una posición grosera, ocho dan una resolución más fina a alta velocidad pero complican el cableado y la calibración. La media ponderada que colapsa esas lecturas en un único número con signo —negativo cuando la línea está a la izquierda, positivo cuando está a la derecha— es la única señal que el lazo de dirección llega a ver, y por eso acertar ese número importa más que elegir una placa concreta.

Esa señal tiene que convertirse después en dos velocidades de rueda distintas. La tracción diferencial significa que el robot dirige haciendo girar sus ruedas a distinto ritmo, y el árbol tecnológico te lleva desde el controlador de motor en bruto, pasando por la modulación de anchura de pulso (PWM), hasta la cinemática que convierte una única corrección en comandos de izquierda y derecha. También verás dónde encaja la odometría: contar el movimiento de las ruedas te dice cuánto has recorrido, y por qué esa estimación se desvía sin referencia externa —un tema que reaparece en cada robot de laberinto.

Antes de gastar nada o arriesgarte a un cableado mal hecho, ajustas el comportamiento en el simulador del navegador, dibujando un recorrido, cambiando el número y la separación de sensores y arrastrando las ganancias proporcional, integral y derivativa mientras observas el error, el tiempo por vuelta y el tiempo sobre la pista. El simulador es un modelo didáctico, no hardware: supone una pista binaria plana y de alto contraste, calibración ideal, ningún cambio de luz ambiente y un lazo perfectamente periódico sin patinaje. Las ganancias encontradas aquí transfieren como un punto de partida cercano, pero aún tendrás que calibrar la matriz real y reajustar sobre tu propia cinta.

Solo entonces cableas el robot real: salidas de reflectancia a pines capaces de leer analógico, PWM y dirección al L298N (los pines lógicos no pueden entregar corriente de motor: el puente en H dual conmuta la corriente real), una alimentación de motor separada en su propio raíl, y una masa común que ate todos los módulos. El nodo final es el montaje y la iteración sobre un recorrido real pegado con cinta, donde transfieres las ganancias del simulador y ajustas por superficie, tensión de batería y temporización del lazo. La misma estructura reaparece más tarde en el solucionador de laberintos sobre línea —que añade una capa de decisión sobre este seguidor—, así que hacer sólida esta base te ahorra tiempo dos veces.

Sigue el árbol tecnológico de abajo de arriba abajo. Cada nodo se abre cuando sus prerrequisitos están cumplidos, y tu progreso se guarda en este dispositivo, para que puedas construir el robot a lo largo de un fin de semana sin perder el hilo.

Lista de materiales

Componente Cant. Coste aprox. Notas
Arduino Uno o Nano 1 $5–8 Un Nano es mejor opción aquí: saca A6 y A7, así que cabe una matriz de 8 canales
Matriz IR de reflectancia 1 $4–10 5 canales para aprender, 8 si quieres velocidad después. Insiste en salida analógica
L298N o TB6612FNG 1 $2–4 TB6612FNG si compras: conserva los ~1,5 V que el L298N quema como calor
Motorreductor TT 2 $4 Los amarillos. Las versiones con encoder cuestan $2 más y te ahorran una reconstrucción
Chasis 2WD con ruedas y rueda libre 1 $6–10 Suele venderse como kit junto con los motores
Pack de baterías 1 $3–8 6×AA NiMH, o 2×18650 con portapilas protegido. No una pila de 9 V
Cables jumper, cinta, interruptor — $5 Cinta eléctrica mate de 19 mm para la pista

Total: unos $30–45. La mejora más valiosa de esa lista son los motores con encoders —no para este proyecto, que no los necesita, sino porque un seguidor de línea casi siempre se convierte en un solucionador de laberintos sobre línea, y ese sí los necesita.

Para la pista: cinta negra mate sobre un suelo claro mate. La cinta brillante refleja como si fuera blanca en el ángulo equivocado, y un suelo brillante hace lo mismo, lo que produce un robot que funciona en una superficie y en otra no por razones que parecen de software.

Cómo se conecta todo

Desde Hacia Por qué importa
Matriz VCC, GND Arduino 5 V, GND Los emisores son el consumo aquí: 100–200 mA en una matriz de 8 canales
Matriz OUT1–8 A0–A7 Analógico, un canal cada uno. Por eso un Nano le gana a un Uno
Driver PWMA, PWMB D9, D3 Pines que deban admitir PWM
Pines de dirección del driver D8, D7, D5, D4 Cualquier pin digital
STBY del driver (solo TB6612FNG) D12, en HIGH Si lo dejas al aire no pasa absolutamente nada, en silencio
Batería + VM / +12V del driver Nunca el pin de 5 V del Arduino
Batería − GND del driver, GND del Arduino, GND de la matriz Una masa común, en estrella hasta un solo punto

Dos fallos explican casi todos los problemas de la primera puesta en marcha, y ninguno produce un mensaje de error. Una masa común ausente significa que las señales de dirección no tienen referencia, así que nada se mueve mientras todo parece cableado correctamente. Corriente de motor pasando por el Arduino Hunde el raíl de 5 V, reinicia la placa y se manifiesta como un fallo de software.

Constrúyelo por hitos

No cablees el robot entero y luego lo depures. Cada etapa de abajo tiene una prueba, y una etapa que no supera su prueba se esconderá dentro de la siguiente.

# Hito La prueba Superado se ve así
1 Los motores giran Manda cada rueda adelante y atrás a duty 200, con el robot en tacos Ambas giran en ambos sentidos; anota el duty en el que cada una arranca
2 Zona muerta medida Sube el duty desde 0 en pasos de 5 Tienes dos números, y difieren: a menudo en 5–10
3 Recta Manda ambas ruedas hacia delante 2 m por el suelo Menos de 10 cm de deriva; si no, ajusta un motor en software
4 Los sensores leen Imprime todos los canales sobre la línea y sobre el suelo Las dos lecturas de cada canal difieren en cientos de cuentas
5 Calibración Barre transversalmente la línea durante 3 s y luego imprime los valores normalizados 0 en el suelo, cerca de 1000 sobre la línea, en todos los canales
6 Posición Mueve el robot a mano cruzando la línea e imprime la posición ponderada Suave y monótona: sin saltos cuando la línea cruza el límite entre sensores
7 Solo P Conduce solo con ganancia proporcional, sin I ni D Sigue una curva suave, serpenteando un poco. El serpenteo aquí es lo esperado
8 Añade D Sube la derivativa hasta que el serpenteo se amortigüe Seguimiento suave en rectas y curvas suaves
9 Pista completa Ejecuta un lazo cerrado con una esquina cerrada Completa vueltas sin perder la línea
10 Recuperación al perder la línea Levanta el robot de la línea a mitad de ejecución Gira del lado que ya estaba girando, en lugar de seguir recto

El hito 6 es el que la gente se salta y no debería. Si la señal de posición da saltos cuando la línea cruza entre dos sensores, ningún lazo de control se puede ajustar: la discontinuidad parece un error súbito enorme, y el robot dará un tirón exactamente ahí en cada vuelta. Un salto ahí significa que o la matriz no está calibrada por canal, o el umbral de un canal lo está descartando demasiado pronto.

Qué significa hacerlo bien

Medida Montaje de principiante Bien ajustado
Velocidad en rectas 0.15–0.25 m/s 0.4–0.6 m/s
Amplitud de serpenteo en recta ±15 mm Menos de ±5 mm
Esquina más cerrada que sostiene ~30 cm de radio ~15 cm de radio
Frecuencia del lazo 50 Hz 200 Hz o mejor
Vueltas antes de perder la línea Unas cuantas Indefinidamente, hasta que la batería flojee

La frecuencia del lazo merece atención porque limita en silencio todo lo demás. Un lazo de control a 50 Hz ve la línea cada 20 ms, y a 0.5 m/s eso son 10 mm de recorrido entre decisiones. Quitar todos los delay() del lazo y leer solo los sensores que usas suele llevar una primera construcción de 50 Hz a varios cientos, y el seguimiento mejora sin tocar ninguna ganancia.

Resolución de problemas

Síntoma Causa probable Solución
No se mueve nada Sin masa común, o STBY a nivel bajo Une todas las masas; lleva STBY a HIGH
La placa se reinicia al empezar a conducir Corriente de motor pasando por el Arduino Alimentación de motor separada; solo se comparte la masa
Pasa de largo la línea Matriz sin calibrar, o demasiado alta Recalibra sobre esta superficie; pon la altura de cruce a 3–8 mm
Sigue, pero serpentea mucho P demasiado alta, o D demasiado baja Reduce P a la mitad y luego sube D
Oscila cada vez más rápido P demasiado alta Reduce hasta que se estabilice y ajusta desde ahí
Se desvía en las rectas Desajuste entre motores Ajusta en software y vuelve a comprobar a tu velocidad de trabajo
Solo se desvía a baja velocidad Dos umbrales de estanqueidad distintos Mide la zona muerta de cada motor y compensa por separado
Pierde la línea en las curvas cerradas Va demasiado rápido, o la matriz está muy cerca de las ruedas Reduce la velocidad y adelanta la matriz para ganar tiempo de anticipación
Se aleja cuando pierde la línea Error puesto a 0 al perder la línea Conserva el último error: cero significa “centrado”
Funciona y luego se degrada durante la ejecución La batería flojea, así que las ganancias ya no valen Lo esperado; cierra un lazo de velocidad o acepta una ejecución más corta
Falla cerca de una ventana Infrarrojo ambiente Resta la lectura con emisor apagado, o protege la matriz

Hacia dónde llevarlo después

El seguidor de línea es deliberadamente una base, y tres direcciones se construyen directamente sobre él.

Añade detección de cruces y se convierte en un solucionador de laberintos sobre línea —el mismo lazo PID debajo, con una capa de decisión fina encima que clasifica las ramas y recuerda la ruta. Este es el mejor proyecto siguiente, porque reutiliza todo esto y añade una idea realmente nueva.

Añade encoders y podrás mantener una velocidad comandada en vez de un duty comandado, lo que elimina por completo el problema de “se degrada cuando se descarga la batería” y hace que el ajuste sea estable durante toda la ejecución.

Ve más rápido, que es más difícil de lo que parece y es lo que más enseña. La velocidad descubre todas las aproximaciones: la frecuencia del lazo pasa a ser el límite, la matriz necesita estar más adelante para ganar tiempo de anticipación, las esquinas hay que frenarlas antes de llegar en lugar de después, y los neumáticos empiezan a patinar. Esa última es la pared: mira patinaje de rueda y tracción para ver dónde está.

Hoja de ruta del proyecto

La ruta de construcción

Sigue el árbol tecnológico desde las piezas hasta un robot que funciona. Cada nodo se desbloquea cuando completas sus requisitos previos, y tu progreso se guarda en este dispositivo.

0 / 15 completados

100%
Componente

Selección del microcontrolador

Componente

Ver componente
Componente

Matriz de sensores ópticos reflectivos

Componente

Ver componente
Componente

Controlador de potencia para motores

Componente

Ver componente
Componente

Alimentación eléctrica desacoplada

Componente

Ver componente
Tutorial

Adquisición y ponderación de la matriz IR

20 min

Abrir tutorial
Ruta de aprendizaje

Ruta de control de motores

Ruta de aprendizaje

Abrir ruta
Ruta de aprendizaje

Ruta de control PID

Ruta de aprendizaje

Abrir ruta
Tutorial

Cinemática de tracción diferencial

18 min

Abrir tutorial
Montaje

Cableado e integración eléctrica

45 min

Simulador

Sintonización interactiva en simulación

Interactivo

Abrir simulador
Montaje

Ensamblaje y pruebas en pista

60 min

Objetivo

Robot seguidor de línea concluido

Proyecto completado

Componentes

Tutoriales de esta ruta

Practica antes de cablear

Ajústalo en el simulador en vivo

La ruta de construcción pasa por un laboratorio en el navegador. Consigue aquí el comportamiento correcto y luego traslada tus ajustes al robot real.

Preguntas frecuentes

¿Es indispensable comprar los componentes antes de comenzar?

No. Toda la fase de percepción sensorial, media ponderada y sintonización del lazo PID se ejecuta interactivamente en el simulador web. Puede comprender la física del sistema y ajustar las ganancias antes de invertir en componentes. Solo los pasos finales de montaje físico requieren el Arduino, la matriz IR y el controlador de motores.

¿Cuánto tiempo toma construir este robot seguidor de línea?

Disponiendo de los materiales, es un proyecto realizable en un fin de semana: una sesión para asimilar los principios de control y sintonizar el simulador interactivo, y unas pocas horas para cablear el circuito físico y realizar pruebas sobre la pista de cinta. Las ganancias obtenidas en simulación sirven de punto de partida directo, minimizando el ensayo y error.

¿Cuál es la dificultad principal al construir un seguidor de línea?

Casi siempre radica en la estabilidad del bucle de control PID y no en el conexionado eléctrico. Lograr que el robot trace curvas sin oscilaciones divergentes exige equilibrar las ganancias proporcional y derivativa para la velocidad y geometría concretas de su chasis. El simulador interactivo permite consolidar esa intuición antes de poner el móvil en pista.

¿Por qué el robot oscila continuamente de un lado a otro sobre la línea?

La oscilación constante obedece habitualmente a una ganancia proporcional (Kp) excesiva, amortiguación derivativa (Kd) insuficiente o una velocidad de avance demasiado alta para la frecuencia de muestreo de los sensores. Reduzca la velocidad base, disminuya Kp un 20 % e incremente ligeramente Kd. En el hardware, evite funciones bloqueantes tipo delay() que degradan la acción derivativa.

¿Cuántos sensores ópticos infrarrojos requiere el vehículo?

Cinco sensores constituyen la configuración óptima de inicio: suficiente resolución para calcular una media ponderada continua e identificar el sentido de curvatura, manteniendo un conexionado directo y fácil de depurar. Tres sensores bastan para trazados amplios a baja velocidad; los prototipos de competición suelen montar ocho sensores para velocidades elevadas.

¿Cómo se calibra la matriz de sensores infrarrojos?

Antes de iniciar la marcha, desplace manualmente la barra de sensores transversalmente sobre la cinta negra y el fondo blanco durante varios segundos, registrando los valores mínimos y máximos leídos en cada fototransistor. Esta calibración normaliza las lecturas entre 0 y 1000, compensando irregularidades de iluminación ambiental o tolerancias de fabricación entre componentes.