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\]