Handle zero USBL noise deviation - #57
Open
yeseorizi wants to merge 1 commit into
Open
Conversation
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.
Summary
Allow USBL transponders to use
sigma=0as a deterministic noise configuration instead of constructing an invalid C++ normal distribution.Problem
The checked-in USBL tutorial configures both transponders with:
UsblTransponder::sendLocation()always constructedstd::normal_distributionwith that standard deviation. On the tested libstdc++ build, the distribution enforcesstddev > 0, so the first ping aborted Gazebo:The reproduced baseline exited with code 134 and returned no USBL locations.
Change
sigma=0, use the configured mean as a deterministic per-axis offset without constructingstd::normal_distribution.sigma>0.No topic names, interrogation routing, coordinate conversion, or positive-sigma sampling behavior is changed.
Validation
The exact candidate source was compiled in the ARM64 DAVE environment with ROS 2 Lyrical and Gazebo Jetty.
The original two-transponder tutorial geometry was then run with
mu=0,sigma=0and common interrogation:6.13e-11 m6.13e-11 mA second run with
sigma=-1also stayed alive, returned the same deterministic geometry, and emitted one warning for each of the two invalid transponders.Repository checks:
Checklist
sigma=0crash