Skip to content

Commit 293083d

Browse files
committed
table for predictive control nomenclature
1 parent db8c523 commit 293083d

File tree

1 file changed

+28
-17
lines changed

1 file changed

+28
-17
lines changed

src/predictive_control.jl

Lines changed: 28 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -146,24 +146,35 @@ Construct a linear predictive controller `LinMPC` based on [`LinModel`](@ref) `m
146146
147147
The controller minimizes the following objective function at each discrete time ``k``:
148148
```math
149-
\min_{\mathbf{ΔU}, ϵ} \mathbf{(R̂_y - Ŷ)}' \mathbf{M}_{H_p} \mathbf{(R̂_y - Ŷ)} +
150-
\mathbf{(ΔU)}' \mathbf{N}_{H_c} \mathbf{(ΔU)} +
151-
\mathbf{(R̂_u - U)}' \mathbf{L}_{H_p} \mathbf{(R̂_u - U)} + Cϵ^2
149+
\min_{\mathbf{ΔU}, ϵ} \mathbf{(R̂_y - Ŷ)}' \mathbf{M}_{H_p} \mathbf{(R̂_y - Ŷ)}
150+
+ \mathbf{(ΔU)}' \mathbf{N}_{H_c} \mathbf{(ΔU)}
151+
+ \mathbf{(R̂_u - U)}' \mathbf{L}_{H_p} \mathbf{(R̂_u - U)}
152+
+ C ϵ^2
152153
```
153-
in which :
154-
155-
- ``H_p`` : prediction horizon
156-
- ``H_c`` : control horizon
157-
- ``\mathbf{ΔU}`` : manipulated input increments over ``H_c``
158-
- ``\mathbf{Ŷ}`` : predicted outputs over ``H_p``
159-
- ``\mathbf{U}`` : manipulated inputs over ``H_p``
160-
- ``\mathbf{R̂_y}`` : predicted output setpoints over ``H_p``
161-
- ``\mathbf{R̂_u}`` : predicted manipulated input setpoints over ``H_p``
162-
- ``\mathbf{M}_{H_p} = \text{diag}\mathbf{(M,M,...,M)}`` : output setpoint tracking weights
163-
- ``\mathbf{N}_{H_c} = \text{diag}\mathbf{(N,N,...,N)}`` : manipulated input increment weights
164-
- ``\mathbf{L}_{H_p} = \text{diag}\mathbf{(L,L,...,L)}`` : manipulated input setpoint tracking weights
165-
- ``C`` : slack variable weight
166-
- ``ϵ`` : slack variable for constraint softening
154+
in which the weight matrices are :
155+
```math
156+
\begin{aligned}
157+
\mathbf{M}_{H_p} &= \text{diag}\mathbf{(M,M,...,M)} \\
158+
\mathbf{N}_{H_c} &= \text{diag}\mathbf{(N,N,...,N)} \\
159+
\mathbf{L}_{H_p} &= \text{diag}\mathbf{(L,L,...,L)}
160+
\end{aligned}
161+
```
162+
and following the nomeclature:
163+
164+
| Var. | Description |
165+
| :------------------- | :------------------------------------------------- |
166+
| ``H_p`` | prediction horizon |
167+
| ``H_c`` | control horizon |
168+
| ``\mathbf{ΔU}`` | manipulated input increments over ``H_c`` |
169+
| ``\mathbf{Ŷ}`` | predicted outputs over ``H_p`` |
170+
| ``\mathbf{U}`` | manipulated inputs over ``H_p`` |
171+
| ``\mathbf{R̂_y}`` | predicted output setpoints over ``H_p`` |
172+
| ``\mathbf{R̂_u}`` | predicted manipulated input setpoints over ``H_p`` |
173+
| ``\mathbf{M}_{H_p}`` | output setpoint tracking weights |
174+
| ``\mathbf{N}_{H_c}`` | manipulated input increment weights |
175+
| ``\mathbf{L}_{H_p}`` | manipulated input setpoint tracking weights |
176+
| ``C`` | slack variable weight |
177+
| ``ϵ`` | slack variable for constraint softening |
167178
168179
The ``\mathbf{ΔU}`` vector includes the manipulated input increments ``\mathbf{Δu}(k+j) =
169180
\mathbf{u}(k+j) - \mathbf{u}(k+j-1)`` from ``j=0`` to ``H_c-1``, the ``\mathbf{Ŷ}`` vector,

0 commit comments

Comments
 (0)