2 minute read

Construcción del dataset y entrenamiento del modelo

Se construyó un nuevo dataset, combinando la estrategia de teleoperación con la técnica DAgger (Dataset Aggregation). Esta última se implementó introduciendo perturbaciones aleatorias controladas sobre el vehículo (ruido gaussiano en dirección, aceleración y freno), lo que obliga al modelo a aprender a recuperarse de trayectorias desviadas. De esta forma, el dataset incluye tanto ejemplos de conducción ideal como situaciones de corrección, aumentando la robustez del modelo.

Además, se incorporó la detección de curvatura, lo que permitió etiquetar cada imagen según si pertenece a un tramo recto o curvo de la pista.

Con estas estrategias, se generó un dataset de 85,000 imágenes segmentadas, acompañadas de etiquetas de control y curvatura. Se realizó un balanceo completo entre datos de curvas y rectas.

Posteriormente, se entrenaron distintos modelos basados en EfficientNet:

  • Modelo monolítico (general)
  • Modelo especializado en curvas
  • Modelo especializado en rectas

Resultados en pruebas offline

Los resultados obtenidos durante la evaluación offline fueron los siguientes:

Variable MSE MAE
Steer 0.2910 0.1995
Throttle 0.4920 0.4778

Prueba de conducción (piloto fuera de behavior)

  • Tiempo de inferencia: 15.17 ms
  • Velocidad promedio: 45 km/h
  • Tiempo en completar la vuelta: 1:15 min
  • Observación: conducción estable, con mejor toma de curvas y un comportamiento más suave en general.

Prueba online

Utilizando behavior metrics, se obtuvieron resultados preliminares (pendiente profundizar debido a problemas en la condición de terminación).

Resultados de la prueba online (BehaviorMetrics)

Modelo utilizado: efficientnet_CM_dagger.onnx

Métrica Valor
% Completado 0.0169
Lap checkpoint 0
Punto de inicio (x, y) (167.29, -105.56)
Punto de inicio en mapa (x, y) (18.99, 105.56)
Distancia completada (m) 773.37
Distancia efectiva (m) 102.5
Vueltas completadas 0
Tiempo simulado (s) 117
Tiempo real (s) 237.36
Velocidad promedio (km/h) 23.79
Velocidad máxima (km/h) 41.95
Velocidad mínima (km/h) 10.04
Colisiones 0
Invasiones de carril 0
Colisiones por km 0
Invasiones por km 0
Desviación media posición (m) 1.54
Error total de posición 2393.42
Desviación media posición por km 15.05
Repentinos (suddenness) - velocidad 0.381
Repentinos (suddenness) - comandos control 0.257
Repentinos (suddenness) - throttle 0.227
Repentinos (suddenness) - steer 0.075
Repentinos (suddenness) - brake 0.0
Repentinos por km - velocidad 3.717
Repentinos por km - comandos control 2.507
Repentinos por km - throttle 2.214
Repentinos por km - steer 0.733
Repentinos por km - brake 0.0
trayectoria online
Trayectoria recorrida en la prueba online con el modelo efficientnet_CM_dagger.onnx.

Trabajo pendiente

Actualmente no funciona correctamente la lógica de verificación de llegada al punto objetivo. Aunque se revisaron los parámetros en metrics.py y test_suit_manager_carla.py, el valor de self.termination_code no se actualiza como debería.

Este punto sigue pendiente para poder repetir las métricas con una medición efectiva de distancia al objetivo, lo cual permitirá tener evaluaciones más precisas en las pruebas online.