Saltar al contenido principal

Etapa 3 · Capítulo 12 · Teoría

12. Conjuntos de Datos de Robots y Diseño de Tareas

Capítulo 12 del Curso de Introducción a la IA Física de Seeed: qué es un Episodio, qué hay en un registro de datos, marcas de tiempo y sincronización, condiciones de inicio/fin, consistencia vs diversidad, cantidad de datos vs calidad y un ejemplo práctico de creación de datos.

12.1 ¿Qué es un Episodio?​

Episodio

12.1 ¿Qué es un Episodio?

A partir de este capítulo, cada operación que hagas significa que has cambiado de rol: ya no eres el "conductor", eres el "profesor". Cada acción que realices se registrará y se convertirá en el libro de texto del modelo. La unidad básica de este libro de texto es el Episodio.

Un Episodio es una demostración completa de una tarea. Desde que el brazo está en su postura inicial y comienza la tarea, hasta la finalización de la tarea, todos los datos registrados continuamente por el sistema constituyen un Episodio.

12.2 ¿Qué hay exactamente en un registro de datos?​

Datos

12.2 ¿Qué hay exactamente en un registro de datos?

Recuerda el Capítulo 9: esto debería resultarte familiar. Sí, es lo que aprendimos antes: Observación, Estado, Acción.

Ten en cuenta el origen de la Acción: registra la acción objetivo dada (a través del Leader), no la posición a la que el Follower realmente llegó después. Esto coincide exactamente con la definición de clonación de comportamiento: el modelo aprende "bajo esta observación y estado, qué pretendía hacer el humano en ese momento".

12.3 Marcas de tiempo y sincronización de datos​

Sincronización

12.3 Marcas de tiempo y sincronización de datos

Las imágenes van por USB, los datos de las articulaciones van por CAN: los dos flujos de datos naturalmente llegan al ordenador en momentos diferentes. LeRobot añade una marca de tiempo a cada fotograma de datos, alineando así imágenes, estados y acciones del "mismo momento" en una sola fila.

Timestamps and synchronization

12.4 Diseño de tareas: condiciones de inicio y fin​

Diseño de tareas

12.4 Diseño de tareas: condiciones de inicio y fin

Antes de recopilar datos, escribe claramente la definición de la tarea en texto. Una buena definición de tarea responde a dos preguntas: ¿Dónde empieza? ¿Cuándo termina?

Condición de inicio: dale al modelo un "punto de partida fijo"​

  • Postura inicial fija del brazo: cada Episodio comienza desde la misma postura segura (por ejemplo, una postura estándar cercana a cero). Si las posturas iniciales varían mucho, el primer paso del modelo será aprender "cómo entrar en la tarea desde cualquier postura", añadiendo una dificultad innecesaria.

Condición de fin: dibuja una "línea de meta" clara para el Episodio​

  • Final exitoso: objetivo de la tarea alcanzado (por ejemplo, "bloque completamente dentro de la caja, pinza abierta y brazo levantado").
  • Terminación por fallo: se produce una situación irrecuperable (objeto caído, contenedor volcado, brazo entra en una postura peligrosa): detén inmediatamente la grabación de este Episodio.

12.5 Consistencia vs. diversidad de la tarea​

Diseño de datos

12.5 Consistencia vs. diversidad de la tarea: la tensión central en el diseño de datos

Esta es la sección más crítica del capítulo. Los datos de demostración de alta calidad deben satisfacer simultáneamente dos requisitos que parecen contradictorios.

Consistencia: enseñar una "forma de hacerlo"​

  • Estilo de operación consistente: para la misma tarea, todos los Episodios deben usar la misma estrategia (por ejemplo, acercarse siempre al bloque desde la derecha, agarrarlo y bajarlo dentro de la caja desde arriba). Si la mitad de los datos agarran desde la izquierda y la otra mitad desde la derecha, el modelo aprende el "promedio" de dos enfoques, a menudo una trayectoria extraña que no agarra nada.
  • Ritmo consistente: la velocidad de movimiento y las posiciones de pausa deben ser aproximadamente estables; si estableces 20 segundos, complétalo en 20 segundos. Los datos con velocidades muy variables hacen que las acciones del modelo sean inconsistentes en velocidad.
  • Flujo de trabajo consistente: cada ejecución debe pasar por todo el flujo de trabajo "acercarse → agarrar → transportar → colocar → retirarse" sin saltarse pasos.
  • Estado inicial de la escena controlado: los objetos deben colocarse dentro de un área designada (el área puede ser grande, pero los límites deben ser claros); elimina los elementos no relacionados del espacio de trabajo.
  • Posición fija de la cámara: las cámaras no deben moverse durante la recopilación; para el modelo, mover la cámara 5 cm significa que el mundo ha cambiado.

Diversidad: suficientes "variaciones" vistas​

  • Posiciones objetivo diversas: los bloques aparecen en varias posiciones dentro del espacio de trabajo (cobertura en cuadrícula, no dispersión aleatoria).
  • Posturas iniciales diversas: la orientación del bloque y su posición relativa a los obstáculos deben variar.

12.6 Criterios de éxito y fallo​

Criterios

12.6 Criterios de éxito y fallo

Estándar no calificado (ambiguo)Estándar calificado (medible)
"Mientras el objeto esté más o menos agarrado.""La pinza está completamente cerrada y agarra el centro del bloque."
"Mientras el bloque esté dentro de la caja.""El bloque se coloca cerca del centro de la caja en lugar de al azar cerca del borde."
"Solo recoge el bloque y ponlo en la caja.""Todo el movimiento debe ser fluido y la duración de cada episodio grabado debe mantenerse razonablemente constante."

Para los segmentos fallidos durante la grabación, el principio es sencillo: vuelve a grabar este Episodio. No conserves datos fallidos esperando que "quizás el modelo aprenda de ellos"; el modelo sí aprenderá, incluidos los fallos.

"Tarea completada" debe ser un estado objetivamente determinable, no "parece que está bien". Buenos criterios de éxito se ven así:

12.7 Cantidad de datos vs. calidad de datos​

Volumen de datos

12.7 Cantidad de datos vs. calidad de datos

Referencia empírica (para una sola tarea de sobremesa en un entorno limpio, como una caja de recopilación de datos; si no hay caja de recopilación de datos, aumenta el tamaño del conjunto de datos):

Cantidad de datosEfecto esperado
50 EpisodiosEl flujo funciona; el modelo empieza a funcionar en el área cubierta por los datos (nivel inicial para tareas de introducción)
50–100 EpisodiosLa tasa de éxito alcanza un rango utilizable; el punto óptimo para la mayoría de experimentos de una sola tarea
100+ EpisodiosRendimientos decrecientes, a menos que la tarea sea compleja o los requisitos de tasa de éxito sean muy altos

Para tareas múltiples, aumenta los datos en proporción a la complejidad. Por supuesto, se pueden complementar los datos después del entrenamiento: cuando veas que el rendimiento del modelo no es bueno, puedes añadir más datos.

Pero pon esta frase antes de los números:

  • 50 Episodios de alta calidad son mejores que 200 descuidados.
  • Si hay un problema con la recopilación de datos, no lo dudes: vuelve a grabar este Episodio inmediatamente.
  • Si quieres una fuerte capacidad de generalización, necesitarás cientos o miles de Episodios.

12.8 Conjuntos de datos de una sola tarea vs. de múltiples tareas​

Conjuntos de datos

12.8 Conjuntos de datos de una sola tarea vs. de múltiples tareas

  • Conjunto de datos de una sola tarea: un conjunto de datos contiene solo una tarea (por ejemplo, "bloque en la caja"). El modelo tiene un único objetivo, los requisitos de datos son pequeños y es más fácil lograr una alta tasa de éxito. Tu primer modelo debe comenzar con una sola tarea.
  • Conjunto de datos de múltiples tareas: un conjunto de datos contiene varias tareas (agarrar bloque, abrir cajón, poner bloque en el cajón); cada Episodio está etiquetado con task_index para indicar a qué tarea pertenece. El aprovechamiento de los datos es alto y es la dirección hacia políticas generales, pero las tareas compiten por la capacidad del modelo, lo que requiere más datos por tarea para aprender bien.

12.9 Iteración de la recopilación de datos​

Iteración

12.9 Iteración de la recopilación de datos

Recopila en lotes con validación iterativa: recopila 50 → entrena → evalúa en el robot real → recopila más para los escenarios de fallo → vuelve a entrenar. Si la dirección general del modelo es correcta pero la precisión es baja, añadir datos ayuda; si el comportamiento del modelo es completamente erróneo, hay un problema con el diseño de la tarea o de los datos, y ninguna cantidad adicional de datos ayudará.

12.10 Ejemplo de creación de datos​

Ejemplo

12.10 Ejemplo de creación de datos

Diseño de la escena​

  1. Coloca tubos de ensayo en un soporte para tubos de ensayo. Nota: fija la base del soporte con cinta de doble cara para evitar que se mueva; mantén las cámaras y el brazo en posiciones fijas y mantén la iluminación sin cambios.
Diseño de la escena
  1. Coloca los tubos de ensayo según los puntos que se muestran en la figura; 1→2→3→4→5 es una ronda. Recoge datos durante 10 rondas.
Puntos de colocación de los tubos de ensayo

El problema más doloroso para los principiantes al registrar datos es "cómo colocar los objetos para practicar a fondo": si los colocas al azar, o bien se agrupan todos en una zona pequeña (el modelo solo reconoce ese punto y falla en otras posiciones), o bien quedan dispersos de forma irregular (algunas zonas se practican en exceso y otras nunca se tocan). Es como repasar solo los ejercicios que ya dominas y suspender cuando el examen cambia el formato; o como mostrarle a un robot solo un tipo de snack, de modo que no sepa por dónde empezar en un buffet. Aquí tienes un método sencillo y estandarizado:

  1. Marcar puntos: usa un lápiz para marcar 5 puntos en el área de recolección de datos (caja de recolección / tapete de escritorio), dispuestos en forma de cruz: 1 en el centro y uno en la parte superior, inferior, izquierda y derecha.
  2. Ajustar el espaciado: los puntos adyacentes deben estar separados por 5–10 cm, asegurando que los cinco puntos estén dentro del espacio de trabajo del brazo y sean claramente visibles en ambas vistas de la cámara.
  3. Distribuir: recoge 10 Episodios en cada punto; 5 puntos × 10 = 50 Episodios, lo que cumple el objetivo. Ten en cuenta también: no recojas 10 Episodios en el punto 1, luego 10 en el punto 2, etc.; en su lugar, recoge 1 Episodio en cada punto (5 puntos = 1 ronda) y realiza 10 rondas de esta manera.

Diseño de agarre y colocación​

  1. Posición inicial
Posición inicial
  1. Agarrar el objeto
  • Mueve el brazo directamente por encima del tubo de ensayo (siempre muévelo al centro del tubo a la misma altura sobre él).
Moverse por encima del tubo de ensayo
  • Abre la garra (¿por qué empezar a una distancia fija? Para evitar golpear el tubo al abrir la garra y desplazar su posición).
Abrir la garra
  • Agarra siempre con la misma fuerza y velocidad.
Agarrar el objeto
  1. Colocar el objeto
  • Muévete directamente por encima del centro del soporte para tubos de ensayo.
Moverse por encima del soporte
  • Abre la garra a velocidad constante y eleva el brazo; deberías ver cómo el tubo se asienta suavemente en el soporte.
Colocar el objeto
  • Después de colocar el tubo, devuelve el brazo a su posición inicial.
Volver a la posición inicial

Eso es todo: un Episodio perfecto está completo. Ahora solo tienes que repetirlo 50 veces.

Preguntas de diseño​

¿Por qué no puedo mover el soporte para tubos de ensayo, las cámaras, las posiciones de los tubos o cambiar la iluminación?

  • Despejando el malentendido: "Mover todo libremente" genera ruido, no diversidad.
  • Teoría del presupuesto de generalización: con datos limitados, las variaciones que gastas en una dimensión enseñan al modelo esa dimensión: gastarlas en la posición del objetivo le enseña a agarrar tubos en diferentes posiciones; gastarlas en variaciones de la posición de la cámara hace que el modelo tenga que aprender tanto el agarre como las diferencias de punto de vista, lo que requiere muchos más datos y produce peores resultados.
  • Qué hacer si realmente necesito variaciones: no se trata de "no fijar" nada durante la grabación, sino de la iteración posterior con datos suplementarios: ampliar conscientemente los límites para lograr la generalización que buscamos.
Loading Comments...