SPC#
Subspace Predictive Control (SPC) is a DDPC method.
SPC is presented in the following research paper:
Parameters and Variables#
Symbol |
Definition |
Dimensions |
|---|---|---|
\(S_p,\ S_u\) |
Subspace predictor |
\(n\_y_f \times n\_z_p\); \(n\_y_f \times n\_u_f\) |
Optimization Formulation#
\[\begin{split}\min_{u_f,y_f} &\quad \|y_f - y_r\|_Q^2 + \|u_f - u_r\|_R^2 \\
\text{s.t.} &\quad y_f = S_u u_f + S_p z_p \\
&\quad u_f \in \mathcal{U}, \quad y_f \in \mathcal{Y}\end{split}\]
The Subspace Multistep Predictor \(S\) is calculated as follow:
\[\begin{split}S &:= Y_f \begin{bmatrix} Z_p \\ U_f \end{bmatrix}^\dagger \\
&= Y_f \begin{bmatrix} Z_p \\ U_f \end{bmatrix}^T
\left(\begin{bmatrix} Z_p \\ U_f \end{bmatrix} \begin{bmatrix} Z_p \\ U_f \end{bmatrix}^T \right)^{-1}\end{split}\]
Closed-Form Solution Derivation#
Set \(y_f\) into the cost equation leads to:
\[\|S_u u_f + S_p z_p - y_r\|_Q^2 + \|u_f - u_r\|_R^2\]
Now taking the derivative in respect to \(u_f\) and set it to zero.
\[(S_u ^T Q S_u + R )u_f^\star = (-S_u ^TQS_p)z_p + (S_u^TQ)y_r + R u_r\]
Defining the help matrices:
\[\begin{split}F_1 &= (S_u ^T Q S_u + R)^{-1} \\
F_2 &= -S_u ^TQS_p \\
F_3 &= S_u^TQ\end{split}\]
Leads to the following closed-form gain matrices:
\[\begin{split}K_{z_p} &= F_1 F_2 \\
K_{y_r} &= F_1 F_3 \\
K_{u_r} &= F_1 R\end{split}\]
With the optimal \(u_f^\star\) calculated as:
\[u_f^* = K_{z_p} z_p + K_{y_r} y_r + K_{u_r} u_r\]