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.

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. No steering, bump-steer, compliance, camber/toe K&C, certification or vehicle-specific accuracy is claimed. 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.