Comparación del modelo de predicción ideal y basado en datos en el controlador MPC

Aug 20 2020

He implementado un controlador MPC no lineal para un sistema con dinámica desconocida asumida, donde el modelo de predicción está dado por un modelo NARX discreto de acuerdo con

$$y_{k+1} = f(w_k) = f(x_k, x_{k-1}, y_k, y_{k-1}, y_{k-2})$$

por$y_{k+1} \in \mathbb{R}^{1 \times 1}$, con 2 retardos de entrada, descritos por$x$, y 3 retardos de salida, indicados$y$. Aquí$f(\cdot)$se aproxima a partir de los datos de entrada y salida disponibles. Esto da como resultado el siguiente modelo de espacio de estado:

$$x_{k+1} = \begin{bmatrix} y_{k+1} \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} = \begin{bmatrix} f(w_k) \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} $$

Para comparar el rendimiento del controlador MPC basado en datos, quiero compararlo con un controlador MPC que usa ODE como modelo de predicción, ya que tengo esto disponible. Las ODE se discretizan y se implementan como un modelo de diferencias discretas de acuerdo con

$$z_{k+1} = g(z_k, u_k)$$

dónde$z_{k+1} \in \mathbb{R}^{3 \times 1}$. La predicción se obtiene usando eso

$$ y_{k+1} = C^{T}z_{k+1}$$

dónde$C = \begin{bmatrix}1 & 0 & 0 \end{bmatrix}$.

Ahora necesito formular un modelo NARX utilizando el modelo de predicción exacto. La pregunta ahora es, para hacer que los dos controladores sean lo más comparables posible, ¿debería la representación del espacio de estado usando el modelo de predicción exacto ser la siguiente?

$$x_{k+1} = \begin{bmatrix} y_{k+1} \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} = \begin{bmatrix} C^{T}g(z_k, u_k) \\ y_{k} \\ y_{k-1} \\ u_{k-1} \end{bmatrix} $$

¿Tiene esto sentido, considerando el hecho de que$g(z_k, u_k)$no depende de todo el vector de estado NARX como en el modelo aproximado?

Respuestas

1 unobservable_node Aug 20 2020 at 18:48

Para ambos escenarios, es decir, basado en datos y basado en modelos, tendrá diferentes estados, salidas y entradas. Es decir, para el caso basado en datos, digamos que su controlador MPC es$\mathcal{D}$que genera la entrada$u_k$. Aquí tienes el siguiente sistema$$ \begin{array}{ccl} x_{k+1} &=& \left[\begin{array}{c} f(w_k) \\ y_k \\ y_{k-1} \\ u_{k-1} \end{array}\right] \\ y_{k+1} &=& f(w_k). \end{array} $$

Para el escenario basado en modelos, digamos que su controlador MPC es$\mathcal{M}$(con la misma estructura que$\mathcal{D}$pero teniendo dependencia en el modelo) que genera la entrada$\hat{u}_k$. Aquí, su sistema es el siguiente$$ \begin{array}{ccl} \hat{x}_{k+1} &=& \left[\begin{array}{c} C^T z_{k+1} \\ \hat{y}_k \\ \hat{y}_{k-1} \\ \hat{u}_{k-1} \end{array}\right] \\ z_{k+1} &=& g(z_k,\hat{u}_k) \\ \hat{y}_{k+1} &=& C^T z_{k+1}. \end{array} $$

Ahora puede compararlos en términos de energía ejercida por ambos controladores, es decir,$$ \sum_{k=1}^T \|u_k\|_2 \quad \text{vs.} \quad \sum_{k=1}^T \|\hat{u}_k\|_2. $$Si está estabilizando o regulando, puede ver los transitorios de$x_k$contra$\hat{x}_k$, etc.