Repository navigation
Add a GNSS outage duration setting - #11
Merged
Merged
Conversation
An outage started by faults.outageProbability lasted to the end of the run. That allowed no test of filter recovery after GNSS returns. faults.outageDurationSec ends each outage after that many seconds. After it ends, the outage probability applies again. A missing or zero value keeps the old behavior, so existing runs do not change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
PR #8 adds a test at the same place in the file. Moving this one up lets the two PRs merge in either order. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
JaidenAGrimminck
approved these changes
Oct 16, 2026
JaidenAGrimminck
left a comment
Member
There was a problem hiding this comment.
might change this to an adjustable interval within the scenario or something; still figuring that out but seems good for now.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
faults.outageProbabilitystarts a GNSS outage with that chance on each fix. Once it starts,inOutagestays true to the end of the run. With a 0.01 probability at 10 Hz, an outage starts after about 10 s, and the fix does not return during a 600 s run.That allows no test of how a filter recovers after GNSS returns.
docs/autonomy-platform-gap-analysis.mdlists outage recovery as a localization metric to add.The scenario
sensor-stateaction can disable GNSS for a set time, but that makes the sensor go silent. A real receiver that loses lock publishesSTATUS_NO_FIXinstead.Change
New optional setting
calibration.faults.outageDurationSec:outageProbabilitycan start a new outage.The setting is not added to normalization, so normalized manifests and their hashes do not change. The Config page shows it under the GNSS advanced fields as "Outage duration (s, 0 = rest of run)".
docs/run-manifests.mdlists it in the GNSS row.Tests
tests/localization-sensors.test.js: a 0.5 s outage at 10 Hz gives five no-fix samples and then valid fixes. With the setting missing or 0, the outage continues for all 20 samples. The timed case fails without this change.npm teston a clean checkout: 1965 pass, 6 skipped, 1 fail. The failure isPython decodes retained RGB, depth, and CameraInfo SFLog messages, which also fails onmain.Question for review
Was the permanent outage intended? If so, this keeps it as the default. If not, the default could become a finite duration in a later change.
🤖 Generated with Claude Code