Curso de Especialização em Automação Industrial
Grupo de Controle Automação e Robótica
GCAR/UFRGS
Controle Preditivo Baseado em Modelo
(MPC)
- Dynamic Matrix Control (DMC) Prof. Dr. João Manoel Gomes da Silva Jr.
Introdução
• Cutler and Ramaker de Shell Oil Co. (1980)
• Largamente aceito e aplicado na Indústria
Petroquímica
• Mais que um algoritmo
pacote (algoritmo
DMC,otimização estática e dinâmica,
identificação)
Predição
• Modelo de resposta ao salto:

y(t)   gi u (t  i )
i 1
• Predição:

yˆ (t  k | t)   giu(t  k  i)  nˆ (t  k|t) 

i 1
  giu(t  k  i) 
i 1

 g u(t  k  i)  nˆ(t  k|t)
i
i  k 1
Predição
• Perturbações constantes:
nˆ (t  k | t )  n(t | t )  ym  yˆ (t | t )
k
yˆ(t  k|t)   g i u(t  k  i) 

i 1
k

 g u(t  k  i)  y (t) 
i
i  k 1
  giu(t  i)   giu(t  k  i)  f(t  k)
i 1
i 1
m
Resposta livre
• f(t+k) é a resposta livre do sistema (parte da
resposta que não depende das ações de controle
futuras

f(t  k)  ym(t)   ( g k i  g i )u (t  i )
i 1
• Se o processo é assintoticamente estável:
g k i  g i  0, i  N

N
f (t  k )  ym (t )   ( g k i  g i )u (t  i )
i 1
Predições
• Considerando um horizonte de predição p e
um horizonte de controle m tem-se:
yˆ (t  1 | t )
yˆ (t  2 | t )
 g1u (t )  f (t  1)
 g 2 u (t )  g1u (t  1)  f (t  1)

yˆ (t  p | t ) 
p
 g u (t  p  i)  f (t  p)
i
i  p  m 1
Matriz Dinâmica




G




g1
g2

gm
0
g1

g m 1





gp

g p 1




 u (t ) 
 f (t  1) 

 u (t  1) 
 f (t  2) 

 f 

 u



 


u (t  m  1)
 f (t  p )
 





g p  m 1 
0
0

g1
yˆ  Gu  f
Perturbações Mensuráveis
• Considerando-se a reposta devido a perturbação
mensurável, podemos formar uma matriz D
similar a matriz G, tem-se assim:
yˆ  Dd  fd
f  f u  Dd  fd  fn
fu = resposta livre devido ao controle
fd = resposta livre devido a perturbações mensuráveis
fn= resposta livre a perturbações não mensuráveis
Seqüência de Controle Ótima
p
m
J   [ yˆ (t  j | t )  w(t  j )]   [u (t  j  1 | t )]2
2
j 1
j 1
 yˆ (t  1 | t )  w(t  1) 
 yˆ (t  2 | t )  w(t  2) 

e



 yˆ (t  p | t )  w(t  p)


J  eeT  λuu T
Seqüência de Controle Ótima
• Caso sem restrições
solução analítica
J  eeT  λuu T
J  (Gu  f  w )T (Gu  f  w )  u Tu
min J 
u
J
0
u
J
 0  2(G TGu  G T (f  w)  u)  0
u
u  (G TG  λI) 1 G T (w  f)
Seqüência de Controle Ótima
• Caso com restrições
problema de programação
qudrática (QP)
min (Gu  f  w )T (Gu  f  w )  u Tu
u
sob
Ru  u
Controle Aplicado
• Pela filosofia de horizonte deslizante, apenas o primeiro
incremento da seqüência ótima de controle é utilizado:
u(t )  u(t 1)  u(t | t )  u(t 1)  u(1)
• No instante seguinte, o vetor f é atualizado e todo o
processo de obtenção da seqüência de variações de
controle é repetido.
Extensão ao Caso Multivariável
• Sistema multivariável com nu entradas e ny saídas :
 G11 ( s ) G12 ( s )
 G (s) G (s)
21
22

G(s) 

 
G ( s ) G ( s )
ny 2
 ny1
G1nu ( s ) 
 G2 nu ( s ) 


 
 Gnynu ( s )

Extensão ao Caso Multivariável
yˆ  [ y1 (t  1 | t ), , y1 (t  p1 | t ),, yny (t  1 | t ), , yny (t  pny | t )]T
u  [u1 (t  1 | t ),, u1 (t  m1  1),, unu (t ),, unu (t  mnu  1)]T
f  [ f1 (t  1 | t ),, f1 (t  p1 | t ), , f ny (t  1 | t ),, f ny (t  pny | t )]T
 G11 G12
G
G22
21

G

 
G
 ny1 Gny 2
G1nu 
 G2 nu 


 
 Gnynu 

• Gij contem os coeficientes da resposta ao salto da i-ésima
saída, correspondente j-ésima entrada.
Exemplo
Resposta para escalação:
30
y(t)   giΔu(t  i)
i 1
• Resposta ao salto:
0.2713z 3
Equivale a resposta ao salto de G ( z ) 
1  0.8351z 1
Para p=10, m=5
0
0
 0
 0
0
0

 0.271 0
0

0.498 0.271 0
0.687 0.498 0.271
G
0.845 0.687 0.498
0.977 0.845 0.687

1.087 0.977 0.845
1.179 1.087 0.977

1.256 1.179 1.087
Seqüência de Controle

0
0
0
0
0
0.271
0.498
0.687
0.845
0.977

0 
0 

0 
0 

0 
0.271

0.498
0.687

0.845
0
u  K(w  f)
K  0 0 0.1465 0.1836 0.1640 0.1224 0.0780 0.0410 0.0101

 0.0157
Respostas Temporais
Caso com perturbação
•Medida de perturbação: temperatura de entrada da água.
Modelo experimental:
y(t) 
30
d
i
Δu(t  i)
i 1
A matriz D se constrói da mesma forma que G.
Resposta a perturbação
Download

Dynamic Matrix Control (DMC) - Grupo de Controle Automação e