9 minute read

En esta entrada reporto los resultados de robustez en CARLA Town02 comparando cinco 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/50/80/100 km/h): mismo circuito. Se impone manualmente una velocidad inicial; cuando el vehículo alcanza la velocidad objetivo, inicia la inferencia del modelo.
  • Caso aleatorio: 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.

  1. Noise Injection

Burbuja 50k + perturbaciones artificiales controladas

  • Se inyecta ruido gaussiano en steering
  • El label sigue siendo humano
  • Se generan pequeños offsets laterales
  • No hay intervención estructural de recovery Objetivo:
  • Aprender tolerancia a perturbaciones pequeñas
  1. DAgger Corto (Suave)

Burbuja 50k + 16.4k muestras DAgger

  • Ventanas breves de intervención
  • Acciones moderadas
  • Correcciones controladas Objetivo:
  • Introducir recuperación sin alterar demasiado la distribución

Total aproximado: 66.4k muestras

  1. DAgger Suave Ampliado

Burbuja 50k + 27.6k muestras DAgger

  • Mayor exposición a estados fuera del manifold
  • Más recuperación
  • Mayor diversidad de escenarios desviados

Total aproximado: 77.6k muestras

  1. DAgger Agresivo Ampliado

Burbuja 50k + 27.6k muestras DAgger con acciones más fuertes

Aquí las acciones forzadas incluyen:

  • Drift lateral amplio
  • Salidas parciales de carril
  • Recovery de alta exigencia

Esto implica:

  • Mayor offset lateral
  • Mayor error angular
  • Mayor demanda de corrección

Objetivo:

  • Entrenar recuperación extrema
  • Expandir significativamente el espacio de estados

En las tablas se usan estos nombres:

  • Burbuja (Baseline): dataset de 50k muestras de conducción humana natural.
  • Noise Injection: Burbuja + perturbaciones artificiales controladas.
  • DAgger Corto (suave): Burbuja 50k + 16.4k muestras DAgger.
  • DAgger Suave Ampliado: Burbuja 50k + 27.6k muestras DAgger.
  • DAgger Agresivo Ampliado: Burbuja 50k + 27.6k muestras DAgger, con acciones más fuertes, lo que exige más esfuerzo de recuperación.

Métricas y unidades

  • Route completed (%): percentage_completed_ideal (más alto es mejor).
  • Average speed (km/h): avg_speed_dist_over_time_kmh (más alto es mejor).
  • Dev mean (m): position_deviation_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_throttle_per_s (más bajo es mejor).
  • Suddenness steer (1/s): suddenness_steer_per_s (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.

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 98.005 99.24 99.022 99.173 99.242 DAgger Agresivo Ampliado
Average speed (km/h) 60.372 61.77 59.45 59.578 58.838 Noise
Dev mean (m) 0.428 0.496 0.761 0.473 0.463 Burbuja
Lane invasions (eventos) 1.833 2 4.833 2 1.833 Empate
Collisions (eventos) 0 0 0 0 0 Empate
Suddenness throttle (1/s) 0.657 0.736 0.623 0.757 0.73 DAgger Suave Corto
Suddenness steer (1/s) 0.207 0.22 0.216 0.286 0.204 DAgger Agresivo Ampliado

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 realizados.

Estas posiciones permiten evaluar:

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

A continuación se presenta tabla resumen con cada metrica promediada:

Tabla resumen (Caso 1-15)

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 97.997 99.191 99.239 99.957 99.222 DAgger Suave Ampliado
Average speed (km/h) 58.917 60.734 58.652 59.608 57.809 Noise
Dev mean (m) 0.629 0.657 0.826 0.623 0.635 DAgger Suave Ampliado
Lane invasions (eventos) 1.833 2.333 4.333 2.5 2 Burbuja
Collisions (eventos) 0 0 0 0 0 Empate
Suddenness throttle (1/s) 0.659 0.703 0.626 0.737 0.711 DAgger Suave Corto
Suddenness steer (1/s) 0.216 0.222 0.223 0.272 0.201 DAgger Agresivo Ampliado

Pruebas de velocidad (mismo circuito, velocidad inicial manual)

Descripción: se aplica manualmente una velocidad inicial 30, 50, 80 y 100 km/h.
Cuando el vehículo alcanza la velocidad objetivo, el modelo inicia la inferencia y el control.

Para cada caso de velocidad inicial se hacen 6 repeticiones.

30 km/h

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 97.993 99.192 99.044 99.163 99.02 Noise
Average speed (km/h) 61.947 63.187 60.839 60.954 60.445 Noise
Dev mean (m) 0.426 0.5 0.766 0.486 0.466 Burbuja
Lane invasions (eventos) 2 2.333 5 2 2.333 Empate
Collisions (eventos) 0 0 0 0 0 Empate
Suddenness throttle (1/s) 0.664 0.692 0.624 0.735 0.751 DAgger Suave Corto
Suddenness steer (1/s) 0.208 0.221 0.225 0.273 0.212 Burbuja

50 km/h

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 97.998 99.134 99.218 99.217 99.258 DAgger Agresivo Ampliado
Average speed (km/h) 63.335 63.711 61.937 61.973 61.996 Noise
Dev mean (m) 0.431 0.491 0.762 0.488 0.461 Burbuja
Lane invasions (eventos) 2.5 2.333 5 2.5 1.833 DAgger Agresivo Ampliado
Collisions (eventos) 0 0.333 0 0 0 Empate
Suddenness throttle (1/s) 0.674 0.709 0.62 0.782 0.715 DAgger Suave Corto
Suddenness steer (1/s) 0.213 0.221 0.218 0.296 0.204 DAgger Agresivo Ampliado

80 km/h

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 97.984 99.211 99.225 99.222 99.246 DAgger Agresivo Ampliado
Average speed (km/h) 65.631 67.014 64.787 64.943 64.764 Noise
Dev mean (m) 0.418 0.493 0.69 0.431 0.447 Burbuja
Lane invasions (eventos) 1.667 1.333 3.333 1.833 1.667 Noise
Collisions (eventos) 0 0 0 0 0 Empate
Suddenness throttle (1/s) 0.699 0.729 0.612 0.75 0.744 DAgger Suave Corto
Suddenness steer (1/s) 0.211 0.242 0.225 0.279 0.212 Burbuja

100 km/h

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 98.007 61.331 99.221 99.012 87.324 DAgger Suave Corto
Average speed (km/h) 65.282 33.851 65.379 66.375 55.392 DAgger Suave Ampliado
Dev mean (m) 0.462 2.659 0.758 0.455 0.565 DAgger Suave Ampliado
Lane invasions (eventos) 2.667 1.833 5.167 3 2.833 Noise
Collisions (eventos) 0.333 1 0.333 0 0.5 DAgger Suave Ampliado
Suddenness throttle (1/s) 0.676 0.541 0.667 0.783 0.71 Noise
Suddenness steer (1/s) 0.219 0.234 0.26 0.284 0.204 DAgger Agresivo Ampliado

Casos aleatorios 3 casos

Métrica Burbuja Noise DAgger Suave Corto DAgger Suave Ampliado DAgger Agresivo Ampliado Mejor
Route completed (%) 92.911 95.992 94.036 94.593 93.851 Noise
Average speed (km/h) 45.174 46.921 45.514 44.257 45.292 Noise
Dev mean (m) 0.325 0.380 0.445 0.371 0.314 DAgger Agresivo Ampliado
Lane invasions (eventos) 1.167 1.333 0.889 1.278 1.222 DAgger Suave Corto
Collisions (eventos) 0.000 0.000 0.000 0.222 0.000 Empate (4)
Suddenness throttle (1/s) 0.588 0.678 0.626 0.621 0.579 DAgger Agresivo Ampliado
Suddenness steer (1/s) 0.219 0.204 0.206 0.254 0.172 DAgger Agresivo Ampliado

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 entrenada con PilotNet.

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

En condiciones nominales (caso canónico), todas las políticas alcanzan valores cercanos al 99% de completado. Sin embargo, la verdadera diferencia aparece cuando se introducen perturbaciones iniciales (Casos 1–15) o condiciones dinámicas exigentes (80 y 100 km/h).

El modelo DAgger Suave Ampliado presenta el comportamiento más consistente:

  • Mejor promedio en Casos 1–15 (99.957%).
  • Mantiene estabilidad en 80 km/h.
  • No colapsa en 100 km/h (a diferencia de Noise Injection).
  • Buen desempeño en casos aleatorios.

Esto indica que la expansión moderada del espacio de estados mediante DAgger permite al modelo aprender recuperación sin comprometer estabilidad global.


2. Control Lateral

El control lateral se evalúa mediante:

  • position_deviation_mean
  • lane invasions

En escenarios exigentes, el modelo DAgger Suave Ampliado presenta menor desviación promedio que la mayoría de variantes DAgger y mantiene invasiones de carril controladas.

El modelo Burbuja muestra buen desempeño en condiciones nominales, pero su capacidad de recuperación es limitada al no haber sido expuesto a estados fuera del manifold durante entrenamiento.

Noise Injection mejora la tolerancia a pequeñas perturbaciones, pero no enseña recuperación estructural.

En conjunto, el mejor equilibrio entre centrado y capacidad correctiva lo ofrece DAgger Suave Ampliado.


3. Recuperación ante Estados Fuera del Manifold

Los Casos 1–15 (offset lateral + error angular) son la prueba más directa de recuperación.

Se observa el siguiente patrón:

  • Burbuja: buen seguimiento nominal, recuperación limitada.
  • Noise Injection: tolerancia local, pero no recuperación profunda.
  • DAgger Corto: introduce recuperación, pero aún sensible a desviaciones grandes.
  • DAgger Suave Ampliado: mayor estabilidad ante errores combinados.
  • DAgger Agresivo: fuerte capacidad correctiva, pero mayor reactividad.

El mejor balance entre recuperación y estabilidad lo presenta DAgger Suave Ampliado.


4. Estabilidad Dinámica a Alta Velocidad

La prueba a 100 km/h es especialmente reveladora:

  • Noise Injection colapsa significativamente.
  • DAgger Agresivo pierde estabilidad parcial.
  • DAgger Suave Corto y Ampliado mantienen altos niveles de completado.
  • DAgger Suave Ampliado combina alto completion, baja desviación y cero colisiones.

Esto confirma que la robustez no solo depende de tolerar perturbaciones estáticas, sino de mantener estabilidad dinámica bajo mayores exigencias.


5. Suavidad de Comandos (Suddenness)

En términos de suavidad:

  • DAgger Suave Corto produce los comandos más suaves en throttle.
  • DAgger Agresivo presenta menor brusquedad en steer.
  • DAgger Suave Ampliado tiende a ser más reactivo, consistente con su capacidad de recuperación ampliada.

Existe un trade-off claro:

  • Mayor recuperación → mayor reactividad.
  • Mayor suavidad → menor exposición a estados extremos.

Conclusión General

Considerando todos los experimentos de forma integrada, el modelo que ofrece el mejor compromiso entre:

  • Robustez global\
  • Control lateral\
  • Recuperación ante perturbaciones\
  • Estabilidad a alta velocidad\
  • Generalización en escenarios aleatorios

es:

DAgger Suave Ampliado

No es el modelo más suave. No es el mejor en condiciones completamente nominales. Pero es el más consistente bajo estrés estructural.

Los resultados confirman un comportamiento esperado desde la teoría de Imitation Learning:

  • Noise Injection mejora tolerancia local.
  • DAgger introduce recuperación real.
  • Una expansión moderada del espacio de estados mejora robustez.
  • Una expansión excesiva puede incrementar reactividad sin mejorar estabilidad global.

En este conjunto de experimentos, el punto óptimo se encuentra en una expansión intermedia del manifold mediante DAgger.