SOLUCIÓN: Seguidor de línea en 26″
(01 de marzo 2025)

En mi entrada anterior, compartí los avances en la implementación de un control PID para un robot seguidor de línea en el Circuito Simple de Unibotics. Aunque los resultados iniciales fueron prometedores, al aumentar la velocidad se pudo observar un incremento significativo en las oscilaciones, especialmente en curvas.

Después de varios ajustes y pruebas, he conseguido optimizar el sistema, logrando una conducción más estable y eficiente. Aquí te cuento los detalles más importantes de esta mejora.

1. Ajuste en PID.

Lo primero que hice fue ajustar las constantes del PID para reducir las oscilaciones al aumentar la velocidad:

  • Kp: Ajustado para una respuesta más rápida sin generar sobrecorrección.
  • Ki : Se mantuvo en cero para evitar acumulación de errores innecesarios.
  • Kd: Se refinó para suavizar los movimientos y reducir oscilaciones bruscas.

Estos cambios permitieron que el robot mantenga una trayectoria más estable, incluso a altas velocidades.

2. Procesamiento de imagen.

Realicé la implementación de múltiples regiones de interés (ROI) para analizar diferentes zonas de la imagen, asegurando una mejor estimación de la trayectoria.

Recorte el área de interés en la captura de la cámara, con esto conseguí reducir el área de análisis, optimizando el procesamiento de imagen y eliminando información irrelevante del fondo.

Luego dibuje una línea vertical de color verde en el centro de la imagen, esta línea actúa como referencia visual para evaluar el error. Si el centroide de la línea roja se encuentra a la izquierda o derecha de esta línea, significa que el robot debe corregir su rumbo.

3. Ajuste dinámico de la velocidad del robot.

Antes, la velocidad del robot se mantenía constante, lo que generaba problemas en curvas y en tramos con variaciones en la detección de la línea. Para solucionar esto, implementé una velocidad variable basada en el error detectado.

Ahora, el robot ajusta su velocidad lineal (V) en función de la magnitud del error:

  • En tramos rectos: Acelera para mejorar el tiempo de recorrido.

  • En curvas pronunciadas: Reduce la velocidad para evitar derrapes y mejorar la estabilidad.

  • En zonas de baja visibilidad: Disminuye la velocidad y refina la detección para corregir posibles desviaciones.

Este cambio ha permitido mejorar considerablemente el tiempo total del recorrido.

4. Registro y visualización de datos en tiempo real.

Para facilitar la depuración y ajuste del código, añadí una funcionalidad de registro en tiempo real de los valores más importantes del sistema:

  • Error de seguimiento.
  • Valores de corrección angular (W) y velocidad (V).
  • Desviaciones en la detección de la línea roja.

Estos datos se imprimen en consola en cada iteración, lo que permite analizar el comportamiento del robot y realizar ajustes de manera más precisa.

5.Resultados obtenidos.

Los ajustes implementados han resultado en una notable mejora en el rendimiento del robot seguidor de línea. Ahora, el circuito se completa en 26 segundos, lo que representa una optimización del recorrido. Además, la reducción de oscilaciones gracias al ajuste del control PID ha permitido que el desplazamiento sea más estable y fluido.

Ahora sí podemos afirmar que este robot está a la altura de un verdadero auto de carreras. 🏎️💨

Novedades

Añadir un título
SOLUCIÓN: Seguidor de línea en 26"
(01 de marzo 2025)
En mi entrada anterior, compartí los avances en la implementación de un control PID para un robot seguidor...
Añadir un título (1)
Seguidor de línea
(12 de febrero 2025)
Recientemente me sumergí en la solución de una práctica sobre follow line usando la estrategia de control...

Comparte