11 minute read

En esta entrada reporto los resultados de robustez en CARLA Town02 comparando tres políticas/datasets bajo el mismo circuito de prueba, con 6 repeticiones por condición (valores reportados como promedio de las repeticiones).

Circuito base

  • Caso canónico: recorrido siguiendo la malla externa (outer loop) de Town02, manteniéndose en el carril derecho.
  • Casos 1–15: se ejecuta el mismo circuito, pero cambiando las condiciones iniciales (posición y orientación) para evaluar recuperación.
  • Pruebas de velocidad (30/60/80 km/h): mismo circuito. Se impone manualmente una velocidad inicial; cuando el vehículo alcanza la velocidad objetivo, inicia la inferencia del modelo.
  • Casos aleatorios: se seleccionan tres posiciones aleatorias de inicio dentro de la malla externa, manteniendo el mismo punto final.

Datasets / políticas evaluadas

El dataset original (~95k imágenes) estaba dominado por conducción recta y aceleración constante, por lo que se aplicó una estratificación 5×4 (steer × throttle), generando 20 clases balanceadas y reduciendo el dataset a 50k muestras equilibradas, denominado Burbuja. Luego, Burbuja se combinó con DAgger y Noise Injection para entrenar un PilotNet modificado (salidas: steer y throttle).

Como entrada, se utilizó la imagen segmentada procesada: se extrajo únicamente la calzada para generar una máscara binaria, se recortó la región superior, se redimensionó a 66×200, y se normalizó tipo ImageNet. Esto permite que el modelo aprenda directamente la geometría de la vía, reduciendo distracciones visuales y complejidad perceptual.

Políticas evaluadas

  • Burbuja (Baseline): dataset de 50k muestras de conducción humana natural balanceada.
  • Noise Injection: Burbuja + perturbaciones artificiales controladas. Se inyecta ruido gaussiano en steering, generando pequeños offsets laterales con label humano. Objetivo: aprender tolerancia a perturbaciones pequeñas.
  • DAgger: Burbuja 50k + muestras DAgger con intervención estructural de recuperación. Introduce estados fuera del manifold y correcciones activas.

En las tablas se usan estos nombres

  • Burbuja: dataset de 50k muestras de conducción humana natural.
  • Noise: Burbuja + perturbaciones artificiales controladas.
  • DAgger: Burbuja 50k + muestras DAgger con recuperación estructural.

Métricas y unidades

  • Route completed (%): percentage_completed_ideal_mean — más alto es mejor.
  • Average speed (km/h): average_speed_mean — más alto es mejor.
  • Dev mean (m): position_deviation_mean_mean — más bajo es mejor.
  • Lane invasions (eventos): número de invasiones de carril — más bajo es mejor.
  • Collisions (eventos): colisiones — más bajo es mejor.
  • Suddenness throttle (1/s): suddenness_distance_throttle_mean — más bajo es mejor.
  • Suddenness steer (1/s): suddenness_distance_steer_mean — más bajo es mejor.

Nota sobre suddenness (1/s): throttle/steer son comandos normalizados (adimensionales). Al expresarse “por segundo”, la unidad queda como 1/s.


Caso Canónico

Descripción: recorrido estándar en la malla externa de Town02, pensado como “trayecto nominal” para comparar desempeño sin perturbaciones iniciales.

Tabla resumen (Caso Canónico)

Métrica Burbuja Noise DAgger Mejor
Route completed (%) 100.000 98.975 100.000 Empate
Average speed (km/h) 55.108 61.757 56.731 Noise
Dev mean (m) 0.478 0.585 0.619 Burbuja
Lane invasions (eventos) 7.167 11.167 15.500 Burbuja
Collisions (eventos) 0 0 0 Empate
Suddenness throttle (1/s) 0.0175 0.0180 0.0165 DAgger
Suddenness steer (1/s) 0.0051 0.0078 0.0076 Burbuja

En condiciones nominales, Burbuja y DAgger completan la ruta al 100%, mientras que Noise no lo logra (98.975%). Burbuja muestra la mejor precisión lateral (Dev mean 0.478 m) y el menor número de invasiones de carril (7.2), indicando que el entrenamiento con datos naturales balanceados produce el seguimiento más limpio en escenarios sin perturbaciones. DAgger, a pesar de completar la ruta, genera significativamente más invasiones de carril (15.5), probablemente por la mayor reactividad introducida por las muestras de recuperación en un entorno ya estable.


Casos 1–15 (robustez por condición inicial)

Descripción: se definieron 15 posiciones iniciales para evaluar la robustez del modelo en Town02. Las configuraciones combinan:

5 posiciones laterales dentro del carril (≈ 4 m de ancho)

  • Duro izquierda: −1.8 m
  • Suave izquierda: −0.9 m
  • Centrado: 0 m
  • Suave derecha: +0.9 m
  • Duro derecha: +1.8 m

3 orientaciones respecto al carril

  • −15°: desviado a la izquierda
  • 0°: alineado al carril
  • +15°: desviado a la derecha

En total:

\[5\;\text{posiciones laterales} \times 3\;\text{orientaciones} = 15\;\text{configuraciones}\]

Por cada caso se realizan 6 repeticiones para un total de 90 experimentos.

Estas posiciones permiten evaluar:

  • Corrección lateral (volver al centro del carril),
  • Corrección angular (alinear yaw),
  • y errores combinados (offset + yaw).

Tabla resumen (Casos 1–15)

Métrica Burbuja Noise DAgger Mejor
Route completed (%) 97.822 100.000 99.077 Noise
Average speed (km/h) 53.525 61.729 55.782 Noise
Dev mean (m) 0.840 0.796 0.808 Noise
Lane invasions (eventos) 8.489 10.022 14.556 Burbuja
Collisions (eventos) 0.022 0.011 0.233 Noise
Suddenness throttle (1/s) 0.0171 0.0180 0.0167 DAgger
Suddenness steer (1/s) 0.0052 0.0081 0.0078 Burbuja

Ante perturbaciones iniciales, Noise Injection lidera en completado de ruta (100%) y desviación media (0.796 m), lo que revela que las perturbaciones artificiales durante entrenamiento mejoran efectivamente la capacidad de recuperar el carril desde estados desviados. Burbuja muestra la menor tasa de invasiones (8.5) y los comandos más suaves en steer (0.0052), pero no logra completar todos los casos (97.8%). DAgger presenta el mayor número de invasiones (14.6) y colisiones (0.233), sugiriendo que la recuperación agresiva introduce inestabilidad cuando las perturbaciones iniciales son moderadas.


Pruebas de velocidad (30, 60, 80 km/h)

Descripción: se aplica manualmente una velocidad inicial de 30, 60 y 80 km/h. Cuando el vehículo alcanza la velocidad objetivo, el modelo inicia la inferencia y el control. Para cada velocidad se realizan 6 repeticiones.

Tabla resumen (Velocidades 30, 60, 80 km/h)

Métrica Burbuja Noise DAgger Mejor
Route completed (%) 100.000 100.000 91.647 Empate
Average speed (km/h) 58.595 64.184 53.938 Noise
Dev mean (m) 0.471 0.575 0.870 Burbuja
Lane invasions (eventos) 7.222 9.000 11.611 Burbuja
Collisions (eventos) 0 0 0.500 Empate*
Suddenness throttle (1/s) 0.0176 0.0180 0.0154 DAgger
Suddenness steer (1/s) 0.0052 0.0080 0.0075 Burbuja

* Empate entre Burbuja y Noise (0 colisiones). DAgger registra 0.5 colisiones promedio.

Detalle por velocidad

Velocidad Métrica Burbuja Noise DAgger
30 km/h Route completed (%) 100.00 100.00 100.00
  Dev mean (m) 0.474 0.589 0.574
  Lane invasions 7.5 9.3 13.3
60 km/h Route completed (%) 100.00 100.00 87.67
  Dev mean (m) 0.488 0.573 0.826
  Lane invasions 7.0 9.7 11.8
80 km/h Route completed (%) 100.00 100.00 87.27
  Dev mean (m) 0.452 0.563 1.209
  Lane invasions 7.2 8.0 9.7

Este grupo de pruebas es particularmente revelador: Burbuja y Noise mantienen 100% de completado en las tres velocidades, mientras que DAgger colapsa a partir de 60 km/h (~87.7%) y su desviación se dispara a 1.209 m a 80 km/h. Burbuja domina en precisión lateral en todas las velocidades y mantiene el menor número de invasiones, lo que confirma que su distribución de entrenamiento, aunque sin recuperación explícita, produce un seguimiento estable y robusto ante el incremento de velocidad. Noise mantiene 100% de completado con mayor velocidad media (64.2 km/h), a costa de mayor desviación y más invasiones.


Casos Aleatorios

Descripción: tres posiciones de inicio seleccionadas aleatoriamente dentro de la malla externa de Town02, manteniendo el mismo punto final. Se realizan 6 repeticiones por caso.

Tabla resumen (Casos Aleatorios)

Métrica Burbuja Noise DAgger Mejor
Route completed (%) 97.238 95.395 100.000 DAgger
Average speed (km/h) 45.010 47.403 43.075 Noise
Dev mean (m) 0.498 0.534 0.618 Burbuja
Lane invasions (eventos) 1.944 2.000 2.067 Burbuja
Collisions (eventos) 0.056 0.111 0.189 Burbuja
Suddenness throttle (1/s) 0.0164 0.0186 0.0123 DAgger
Suddenness steer (1/s) 0.0051 0.0086 0.0055 Burbuja

En escenarios con inicio completamente arbitrario, DAgger es el único modelo que completa la ruta al 100%, lo cual constituye su resultado más relevante del conjunto de experimentos. Sin embargo, presenta la mayor desviación (0.618 m) y más colisiones (0.189). Burbuja, aunque no completa siempre la ruta (97.2%), mantiene el mejor control lateral, menor número de invasiones y la menor tasa de colisiones. Noise es el peor en completado (95.4%) y presenta la mayor brusquedad en throttle y steer.


Interpretación de Resultados: Robustez, Control y Recuperación

Tras ejecutar el conjunto completo de experimentos (caso canónico, 15 condiciones iniciales, pruebas de velocidad y escenarios aleatorios), es posible extraer conclusiones claras sobre el comportamiento de cada política.

El objetivo del análisis no es únicamente identificar quién completa más porcentaje de ruta, sino determinar qué modelo ofrece:

  • Mayor robustez estructural
  • Mejor control lateral
  • Mejor capacidad de recuperación
  • Menor brusquedad en los comandos
  • Estabilidad ante velocidades altas

1. Robustez Global

Los resultados muestran un comportamiento marcadamente diferente entre las tres políticas según el tipo de perturbación:

  • Caso canónico: Burbuja y DAgger completan al 100%; Noise no lo logra (98.97%).
  • Casos 1–15: Noise lidera con 100% de completado promedio; Burbuja cae a 97.8%.
  • Velocidades 30–80 km/h: Burbuja y Noise mantienen 100%; DAgger colapsa a ~87.3–87.7% a partir de 60 km/h.
  • Casos aleatorios: DAgger es el único que completa el 100%; Noise cae a 95.4%.

Este patrón indica que ningún modelo domina en todas las condiciones: Noise es más robusto ante perturbaciones de posición inicial, Burbuja es más estable ante variaciones de velocidad, y DAgger muestra mayor generalización en inicios completamente arbitrarios.


2. Control Lateral

El control lateral, medido por position_deviation_mean e invasiones de carril, revela una jerarquía consistente: Burbuja > Noise > DAgger en prácticamente todos los escenarios.

  • Burbuja presenta la menor desviación en el caso canónico (0.478 m), en velocidades (0.471 m) y en aleatorios (0.498 m).
  • Noise mejora ligeramente sobre Burbuja en los casos 1–15 (0.796 vs 0.840 m), siendo su único escenario de ventaja.
  • DAgger presenta la mayor desviación en todas las condiciones, especialmente a 80 km/h (1.209 m), lo que sugiere que la exposición a maniobras de recuperación introduce reactividad excesiva en escenarios estables.

En términos de invasiones de carril, Burbuja lidera consistentemente: 7.2 en canónico, 8.5 en casos 1–15, 7.2 en velocidades y 1.9 en aleatorios.


3. Recuperación ante Estados Fuera del Manifold

Los Casos 1–15 son la prueba más directa de recuperación desde estados desviados.

  • Noise Injection es el modelo más robusto ante perturbaciones de posición inicial, completando el 100% de los casos con la menor desviación promedio (0.796 m). Las perturbaciones artificiales en entrenamiento simulan efectivamente los pequeños offsets que ocurren al inicio de cada caso.
  • Burbuja no logra recuperarse en todos los casos (97.8%), confirmando la limitación conocida del aprendizaje por imitación puro: sin exposición a estados fuera del manifold, el modelo falla ante desviaciones iniciales suficientemente grandes.
  • DAgger completa el 99.1% de los casos pero introduce una alta tasa de colisiones (0.233) e invasiones (14.6), indicando que la recuperación estructural mejora el completado pero genera inestabilidad lateral durante el proceso correctivo.

4. Estabilidad Dinámica a Alta Velocidad

Las pruebas de velocidad confirman que DAgger no escala bien con la velocidad:

  • A 30 km/h, los tres modelos completan el 100%.
  • A 60 km/h, DAgger cae a 87.67% y su desviación sube a 0.826 m.
  • A 80 km/h, DAgger cae a 87.27% con una desviación de 1.209 m y 0.5 colisiones promedio.

Burbuja y Noise mantienen 100% de completado en todas las velocidades. La mayor precisión lateral de Burbuja a 80 km/h (Dev mean 0.452 m, el valor más bajo de todo el experimento) sugiere que su distribución de entrenamiento, basada en conducción estable y balanceada, es particularmente adecuada para el control a alta velocidad. Noise opera con mayor velocidad media (64.2 km/h vs 58.6 km/h de Burbuja), lo que puede explicar sus mayores invasiones de carril.


5. Suavidad de Comandos (Suddenness)

En términos de suavidad de comandos existe un patrón claro:

  • Burbuja produce los comandos de steer más suaves en todos los escenarios (0.0051–0.0052 1/s), reflejando la conducción humana natural de su dataset.
  • DAgger produce los comandos de throttle más suaves (0.0154–0.0167 1/s), posiblemente porque sus maniobras de recuperación entrenan principalmente el canal de steer, dejando el throttle más conservador.
  • Noise presenta consistentemente los valores más altos de suddenness en steer (0.0078–0.0086 1/s), probablemente por el ruido inyectado en steering durante el entrenamiento, que introduce mayor variabilidad en los comandos.

Existe un trade-off evidente: Burbuja logra suavidad porque no aprende recuperación agresiva; DAgger y Noise sacrifican suavidad para ganar robustez o completado.


Conclusión General

Considerando todos los experimentos de forma integrada, no existe un modelo dominante en todas las condiciones, sino tres perfiles complementarios:

Fortaleza Mejor modelo
Control lateral y suavidad Burbuja
Recuperación desde offset inicial Noise
Generalización en inicios arbitrarios DAgger
Estabilidad a alta velocidad Burbuja
Completado en casos perturbados Noise

Burbuja es el modelo más preciso y suave en condiciones nominales y a alta velocidad, pero su capacidad de recuperación es limitada por la ausencia de exposición a estados fuera del manifold.

Noise Injection mejora significativamente la robustez ante perturbaciones de posición inicial (100% en casos 1–15) sin comprometer la estabilidad dinámica, pero a costa de mayor desviación lateral y más invasiones de carril en condiciones nominales. Es la estrategia de augmentación más eficiente: sin recolección adicional de datos, mejora la recuperación real del modelo.

DAgger demuestra la mejor generalización en escenarios con inicios completamente arbitrarios (100% en aleatorios), pero presenta el peor control lateral, más colisiones y un colapso claro a partir de 60 km/h. Esto sugiere que el conjunto de muestras DAgger disponible introduce recuperación a costa de inestabilidad, posiblemente por acciones demasiado reactivas en el dataset de corrección.

Los resultados son consistentes con la teoría de Imitation Learning:

  • Noise Injection mejora la tolerancia local a perturbaciones sin alterar la distribución global.
  • DAgger introduce recuperación real desde estados fuera del manifold, pero su efectividad depende críticamente de la calidad y agresividad de las acciones de corrección.
  • Una distribución de entrenamiento balanceada y de conducción natural (Burbuja) produce el mejor seguimiento nominal pero no generaliza ante perturbaciones estructurales.

El punto óptimo en este conjunto de experimentos depende del escenario de despliegue: si se prioriza control preciso y estabilidad a alta velocidad, Burbuja es la elección; si se prioriza robustez ante condiciones iniciales variables, Noise Injection ofrece la mejor relación costo-beneficio.