package
Tests
Assertion-based tests for the reusable Modelica libraries
Executable examples and checks
These Modelica classes exercise numerical primitives, geometry, filter interfaces and replay boundaries. Assertions state the expected invariant; replay classes expose dynamic inputs for generated-code validation.
- PreintegrationReplay: IMU increment composition.
- CorrelatedGpsTests: correlated held-input GPS correction.
- SyntheticLandmarkReplay: camera projection and visibility.
- VisualNavigationReplay: sequential loose/tight visual aiding.
Root-level test classes are not a replacement for vehicle missions. Those live under each vehicle's Test package and combine plant, controller and sensor behavior. A numerical assertion, a compiler export check and a flight qualification answer different questions.
Members
| Name | Kind | Description |
|---|---|---|
| Assertions | package | Small dimension-generic helpers used by test assertions |
| RuleChecks | package | Central-difference oracles and residual drivers for the LieGroups derivative rules |
| HorizonChecks | package | Residual drivers for the delayed fusion horizon and its output predictor |
| LinearAlgebraTests | model | Generic matrix sizes, success paths, and failure paths |
| LieGroupsTests | model | Core group identities, charts, Jacobians, and edge cases |
| LieGroupTests | package | Detailed Lie-group behavioral and numerical tests |
| JacobianRuleTests | package | LieGroups closed-form derivative rules against central differences |
| RetrodictJacobianTests | model | Chained LieGroups rules against retrodict and against the ESKF transition |
| EstimationTests | model | Initialization, prediction, correction, and failure invariants |
| StrapdownESKFTests | model | Aided strapdown INS ESKF prediction, covariance, correction, and interfaces |
| CorrelatedGpsTests | model | Held-input uncertainty and correlated delayed GPS correction |
| StrapdownUKFTests | model | Manifold UKF sigma-point, prediction, correction, and rejection regressions |
| UKFHoverCodegen | block | Native codegen regression: symmetric sigma points must preserve hover |
| StrapdownPreintegrationTests | model | Closed-form IMU composition, bias Jacobian, and filter packet regressions |
| StrapdownPreintegrationJacobianTests | model | Derivatives of composed held and FOH increments, including the position channel |
| PreintegrationHoldStudy | model | Zero-order versus first-order-hold IMU composition against fine-grid truth |
| PreintegrationReplay | block | 800 Hz FOH preintegration for the external comparison harness |
| PreintegrationNoiseReplay | block | Held-input covariance used by preintegrated prediction |
| CovarianceRootReplay | block | |
| RawPredictionReplay | block | |
| CovarianceRootTests | model | |
| RotorVibrationHoverStudy | model | Inertial mechanization error of the RDD2 plant hovering under rotor vibration |
| OpticalFlowPlaneTests | model | Plane-induced flow, slant range, and analytic range-Jacobian checks |
| SensorCorrectionTests | model | Barometer, terrain, magnetometer, and optical-flow structure checks |
| HeadingConsiderTests | model | Heading fusion preserves considered states and a positive covariance |
| MagneticVectorTests | model | Symmetric magnetic output has cubic error and respects the field's nullspace |
| AlignmentCovarianceTests | model | Gravity alignment retains yaw uncertainty and attitude-bias correlation |
| MultisensorAidingTests | model | Simultaneous aiding, exactly-once consumption, and independent rejection health |
| StationaryAidingTests | model | Declared rest fuses alongside live aiding and ends when released |
| StrapdownEstimatorInterfaceTests | model | Both algorithms instantiate and execute through the common replaceable boundary |
| StrapdownGpsSeedTests | model | |
| StrapdownGpsSeedTimestampTests | model | |
| HorizonPredictorTests | model | Algebraic identities the delayed fusion horizon and its predictor rest on |
| HorizonInterfaceTests | model | The output predictor tracks a dead-reckoning reference at the inertial rate across a horizon correction taken ON a release boundary |
| HorizonResetTests | model | The packet epoch is re-anchored by a mid-run reset and never drifts from the buffer it describes |
| HorizonBiasSupervisionTests | model | The bias move is bounded and reported, and the drift the incremental path does not carry is bounded by a forced re-base |
| HorizonRefusals | package | Configurations the fusion horizon must REFUSE, one model each |
| AidingHorizonTests | model | Aiding measurements reach the filter at the fusion instant their own timestamps name, in order, with a bounded residual, and nothing is lost |
| AidingHorizonRefusals | package | Configurations Estimation.FusionHorizon.AidingBuffer must refuse |
| HorizonEstimatorWiring | model | The same fusion horizon carries an ESKF and a manifold UKF unchanged |
| EstimatorHealthTests | model | Precision-scaled pivoting, variance limiting, gating, and auto-reinit |
| EstimatorHardeningTests | model | Affirmative acceptance, per-channel NaN rejection, and window semantics |
| VerificationTests | model | Proof-facing vector-field, storage, chart-domain, and contraction identities |
| PlanningTests | model | Dubins family, endpoint, optimality, invariance, and forward-motion tests |
| BezierTests | model | Bezier endpoint and multirotor flatness tests |
| LogLinearTests | model | Multirotor log-linear controller tests |
| PositionLoopStabilityTests | model | Closed-loop stability of the log-linear horizontal position loop |
| ManualGuidanceTests | model | Properties of the pilot stick shaping, ramp, leash, and mode switch |
| ManualGuidanceDynamics | model | Time-domain behaviour of the manual guidance source and the mode switch |
| GeodesyTests | model | Local-frame and geodetic conversion tests |
| MultirotorInnerLoopTests | model | Multirotor body-rate and allocation tests |
| Cubs2EstimatorTests | model | Mocap dropout propagation and bounded recovery without estimator modes |
| DynamicsTests | package | Dynamic rigid-body tests with terminal assertions |
| All | model | Complete Modelica assertion suite |
| AidingQueueTests | model | A ripe arrival at an empty release is delivered once without a queue write |
| SemiDirectBiasReplay | block | Deployment-export probe for the experimental semi-direct correction |
| SemiDirectBiasCorrectionReplay | block | Deployment-export probe for the complete optional bias-aware correction |
| SquareRootCorrectionReplay | block | Deployment probe for correlated square-root corrections and constrained gains |
| BarometerConsiderReplay | block | Deployment probe for a pressure datum retained as a consider state |
| VisualTangentReplay | block | Visual error-basis and actual Lie injection qualification |
| VisualLandmarkReplay | block | RGB-D observation and Lie injection qualification |
| VisualCouplingReplay | block | Matched Modelica fixed-map loose and tight visual updates |
| VisualNavigationReplay | block | Sequential fixed-map visual and GPS aiding comparison |
| SyntheticLandmarkReplay | block | Synthetic landmark camera qualification entrypoint |
| RegistrationWeightedTests | model | |
| RGBDLoopConsistencyTests | model | |
| ObservabilityConstrainedPredictionTests | model | Held-interval prediction keeps the carried global-yaw direction unobservable across corrections |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
package Tests "Assertion-based tests for the reusable Modelica libraries"
annotation(uses(
Avionics,
Control,
Estimation,
Geodesy,
LieGroups,
LinearAlgebra,
Planning,
Polynomials,
RigidBody,
Vehicles),
Documentation(info = "<html>
<h4>Executable examples and checks</h4>
<p>These Modelica classes exercise numerical primitives, geometry, filter
interfaces and replay boundaries. Assertions state the expected invariant;
replay classes expose dynamic inputs for generated-code validation.</p>
<ul>
<li><a href=\"modelica://Tests.PreintegrationReplay\">PreintegrationReplay</a>:
IMU increment composition.</li>
<li><a href=\"modelica://Tests.CorrelatedGpsTests\">CorrelatedGpsTests</a>:
correlated held-input GPS correction.</li>
<li><a href=\"modelica://Tests.SyntheticLandmarkReplay\">SyntheticLandmarkReplay</a>:
camera projection and visibility.</li>
<li><a href=\"modelica://Tests.VisualNavigationReplay\">VisualNavigationReplay</a>:
sequential loose/tight visual aiding.</li>
</ul>
<p>Root-level test classes are not a replacement for vehicle missions. Those
live under each vehicle's Test package and combine plant, controller and
sensor behavior. A numerical assertion, a compiler export check and a flight
qualification answer different questions.</p>
</html>"));
end Tests;