Você está na página 1de 67

CONTROLE PREDITIVO

Conceitos e Aplicações
Prof. Dr. Oscar A. Z. Sotomayor

Departamento de Engenharia Elétrica


Centro de Ciências Exatas e Tecnologia
Universidade Federal de Sergipe
São Cristóvão - SE, BRASIL
oscars@ufs.br
Estratégias de Control de Procesos

Categoría I
Control convencional. Técnicas
ampliamente usadas por varias décadas

 Control manual
 Control PID
 Control por relación
 Control en cascada
 Control feedforward
Estratégias de Control de Procesos

Categoría II
Control avanzado. Técnicas clásicas
usadas por mas de 30 años

 Gain scheduling
 Predictor de Smith
 Control por
desacoplamiento
 Control selective/override
Estratégias de Control de Procesos

Categoría III
Control avanzado. Técnicas
ampliamente usadas

 Control predictivo (MPC)


 Control estadistico (SPC)
 Control adaptivo
 Control por modelo
interno (IMC)
Estratégias de Control de Procesos

Categoría IV
Control avanzado. Nuevas técnicas con
varias aplicaciones industriales

 Control optimo (LQG)


 Control nolineal
 Control robusto
 Control neural
 Control fuzzy
 Sistemas expertos
Estratégias de Control de Procesos

Categoría V
Control avanzado. Técnicas propuestas con
algunas (si existen) aplicaciones industriales

 Control Hinf
 Síntesis µ
Qué es Optimización?
2
2 − x1 −( x2 +1)
2
 x1 3 5  − x1 − x2
2 2 1 −( x1 +1) 2 − x22
J = 3(1 − x1 ) e − 10 − x1 − x2 e − e
5  3
min J
x1, x 2

− 3 ≤ x1, 2 ≤ 3

0
J

­2

­4

­6

3
2
3
1 2
0 1
­1 0
­1
­2
­2
­3 ­3
x2
x1
Que es optimización?
Grafico de Contornos
3

0
x2

Mínimo
Global
­1

*
­2

­3
­3 ­2 ­1 0 1 2 3
x1

x1 = 0.25
J min = −6.3265
x2 = −1.75
Control es un problema de
OPTIMIZACIÓN !!!
Control Predictivo - Definición
Control predictivo o MPC (Model Predictive
Control) o MBPC (Model-Based Predictive
Control) es un término usado para distinguir una
familia de algoritmos de control que usan um
modelo explícito del proceso para predecir la
respuesta futura de la planta. En cada instante
de muestreo, el MPC soluciona on-line um
problema lineal cuadrático em lazo abierto,
usando el estado actual de la planta como
estado inicial. El resultado de la optimización
genera una secuencia de control optimo, el cual
es aplicado a la planta de acuerdo con la
filosofia de control de horizonte movil o RHC
(Receding or moving Horizon Control).
MPC:

 MPC usa un modelo para:


– Predecir el comporta-
miento futuro de la
salida a lo largo de un
horizonte
Estructura de un Sistema de – Llevar en cuenta la
dinámica del proceso
Control Predictivo (MPC) en el cálculo de la ley
de control
Control Predictivo - Analogía
 Conducción de un carro
– trayecto de referencia
– predicción mental a
partir del conocimiento
del comportamiento del
carro
– decisión optima de la
aptitud a ser tomada
– repetición del
procedimiento
Control Predictivo - Analogía
Observación:
Un controlador reactivo (eg. PID) minimiza
el error solo despues que este es detectado.
Un controlador MPC es basado en la
minimización de la predicción futura del
error, bien al frente de la respuesta de un
controlador reactivo.
Control Predictivo - Breve Historia
 Dynamic Matrix Control – DMC (antes 1970)
 Iniciativa industrial (Shell Oil)
 Primera aplicación: unidad FCC (1973)
 Modelos lineales respuesta escalón, función
de costo cuadrático. Sin restricciones.
Solución usando minimos cuadrados.
 Model Predictive Heuristic Control – MPHC (1976)
 Software IDCOM (IDentification and
COMmad)
 Modelos lineales respuesta impulso, función
de costo cuadrático. Restricciones entrada y
salida. Solución usando un algoritmo
iterativo heuristico.
Control Predictivo - Breve Historia
 Quadratic Dynamic Matrix Control – QDMC (1983)
 DMC mejorado (Shell Oil)
 Modelos lineales respuesta escalón, función de
costo cuadrático. Con restricciones. Solución
usando programación cuadrática.
 Nuevas variantes
 Model algorithm control (MAC), Internal model
control (IMC), Generalized predictive control
(GPC), Multivariable, optimal, constrained
control algorithm (MOCCA), Hierarchical
constraint control (HIECON), Predictive
functional control (PFC), Predictive control
technology (PCT), Robust model predictive
control technology (RMPCT), etc.
Control Predictivo - Breve Historia

 Fundamentación teórica (1990  )


 Relación con teoría control optimo (LQ)
 Optimalidad, estabilidad, robustez y
viabilidad
 Surgimiento de controladores MPC
nolineales (NMPC)
 Mayores contribuciones de investigación durante
los últimos años.
 Tecnología MPC para sistemas lineales
consolidada (teoría en espacio de
estados)
 MPC de horizonte infinito
Control Predictivo - Características
 Incorpora modelo explícito do proceso
– lleva en cuenta todas las dinámicas significantes del
proceso
– predice el comportamiento futuro del proceso.
Efectos de perturbaciones pueden ser antecipados y
removidos.
 Usa optimización on-line
– minimiza función objetivo cuadrática. Objetivos
económicos pueden ser incluidos.
– considera restricciones en los estados, entradas y
salidas, directamente en el calculo del control.
violaciones de restricciones son menos provables.
 Implementa control de horizonte movil (RHC)
– suministra realimentação deseada
Control Predictivo - Diferencias
 Tipo de modelo
– respuesta al impulso (MAC) (parámetros de Markov)
– respuesta al escalón (DMC)
– función de transferencia (GPC)
– polinomiales, espacio de estados, etc.
 Tipo de función de costo
– cuadrática
– lineal
 Perturbaciones
– constantes
– retardadas
– ruido blanco, etc.
 Adaptación
Control Predictivo - Filosofia RHC
 En el tiempo k, el MPC soluciona on-line un problema
lineal cuadrático.
Hp T
( ) (
J k = ∑ yˆ (k + i ) − y sp (k + i ) Q yˆ (k + i ) − y sp (k + i ) +)
i =1
Hc
∑u T
(k + i − 1)Pu (k + i − 1) + ∆u T (k + i − 1) R∆u (k + i − 1)
i =1

sujeto a las restricciones


(físicas, de seguridad, económicas, ambientales, etc):

umin (k / Hc) ≤ u (k / Hc) ≤ umax (k / Hc)


∆umin (k / Hc) ≤ ∆u (k / Hc) ≤ ∆umax (k / Hc)
ymin (k + 1 / Hp ) ≤ y (k + 1 / Hp ) ≤ ymax (k + 1 / Hp)
Control Predictivo - Filosofia RHC

 El resultado de la optimización genera una


secuencia de contol optimo en lazo abierto.
Solo la primiera acción de control de esta
secuencia es aplicada a la planta. El resto de
la secuencia de control es desechada.

 En el tiempo k+1 todo el procedimiento es


repetido.
Control Predictivo - Filosofia RHC
Control Predictivo - Ventajas
 Pueden ser usados para controlar una gran variedad de
procesos: sistemas con grandes atrasos, dinámica stiff,
fase no mínima e inestables.
 Aplicable a procesos por lotes, donde las señales de
referencia futuras son conocidas.
 Incorpora ideas de la teoria de control, sistemas de
identificación y optimización.
 Se aplica directamente a sistemas multivariables (MIMO)
e sistemas con grandes interacciones
 Permite considerar restricciones (amplitud, tasa de
variación), errores de modelo y errores de medición.
 Permite operar dentro de las restricciones y, portanto, las
ganacias aumentan.
 En la ausencia de restricciones, es un controlador lineal.
 Conceptos son intuitivos y atractivos para la industria
 Tecnologia abierta para futuras extensiones
Control Predictivo - Desventajas

 Necesidad de un modelo apropiado del proceso

 Tiempo computacional para resolver el problema


de optimización.

 Dificultad de sintonizar, especialmente para


aplicaciones en grande escala.

 Su uso no es adecuado para control regulatório


Control Predictivo - Plantwide
Control
Business planning

Global economic
optimization

Local steady-state
optimization

Constraint control
(MPC)
Distributed control
systems (DCS),
PID´s
Control Predictivo - Tipos
MPC lineal (LMPC) MPC nolineal (NMPC)
 Usa modelo lineal  Usa modelo nolineal

x = Ax + Bu x = f ( x, u )

 Función costo  Función costo puede


cuadrática ser no cuadrática

J = xT Qx + u T Ru J ( x, u )

 Restricciones  Restricciones no
lineales lineales
Hx + Gu ≤ 0 h ( x, u ) ≤ 0

 Optimización  Optimización nolineal


quadrática
Control Predictivo - Productos
Comerciales
LMPC

NMPC
Control Predictivo - Aplicaciones
Control Predictivo - Aplicaciones
LMPC
Control Predictivo - Aplicaciones

NMPC
Control por Matriz Dinámica
Cutler, C.R.; Ramaker, B.C. (1980). Dymanic matrix control (DMC) - A
computer control algorithm. Proc. Joint Automatic Control Conference,
San Francisco-CA.

Modelo de convolución discreta


de procesos

N = horizonte del modelo


a = coeficientes respuesta al escalón
h = coeficientes respuesta al impulso
N
h1 =a1, h2 =a2 − a1, h3 =a3 − a2 , yˆ k +1 =∑ hi uk +1−i
i =1
a1 =h1, a2 =h2 + h1, a3 = h3 + h2 + h1, N
yˆ k +1 = yˆ k +∑ hi ∆uk +1−i
i =1
Control por Matriz Dinámica
Predicción corregida yˆ k +1 : y ck +1 = yˆ k +1 +( yk − yˆ k )
Valor deseado yˆ k +1 : y dk +1 = yksp (filtro 1ra orden)
Caso ideal: y ck +1 = y dk +1
Error: yˆ k +1 − yˆ k = yksp − yk = ek
N
1 N 
∑ hi ∆uk +1−i = ek ∆uk = ek −∑ hi ∆uk +1−i 
h1 
i =1 i =2 
uk =∆uk +uk −1

Controlador dead-beat:
dead-beat
 No aplicable para procesos con tiempo muerto (h1=0).
 No aplicable si h1 es pequeño (acción de control grande)
 h1 influenciado por ruidos espurios.
Control por Matriz Dinámica
N
Predicción al futuro (k+j ) : yˆ k + j = yˆ k + j −1 + ∑ hi ∆uk + j −i
i =1
j = 1,2,…,np
np = horizonte de
predicción (optimización)
Erro igual para cualquier (j ):
N
ykc + j − yˆ k + j = ykc + j −1 − yˆ k + j −1 ykc + j = ykc + j −1 +∑ hi ∆uk + j −i
ykc = yk i =1

Para j = 1,2,…,np y definiendo:


N
S n = ∑ hi ∆uk + n −i
i =n +1
i
Pi =∑ S n
n =1
i
ai =∑ h j
j =1
Control por Matriz Dinámica
 ykc +1   a1 0 0  0 0   ∆uk   yk +P1 
 c  
 y k +2   a2 a1 0  0 0   ∆uk +1   yk +P2 
   =          +  
 c      
 yk +np −1  anp −1 anp −2   a1 0  ∆uk +np −2   yk +Pnp −1 
 yc  a anp −1   a2 a1   ∆uk +np −1   yk +Pnp 
 k +np   np

y c = A∆ u + y k + P

yc vector de valores previstos de y


A matrix dinámica
∆u vector de acciones de control en k (a ser calculado)
P vector de predicciones provenientes de acciones de control
pasadas
Control por Matriz Dinámica
 ykd+1   yksp 
 d   sp 
 y k +2   y k 
ykd+ j = yksp    =  
 d   sp 
 yk +np −1   yk 
 y d   y sp 
 k + np   k 
ek = yksp − yk
 ykd+1 − ykc +1   a1 0 0  0 0   ∆uk   ek −P1 
   a
 y d
k +2 − y c
k +2   2 a1 0  0 0   ∆uk +1   ek −P2 
   = −          +  
 d      
y − y c
 k +np −1 k + np −1  anp −1 anp −2   a1 0  ∆uk +np −2  ek −Pnp −1 
 yd −yc   anp anp −1   a2 a1   ∆uk +np −1   ek −Pnp 
 k + np k +np  
e =− A ∆u + e´
e = vector de error entre valores previstos y valor deseado
e’ = vector de error entre valores previstos y valor deseados
si no hay acción de control futuro (sistema en lazo abierto)
Control por Matriz Dinámica
e = 0 ⇒ − A∆u + e´= 0 ⇒ ∆u =( A) e´
−1

Observaciones:
 Tamaño de matrices y vectores pueden complicar
manipulación computacional
 matrix A pude ser no singular (no existe inversa), en el
caso que el sistema tenga tiempo muertos.

Considerando solo m (= horizonte de control) acciones de control:


 ykd+1 − ykc +1   a1 0  0 0  0   ∆uk   ek −P1 
 d   a
y −
 k +2 k +2  y c
 2 a1  0 0  0   ∆uk +1   ek −P2 
 
               
 d      
c
 yk +m − yk +m  = − am am −1  a1   0  ∆uk +m −1  + ek −Pm 
 yd − ykc +m +1  am +1 am  a2 a1  0   0  ek −Pm +1 
 k + m +1      
               
 d c  a a1   0   ek −Pnp 
y − y
 k +np k + np   np anp −1  anp −m anp − m−1 

( e ) np x1 =−( A) np x m ( ∆u ) m x1 +( e´) np x1
Control por Matriz Dinámica
1) J =eT e =[ − A∆u + e´]T [ − A∆u + e´]

∂J
min J ⇒ = 0 ⇒ AT A∆u − AT e´= 0
∂∆u
∆u = AT A( AT e´ ) −1


( ) 
∆um x1 =  AT m x np ( A) np x m  −1 AT ( ) m x np e´np x 1
 
 Aplicar solo primera acción de control (estrategia RHC)
 Lleva a acciones de control muy violentas.

2) min J =eT e +∆u T R∆u


∂J
∂∆u
(
= 0 ⇒ ∆u = AT A + R ) −1
AT e´ Controlador DMC
uk =∆uk +uk −1 SISO sin restricciones
 Matriz R de factores de supresión de las manipuladas.
Matriz diagonal que penaliza (atenua) as variaciones de las
acciones de control.
Control por Matriz Dinámica
La técnica MPC se extiende de modo natural para el caso de procesos
con varias entradas y salidas (MIMO), o perturbaciones medibles.

N Nm
yˆ j ,k =∑∑ h j ,l ,i ul ,k −i
i =1 l =1

Nc = número de variables controladas (salidas)


Nm = número de variables manipuladas (entradas)
yˆ j ,k = Predicción salida j en el instante k
ul ,k −i = valor entrada l en el instante k-i
h j ,l ,i = valor salida j en el instante i para un impulso en la entrada l
Control por Matriz Dinámica

Ejemplo de respuesta al escalón de una columna de


destilación con 3 entradas y 4 salidas.
Control por Matriz Dinámica
T
 
yˆ k =  yˆ1,k yˆ 2,k  yˆ Nc ,k 
 
T
 
u k −i = u 1,k −i u 2 , k −i  u N m , k −i 
N  
yˆ k =∑ H i uk −i
i =1  h1,1,i h1,2,i  h1,N m ,i 
h h2,2,i  h2,N m ,i 
H i =
2,1,i

     
 
hNc ,1,i hNc ,2,i  hNc ,N m ,i 

Siguiendo procedimiento anterior del caso SISO:


 N 
∆u k = H1−1 ek −∑ H i ∆u k +1−i  Controlador dead-beat
 i =2  multivariable
uk =∆uk +uk −1
Control por Matriz Dinámica
k i N
Ak =∑ H l , Pi =∑ S n , S n = ∑ H j ∆uk +n− j
l =1 n =1 j =n +1

 ykc +1   A1   ∆uk   yk + P1 
 c      y +P 
 yk +2   A2 A1  ∆ u k +1   k 2 
    
 c  
  0      
   
 k +m−2   Ak +m−2
y Ak +m−3  A1 ∆u
  k +m−2  +  k y + Pm −2 
 yc =A Ak +m −2  A2 A1   ∆u   yk +Pm−1 
 k +m−1   k +m−1  k + m −1
  
           0    
 c   A Anp −2     A1      
y
 k +np −1   np −1    
 ykc +np   Anp Anp −1     A2 A1   0   yk + Pnp 
 

y c = A∆u + y0c

( y )(
c
N c .np ) x1 ( )
=( A) ( N c .np ) x ( N m .m ) ( ∆u ) ( N m .m ) x1 + y0c ( N c .np ) x1
Control por Matriz Dinámica
 ykd+1   yksp 
Trajectoria deseada:  d   
sp
 y k +2   y k 
   =   e =− A ∆u + e´
 d   sp 
 yk +np −1   yk 
 y d   y sp 
 k +np   k 

Ley de control: min J =eT e +∆u T R∆u


∂J
∂∆u
( −1
)
= 0 ⇒ ∆u = AT A + R AT e´

∆u =K MPC e´ Controlador DMC


uk =∆uk +uk −1 MIMO sin restricciones

R = diag [ r1 r2  rNm r1 r2  rNm  r1  rNm ]

[
∆u = ∆u1,k ∆u2,k  ∆u N m ,k ∆u1,k +1  ∆u N m ,k +1  ∆u1,k +m −1  ∆u N m ,k +m −1 ]
T
Control por Matriz Dinámica
Incluyendo matriz W de ponderação de las controladas:

We = −WA∆u + We´

 w1 
 w2 
 
  0 
 
 wN c 
W = 

 
 0 w1 
  
 
 wNc 
( N c .np ) x ( N c .np )

∂J
∂∆u
( −1 T
= 0 ⇒ ∆u = A W WA + R A W T We´
T T
)
Control por Matriz Dinámica
Selección de los parámetros de diseño del controlador DMC:
DMC

1 1
 Tiempo de muestreo: τ dom ≤ ∆t ≤ τ dom
10 5

 Horizonte de modelo: 30 ≤ N ≤ 120


(convolución)
N
 Horizonte de predicción: np >
2
(otimización o salida)
 Horizonte de control: 3 ≤ m ≤ 20
(entrada)

 Matrices de peso: R≥0


(diagonales) W >0
Algoritmo QDMC
García, C.E.; Morshedi, A.M. (1986). Quadratic programming solution of
dynamic matrix control (QDMC). Chemical Engineering Communications,
46(1-3):73-87.

Predicción de salida del DMC: e = − A∆u + e´


1 T T 1
Función objetivo: J= e W We + ∆u T RT R ∆u
2 2
1 T
Problema de optimización min J= ∆u H∆u + cT ∆u
cuadrática:
∆u 2
H = AT W T WA + RT R
cT = −e´T W T WA

Restricciones en las − ∆umax ≤ ∆u ≤ ∆umax


variaciones de
las manipuladas:  I m. N m  ∆umax 
− I  ∆u ≤ ∆u 
 m . N m  max 
Algoritmo QDMC
Restricciones en las amplitudes de las manipuladas:

umin ≤ u ≤ umax

 uk   I N m 0  0   ∆uk  uk −1 
 u  I I Nm  0   ∆uk +1  uk −1 
u =  k +1  =  m  + 
N
       
     
      
 k + m −1   I N m
u I Nm  I N m  ∆uk + m −1  uk −1 

u = N∆u + uk −1
u ≤ umax N∆u ≤ umax − uk −1
u ≥ u min − N∆u ≤ uk −1 − umin

 N  umax − uk −1 
− N  ∆u ≤ u − u 
   k −1 min 
Algoritmo QDMC
Restricciones en las amplitudes de las controladas:
ymin ≤ y ≤ ymax

y c = A∆u + y0c

y c ≤ ymax A∆u ≤ ymax − y0c


y c ≥ ymin − A∆u ≤ y0c − ymin

 A  ymax − y0c 
− A ∆u ≤  c 
   y0 − ymin 
Exiten diversos algoritmos para solución del problema de
optimización cuadrática.
En el Matlab, ver la función “quadprog.m”
Algoritmo QDMC

QUADPROG Quadratic programming.

X=QUADPROG(H,f,A,b) solves the quadratic programming


problem:

min 0.5*x'*H*x + c'*x subject to: A*x <= b


x

X=QUADPROG(H,c,A,b,Aeq,beq) solves the problem above


while additionally satisfying the equality constraints
Aeq*x = beq.

X=QUADPROG(H,c,A,b,Aeq,beq,LB,UB) defines a set of lower


and upper bounds on the design variables, X, so that the solution
is in the range LB <= X <= UB.
Aplicación: Reactor Industrial de
Polimerización
Aplicación: Reactor Industrial de
Polimerización

Implementación en Matlab/Simulink
Aplicación: Reactor Industrial de
Polimerización

Respuesta a cambio en el setpoint de la viscosidad intrinseca


Aplicación: Reactor Industrial de
Polimerización

Respuesta a una perturbación de +10% taxa de terminación


Aplicación: Columna de Destilación
de la Shell
u1
d2

y1
d1
u2

y3 = u 3
y2

y1 u1
y2 u2
(cerca valor mínimo) y 3 = u 3 u3
Aplicación: Columna de Destilación
de la Shell

Implementación en Matlab/Simulink
Aplicación: Columna de Destilación
de la Shell
Proceso:
y ( s ) = G yu ( s )u ( s ) + G yd d ( s )

 y1  G11 G12 G13   u1  Gd11 Gd12 


 y  = G       d1 
 2   21 G22 G23  u2  + Gd 21 Gd 22   
 d2 
 y3   0 0 1  u3   0 0 

− 0.5 ≤ ui ≤ 0.5, i = 1,2,3


u3 ⇒ Minimización
Aplicación: Columna de Destilación
de la Shell

Respuestas a cambios en el setpoint de y1 e y2


Aplicación: Columna de Destilación
de la Shell

Respuestas a perturbaciones d1 y d2
Aplicación: Unidad FCC de la
Petrobras

Refinería Henrique Lage


(REVAP)
 Localización : São José dos
Campos – SP
 Área: 10,3 km2
 Principales productos:
Gasolina, petróleo diesel,
kerosene de aviación, GLP,
asfalto.
 Capacidad instalada: 226
mil barriles/dia
Aplicación: Unidad FCC de la
Petrobras

FCC Kellog Ortoflow modelo F


Aplicación: Unidad FCC de la
Petrobras

y1 u1
y2 u2
y3 u3
y4 u4

Estructura de control de la unidad FCC


Aplicación: Unidad FCC de la
Petrobras

Matriz de respuesta al escalón de la unidad FCC


Aplicación: Unidad FCC de la
Petrobras

Respuesta a perturbación de +5% en el factor de formación de coke


Aplicación: Unidad FCC de la
Petrobras

Respuesta a -20% en la Temperatura del aire de combustión


Aplicación: Planta Tennessee
Eastman
Aplicación: Planta Tennessee
Eastman
Aplicación: Planta Tennessee Eastman
Aplicación: Planta Tennessee Eastman

Você também pode gostar