Skip to content
← Back to all posts

Closing the Gap: Telemetry vs Simulation

Will Fang

Progress update.

The latest build brings the simulation lap trace very close to real telemetry. Over most of the lap the velocity profiles lie nearly on top of each other. Remaining differences cluster at:

  • Exit of low‑speed corners (torque application / tire longitudinal model)
  • Peak speed regions (drag + powertrain efficiency blend)
  • Brake zones (effective mu and weight transfer timing)

Simulation vs Telemetry

What’s driving the improved match?

Recent physics upgrades:

  • Friction ellipse for combined tire grip (lateral + longitudinal)

Real tires can’t deliver maximum grip in both the lateral (cornering) and longitudinal (braking/acceleration) directions at the same time. The friction ellipse models this tradeoff, ensuring the total force stays within the tire’s physical limit. The combined grip is typically represented by:

(Fx / μFz)2 + (Fy / μFz)2 ≤ 1

Where:

  • Fx = longitudinal force (acceleration/braking)
  • Fy = lateral force (cornering)
  • μ = effective friction coefficient (may be load-dependent, see below)
  • Fz = normal load on the tire

This ensures that as you use more grip for braking or acceleration, less is available for cornering, and vice versa—matching real-world tire behavior.

  • Non-linear tire grip (μ)

Tire grip is not a simple linear function of slip; instead, it follows a non-linear relationship that captures how tires generate peak force at moderate slip and then lose grip as slip increases further. This is often modeled using a simplified Pacejka “Magic Formula” or similar approach. However, for the current model, the effective friction coefficient is load-sensitive and computed as:

μeff = μnominal · (Fz / Fref)α

Where:

  • μeff = effective friction coefficient
  • μnominal = nominal (reference) friction coefficient
  • Fz = normal load on the tire
  • Fref = reference load (for normalization)
  • α = load sensitivity exponent (typically negative; grip decreases with load)

This non-linearity is critical for realistic simulation of tire behavior, especially near the limits of adhesion.

  • Powertrain: improved gear ratio selection logic, linear interpolation of torque curve

  • Rolling resistance

Rolling resistance opposes motion and is primarily due to tire deformation and internal friction. In the current model, it’s calculated as a sum of a constant term and a speed-dependent term:

Frr = c0 + c1 · v

Where:

  • Frr = rolling resistance force
  • c0 = constant rolling resistance coefficient (depends on tire and surface)
  • c1 = speed-dependent coefficient
  • v = vehicle speed

This approach captures both the baseline resistance and the increase with speed, improving accuracy over a purely constant model.

  • Smoother distance integration: adaptive step size for high-curvature regions

Where we go next: systematic parameter fitting over multiple laps.

Core idea: treat the sim parameters as a vector p and minimize a cost J(p) across N laps of telemetry.

Candidate cost function:

J(p) = Σlap [ wv · RMSEv + wa · RMSEa + wt · |Δtlap| + wevt · Σevents RMSEevent-window ]

Process sketch, right out of the ML playbook:

  1. Run simulation with current p;
  2. Compute residual vector r; normalize each component.
  3. Use bounded optimizer
  4. Re-sim all laps in batch (vectorized per segment).
  5. Iterate until ΔJ below tolerance or max iterations.

Safeguards:

  • Regularization: penalize large deviations from baseline physical plausibility.
  • Cross-validation: hold out one lap to detect overfitting.
  • Parameter coupling: enforce aero drag ≤ physical engine force at top speed.

Once this pipeline is in place we shift from manual tweaking to data-driven convergence. That accelerates development and builds confidence before adding higher fidelity (transient tire stiffness, thermal effects, track elevation).

Next update: implementing the batch optimizer

Stay tuned.

Comments