Robots seguidores de línea: la física y el código

Un robot seguidor de línea lee la luz reflejada, la convierte en un umbral de dentro o fuera de la línea y se dirige mediante un bucle de control. Aquí van la física, el código y por qué el ajuste es la verdadera lección.
Un robot seguidor de línea funciona leyendo cuánta luz rebota en el suelo que tiene debajo, decidiendo si cada sensor está sobre la línea oscura o sobre la superficie clara y corrigiendo la dirección para mantener la línea centrada. La física es la reflectancia. El código es un pequeño bucle de control que se ejecuta unos cientos de veces por segundo. Si aciertas con las dos cosas, el robot se pega a una curva cerrada; si te equivocas en el ajuste, se tambalea hasta acabar contra la pata de una mesa. Esta guía repasa cómo funciona, los dos métodos habituales de dirección y por qué el ajuste es la parte que de verdad enseña ingeniería.
Cómo lee la línea el sensor
La pieza central es un sensor de reflectancia por infrarrojos. Combina un diminuto LED infrarrojo con un fototransistor que mide cuánta de esa luz vuelve. Una línea oscura absorbe la mayor parte del infrarrojo, así que regresa poca. Un suelo claro refleja casi todo, así que regresa mucha. El sensor se sitúa a unos milímetros del suelo y devuelve un valor analógico, que normalmente se lee como un número procedente de un convertidor analógico-digital (ADC).
La mayoría de los robots para principiantes usan dos o más de estos sensores en paralelo, a ambos lados de la línea. Cuando la línea se desplaza bajo el sensor izquierdo, la lectura izquierda baja. Cuando se desplaza a la derecha, baja la lectura derecha. Esa diferencia es toda la base de la dirección. Aquí importan dos verdades prácticas: la altura del sensor cambia la lectura y la luz ambiente se cuela. Un robot probado bajo los fluorescentes del aula puede comportarse de otra manera junto a una ventana soleada, y por eso lo siguiente es la calibración.
Convertir una lectura en una decisión
Un número bruto del ADC no sirve por sí solo, porque varía con la superficie, con la iluminación e incluso con una batería que se va agotando. La solución es el umbralizado. Pasas los sensores despacio por encima de la línea y del suelo, anotas las lecturas más baja y más alta y fijas el umbral en el punto medio. Todo lo que quede por debajo del umbral cuenta como estar sobre la línea y todo lo que quede por encima cuenta como estar sobre el suelo, o al revés según tu cableado.
Este paso de calibración no es opcional. Hazlo sobre la pista real, en la sala real, cada vez que cambies de sitio. La cinta aislante negra mate sobre un suelo claro da un contraste limpio; la cinta brillante o un suelo de baldosas oscuras dan uno pobre. Diez minutos de calibración ahorran una hora de depuración a ciegas más adelante.
Dos formas de dirigir: todo o nada y proporcional
El control más sencillo es el todo o nada, también llamado de encendido y apagado. La lógica dice: si el sensor izquierdo ve la línea, gira a la izquierda; si la ve el derecho, gira a la derecha; si no, sigue recto. Es fácil de escribir y fácil de entender, pero dirige a tirones bruscos. El robot zigzaguea por una recta y tiene que ir a paso de tortuga para no salirse en las curvas, porque solo sabe si está dentro o fuera, nunca cuánto se ha desviado.
El control proporcional lo arregla usando las lecturas analógicas en lugar de un sí o no. Calculas un error, por ejemplo error = left - right, y haces que la fuerza del giro escale con él: turn = Kp * error. Un error pequeño produce una corrección suave; uno grande produce una fuerte. Ese único número, Kp, la ganancia proporcional, decide con cuánta agresividad responde el robot. Es el primer contacto real con la teoría de control, y basta para que un robot se deslice por una pista que el todo o nada recorrería a trompicones. Añadir los términos I y D hasta formar un bucle PID completo es el paso siguiente natural cuando el proporcional ya funciona con soltura.
El ajuste es la verdadera lección
El código anterior es corto. Casi todo el aprendizaje está en ajustarlo, y eso es una virtud, no una lata. El ajuste es donde el alumnado se encuentra con el método de la ingeniería: cambia una variable, prueba, observa, repite. Trabájalo en este orden:
- Calibra sobre la pista real y con la luz real antes de tocar cualquier otra cosa.
- Fija una velocidad base lo bastante lenta como para poder mirar el robot y agarrarlo.
- Empieza con un
Kppequeño y súbelo hasta que el robot siga la línea en vez de irse. - Si empieza a oscilar, culebreando de lado a lado, baja un poco el
Kpo reduce la velocidad base. - Prueba en la curva más cerrada de la pista, no en la recta fácil. La recta te engaña.
Lleva un cuaderno y cambia una sola cosa cada vez. Un alumno que anota que una ganancia alta hacía culebrear al robot aprende más que otro que toquetea números al azar hasta que por casualidad funciona.
Fallos habituales y cómo depurarlos
Casi todos los problemas de un seguidor de línea caen en un puñado de patrones. Empareja el síntoma con la causa probable antes de reescribir nada de código:
- El robot ignora la línea por completo: el umbral está mal, los sensores están montados demasiado altos o la batería está tan baja que debilita los LED.
- Zigzagueo violento: el
Kpo la velocidad base son demasiado altos. Reduce uno cada vez. - Se sale en las curvas cerradas: va demasiado rápido, o los dos sensores están demasiado juntos para detectar el giro con antelación.
- Se desvía hacia un lado en recta: los dos motores no están perfectamente igualados. Añade un pequeño ajuste fijo a un lado.
- Funciona por la mañana y falla después de comer: la luz del sol ha cambiado las lecturas. Recalibra para la nueva iluminación.
- Todos los sensores leen casi lo mismo: revisa el cableado y los números de pin, y confirma que la cinta es mate y no brillante.
Probarlo en un aula
Un seguidor de línea es uno de los mejores primeros proyectos de robótica porque todo el bucle, percibir, decidir y actuar, se ve en una sola pasada por el suelo. El montaje del róver sobre la placa sheenbot∞ da al alumnado los sensores de reflectancia y el control de motores que necesita en una sola placa, y hay kits completos disponibles en la tienda. Si prefieres que se lo enseñen, la academia de Ciudad del Cabo imparte clases semanales y talleres en vacaciones donde el seguimiento de línea es un montaje habitual.
Para quedarse con esto
La detección por reflectancia le dice al robot dónde está la línea, el umbralizado convierte eso en una decisión clara y el control proporcional convierte la decisión en una dirección suave. El código es corto a propósito. La habilidad real es el ajuste paciente, de un cambio cada vez, que lleva a un robot tambaleante a mantener una curva, y esa habilidad sirve para casi cualquier otro proyecto. Para más crónicas de montajes, consulta la sala de prensa de sheen.bot.
Preguntas frecuentes
¿Cuántos sensores necesita un seguidor de línea?
Con dos basta para dirigirlo, porque la dirección solo necesita saber si la línea se ha desviado a la izquierda o a la derecha. Añadir más sensores, cinco es lo habitual, permite al robot juzgar con más precisión cuánto se ha desviado y afrontar giros más cerrados, lo que hace más suave el control proporcional.
¿Por qué mi robot sigue la línea en una sala y en otra no?
La luz ambiente y el color del suelo cambian cuánto infrarrojo rebota, así que el umbral calibrado en una sala está mal en otra. Recalibra sobre la nueva superficie y con la nueva iluminación cada vez que muevas el robot.
¿El control proporcional es lo mismo que el PID?
El proporcional es la P del PID y es el término primero y más importante. El PID añade un término integral para cancelar la deriva permanente y un término derivativo para amortiguar el sobreimpulso. La mayoría de los proyectos adolescentes funcionan bien solo con el proporcional, y luego añaden los otros dos como mejora.



