Section 10Simulation Runtime

Mechanics System requirements

Defines the Rust-native rigid and articulated mechanics contract, contact behavior, dynamic-analysis queries, diagnostics, and future mechanics backends.

Section relationships
IDNamePriorityRequirementVerification
MECH-001Double-precision baselineMVPThe default engineering mechanics path SHALL support 64-bit floating-point state and parameters.Test
MECH-002Rust-native default backendMVPThe portable distribution SHALL provide a Rust-native mechanics backend that passes the MVP mechanics conformance and qualification suites.Demonstration
MECH-003Body modesMVPThe default backend SHALL support dynamic, static, and kinematic rigid bodies.Test
MECH-004Mass propertiesMVPMechanics SHALL use explicit mass, center of mass, and positive-definite inertia tensor for dynamic bodies.Test
MECH-005External wrenchMVPA device or environment model SHALL be able to apply force and torque to a body at a specified frame and point.Test
MECH-006Collision primitivesMVPThe default backend SHALL support box, sphere, capsule, and cylinder collision shapes.Test
MECH-007Convex collisionMVPThe default backend SHALL support convex collision geometry.Test
MECH-008Static mesh collisionMVPThe default backend SHALL support documented static triangle-mesh and terrain collision use.Test
MECH-009Continuous collision detectionMVPBodies explicitly configured for continuous collision detection SHALL use it for the backend's documented velocity, shape, and timestep envelope.Test
MECH-010Fixed jointMVPMechanics SHALL support a fixed relative constraint between two bodies or a body and world.Test
MECH-011Revolute jointMVPMechanics SHALL support a one-axis revolute joint with limits, viscous damping, and drive input.Test
MECH-012Continuous jointMVPMechanics SHALL support an unlimited one-axis rotational joint.Test
MECH-013Prismatic jointMVPMechanics SHALL support a one-axis translational joint with limits, viscous damping, and drive input.Test
MECH-014Ball jointBetaMechanics SHALL support a three-axis rotational joint with documented limit behavior.Test
MECH-015Articulated treeMVPThe default backend SHALL simulate a tree-structured articulated robot.Test
MECH-016Closed-loop mechanismBetaAt least one mechanics backend SHALL support documented closed kinematic loops or loop-closing constraints.Test
MECH-017Joint stateMVPMechanics SHALL expose joint position, velocity, applied command, limits, and available reaction information.Test
MECH-018Joint driveMVPThe default backend SHALL support documented position, velocity, and effort joint-drive modes with explicit command and effort limits.Test
MECH-019Contact generationMVPMechanics SHALL expose contact point, normal, penetration or separation measure, involved shapes, and available impulse or force estimate.Test
MECH-020Surface frictionMVPContact response SHALL use explicit surface or material-pair friction parameters and a documented combination rule.Test
MECH-021RestitutionMVPContact response SHALL support a documented coefficient-of-restitution model and combination rule.Test
MECH-022Wet-friction contact updateMVPThe default mechanics contract SHALL accept committed material-pair friction updates derived from surface wetness at documented scheduling boundaries.Test
MECH-023Compliant contactBetaAt least one engineering profile SHALL support a calibrated compliant-contact model for documented applications.Analysis
MECH-024Advanced frictionFutureAn engineering backend MAY support separate static and dynamic friction, Stribeck behavior, anisotropy, rolling resistance, and torsional resistance.Analysis
MECH-025Collision filteringMVPA model SHALL be able to enable or suppress collision by explicit groups and pair rules.Test
MECH-026Scene queriesMVPThe mechanics contract SHALL support ray casts, shape casts, and overlap queries required by sensors and tools.Test
MECH-027Contact eventsMVPThe mechanics backend SHALL produce deterministic contact-begin, current-contact, and contact-end observations under a documented policy.Test
MECH-028Solver convergence diagnosticsMVPEach default-backend step SHALL expose actual iteration counts, at least one documented convergence or constraint-error residual, joint error, maximum penetration, active-constraint count, iteration-limit hits, stabilization settings, and the applied unconverged-step warning or failure policy.Test
MECH-029Energy diagnosticsMVPThe default mechanics backend SHALL expose kinetic and potential energy diagnostics sufficient for the approved analytical and reference-rover benchmarks.Analysis
MECH-030Backend snapshot contractMVPThe selected default mechanics backend SHALL participate in complete kernel checkpoint and restore.Test
MECH-031Mechanics capability reportMVPA backend SHALL report supported shapes, joints, contacts, precision, determinism, snapshot, and diagnostic capabilities.Inspection
MECH-032Second-backend conformanceBetaAny second production mechanics backend SHALL pass the shared mechanics capability and benchmark suite before release.Analysis
MECH-033Deformable body backendFutureBeforeMetal MAY support beams, shells, cables, or volumetric deformables through a capability-scoped backend.Analysis
MECH-034Granular and soil backendFutureBeforeMetal MAY support granular media and deformable terrain through a capability-scoped backend.Analysis
MECH-035Structural failureFutureBeforeMetal MAY support calibrated yield, damage, breakage, fatigue, and fracture models with explicit validity limits.Analysis
MECH-036Derived mass propertiesMVPBeforeMetal SHALL derive mass, center of mass, and inertia from supported closed geometry and assigned density when requested, while retaining any explicit user override.Analysis
MECH-037Compound rigid bodyMVPA rigid body SHALL support multiple collision shapes and their local transforms without requiring artificial fixed joints.Test
MECH-038Force contribution diagnosticsBetaA user SHALL be able to inspect supported force and torque contributions by source, including gravity, contact, devices, and environment loads.Analysis
MECH-039General contact modificationBetaAt least one Engineering-profile mechanics backend SHALL expose capability-checked contact modification based on material, direction, temperature, speed, pressure, or other committed state.Test
MECH-040Evidence-declared wheel-terrain modelMVPThe reference rover SHALL use a documented wheel-terrain model covering longitudinal and lateral slip, rolling resistance, normal load, speed, wetness, parameter and evidence provenance, qualification status, and validity limits for the accepted mission envelope.Analysis
MECH-041Dynamic-analysis coordinate contractBetaEvery mechanics analysis request and result SHALL identify its source compiled scenario, committed state, and virtual time; ordered generalized position, tangent-velocity, acceleration, and force coordinates; canonical entity and degree-of-freedom mappings; units; frames or bases; and sign convention.Test
MECH-042Generalized mass matrixBetaAt least one portable General Robotics Beta mechanics profile SHALL expose a backend-neutral generalized mass-matrix query for a declared state and declared constraint and contact treatment using the MECH-041 coordinate contract.Analysis
MECH-043Bias and gravity decompositionBetaAt least one portable General Robotics Beta mechanics profile SHALL separately expose velocity-dependent inertial-bias and gravity generalized-force terms under a declared equation convention and SHALL identify whether passive, actuator, contact, constraint, and external-load terms are excluded or reported separately.Analysis
MECH-044Generalized-force mappingBetaAt least one portable General Robotics Beta mechanics profile SHALL map named body wrenches and joint loads to generalized forces and SHALL report included device, environment, contact, and constraint contributions separately by source where supported.Analysis
MECH-045Inverse dynamicsBetaAt least one portable General Robotics Beta mechanics profile SHALL compute required generalized effort from a declared state, requested generalized acceleration, and supported external loads and SHALL report equation convention, contact and constraint treatment, residual and status, and unavailable contributions.Analysis

Change rationale (MECH-040): A calibrated model remains permitted, but requiring project-specific calibration would reintroduce a physical-test dependency. The reference model now discloses whatever analytical, published, manufacturer, community, independent, or optional empirical evidence supports its parameters.

Change rationale (MECH-041MECH-045): Simulation execution alone does not expose the engineering quantities needed for model analysis, controls design, and system identification. The coordinate, mass, force-decomposition, force-projection, and inverse-dynamics obligations are independently falsifiable and therefore remain separate. At least one portable qualified profile must implement them, while alternate backends retain honest capability declarations rather than universal parity.

Generated from the canonical specification. Edit section metadata or prose in docs/requirements.md; the website rebuilds this page and its relationships automatically.