VehicleLabLaunch Studio
Menu

VehicleLab 1.21.0

Tire Lab: contact & lateral force

Inspect unilateral vertical contact and an independently qualified friction-capped linear lateral tire component.

Inspect the tire law

Studio → Choose engineering task → Tire Lab. Choose Unilateral Vertical Contact, edit vertical stiffness and static normal load, then move the wheel or road. Representative separation gives a visible gap and zero normal force; returning to compression restores support. Reference compression is derived from the load and stiffness.

The Legacy Linearized Vertical Tire comparison extrapolates a signed load. It does not enforce separation and may predict tensile load. Absolute normal force is explicitly undefined for this inspection model.

Static preload and equilibrium-relative forces

δ0=Fz0kt,δ=δ0+zr−zu,Fz=ktmax⁡(δ,0)\delta_0=\frac{F_{z0}}{k_t},\quad\delta=\delta_0+z_r-z_u,\quad F_z=k_t\max(\delta,0)
T=Fz0−Fz=kt(zu−zr)(δ>0)T=F_{z0}-F_z=k_t(z_u-z_r)\quad(\delta>0)

Upward displacements are relative to equilibrium. Full-Car front sprung axle weight is mₛgb/(a+b); rear is mₛga/(a+b). Each side receives half and adds its own unsprung weight. Gravity is 9.80665 m/s². This centered lateral CG convention is an idealized reference, not measured corner weights or a nonlinear static ride-height solution. Clamping the old signed incremental force would produce the wrong physical load.

Use it in Full-Car

Vehicle → Tire Physics → Unilateral Vertical Contact changes the actual force used at every RK4 stage. Four independent tire stiffnesses remain in Corner properties. The Double Wishbone geometry map and all fourteen states retain their existing conventions. Legacy is the default and preserves the original thirty-four result channels.

Lateral Dynamics inspection

At Studio → Tire Lab → Inspection mode → Lateral Dynamics, choose Unilateral Vertical Contact. Slip angle is displayed in degrees and converted to radians. Normal load comes from the existing vertical evaluator; wheel/road displacement edits immediately change the lateral friction limit. Legacy signed extrapolation cannot supply physical load.

Fy,linear=−Cαα,Fy=clamp(−Cαα,−μFz,+μFz),∣αsat∣=μFzCαF_{y,\mathrm{linear}}=-C_\alpha\alpha,\quad F_y=\mathrm{clamp}(-C_\alpha\alpha,-\mu F_z,+\mu F_z),\quad |\alpha_{\mathrm{sat}}|=\frac{\mu F_z}{C_\alpha}

The right-handed contact frame is +x wheel-forward, +y left, +z road-outward. Positive alpha describes positive lateral transport relative to heading and produces negative road-on-tire Fy. The proposed kinematic convention remains alpha = atan2(Vy, abs(Vx)); this release accepts explicit slip angle and implements no speed estimator or low-speed qualification.

The Lateral reference example supplies generic 3,500 N static load, 80,000 N/rad cornering stiffness and 0.9 effective friction. At +1 degree, Fy is −1,396.263 N; at −1 degree, +1,396.263 N. The friction limit is 3,150 N and saturation begins at approximately 2.2560 degrees. Separation gives exactly zero normal and lateral force, zero utilization and a zero-force curve. Re-contact restores the available steady-state force.

The Lateral Force vs. Slip Angle plot uses the production evaluator at every point, including the current selected angle and both saturation boundaries. Zero slip, signed slip and saturation examples reuse the existing compression/separation actions. A top-down orientation aid shows wheel heading, supplied transport direction and restoring force; it remains usable without WebGL. The persistent 3D scene maps contact (+x,+y,+z) to render (+X,−Z,+Y).

Supported inspection inputs: |alpha| ≤ π/2 rad, 1 ≤ Cα ≤ 10,000,000 N/rad, 0 ≤ μ ≤ 5 and 0 ≤ Fz ≤ 2,000,000 N. Finite values and representable computed results are required. These bounds are numerical inspection domains, not measured operating envelopes. Zero friction and zero load are valid; negative physical load is rejected.

The versioned model is vehiclelab.tire.lateral-clipped-linear@1.0.0, contract vehiclelab.tire.lateral-force.v1. This memoryless steady-state approximation has constant cornering stiffness and is nondifferentiable at saturation. It has no pneumatic trail/aligning moment, camber thrust, relaxation length, longitudinal or combined slip, temperature, pressure, wear, contact-patch pressure or carcass deformation. Parameters are illustrative and not empirically calibrated.

Lateral curve CSV includes SI inputs, degree display values, unclipped and clipped force, physical load, friction limit, utilization and state. Its JSON provenance retains versioned identities, units, selected input/output, the linked normal-load source and assumptions. Inspection is separate from saved Full-Car projects. No lateral force enters the existing 7-DOF equations, 14 states or historical 34 channels; this component does not establish whole-vehicle cornering or yaw response.

Independent lateral evidence covers hand-computed benchmarks, piecewise analytical references, exact/adjacent saturation boundaries, parameter variation, production vertical contact coupling, invalid inputs, determinism, capability isolation and export round-trips. Reproduce with npm run verify:tire-lateral.

Contact records separately retain static loads, reference compression, signed and actual compression, dynamic compression change, gap, normal force, incremental force, spring energy and contact state at each corner. Response includes normal-force/compression/gap plots and event metrics. Motion contact poses use accepted samples; assembly tire shells remain schematic.

Numerical accuracy and event meaning

This is an undamped finite-stiffness normal spring. It supplies no impact impulse or restitution law. Lift-off and re-contact times are linearly estimated from signed-compression crossings between output samples, with explicit event brackets. Airborne duration uses those estimates, rather than sample counts. Transitions entirely within one interval may be missed. Refine the time step for short obstacles, high stiffness or repeated contact.

The independent adaptive Dormand-Prince 5(4) reference uses separately authored contact and seven-DOF equations. At 0.5 ms, the canonical asymmetric bump case had maximum displacement error 1.158 µm, wheel velocity error0.057 mm/s, body acceleration error 7.228e-5 m/s² and normal-force error 0.136 N. These limits qualify the published cases; they do not guarantee arbitrary-input stability.

Closed-form checks, an exact repeated contact/airborne oscillator, reduced vehicle checks, four-corner dynamics, fixed-road energy/damping, moving-road work, procedural roads and imported OpenCRG are included in the reproducible contact verification dataset. No measured tire or vehicle correlation is claimed.

Exports and persistence

Tire Lab exports curve CSV and parameter/result provenance JSON. Its inspection is separate from Full-Car Project Save/Open. Full-Car projects retain the distinct geometry-unilateral-contact v1.0.0 model identity. Completed contact runs offer an additional contact CSV and engineering PDF with preload, assumptions, force plots and event metrics. The historical CSV keeps its original 34 columns. Edits mark prior results stale; rerun before exporting current engineering evidence.

Spatial and imported-road project persistence remains unavailable. Spatial provenance retains source/road identities and the displacement datum. Tire contact consumes the authoritative road evaluation, not the decimated display mesh.

Model and visual limitations

The vertical model supplies point vertical contact only: no tire damping, detailed carcass deformation, contact-patch pressure, road enveloping, lateral/longitudinal force, slip, wheel spin, yaw or handling. Brush/Fiala, Pacejka and combined-slip models remain future work.

The interactive schematic uses an unloaded radius of 0.32 m; a compressed silhouette touches the road and a separated tire retains its radius. Orbit, pan, zoom, Fit and Reset reuse persistent scene resources. Without WebGL the same accepted geometry is available as an SVG. Inputs outside the schematic geometry range retain numerical outputs and curves.

Open Tire LabFull-Car workflow