@@ -4,7 +4,7 @@ const COLLOCATION_NODE_TYPE = Float64
44Abstract supertype of all transcription methods for the optimal control/estimation problems.
55
66The module currently supports [`SingleShooting`](@ref), [`MultipleShooting`](@ref),
7- [`TrapezoidalCollocation`](@ref) and [`OrthogonalCollocation`](@ref) transcription methods .
7+ [`TrapezoidalCollocation`](@ref) and [`OrthogonalCollocation`](@ref) transcriptions .
88"""
99abstract type TranscriptionMethod end
1010abstract type ShootingMethod <: TranscriptionMethod end
@@ -15,19 +15,33 @@ abstract type CollocationMethod <: TranscriptionMethod end
1515
1616Construct a direct single shooting [`TranscriptionMethod`](@ref).
1717
18- The decision variable in the optimization problem is (excluding the slack ``ϵ`` and without
19- any custom move blocking):
18+ For [`MovingHorizonEstimator`](@ref) objects, the decision variable in the optimization
19+ problem is (excluding the slack ``ϵ``):
20+ ```math
21+ \m athbf{Z} =
22+ = \b egin{bmatrix}
23+ \m athbf{x̂}_k(k-N_k+p) \\
24+ \m athbf{Ŵ} \e nd{bmatrix}
25+ = \b egin{bmatrix}
26+ \m athbf{x̂}_k(k-N_k+p) \\
27+ \m athbf{ŵ}(k-N_k+p+0) \\
28+ \m athbf{ŵ}(k-N_k+p+1) \\
29+ \v dots \\
30+ \m athbf{ŵ}(k+p-1) \e nd{bmatrix}
31+ ```
32+ and, for [`PredictiveController`](@ref) types (without any custom move blocking):
2033```math
2134\m athbf{Z} = \m athbf{ΔU} = \b egin{bmatrix}
2235 \m athbf{Δu}(k+0) \\
2336 \m athbf{Δu}(k+1) \\
2437 \v dots \\
2538 \m athbf{Δu}(k+H_c-1) \e nd{bmatrix}
2639```
40+
2741This method computes the predictions by calling the augmented discrete-time model
28- recursively over the prediction horizon ``H_p`` in the objective function, or by updating
29- the linear coefficients of the quadratic optimization for [`LinModel`](@ref). It is
30- generally more efficient for small control horizon ``H_c`` , stable and mildly nonlinear
42+ recursively over the horizon in the objective function, or by updating the linear
43+ coefficients of the quadratic optimization for [`LinModel`](@ref). It is
44+ generally more efficient for small ``H_c`` or ``H_e`` values , stable and mildly nonlinear
3145plant model/constraints.
3246"""
3347struct SingleShooting <: ShootingMethod end
@@ -103,8 +117,8 @@ transcription method.
103117 Note that the stochastic model of the unmeasured disturbances is strictly discrete-time,
104118 as described in [`ModelPredictiveControl.init_estimstoch`](@ref). Collocation methods
105119 require continuous-time dynamics. Because of this, the stochastic states are transcribed
106- separately using a [`MultipleShooting`](@ref) method. See [`con_nonlinprogeq!`](@ref)
107- for more details.
120+ separately using a [`MultipleShooting`](@ref) method and by exploiting its linear
121+ structure. See [`con_nonlinprogeq!`](@ref) for more details.
108122"""
109123struct TrapezoidalCollocation <: CollocationMethod
110124 h:: Int
0 commit comments