2 minute read

Actualización de métricas en BehaviorMetrics (CARLA)

En esta actualización se modificó el sistema de métricas en BehaviorMetrics para CARLA con el objetivo de hacer la evaluación más robusta, reproducible y coherente entre distintos modelos.

El cambio principal consiste en dejar de medir el progreso únicamente con heurísticas basadas en el mapa o en la distancia recorrida, y pasar a una comparación directa contra una ruta ideal previamente definida.


1. Creación de una “ruta perfecta” (perfect_lap)

Se generó una ruta ideal (perfect_lap) y se guardó en un archivo CSV que contiene:

  • x, y, z: posiciones de la trayectoria ideal
  • s: distancia acumulada a lo largo de la ruta

Este archivo permite:

  • Tener un ground truth fijo y reproducible
  • Comparar diferentes modelos sobre exactamente la misma referencia
  • Medir avance real sobre la ruta en lugar de distancia recorrida arbitraria

Ejemplo conceptual del CSV:

x y z s
0.0
1.98
3.96

La columna s es clave: representa el progreso acumulado en metros sobre la ruta ideal.


2. Nuevo cálculo de porcentaje completado

Antes, el porcentaje de completado se basaba en:

  • Conteo de waypoints alcanzados con un umbral fijo
  • O relación distancia_real / distancia_ideal

Esto generaba problemas cuando el vehículo:

  • Serpenteaba
  • Se salía del carril y volvía
  • Recorría más distancia que la ideal

Ahora el enfoque es distinto:

  1. Cada punto real del vehículo se proyecta sobre la ruta ideal.
  2. Se calcula el máximo avance alcanzado sobre la ruta (s_max).
  3. El porcentaje completado se define como:

    percentage_completed = 100 * s_max / s_total

Donde:

  • s_max = mayor avance alcanzado sobre la ruta ideal
  • s_total = longitud total de la ruta ideal

Esto garantiza que el porcentaje refleje progreso real hacia el objetivo, no simplemente cuánto se movió el vehículo.


3. Nueva definición de velocidad promedio

Para mantener coherencia con el nuevo sistema de progreso, la velocidad promedio se redefine como:

avg_speed = effective_completed_distance / tiempo_total

Donde:

  • effective_completed_distance ≈ s_max
  • tiempo_total es el tiempo real o simulado del experimento

De esta forma:

  • Dos modelos que recorren “de más” no se ven artificialmente beneficiados.
  • La velocidad promedio refleja avance efectivo sobre la ruta ideal.

4. Conteo robusto de eventos (colisiones e invasiones)

Se mejoró el conteo de episodios de:

  • Colisiones
  • Invasiones de carril

Ahora los eventos se agrupan usando un gap temporal mínimo, evitando contar múltiples frames consecutivos del mismo evento como eventos independientes.

Esto mejora la estabilidad estadística de:

  • collisions
  • lane_invasions