record
Estimation.StrapdownINS.ESKF.Tuning
Fixed filter tuning held constant across every estimator tick
Public declarations
Explicit source declarations; dimensions, modifications and defaults are shown as written, without evaluation.
| Role | Name | Type | Dimensions / attributes / default | Description |
|---|---|---|---|---|
| field | initialState | NominalState | | Nominal state used when no aiding source can seed initialization |
| field | initialVariances | Estimation.StrapdownINS.InitialVariances | | |
| field | processNoise | Estimation.StrapdownINS.ProcessNoise | | |
| field | varianceLimits | VarianceLimits | | |
| field | innovationGate | Real | | Per-degree-of-freedom NIS gate; non-positive disables |
| field | localMagneticFieldWorldEnu_T | Real | [3] | |
| field | useEquivariantMagnetometer | Boolean | = false | |
| field | useGeometricAlignment | Boolean | = false | |
| field | barometerBias_m | Real | | |
| field | barometerBiasVariance_m2 | Real | | |
| field | useBarometerBiasConsider | Boolean | = false | |
| field | useJointBarometerBias | Boolean | = false | |
| field | barometerBiasProcessNoise_m2_s | Real | = 0.0 | |
| field | maximumAidingDelay_s | Real | | |
| field | minimumOpticalFlowQuality | Real | | |
| field | minimumOpticalFlowGroundDistance_m | Real | | |
| field | covarianceInflateWindow_s | Real | | Wall-clock time the anchor source has been unable to move the state after which the position and velocity covariance begins ramping toward the mission envelope |
| field | covarianceInflateTimeConstant_s | Real | | e-folding time of that ramp; bounds how far one tick can widen the gate, and so how far one correction can move the state |
| field | aidingDivergentWindow_s | Real | | Wall-clock time after which the anchor is reported divergent; a status signal only, never a withdrawal of estimate.valid |
| field | aidingStaleTimeout_s | Real | | How long a source may go without a fresh sample before it stops counting as available for anchor selection. Bridges pulsed sensor wiring, where `valid` is asserted only on the ticks that carry a fix, and demotes a source that is permanently valid but never fresh |
| field | aidingReseedWindow_s | Real | | Wall-clock time the anchor source has been unable to move the state after which, on the next fresh finite anchor sample, the estimator re-seeds position (and velocity from a GPS sample that reports it) from that sample and restores the position and velocity covariance to the initial variances. Non-positive disables re-seeding; when enabled it must exceed aidingDivergentWindow_s, and any unusable value disables only the re-seed while leaving the rest of the ladder in force |
| field | initialAlignmentWindow_s | Real | | Unbroken quasi-static time required before the filter aligns its initial attitude from the IMU; non-positive aligns on the first usable sample |
| field | initialAlignmentTimeout_s | Real | | Time with a usable IMU after which a pending alignment is taken on the current sample even though the vehicle never held still for the window; non-positive waits indefinitely |
| field | quietSpecificForceTolerance_m_s2 | Real | | How far the specific-force magnitude may differ from gravity while the vehicle still counts as quasi-static |
| field | quietAngularRateLimit_rad_s | Real | | Angular-rate magnitude below which the vehicle counts as quasi-static |
| field | quietFilterTimeConstant_s | Real | | Time constant of the first-order low-pass the quasi-static test and the accelerometer alignment read the IMU through, so a noisy sensor still shows a resting vehicle; non-positive reads the raw samples |
| field | pseudoPositionVariance_m2 | Real | | Per-axis variance of the synthetic hold-position measurement fused while no anchor source is live; non-positive disables it |
| field | zeroVelocityVariance_m2_s2 | Real | | Per-axis variance of the synthetic zero-velocity measurement fused while quasi-static and unaided; non-positive disables it |
| field | stationaryVelocityVariance_m2_s2 | Real | = 0.01 | |
| field | useSemiDirectBias | Boolean | = false | |
| field | useStationaryImu | Boolean | = false | |
| field | useSquareRootCovariance | Boolean | = false |
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
record Tuning
"Fixed filter tuning held constant across every estimator tick"
NominalState initialState
"Nominal state used when no aiding source can seed initialization";
Estimation.StrapdownINS.InitialVariances initialVariances;
Estimation.StrapdownINS.ProcessNoise processNoise;
VarianceLimits varianceLimits;
Real innovationGate
"Per-degree-of-freedom NIS gate; non-positive disables";
Real localMagneticFieldWorldEnu_T[3];
Boolean useEquivariantMagnetometer = false;
Boolean useGeometricAlignment = false;
Real barometerBias_m;
Real barometerBiasVariance_m2;
Boolean useBarometerBiasConsider = false;
Boolean useJointBarometerBias = false;
Real barometerBiasProcessNoise_m2_s = 0.0;
Real maximumAidingDelay_s;
Real minimumOpticalFlowQuality;
Real minimumOpticalFlowGroundDistance_m;
Real covarianceInflateWindow_s
"Wall-clock time the anchor source has been unable to move the state
after which the position and velocity covariance begins ramping
toward the mission envelope";
Real covarianceInflateTimeConstant_s
"e-folding time of that ramp; bounds how far one tick can widen the
gate, and so how far one correction can move the state";
Real aidingDivergentWindow_s
"Wall-clock time after which the anchor is reported divergent; a
status signal only, never a withdrawal of estimate.valid";
Real aidingStaleTimeout_s
"How long a source may go without a fresh sample before it stops
counting as available for anchor selection. Bridges pulsed sensor
wiring, where `valid` is asserted only on the ticks that carry a
fix, and demotes a source that is permanently valid but never fresh";
Real aidingReseedWindow_s
"Wall-clock time the anchor source has been unable to move the state
after which, on the next fresh finite anchor sample, the estimator
re-seeds position (and velocity from a GPS sample that reports it)
from that sample and restores the position and velocity covariance
to the initial variances. Non-positive disables re-seeding; when
enabled it must exceed aidingDivergentWindow_s, and any unusable
value disables only the re-seed while leaving the rest of the ladder
in force";
Real initialAlignmentWindow_s
"Unbroken quasi-static time required before the filter aligns its
initial attitude from the IMU; non-positive aligns on the first usable
sample";
Real initialAlignmentTimeout_s
"Time with a usable IMU after which a pending alignment is taken on the
current sample even though the vehicle never held still for the
window; non-positive waits indefinitely";
Real quietSpecificForceTolerance_m_s2
"How far the specific-force magnitude may differ from gravity while the
vehicle still counts as quasi-static";
Real quietAngularRateLimit_rad_s
"Angular-rate magnitude below which the vehicle counts as quasi-static";
Real quietFilterTimeConstant_s
"Time constant of the first-order low-pass the quasi-static test and the
accelerometer alignment read the IMU through, so a noisy sensor still
shows a resting vehicle; non-positive reads the raw samples";
Real pseudoPositionVariance_m2
"Per-axis variance of the synthetic hold-position measurement fused while
no anchor source is live; non-positive disables it";
Real zeroVelocityVariance_m2_s2
"Per-axis variance of the synthetic zero-velocity measurement fused while
quasi-static and unaided; non-positive disables it";
Real stationaryVelocityVariance_m2_s2 = 0.01;
Boolean useSemiDirectBias = false;
Boolean useStationaryImu = false;
Boolean useSquareRootCovariance = false;
end Tuning;