Repository navigation
Conversation
This branch has not been deployed
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.
Reference issue
No existing open issue. This corrects the prediction transpose order in the existing EKF SLAM example; it is separate from the full-state covariance dimensions fixed in #973.
What does this implement/fix?
jacob_motionreturns the Jacobian of the column-vector state transition. The prediction covariance must therefore beG @ PEst @ G.T, notG.T @ PEst @ G.For example, with zero heading, velocity 2 m/s,
DT=0.1, and only heading variance initially nonzero (diag(0, 0, 1)), the motion should contribute 0.04 to the y variance and 0.2 to the y/heading covariance. The current multiplication order leaves both at zero.This changes the EKF's numerical covariance predictions and, consequently, its updates and data associations. It does not change the motion model, noise settings, default parameters, or public API.
motion_model, covering three headings, zero/one/two landmarks, dense pose/map cross-covariances, and moving/stationary controls.Additional information
Validation on Linux with the repository's pinned requirements:
git diff --check: passed.bash runtests.sh(including mypy, changed-file Ruff, and warnings-as-errors): 174 passed in 338.11s with BLAS/OMP threads limited to one.make html: passed; generated HTML includes the corrected equation/code and remains linked from the SLAM parent page. Browser visual inspection was not available because the local browser's Unix socket was restricted by the execution sandbox.CheckList