Curso MPC_slides.pdf
-
Upload
ricardo-escalada-cuadrado -
Category
Documents
-
view
24 -
download
5
Transcript of Curso MPC_slides.pdf
Curso
CONTROL PREDICTIVO BASADOEN MODELO CON RESTRICCIONESEN MODELO CON RESTRICCIONES
Dr Diego FeroldiDr. Diego [email protected]
Universidad Nacional de Rosario
1
Presentación del cursoPresentación del curso
I t d ió l C t l P di ti b d• Introducción al Control Predictivo basado en Modelo
• Formulación básica de un Control Predictivo• Formulación básica de un Control Predictivo basado en Modelo (MPC)
• Solución de MPC• Solución de MPC• Otras formulacionesE t bilid d t l d MPC• Estabilidad en controladores MPC
• Ajuste de controladores MPCd d• Casos de estudio
• Perspectivas
2
Bibliografía BásicaBibliografía Básica
J M M i j ki “P di ti C t l ith C t i t ”J.M.Maciejowski, “Predictive Control with Constraints”, Pearson education, 2002.
E Camacho C Bordons “Model predictive control” SpringerE. Camacho, C. Bordons, Model predictive control , Springer Verlag, 2004.
C Bordons Control Predictivo: metodología tecnología yC. Bordons, Control Predictivo: metodología, tecnología y nuevas perspectivas, I Curso de Especialización en Automática, Almería, 2000.
A. Bemporad, M. Morari, N. L. Ricker, “Model Predictive Control Toolbox 3: Getting Started Guide”, The MathWorks, Inc., 2009.Inc., 2009.
A. Bemporad, M. Morari, N. L. Ricker, “Model Predictive Control Toolbox 3: User’s Guide”, The MathWorks, Inc., 2009., , ,
3
Definición de Model Predictive Control (MPC)
l i d l• Es un algoritmo de control que computa unasecuencia temporal discreta de las variables
i l d f t l bj ti d ti imanipuladas a futuro con el objetivo de optimizarel comportamiento de la planta o proceso acontrolarcontrolar.
• Fue concebido para dar solución al control depplantas químicas y plantas de potencia aunqueactualmente puede encontrarse en diversas áreas:pmetalúrgica, automotriz, procesamiento de pulpa ypapel, alimentos, robótica, etc.
4
El Control Predictivo es un campo muy amplio deEl Control Predictivo es un campo muy amplio de métodos de control desarrollados en torno a ciertas ideas comunes:ideas comunes:
•Uso explícito de un modelo para predecir la salidaUso explícito de un modelo para predecir la salida del proceso en futuros instantes de tiempo (horizonte).(horizonte).
•Cálculo de las señales de control minimizando una cierta función objetivocierta función objetivo.
• Estrategia deslizante: en cada instante el horizonte se va desplazando hacia el futuro.
5
Expectativas y posibilidades técnicas
6
C. Bordons, Control Predictivo: metodología, tecnología y nuevas perspectivas, 2000
Algunas Soluciones Industriales deAlgunas Soluciones Industriales deControl Predictivo
• OPTIMIZE‐IT (ABB)
• DMCplus (ASPENTECH)
• INCA for BATCH (IPCOS)
• BRAINWAVE (ANDRITZ)
7
IntroducciónIntroducción
P MPC?Por que MPC?• Multivariable
• Minimiza costos
• Maximiza el rendimientoMaximiza el rendimiento
• Tiene en cuenta las limitaciones físicas en los actuadoresactuadores
• Permite la operación cerca de las restricciones
P i t í t ió d t d• Posee intrínsecamente compensación de retardo
• Es muy útil cuando se conocen las futuras referenciasreferencias
8
DesventajasDesventajas
• Costo computacional (Sin embargo, si la tasa de actualización de los movimientos de control es relativamente baja, entonces hay suficiente tiempo para e a a e e baja, e o ces ay su c e e e po pa arealizar los cálculos on-line)
• Conocer el modelo
9
Idea básicaIdea básica
Optimizador PlantaEntradas SalidasReferencias
r(t) u(t) y(t)
Medidas
( ) ( ) y( )
• CONTROL: Control complejo con restricciones de plantas multivariablerestricciones de plantas multivariable.
• PREDICTIVO: La optimización se basa en la evolución predicha a futura de la plantala evolución predicha a futura de la planta.
• MODELO: Se necesita un modelo de la planta para predecir el comportamiento a planta para predecir el comportamiento a futuro de la planta.
10
Analogía del MPC con la conducción de un automóvil
• El conductor sabe cual es su trayectoria deseada para un Ny phorizonte finito N.
• Teniendo en cuenta las características del auto (modelo mental del auto) decide que
i d i d t l t t+Nsecuencia de acciones de control realizar (acelerar, frenar y maniobrar) para seguir la trayectoria
t t
maniobrar) para seguir la trayectoria deseada.
• Sólo la primera acción de control Só o a p e a acc ó de co t oes tomada.
• El procedimiento se repite en el
11
p pinstante siguiente.
Filosofía del Horizonte Deslizante (Receding Horizon)(Receding Horizon)
• En cada instante t se resuelve un problema de pcontrol óptimo sobre un horizonte finito futuro N: – Se minimiza f(|y-r|, |u|) – Sujeto a restricciones:
maxmin yyy ≤≤
maxmin
maxmin
uuuuuuΔ≤Δ≤Δ
≤≤
• Solo se aplica el primer movimiento de control u*(t) • Luego se obtienen nuevas medidas de la planta y • Luego, se obtienen nuevas medidas de la planta y
se repite la optimización en t+1
Optimización On Line RealimentaciónOptimización On-Line → Realimentación12
Idea Básica del MPC
)(
)|(ˆ kty
)|( ktr)(ts
)|(ˆ ktyf
)(ty Hp
Entrada
k k+Hp Tiempo
Tiempok k+Hp
Hm
k+Hm
13
Tiempok k Hpk Hm
Ejemplo:Horizonte de control M=4
Horizonte de predicción P=9
14
Función objetivo generalizadaFunción objetivo generalizada
( ) ( ) ( ) ( )[ ] ( ) ( )[ ]22 1|ˆ2
−+Δ++−+= ∑ ∑ jtujjtrtjtyjNNNJN Nu
λδ( ) ( ) ( ) ( )[ ] ( ) ( )[ ]1
21 1|,,1
+Δ+++= ∑ ∑= =
jtujjtrtjtyjNNNJNj j
u λδ
Esfuerzo de controlSeguimiento de referencias Esfuerzo de controlSeguimiento de referencias
s(t)
r1(t+k)
r2(t+k)y(t)
t
15
tPasado Futuro
Importante!
ikky
+enocurriráquelodepredicción una tenemossolo en que significa ˆnotación La
( ) ( )
ik +
ˆ
.en ocurrirá quelo de
( ) ( )kikyiky +≠+ ˆgeneralen tanto,loPor
16
Construyendo el modelo: tipos de entradas y salidas
Perturbacionesmedidas
Pl tVariables
manipuladas
medidas
Salidas deEntradas Plantamanipuladas
no medidas
Salidas de la plantade la
planta
Perturbaciones no medidas
Ejemplo:í V i bl i l d d lReactor químico
AiAi TC ,Variable manipulada: temperatura del refrigerante, Tc
Perturbación medida: Temperatura de entrada, TAi
CTT AC
p , Ai
Perturbación no medida: Concentración de entrada, CAi
17
T Salida medida: Temperatura del producto, T
Salida no medida: Concentración de salida, CA
Buenos Modelos para MPCBuenos Modelos para MPC
ó• Buena descripción de la planta para capturar las dinámicas más significativas
• Suficientemente simple para poder realizar la optimización On-Linerealizar la optimización On-Line
18
Posibles Modelos para MPCPosibles Modelos para MPC• Lineales
ó– Respuesta al escalón/impulso– Espacio de estados/función transferencia
• No lineales• No lineales– Modelo de primeros principios– Múltiples modelos linealesMúltiples modelos lineales– Redes neuronales– Modelos ARX, ARMAX, NARMAX
• Robustos– Modelo lineal + descripción de incertidumbreHíb id (E d di i )• Híbridos (Estados discretos y continuos)– “Mixed Logical Dynamical Systems”
“Piecewise Affine Systems”– Piecewise Affine Systems
19
Modelos usando Toolboxes de MATLABLa toolbox de MATLAB requiere que el modelo sea li l i i t l ti (LTI) S dlineal e invariante en el tiempo (LTI). Se puede definir un modelo con estas caraterísticas de la siguientes maneras:siguientes maneras:
• Crear una función transferencia espacio de• Crear una función transferencia, espacio de estado o modelo de ceros/polos/ganancia: Control System Toolbox™ softwarey
• A partir de la planta: Identification Toolbox™ softwaresoftware
• Linealizando un modelo: Simulink®model
20
Resolución del MPC con un punto de i id i i i t d t lcoincidencia y un movimiento de control
( ) ( ) ( ) ( )kkuHSkHkykHky Δ++=+ ˆˆˆ( ) ( ) ( ) ( )
( ) ( )
PPfP
donde
kkuHSkHkykHky Δ++=+
:( ) ( )
( ) PP HHSkukkukku −−=Δ
enescalónlarespuestalaes)1(ˆˆ
( )
( ) ( )
PP
kkkkqueremos
HHS
ˆ:
en escalón larespuestalaes
( ) ( )PP
entonceskHkrkHky +=+
:
ˆ
( ) ( ) ( )( )
PP
HSkHkykHkr
kku+−+
=Δˆ
ˆ( )PHS
21
22
J.M.Maciejowski, “Predictive Control with Constraints”, Pearson education, 2002
ss3
2y r(k+2|k)=2.487
y(k+1)=2 28642 y(k+1)=2.2864
k-2 k-1 k k+1 k+23 60 Tiempo (seg)
0 3uû(k|k)=û(k+1|k)=0.4432
0.3u
23
k-2 k-1 k k+1 k+2Tiempo (seg)
24
25
Resolución del MPC con varios puntos de coincidencia y un movimiento de control
PPP c,,, :iacoincidenc de Puntos 21 K
( ) ( ) ( ) ( )( ) ( ) ( ) ( )
kkuPSkPkykPkr f ˆˆˆ 111 Δ++=+
( ) ( ) ( ) ( )kkuPSkPkykPkr f ˆˆˆ 222 Δ++=+
M
( ) ( ) ( ) ( )kkuPSkPkykPkr ccfc ˆˆˆ Δ++=+
26
Solución con mínimos cuadrados para el caso con un movimiento de control
d fiS
( )( )
( )( )
( )( )PSkPkykPkr
⎥⎤
⎢⎡
⎥⎤
⎢⎡ +
⎥⎤
⎢⎡ +ˆ
:define Se
111)
( ) ( ) ( )f
PSS
kPkyy
kPkr
⎥⎥⎥⎥
⎢⎢⎢⎢
=
⎥⎥⎥⎥
⎢⎢⎢⎢ +
=
⎥⎥⎥⎥
⎢⎢⎢⎢ +
=τˆ 222
MM
)
M
( ) ( ) ( )ccc PSkPkykPkr ⎥⎦
⎢⎣⎥
⎥⎦⎢
⎢⎣ +⎥
⎥⎦⎢
⎢⎣ +
:entonces
ˆ )
( ) ( )fySkku −=Δ τ\:entonces
)
27
Solución con mínimos cuadrados para el caso con varios movimientos de control
( ) ( )( ) ( ) ( ) ( )1ˆ1|ˆ
ˆˆ
+Δ−+Δ
++=+
kkuPSkkuPS
kPkykPky
ii
ifi
( )( ) ( )1ˆ1 −+Δ+−++ kHkuHPS uuiL
Δ+= f uΘyy
( ) ( ) ( ) ( )1ˆcon \ −+Δ=−=Δ kukkukufyyΘu
Si las restricciones de desigualdad son lineales, entonces se puede aplicar Programación
28
Cuadrática (Quadratic Programming).
:donde
( )( )
( )( ) ⎥
⎥⎤
⎢⎢⎡
+ΔΔ
⎥⎥⎤
⎢⎢⎡
++
1ˆˆ
ˆˆ
2
1
kkukku
kPkykPky
( )
( )
( )
( )⎥⎥⎥⎥
⎦⎢⎢⎢⎢
⎣ −+Δ
+Δ=Δ
⎥⎥⎥⎥
⎦⎢⎢⎢⎢
⎣ +
+=
1ˆ
1
ˆ
2
uc kHku
kku
kPky
kPkyMM
uy
( ) ( ) ( )( ) ( ) ( ) ⎥
⎤⎢⎡ −
⎦⎣⎦⎣
00001111 SPSPS LLL
( ) ( ) ( )
( ) ( ) ( )⎥⎥⎥⎥
⎦⎢⎢⎢⎢
⎣ +
−=
11
001122
HPSPSPS
SPSPSMMMMMMMMMM
LLLLLΘ
( ) ( ) ( )⎦⎣ +−− 11 uccc HPSPSPS LLLLLLL
29
Que pasa si el modelo no es exacto?Que pasa si el modelo no es exacto?
Solución: modelar como “perturbación”p
• Asumir que el error se debe a una perturbación:q p
( ) ( ) ( )1ˆ −−= kkykykd• Asumir que la misma perturbación se mantiene:
( )( )fkd y1yΘu −−=Δ \
Introduce Feedback!
30
•Se puede demostrar que actúa como un Se puede demostrar que actúa como un integrador discreto en el tiempo.
Req i ito Q e l pl nt el modelo e n •Requisito: Que la planta y el modelo sean asintóticamente estables.
•También puede ser aplicado a plantas marginalmente estable.
•Si el modelo es inestable, necesita ser estabilizadoestabilizado.
•Se puede lograr “realineando” el modelo l lid d l l t i t d con las salidas de la planta, i.e. tomando
las salidas de la planta como condiciones i i i l d l d liniciales del modelo.
31
“Realinear” basado en datos∑ ∑= =
−+−−=n
i
n
iimim ikubikyaky
1 1inestable) modelo( )()()(
( ) ( ) ( ) ( )∑ ∑= =
−+++−+−=+n
i
n
iipi ikubkkubikyakky
1 21 1ˆ11ˆ
( ) ( ) ( )∑=
+−+−+−=+
n
n
ipi ikyakkyakky
21 21ˆ2ˆ
( ) ( ) ( )
M
∑=
−++++n
ii ikubkkubkkub
321 2ˆ1ˆ
M
La clave es usar datos de la salida medidos siempre que sea posible.
Problema: se pierde el seguimiento de consigna sin error:1ym∞-yp≠0 porque ahora el modelo tiene no solo como
t d (k) i t bié (K)
32
entradas a u(k) sino también a yp(K)
HistoriaHistoria• Richalet et al en 1978: Model Predictive HeuristicControl
• Cutler and Ramaker en 1980: Dynamic MatrixCutler and Ramaker en 1980: Dynamic MatrixControl (DMC)
• Martin Sanchez en 1976: primer patente (Adaptive• Martin‐Sanchez en 1976: primer patente (AdaptivePredictive Control)
P i 1963 Kl i 1970 K P• Propoi en 1963,Kleinman en 1970, Kwon y Pearsonen 1975, Rouhani y Mehra en 1982: publicaciones
id i ilcon ideas similares
33
TerminologíaTerminología• Model Predictive Control (MPC)( )
• Model Based Predictive Control (MBPC)
D i M t i C t l (DMC)• Dynamic Matrix Control (DMC)
• Extended Prediction Self Adaptive Control (EPSAC)
• Generalised Predictive Control (GPC)
• Model Algorithmic Control (MAC)• Model Algorithmic Control (MAC)
• Predictive Functional Control (PFC)
• Quadratic Dynamic Matrix Control (QDMC)
• Sequential Open Loop Optimization (SOLO)Sequential Open Loop Optimization (SOLO)34
Estructura JerárquicaEstructura Jerárquica
Optimización del setpointOptimización del setpoint
C l P di iC l P di iControl PredictivoControl Predictivo
ddActuadoresActuadores
35
Formulación básica de MPCModelo de la planta
)()()1( kBkAk)()(
)()()1(
y kxCkykBukAxkx
=+=+
)()( z
y
kxCkz =
estado devector nx ℜ∈
entradaslu ℜ∈
scontroladasalidasmedidas salidas
z
y
m
m
zy
ℜ∈
ℜ∈
36
scontroladasalidasz ℜ∈
Secuencia de accionesSecuencia de acciones
1. Obtener medidas y(k)2. Computar las secuencia de entradas de la2. Computar las secuencia de entradas de la
planta u(k+i|k) i=0,…, Hu-13 A li (k|k) l l3. Aplicar u(k|k) a la planta
Notar: No hay transferencia directa desde u to y ( t i D)(matriz D).
37
38
Caso sin perturbación y medición de estados
⎪⎪⎧
+++=++=+
|k)(kuB|k)(kxA|k)(kx(k|k)u BAx(k) |k) (k x
1ˆ1ˆ2ˆˆ1ˆ
⎪⎪⎪
⎨+++=
+++=+
|k) (k u B ABˆu(k|k)x(k) A|k)(k uB|k) (k xA|k) (k x
1ˆ112
2
M
⎪⎪⎪⎨
+++=+ |k) - H(k u B|k) - H(k xA|k) H(k x ppp 1ˆ1ˆˆM
⎪⎪⎩ ++++= − |k) - H(k u B . . . (k|k) uB Ax(k) A p
HH pp 1ˆˆ1
( )⎪⎧ +=+ kkxCkkz z |1ˆ)|1(ˆy
( )⎪
⎪⎪⎨
+=+ kkxCkkz z |2ˆ)|2(ˆM
39( )⎪
⎪⎩ +=+ kHkxCkHkz pzp |ˆ)|(ˆ
M
En forma matricialB ⎤⎡MMM
-H iH BA
B
A
A|k) (k x
u
⎥⎥⎥⎥⎤
⎢⎢⎢⎢⎡
⎥⎥⎥⎤
⎢⎢⎢⎡
⎥⎥⎥⎤
⎢⎢⎢⎡ +
∑ˆ
1ˆ
1
MMM
H
ii
i
H
H
u
u )u(k BA
BAx(k)
A
A|k) H(k x
|k) H(k xuu
u
+−
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
+
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
=
⎥⎥⎥⎥
⎢⎢⎢⎢
+++
∑∑
=
=
+ 11ˆ
ˆ
0
0
1
444444 3444444 21
MMM
H
ii
HBAA Hp|k)(k x pp ⎥⎥⎥
⎦⎢⎢⎢
⎣⎥⎥⎦⎢
⎢⎣⎥
⎥⎥
⎦⎢⎢⎢
⎣ + ∑ −
=
ˆ 1
0
L
L
pasado
BABB
⎥⎥⎤
⎢⎢⎡
+ 00
ML
MOMH
ii
u(k|k)BBA
BAB
u
⎥⎥⎤
⎢⎢⎡ Δ
⎥⎥⎥⎥
⎢⎢⎢⎢ +
∑ −
=
0
1
0
MMM
L u
HHH
H
ii
i
|k) - Hu(k BABBAu ⎥⎥⎦⎢
⎢⎣ +Δ
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
+∑∑
=
=
1
1
0
0
40444444444 3444444444 21
L
futuro
HH
iiH
ii BABA upp ⎥
⎦⎢⎣ ∑∑ −
=
−
= 0
1
0
y
⎥⎥⎤
⎢⎢⎡ +
⎥⎥⎥⎤
⎢⎢⎢⎡
=⎥⎥⎤
⎢⎢⎡ + )|1(ˆ
0000
)|1(ˆ
y
kkxC
Ckkz
z
z
ML
L
M
⎥⎥⎦⎢
⎢⎣ +⎥⎥
⎦⎢⎢
⎣⎥⎥⎦⎢
⎢⎣ + )|(ˆ
00)|(ˆ kHkx
CC
kHkz pz
zp
M
L
MMMM
41
Caso con perturbación constante• 1º Suposición: la salida controlada y la salida
did l i ( )medida son la misma .
)|(ˆ)1|(ˆ)( kkdkkyky +−=
( )yz =
2º S i ió l b ió)|(ˆ)1|(ˆ
)|()|()(
kkdkkxC
yy
y +−=
• 2º Suposición: la perturbación permanece constante a lo largo del horizonte de predicción
)|(ˆ)|(ˆ)|(ˆ)|(ˆ kikdkikxCkikykikz y +++=+=+
)|(ˆ)|(ˆ:donde
kkdkikd =+
42
)|()|( kkdkikd +
Entonces, lo que se debe hacer el instante k es lo siguiente:
1. Medir la salida de la planta actual y(k).y( )2. Estimar la perturbación como la diferencia entre
la salida actual y la salida estimada.3. Usar esta estimación para predecir las salidas a
lo largo del horizonte de predicción.
Nota: ( ) ( ) cuandoaun |ˆ|ˆ ICkikxkiky y =+≠+( ) ( ).ˆestimar para observadorun necesita se generalEn x
y
43
Usando un observadorUsando un observador( )( )
( )( ) ⎥
⎤⎢⎡
+⎥⎤
⎢⎡
⎥⎤
⎢⎡
=⎥⎤
⎢⎡ +
)(01
kuBkxAkx
( ) ( )
[ ] ( )( )⎥⎦
⎤⎢⎣
⎡=
⎥⎦
⎢⎣
⎥⎦
⎢⎣
⎥⎦
⎢⎣
⎥⎦
⎢⎣ +
)(
)(001
y kdkx
ICky
kdIkd
( )
( ) [ ] ( )⎥⎤
⎢⎡
+⎥⎤
⎢⎡
+⎥⎤
⎢⎡ −⎟⎟⎞
⎜⎜⎛
⎥⎤
⎢⎡
⎥⎤
⎢⎡
⎥⎤
⎢⎡ +
⎦⎣
)()(1|ˆ01ˆ xx ky
Lku
BkkxIC
LAkx
kd
( ) [ ] ( )( ) ( ) ( )+−−=
⎥⎦
⎢⎣
+⎥⎦
⎢⎣
+⎥⎦
⎢⎣ −⎟⎟⎠
⎜⎜⎝
⎥⎦
⎢⎣
−⎥⎦
⎢⎣
=⎥⎦
⎢⎣ +
1|ˆ|ˆ pero
)()(01|ˆ01ˆ
y
dy
d
kykkxCkkd
kyL
kukkd
ICLIkd
( ) ( )
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
=+
0LL
L entonces
|ˆ|1ˆy
x
I
kkdkkd
[ ] ⎥⎦
⎤⎢⎣
⎡−
=⎟⎟⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡
⎥⎦
⎢⎣
⎥⎦
⎢⎣
00
00
y
Ld
yd
x
CA
ICLL
IA
I
44
⎦⎣⎠⎝ ⎦⎣⎦⎣ 00 yd CLI
)(ku )(kx )(kyB
)(ku )(kx )(kyC1−z+
+
APLANTA
+L
( )1|ˆ kk+ -
B C1−z ( )1| −kkx( )1|ˆ −kky+
+
A OBSERVADOR
45
( ) [ ] ( ) ⎤⎡⎤⎡⎤⎡⎞⎛ ⎤⎡⎤⎡⎤⎡ + 1|ˆ01ˆ LBkkxLAkx( )( ) [ ] ( )
( ) ⎥⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡+⎥
⎦
⎤⎢⎣
⎡−−
⎟⎟⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡++
)()(01|ˆ
1|0
01ˆ1
d
xy
d
x kyLL
kuB
kkdkkx
ICLL
IA
kdkx
( ) ( ) ( )+−−= 1|ˆ|ˆ pero
y kykkxCkkd
( ) ( )=+ |ˆ|1ˆy
kkdkkd
⎥⎤
⎢⎡
⎥⎤
⎢⎡ 0L
L
entonces
x⎥⎦
⎢⎣
=⎥⎦
⎢⎣
=
y L
Ld
x
I
[ ] ⎥⎦
⎤⎢⎣
⎡−
=⎟⎟⎠
⎞⎜⎜⎝
⎛⎥⎦
⎤⎢⎣
⎡−⎥
⎦
⎤⎢⎣
⎡00
00
y
yd
x
CA
ICLL
IA
46
⎦⎣⎠⎝ ⎦⎣⎦⎣ 00 yd CLI
i ifi l l d l b dEsto significa que los polos del observador se encuentran en los siguientes sitios (matriz triangular):
• Polos de la planta (no hay problema si la planta es estable)• Cero: se obtiene estimación “deadbeat”
Conclusiones:
• Se pueden usar diferentes ganancias de observador con el mismo modelo de perturbaciónmismo modelo de perturbación.
• Se puede usar el mismo enfoque con otros modelos de perturbación.
• Al momento de predecir, reemplazar por)(kx )|(ˆ kkx
47
Función de costo cuadráticaFunción de costo cuadráticaHH uP −1
22
Q
i|k)(k uΔ i|k)k i|k) - r((k zV (k)
T
iiR
HiiQ
uP
w
=++++= ∑∑==
:Notación
0ˆˆ
2
0
2
)(
2
)(
HH
xQxx TQ=
1U l ttdtldC i:ajuste de Parámetros
:Notación
Hii|k)(kHHuHpH
HH
P
ww
≥+Δ≥
=
0ˆC t ldH i t .Predicción de Horizonte
1.eUsualmentcosto. deventanaladeComienzo
R(i)Q(i)
Hii|k) (k uH uu
≥≥
≥=+Δ
controldesmovimientolosdeónPenalizaci0salida. deerror delón Penalizaci 0
para0Control.deHorizonte
i)u(ki|k)(ku
R(i)
+Δ≠+Δ
≥
ˆ:
control.desmovimientolosdeón Penalizaci 0
!Importante
48
i)u(k i|k) (k u +Δ≠+Δ:!Importante
Control Predictivo con RestriccionesControl Predictivo con Restricciones• En la práctica todos los procesos están sujetos aEn la práctica todos los procesos están sujetos a restricciones.
• Los actuadores tienen un campo limitado de acción p(límites físicos).
• Existen límites de seguridad: presiones o temperaturas g p pmáximas.
• Requerimientos tecnológicos: mantener variables, por l d dejemplo temperaturas, en un rango determinado.
• Necesidad de trabajar cerca de las restricciones para t l fi i iaumentar la eficiencia.
• Limitaciones de calidad del producto o normativa medioambientalmedioambiental.
49
• En una Estrategia convencional las restriccionesEn una Estrategia convencional las restricciones en la variable manipulada se pueden implementar saturando la salida del controlador.
• Las restricciones de la variable controlada no pueden abordarse y se intenta evitar trabajando p y jalejados de los límites.
• En el Control Predictivo sin restricciones si la señal de control calculada viola la restricción, se satura (las señales futuras ni siquiera se tienen en
) S i d l á d l ó icuenta). Se pierde el carácter de control óptimo• La violación de los límites de las variables controladas puede ser costoso y peligroso: daños en equipos y pérdidas en la producción
50
• El MPC es la única metodología capaz de incorporar las g p prestricciones de forma sistemática en la fase de diseño del controlador.
H l t i i f ió d l• Hay que expresar las restricciones en función de las variables sobre las que se puede actuar.
• En los actuadores son básicamente amplitud y velocidad de• En los actuadores son básicamente amplitud y velocidad de cambio (slew‐rate). También se pueden evitar zonas muertas pero el problema es mucho más complejo.
• En las CVs, principalmente en la amplitud, pero se pueden conseguir otros comportamientos:
A lit d á i í i ( id d)– Amplitud máxima y mínima (seguridad)– Banda: obligar a un perfil de funcionamiento– Comportamiento monótono. Puede evitar kickbackp– Evitar respuesta inicial inversa (sistemas fase no mínima)– Evitar sobreoscilación
51
• Las variables manipuladas siempre se pueden• Las variables manipuladas siempre se pueden mantener restringidas recortando la salida l l d l l dcalculada por el controlador.
• Las restricciones en la salida deben• Las restricciones en la salida deben controlarse ya que están afectadas por la di á i d ldinámica del proceso.
• No considerar restricciones en la salida puede• No considerar restricciones en la salida puede dar lugar a reducción en beneficios y causar d ñ idaños a equipos o personas.
52
Restricciones con desigualdades linealesRestricciones con desigualdades lineales
)vec()|k)-H(ku(k|k)uF vec()vec() |k), - H(k u. ,(k|k), . .uE vec( u
011ˆˆ011ˆˆ
≤+≤+ΔΔ
)vec() |k), H(k z. . , Hw|k), . (k zG vec()vec() |k), H(k u. , (k|k), . .uF vec(
p
u
01ˆˆ011
≤++≤+
Las restricciones pueden formularse en las siguientes variables:•Movimiento en las entradas•Magnitud de las entradas• Salidas controladas o estados
53
• MPC con restricciones → ley de control no lineal:
– MPC trabaja en modo lineal cuando la planta opera lejos de las restriccionesopera lejos de las restricciones
– MPC trabaja en modo no lineal cuando la planta se acerca a las restricciones
• Ejemplo: control de temperatura en un motorEjemplo: control de temperatura en un motor
54
Algoritmos de resoluciónAlgoritmos de resolución
MODELOFUNCIÓNCOSTE
RESTRICCIONES SOLUCIÓN
Lineal Cuadrática Ninguna Explícita
Lineal Cuadrática Lineales QPLineal Cuadrática Lineales QP
Lineal Norma‐1 Lineales LP
55
Control Predictivo con restriccionesControl Predictivo con restricciones
• La función QUADPROG resuelve el problema de programación cuadrática:p g
⎪⎨
⎧ ≤bAbAX
f TT1i⎪⎩
⎪⎨
≤≤=+
ubXlbbAtsXfHXX eqeq
TT
X.
21min
• La función QPDANTZ resuelve el problema de programción cuadrática convexa usando el algoritmoprogramción cuadrática convexa usando el algoritmode Dantzig‐Wolfe.
56
Relajación de las restricciones
• Es grave que el problema de optimización resulte no
Relajación de las restricciones
g q p pfactible.
• Posibles causas:– Ocurre una gran perturbación inesperada– El modelo de planta difiere demasiadoEl modelo de planta difiere demasiado
• Soluciones:Mantener la misma entrada que en el paso– Mantener la misma entrada que en el paso anterior.Aplicar û(k+2|k) computada en el paso anterior– Aplicar û(k+2|k) computada en el paso anterior.
– Estrategias de gestión de restricciones.R l j l i i– Relajar las restricciones.
57
• Las restricciones de entrada normalmente no se• Las restricciones de entrada normalmente no se relajan.
• Una manera directa de relajar restricciones es agregar variables denominadas variables de holgura (“slack” variables).
• Son no nulas solo si la restricción es violada• Son no nulas solo si la restricción es violada.
• Son severamente penalizadas en la función costo de pmanera que el optimizador trate de hacerla nula si es posible.
58
Relajación de las restriccionesRelajación de las restricciones1min 2++Φ ερθφθθ TT
s.t.
2,
⎨⎧ +≤Ω εωθ
ρφεθ
0⎩⎨ ≥ε
negativo noescalar un es quedimensión misma lacon negativo noun vector es
ρωε
nesrestricciosin Problema:0=ρfuertes nesrestricciocon Problema:∞→ρ
Continua siendo un problema QP pero con un59
Continua siendo un problema QP pero con un mayor número de variables
( )target
2target )0()0()0()0(
⎟⎟⎞
⎜⎜⎛
⎥⎤
⎢⎡
⎥⎤
⎢⎡
⎟⎟⎞
⎜⎜⎛
⎥⎤
⎢⎡
⎥⎤
⎢⎡ uu
Wuu
J
T
MMMM( )target
2
target
)0()0(
)1()1()1()1(,ε
⎤⎡ Δ⎤⎡ Δ
⎟⎟⎟
⎠⎜⎜⎜
⎝⎥⎥⎥
⎦⎢⎢⎢
⎣ −−
⎥⎥⎥
⎦⎢⎢⎢
⎣ −⎟⎟⎟
⎠⎜⎜⎜
⎝⎥⎥⎥
⎦⎢⎢⎢
⎣ −−
⎥⎥⎥
⎦⎢⎢⎢
⎣ −=
uu
pupuW
pupuzJ u MMMM
2
)1(
)0(
)1(
)0(
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−Δ
Δ
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−Δ
Δ+ Δ
pu
uW
pu
u
T
u MM
22
)(
)1(
)(
)1(
)(
)1(
)(
)1(ερε+
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎟⎟⎟
⎠
⎞
⎜⎜⎜
⎝
⎛
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡+
pr
r
py
yW
pr
r
py
y
y
T
MMMM
)()()()( ⎠⎝ ⎥⎦⎢⎣⎥⎦⎢⎣⎠⎝ ⎥⎦⎢⎣⎥⎦⎢⎣ prpyprpy
⎥⎥⎤
⎢⎢⎡ −
⎥⎥⎤
⎢⎢⎡
⎥⎥⎤
⎢⎢⎡ − )1()1()1()1()1( maxmaxminmin VyyVy yy εε
MMM
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
−−
≤⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
≤⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
−−
)0()0()()(
)0()(
)0()0()()(
maxmax
maxmax
minmin
minmin
VupVpy
upy
VupVpy
ts
y
y
y
y
εε
εε
M
M
M
M
M
M
⎥⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢⎢
−Δ−−−
≤
⎥⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢⎢
Δ−
≤
⎥⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢⎢
−Δ−−−
)0()0()1()1(
)0()1(
)0()0()1()1(
..
maxmax
maxmax
minmin
minmin
VupVpu
upu
VupVpu
ts
y
y
y
y
εε
εε
M
M
M
M
M
M
60
⎥⎥
⎦⎢⎢
⎣ −−−Δ⎥⎥
⎦⎢⎢
⎣ −Δ⎥⎥
⎦⎢⎢
⎣ −−−Δ )1()1()1()1()1( maxmaxminmin pVpupupVpu yy εεMMM
E bilid d MPCEstabilidad en MPC
l i ?• ¿Realmente importa?– Si se diseña el controlador off‐line la estabilidad
i l d l l d blnominal del lazo cerrado no es un problema.– Es fácil chequear el sistema diseñado es estable asumiendo que el modelo es correctoasumiendo que el modelo es correcto.
– Estabilidad en lazo cerrado es problemática si se hace un rediseño on‐lineun rediseño on line.
– Control predictivo implica realimentación.– Aun cuando la performance de la planta se optimiza a– Aun cuando la performance de la planta se optimiza a lo largo de un horizonte, cada optimización no tiene en cuenta lo que ocurre luego.
61
Estabilidad en MPC• Restricciones terminales aseguran estabilidad
lldi il db iS i d( )
tf ióli i i d)(),()1(
plantalaparapredictivor controladoun obtiene se que Suponiendo=+ kukxfkx
( ))|1(ˆ),|(ˆ)(
costofunción la ominimizand
−++=∑ kikukikxlkVH P
( )
0)|(ˆn terminalrestricciólaasujetoedecrecient es y 0y 0 si solo 0),(y 0),( donde
1
+===≥
∑=
kHkxluxuxluxl
i
problemaelquesiempreestablees00equilibriodepuntoelEntonces)0,0(0 :equlibrio de puntoun es 0 ,0 que Asumimos
0)|(n terminalrestricciólaasujeto
=====
=+
uxfux
kHkx P
LyapunovdefuncionesusandodemostrarpuedeSepaso. cadaen resuelve sey factible sea
problemaelquesiempreestable es0,0equilibriode punto elEntonces == ux
62
Lyapunov.defuncionesusandodemostrar puede Se
Estabilidad en MPC• Horizonte infinito
S d i bl h i– Se puede aproximar a un problema con horizonte finito con restricción terminal.
– Horizontes infinitos dan estabilidad.
k k+1 k+Hp k+1+Hp Tiempo
63k k+1 Tiempo
Como diseñar el controlador MPCComo diseñar el controlador MPC
1. Programar el controlador usando funciones de MATLAB (ejemplo: basicmpc.m)( j p p )
2. Diseñar el controlador usando la “ModelP di ti C t l T lb ” MATLABPredictive Control Toolbox” para MATLAB
3. Usando funciones específicas de la Toolbox3. Usando funciones específicas de la Toolbox
Uso de objetos tipo MPC
64
Objetos tipo MPCObjetos tipo MPC
• Existen tres tipos de objetos MPC:
1. MPC Controller Objectj
2. MPC Simulation Option Object
3. MPC State Object
65
Objetos tipo MPCj p
• Todos los parámetros que definen la ley de control MPC(horizonte de predicción, pesos, restricciones, etc. ) estánalmacenados en un MPC controller object, los cuales seconstr en en dos etapasconstruyen en dos etapas:
1. Construcción
Ts = 1;
MPCobj = mpc(CSTR, Ts);
2. Initialización
66
Obj t ti MPCObjetos tipo MPC• El objeto tipo mpcsimopt contiene opciones varias para la
simulación de un controlador MPC con el comando sim:
Si O ti i t( bj)– SimOptions=mpcsimopt(mpcobj)
– Usar SET/GET para cambiar la opciones.
• El objeto tipo mpcstate contiene el estado del controladorMPC:MPC:
– mpcstate(mpcobj)
67
Estructura MPCEstructura MPC(MATLAB Toolbox)
68
Ajuste de parámetros en MPCAjuste de parámetros en MPC
• Pesos
• Horizontes• Horizontes
• Modelo de perturbación y dinámica del observador
T t i d f i• Trayectoria de referencia
69
EJEMPLO:Continuous Stirred‐Tank Reactor (CSTR.m)
+ BAdxAiC
⎤⎡⎤⎡⎤⎡
+=
+=
TDuCxy
BxAxdt
CTC
⎤⎡⎤⎡⎤⎡⎤⎡
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
0010
,, :donde
bb
CT
yCT
uTC
xAA
CA
i
T AC
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
0000
,0110
,,2221
1211
2221
1211 DCbbbb
Baaaa
A
A [ 0 0285 0 0014 CSTR I tN {'T ' C A i'} CSTR t i l (CSTRA = [‐0.0285 ‐0.0014‐0.0371 ‐0.1476];B = [‐0.0850 0.02380 0802 0 4462];
CSTR.InputName = {'T_c', C_A_i'};CSTR.OutputName = {'T', 'C_A'};CSTR.StateName = {'C_A', 'T'};CSTR InputGroup MV = 1;
CSTR = setmpcsignals(CSTR, 'UD', 2, 'UO', 2)
0.0802 0.4462];C = [0 11 0];D = zeros(2 2);
CSTR.InputGroup.MV = 1;CSTR.InputGroup.UD = 2;CSTR.OutputGroup.MO = 1;CSTR OutputGroup UO = 2;
70
D = zeros(2,2);CSTR = ss(A,B,C,D);
CSTR.OutputGroup.UO = 2;CSTR
Diseñando el MPC usando la Toolbox de diseño (mpctool)
71
1.5
2
2.5Plant Outputs
0
0.5
1
T
0
-3
-2
-1
0
C A
0 5 10 15 20 25 30-5
-4
-3
Time (sec)
10
15Plant Inputs
0
5
T c
1
0
0.5
1
C Ai
720 5 10 15 20 25 30-1
-0.5
Time (sec)
Ejemplo de “Blocking” con cuatro movimientos de controlde control
•Un “block” es un uno o más períodos de muestreo sucesivos durante los cuales la variable manipulada permanece constantevariable manipulada permanece constante.
•La “block duration” es la cantidad de períodos de muestreo en cada block.
•En el ejemplo es 2, 2, 2, 3 (la suma tiene que ser igual a P).j p , , , ( q g )
73
Modelo usado por la Toolbox para la estimaciónModelo usado por la Toolbox para la estimación de estados
74
Plantas no linealesU d lMPC C ll Bl kUso del MPC Controller Block
75
Diseñando el MPC usando funcionesTs = 1;MPCobj = mpc(CSTR, Ts); Creación del objeto controlador
get(MPCobj)
M i l dV i bl (MV) [1 1 ]ManipulatedVariables (MV): [1x1 struct]OutputVariables (OV): [1x2 struct]DisturbanceVariables (DV): [1x1 struct]Weights (W) [1 1 st ct]
Viendo y alterando las propiedades del objeto controladorWeights (W): [1x1 struct]
Model: [1x1 struct]Ts: 1Optimizer: [1x1 struct]
controlador
Optimizer: [1x1 struct]PredictionHorizon (P): 10ControlHorizon: 2History: [2e+003 7 21 20 18 20 1]History: [2e+003 7 21 20 18 20.1]Notes: {}UserData: []
ObjName.PropName = value;76
• Simulaciones lineales[y, t, u] = sim(MPCobj, T, r);plot(t, y);
MPCopts = mpcsimopt;MPCopts.Constraints = 'off';sim(MPCobj, T, r, MPCopts)
Si l i li l• Simulaciones no lineales Si la planta es un modelo no lineal en simulink, se debe linealizar el modelo y diseñar un controlador para el modelo linealmodelo y diseñar un controlador para el modelo lineal.
77
Ot F l iOtras Formulaciones
• Perturbaciones medidas: feedforward
• Generalized Predictive Control (GPC)
• Dynamic Matrix Control (DMC)
• Predictive Functional Control (PFC)
• Formulación continua en el tiempo
78
df dEstructura Feedforward
Perturbaciónmedida
)(kd
Controlador Planta
)(kdm
ˆˆ
+-
++
+
)( zPd
)(kr )(ky)(ku
)(ˆ)(ˆ 11 zPzP d
−
Setpoint-
+ + +)(1 zP )(2 zP)( zC)(kr )(ky)(ku
79
Modelo de la planta con perturbación medidaModelo de la planta con perturbación medida
)()()|(ˆ)|1(ˆ kdBkBukkxAkkx⎧ +++)|(ˆ)|(ˆ
)()()|()|1(kkxCkky
kdBkBukkxAkkx
y
md
⎪
⎪⎨
⎧
=++=+
)|(ˆ)|(ˆ kkxCkkz z⎪⎩ =
( )? |ˆpredecir Como kikd m +
•Usualmente suponemos que permanece constanteUsualmente suponemos que permanece constante• Si es posible hacer una mejor suposición
80
D i M i C l (DMC)Dynamic Matrix Control (DMC)El DMC l l ló d i l• El DMC usa la respuesta al escalón para determinar la denominada Matriz Dinámica G.
• Esta matriz se interpreta como un modelo del proceso.
• La salida predicha puede ser expresada como
y = Gu + f ,
dondedonde– y es el vector temporal de salidas predichas
– u es la secuencia de acciones de control a futuro
– f es el vector de respuesta libre.
81
• La Matriz DinámicaG se construye a partir de los y pcoeficientes gi obtenidos a partir de la respuesta al escalón con horizonte de predicción hp y horizonte de p p ycontrol hm:
hpSal
ida
⎥⎥⎤
⎢⎢⎡ 1
000
ggg
L
Lg2
ghp
g4g3
p
⎥⎥⎥⎥⎥
⎢⎢⎢⎢⎢
=− 11
12 0
mm hhij ggg
gg
GL
MOMM
L
g1
g2
⎥⎥⎥⎥
⎦⎢⎢⎢⎢
⎣ +−− 11 mppp hhhh ggg L
MOMM
t1 t4t3t2 thpt0
Ent
rada
82
E
( ) ( ) ( )kfkkugkky ++Δ=+ 1|ˆ|1ˆ 1( ) ( ) ( )( ) ( ) ( ) ( )kfkkugkkugkky
kfkkugkky+++Δ+Δ=+
++Δ+2|1ˆ|ˆ|2ˆ
1||1
12
1
M
( ) ( ) ( ) ( )pmhhhp hkfkhkugkkugkhkympp
+++Δ++Δ=+ +− |ˆ|ˆ|ˆ 1L
M
83
• El objetivo del controlador DMC es minimizar un funciónjcosto J(k)
)(min kJu
• donde la función costo J(k) se define como
( )[ ] ( )[ ]|ˆ|ˆ)(1
ykjkyRykjkykJP
r
h
j
Tr +−+−+=∑
=
[ ] [ ])|()|(0
kjkuQkjkumh
j
T +Δ+Δ+∑=
• y–R es una matriz para compensar los diferentes rango de valores
( ) ( ) ( )kjkukjkukjku |1|| +−−+=+Δ– R es una matriz para compensar los diferentes rango de valores
de las salidas del proceso– Q es una matriz que permite penalizar el esfuerzo de control.
84
• El vector de control resulta
( )• donde R y Q son matrices expandidas en el caso multivariable a partir de las
matrices originales:
( ) eRGQRGGu TT 1−+=Δ
g
⎥⎥⎤
⎢⎢⎡
=⎥⎥⎤
⎢⎢⎡
= L
L
L
L
2
1
2
1
00
;00
QRR
R⎥⎥⎦⎢
⎢⎣⎥
⎥⎦⎢
⎢⎣ OMMOMM
22 ; QQ
• e es el vector de errores futuros a lo largo del horizonte de predicción:
prrpr khkyykkyykyye ),|1(,),|1(),([ 11 1111L −+−+−−=
Tprrpr
prrpr
khkyykkyykyy ]),|1(,),|1(),( 22
11
2222
1111
LL −+−+−−
• donde es la i_th salida de la planta medida en el instante presente k.)(kyip
85
DMC sin restricciones→ Solución explícita
Ejemplo: PEM Fuel Cell Systemj p yD. Feroldi et al. / Journal of Power Sources 169 (2007) 205‐212
86
P di i F i l C l (PFC)Predictive Functional Control (PFC)
• La motivación es lograr un gran ancho de banda
• Hace énfasis más en la velocidad que en las qrestricciones
• Es importante el seguimiento de setpoint• Es importante el seguimiento de setpoint
• Características:– Pequeño número de puntos de coincidencia
– Trayectoria de referencia para definir la performance
– Funciones básicas para trayectorias de control futuras
87
Funciones básicas• Escalones con retardo
• Polinomios de bajo orden( ) ( ) ( ) ( ) ( ) c
c ikuikuikukukiku ++++=+ L2210|ˆ
Escalón
( ) ( ) ( ) ( ) ( )c210
k TiempoRampa
k Tiempok Tiempo
Parábola
88k Tiempo
• Emplea el concepto de puntos de coincidenciaEmplea el concepto de puntos de coincidencia para facilitar los cálculos: la salida predicha y la referencia deben coincidir en dichos puntosreferencia deben coincidir en dichos puntos.
• No se requiere un modelo discreto en el tiempo.
• Solo se necesitan conocer los valores de la• Solo se necesitan conocer los valores de la respuesta al escalón en los puntos de i id icoincidencia.
• Se podría trabajar completamente en tiempoSe podría trabajar completamente en tiempo continuo.
89
Un punto de coincidencia: ∆p = ∆m
Consigna constanteConsigna
de
)( Hn+ε
pΔ
Trayectoria de
referencia
icha
)(nε
pΔ
Salida predich
Salida del Proceso (yp)
mΔSalida del modelo
Horizonte de coincidencia
n+H1 n+H2n+HnSalida del modelo (ym)
90
Horizonte de predicción
FuturoPasado
( ) ( ) ( ) con )()( s
TT
Hp
H enyncnHn−
ΔΔ
=−==+ λλλεε
( ) ( ) ( ) ( ) ( )( )1y
HHH
mp
Δ
Δ=Δ
λλ( ) ( ) ( ) ( ) ( )( )
( )( ) ( ) ( )resulta doReemplazan
1
H
HH nnnHnnp −=−=+−=Δ λελεεεε
( )( ) ( ) ( )
( )( ) ( )resulta oResolviend
1)()( mmH
p nyHnynync −+=−− λ
( )( ) ( )( )1
1)(1)()( H
mm
Hmm
Hp
aKanynyC(n)
nMV−
−+−−=
λ
.con m
s
TT
m ea−
=
91
Formulación continua en el tiempoFormulación continua en el tiempo:costoFunción
)|(ˆ)|(ˆ)()(22
2
1
2
1
dtudtytrtV τττλτττττ
τ
τ
τ+++−+= ∫∫
)()()()()|(y
:salida de Predicción
)(2
tytytytyt nnτττττ ++++=+ L&&&
:entrada la deación Parametriz
)(!
)(!2
)()()|(y tyn
tytytyt τττ ++++=+ L
)(!
)(!2
)()()|(ˆ )(2
tum
tutututu mnτττττ ++++=+ L&&&
m juega un papel similar al horizonte de control
92
j g p p
Control Predictivo GeneralizadoControl Predictivo Generalizado
• Fue propuesto por Clarke et al. en 1987.
• Se ha empleado con éxito en numerosas• Se ha empleado con éxito en numerosas aplicaciones industriales
• Tiene muchas ideas en común con otros controladores predictivos.controladores predictivos.
• Es capaz de proporcionar una solución explícita en ausencia de restricciones.
93
Formulación delFormulación del Control Predictivo Generalizado (GPC)
)()()1()()()( 111 CBA d
Un proceso SISO puede ser descritos de la siguiente forma:
si)()()1()()()( 111
⎧
+−= −−−− tezCtuzBztyzA d
)(
1)(2
21
101
22
11
1
⎪
⎪⎨
⎧
++++=
++++=−−−−
−−−−
zbzbzbbzB
zazazazAnb
nb
nana
L
L
sistemadelmuertotiempoelesdonde
1)( 22
11
10
⎪⎩ ++++= −−−−
d
zczczczC ncnc
nb
L
1CtomarpodemosdsimplicidaPor
sistema.del muertotiempoelesdonde d
94
1.Ctomar podemosdsimplicidaPor =
• El objetivo del algoritmo GPC consiste en aplicar una j g psecuencia de señales de control que minimice una función de coste de la forma:
( )[ ]∑ ++−+=N
u jtwkjtyjNNNJ 221 )(|ˆ)(),,(
2
δ
[ ]∑
=
−+Δ+uN
Nj
jtuj 2)1()(
1
λ∑=j 1
95
Predicciones óptimas
( ) +Δ=++ ++ 11 )()(|1ˆóptimasesprediccion las de conjunto El
tyFtuGtdty dd( )( ) ++Δ=++
+Δ++
++
++
22
11
)()1(|2ˆ)()(|1
tyFtuGtdtytyFtuGtdty
dd
dd
M
( ) +−+Δ=++ ++
t i i lfitd)()1(|ˆ tyFNtuGtNdty NdNd
M
Δ++= −111 )(comomatricialformaen escritoser puede
zu)G'(z)y(t)F(zGuy --
⎥⎤
⎢⎡
⎥⎤
⎢⎡ Δ
⎥⎤
⎢⎡ ++ 0 00)()1|1(ˆ
dondegtudty L
⎥⎥⎥⎥
⎢⎢⎢⎢
=
⎥⎥⎥⎥
⎢⎢⎢⎢ +Δ
=
⎥⎥⎥⎥
⎢⎢⎢⎢ ++
= 01 0)1()1|2(ˆ ggG
tuu
dtyy
MOMM
L
MM
96
⎥⎦
⎢⎣
⎥⎦
⎢⎣ −+Δ⎥
⎦⎢⎣ ++ −− 021)1()1|(ˆ gggNtuNdty NN L
( )( )
gzGz d⎥⎤
⎢⎡ −−
+ )( 01
1
( )zggzGzzG d
⎥⎥⎥⎥
⎢⎢⎢⎢ −−
=−−
+− )()('
110
12
21
M
( )zF
zgzggzGz NNNd
N
⎤⎡
⎥⎥⎦⎢
⎢⎣ −−−−
−
−−−
−−+
)(
)(1
)1(1
110
1 L
zFzF
zF d
d
⎥⎥⎥⎤
⎢⎢⎢⎡
=−
+
+
)()(
)(1
2
1
1
M
fzF Nd ⎥
⎥⎥
⎦⎢⎢⎢
⎣−
+
ddd lliúl ild dAl)( 1
M
f :en agrupar pueden sepasadodelsoloterminosúltimos losdepender Al
fGuy +=
Similar al caso DMC pero la respuesta libre es distinta97
Similar al caso DMC pero la respuesta libre es distinta
Obtención de la ley de controly
( ) ( ) uuwfGuwfGuJ TT +−+−+=donde
λ
[ ]Ndtwdtwdtww T++++++= )()2()1(
donde
L
fbuHuuJ T ++= 021
Al mismo resultado se puede
( )IGGH T += 2con
2
λ
Al mismo resultado se puede llegar calculando G a partir de los coeficientes de la respuesta ante( )
( )( ) ( )wfwff
GwfbT
T
−−=
−=
0
2coeficientes de la respuesta ante escalón.
( ) ( )wfwff0
:resulta control deley La
98
TbHu 1−−=
Control Predictivo basado en Modelo No Lineal (NMPC)
h l li l• Muchos procesos son altamente no lineales• Necesidad de operar en diferentes puntos de p poperación
• Procesos donde no hay un estado estacionarioProcesos donde no hay un estado estacionario
• Necesidad de implementar NMPCp• Necesidad de modelos no lineales
99
Las aplicaciones que requieren NMPC puedesLas aplicaciones que requieren NMPC puedes ser divididas en dos grandes categorías:• Problemas de control regulador donde el• Problemas de control regulador donde el proceso es altamente no lineal y ocurren frecuentes perturbaciones (control de pHfrecuentes perturbaciones (control de pH, etc.).
• Problemas de servo control donde el punto de operación cambia frecuentemente y la plantaoperación cambia frecuentemente y la planta tiene dinámicas altamente no lineales (manufactura de polímeros, síntesis de(manufactura de polímeros, síntesis de amoníaco, etc.).
100
An Overview of Nonlinear Model Predictive Control Applications, 2000pp ,S. Qin, A. Badgwell
101
• El desarrollo de un modelo no lineal puede serEl desarrollo de un modelo no lineal puede ser bastante complejo
• Diferentes tipos de modelos no lineales:– Modelo de primeros principiosp p p
– Múltiples modelos lineales
Modelos Hammerstein Wiener– Modelos Hammerstein‐Wiener
– Modelos de Volterra
– Modelo ARX no lineal
– Modelos difusos
– Modelos con redes neuronales
102
• El uso de modelos no lineales cambia el problemaEl uso de modelos no lineales cambia el problema de optimización:– MPC: Programación cuadrática convexa– MPC: Programación cuadrática convexa– NMPC: Problema no lineal no convexo. – En NMPC no hay garantía de que pueda encontrarse– En NMPC no hay garantía de que pueda encontrarse un óptimo global.
• La manera general de resolver este problemaLa manera general de resolver este problema consiste en lo siguiente:1 Uso de un modelo no lineal completo de la planta1. Uso de un modelo no lineal completo de la planta
para el cómputo de la predicción.2. Uso de eficientes algoritmos de optimización no2. Uso de eficientes algoritmos de optimización no
lineal capaces de manejar gran número de variables y restricciones.
103
OptimizaciónEl problema de optimización puede ser expresado de la siguiente manera:
)(i Xf
sujeto a
)(min XfnX ℜ∈
ei
ei
mmiXGmiXG+=≤
==,...,10)(
,...,10)(
donde• X es el vector de los parámetros de diseño (las variables
i l d )
ul XXX ≤≤
manipuladas en MPC)• f(X) es la función objetivo que devuelve un valor escalar • G(X) es el vector con las restricciones igualdades y desigualdades ( ) g y g
evaluadas en X
104
• Si la función objetivo y las restricciones son funciones j ylineales de la variable de diseño, el problema se conoce como de Programación Lineal (LP).
• Programación Cuadrática (QP) se refiere a la maximización o minimización de funciones objetivos cuadráticas linealmente restringidas.linealmente restringidas.
• Los problemas de LP y QP tienen procedimientos de solución relativamente simples. p
• Los problemas de Programación No Lineal (NP), en los cuales la función objetivo y las restricciones pueden ser j y pfunciones no lineales de las variables de diseño, son más difícil de resolver.
• La solución de un problema NP generalmente requiere un procedimiento iterativo.
105
Diagrama de flujo de l it NMPC
INICIO
un algoritmo NMPCSETEO DE CONDICIONES
INICIALES
SIMULACIÓN DEL MODELO DURANTE EL HORIZONTE DE PREDICCIÓN N2
CORRECCIÓN DE LA PREDICCIÓN CONSIDERANDO EL VALOR DE SALIDA DE
CÁLCULO DEL FUNCIONAL COSTO J
CÁLCULO DE UN NUEVO VECTOR DE CONTROL DE
LONGITUD NuSe repite el ciclo
CONSIDERANDO EL VALOR DE SALIDA DE LA PLANTA
cada Ts segundos durante todo el
tiempo de simulación
CÁLCULO DEL GRADIENTE DE J CON RESPECTO A LA VARIABLE MANIPULADA
J es mínimo?
SI
NOACTUALIZACIÓN DEL VECTOR DE ESTADO
Optimización
IMPLEMENTACIÓN EN LA PLANTA DE LA PRIMERA ACCIÓN DE CONTROL DEL VECTOR DE CONTROL
CALCULADO
SI
106FIN
Programación no lineal usando MATLABProgramación no lineal usando MATLAB
• La función LSQNONLIN (Optimization Toolbox)resuelve el problema de mínimos cuadrados no lineal:
( )2222 ( )ubXlb
XfXfXfXf nXX
≤≤
+++=
s.t.
)()()(min)(min 222
21
2
2L
• x = lsqnonlin(fun,x0,lb,ub) comienza en el punto x0 y encuentra un mínimo de la suma de los cuadrados deencuentra un mínimo de la suma de los cuadrados de las funciones descriptas en fun.
• fun debe retornar un vector de valores y no la suma de ylos cuadrados de los valores.
107
EjemploE t X i i i d l t X [0 3 0 4]( )
2102122∑ + kxkxkEncontrar X que minimice comenzando en el punto X = [0.3, 0.4].
La función que se le pasa a LSQNONLIN debe computar el vector para k= 1 a 10 (F debe tenr tener k componentes)
( )1
2122∑=
−−+k
kxkx eek
2122)( kxkxk eekXF −−+=
para k= 1 a 10 (F debe tenr tener k componentes).
Primero, escribir un archivo .m para computar k componentes del vector F.
function F = myfun(x)k = 1:10;F = 2 + 2*k‐exp(k*x(1))‐exp(k*x(2));F 2 + 2 k exp(k x(1)) exp(k x(2));
Luego, invocar una rutina de optimización
x0 = [0.3 0.4] % Starting guess[x,resnorm] = lsqnonlin(@myfun,x0) % Invoke optimizer
Luego de 24 evaluaciones de la función el resultado es el siguiente:
x = 0.2578 0.2578
108
resnorm = 124.3622 % Residual or sum of squares
MPC en Sistemas HíbridosMPC en Sistemas HíbridosCiencia de la
ióTeoría de
l
Maquina de Sistema dinámico
computación control
Au(t) y(t)
qestados
finita
dinámico continuo en el tiempo
Sistema
12
A
CB
S ste aHíbrido
ℜ∈
ℜ∈
UX
m
n
5
3D
B
C ( )⎪⎨⎧ =
ℜ∈
)(),()( tutxfdt
tdxY p
4A
C{ }{ }DCBAU
X,,,5,4,3,2,1
∈∈
( )
( )⎧
↓
⎪⎩⎨
= )(),()( tutxgtydt
109
{ },,,( )
( )⎩⎨⎧
==+
)(),()()(),()1(
kukxgkykukxfkx
Como modelar el sistema híbrido?Como modelar el sistema híbrido?
Algunas opciones:
• Pieceawise Continuos Systems
S it h d Affi S t• Switched Affine Systems
• Mixed Logical Dynamical Systems• Mixed Logical Dynamical Systems
110
Pieceawise Continuos Systems
gkuDkxCky
fkuBkxAkx kikiki
)()()(
)()()1( )()()(
++=
++=+
KkJkHki
gkuDkxCky kikiki
)()(t)(
)()()( )()()(
≤+
++=
KkuJkxHki kikiki )()( s.t. )( )()()( ≤+
{ }skiYyUuXx pmn
,,1)(,,
L∈ℜ⊆∈ℜ⊆∈ℜ⊆∈ Se pueden aproximar
dinámicas no lineales y/o discontinuas arbitrariamente bien
111
Switched Affine Systems
La ecuación de estado puede ser escrita comobi ió d é i di i if hcombinación de términos y condiciones if‐then‐
else :
112
Mixed Logical Dynamical SystemsMixed Logical Dynamical Systems
•Orientado a la computación (mixed‐integer programming)•Adecuado para síntesis de controladores verificación•Adecuado para síntesis de controladores, verificación, etc.
113