Control GPC

Control GPC
5 (100%) 9 votes

En esta entrada aprenderemos la teoría sobre el control GPC, Haré una explicación breve sobre que consiste este tipo de control, pero principalmente explicaré todo detalladamente en los 3 videos que veremos a continuación. Antes de empezar, si no eres muy experto en el tema, te recomiendo mirar inicialmente los Videos del DMC (Dando Click aqui) Debido a que la teoria que alli se aborda, es fundamental, para entender el funcionamiento del Control Predictivo GPC.

Al final de este post, encontraras unos ejemplos prácticos de como programar un GPC junto con su respectivo video que explica claramente cada linea de código implementada.

No olvides compartir la pagina, ayúdame a divulgarla y únete a mi canal de Youtube, dando click en el siguiente botón:

 

 

CONTROL GPC

¿Cual es la diferencia del GPC y el DMC?

  • Para el estudio del control predictivo GPC (Generalized Predictive Controller ó Control Predictivo Generalizado) al igual que el DMC, vamos a necesitar obligatoriamente tener un modelo matemático que represente el comportamiento dinámico de mi sistema. La diferencia es que en el GPC mi modelo ya NO van a ser los coeficientes de mi respuesta al Escalón (Tal y como vimos que sucedía con el DMC) si no que ahora mi modelo va a ser basado en Función de Transferencia Discreta, con la cual vamos a calcular una predicción de lo que va a suceder en el futuro.

Historia

Objetivo del GPC

  • El principal objetivo del control GPC es encontrar una secuencia de control óptimo.
  • ¿Qué quiere decir con encontrar un control óptimo?
  • Por ejemplo, poder llevar mi variable al lugar que yo deseo, variando mínimamente mi acción de control

 

Modelo

  • Para el modelo del GPC, se utiliza una estructura de un modelo CARIMA, donde se tiene típicamente una función de transferencia junto con un termino adicional que representa algún modelo desconocido como por ejemplo una perturbación, que será una dinámica estocástica (Es algo que no sabremos como se comportará en el futuro)

\Delta A(z^{-1})y(k)=B(z^{-1})\Delta u(k-1)+C(z^{-1})\varepsilon (k)

  • A(z^{-1})=1-a_1 z^{-1}+a_2 z^{-2}+\cdots+ a_n z^{-n}
  • B(z^{-1})=b_0+b_1 z^{-1}+b_2 z^{-2}+\cdots+b_n z^{-n}
  • C(z^{-1})=c_0+c_1 z^{-1}+c_2 z^{-2}+\cdots+ c_n z^{-n}
  • y(k)=salida de la planta
  • u(k)=entrada de la planta
  • \varepsilon(k)=ruido blanco de media nula
  • \Delta=1-z^{-1}

 

Función de Costo

La función costo o función objetivo que pondera el error del sistema y las acciones de control del GPC esta dado por la siguiente ecuación:

J=\sum_{j=N1}^{N2}\delta (j)\left [ \hat{y}(k+j/k)-W(k+j) \right ]^2 + \sum_{j=1}^{Nu}\lambda (j)\left [ \Delta u(k+j-1) \right ]^2

EJEMPLO

A continuación vamos a realizar un ejemplo de un control GPC sin Restricciones, para esto vamos a utilizar 3 funciones de transferencia distintas para observar el comportamiento y funcionamiento del control predictivo GPC.

Para este ejemplo usaremos un horizonte de predicción (N2=3) y un horizonte de control (Nu=3)

Función de transferencia 1 (Ejemplo 1)

G(z^{-1})=\frac{y(k)}{u(k)}=\frac{0.5z^{-1}}{1-0.5z^{-1}}

Función de transferencia 2 (Ejemplo 2)

G(z^{-1})=\frac{y(k)}{u(k)}=\frac{0.07056 + 0.0621z^{-1}}{1-0.7788z^{-1}}z^{-1}

Función de transferencia 3 (Ejemplo 3)

G(z^{-1})=\frac{y(k)}{u(k)}=\frac{0.4z^{-1}+0.2z^{-2}}{1-0.6z^{-1}+0.4z^{-2}}z^{-2}

Código de Implementación:

>>>DESCARGAR FUNCIÓN DE LAS DIOFANTINAS<<<

Función para el calculo de las diofantinas:

Respuesta control GPC

Comparte en Redes Sociales

 

Si te sirvió de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




Esta entrada tiene 7 comentarios

  1. Hola cual es la diferencia entre MPC y GPC

    1. Hola. MPC es como decir la categoria. Es decir MPC (Model Predictive Control) es la categoria del controlador que utiliza algoritmos de optimización para el calculo de la ley de control y dentro de esa categoria existen varios tipos de controles predictivos como el DMC, GPC, DTC-GPC, GMV, ETC.

  2. Hola Sergio,como podría aplicar tu explicación sobre el sistema GPC a un sistema multivariable?
    Saludos y enhorabuna por tu trabajo

    1. para un sistema MIMO se hace un poco mas largo el proceso. Basicamente las salida de predicción y=G.dU+f debes hacerlo como una matriz que contenga todas las matrices del proceso. Si por ejemplo es un proceso 2×2, vas a tener 4 matrices que representan la respuesta al escalon. asi

      | G11 G12 | |dU1| |f1 |
      Y= | G21 G22 | |dU2| + |f2 |

      Donde G11 seria la matriz con los coeficientes de la respuesta al escalón. Y así va. Es basicamente lo mismo, solo que debes ampliar las matrices.

  3. Hola Sergio, me gustaría saber como poder implementar el ejemplo anterior (GPC) como un sistema MIMO de 3×3.
    Gracias

  4. Estimado Sergio, con cual de los tipos de control GPC o DMC es optimo hacer un control multivariable.
    Saludos

    1. Hola Gabriel, puedes emplear cualquiera de los dos. Con el GPC seria fácil, pues puedes trabajar directo con la matriz de funciones de transferencia, Si trabajas en cambio con DMC, debes manejar una arreglo de matrices que almacenen toda la dinámica del proceso MIMO. Igual, ambos se pueden optimizar, existe una función en matlab llamada QUADPROD, que sirve justamente para optimizar, llevando en cuenta las restricciones de tu proceso. Todo esto lo pienso explicar en la pagina, solo que preparar una clase de control predictivo me lleva muchísimo tiempo. Apenas me desocupe un poco de mi tesis, continuo con los videos. Saludos.

Deja un comentario

Menú de cierre