Repository navigation
Add optional Kalman filter gain to dlqe - #1253
Closed
dongxuelian2 wants to merge 1 commit into
Closed
dongxuelian2 wants to merge 1 commit into
dongxuelian2 wants to merge 1 commit into
Conversation
Member
|
Automated PR violates AI Policy |
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.
dlqecurrently returns the predictor gain, which cannot directly perform the current measurement update. Addreturn_filter_form=Trueto return the measurement-update gain while preserving the existing default and return tuple. This follows the option proposed in the discussion of #1173.For the prior covariance
P, the filter gain isM = P C.T (C P C.T + RN)^-1and the predictor gain isL = A M. ComputeMwith a linear solve instead of recovering it by invertingA, so singular dynamics are supported. Both forms retain the prior covariance and the estimator poles ofA (I - M C).Forward the option and symmetry tolerances through
lqefor discrete-time systems. Document the estimate timing, both gain forms, the discrete Riccati equation, and prior versus posterior covariance. Tests cover analytical scalar cases, singular and nonsingular MIMO dynamics, an independent Joseph-form covariance iteration, both solver backends, and the matrix/StateSpace APIs.Validation:
git diff --checkpassed.The complete slow suite was stopped during unrelated optimization tests after more than ten minutes; the relevant slow estimator tests passed.
AI assistance: OpenAI Codex generated the implementation, tests, documentation, and this PR description, and ran the checks.
Fixes #1173