1. Objetivo

Aprender la función de detección de líneas del sensor de visión IA e implementar el seguimiento de líneas automático con CoCube.

2. Materiales

PC o Tablet Robot CoCube + Sensor de Visión IA

Mapa de Seguimiento de Líneas.pdf

Mapa de seguimiento de líneas, descargable e imprimible en papel A3.

3. Plataforma de Software

MicroBlocks-CoCube

4. Conocimiento del Algoritmo

Tutorial de Referencia

Documentación: Introducción al Algoritmo — Detección de Líneas

Descripción de los Bloques

  1. Bloque de Inicialización Sengo 1

El bloque de inicialización debe ejecutarse antes de usar la cámara. Generalmente se coloca debajo del bloque de sombrero "al empezar".

  1. Bloque de Configuración de Modo Sengo 1

  1. Atributos de Detección de Líneas Sengo 1

Devuelve los atributos de la línea detectada, incluyendo el punto final x1 (superior), punto final y1 (superior), punto de inicio x2 (inferior), punto de inicio y2 (inferior) y el ángulo de inclinación del segmento de línea.

Consejos

  1. El fondo y las líneas deben ser claramente distintos (por ejemplo, líneas negras sobre un fondo blanco). Si el fondo está desordenado, podrían detectarse líneas en el fondo.

  2. El grosor de la línea debe ser moderado, ni demasiado fina ni demasiado ancha.

  3. Generalmente, durante el seguimiento de líneas, el primer segmento de línea detectado es el que se encuentra en la parte inferior de la pantalla, seguido de los segmentos de las ramificaciones.

5. Programación

  1. Conectar Dispositivo: Conecta el IDE de MicroBlocks al robot CoCube mediante una conexión por cable o inalámbrica, y acopla el sensor de visión IA en la parte frontal del robot CoCube.

  2. Cargar Librerías: Añade "CoCube Sengo1" o "CoCube Sengo2" desde la librería del robot. La elección depende del modelo de hardware de tu cámara; no hay una diferencia significativa en el uso, aunque Sengo2 ofrece un mejor rendimiento. Este tutorial utiliza la librería Sengo1.

  1. Inicialización de la Cámara: Inicializa Sengo1 al arrancar y configura el modo de algoritmo de la cámara en "Line Detect" (Detección de Líneas).

  1. Detección de Líneas: Determina si se detecta una línea. Si es así, muestra sus 5 atributos. Puedes observar la posición y el ángulo de la línea en tiempo real.

Ahora considera cómo mantener a CoCube sobre la línea basándote en su posición y ángulo. Dado que CoCube utiliza una tracción diferencial por orugas, necesita ajustar la velocidad de las dos ruedas para corregir su dirección cuando se desvía. Esta es una forma de control de retroalimentación negativa. Necesitamos determinar cuándo ajustar la dirección como se muestra a continuación:

  • 1. Cuando la posición de la línea está a la izquierda, significa que CoCube se ha desviado a la derecha. Para volver al centro, calculamos la diferencia entre bottomX y el centro de la pantalla (50), luego dividimos por un coeficiente proporcional para obtener un valor de diferencia de velocidad, definido como error1.

  • 2. Cuando el ángulo de la línea no es de 90 grados (lo que indica un giro próximo), necesitamos girar para seguir la línea. Calculamos la diferencia entre 90 grados y el ángulo, luego dividimos por otro coeficiente proporcional para obtener un valor de diferencia de velocidad, definido como error_2.

La velocidad final de la rueda izquierda es igual a la velocidad base (por defecto 25) + error1 + error2, y la velocidad de la rueda derecha es igual a la velocidad base (por defecto 25) - error1 - error2.

(Nota: error1 y error2 utilizan retroalimentación negativa para ajustar la velocidad de las ruedas basándose en el error real, reduciendo así dicho error).

  1. Escribe Tu Propio Programa: Con el código de depuración anterior, ¡intenta usar otros parámetros como términos de retroalimentación negativa para una mayor precisión, o combina más funciones!

Código de referencia: Sengo1 Seguimiento Automático de Líneas

Código de referencia: Sengo2 Seguimiento Automático de Líneas

CC-BY-SA

© por CoCube 2024-2026.
Many thanks to Professor José Manuel Ruiz Gutiérrez for helping with the translation!
Este trabajo tiene una licencia CC-BY-SA 4.0.