@@ -186,9 +186,9 @@ N_k = \begin{cases}
186186```
187187The vectors ``\m athbf{Ŵ}`` and ``\m athbf{V̂}`` encompass the estimated process noise
188188``\m athbf{ŵ}(k-j)`` and sensor noise ``\m athbf{v̂}(k-j)`` from ``j=N_k-1`` to ``0``. The
189- Extended Help defines the two vectors. See [`UnscentedKalmanFilter`](@ref) for details on
190- the augmented process model and ``\m athbf{R̂}, \m athbf{Q̂}`` covariances. The matrix
191- ``\m athbf{P̂}_{k-N_k}(k-N_k+1)`` is estimated with an [`ExtendedKalmanFilter`](@ref).
189+ Extended Help defines the two vectors and the scalar ``ϵ`` . See [`UnscentedKalmanFilter`](@ref)
190+ for details on he augmented process model and ``\m athbf{R̂}, \m athbf{Q̂}`` covariances. The
191+ matrix ``\m athbf{P̂}_{k-N_k}(k-N_k+1)`` is estimated with an [`ExtendedKalmanFilter`](@ref).
192192
193193!!! warning
194194 See the Extended Help if you get an error like:
@@ -244,6 +244,10 @@ MovingHorizonEstimator estimator with a sample time Ts = 10.0 s, Ipopt optimizer
244244 \m athbf{x̂}_k(k-j+1) &= \m athbf{f̂}\B ig(\m athbf{x̂}_k(k-j), \m athbf{u}(k-j), \m athbf{d}(k-j)\B ig) + \m athbf{ŵ}(k-j)
245245 \e nd{aligned}
246246 ```
247+ The slack variable ``ϵ`` relaxes the constraints if enabled, see [`setconstraint!`](@ref).
248+ It is disabled by default for the MHE (from `Cwt=Inf`) but it should be activated for
249+ problems with two or more types of bounds, to ensure feasibility (e.g. on the estimated
250+ state and sensor noise).
247251
248252 For [`LinModel`](@ref), the optimization is treated as a quadratic program with a
249253 time-varying Hessian, which is generally cheaper than nonlinear programming. For
@@ -317,10 +321,10 @@ noise ``\mathbf{ŵ}`` and sensor noise ``\mathbf{v̂}``:
317321and also ``ϵ ≥ 0``. All the constraint parameters are vector. Use `±Inf` values when there
318322is no bound. The constraint softness parameters ``\m athbf{c}``, also called equal concern
319323for relaxation, are non-negative values that specify the softness of the associated bound.
320- Use `0.0` values for hard constraints. The process and sensor noise constraints are all soft
321- by default. Notice that constraining the estimated sensor noises is equivalent to bounding
322- the innovation term, since ``\m athbf{v̂}(k) = \m athbf{y^m}(k) - \m athbf{ŷ^m}(k)``. See
323- Extended Help for details on model augmentation and time-varying constraints.
324+ Use `0.0` values for hard constraints (default for all of them). Notice that constraining
325+ the estimated sensor noises is equivalent to bounding the innovation term, since
326+ ``\m athbf{v̂}(k) = \m athbf{y^m}(k) - \m athbf{ŷ^m}(k)``. See Extended Help for details on
327+ model augmentation and time-varying constraints.
324328
325329# Arguments
326330!!! info
0 commit comments