Recolección de Datos
El flujo de trabajo de grabación completo para el LinkerBot O6. Teleoperación líder-seguidor, formato de conjunto de datos de LeRobot, lista de verificación de calidad de episodios y enlaces a la pipeline de recolección de datos más amplia.
Flujo de trabajo de grabación para el O6
El proceso completo desde que el hardware está listo hasta el primer episodio del conjunto de datos. Siga los pasos en orden.
Verifique el hardware y la interfaz CAN
Confirme que el O6 esté montado, encendido y que la interfaz CAN esté activa. Ejecutar candump can0 y verificar que los paquetes de latido del motor aparezcan antes de continuar.
Configurar la tarea y el diseño de la cámara
Definir la descripción de la tarea, configurar la(s) cámara(s) en los ángulos correctos y colocar los objetos de la tarea en el espacio de trabajo. Una configuración de escena consistente a lo largo de los episodios es crítica para la generalización de políticas.
Iniciar la sesión de grabación
Lanzar el script de control de LeRobot con el record modo. Esto arma el sistema para la grabación del episodio. La sesión esperará tu señal de inicio antes de capturar.
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=record \
--control.fps=30 \
--control.repo_id=your-username/o6-task-name \
--control.num_episodes=50 \
--control.single_task="Pick up the blue block"
Teleoperar y grabar episodios
Usa un brazo líder (o tu teclado para pruebas simples) para teleoperar el O6. Presiona la tecla de inicio/parada para delimitar cada episodio. Restablece la escena entre episodios para mantener la consistencia.
Revisar y filtrar episodios
Usa la herramienta de reproducción de LeRobot para revisar visualmente cada episodio. Desecha cualquier episodio que no pase la lista de verificación de calidad a continuación. Calidad sobre cantidad: 30 episodios excelentes superan a 100 mediocres.
python -m lerobot.scripts.control_robot \
--robot.type=linkerbot_o6 \
--control.type=replay \
--control.repo_id=your-username/o6-task-name \
--control.episode=0
Subir al HuggingFace Hub
Envía tu conjunto de datos filtrado al HuggingFace Hub para compartir y entrenar. El conjunto de datos está inmediatamente disponible para el entrenamiento de políticas en LeRobot.
huggingface-cli login
python -m lerobot.scripts.push_dataset_to_hub \
--repo_id=your-username/o6-task-name
Formato de conjunto de datos de LeRobot para O6
Cada episodio grabado se almacena en el formato estándar de conjunto de datos de LeRobot en HuggingFace. Este formato es directamente compatible con ACT, Diffusion Policy y todos los demás algoritmos de entrenamiento compatibles con LeRobot.
Estructura del episodio
dataset/
data/
episode_000000/
observation.state.npy # [T, 12] — 6 joint positions + 6 velocities
action.npy # [T, 6] — 6 target joint positions
observation.images.wrist_cam/
frame_000000.png # 640x480 @ 30 fps
...
observation.images.overhead_cam/
frame_000000.png
...
episode.json # {task, success, duration_s, num_frames}
meta_data/
info.json # dataset schema version, robot type, fps
stats.json # per-channel mean, std, min, max
Dimensiones de estado y acción
# observation.state: [T, 12]
# Columns: [j0_pos, j1_pos, j2_pos, j3_pos, j4_pos, j5_pos,
# j0_vel, j1_vel, j2_vel, j3_vel, j4_vel, j5_vel]
# Units: radians and radians/second
# action: [T, 6]
# Columns: [j0_target, j1_target, j2_target, j3_target, j4_target, j5_target]
# Units: radians
Entrenar una política a partir de tu conjunto de datos O6
python -m lerobot.scripts.train \
--dataset_repo_id=your-username/o6-task-name \
--policy.type=act \
--output_dir=./checkpoints/o6-act-v1 \
--training.num_epochs=100
Lista de Verificación de Calidad del Episodio
Aplica esta lista de verificación a cada episodio antes de incluirlo en tu conjunto de datos de entrenamiento. Los datos malos son peores que tener menos datos.
- ✓Tarea completada con éxito — el brazo alcanzó el estado objetivo sin intervención humana. No se permiten completaciones parciales.
- ✓El movimiento es suave y deliberado. — sin correcciones bruscas, sobrepasos o cambios de dirección repentinos. Las demostraciones suaves entrenan políticas más suaves.
- ✓Todos los fotogramas de la cámara están presentes. — sin fotogramas perdidos, sin oclusiones de la región de trabajo relevante para la tarea.
- ✓Los estados de las articulaciones son continuos. — sin intervalos de tiempo mayores a 40 ms en el registro de estado.
- ✓La duración del episodio es consistente. — episodios más cortos de 3 s o más largos de 30 s suelen ser atípicos. Revísalos antes de incluirlos.
- ✓La escena fue reiniciada de manera idéntica. — los objetos de la tarea fueron devueltos a la misma posición inicial antes de que comenzara el episodio.
- ✓Sin errores de CAN durante la grabación. - para comprobar.
candump can0registros de fotogramas de error durante la sesión.