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.
The$\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 (
MovingHorizonEstimator(MHE) can "easily" support states that are purely deterministic, that is, undisturbed by the process noiselength(ŵ) ≠ 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.