Es una estrategia de Control Predictivo basado en Modelo MPC que usa como base la describsión el sistema con un modelo lineal dinámico y un estático no lineal.N
NMPC con Modelos Estáticos No Lineales
Un ejemplo tipico en esta metodologia es cuando tenemos una valvula de control en un proceso. Dicha válvula tendrá una representación dinámica lineal que me indica el tiempo que ella demora en abrir o cerrar (es como considerar una constante de tiempo lineal), pero puede tener una característica estática que presenta una variación no lineal, el cual tipicamente depende de la construcción de la válvula y del tipo de obturador que ella tiene (obturador de abertura rápida, igual porcentaje, raíz cuadrada, hiperbólico, exponencial, etc).


Vemos entonces que podemos representar el comportamiento de la válvula con 2 bloques, el primer bloque va a representar las características de la válvula por medio de una función. El segundo bloque, representa la dinámica de abertura y cierre de la válvula a través de una función de transferencia lineal (en este caso una función de transferencia de primer orden)

Esta estrategia es muy utilizada en control clásico para realizar una estrategia conocida como Gain Schedule. Donde se ajusta la ganancia del sistema dependiendo del punto de operación. Por ejemplo, si tenemos un control PI controlando el flujo en una tubería:

Si sintonizamos ese controlador con un único modelo, podría no funcionar bien por causa del comportamiento estático no lineal de la válvula, por lo tanto lo que se hace es tomar la función no lineal estática de la válvula, y se coloca la inversa de esa función dentro del controlador para obtener una ganancia lineal en la salida.
Así el control vería todo el sistema con comportamiento lineal.
En resumen, este tipo de modelos que tienen las no linealidades estáticas en la entrada del sistema son conocidos como modelos de Hammerstein.
Cuando las no linealidades estáticas estan en la salida son conocidos como modelos de Wiener.

Control MPC Linealizante
Podemos implementar el control MPC lineal que ya hemos visto acá en la pagina, utilizando un pre condicionador linealizante, que consiste en colocar la estructura con el inverso de la parte No Lineal, de esa forma puede aplicarse un control lineal porque el controlador va a ver todo el proceso como si fuera lineal. El esquema de este control ws presentado a continuación.

NMPC basado en Modelo de Hammerstein
Para representar la dinámica lineal, se utiliza el modelo CARIMA. Por lo tanto, la planta a ser controlada puede ser descrita por el siguiente modelo discreto:

A(z^{-1})\Delta y(k)=B(z^{-1})\Delta x(k-d)+\epsilon(k)
donde la variable auxiliar (pseudo salida no medible) es el elemento no lineal. La estructura del bloque no lineal puede variar en funciones exponenciales (estructura clásica) a redes neuronales artificiales (estructuras avanzado)
A modo de ejemplo podemos representar este bloque como una serie de potencias:
x(k)=\sum_{i=1}^{n_{\gamma}}\gamma_iu^i(k)
y siendo los coeficientes del modelo no lineal. Se observa que el modelo adoptado presenta linealidad en los parámetros y, por lo tanto, pueden ser estimados a través del el algoritmo de los mínimos cuadrados recursivos.
Es interesante resaltar que existe una cierta redundancia de parámetros; de esta forma, el coeficiente es usualmente arbitrado en 1 (uno). En este caso de proyecto, el número de los parámetros estimados, en general, es mayor que en el de un modelo lineal.
Si se desea realizar un control DMC o GPC se considera apenas la parte lineal del sistema siguiendo el mismo procedimiento abordado aquí en la página, solo basta con sustituir la ley de control por la pseudo-salida no lineal
.
Pero como ahora todo es hecho en base a la pseudo salida. ¿Como calculamos la ley de control?
Existen varias estrategias para el calculo del controlador predictivo usando Modelo de Hammerstein, en este caso al considerar el termino no lineal descrito como un polinomio, es necesario en este caso utilizar algún algoritmo numérico (Newton-Raphson por ejemplo) para poder determinar las raíces del polinomio y de esa forma poder determinar el valor de la ley de control que será aplicado en la planta.
La función costo pasa a ser representada como:
J=\sum_{j=N_1}^{N_2}(\hat{y}(k+j|t)-w(k+j))^2+\sum_{j=1}^{N_u}(\Delta x(k+j-1))^2
Vemos que la resolución es exactamente la misma vista en entradas anteriores, la diferencia es que sustituimos la acción de control por la variable
Por lo tanto, como ya visto anteriormente sabemos que la predicción viene dado por
\hat{y}=G\Delta x + f
y que la solución analítica de la función consto viene dado por:
\Delta x=[G^TG + \lambda I]^{-1}G^T(f^T-w^T)
donde I es la matriz Identidad con el mismo orden de .
de la cual podemos obtener
x(k)=x(k-1)+\Delta x(k)
De la secuencia de señales de la pseudo-salida del modelo Hammerstein futuros calculados, sólo el primero es aplicado al sistema y la acción de control óptimo puede determinarse a partir de las raíces del polinomio que representa la no linealidad .
Si hay más de una raiz real, se debe elegir entre ellas la que mejor se adecue al sistema y descartar las raíces complejas conjugadas. En el próximo instante de tiempo todo el procedimiento es repetido a través de la estrategia de Horizonte deslizante.
Por ejemplo, ya tenemos , y supongamos que el polinomio que describe la no linealidad es de tercer orden, entonces tendríamos:
x(k)=\sum_{i=1}^{3}\gamma_iu^i(k)
x(k)=\gamma_1u(k)+\gamma_2u(k)^2+\gamma_3u(k)^3
Como es conocida, solo nos falta saber
la cual se obtiene sacando las raíces del polinomio y escogiendo la que sea real y no tenga parte imaginaria.
x=\begin{bmatrix} \eta & \alpha +j\beta & \alpha -j\beta \end{bmatrix}
u(k)=\eta
Introducción al Control NLH-DMC (Nonlinear Hammerstein Dynamic Matrix Control)
El control NLH-DMC es una extensión del control predictivo clásico, diseñada para manejar sistemas no lineales representados por modelos de Hammerstein. En este enfoque, la no linealidad del sistema se modela mediante un bloque estático no lineal seguido de un bloque dinámico lineal. Esto permite que el controlador trate la dinámica del sistema de manera más precisa al incorporar tanto las partes lineales como no lineales.
La función de costo se adapta para trabajar con la pseudo-salida no lineal, lo que requiere resolver un polinomio que describe la no linealidad. El proceso iterativo para calcular la ley de control implica:
J = \sum_{j=N_1}^{N_2} (\hat{y}(k+j|t) - w(k+j))^2 + \sum_{j=1}^{N_u} (\Delta x(k+j-1))^2
Donde es la predicción de la salida y
es la referencia deseada. La solución óptima se encuentra resolviendo las raíces del polinomio de la pseudo-salida:
x(k) = \sum_{i=1}^{n_{\gamma}} \gamma_i u^i(k)
Aquí, son los coeficientes del modelo no lineal, que pueden estimarse utilizando mínimos cuadrados recursivos.

Ejemplo 1 – Modelo No lineal propuesto por Katayama; Yamamoto, 2004
Este ejemplo se centra en el control predictivo de un sistema Hammerstein típico, donde la no linealidad se modela mediante un polinomio cúbico.

𝑦(𝑡)=0.6𝑦(𝑡−1)−0.1𝑦(𝑡−2)+1.2𝑥(𝑡−1)−0.1𝑥(𝑡−2)
𝑥(𝑡)=1.5𝑢(𝑡)−1.5𝑢(𝑡)^2+0.5𝑢(𝑡)^3
Cuya dinámica no lineal luce:

Ejemplo 2 – Katayama; Yamamoto, 2004 (Control Linealizante)
En este caso, se implementa un controlador linealizante en el que la parte no lineal del sistema se cancela mediante la introducción de una función inversa en el lazo de control. El objetivo es lograr que el sistema completo se comporte de manera lineal desde el punto de vista del controlador, mejorando así la precisión del control predictivo.
𝑦(𝑡)=0.6𝑦(𝑡−1)−0.1𝑦(𝑡−2)+1.2𝑢_𝑓 (𝑡−1)−0.1𝑢_𝑓 (𝑡−2)
𝑢_𝑓 (𝑡)=1.2705𝑥(𝑡)+0.1409𝑥(𝑡)^2−0.0669𝑥(𝑡)^3
𝑥(𝑡)=1.5𝑢(𝑡)−1.5𝑢(𝑡)^2+0.5𝑢(𝑡)^3

Ejemplo 3 – Katayama; Yamamoto, 2004 (Control NLH-DMC)
Este ejemplo describe un sistema más avanzado donde la función costo incluye tanto las dinámicas lineales como no lineales del sistema. La predicción de la salida sigue la ecuación:
\hat{y}(k+j|t) = G \Delta x + f
La solución analítica para la pseudo-salida se obtiene resolviendo el sistema:
\Delta x = [G^TG + \lambda I]^{-1} G^T (f - w)

Ejemplo 4 – Nivel de un Tanque (Control NLH-DMC)
En este caso, se controla el nivel de un tanque utilizando una válvula. La no linealidad de la válvula sigue una característica isoporcentual, que se aproxima mediante un polinomio cúbico.

Las ecuaciones que describen el modelo vienen dado por:
\dfrac{𝑑ℎ}{𝑑𝑡}=\dfrac{1}{𝐴} [𝑘_1 𝑎_1−𝑘_2 𝑎_2 \sqrt{2𝑔ℎ}]
Donde la válvula de entrada es isoporcentual:
𝑎_1 (x)=\alpha^{𝑥−1}
Y la valvula de salida es lineal:
𝑎_2 (𝑥)=𝑥
Al sistema anterior se le aplica un control NHL-DMC para la regulación del nivel y finalmente se compara su dinámica con un controlador DMC convencional

Rendimiento en el Escalón Positivo:
Durante el escalón positivo (aumento del nivel), el DMC convencional mostró una mayor rapidez en alcanzar el setpoint, respondiendo de manera más ágil ante cambios en la consigna. Sin embargo, esta rapidez viene acompañada de cambios bruscos en la acción de control, lo que podría generar mayor desgaste en los actuadores. El NLH-DMC, aunque más lento, presentó una transición más suave y controlada, lo que favorece la estabilidad del sistema a largo plazo.
Rendimiento en el Escalón Negativo:
En el escalón negativo (disminución del nivel), se observó una situación diferente. El NLH-DMC sobresalió al proporcionar una respuesta más estable, con menos oscilaciones y un rechazo de perturbaciones más eficiente. Aunque el DMC convencional llegó más rápido a la referencia, mostró mayor variabilidad y oscilaciones, lo que podría comprometer el rendimiento en sistemas más complejos o no lineales.
Bibliografía
- Katayama, T., Yamamoto, Y. Evolutional computation in designing a robust IMC-based PID controller. IEEE, 2004. Disponible en: https://ieeexplore.ieee.org/document/1401359
- Rejane De B. Araújo, Antonio A. R. Coelho. Hybridization of IMC and PID control structures based on filtered GPC using genetic algorithm. Springer, 2017. Disponible en: https://link.springer.com/article/10.1007/s40314-017-0444-y
- Calla Durandal, Edwin. Avaliação do desempenho e sintonia de controladores livre de modelo: projetos e simulações. Universidade Federal de Santa Catarina (UFSC), 2017. Disponible en: https://repositorio.ufsc.br/handle/123456789/174446
Listo amigos, eso es todo por esta entrada, más adelante talvez coloque un código de implementación aquí en la página para que sirva como referencia. Saludos y no olviden compartir con los botones que están disponibles aqui al lado.
Mi nombre es Sergio Andres Castaño Giraldo, y en este sitio web voy a compartir una de las cosas que mas me gusta en la vida y es sobre la Ingeniería de Control y Automatización. El sitio web estará en constante crecimiento, voy a ir publicando material sobre el asunto desde temas básicos hasta temas un poco más complejos. Suscríbete al sitio web, dale me gusta a la página en Facebook y únete al canal de youtube. Espero de corazón que la información que comparto en este sitio, te pueda ser de utilidad. Y nuevamente te doy las gracias y la bienvenida a control automático educación.