RaceTelemetry AI — Detalles del Proyecto (Devpost)
Inspiration
- En pista bajo sol fuerte, las pantallas pierden legibilidad y los mapas suelen ser aproximados. Queríamos un copiloto visual que priorice seguridad y estrategia: trazado real, progreso exacto y alertas claras aun con reflejos o vibración.
- Buscamos una base extensible para sumar más circuitos y análisis sin rehacer la interfaz.
What it does
- Muestra el trazado real del circuito en SVG (Barber integrado) con un cursor que avanza según la telemetría de distancia de vuelta.
- Estima riesgo por sector y dispara alertas visuales/sonoras para apoyar decisiones del piloto y del pit wall.
- Ofrece “Modo visual” con alto/ultra contraste para lectura directa bajo sol intenso.
- Presenta progreso de vuelta y barras de pit/sectores, conservando compatibilidad con datos existentes.
How we built it
- Frontend: React + TypeScript + Vite; selector de contraste en
components/Header.tsx y estilos globales en index.html.
- Visor de circuito (
components/CircuitViewer.tsx):
- Carga
public/DataFiles/config/trackPaths.json para usar viewBox y d del SVG real.
- Ajusta el tamaño del cursor según el
viewBox y recorre el path con la proporción Laptrigger_lapdist_dls / lapDistance proveniente de la telemetría.
- Telemetría y riesgo:
- Ingesta/adaptación en
services/telemetryAdapter.ts.
- Motor de riesgo en
services/riskEngine.ts (velocidad, dinámica lateral/longitudinal, eventos) y alertas visuales en components/VisualAlerts.tsx.
- Sonidos en
services/audioAlerts.ts.
- Herramientas de datos: scripts en
tools/ para inspección/generación de CSV y mapeo de esquemas; rutas reales centralizadas en trackPaths.json.
Challenges we ran into
- Alinear la distancia de vuelta (metros) con la longitud efectiva del path SVG (pixeles) para que el cursor “caiga” donde corresponde.
- Diseñar alto/ultra contraste que mejore legibilidad sin romper estilos existentes.
- Estructurar la configuración (
trackPaths.json) para soportar múltiples circuitos con diferentes viewBox y trazados alternativos.
Accomplishments that we're proud of
- Integración del trazado real de Barber desde SVG con cursor suave y escalado automático del marcador.
- Modo visual de alto/ultra contraste que mejora significativamente la lectura bajo sol.
- Arquitectura limpia y extensible: añadir COTA e Indy será tan simple como sumar sus
d y viewBox al trackPaths.json.
What we learned
- La normalización de unidades es crítica: mezclar pixeles (SVG) con metros (telemetría) exige una capa clara de conversión/escala.
- Pequeñas mejoras de UX (alto contraste, halos) tienen gran impacto en uso real en pista.
- Centralizar rutas reales en un config versionado acelera colaboración y despliegues.
What's next for RaceTelemetry AI
- Añadir más circuitos (COTA, Indy) cuando tengamos sus
SVG, d y viewBox.
- Colorear sectores por nivel de riesgo y añadir texturas/relieves para mejor lectura del mapa.
- Persistir el “Modo visual” en
localStorage y seleccionar automáticamente según luz ambiente.
- Exportar/compartir perfiles de riesgo y sesiones para análisis post‑carrera.
How to run
npm install
npm run dev
# Abrir http://localhost:5173/
- En el Header, activar “Modo visual” para alto/ultra contraste.
- En el visor del circuito, el cursor avanza con la telemetría; sin stream, usar datos de prueba con scripts en
tools/.
Links
Log in or sign up for Devpost to join the conversation.