P.03Prototype interne

Pitlabs

Chaîne de télémétrie sim-racing et piste : captation des canaux du simulateur, découpage en tours, analyse de freinage, comparaison de trajectoires.

Période
Décembre 2025
Rôle
Captation, format de stockage, moteur d'analyse, interface.
Stack
  • Python
  • pandas
  • Tkinter
  • matplotlib
  • mémoire partagée
  • CSV

Repères

  • 44 728

    échantillons captés en une session

    session du 11 décembre 2025, Red Bull Ring, Lotus Exos 125

  • ≈ 39 Hz

    fréquence de relevé

    3 203 points relevés sur un tour de 1:22.130

  • 14

    tours exploitables

    découpage par position normalisée sur la même session

Le problème

Un pilote qui perd trois dixièmes ne sait pas où il les perd. Le simulateur expose l'intégralité de l'état physique de la voiture à chaque image, mais sous forme d'un flux brut sans notion de tour, de secteur ni de comparaison. Toute l'utilité est dans ce qu'on fait après la captation.

Ce qui a été construit

  • 01

    Un récepteur qui lit la mémoire partagée du simulateur et écrit trois flux distincts : physique, affichage et données de session.

  • 02

    Un découpage en tours à partir de la position normalisée sur le circuit, ce qui donne un axe en distance et non en temps — deux tours de durées différentes deviennent comparables point à point.

  • 03

    Une interface d'analyse : carte du circuit, superposition de tours, analyse de freinage, passage en courbe, gestion du carburant, forces g.

  • 04

    Un export de session pour rejouer une analyse hors ligne.

Architecture

jointure tsSimulateurmémoire partagéeRécepteurboucle de lecturephysics.csvpar imagegraphics.csvtours, secteursDécoupageposition normaliséeAnalysefreinage, g, carburant
De la mémoire partagée du simulateur à la superposition de deux tours.

Décisions techniques

Trois fichiers plutôt qu'un

Les canaux physiques changent à chaque image, les données de session ne changent jamais, l'état d'affichage change à un rythme intermédiaire. Les écrire ensemble reviendrait à répéter le nom du circuit quarante-quatre mille fois. Séparés et joints sur l'horodatage, ils restent lisibles à l'œil nu et diffables.

La distance comme axe de référence, pas le temps

Superposer deux tours sur un axe temporel ne dit rien : le tour lent est simplement plus long. En rééchantillonnant sur la position normalisée du circuit, un point du tracé correspond au même endroit de la piste dans les deux tours. C'est la seule façon de voir qu'on freine quinze mètres trop tôt.

Du CSV, délibérément

Un format binaire aurait été plus compact. Le CSV se lit dans un tableur, se coupe avec head, se recharge dans pandas dix ans plus tard sans le logiciel qui l'a produit. Pour de la donnée d'analyse qu'on relit rarement mais longtemps, la longévité prime sur la taille.

Ce que ça démontre

Captation haute fréquence, choix de format de données durable, traitement de séries temporelles, restitution graphique d'un signal.