Recopilación de datos
Grabar más de 50 episodios de demostración en el LinkerBot O6 usando LeRobot. Configuración de la cámara, flujo de trabajo de los episodios, formato del conjunto de datos y lista de verificación de filtración de calidad. ~ 2 horas.
Unidad 4 de 5 · Recopilación de datos · ~ 2 horas
Graba 50 o más episodios de demostración exitosos utilizando LeRobot. Configure cámaras, defina su tarea, ejecuta el flujo de trabajo de grabación y aplique filtración de calidad. Objetivo: un conjunto de datos limpio de 50 episodios listo para el entrenamiento.
Configuración de la cámara
Se requiere un mínimo de una cámara para el aprendizaje de imitación.
- Camera de arriba hacia abajo
montada a 60 80 cm sobre el espacio de trabajo en un brazo de cámara o montura del techo. Captura claramente las posiciones de los objetos y el estado del agarre. 640×480 @ 30 fps es suficiente; 1280×720 es preferible. - **Camera de muñeca (opcional) **
montada cerca del efector final. Proporciona una visión de granos finos para las tareas de contacto y captura. Intel RealSense D405 o equivalente.
# Test camera streams before recording
python3 -c "
import cv2
cap = cv2.VideoCapture(0) # /dev/video0
ret, frame = cap.read()
print('Camera OK:', frame.shape if ret else 'FAILED')
cap.release()
"
Grabación del flujo de trabajo
Utiliza el guión de registro LeRobot. Se encarga de la sincronización de múltiples cámaras, el registro de estado conjunto y la carga de HuggingFace Hub en un solo comando:
python -m lerobot.scripts.control_robot \
--robot.type=linker_bot_o6 \
--control.type=record \
--control.fps=30 \
--control.repo_id=your-username/o6-pick-place \
--control.tags='[o6,pick-place,tabletop]' \
--control.warmup_time_s=5 \
--control.episode_time_s=30 \
--control.reset_time_s=10 \
--control.num_episodes=60
El flujo de trabajo por episodio:
- Periodo de calentamiento (5 s)
configurar la escena (poner el objeto en posición de partida). - Grabación (hasta 30 segundos)
realizar la tarea utilizando su método de teleoperación. - Periodo de reiniciación (10 s)
regresar el brazo a casa, reiniciar los objetos, prepararse para el próximo episodio. - Repita para los 60 episodios planeados.
Formatos de conjunto de datos de LeRobot
Cada episodio se almacena como un archivo de Parquet con observaciones y acciones sincronizadas.
# Dataset structure (per episode)
{
"observation.state": [T, 12], # joint positions [6] + velocities [6]
"action": [T, 6], # commanded joint positions
"observation.images.top": [T, H, W, 3], # top camera frames (uint8 RGB)
"observation.images.wrist": [T, H, W, 3], # wrist camera (if configured)
"timestamp": [T], # seconds from episode start
"episode_index": scalar,
"frame_index": [T],
"task": str # task description
}
Consejos para definir las tareas
- ** Comience con un principio simple.** "Recabar el cubo rojo y colocarlo en la basura" es una buena primera tarea. Evite tareas compuestas de varios pasos hasta que tenga una línea de base de trabajo.
- Posición de partida consistente. Coloque los objetos en el mismo lugar (±1 cm) para cada episodio.
- Completar la tarea de extremo a extremo. Cada episodio debe pasar de un estado de inicio claro a un estado de meta claro.
- Movimientos suaves. Evite los movimientos correctivos y desordenados si es posible.
Protocolo de filtración de calidad
Después de la sesión de grabación, revise y filtre antes del entrenamiento:
- Vea cada episodio de reproducción:
T4 - Marque los episodios en los que la tarea no se haya completado de extremo a extremo para su eliminación.
- Compruebe si se han caído los fotogramas de la cámara (todo el tiempo de reproducción visual).
- Confirmar que los datos de estado conjunto son continuos
no hay grandes discontinuidades entre los marcos consecutivos. - Verifique que la posición de inicio del objeto fue consistente en los episodios mantenidos.
- Después de filtrar, confirme que le quedan ≥50 episodios.
- Haga copias de seguridad del conjunto de datos a una segunda ubicación antes de continuar.
Cargar en HuggingFace Hub
# Push to Hub (requires huggingface-cli login)
huggingface-cli login
python -m lerobot.scripts.push_dataset_to_hub \
--repo-id your-username/o6-pick-place
La carga al Hub hace que su conjunto de datos esté disponible para la colaboración en equipo, las carreras de capacitación reproducibles y la contribución al registro compartido de conjunto de datos de robótica en roboticscenter.ai/datasets.
Unidad 4 completa cuando...
Tiene 50 o más episodios de demostración de alta calidad en su conjunto de datos LeRobot. Todos los episodios pasan la lista de verificación de calidad. Los flujos de cámara son completos y los datos de estado conjunto son continuos. El conjunto de datos se copia de seguridad y, opcionalmente, se empuja a HuggingFace Hub. Ha identificado su cadena de descripción de tareas y confirmó que es consistente en todos los episodios.
[← Regreso a la visión general del camino]







