JuliaControl / JuliaControl/ModelPredictiveControl.jl

Support zero process noise in `MovingHorzionEstimator`

Aperta
#349 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Lingua principale
Julia
Stelle
135
Fork
9
Merge medio
17h 35m
PR unite (30g)
16

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando l'implementazione di MovingHorizonEstimator e il modo in cui utilizza la dimensione del rumore di processo nŵ e la covarianza Q̂. Conferma come una riga e una colonna interamente nulle in Q̂ debbano identificare gli stati deterministici, quindi verifica che lo stimatore supporti lunghezze diverse per ŵ e x̂ senza introdurre variabili decisionali aggiuntive.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
julia
Ambito
backend
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.