16 minute read

Diseño experimental

Datasets

Todos los datasets fueron grabados a 10 Hz en CARLA Town02.

ID Nombre Descripción
A’ Burbuja Recolección de conducción humana en vivo. Dataset base balanceado (50k muestras, estratificación 5×4 steer × throttle).
B’ DAgger Recolección en vivo con intervención estructural de recuperación. Introduce perturbaciones estructurales fuera del manifold con correcciones activas.
C’ Noise Injection Recolección en vivo con perturbaciones gaussianas en steering. Offsets laterales controlados con label humano.

Las mezclas evaluadas se expresan como proporción de mezcla sobre A’:

Definición de las mezclas de entrenamiento

Sea $\alpha \in [0,1]$ la proporción de muestras augmentadas utilizadas dentro del dataset final.

Las mezclas basadas en DAgger se definen como:

\[D_{\alpha}^{B}=(1-\alpha)A'+\alpha B'\]

Las mezclas basadas en Noise Injection se definen como:

\[D_{\alpha}^{C}=(1-\alpha)A'+\alpha C'\]

donde:

  • $A’$: Dataset Burbuja
  • $B’$: Dataset DAgger
  • $C’$: Dataset Noise Injection

Además, se evalúa una mezcla híbrida:

\[D^{M}=0.70A'+0.20B'+0.10C'\]

denominada Magic Mix.

Ejemplos de interpretación

Configuración Composición
$D^{A}$ 100% Burbuja
$D_{0.50}^{B}$ 50% Burbuja + 50% DAgger
$D_{0.75}^{B}$ 25% Burbuja + 75% DAgger
$D_{0.50}^{C}$ 50% Burbuja + 50% Noise Injection
$D_{0.75}^{C}$ 25% Burbuja + 75% Noise Injection
$D^{M}$ 70% Burbuja + 20% DAgger + 10% Noise Injection

Tests de evaluación

Todos los experimentos se ejecutan sobre el mismo circuito (malla externa de Town02, carril derecho). Cada configuración experimental está compuesta por un total de 225 ejecuciones independientes, organizadas según el escenario de evaluación correspondiente.

Test Nombre Diseño experimental
Test 0 Caso canónico 225 ejecuciones desde la posición nominal, sin perturbaciones iniciales.
Test 1 Diferentes posiciones de inicio 15 posiciones de arranque, con 15 ejecuciones por posición (225 ejecuciones en total).
Test 2 Posiciones aleatorias 3 posiciones iniciales aleatorias (random_1, random_2 y random_3), con 75 ejecuciones por posición (225 ejecuciones en total).
Test 3 Diferentes velocidades iniciales 4 velocidades iniciales (30, 60, 80 y 100 km/h), distribuyendo las ejecuciones para completar un total de 225 episodios por configuración.
Test 4 Perturbación online durante la inferencia 225 ejecuciones por modelo, aplicando periódicamente una política de perturbación durante la inferencia. Se evalúan dos configuraciones: perturbación estándar y perturbación intensificada.

En todos los casos, las métricas reportadas corresponden a la agregación de las 225 ejecuciones de cada configuración experimental, garantizando que la comparación entre modelos se realiza sobre el mismo número de episodios.

Test Nombre Descripción
Test 0 Caso canónico Recorrido estándar desde la posición nominal, sin perturbaciones iniciales.
Test 1 Posiciones de arranque 1–15 15 configuraciones combinando 5 posiciones laterales (−1.8 m a +1.8 m) × 3 orientaciones (−15°, 0°, +15°).
Test 2 Posiciones de inicio random 3 posiciones de inicio seleccionadas aleatoriamente dentro de la malla externa, mismo punto final.
Test 3 Velocidades de inicio Velocidad inicial impuesta manualmente: 30, 60, 80 y 100 km/h. El modelo toma el control al alcanzarla.
Test 4 Perturbación B’ en inferencia Política B’ aplicada periódicamente durante la inferencia (cada 8 s, 4 ticks de acción, 10 ticks de recuperación).

Definición de métricas

Agregación de métricas

Todas las métricas se obtienen a partir de los registros generados automáticamente durante cada episodio de simulación en CARLA. Cada configuración experimental se evalúa mediante múltiples ejecuciones independientes y posteriormente se agregan las métricas para realizar la comparación entre modelos.

El porcentaje de ejecuciones exitosas (Successful Runs) se calcula sobre el número total de ejecuciones realizadas. En cambio, las métricas de desempeño (velocidad media, colisiones, invasiones de carril, desviación respecto a la trayectoria ideal y suavidad de control) se calculan únicamente sobre las ejecuciones exitosas (goal_reached = 1), evitando que episodios abortados o recorridos incompletos introduzcan sesgos en la comparación entre configuraciones.

Colisiones

La detección de colisiones se realiza a partir del valor collision_impulse registrado durante la simulación. Un episodio de colisión comienza cuando el impulso supera un umbral de 0.1 y permanece activo mientras continúan registrándose impactos consecutivos. Para evitar contabilizar múltiples contactos producidos por un mismo choque, los eventos se agrupan utilizando una ventana temporal de recuperación de 1 segundo (recovery_gap_s = 1.0). Solo cuando transcurre al menos un segundo sin nuevos impactos se considera que una colisión ha finalizado y un nuevo impacto inicia un episodio independiente. De esta forma, la métrica representa el número de episodios de colisión y no el número total de eventos detectados por el sensor.

Invasiones de carril

La métrica de invasión de carril se obtiene mediante el sensor Lane Invasion de la Python API de CARLA. En este trabajo únicamente se contabilizan los eventos asociados al cruce de marcas de tipo Broken, correspondientes a la línea central discontinua presente en Town02. Al igual que en las colisiones, múltiples eventos consecutivos se agrupan utilizando una ventana temporal de recuperación de 0.5 segundos (recovery_gap_s = 0.5), de modo que un cruce continuo de la misma línea se contabiliza como un único episodio de invasión. Adicionalmente, los eventos registrados como NONE se almacenan en los archivos CSV y se analizan por separado como una métrica exploratoria para estudiar posibles salidas de la calzada en zonas sin demarcación horizontal.

Perturbaciones DAgger

Con el fin de evaluar la robustez de las políticas entrenadas frente a diferentes niveles de perturbación, se definieron tres configuraciones de acciones DAgger con objetivos distintos durante el entrenamiento y la evaluación.

Perturbación para generación del dataset DAgger. Durante la construcción del conjunto de entrenamiento se aplican acciones de control destinadas a provocar desviaciones apreciables de la trayectoria, permitiendo que el conductor experto genere ejemplos de recuperación. Estas acciones presentan amplitudes de dirección de hasta ±0.40 y aceleraciones moderadas, produciendo estados alejados de la trayectoria nominal que enriquecen el dataset con maniobras correctivas.

Perturbación estándar (evaluación online). Para evaluar la robustez durante la inferencia se utiliza un conjunto de acciones de menor magnitud que las empleadas durante la generación del dataset. El objetivo es introducir perturbaciones locales que alteren temporalmente la trayectoria del vehículo sin producir desviaciones excesivas, permitiendo analizar la capacidad de recuperación de la política durante la conducción. Este escenario corresponde al Test 4 de perturbación online.

Perturbación intensificada. Esta configuración utiliza exactamente el mismo conjunto de acciones empleado durante la generación del dataset DAgger, incrementando así la magnitud de las perturbaciones respecto al escenario estándar. Su objetivo es evaluar el comportamiento de las políticas frente a desviaciones más severas y analizar los límites de robustez alcanzados por cada estrategia de entrenamiento.


Resultados experimentales

Nota metodológica. Salvo el porcentaje de ejecuciones exitosas (Successful Runs), todas las métricas reportadas en las tablas corresponden al promedio obtenido únicamente sobre los episodios exitosos (goal_reached = 1). Este criterio permite comparar el comportamiento de las políticas bajo condiciones equivalentes y evita introducir sesgos debidos a recorridos incompletos.

Test 0 – Caso canónico

Modelo Successful Runs Collisions Lane Inv. Lane Inv. NONE Speed Dev Mean
$D^{A}$ 98.7% (222/225) 0.000 7.090 4.477 55.33 0.468
$D_{0.30}^{B}$ 96.9% (218/225) 1.000 8.798 5.537 55.64 0.558
$D_{0.30}^{C}$ 97.3% (219/225) 0.000 6.667 4.224 59.42 0.486

Test 1 – Diferentes posiciones de inicio

Modelo Successful Runs Collisions Lane Invasions Lane Invasions (NONE) Speed (km/h) Dev Mean (m)
$D^{A}$ 100.0% (225/225) 0.000 8.751 5.102 54.71 0.767
$D_{0.30}^{B}$ 94.7% (213/225) 1.005 10.404 6.310 55.27 0.817
$D_{0.50}^{B}$ 97.3% (219/225) 0.000 10.050 2.461 56.65 0.826
$D_{0.75}^{B}$ 40.4% (91/225) 1.044 18.055 9.297 47.81 0.927
$D_{0.30}^{C}$ 96.4% (217/225) 0.000 8.304 4.926 59.39 0.776
$D_{0.50}^{C}$ 74.2% (167/225) 0.006 8.449 3.263 56.51 0.726
$D_{0.75}^{C}$ 45.3% (102/225) 0.578 8.824 7.127 53.51 0.799

Test 2 – Posiciones aleatorias

Modelo Successful Runs Collisions Lane Inv. Lane Inv. NONE Speed (km/h) Dev Mean (m)
$D^{A}$ 73.8% (166/225) 0.006 1.801 1.307 49.02 0.379
$D_{0.15}^{B}$ 98.7% (222/225) 0.009 2.108 0.905 46.90 0.590
$D_{0.15}^{C}$ 98.2% (221/225) 0.032 2.000 1.149 43.51 0.573
$D_{0.30}^{B}$ 98.2% (221/225) 0.579 2.027 1.602 43.96 0.600
$D_{0.30}^{C}$ 72.0% (162/225) 0.117 2.074 2.716 49.70 0.407
$D_{0.50}^{B}$ 99.1% (223/225) 0.000 2.327 0.345 45.19 0.660
$D_{0.50}^{C}$ 72.9% (164/225) 0.000 1.963 0.970 48.51 0.405
$D_{0.75}^{B}$ 99.1% (223/225) 0.430 3.771 1.691 41.15 0.780

Test 3 – Diferentes velocidades iniciales

diferentes velocidades

Test 4 – Perturbación online durante la inferencia

Perturbación estándar

Modelo Successful Runs Collisions Lane Inv. Lane Inv. NONE Speed (km/h) Dev Mean (m)
$D^{A}$ 88.0% (198/225) 0.025 8.020 4.354 54.34 0.486
$D^{M}$ 58.2% (131/225) 0.076 9.000 5.557 52.06 0.593
$D_{0.15}^{B}$ 30.2% (68/225) 0.221 7.279 5.574 56.81 0.593
$D_{0.15}^{C}$ 82.2% (185/225) 0.076 8.778 5.016 52.91 0.530
$D_{0.30}^{B}$ 71.1% (160/225) 0.994 10.463 6.738 53.92 0.641
$D_{0.30}^{C}$ 79.6% (179/225) 0.179 7.788 6.307 56.15 0.554
$D_{0.50}^{B}$ 62.2% (140/225) 0.129 9.764 3.486 54.53 0.702
$D_{0.50}^{C}$ 91.1% (205/225) 0.054 8.415 3.083 54.60 0.466
$D_{0.75}^{B}$ 20.0% (45/225) 0.978 18.356 8.644 47.63 0.817
$D_{0.75}^{C}$ 47.1% (106/225) 0.509 10.717 7.726 52.19 0.828

Perturbación intensificada

Modelo Perturbación Successful Runs Collisions Lane Inv. Lane Inv. NONE Speed Dev Mean
$D_{0.30}^{B}$ Suave 71.1% (160/225) 0.994 10.463 6.738 53.92 0.641
$D_{0.30}^{B}$ Fuerte 73.8% (166/225) 0.837 7.729 5.404 55.96 0.596
$D_{0.30}^{C}$ Suave 79.6% (179/225) 0.179 7.788 6.307 56.15 0.554
$D_{0.30}^{C}$ Fuerte 85.8% (193/225) 0.197 5.642 4.912 58.32 0.546

Análisis preliminar de resultados

Test 0 – Caso canónico

El Test 0 evalúa el comportamiento nominal de las políticas desde una condición inicial controlada. En este escenario, las tres configuraciones comparadas alcanzan tasas de éxito superiores al 96 %, lo que indica que todas las políticas son capaces de completar el recorrido cuando no se introducen perturbaciones iniciales severas.

El modelo base $D^{A}$ alcanza un 98.7 % de ejecuciones exitosas (222/225), sin colisiones y con una desviación media de 0.468 m. La configuración $D_{0.30}^{C}$ obtiene un desempeño similar, con 97.3 % de éxito (219/225), cero colisiones y la mayor velocidad media del grupo (59.42 km/h). Por su parte, $D_{0.30}^{B}$ mantiene una tasa de éxito alta (96.9 %), pero presenta un incremento en colisiones (1.000) y en desviación media (0.558 m).

En conjunto, el caso canónico confirma que las políticas evaluadas conservan capacidad de navegación nominal. Sin embargo, las diferencias en colisiones y desviación sugieren que, incluso bajo condiciones favorables, la incorporación de muestras DAgger puede introducir comportamientos de recuperación menos suaves que los observados en Burbuja y Noise Injection.


Test 1 – Diferentes posiciones de inicio

El Test 1 evalúa la robustez frente a variaciones controladas en la posición y orientación inicial del vehículo. El modelo base $D^{A}$ obtiene el mejor comportamiento nominal, con 100.0 % de ejecuciones exitosas (225/225), cero colisiones y una desviación media de 0.767 m. Este resultado indica que el dataset Burbuja conserva suficiente cobertura para resolver las 15 condiciones iniciales evaluadas.

Las mezclas con proporciones moderadas de datos DAgger mantienen un desempeño competitivo. $D_{0.50}^{B}$ alcanza 97.3 % de éxito (219/225) y cero colisiones, aunque con una desviación ligeramente superior a la de Burbuja (0.826 m). En cambio, $D_{0.75}^{B}$ presenta una degradación marcada: el porcentaje de éxito cae a 40.4 % (91/225), las colisiones aumentan a 1.044 y las invasiones de carril alcanzan 18.055. Esto sugiere que una proporción elevada de muestras DAgger desplaza excesivamente la distribución de entrenamiento hacia maniobras de recuperación, reduciendo la estabilidad bajo condiciones iniciales variadas.

En Noise Injection se observa una tendencia diferente. $D_{0.30}^{C}$ mantiene una tasa alta de éxito (96.4 %, 217/225), cero colisiones y la mayor velocidad media del test (59.39 km/h). Sin embargo, al aumentar la proporción de ruido, el rendimiento disminuye progresivamente: $D_{0.50}^{C}$ cae a 74.2 % y $D_{0.75}^{C}$ a 45.3 %. Esto indica que Noise Injection aporta diversidad útil en proporciones moderadas, pero puede afectar la consistencia de la política cuando domina el dataset.

La métrica Lane Inv. NONE también muestra una tendencia informativa: los peores desempeños globales, como $D_{0.75}^{B}$ y $D_{0.75}^{C}$, presentan valores elevados (9.297 y 7.127, respectivamente), lo que refuerza su utilidad como indicador complementario de desviaciones laterales o posibles incursiones en zonas sin demarcación horizontal.


Test 2 – Posiciones aleatorias

El Test 2 introduce condiciones iniciales menos estructuradas mediante tres posiciones aleatorias, acumulando 225 ejecuciones por configuración. En este escenario, las configuraciones basadas en DAgger muestran las mayores tasas de finalización. $D_{0.50}^{B}$ y $D_{0.75}^{B}$ alcanzan 99.1 % de éxito (223/225), mientras que $D_{0.15}^{B}$ y $D_{0.30}^{B}$ también superan el 98 %. Esto sugiere que las muestras de recuperación DAgger mejoran la capacidad de completar el recorrido cuando el vehículo inicia desde estados menos nominales.

No obstante, la mejora en tasa de éxito no siempre se traduce en mejor precisión de trayectoria. El modelo $D^{A}$ presenta solo 73.8 % de éxito (166/225), pero obtiene la menor desviación media (0.379 m) y el menor número de invasiones de carril convencionales (1.801). Esto evidencia un compromiso entre precisión nominal y capacidad de recuperación: Burbuja sigue mejor la trayectoria cuando logra estabilizarse, mientras que DAgger aumenta la probabilidad de completar el recorrido desde estados aleatorios.

Las configuraciones Noise Injection presentan un comportamiento menos favorable en este test. $D_{0.30}^{C}$, por ejemplo, alcanza 72.0 % de éxito (162/225) y el valor más alto de Lane Inv. NONE (2.716), aunque conserva una desviación media relativamente baja (0.407 m). Esto sugiere que Noise Injection puede favorecer estabilidad local, pero no necesariamente mejora la recuperación desde posiciones iniciales aleatorias tan alejadas de la distribución nominal.

En términos de robustez, el Test 2 favorece claramente a DAgger como mecanismo de recuperación ante condiciones iniciales no estructuradas, aunque a costa de trayectorias menos precisas y velocidades medias más bajas.


Test 3 – Diferentes velocidades iniciales

El Test 3 se encuentra actualmente en fase de recolección de métricas. Este escenario permitirá evaluar la robustez dinámica de las políticas cuando el vehículo recibe el control después de alcanzar velocidades iniciales de 30, 60, 80 y 100 km/h.

A diferencia de los tests basados únicamente en posición inicial, este experimento permitirá analizar la capacidad de estabilización del controlador bajo diferentes condiciones cinemáticas. Las métricas esperadas serán especialmente relevantes para identificar si las políticas aprenden únicamente una estrategia geométrica de seguimiento de trayectoria o si también presentan capacidad de recuperación frente a estados dinámicos más exigentes.


Test 4 – Perturbación online durante la inferencia

El Test 4 evalúa la robustez frente a perturbaciones aplicadas durante la inferencia. A diferencia del Test 1 y Test 2, aquí el vehículo no solo debe recuperarse de una condición inicial desfavorable, sino mantener la estabilidad ante desviaciones inducidas de manera periódica durante el recorrido.

El mejor desempeño global corresponde a $D_{0.50}^{C}$, con 91.1 % de ejecuciones exitosas (205/225), la menor desviación media (0.466 m) y el menor valor de Lane Inv. NONE (3.083). Este resultado sugiere que una proporción intermedia de Noise Injection mejora la estabilidad local de la política frente a perturbaciones repetidas durante la conducción.

Las configuraciones Noise Injection superan de forma consistente a sus equivalentes DAgger. Por ejemplo, $D_{0.30}^{C}$ alcanza 79.6 % de éxito frente a 71.1 % de $D_{0.30}^{B}$, con menos colisiones (0.179 frente a 0.994) y menor desviación media (0.554 m frente a 0.641 m). La diferencia es aún más marcada en 75 %, donde $D_{0.75}^{C}$ obtiene 47.1 % de éxito frente a solo 20.0 % de $D_{0.75}^{B}$.

En DAgger se observa una región de desempeño limitada. $D_{0.30}^{B}$ es la mejor configuración de esta familia bajo perturbación online, pero el aumento hacia $D_{0.75}^{B}$ degrada fuertemente el rendimiento, elevando las invasiones de carril hasta 18.356 y las invasiones NONE hasta 8.644. Este comportamiento sugiere que las muestras DAgger pueden ayudar a recuperarse de ciertos estados, pero no necesariamente producen políticas estables frente a perturbaciones periódicas durante toda la inferencia.

El modelo Burbuja alcanza 88.0 % de éxito (198/225), con pocas colisiones (0.025) y una desviación media de 0.486 m. Aunque su desempeño es competitivo, $D_{0.50}^{C}$ obtiene una tasa de éxito superior y menor desviación. Por otra parte, Magic Mix alcanza 58.2 % de éxito (131/225), lo que indica que esta proporción específica de mezcla ternaria no mejora la robustez frente a perturbaciones online en la campaña actual.

La métrica Lane Inv. NONE mantiene una tendencia coherente con la desviación lateral: configuraciones más estables, como $D_{0.50}^{C}$ y $D^{A}$, presentan valores menores, mientras que configuraciones degradadas, como $D_{0.75}^{B}$ y $D_{0.75}^{C}$, presentan valores más altos. Esto respalda su uso como indicador exploratorio para caracterizar pérdidas de estabilidad o incursiones en zonas sin demarcación horizontal.


Perturbación online de mayor intensidad

La comparación entre perturbación estándar e intensificada se realizó inicialmente para las mezclas de 30 %. En esta evaluación, $D_{0.30}^{C}$ mantiene el mejor desempeño, alcanzando 85.8 % de éxito (193/225), con 5.642 invasiones de carril, 4.912 invasiones NONE, 58.32 km/h de velocidad media y 0.546 m de desviación.

En DAgger, la perturbación intensificada no produce una degradación inmediata respecto a la perturbación estándar. $D_{0.30}^{B}$ pasa de 71.1 % a 73.8 % de éxito, reduce colisiones de 0.994 a 0.837 y disminuye la desviación media de 0.641 m a 0.596 m. Sin embargo, estos resultados deben interpretarse con cautela, ya que la diferencia entre ambas configuraciones no depende únicamente de la magnitud de las acciones, sino también de la forma temporal en que se aplican.

En ambos casos, Noise Injection conserva una ventaja clara frente a DAgger. Bajo perturbación intensificada, $D_{0.30}^{C}$ supera a $D_{0.30}^{B}$ en tasa de éxito (85.8 % frente a 73.8 %), velocidad media (58.32 frente a 55.96 km/h), desviación lateral (0.546 frente a 0.596 m) e invasiones de carril. Esto refuerza la hipótesis de que Noise Injection favorece políticas más robustas frente a perturbaciones repetidas durante la inferencia.


Magic Mix

La estrategia Magic Mix combina muestras de Burbuja, DAgger y Noise Injection con el objetivo de obtener un equilibrio entre desempeño nominal, capacidad de recuperación y estabilidad frente a perturbaciones. Sin embargo, en la campaña actual, el resultado bajo perturbación online no supera a las mejores configuraciones individuales.

En el Test 4, Magic Mix alcanza 58.2 % de ejecuciones exitosas (131/225), con 0.076 colisiones, 9.000 invasiones de carril, 5.557 invasiones NONE, 52.06 km/h de velocidad media y 0.593 m de desviación. Estos valores quedan por debajo de Burbuja (88.0 % de éxito y 0.486 m de desviación) y de $D_{0.50}^{C}$ (91.1 % de éxito y 0.466 m de desviación).

Esto sugiere que la proporción 70A’-20B’-10C’ no necesariamente constituye la combinación óptima para el escenario de perturbación online evaluado. La mezcla ternaria sigue siendo una línea prometedora, pero requiere explorar nuevas proporciones y repetir campañas experimentales antes de establecer conclusiones definitivas.


Comparación general entre escenarios

Los resultados preliminares muestran que cada estrategia de generación de datos fortalece propiedades diferentes de la política de conducción. Burbuja ($D^{A}$) mantiene un desempeño sólido bajo condiciones nominales y diferentes posiciones iniciales, destacándose en Test 1 con 100 % de éxito y cero colisiones. DAgger mejora la capacidad de completar recorridos desde posiciones aleatorias, como se observa en Test 2 con tasas superiores al 98 % para varias configuraciones. Noise Injection, en cambio, muestra su mayor aporte bajo perturbaciones online, especialmente en $D_{0.50}^{C}$, que alcanza el mejor desempeño del Test 4.

De forma preliminar, los resultados sugieren que no existe una única configuración óptima para todos los escenarios. Las mezclas DAgger son útiles para recuperación desde estados iniciales no nominales, mientras que Noise Injection favorece la estabilidad local frente a perturbaciones continuas durante la inferencia. La selección del dataset debe, por tanto, depender del tipo de robustez que se desea priorizar: recuperación inicial, seguimiento nominal o estabilidad ante perturbaciones recurrentes.


Conclusiones preliminares

Los resultados obtenidos muestran que la composición del conjunto de entrenamiento influye de forma significativa en la robustez de las políticas de conducción end-to-end. En condiciones nominales, el modelo Burbuja mantiene un comportamiento estable y sirve como referencia de desempeño. Bajo variaciones iniciales aleatorias, las configuraciones DAgger presentan mayor capacidad de completar el recorrido, mientras que bajo perturbaciones online las configuraciones basadas en Noise Injection muestran mayor estabilidad y menor desviación lateral.

La evidencia disponible sugiere que las muestras de recuperación y perturbación son útiles solo en proporciones controladas. Cuando estas muestras dominan el dataset, el rendimiento tiende a degradarse, especialmente en configuraciones con alta proporción de DAgger. Los experimentos del Test 3, junto con nuevas combinaciones de Magic Mix y campañas adicionales de perturbación, permitirán validar estas tendencias y avanzar hacia una configuración de entrenamiento más robusta para conducción autónoma end-to-end.