model
Tests.AidingHorizonRefusals.ShortHorizon
A horizon that does not cover the slowest declared source plus margin
Must NOT run. A 50 ms horizon in front of a source declared to deliver 110 ms late reaches that source's timestamps only long after they have passed, so every one of its packets is refused as late. Aiding from the slowest source is then simply off, and the fault reported is per-measurement rather than the configuration error it is.
PX4 states the same relation for the same reason:
EKF2_DELAY_MAX, the delay between now and its delayed-time
horizon, is documented as needing to be at least as large as the largest
EKF2_XXX_DELAY. This is that rule with jitter headroom, and
it refuses rather than advises.
Base classes
Tests.AidingHorizonRefusals.Arm
Follow base classes for inherited declarations; this page lists explicit declarations only.
Modelica declarations and implementation
Show parameters, interfaces and source
Parameters, inputs, outputs, defaults and equations from the source file.
model ShortHorizon
"A horizon that does not cover the slowest declared source plus margin"
extends Tests.AidingHorizonRefusals.Arm(
fusionHorizon_s = 0.05,
maximumSourceDelay_s = 0.11,
horizonJitterMargin_s = 0.05);
annotation(experiment(StartTime=0.0, StopTime=0.05,
Tolerance=1.0e-8, Interval=0.00125),
Documentation(info="<html>
<p>Must NOT run. A 50 ms horizon in front of a source declared to deliver
110 ms late reaches that source's timestamps only long after they have
passed, so every one of its packets is refused as late. Aiding from the
slowest source is then simply off, and the fault reported is
per-measurement rather than the configuration error it is.</p>
<p>PX4 states the same relation for the same reason:
<code>EKF2_DELAY_MAX</code>, the delay between now and its delayed-time
horizon, is documented as needing to be at least as large as the largest
<code>EKF2_XXX_DELAY</code>. This is that rule with jitter headroom, and
it refuses rather than advises.</p>
</html>"));
end ShortHorizon;