Soy ingeniero en robótica, apasionado por los vehículos autónomos y el desarrollo de tecnologías inteligentes que impacten positivamente el mundo real.
Week 44 – Generación Masiva de Dataset DAgger y Estabilización de CARLA
Trabajo realizado
Generación de Dataset Masivo con DAgger: Se desarrolló y desplegó un script automatizado para la extracción masiva de datos a partir de grabaciones de conducción experta (.log). El pipeline procesa simulaciones de forma iterativa a través de 4 mundos distintos (incluyendo Town01, Town03, Town04 y Town05), capturando perspectivas de cámara RGB estabilizadas a 10 FPS junto con telemetría física precisa (controles de mando, velocidad vectorial frontal y tasa de guiñada).
Gestión Automatizada de Entornos y Sincronización: Se implementó una lógica de detección dinámica que lee los metadatos de los logs y cambia automáticamente el mapa base en CARLA antes de la reproducción. Para evitar bloqueos temporales (deadlocks) entre el cliente de Python y el servidor, se reestructuró el manejo del Modo Síncrono, asegurando que el motor gráfico se libere adecuadamente durante las transiciones de mapas.
Diagnóstico y Resolución de Colapsos del Servidor (Signal 11): Durante el intento de escalar la extracción del dataset masivo, el servidor de Unreal Engine sufrió colapsos críticos recurrentes (Segmentation fault / Time-outs de 120,000ms). Se diagnosticaron y solucionaron las siguientes causas raíz:
Saturación de VRAM / Fugas de Memoria: Pérdida de estabilidad acumulada al cargar secuencialmente múltiples mapas. Se mitigó mediante la purga manual de la caché temporal del motor (Saved) y el aislamiento de ejecuciones en limpio.
Asfixia del Servidor (DDoS interno): Un fallo en la asincronía de la cola de imágenes provocaba un bucle infinito que saturaba a CARLA con peticiones violentas de world.tick(). Se resolvió implementando peticiones de fotogramas con bloqueo condicional (timeout=2.0), obligando al cliente a esperar el renderizado del simulador antes de avanzar.
Corrupción de Assets / Datos en Replay: Se aisló un problema de cierre abrupto e inevitable en coordenadas específicas de Town01. Se abordó mediante estrategias de recorte (trimming) de datos para salvar la telemetría e imágenes capturadas previas al punto de fallo del mapa.
Visualizaciones
Pipeline de generación de dataset procesando archivos de replay a 10 FPS. El sistema detecta y carga dinámicamente diferentes mapas (ej. Town04 a Town05) manteniendo la sincronización de la telemetría y el guardado de imágenes.
Análisis del colapso del servidor de CARLA (Signal 11 / Segmentation Fault) en la terminal de Linux. La métrica de nvidia-smi confirmó la estabilidad del hardware, orientando la solución hacia el control estricto de los ticks de simulación y la limpieza de caché.