ÉTAPE 1 — CONSTRUIRE LA SOURCE DES DONNÉES
CONSTRUIRE LA SOURCE DES DONNÉES
Pour disposer de données pertinentes, encore faut-il que celles-ci soient produites par un modèle physique cohérent. Le développement de notre moteur physique a donc commencé par les fondamentaux. Avant de simuler une automobile complète, la première étape a consisté à construire un corps rigide capable de se déplacer et de tourner dans l’espace sous l’action de forces et de moments. À partir de cette base ont été ajoutés la géométrie des quatre roues, leur vitesse locale et les grandeurs indispensables à la dynamique pneumatique : angle de dérive et glissement longitudinal.
CONSTRUIRE LE CHÂSSIS
Le développement commence volontairement par le plus simple : appliquer une force à une masse et vérifier que l’accélération, la vitesse et la position obtenues correspondent exactement aux valeurs théoriques. Le simple point matériel laisse ensuite place à un châssis rigide à six degrés de liberté. Le véhicule peut désormais se déplacer suivant trois axes, mais également prendre du roulis, du tangage et du lacet. Une force appliquée hors du centre de gravité peut ainsi produire simultanément une translation et une rotation.

Capture version V0.02
Premier châssis rigide et représentation des degrés de liberté
ÉTAPE 2 — DU PNEUMATIQUE AU VEHICLE CORE
DU PNEUMATIQUE AU VEHICLE CORE
Un premier modèle pneumatique basé sur la MAGIC FORMULA / PACEJKA est développé indépendamment, validé puis connecté au châssis. Les pneumatiques produisent désormais des efforts longitudinaux et latéraux qui agissent directement sur le mouvement du véhicule. Une boucle physique complète commence alors à fonctionner :
MOUVEMENT DU VÉHICULE → ÉTAT DES ROUES →
EFFORTS PNEUMATIQUES → NOUVEAU MOUVEMENT DU VÉHICULE
Le transfert de charge et la sensibilité du pneumatique à la charge verticale permettent également de faire apparaître progressivement la notion d’équilibre dynamique. Dès cette phase, des tests automatiques de validation et de non régression accompagnent le développement afin de vérifier chaque nouvelle brique avant de poursuivre.

Capture version V0.11
Premier banc de validation du Vehicle Core
ÉTAPE 3 — CONSTRUIRE LA CHAÎNE DE PROPULSION
CONSTRUIRE LA SOURCE DES DONNÉES
Une automobile ne peut cependant pas être simulée en appliquant simplement une force au châssis. Les roues reçoivent leur propre dynamique de rotation et le glissement longitudinal devient une conséquence du couple transmis et du déplacement réel du véhicule.
Le groupe motopropulseur est progressivement construit autour du moteur, de sa courbe de couple, de l’embrayage, de la boîte de vitesses et de la transmission.
Le différentiel évolue ensuite vers un système à glissement limité, tandis que le combined slip permet au pneumatique de partager son potentiel d’adhérence entre accélération, freinage et virage. La chaîne devient alors réellement mécanique :
MOTEUR → TRANSMISSION → ROUES →
PNEUMATIQUES → DÉPLACEMENT DU VÉHICULE

Capture version V0.13
Première chaîne moteur → transmission → roues → pneumatiques
ÉTAPE 4 — RENDRE LA VOITURE PILOTABLE
DU PNEUMATIQUE AU VEHICLE CORE
La simulation reçoit ensuite les systèmes nécessaires à une véritable utilisation dynamique :
- suspension
- direction
- commandes pilote.
Le véhicule n’est plus seulement soumis à des scénarios de validation automatisés. Il devient possible de le piloter et d’observer en temps réel les conséquences des commandes sur le comportement du châssis et des quatre roues.
Un premier affichage 3D est également introduit. Il reste volontairement très technique, mais établit une liaison directe entre les calculs du Vehicle Core et le comportement visible de la voiture.

Capture version V0.25
Premier véhicule affiché en temps réel sur notre moteur physique
ÉTAPE 5 — FAIRE INTERAGIR LES SYSTÈMES
CRÉER UNE CHAINE PHYSIQUE
À partir de cette étape, le développement ne consiste plus seulement à ajouter des sous-systèmes indépendants. Ils commencent à agir les uns sur les autres. L’aérodynamique génère par exemple de la traînée et de l’appui. Cet appui modifie les charges verticales appliquées aux pneumatiques et comprime les suspensions. La modification de hauteur de caisse peut à son tour influencer le comportement aérodynamique. Freinage, électronique, pneumatiques, suspension, transmission et aérodynamique commencent progressivement à constituer un seul ensemble dynamique. La chaîne physique devient alors :
ROUTE → SUSPENSION →
GÉOMÉTRIE DES ROUES → PNEUMATIQUES →
TRANSMISSION → CHÂSSIS →AÉRODYNAMIQUE →
RETOUR VERS SUSPENSION ET PNEUMATIQUES

Capture version V0.31
Les principaux systèmes physiques commencent à fonctionner comme un ensemble couplé
ÉTAPE 6 — FAIRE ENTRER LA PISTE DANS LA PHYSIQUE
CRÉATION DU SOL
Le circuit doit lui aussi devenir une donnée physique et ne plus être seulement un décor. Les différentes surfaces peuvent progressivement posséder leurs propres caractéristiques de grip, de résistance au roulement et de rugosité. Notre moteur physique reçoit ensuite un véritable mesh 3D de piste. Chaque roue peut ainsi déterminer indépendamment sa position par rapport à la chaussée, son point de contact, la hauteur locale, la pente et la normale de la surface. Le comportement du véhicule peut désormais être influencé directement par la géométrie réelle du circuit.

Capture version V0.45
Premier véritable mesh 3D de piste avec contact indépendant des quatre roues
ÉTAPE 7 — CONSOLIDER LE VEHICLE CORE
LE VEHICLE CORE
Après l’intégration progressive du moteur, de la transmission, des pneumatiques, des suspensions, de la direction, des freins, de l’aérodynamique, de l’électronique et du circuit, notre moteur physique atteint un premier jalon important. Cette version ne cherche volontairement plus à introduire un nouveau système. Elle sert à figer et valider une première base cohérente du Vehicle Core. Le projet n’est alors plus constitué d’une succession de modèles indépendants : les principaux éléments nécessaires au fonctionnement d’une automobile simulée appartiennent désormais au même cœur physique.

Capture version V0.50
Premier jalon consolidé du Vehicle Core
ÉTAPE 8 — SÉPARER LE MOTEUR PHYSIQUE DE L’AFFICHAGE
DU PNEUMATIQUE AU VEHICLE CORE
Une fois le Vehicle Core suffisamment avancé, une nouvelle question apparaît : comment représenter efficacement tout ce que calcule le moteur sans transformer notre moteur physique en projet de développement graphique ? Une première phase permet de tester un véritable rendu GPU avec Direct3D 12. Elle valide surtout une idée fondamentale : le calcul physique et le rendu graphique peuvent fonctionner comme deux couches indépendantes. Le Vehicle Core reste responsable de la dynamique automobile et des données. La couche graphique ne fait que représenter son état.

Capture version V0.55
Première véritable scène 3D rendue par le pipeline Direct3D 12
ÉTAPE 9 — PASSER À GODOT SANS REMPLACER LE VEHICLE CORE
BIENVENUE DANS GODOT
Le développement complet d’un moteur graphique propriétaire aurait progressivement éloigné notre moteur physique de son objectif principal. Le choix est donc fait d’utiliser GODOT comme environnement 3D, tout en conservant le Vehicle Core comme moteur physique indépendant. Godot prend en charge la représentation du véhicule, du circuit, des matériaux, de l’éclairage, des caméras et progressivement des interfaces techniques. Notre moteur physique continue de son côté à calculer la dynamique du véhicule à haute fréquence et à fournir les états physiques nécessaires à la représentation et à la télémétrie. Cette séparation constitue une évolution majeure de l’architecture :
VEHICLE CORE → PHYSIQUE + DONNÉES
GODOT →
VISUALISATION + ENVIRONNEMENT + INTERFACE
Vidéo version V0.78
Intégration de notre moteur physique dans GODOT avec circuit procédural et télémétrie en temps réel
ÉTAPE 10 — CONNECTER LE PILOTE À LA PHYSIQUE
VOLANT, PÉDALES ET FORCE FEEDBACK
Jusqu’ici, le développement pouvait être piloté principalement à la manette ou au clavier. Une nouvelle étape consiste à intégrer les périphériques utilisés sur un véritable simulateur automobile.
Le moteur reçoit alors un système de configuration et de calibration pour volant, accélérateur, frein, palettes et frein à main. En mode volant, la direction devient directement liée au braquage demandé, sans correction artificielle liée à la vitesse.
Le Force Feedback est également calculé directement dans le Vehicle Core. Il exploite notamment les efforts pneumatiques, le moment d’auto-alignement, la chasse, le scrub radius et la géométrie de l’axe de pivot, auxquels viennent s’ajouter les effets de damping, de friction et d’inertie.
Cette évolution permet de rapprocher davantage ce que calcule le moteur physique de ce que ressent le pilote.
VEHICLE CORE → PHYSIQUE + DONNÉES
GODOT →
VISUALISATION + ENVIRONNEMENT + INTERFACE

Capture version V0.86
Première intégration complète des commandes volant/pédales et du Force Feedback
ÉTAPE 11 — CONSTRUIRE LE DATA ENGINEERING
DE LA TÉLÉMÉTRIE À LA GESTION DES SESSIONS
Produire de nombreuses données n’est réellement utile que si elles peuvent être organisées, retrouvées et comparées. Le moteur commence donc à structurer chaque session d’essai : pilote, setup et run sont identifiés, tandis qu’un instantané complet des fichiers de configuration utilisés est automatiquement conservé.
Des index globaux de sessions et de tours sont créés afin de constituer progressivement une véritable base de données d’essais. Le meilleur tour valide peut devenir automatiquement une référence, permettant de calculer en temps réel le delta avec le tour actuellement parcouru au même point du circuit.
À ce stade, la télémétrie n’est plus seulement affichée : elle commence à devenir un véritable pipeline de Data Engineering. On suit désormais 176 canaux, avec une télémétrie jusqu’à 1000 Hz et un Vehicle Core à 2000 Hz.

Capture version V0.87
Analyse du châssis, des suspensions et de la géométrie dynamique
ÉTAPE 12 — PASSER DE LA TÉLÉMÉTRIE À L’ANALYSE ET À LA VALIDATION
DE LA DONNÉE BRUTE À L’OUTIL D’INGÉNIERIE
Des outils spécialisés sont progressivement ajoutés pour analyser les pneumatiques, les suspensions et l’aérodynamique. Les données de température, pression, charge verticale, glissement, utilisation du pneumatique, débattement de suspension, vitesse d’amortisseur, hauteur de caisse, équilibre aérodynamique ou encore forces générées peuvent être visualisées pendant le roulage puis enregistrées automatiquement dans des fichiers dédiés.
Pendant les sessions, les données sont enregistrées en CSV afin de relire les données après le roulage.
Notre moteur physique évolue ainsi progressivement d’un moteur physique capable de générer de la télémétrie vers une plateforme permettant de mesurer, enregistrer, comparer et valider le comportement dynamique d’un véhicule simulé.
Vidéo version V0.99.52
Analyse et validation du Vehicle Core à partir des données de télémétrie
