JuliaControl / JuliaControl/ModelPredictiveControl.jl
Support zero process noise in `MovingHorzionEstimator`
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Julia
- Sterne
- 135
- Forks
- 9
- Ø Merge
- 17 Std. 35 Min.
- Gemergte PRs (30 T.)
- 16
Beschreibung
The MovingHorizonEstimator (MHE) can "easily" support states that are purely deterministic, that is, undisturbed by the process noise $\mathbf{w}(k)$. It leads to an estimation problem with the estimated process noise vector with a different number of element that the estimated state vector (length(ŵ) ≠ length(x̂)).
This is advantageous in the MHE since it drastically reduces the number of decision variables. This also something that is typically not well supported by the other state estimators, producing numerical and conditioning issues.
The refactor job should be of intermediate difficulty, since right now I explicitly differentiate the number of elements in the two vectors (I did this exactly to eventually support this feature). The number of elements of the process noise vector is already distinct in the code, which is currently denoted with nŵ.
In term of API, the most intuitive way of supporting this feature would be to detect that one row and one column in the estimated process noise covariance $\mathbf{\hat{Q}}$ is entirely made of zeros.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, die Implementierung von MovingHorizonEstimator und die Verwendung der Prozessrauschdimension nŵ und der Kovarianz Q̂ nachzuverfolgen. Bestätige, wie eine vollständig aus Nullen bestehende Zeile und Spalte in Q̂ deterministische Zustände kennzeichnen sollte, und überprüfe anschließend, dass der Schätzer unterschiedliche Längen für ŵ und x̂ unterstützt, ohne zusätzliche Entscheidungsvariablen einzuführen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- julia
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 48/100