1. Objetivo
Aprender la función de reconocimiento de bloques de color del módulo de visión AI e implementar la clasificación de bloques de color utilizando la pinza de CoCube.
2. Materiales

3. Plataforma de Software
4. Conocimiento del Algoritmo
Tutorial de Referencia
Documentación: Introducción al Algoritmo — Detección de Bloques (Blob Detection)
El estado de funcionamiento en la pantalla del Sengo1 se muestra a continuación. La pantalla divide la imagen en 100 partes iguales horizontalmente (X) y verticalmente (Y). La esquina superior izquierda es el origen (0,0), la inferior derecha es (100,100) y el centro es (50,50). Cuando se detecta un bloque de color, devuelve sus valores X, Y, W y H.

Descripción de los Bloques
- Bloque de Inicialización Sengo 1
El bloque de inicialización debe ejecutarse antes de usar la cámara. Generalmente se coloca bajo el bloque de sombrero "al empezar".

- Bloque Sengo1 Establecer Modo

- Configuración de Parámetros de Detección de Bloques
Selecciona el color a detectar y el tamaño de área mínimo/máximo.

- Sengo1 Leer Resultados de Bloques


Devuelve los resultados de detección del bloque de color, incluyendo la coordenada X central, la coordenada Y central, el ancho W y el alto H.
5. Programación
Conectar Dispositivo: Conecta el IDE de MicroBlocks al robot CoCube mediante una conexión por cable o inalámbrica, y acopla el módulo de visión AI en la parte frontal del CoCube.
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 básico. Sengo2 tiene más funciones. Este tutorial utiliza la librería Sengo1.

- Inicialización del Módulo de Cámara: Inicializa Sengo1 al arrancar. Configura la cámara en modo "Blob Detect" (Detección de Bloques) y define el color objetivo y el tamaño del área. Al usar la pinza, se debe usar el bloque de inicialización de la cámara para asegurar el suministro de energía al módulo de la pinza.

- Detección de Objetivo y Determinación de Parámetros: Ajustando el umbral de la coordenada Y del bloque (el número en el círculo azul), puedes controlar la distancia entre CoCube y la bola. Este valor depende de la pose de la cámara y del entorno actual. La lógica es similar a las tareas anteriores de reconocimiento de tarjetas.

Pregunta: Los bloques anteriores carecen de juicio para la dirección X y ajustes de movimiento específicos. ¿Cómo podemos implementarlos?
- Ajuste de Movimiento: Dado que CoCube utiliza una tracción diferencial por orugas, necesita ajustar la velocidad de las dos ruedas para corregir su rumbo cuando la bola objetivo se desvía. Podemos ajustar la posición controlando las velocidades de las ruedas izquierda y derecha simultáneamente. Cuando el objetivo está a la izquierda, la velocidad de la rueda izquierda debe ser menor que la de la derecha, y viceversa. Esta es una forma simple de control de retroalimentación negativa.

Suplemento de Conocimiento — Control de Retroalimentación Negativa: La retroalimentación negativa es como el instinto de mantener el equilibrio en una cuerda floja: si tu cuerpo se inclina hacia la izquierda (ocurre un error), tu cerebro ordena inmediatamente a tu cuerpo que se incline hacia la derecha (ajuste inverso). Este mecanismo de "restar donde hay demasiado, sumar donde hay poco" cancela las perturbaciones actuando contra la desviación, manteniéndote estable en la trayectoria objetivo.
- Escribe tu Propio Programa: ¡Con el código de depuración anterior, intenta combinar más funciones tú mismo!
6. Desafío
Implementa una función de clasificación automática de bolas usando CoCube. Puedes añadir los botones A y B para un control de inicio y parada más flexible.

Código de Referencia: Sengo1 Caso de Clasificación de Bolas
Código de Referencia: Sengo2 Caso de Clasificación de Bolas