Skip to content

Commit a34030e

Browse files
committed
doc addition
1 parent 9ad409b commit a34030e

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

docs/src/manual/linmpc.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,15 @@ in which `Hp` and `Hc` keyword arguments are respectively the predictive and con
7474
horizons, and `Mwt` and `Nwt`, the output setpoint tracking and move suppression weights. By
7575
default, [`LinMPC`](@ref) controllers use [`OSQP`](https://osqp.org/) to solve the problem,
7676
soft constraints on output predictions ``\mathbf{ŷ}`` to ensure feasibility, and a
77-
[`SteadyKalmanFilter`](@ref) to estimate the plant states. An attentive reader will also
77+
[`SteadyKalmanFilter`](@ref) to estimate the plant states[^1]. An attentive reader will also
7878
notice that the Kalman filter estimates two additional states compared to the plant model.
7979
These are the integrators for the unmeasured plant disturbances, and they are automatically
8080
added to the model outputs by default if feasible (see [`SteadyKalmanFilter`](@ref)
8181
for details).
8282

83+
[^1]: We could have use an [`InternalModel`](@ref) structure to avoid state estimator design.
84+
It was tested on the example of this page and it gives similar results.
85+
8386
Before closing the loop, we call [`initstate!`](@ref) with the actual plant inputs and
8487
measurements to ensure a bumpless transfer. Since `model` simulates our plant here, its
8588
output will initialize the states. [`LinModel`](@ref) objects are callable for this purpose

0 commit comments

Comments
 (0)