Por qué la Recolección de Datos Bimanual es Más Difícil

En la recolección de datos de un solo brazo, una mala demostración afecta solo la trayectoria de un brazo. Registra 50 demostraciones, descarta 5 malas y entrena con 45. En la recolección de datos bimanual, un error en el punto de entrega invalida ambos las trayectorias de los brazos para esa demostración simultáneamente. Los modos de falla están acoplados.

Este acoplamiento tiene dos implicaciones prácticas. Primero, necesita más demostraciones — 100 en lugar de 50 — porque las tareas bimanuales tienen mayor variabilidad y la política necesita más ejemplos para aprender la estructura de coordinación. Segundo, necesita una consistencia más estricta por demostración. Una demostración de un solo brazo que es 80% consistente entrena razonablemente bien. Una demostración bimanual donde un brazo es consistente y el otro varía no enseña nada útil a la política sobre el tiempo de coordinación.

El desafío de cobertura del espacio de trabajo también es mayor: necesita ambos brazos en el marco, y el punto de entrega — el momento de mayor complejidad — debe ser capturado de manera confiable por al menos una cámara. Verifique los ángulos de su cámara antes de comenzar y ajuste si la entrega ocurre fuera del campo de visión de la cámara del espacio de trabajo.

Formato del Conjunto de Datos Bimanual de LeRobot

La integración de DK1 con LeRobot extiende el formato estándar de un solo brazo con arreglos de estado de articulaciones duales. Cada paso de tiempo en el conjunto de datos contiene:

# Bimanual dataset observation keys per timestep: observation.joint_states.left # shape: (6,) — left follower joint angles in radians observation.joint_states.right # shape: (6,) — right follower joint angles in radians observation.gripper.left # shape: (1,) — left gripper position [0=open, 1=closed] observation.gripper.right # shape: (1,) — right gripper position observation.images.workspace # shape: (H, W, 3) — workspace overhead/front camera observación.imágenes.muñeca # shape: (H, W, 3) — primary wrist camera action.joint_states.left # shape: (6,) — target left joint angles action.joint_states.right # shape: (6,) — target right joint angles action.gripper.left # shape: (1,) action.gripper.right # shape: (1,)

La principal diferencia con el formato de un solo brazo: el espacio de acción es de 14 dimensiones (6+6 articulaciones + 2 pinzas). ACT maneja esto de forma nativa: especificas la dimensión de acción en la configuración de entrenamiento y no se requieren otros cambios.

Flujo de Trabajo de Grabación

source ~/dk1-env/bin/activate # Start a recording session — 100 episodes for the cube handoff task python -m lerobot.scripts.record \ # --warmup-time-s: time after pressing record before capture starts (use this to position the cube) # --episode-time-s: max demo length — cube handoff should complete in under 20s; 30s gives buffer # --reset-time-s: time between episodes to return arms to home and reposition the cube

Realiza de 10 a 15 demostraciones de práctica antes de comenzar la sesión de grabación para calentar tu memoria motora para la tarea. Las primeras 5 a 10 demostraciones grabadas serán las peores; eso es esperado. No te detengas a revisarlas durante la sesión; revisa y elimina las malas demostraciones después de que se hayan grabado las 100 completas.

Lista de Verificación de Calidad para Datos Bimanuales

Revisa cada demostración después de grabar usando el visor de repetición de LeRobot. Descarta cualquier demostración que falle dos o más de estos criterios:

Sincronización de brazos en la entrega Ambos brazos deben estar dentro de 3 cm del punto de entrega previsto simultáneamente. Las entregas asíncronas donde un brazo espera al otro enseñan a la política a pausar, lo cual se transfiere mal.
Posición de inicio consistente El cubo debe comenzar a no más de 2 cm de la misma posición para cada demostración. Usa las marcas de cinta de la Unidad 1. La variación en la posición de inicio obliga a la política a generalizar antes de haber aprendido la tarea principal.
Agarre limpio — ambos brazos Cada brazo debe lograr un agarre estable antes de pasar a la siguiente fase. Un agarre que resbala a mitad de la transferencia crea una trayectoria que es imposible de replicar de manera confiable para la política.
Regreso a la pose inicial Ambos brazos deben regresar limpiamente a la pose inicial al final de cada demostración. Las demostraciones que terminan a mitad de movimiento crean un conjunto de datos donde los límites de los episodios son ambiguos.
Cobertura de cámara en el espacio de trabajo El momento de la entrega debe ser visible en el marco de la cámara del espacio de trabajo. Si los cuerpos del robot obstruyen la vista, ajusta el ángulo de la cámara antes de continuar.
Temporización consistente La duración del episodio no debe variar en más de ±5 segundos entre demostraciones. Una gran variación en el tiempo indica una ejecución inconsistente y produce un conjunto de datos con alta entropía en el espacio de acción.
Tamaño del conjunto de datos objetivo: 100 demostraciones es el mínimo recomendado para el entrenamiento ACT bimanual. Los resultados de la investigación sugieren que las tareas bimanuales requieren aproximadamente 2× los datos de tareas comparables de un solo brazo porque la estructura de coordinación conjunta es más compleja y el espacio de acción es más grande. Si después del entrenamiento en la Unidad 5 tu tasa de éxito está por debajo del 40%, recoger otras 50 demostraciones específicas es lo primero que debes intentar.

Unidad 4 Completa Cuando...

Tienes 100 demostraciones grabadas en formato LeRobot en ~/dk1-datasets/cube-handoff-v1/. Después de revisar y depurar, al menos 90 demostraciones pasan la lista de verificación de calidad. Ambos arreglos de estado de las juntas están presentes a 50Hz para cada episodio. Ambas transmisiones de cámara están presentes y muestran toda la secuencia de la tarea, incluyendo el momento de la entrega. Has ejecutado python -m lerobot.scripts.visualize_dataset --repo-id cube-handoff-v1 y confirmado que la estructura del conjunto de datos es válida.