VehicleLab 1.19.0 couples Double-Wishbone geometry and kinematicsto passive Full-Car forces. Installed spring/damper coefficients use geometry-derived compression and motion ratios. Existing projects migrate deterministically to generic geometry while preserving their design-point wheel rates.
Independent suspension kinematics precedes geometry-dependent passive force mapping and numerically verified Full-Car equations. Shared spring/damper hardware follows completed solved poses in temporal and spatial Motion; housing and piston dimensions are illustrative.
Run a Full-Car Study
- Open Studio and choose Full Car · 7 DOF. Selecting Full-Car from any workspace reaches Study / Transient. Half-Car remains the initial Studio model.
- Choose the Excitation source first. Prescribed inputs / Rig retains four temporal corner histories. Spatial road traversal derives four corner histories from a procedural or supported-subset OpenCRG road and straight constant-speed traversal.
- For Spatial, choose Road source, review or import the road, then set traversal. Review Vehicle body & geometry and FL / FR / RL / RR properties below. Section links reach Road, Vehicle, Advanced, Run and Results without hiding required decisions.
- Use Advanced inputs for fourteen initial-state values, duration and fixed RK4 time step. All quantities in the definition use SI.
- Run Full-Car Study to create immutable completed evidence in the production browser Web Worker. Edits retain the previous record and mark it stale; rerun to create current evidence. A failed run preserves the last valid record.
Coordinates and body attachment kinematics
Seven DOFs: rigid-body CG heave, pitch and roll, plus four independent unsprung vertical displacements. Fourteen interleaved states pair each displacement/angle with its velocity/rate. The state order is heave, pitch, roll, FL, FR, RL, RR, each followed by its derivative.
Coordinates are increments from the supplied design datum: upward heave z, nose-up pitch θ, left-side-up roll φ. Longitudinal x is forward and lateral y is left. Gravity and static preload are excluded; no static ride-height solve is performed. Let a/b be CG-to-front/rear axle distances and t_f/t_r the full track widths.
At corner i, jounce is q_i = z_ui − z_si. Incremental element compression C(q) comes from rigid Double-Wishbone geometry; MR = dC/dq. Wheel force is F_i = −k_s C_s MR_s − c_d MR_d² q̇_i. Positive F_i acts downward on the body and upward on the unsprung mass. Tire deflection is z_ui − z_ri; linear tire stiffness supplies the restoring wheel force. Attachment velocities use the same linear kinematics.
Prescribed inputs / Rig
Each of the four roads is a vertical displacement versus time. They do not reconstruct a traveling spatial road surface, contact patch, vehicle trajectory or speed-dependent road. There is no Full-Car speed-to-delay helper. Independent input timing is authored explicitly and stored in projects.
Spatial road / Drive over Road
Choose Flat (absolute elevation), Raised cosine (baseline, signed amplitude, longitudinal start, positive length and full-width or finite lateral support), or Sine (baseline, signed amplitude, positive wavelength, longitudinal origin and phase in radians). Road coordinates are +s forward, +t left and +z up, with all lengths in metres. Finite support requires minimum < maximum and includes both boundaries without lateral blending.
Set a positive constant speed in m/s, starting longitudinal position and lateral offset. Traversal starts at 0 s and ends at the solver duration. This is a prescribed kinematic path; it adds no longitudinal vehicle dynamics, acceleration, yaw or steering. Contact positions use the completed wheelbase, axle arms and front/rear tracks.
The deterministic road displacement datum equals flat elevation or the non-flat baseline. Absolute sampled road elevation minus that datum drives the existing equilibrium-offset Full-Car model. The exact RK4 stage schedule is covered by Float64 excitation evidence; the display mesh does not supply numerical inputs.
Vehicle parameters, initial state and solver settings are shared. Each source retains its own inputs and completed record. Switching sources does not run or reinterpret evidence. Relevant edits mark the corresponding record stale; restoring its inputs exactly makes it current. A failed run preserves the last valid record.
Primary results and complete evidence
Six primary plots show body heave displacement (mm), body heave acceleration (m/s²), pitch angle (deg), roll angle (deg), four suspension travels (mm), and four dynamic tire deflections (mm). FL / FR / RL / RR have labels and distinct solid, dashed, dotted and dash-dot styles. Plots convert display units only; no smoothing, filtering, resampling or numerical recomputation.
Six body metrics give peak absolute and RMS heave/pitch/roll acceleration. Four suspension and four tire metrics give peak absolute corner displacement. Sample count and simulated duration complete the sixteen metrics. Angular accelerations display in deg/s² and remain rad/s² in evidence. These are neutral quantities with no comfort score, ranking or pass/fail rating.
Export downloads all 34 authoritative CSV channels in SI, including road histories, body states/accelerations, attachment displacements, wheel displacements/velocities, suspension travels and tire deflections. Every primary plot exports PNG through the existing EngineeringPlot action. The global Engineering Report includes completed configuration, metrics, primary plots, provenance and limitations.
Reproducible definitions and provenance
Spatial evidence exports 34 datum-relative result channels, a separate five-column absolute contact-excitation CSV, provenance JSON and a typed Engineering Report. Road and traversal SHA-256 fingerprints, contact geometry, datum and derivation vehiclelab.road-to-corner-excitation v0.1.0 remain explicit. Road/Traversal implementation milestone is 1.5.0-alpha.2. Spatial project save is unavailable in vehiclelab.project.v1; no unrelated Rig project is exported. Loading an existing Full-Car project selects Rig.
Prescribed Rig Full-Car projects extend vehiclelab.project.v1 additively. They preserve model/solver identity, four roads, fourteen initial states, solver settings and metadata, with no numerical result arrays. Import restores Full-Car Study / Transient and requires Run. Incompatible or malformed files reject atomically. Quarter/Half-Car projects remain compatible, and switching model contexts preserves separate authoring and completed evidence.
Model: vehiclelab.full-car.geometry-passive v1.0.0. Solver: vehiclelab.rk4.fixed-step v0.1.0. Product: VehicleLab 1.19.0; implementation milestone 1.3.0-alpha.1. Execution: Browser Web Worker, local Float64 computation.
Completed-evidence Motion
Spatial Motion offers Model or Vehicle. Vehicle is the initial Motion view and lazily loads Three.js and a stationary bounded road mesh, while the actual vehicle root advances along +X using the same playback time as response interpolation. Road +t left maps to scene −Z, and elevation maps to +Y. Wheelbase, tracks and road feature length use one horizontal scale along all three axes; body, wheels and road preserve physical displacement proportions. Readouts preserve physical SI values with labelled mm/degree display conversions.
Engineering 3/4, Chase, Side tracking and Front tracking cameras follow the vehicle. Fixed remains anchored near the bump centre or traversal midpoint. Playback starts paused and supports Play/Pause, Restart, scrub and 0.5× / 1× / 2× speeds. Camera and playback changes never run physics. Road geometry uses the production evaluator on a separate capped display grid. Generic body artwork and tire radius are contextual; there is no calibrated wheel spin, tire contact or road-following vehicle dynamics. WebGL or lazy import failure leaves Response, Model and evidence exports available.
For prescribed Rig evidence, choose Motion, then Model or Vehicle. Playback starts paused and supports Play/Pause, Restart, a labelled time scrubber and 0.5× / 1× / 2× speed. Editing inputs marks the completed record stale; Motion keeps that record until a successful rerun. Playback never requests a simulation.
Full Car · 7 DOF: body heave, pitch and roll with four independent unsprung vertical motions. Model uses a 3/4 engineering projection. Vehicle loads Three.js only on selection and offers 3/4, Side (heave/pitch) and Front (heave/roll) cameras. If WebGL is unavailable, Model and numerical evidence remain usable.
Model uses schematic amplification for attachment, wheel and road displacements. Vehicle uses one uniform SI scale for the solved mechanism and physical travel. The body shell is stylized. Scene coordinates are +X front, +Y up, +Z right: positive pitch raises the nose; positive roll raises the left side. Relative axle arms and tracks come from completed geometry with one horizontal normalization. Model retains schematic amplification. Vehicle uses a uniform physical scale and solved Double-Wishbone links; Suspension camera inspection offers FL/FR/RL/RR selection and a read-only hardpoint inspector without distorting mechanism travel. See-through body defaults ON at 30% exterior opacity; OFF uses the identical opaque shell. Glass retains its own material. Body visibility never changes completed poses, hardpoints, playback or camera.
The generic sedan is a lightweight illustrative loft, not an OEM body or physics source. Artificial rails, decks and support towers have been removed. Tubular wishbones, independent spring seats and coils, telescopic dampers and spindle references retain solved endpoints. Exterior artwork follows the documented small-angle body height plane; it is not a rigid multibody or CAD reconstruction.
In Suspension, choose a hardpoint by its canonical name to highlight its exact marker. Design and current solved coordinates are shown in millimetres, in corner-local axes +X forward, +Y left, +Z up, with the design wheel centre as origin. Right-side Y is mirrored. Body attachment translation is excluded from this local readout. Results uses immutable completed geometry; editing remains in Customize Geometry.
Four local road pads show prescribed corner inputs. They are not a reconstructed spatial road surface. Four labelled temporal traces share the playback cursor. Completed samples are linearly interpolated for display only, without smoothing, filtering or integration. This view adds no tire deformation/contact mechanics, lift-off, lateral dynamics, yaw, steering or active control. Rig has no forward travel. Full-Car Rig Engineering Video, Compare, Explore and Frequency remain future work. Completed Spatial road traversal supports Drive-over-Road Engineering Video.
Local visual mesh import
Import 3D Model accepts static, self-contained GLB or ASCII/binary STL locally in the browser. Stage the exterior, choose metres/millimetres/centimetres, model forward/up axes, uniform scale and CG-relative offsets, then compare the amber authoritative wheel centres with its arches. A declared wheelbase mismatch over 3% blocks application. No model is stretched nonuniformly or used to derive mass, inertia or hardpoints.
Exclude original wheels and interior meshes by name in GLB and confirm an exterior-only selection. STL is a merged mesh: use a body-only export when wheels cannot be excluded. Restore default vehicle removes the session asset. Reimport after reload or a new session. The selected exterior is shared by temporal Motion, spatial/OpenCRG playback and supported spatial video exports. Full-Car Rig video remains unavailable.
Imports are limited to 20 MiB, 250,000 triangles, 750,000 vertices, 256 mesh primitives, 1024 nodes, 128 materials and 16 embedded PNG/JPEG textures within 16 megapixels (4096 px per side). External URLs, compressed meshes, animation, skins and sparse accessors are rejected. This is visual mesh import, not STEP/IGES/native CAD feature import. Imported geometry is not automatically a physically valid vehicle configuration.
Solver and input safeguards
The existing generic fixed-step RK4 integrates fourteen states; Full-Car introduces no second solver. Duration is 0.01–30 s, time step 0.0001–0.02 s, with at most 100,001 samples. Events must finish within the simulation duration. Finite parameter and initial-state bounds are enforced before execution. These input rails do not guarantee numerical stability for every combination of coefficients and step size.
Generic configuration
| Parameter | Value | SI unit |
|---|---|---|
| Sprung mass | 1200 | kg |
| Pitch inertia | 2000 | kg·m² |
| Roll inertia | 550 | kg·m² |
| CG to front axle | 1.2 | m |
| CG to rear axle | 1.5 | m |
| Front track | 1.6 | m |
| Rear track | 1.58 | m |
| Front Left · FL unsprung mass | 30 | kg |
| Front Left · FL tire stiffness | 110000 | N/m |
| Front Right · FR unsprung mass | 31 | kg |
| Front Right · FR tire stiffness | 112000 | N/m |
| Rear Left · RL unsprung mass | 32 | kg |
| Rear Left · RL tire stiffness | 115000 | N/m |
| Rear Right · RR unsprung mass | 33 | kg |
| Rear Right · RR tire stiffness | 117000 | N/m |
Relationship to Half-Car and verification
The retained equivalent-vertical Full-Car reference reduces exactly to Half-Car with symmetric inputs and split axle properties. The geometry-coupled model approaches that reference at small amplitude when its design wheel stiffness and damping are matched; finite travel uses geometry-dependent motion ratios.
Historical FC-001 through FC-008 verify exact zero equilibrium, left/right symmetry, exact Half-Car reduction, independent M/K/C free/forced state-space agreement, fourth-order RK4 convergence, hand-derived signs, Worker transfer integrity and strict rejection without fallback. The existing 5,003-point literature reproduction remains unchanged. Numerical verification does not establish measured vehicle correlation.
Half-Car Study · Numerical method · Verification & Validation· Road & Traversal evidence
Import an external OpenCRG road
- Select Full Car, Spatial road traversal, then Import OpenCRG. Drop a .crg file or use the keyboard-accessible Choose .crg file button.
- Choose a local .crg file. A dedicated browser Worker reads it; no server upload or conversion is needed.
- Inspect the source SHA-256, normalized Road SHA-256, representation, dimensions, domains and elevation range.
- Set speed, start position and lateral offset so every FL/FR/RL/RR contact remains within the grid for the whole simulation. Run stays disabled for an invalid footprint.
- Run, inspect six Response plots and 16 metrics, then select Motion and Vehicle.
- Export result CSV, absolute Road Excitation CSV, provenance JSON and Engineering Report. Re-import the original file in a new session; project.v1 cannot save spatial roads.
ASAM OpenCRG import — supported subset: one complete regular longitudinal grid, increasing lateral cuts, a straight reference line, finite elevation values in m/cm/mm, LRFI/LDFI ASCII or big-endian IEEE KRBI/KDBI binary. Bilinear interpolation preserves exact stored nodes. Bounds are inclusive; outside queries reject. Curvature, nonzero slope/bank, missing heights, geographic conversion, modifiers, external file references and extrapolation are rejected. The imported displacement datum is explicitly 0 m; no smoothing, mean removal or initial-height offset is applied.
Limits: 32 MiB source, 256 KiB header, 100,001 longitudinal rows, 1,025 lateral cuts, 2,000,000 elevations and 16,008,200 normalized bytes. Display terrain alone is capped at 513 × 65 nodes; the full Float64 grid supplies the solver. Source bytes and file handles are released after import. Source identity includes exact bytes; normalized Road identity includes physical grid/interpolation semantics. Renaming identical bytes leaves completed results Current; a different source representation makes them stale even when normalized elevations match.
Audited against ASAM OpenCRG 2.0.1(19 May 2026) and its official specification. This subset is numerically verified; it is not ASAM certification or measured vehicle validation.
Spatial Engineering Video and presentation
From completed Spatial results, choose Export Video for a local deterministic Wide or Vertical Drive-over-Road video. Procedural and supported-subset OpenCRG records use the same completed road, traversal and response; no simulation or road import occurs during export. Rig video remains unavailable.
Full-Car Vehicle views share 3/4, Side, Front, Rear and Suspension cameras, orbit, pan, wheel zoom, Fit scene and Reset view. Expand viewport enlarges the existing surface without losing playback; Restore or Escape returns to the split workflow. Vertical Display Scale and live View Distance have been removed. Road appearance offers Engineering and Asphalt materials without changing road or simulation values. Video uses its own explicit camera and distance with the previous fixed envelope fit and Engineering road material. Interactive navigation and road materials never enter publishing settings. The active exterior and See-through body selection are captured for export. The Model view schematic retains Auto. Physical readouts stay unscaled; project.v1 remains definition-only.
Spatial Vehicle also offers Chase and Fixed. Suspension selects Front Left, Front Right, Rear Left or Rear Right, fits that corner's actual solved mechanism and follows it through the spatial traversal. Hardpoint coordinates, spring/damper lengths, incremental compression and signed motion ratios come from the same completed geometry. Suspension is not a video preset; video retains its five established camera transforms.
See Engineering Video Export for cards, provenance, WebGL requirements, local codec fallback and limitations.
Opt-in unilateral vertical tire contact
Vehicle → Tire Physics offers Unilateral Vertical Contact alongside the default Legacy Linearized Tire. Static preload gives a positive equilibrium normal load; compression-only forces permit lift-off and re-contact. The selected model changes every RK4 stage and round-trips through Full-Car Project Save/Open. Separate contact diagnostics, plots and CSV retain the original 34-channel response contract. Tire Lab, equations, numerical qualification and limitations describe the shared implementation. The following historical limitations describe the default legacy formulation.
Assumptions and limitations
- Passive Full-Car with rigid Double-Wishbone kinematic force mapping: sprung-body heave, pitch and roll plus four independent unsprung vertical motions (7 DOF / 14 interleaved states).
- Small pitch/roll increments from the supplied design datum; upward heave, nose-up pitch and left-side-up roll. Body attachments: front z + a*theta, rear z - b*theta, with left + track/2*phi and right - track/2*phi.
- Four independent prescribed temporal corner road inputs. They are not a traveling spatial road surface; no spatial-road reconstruction.
- Linear installed spring/damper elements and tire stiffness; geometry-dependent passive corner forces. Fixed-heading chassis-forward-projection constraint; no tie rod, steering linkage, true toe/K&C, compliance bushings, chassis flexibility, bump/rebound stops, static preload/gravity ride-height solve or tire contact-loss mechanics.
- No lateral dynamics, yaw, longitudinal tire dynamics or active control.
- Generic passenger-car preset has no measured-vehicle correlation or production-vehicle validation claim. Independent numerical verification is not physical validation.
- Full-Car release 1.19.0 Rig supports Transient Study with completed-evidence Model and Vehicle Motion and Report/data. Rig Engineering Video, Frequency, Explore and Compare remain unavailable.
Procedural workflow limitations
- Passive Full-Car with rigid Double-Wishbone kinematic force mapping: sprung-body heave, pitch and roll plus four independent unsprung vertical motions (7 DOF / 14 interleaved states).
- Small pitch/roll increments from the supplied design datum; upward heave, nose-up pitch and left-side-up roll. Body attachments: front z + a*theta, rear z - b*theta, with left + track/2*phi and right - track/2*phi.
- Linear installed spring/damper elements and tire stiffness; geometry-dependent passive corner forces. Fixed-heading chassis-forward-projection constraint; no tie rod, steering linkage, true toe/K&C, compliance bushings, chassis flexibility, bump/rebound stops, static preload/gravity ride-height solve or tire contact-loss mechanics.
- No lateral dynamics, yaw, longitudinal tire dynamics or active control.
- Generic passenger-car preset has no measured-vehicle correlation or production-vehicle validation claim. Independent numerical verification is not physical validation.
- Full-Car release 1.19.0 supports Rig and Spatial Transient Study, Response, Motion and Engineering Report; Engineering Video is available for completed Spatial road traversal only. Frequency, Explore and Compare remain unavailable.
- Straight constant-speed CG traversal derives nominal contact elevations from analytical Flat, Raised cosine or Sine road definitions. Speed is kinematic; no longitudinal, lateral/yaw or steering dynamics.
- Absolute road elevations are retained in excitation evidence; the surface baseline is the explicit datum for equilibrium-relative vehicle inputs. No tire contact patch, obstacle enveloping, deformation, slip or contact loss.
- Drive-over-Road uses a stationary bounded display mesh and a translating vehicle. Double-Wishbone mechanisms, road and wheel travel use uniform physical scale; rigid links retain closure. The body shell is stylized. The renderer does not integrate dynamics.
- This report uses a procedural road. No measured-road correlation is claimed. Spatial Road persistence is unavailable in vehiclelab.project.v1.
Imported-road limitations
- Passive Full-Car with rigid Double-Wishbone kinematic force mapping: sprung-body heave, pitch and roll plus four independent unsprung vertical motions (7 DOF / 14 interleaved states).
- Small pitch/roll increments from the supplied design datum; upward heave, nose-up pitch and left-side-up roll. Body attachments: front z + a*theta, rear z - b*theta, with left + track/2*phi and right - track/2*phi.
- Linear installed spring/damper elements and tire stiffness; geometry-dependent passive corner forces. Fixed-heading chassis-forward-projection constraint; no tie rod, steering linkage, true toe/K&C, compliance bushings, chassis flexibility, bump/rebound stops, static preload/gravity ride-height solve or tire contact-loss mechanics.
- No lateral dynamics, yaw, longitudinal tire dynamics or active control.
- Generic passenger-car preset has no measured-vehicle correlation or production-vehicle validation claim. Independent numerical verification is not physical validation.
- Full-Car release 1.19.0 supports Rig and Spatial Transient Study, Response, Motion and Engineering Report; Engineering Video is available for completed Spatial road traversal only. Frequency, Explore and Compare remain unavailable.
- ASAM OpenCRG import — supported subset: LRFI/LDFI fixed-width ASCII and KRBI/KDBI big-endian binary elevation grids, regular longitudinal sampling and ordered lateral cuts. Importer vehiclelab.opencrg-importer v0.1.0; subset vehiclelab.opencrg-supported-subset v1. No universal compliance or ASAM certification.
- Normalized Float64 sampled surface uses deterministic bilinear interpolation, exact grid nodes and strict bounds. Every nominal four-contact path must remain inside the imported domain. No filtering, smoothing, extrapolation, tire enveloping or contact-patch physics.
- Reference-line curvature, nonzero slope/banking/reference elevation offsets, modifier chains, external files, georeferencing, missing elevations, wrapping and non-elevation surfaces are unsupported. Speed is kinematic; no steering, yaw or curved vehicle path.
- Source bytes are fingerprinted before parsing; source identity differs from the normalized Road fingerprint. Processing is local in a dedicated browser Worker. Project persistence remains unavailable in vehiclelab.project.v1; provenance JSON references the source rather than embedding the sampled grid.
- Drive-over-Road samples the normalized evaluator with bounded display decimation and retained corridor extrema. Detailed roads may exceed display resolution; the full Float64 grid remains authoritative. The same completed Double-Wishbone mechanism uses uniform physical scale. No renderer dynamics, tire correlation or measured-vehicle validation.