VehicleLabLaunch Studio
Menu

Verification & Validation / Evidence

Double Wishbone — Kinematics Verification

Independent Cartesian reference, analytical signed motion ratios, full-resolution errors and explicit boundaries for VehicleLab's rigid locked-heading suspension mechanism.

Suspension Engineering Comparison - release 1.19.0

Eight planar, spatial and nonzero-camber/toe fixtures qualify 72axle states / 144 corners on common jounce × rack inputs. Independent wheel-plane/front-plane intersections and Cartesian projected reference angles verify physical spindle camber, signed toe and geometric caster/SAI. Three fourth-order perturbation steps qualify both input sensitivities and signed motion ratios.

Quantity / SI unitMaximum errorAcceptance
positionM1.2924e-122.0000e-10
frame7.1014e-123.0000e-9
angleRad7.1580e-122.0000e-9
compressionM3.4378e-132.0000e-10
derivativeRadPerM1.8757e-101.0000e-7
motionRatio1.5521e-101.0000e-8
closureM3.4451e-121.0000e-11

Common accepted samples are paired without clamping or extrapolation; rejected inputs remain explicit and curve gaps are retained. Geometry and inputs own the completed CSV/PDF snapshot. These are ideal rigid kinematics, not measured K&C or full-vehicle handling.

Complete reproducible comparison evidence ·Metric definitions and independent derivation

MacPherson Strut — release 1.18.0

A distinct vehiclelab.macpherson-study.v1 uses a rigid lower arm, spherical upper mount and carrier-fixed telescoping strut. Four tangent coordinates close two independent strut alignment equations, wheel height and constant tie length. Strut extension is an output. This inspection is separate from Full-Car dynamics and saved projects.

Independent carrier-frame construction, steering-circle / tie-sphere intersections and scalar arm bisection verify 79 axle /158 corner states across a closed-form planar case, generic geometry and a genuinely skew hinge. The reference imports no production solver, Jacobian, rotation or continuation functions. Both input derivatives converge across three perturbation steps; tangent Jacobians, reflections and singular fixtures are checked.

Measured maximum errors and fixed acceptance limits
QuantityMaximumAcceptance
Position / length (m)1.5454e-115.0000e-10
Carrier basis7.1098e-115.0000e-9
Heading (rad)7.5487e-115.0000e-9
Closure (m)9.0267e-121.0000e-11
Jacobian (m/rad)1.0004e-105.0000e-10
Point derivative (m/m)3.9661e-93.0000e-6
Angular derivative (rad/m)1.5093e-82.0000e-5
Basis derivative (1/m)2.2554e-82.0000e-5
Arm derivative (rad/m)1.2616e-92.0000e-5
Length derivative (m/m)3.4180e-103.0000e-6
Heading derivative (rad/m)2.8844e-82.0000e-5
Implicit residual (m/m)4.4409e-161.0000e-12

Residual tolerance: 1e−11 m. Raw and normalized rank ratios below 1e−4 reject the pose; below 1e−2 warn of near singularity. Six recorded invalid or boundary cases are rejected. Numerical continuation limits are not hardware stroke measurements. No compliance, forces, hydraulic behavior, tire lateral dynamics or measured correlation is claimed.Download complete reproducible dataset ·Joint assumptions and derivation ·Inspect in Studio

Physical rack and tie-rod steering — release 1.17.0

The separate vehiclelab.steering-study.v1 replaces the ideal heading closure with a constant-length tie rod. Three coordinates close upright length, wheel jounce and tie length. Two corners solve independently under one rack input. This inspection does not change the passive ride model or its saved project schemas.

Independent circle/sphere intersections and scalar bisection verify 75 axle / 150 corner poses across parallel arms, generic front and genuinely skew hinges. Five jounce values (−50 to +50 mm) and five rack inputs (−20 to +20 mm) are checked, with analytic reduced-reference derivatives and three perturbation steps. No production Newton, Jacobian, carrier/toe or continuation helpers enter the reference.

Positive heading turns left; toe-in = −left heading / +right heading. Bump steer is toe(j, rack) − toe(0, the same rack). Right geometry reflects the left with rack input reversal; at the same nonzero rack the right wheel is solved independently. Rack heading gain is rad/m, displayed as degrees/mm; no steering-wheel ratio or handling calibration is supplied.

Full-resolution maximum errors; all 150 corner points pass
SI metricMaximum errorAcceptance
positionM3.7939e-123.0000e-9
angleRad2.2033e-115.0000e-8
derivative1.9662e-105.0000e-8
angularRadPerM5.7202e-115.0000e-8
closureM2.5444e-122.0000e-11
jacobianMPerRad1.2380e-113.0000e-9
frame6.6613e-162.0000e-12
rotationIdentityPerM5.3291e-152.0000e-11
implicitResidual3.2353e-162.0000e-11
referenceFdMPerM2.0369e-95.0000e-8
referenceFdRadPerM1.7762e-85.0000e-7

Both raw and unit-column 3×3 minimum/maximum singular-value ratios must be at least 10⁻⁴; warnings begin below 10⁻² or raw condition above 100. Raw rank prevents normalized columns from hiding tie-sphere tangency. Invalid definitions, singularity and failed continuation are explicit; sampled accepted/first-rejected limits are not certified mechanical stops. The UI keeps its last accepted pose and never draws the curve through rejected travel.

Download steering definitions, every solved row, derivatives and errors (JSON) · Independent steering derivation and tolerance rationale · Inspect physical steering in Studio →

Independent analytical / numerical verification

Computed result: PASS

303 primary + 303 mirrored positions across three configurations, 101 points each from −50 to +50 mm at 1 mm intervals. Acceptance uses every full-resolution point, not the plotted appearance.

Reference: vehiclelab.verification.double-wishbone.cartesian-circles v1.0.0. Model: vehiclelab.suspension.v1; orientation: chassis-forward-projection. Production implementation: packages/simulation-core/src/suspension.ts, unchanged from 1.12.0.

Download full geometry, rows and metrics (JSON)· Download reference equations and numerical rationale

Reference construction and assumptions

∥B−O∥2=r2,∥A−H∥2=R2,∥A−B∥2=h2\|B-O\|^2=r^2,\quad \|A-H\|^2=R^2,\quad \|A-B\|^2=h^2
W=B+βv+ηu,Wz=q,C=L0−L,MR=−dLdqW=B+\beta v+\eta u,\quad W_z=q,\quad C=L_0-L,\quad MR=-\frac{dL}{dq}

Both wishbones rotate around fixed, parallel longitudinal hinges. The upright is rigid; wheel travel is prescribed at the wheel centre, not a ball joint. Spring and damper have separate fixed upper mounts and independent lower-arm mounts. The heading rule is an idealized mathematical constraint; it does not reproduce a physical tie rod.

The reference finds the lower ball joint on a Cartesian circle, intersects the upper-arm and upright circles, and bisects only the lower ball's height to satisfy wheel-centre travel. It differentiates the Cartesian circle constraints analytically and transports each mount using a radial/tangential basis. It imports no production runtime or pose helpers. A separate parallel-arm closed form checks this reference itself.

Signed compression C = L₀ − L; signed motion ratio MR = dC/dq = −dL/dq. Analytical derivatives are compared with production's unchanged 10 µm centred difference and, separately, a reference-only 1 µm derivative check.

This exact reference covers regular planar mechanisms with the stated parallel hinges and heading. Arbitrary 3D geometries retain separate rigid-link, rejection and integration tests; they are not claimed as independently reproduced by this planar reference.

Canonical standalone cases

VL-DW-001 · Design reconstruction · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-002 · Rigid wishbone and upright motion · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-003 · Independent spring compression · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-004 · Independent damper compression · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-005 · Signed motion ratios · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-006 · Left/right reflection · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

VL-DW-007 · Feasible branch and explicit rejection · PASS

Check the stated rigid, locked-heading mechanism with an independent Cartesian reference.

All full-resolution metrics pass the declared position, rigid-link, angle and derivative bounds; invalid travel fails explicitly.

Source: tests/validation/suspension-kinematics.test.ts. Degenerate hinges, invalid travel and non-finite input are explicitly rejected. The production suite separately exercises singular geometries and branch endpoints.

Generic front planar

Computed PASS. Coordinates are SI metres: x forward, y left, z up. The design wheel centre is the origin. Fixture metadata marks manually entered verification geometries; front and rear match the authoritative default hardpoints exactly.

Complete design hardpoints
Hardpointx (m)y (m)z (m)
upperFront0.14-0.340.16
upperRear-0.14-0.340.16
upperBall0-0.060.15
lowerFront0.18-0.4-0.14
lowerRear-0.18-0.4-0.14
lowerBall0-0.05-0.16
springUpper0.04-0.290.27
springLower0.04-0.15-0.15
damperUpper-0.05-0.270.26
damperLower-0.05-0.13-0.15
spindleReference00.120

Generic front planar · Element length

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic front planar · Signed compression

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic front planar · Signed motion ratio

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic front planar · Motion-ratio absolute error

Full-resolution analytical-reference difference. The independently declared absolute acceptance bound is 2 × 10⁻⁷ for each element.

  • spring error (solid)
  • damper error (solid)

Full-resolution acceptance

MetricMaximumRMSDeclared limitResult
hardpointPosition (m)1.4326e-134.4131e-14≤ 2.0000e-9PASS
constraintResidual (m)7.5537e-142.5062e-14≤ 2.0000e-10PASS
armAngle (rad)5.1134e-131.5748e-13≤ 2.0000e-8PASS
reflection (m)1.4326e-134.4131e-14≤ 2.0000e-9PASS
springLength (m)5.0626e-141.6754e-14≤ 2.0000e-9PASS
springCompression (m)5.0626e-141.6754e-14≤ 2.0000e-9PASS
springMotionRatio (1)2.2961e-101.1322e-10≤ 2.0000e-7PASS
springReferenceDerivative (1)1.9017e-108.3149e-11≤ 2.0000e-8PASS
springReflectionLength (m)00≤ 2.0000e-9PASS
springReflectionMotionRatio (1)2.2961e-101.1322e-10≤ 2.0000e-7PASS
springCompressionRelative (1)1.5400e-126.7914e-13Informational—
springMotionRatioRelative (1)3.5338e-101.7263e-10Informational—
damperLength (m)5.4567e-141.8078e-14≤ 2.0000e-9PASS
damperCompression (m)5.4567e-141.8078e-14≤ 2.0000e-9PASS
damperMotionRatio (1)2.5091e-101.2545e-10≤ 2.0000e-7PASS
damperReferenceDerivative (1)2.5276e-108.8913e-11≤ 2.0000e-8PASS
damperReflectionLength (m)00≤ 2.0000e-9PASS
damperReflectionMotionRatio (1)2.5091e-101.2545e-10≤ 2.0000e-7PASS
damperCompressionRelative (1)1.5388e-126.8206e-13Informational—
damperMotionRatioRelative (1)3.5779e-101.7725e-10Informational—

Relative errors use a 0.01 m or 0.01 motion-ratio denominator floor and are informational; absolute limits govern acceptance. Design reconstruction error: 2.4985e-16 m. Deterministic repeatability: exact.

Generic rear planar

Computed PASS. Coordinates are SI metres: x forward, y left, z up. The design wheel centre is the origin. Fixture metadata marks manually entered verification geometries; front and rear match the authoritative default hardpoints exactly.

Complete design hardpoints
Hardpointx (m)y (m)z (m)
upperFront0.16-0.370.17
upperRear-0.16-0.370.17
upperBall0-0.0650.145
lowerFront0.2-0.43-0.15
lowerRear-0.2-0.43-0.15
lowerBall0-0.055-0.17
springUpper0.055-0.310.29
springLower0.055-0.18-0.16
damperUpper-0.055-0.30.28
damperLower-0.055-0.16-0.16
spindleReference00.120

Generic rear planar · Element length

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic rear planar · Signed compression

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic rear planar · Signed motion ratio

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Generic rear planar · Motion-ratio absolute error

Full-resolution analytical-reference difference. The independently declared absolute acceptance bound is 2 × 10⁻⁷ for each element.

  • spring error (solid)
  • damper error (solid)

Full-resolution acceptance

MetricMaximumRMSDeclared limitResult
hardpointPosition (m)2.1282e-137.2465e-14≤ 2.0000e-9PASS
constraintResidual (m)1.1324e-133.7465e-14≤ 2.0000e-10PASS
armAngle (rad)6.9542e-132.3680e-13≤ 2.0000e-8PASS
reflection (m)2.1282e-137.2465e-14≤ 2.0000e-9PASS
springLength (m)5.6455e-142.0650e-14≤ 2.0000e-9PASS
springCompression (m)5.6455e-142.0650e-14≤ 2.0000e-9PASS
springMotionRatio (1)3.1240e-101.5358e-10≤ 2.0000e-7PASS
springReferenceDerivative (1)2.1760e-107.3804e-11≤ 2.0000e-8PASS
springReflectionLength (m)00≤ 2.0000e-9PASS
springReflectionMotionRatio (1)3.1240e-101.5358e-10≤ 2.0000e-7PASS
springCompressionRelative (1)1.7943e-129.7807e-13Informational—
springMotionRatioRelative (1)4.9124e-102.4383e-10Informational—
damperLength (m)6.0396e-142.2108e-14≤ 2.0000e-9PASS
damperCompression (m)6.0396e-142.2108e-14≤ 2.0000e-9PASS
damperMotionRatio (1)3.3576e-101.6638e-10≤ 2.0000e-7PASS
damperReferenceDerivative (1)1.9842e-108.2163e-11≤ 2.0000e-8PASS
damperReflectionLength (m)00≤ 2.0000e-9PASS
damperReflectionMotionRatio (1)3.3576e-101.6638e-10≤ 2.0000e-7PASS
damperCompressionRelative (1)1.7934e-129.9130e-13Informational—
damperMotionRatioRelative (1)4.9298e-102.4678e-10Informational—

Relative errors use a 0.01 m or 0.01 motion-ratio denominator floor and are informational; absolute limits govern acceptance. Design reconstruction error: 2.4990e-16 m. Deterministic repeatability: exact.

Parallel arms, independent elements

Computed PASS. Coordinates are SI metres: x forward, y left, z up. The design wheel centre is the origin. Fixture metadata marks manually entered verification geometries; front and rear match the authoritative default hardpoints exactly.

Complete design hardpoints
Hardpointx (m)y (m)z (m)
upperFront0.15-0.40.15
upperRear-0.15-0.40.15
upperBall0-0.050.15
lowerFront0.15-0.4-0.15
lowerRear-0.15-0.4-0.15
lowerBall0-0.05-0.15
springUpper0.06-0.20.3
springLower0.04-0.2-0.15
damperUpper-0.05-0.170.32
damperLower-0.05-0.13-0.15
spindleReference00.120

Parallel arms, independent elements · Element length

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Parallel arms, independent elements · Signed compression

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Parallel arms, independent elements · Signed motion ratio

All 101 points. Solid: production; dashed: independently derived Cartesian reference. Coincident curves are expected when verification passes.

  • spring production (solid)
  • spring reference (dashed)
  • damper production (solid)
  • damper reference (dashed)

Parallel arms, independent elements · Motion-ratio absolute error

Full-resolution analytical-reference difference. The independently declared absolute acceptance bound is 2 × 10⁻⁷ for each element.

  • spring error (solid)
  • damper error (solid)

Full-resolution acceptance

MetricMaximumRMSDeclared limitResult
hardpointPosition (m)8.9908e-153.4064e-15≤ 2.0000e-9PASS
constraintResidual (m)8.7846e-153.3599e-15≤ 2.0000e-10PASS
armAngle (rad)2.5591e-149.7239e-15≤ 2.0000e-8PASS
reflection (m)8.9908e-153.4064e-15≤ 2.0000e-9PASS
springLength (m)4.9405e-151.9112e-15≤ 2.0000e-9PASS
springCompression (m)4.9405e-151.9112e-15≤ 2.0000e-9PASS
springMotionRatio (1)9.2998e-111.5467e-11≤ 2.0000e-7PASS
springReferenceDerivative (1)1.8302e-108.5667e-11≤ 2.0000e-8PASS
springReflectionLength (m)00≤ 2.0000e-9PASS
springReflectionMotionRatio (1)9.2998e-111.5467e-11≤ 2.0000e-7PASS
springCompressionRelative (1)1.7313e-137.8106e-14Informational—
springMotionRatioRelative (1)1.6291e-102.7086e-11Informational—
damperLength (m)6.8279e-152.5803e-15≤ 2.0000e-9PASS
damperCompression (m)6.8279e-152.5803e-15≤ 2.0000e-9PASS
damperMotionRatio (1)1.1186e-102.7605e-11≤ 2.0000e-7PASS
damperReferenceDerivative (1)1.8536e-101.0557e-10≤ 2.0000e-8PASS
damperReflectionLength (m)00≤ 2.0000e-9PASS
damperReflectionMotionRatio (1)1.1186e-102.7605e-11≤ 2.0000e-7PASS
damperCompressionRelative (1)1.7713e-137.8389e-14Informational—
damperMotionRatioRelative (1)1.4553e-103.6076e-11Informational—

Relative errors use a 0.01 m or 0.01 motion-ratio denominator floor and are informational; absolute limits govern acceptance. Design reconstruction error: 2.7894e-16 m. Deterministic repeatability: exact.

Full-Car integration remains separate

VL-DW-008 records the existing force/potential-gradient, passive damper-power, direct/map, design wheel-rate and axle-mapping assertions in packages/simulation-core/src/full-car/geometry.test.ts. Force-gradient acceptance is 0.003 N; passive-power acceptance is 0.001 W. Those tests exercise generalized forces; they are not the standalone Cartesian reference.

Follow the Full-Car force, energy and numerical evidence chain →

Evidence and hardware boundaries

No compatible published suspension reproduction or physical test correlation has been established. The physical steering section verifies rigid geometric steering/bump steer; it makes no physical steering, compliance, camber/toe K&C, certification or vehicle-specific accuracy claim. The previous external-publication audit remains valid.

Displayed damper housing and rod are constant illustrative dimensions, each 0.68 times the design mount separation. The piston location follows solved separation; compression moves it into the housing and rebound draws it toward the rod end. This depicts geometric telescoping only, not pressure, valving, seals, friction, cavitation or hydraulic dynamics. Custom travel may exceed the illustrative package; artwork is never clamped to change solved motion.

Evidence may be shared as numerical verification of this idealized mechanism. Read the intended-use boundaries.