JuliaControl / JuliaControl/ModelPredictiveControl.jl

Support zero process noise in `MovingHorzionEstimator`

Offen
#349 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.