How to handle the delays in Generalized/Model Predictive Control

control theorylinear-controlmodel predictive controloptimal control

I trying to handle delays in a model who is poorly damped but I haveing som issues to estimate its parameters due to the delay.

Assume that we got a state space model, which is poorly damped:

$$x(k+1) = Ax(k) + Bu(k) \\
y(k) = Cx(k) + Du(k)$$

We find those matricies:

$$F = \begin{bmatrix}
CA\\
CA^2\\
CA^3\\
\vdots \\
CA^{N_p}
\end{bmatrix} , \Phi = \begin{bmatrix}
CB &0 &0 &\cdots & 0\\
CAB & CB & 0 & \cdots & 0\\
CA^2B& CAB & 0 &\cdots &0 \\
\vdots & \vdots & \vdots & \vdots &\vdots \\
CA^{N_p-1}B & CA^{N_p-2}B & CA^{N_p-3}B & \cdots & CA^{N_p-N_c}B
\end{bmatrix}$$

$$\bar R = r_{\omega} I_{N_p x N_p}$$

$$\left.\begin{matrix}
R_s = \begin{bmatrix}
1\\
1\\
1\\
1\\
\vdots \\
1
\end{bmatrix}
\end{matrix}\right\} N_p$$

Where $r_{\omega}$ is our tuning parameters e.g 0.0001 and $r(k)$ is our reference vector, or parameter.

When we can use this formulula were the first column of $U$ is our input signal.

$$U = (\Phi^T \Phi + \bar R)^{-1} \Phi^T(R_s r(k) – Fx(k)))$$

This is Generalized Predictive Control in state space form.

An arbitary simulation results may looks like this:

Where the green is our reference, and black is our output of the model.

enter image description here

The first element of input $U$ looks like this:

enter image description here

I'm using Recursive Least Square to estimate its parameters, but the problem I got is when the model is delayed.

Question:

Is there a way to handle delays in predictive control?

Best Answer

This is not a full answer, but would be too long to be a comment.

A delay would mean that $A$ would have one or more poles at zero, therefore some of the coefficients of its characteristic equation, which are estimated with RLS, would be zero. However least squares is not great at returning exactly zero for these coefficients, they might be really small, but often not exactly zero. Using sparse regression might give you better results and a quick search shows that there are also sparse recursive least squares algorithms.

Once you have found your system with delay you will have that $C\,B$ till $C\,A^d\,B$ will be zero, where $d+1$ is the number of samples delay. But in order to have a good prediction you do want the rank of $\Phi$ equal to its width, so choose $N_c$ such that $C\,A^{N_p - N_c}\,B\neq0$.

Related Question