Controle de Processos
Professor: Argimiro
Facilitador: Perez
O que é o Controle Preditivo
Multivariável
Odloak [1]
2
O que é o Controle Preditivo
Multivariável
Odloak [1]
3
O que é o Controle Preditivo
Multivariável
split-range
gás não
condensado
carga
PC
CA
líquido condensado
TriSolutions [2]
4
O que é o Controle Preditivo
Multivariável
u2max
S
u2min
u1min
u1max
u1
5
Controlada
vazão
FI
Manipulada
(Abertura)
retirada
produto
TriSolutions [2]
6
Setpoint FC
FC
Controlada
vazão
FI
Manipulada
abertura
retirada
produto
TriSolutions [2]
7
Controlada
temperatura
TI
manipulada
Setpoint FC
FC
FI
retirada
produto
TriSolutions [2]
8
Controlada
temperatura
TI
TC
FC
manipulada
Setpoint FC
FI
retirada
produto
TriSolutions [2]
9
manipulada
Setpoint TC
TI
TC
FC
FI
controlada
retirada
produto
TriSolutions [2]
10
CPM
Controlada
Pfe e vazão produto
manipulada
Setpoint TC
Faixas
de controle
TI
TC
FC
FI
TriSolutions [2]
retirada
produto
11
OBJETIVOS
• Conceitos Básicos de Controle Preditivo
• Fases de Implantação
–
–
–
–
–
Elaboração do Projeto conceitual
Identificação de Processos
Ajustes dos modelos
Implantação
Sintonia
12
Conceitos Básicos de
Otimização
13
Otimização
Problema de otimização
Elementos importantes na Otimização:
• Função Objetivo
• Variáveis
• Restrições
• Graus de Liberdade
14
Otimização
Função Objetivo
• Indicador quantitativo da solução
• É um escalar
• Funções econômicas (lucros,custos)
• Critérios de desempenho
somatório dos erros ao quadrado
15
Otimização
Variáveis
• Dimensões de equipamentos
• Condições de operação
• Saídas para o controle regulatório (u)
• As variáveis podem ser:
•Variáveis Independentes ou de decisão
ou de otimização
•Variáveis Dependentes
16
Otimização
Restrições
• Relação entre variáveis
• Podem ser inequações ou equações
• Balanços geram equações
• Limites de Operação geram
inequações
17
Otimização
Graus de Liberdade
• Número de variáveis – Número de
equações
• Em uma simulação, o grau de liberdade é
zero
• Em um problema de otimização, o grau de
liberdade deve ser maior que zero.
18
Otimização
O Problema de Otimização
Min f(y,u,x)
sujeito a:
h(y,u,x) = 0
g(y,u,x) < 0
onde:
y: variáveis discretas
x: variáveis contínuas
u: variáveis de decisão
19
Otimização
Resolução de um Problema de Otimização
Para resolver o problema de otimização:
1. Programação Linear (LP)
2. Programação Não Linear (NLP)
3. Programação Quadrática (QP)
4. Programação Mista Inteira Linear (MILP)
5. Programação Mista Inteira Não Linear
(MINLP)
20
Otimização
1. Programação Linear (LP)
Todas funções são lineares → f, g e h
são lineares
Não há variáveis discretas (y=0)
21
Otimização
2. Programação Não Linear (NLP)
Pelo menos uma função é não linear
→ f, g e/ou h não linear
Não há variáveis discretas (y=0)
22
Otimização
3. Programação Quadrática (QP)
É um caso especial da NLP onde a função
objetivo é do tipo quadrática
f x  C X  X AX
T
T
Não há variáveis discretas (y=0)
Quadrático
23
Otimização
X T AX
x1
x2 
 a11
a
 21
a12 
a22 
 x1 
 x   x1
 2
x2 
 a11 x1  a12 x1 x2  a21 x1 x2  a22 x2
2
 a11 x1  a12 x2 
a x  a x 
 21 1 22 2 
2
24
Otimização
4. Programação Mista Inteira Linear
(MILP)
Todas funções são lineares → f, g e h
são lineares
Há variáveis discretas (y≠0)
25
Otimização
5. Programação Mista Inteira Não
Linear (NMILP)
Pelo menos uma função não é linear
→ f, g e/ou h não lineares
Há variáveis discretas (y≠0)
26
Controladores Preditivos
• Histórico dos MPC’s:
o MAC – Model Algorithmic Control – 1976
o DMC – Dynamic Matrix Control – Cutler,
1979
o LDMC – Linear Dynamic Matrix Control,
1983 - utilizado no SICON da Petrobras
o QDMC – Quadratic Dynamic Matrix
Control – Morshedt, 1985
27
Algoritmo de Um MPC
1 - Através de um modelo implementado no controlador,
o MPC é capaz de realizar a predição do
comportamento da saída do processo, levando em
consideração as entradas de controle atuais e futuras.
2 - Esta predição deve ser corrigida, a cada intervalo de
instante, por uma leitura da planta. Um MPC opera,
tipicamente, com intervalos de tempo na faixa de um
minuto.
3 - Em cada iteração, o controlador calcula uma
sequência de ações de controle que minimiza a
função do erro das saídas previstas até um horizonte
definido como horizonte de predição. O tamanho
desta sequência é definido como horizonte de
controle.
28
Algoritmo de Um MPC
4 - Após resolver o problema de otimização descrito
no item 3, o controlador implementa na planta
apenas a primeira ação de controle dentre a
sequência de ações calculadas que vão do
intervalo de instante atual até o intervalo
correspondente ao horizonte de controle m
ajustado no controlador.
5 - O controlador aguarda o próximo intervalo de
tempo para retornar ao item 1.
29
Controladores Preditivos
•
O MPC é baseado em modelos lineares.
•
Representação do processo
o Resposta ao impulso
o Resposta ao degrau
o Através de funções de transferência
 Contínua Y(s)/u(s) = GP(s)=Q(s)/P(s)
 Discreta Y(z)/u(z) = HGP(z)=Q(z)/P(z)
o Através de variáveis de estado (equações em espaço de estados)
 x(k+1)=Ax(k) + Bu(k)
 y(k) = Cx(k) + Du(k) → um sistema normalmente não
responde imediatamente a entrada. Portanto, em um sistema
real, D = 0.
30
Controladores Preditivos
Tipos de processos e suas respostas ao pulso
31
32
Resposta ao FIR
Modelo obtido a partir da resposta ao impulso (FIR: Finitive Impulse Response)
Não tem sentido se falar em impulso em um sistema digital. Apenas em pulso
unitário.
hi : Valor da saída no instante i após a aplicação do pulso – coeficientes da
resposta ao impulso.
u
y
h
1
h
pulso unitário
h
h
1 2 3 4
3
t
4
2
1
1 2 3 4
t
33
Resposta ao FIR
Para um dado instante i
y  k  i   hu
i k 
Considerando um período de estabilização N
N
y  k  i    hju  k  i  j 
j 1
34
Resposta ao FIR
Se considerarmos que a cada novo instante j, o MPC aplica um
pulso de valor u(k+j)
y  k  i   h1u  k  i  1  h2u  k  i  2   h3u  k  i  3 
 hi u  k 
Portanto, no instante i genérico
i
y  k  i    hju  k  i  j 
j 1
35
Resposta ao FIR
Idéia do uso do FIR para sistemas integradores
hn  hn1
36
Controladores Preditivos
•
Para a obtenção do modelo incremental (a partir de Δu), ao
invés do modelo posicional:
N
y k 1   hi uk 1i
i 1
N
y k 1  y k   hi uk 1i
N
i 1
y k   hi uk i
i 1
onde: uk 1i  uk 1i  uk i
37
Resposta ao Degrau
u
S2=(h1+h2) u
h2 u
S1=h1u
 ykP' i 
k
38
Controladores Preditivos
•
Equação da Predição
y
S1u S2u
kT
u
 ykP' N 
k
 ykP N 
k
39
Controladores Preditivos
•
Equação da Predição para um horizonte de controle igual a 1
 y
  h1u  k    y
P
k 1 k

P'
k 1 k
 ykP 2   h1u  k  1  h2 u  k    ykP' 2 
k
k
 ykP 2    h1  h2  u  k    ykP' 2 
k
k
 ykP 2   S2 u  k    ykP' 2 
k
k
40
Controladores Preditivos
 ykP3   h1u  k  2   h2 u  k  1  h3u  k    ykP' 3 
k
k
 ykP3    h1  h2  h3  u  k    ykP' 3   S3u  k    ykP' 3 
k
k
k
•
Generalizando para o instante N
 ykP N   S N u  k    ykP' N 
k
k
41
Controladores Preditivos
•
Equação da Predição para um horizonte de controle igual a 2
y
S1u
S2u
kT
u(k+1)
u(k)
 ykP' N 
k
 ykP N 
k
42
Controladores Preditivos
•
Equação da Predição para um horizonte de controle igual a m
 ykP1   S1u  k    ykP' 1 
k
k
 y
P
k 2
  S2 u  k   S1u  k  1   y
k
P'
k 2

k
 ykP3   S3u  k   S2 u  k  1  S1u  k  2    ykP' 3 
k
k
43
Controladores Preditivos
•
Equação da Predição para um horizonte de controle igual a m
 ykPm   Sm u  k   Sm1u  k  1 
k
 S2 u  k  m  2  S1u  k  m  1   ykP' m 
k
 ykPm1   Sm1u  k   Sm u  k  1 
k
P'

+S2 u  k  m 1  S1u  k  m    yk m 
k
44
Controladores Preditivos
•
Equação da Predição
 ykP1   S1
 P  
 yk  2    S2

 
 P  
 yk  N  k  S N
0
S1
S N 1
  u  k    ykP' 1 
  u k  1   P ' 
    yk 2 


 


  P' 

S N m1   u  k  m  1   yk  N 
0
0
Matriz Dinamica
y  Su  y
P
P '  y P   N  1
 y P '   N 1
 S   N  m
u   m 1
45
Função Objetivo
min J  e  e  e 
2
1
2
2
2
3
e
2
np
onde
ei: erro entre setpoint e predição no instante
k+i
min J  e e
T
 e   np 1
46
47
DMC Caso SISO
 ykP1   h1u  k   h2u  k  1  h3u  k  2  
k
  ykP' 1 
 yP    yP    yP' 
 k 1  k  k 1  k  k 1  k
 y   h u  k   h u  k  1  h u  k  2  
1
2
3
 k 1  k
P
48
k
DMC Caso SISO
N
N
 y   h u  k  1  i  (1)  y   h u  k  i  (2)

i
i
k 
 k 1  k 



k 1
i 1
i 1
P
P
N
N
 y    y   h u k 1 i   h u k  i 

i
i
 k 1  k  k  k 1 
i 1
i 1
P
P
N
 y    y   h u  k  1  i   u  k  i  
i 

 k 1  k  k  k 1 
i 1
P
P
N
 y    y   h u  k  1  i  (3)
i
 k 1  k  k  k 1 
i 1
P
P
49
DMC Caso SISO
Para um instante j qualquer
N
y   y
  h u  k  j  i  (4)
i
 k  j  k  k  j 1  k 
i 1
P
P
 y P    y P   h u  k  j  1  h u  k  j  2  
2
 k  j  k  k  j 1  k 1
 hN u  k  j  N 
50
DMC Caso SISO
Incluindo a realimentação
 yC    y P    yC    y P 
 k  j  k  k  j  k  k  j 1  k  k  j 1  k
 yC    yC    y P    y P 
 k  j  k  k  j 1  k  k  j  k  k  j 1  k
N
y   y
  h u  k  j  i  (5)
i
 k  j  k  k  j 1  k 
i 1
C
C
51
Predição do DMC Caso SISO
N
 y    y   h u  k  1  i 
i
 k 1  k  k  k 
i 1
C
C
 y C   y  h u  k   h u  k  1  h u  k  2  
1
2
3
k
 k 1  k
N
 y   y  h u  k   h u  k  1  i 

1
i
k
 k 1  k
i 2
C
1
 y C   y  S u  k    (6)
1
1
k
 k 1  k
52
Predição do DMC Caso SISO
N
 y    y   h u  k  2  i 
i
 k  2  k  k 1  k 
i 1
C
C
 yC    yC   h u  k  1  h u  k   h u  k  1  h u  k  2 
2
3
4
 k 2  k  k 1  k 1
desconhecido
desconhecido
conhecido
conhecido
N
 y    y   h u  k  1  h u  k   h u  k  2  i 

2
i
 k  2  k  k 1  k 1
i 3
C
C
2
53
Predição do DMC Caso SISO
 y C   y  S u  k     h u  k  1  h u  k   
1
1
1
2
2
k
 k  2  k
 y   y  h u  k  1   S  h  u  k     
1
1
2
1
2
k
 k  2  k
C
 y C   y  S u  k   S u  k  1    
2
1
1
2
k
 k  2  k
(7)
54
Predição do DMC Caso SISO
N
 y    y   h u  k  3  i 
i
 k 3  k  k  2  k 
i 1
C
C
 yC    yC   h u  k  2  h u  k  1  h u  k   h u  k  1 
2
3
4
 k 3  k  k 2  k 1
desconhecido
desconhecido
desconhecido
conhecido
N
 y    y   h u  k  2   h u  k  1  h u  k   h u  k  3  i 

2
3
i
 k 3  k  k  2  k 1
i4
C
C
3
55
Predição do DMC Caso SISO
 y C   y  S u  k  1  S u  k       h u  k  2   h u  k  1  h u  k   
1
2
1
2
1
2
3
3
k
 k 3  k
 y C   y  S u  k   S u  k  1  S u  k  2       
3
2
1
1
2
3
k
 k 3  k
(8)
56
Predição do DMC Caso SISO
j
Pj   n
n 1
 y C   y  S u  k   P
1
1
k
 k 1  k
 y C   y  S u  k   S u  k  1  P
2
1
2
k
 k  2  k
 y C   y  S u  k   S u  k  1  S u  k  2   P
3
2
1
3
k
 k 3  k
 y C   y  S u  k   S u  k  1  S u  k  2  
j
j 1
j 2
k
 k  j  k
 S1u  k  j  1  Pj
57
Predição do DMC Caso SISO
 ykC1   S1
 C  
 yk  2   S 2
 ykC3   S3



 
 yC
  S np 1
k  np 1
 C  
 yk  np   S np
0
0
0
S1
0
0
S2
S1
0
S np  2
S np 1
Snp 3
Snp  2
S1
S2


0
u  k 
  y k  P1 
0   u  k  1   y k  P2 


0   u  k  2    y k  P3 
 

 (9)
 


0   u  k  np  2    y  P 
np 1
  k


S1   u  k  np  1 
k
 y k  Pnp 
y  Su  y k  P
C
58
Predição do DMC Caso SISO
 ykC1 
 S1
 C 
 S
y
k

2


 2
 ykC3 
 S3
SP
SP
y 
  y 



C
y

 Snp 1
k  np 1
 C 

y
 k  np 
 Snp
 y y

 S1
 SP

 S
y

y


 2
SP
 y y

 S3

  



SP
C
y  y

 Snp 1
k  np 1
 SP


C
 y  yk  np 
 Snp
SP
C
k 1
C
k 2
C
k 3
0
0
0
S1
0
0
S2
S1
0
Snp  2
Snp 1
S np 3
Snp  2
S1
S2
0
0
0
S1
S2
0
S1
0
0
Snp  2
Snp 1
S np 3
Snp  2
S1
S2


0
u  k 
  y k  P1 
0   u  k  1   y k  P2 


0   u  k  2    y k  P3 
 


 





0 u  k  np  2 


  y k  Pnp 1 

S1   u  k  np  1 
k
 y k  Pnp 
0
u  k 

0   u  k  1 
0   u  k  2  




0   u  k  np  2  


S1   u  k  np  1 
k
 y SP  y k  P1 


SP
 y  y k  P2 
 SP

 y  y k  P3 




SP
 y  y k  Pnp 1 


SP
 y  y k  Pnp 
59
Predição do DMC Caso SISO
 ek 1 
 S1


 S
e
 k 2 
 2
 ek 3 
 S3

  



e

 Snp 1
k  np 1



 ek  np 
 Snp
0
S1
S2
0
0
S1
0
0
0
Snp 2
Snp 1
Snp 3
Snp 2
S1
S2
0
u  k 
  ek  P1 
0   u  k  1   ek  P2 
0   u  k  2    ek  P3 
 


 


0   u  k  np  2   ek  Pnp 1 
 


S1   u  k  np  1   ek  Pnp 
k
e  Su  ek  P
e  Su  e
Definindo
'
e  ek  P
'
(10)
60
Predição do DMC Caso SISO
 ek 1 
 S1


 S
e
 k 2 
 2
 ek 3 
 S3

  



e

 Snp 1
k  np 1



 ek  np 
 Snp
0
S1
S2
0
0
S1
0
0
0
Snp 2
Snp 1
Snp 3
Snp 2
Snp  m1
Snp  m 2
 e '   np  1  e   np 1
 S   np  m
u  k 
  ek  P1 

  e P 


u
k

1


2 
  k

  u  k  2    ek  P3 
 


 


0   u  k  m  2   ek  Pnp 1 
 


S np  m1   u  k  m  1   ek  Pnp 
k
0
0
0
u  m 1
61
Função Objetivo
J  e
T
e
e  Su  e

J  Su  e

J  Su  e

' T

' T

Su  e

'
T
(10)

Su  e  u S  e
'
'
T
'T
'T

Su  e
'T
'
J   u S S  u   u S e  e S u  e e
T
T
T
T
'
62

'
Função Objetivo
J
T
T '
'T
 2 S S u  S e  e S  0  0
u
2S Su  2S e
T
T
'

u  S S
T

1
T
S e
'
(11)
u  m 1
 e '   np  1
 S   np  m
63
Função Objetivo Modificada
J  e e  u R u (12)
T
T
 R1
0
R


 0

R2
0
u  S S  R
T
0

0


Rm 

1
T
S e
'
(13)
64
Fluxograma DMC
k
Leitura da
planta yk
e'=ySP- yk - P
k=k+1
Cálculo
das ações
passadas

j
Pj   n
n 1
n 
N
 h u  k  n  i 
i  n 1
i
u  S S  R
T

1
T
S e
y  Su  y k  P
'
Cálculo das
ações de
controle
Predição
C
65
DMC Caso MIMO
O Problema MIMO
MIMO (nu X ny)
.
.
.
.
.
.
y   y1
T
u  u1
T
y2
yny 
u2
unu 
T
T
66
DMC Caso MIMO
N
 y   h u  k  i  (2)
i
 k  k 1 
i 1
P
N
nu
y  
h j ,l ,i ul  k  i 

j
,
k

 k 1 i 1 l 1
P
67
DMC Caso MIMO
Para a variável controlada j = 1
 y P   h u  k  1  h u  k  1   h u  k  1 
1,2,1 2
1, nu ,1 nu
 1,k  k 1 1,1,1 1
h1,1,2u1  k  2    h1,nu ,2unu  k  2  
h1,1, N u1  k  N   h1,2, N u2  k  N  
 h1,nu , N unu  k  N 
Para cada variável controlada j de 1 a ny
ny
nu
H i   h j ,l ,i
j 1 l 1
68
DMC Caso MIMO
• Definindo
 h11,i
h
21,i

Hi 


 hny1,i
 H   ny  nu
 i 
h12,i
h22,i
hny 2,i
h1nu ,i 

h2 nu ,i 


hnynu ,i 
69
DMC Caso MIMO
N
nu
y  
h j ,l ,i ul  k  i 

j
,
k

 k 1 i 1 l 1
P
N
 y   H u k  i
i
 k  k 1 
i 1
P
70
DMC Caso MIMO
A predição para o instante k+1
N
 y   H u k 1 i 
i
 k 1  k 
i 1
P
N
 y   H u k  i
i
 k  k 1 
i 1
P
N
N
N
 y P    y P   H u  k  1  i   H u  k  i   H u  k  1  i 


i
i
i
 k 1  k  k  k 1 
i 1
i 1
i 1
71
DMC Caso MIMO
Generalizando a predição para o instante k+j
N
y   y 
  H i u  k  j  i 
k

j
k

 k   k  j 1 i 1
P
P
72
DMC Caso MIMO
Corrigindo a predição
 yC    y P    yC    y P 
 k  j  k  k  j  k  k  j 1  k  k  j 1  k
 yC    yC    y P    y P 
 k  j  k  k  j 1  k  k  j  k  k  j 1  k
N
y   y
  H u  k  j  i 
i
 k  j  k  k  j 1  k 
i 1
C
C
73
DMC Caso MIMO
Predição j=1
y  
 k 1  k
C
y 
 k  k
C
N
  H i u  k  1  i 
i 1
Valor Atual lido da Planta
74
DMC Caso MIMO
Predição j=1
 yC   y  H
1
k
 k 1  k
u  k 
 H 2 u  k  1  H 3u  k  2  
Valor desconhecido
Passado
N
 y   y  H u  k   H u  k  1  i 

1
i
k
 k 1  k
i 2
C
1
 yC   y  S u  k   
1
1
k
 k 1  k
P
1
75
DMC Caso MIMO
Predição j=2
N
 y    y   H u  k  2  i 
i
 k  2  k  k 1  k 
i 1
C
C
N
 y   y  S u  k     H u  k  2  i 

1
1
i
k
 k  2  k
i 1
C
 y C   y  S u  k     H u  k  1  H u  k   H u  k  1 
1
1
1
2
3
k
 k  2  k


 y C   y  H u  k  1  H  H u  k     H u  k  1 
1
1
2
1
3
k
 k  2  k
76
DMC Caso MIMO
Predição j=2


 y C   y  H u  k  1  H  H u  k     H u  k  1 
1
1
2
1
3
k
 k  2  k
N
 y   y  S u  k  1  S u  k     H u  k  2  i 

1
2
1
i
k
 k  2  k
i 3
C
2
 y   y  S u  k  1  S u  k     
1
2
1
2
k
 k  2  k
C
P2
77
DMC Caso MIMO
Predição j=3
N
 y    y   H u  k  3  i 
i
 k 3  k  k  2  k 
i 1
C
C
N
 y   y  S u  k  1  S u  k       H u  k  3  i 

1
2
1
2
i
k
 k 3  k
i 1
C
 yC   y  S u  k  1  S u  k       H u  k  2   H u  k  1  H u  k  
1
2
1
2
1
2
3
k
 k 3  k
 H 4 u  k  1 
78
DMC Caso MIMO
Predição j=3
 y C   y  S u  k  2   S u  k  1  S u  k       H u  k  1 
1
2
3
1
2
4
k
 k 3  k
N
 y C   y  S u  k  2   S u  k  1  S u  k       H u  k  3  i 

1
2
3
1
2
i
k
 k 3  k
i 4
3
 y C   y  S u  k  2   S u  k  1  S u  k       
1
2
3
1
2
3
k
 k 3  k
P3
79
DMC Caso MIMO
Predição um instante j genérico
 y C   y  S u  k  j  1  S u  k  j  2   S u  k  j  3 
1
2
3
k
 k  j  k
 Si u  k  j  i    S j u  k    1  2  3   j
Pj
80
DMC Caso MIMO
• Montando a predição em modelo de matriz
 yC 
 k 1   S1
 C  S
 y k 2   2
 C S
 y k 3   3

 

 
 C   S np
 y k  np  
0nynu
0nynu
S1
0nynu
S2
S1
Snp 1
S np  2
y  S  u  yk  P
C
y   P 
0nynu 
  u  k    k   1 
0nynu   u k  1   y   P2 



  k

0nynu   u  k  2     y    P3 
  k  

    

 u  k  m  1     P 

  y   np 
S np  m 1 

 k
i
Pi   n n 
n 1
N
 H u  k  n  j 
j  n 1
l
81
DMC Caso MIMO
• Cada matriz Sk
S 2  H1  H 2
k
Sk   H l
l 1
 h11,l
h
21,l

Hl 


 hny1,l
h12,l
h22,l
hny 2,l
h1nu ,l 

h2 nu ,l 


hnynu ,l 
82
DMC Caso MIMO
• Subtraindo o set point para gera o vetor de erros
y
SP
 y  y SP  S u  yk  P
C
e  S u  ek  P
e'
e  S u  e
'
83
DMC Caso MIMO
• Função Objetivo

J  Su  e
  Su  e   u
' T
'
T
R u
'T
'T
J  u S Su  u S e  e Su  e e  u R u
T
T
T
T
'
'
T
J
T
T '
'T
 2 S S  u  S e  e S  2 R  u  0
u

u  S S  R
T

1
T
S e
'
84
DMC Caso MIMO
• Vetor de soluções
,
,
 u k 
 u

k 1 



u  

 u k  j 




 u k  m 1 
u k  j
 u1,k  j 
 u

2, k  j 


, j  0,1




 unu ,k  j 
m 1
85
DMC Caso MIMO
• Matriz R
,
 Rk

0nunu

R
0nunu


0
 nunu
0nunu
0nunu
R k 1
0nunu
0nunu
Rk  j
0nunu
0nunu
0nunu 

0nunu 


0nunu 


R k  m 1 
Rk  j
 r1
 
 0
0
 , j  0,1

rnu  k  j
m 1
86
DMC Caso MIMO
• Derivando e igualando a zero a função objetivo
J  e W W e  u R u
T
T
T
J
0
u

u  S W W S  R
T
T

1
T
T
S W We
'
87
DMC Caso MIMO
• Função Objetivo Modificada
J  e W W e  u R u
T
 W k 1

0nyny

W 
0nyny



0nyny
0nyny
W
k 2
T
0nyny
0nyny
k j
0nyny
W
0nyny
0nyny
T
0nyny 

0nyny 


0nyny 


k  np 
W

W
k j
W1 0
0 W
2



 0 0
0 
0 
, j  1, 2


Wny 
88
np
QDMC
e  S u  e
'
J  e W W e  u R u
T
J  u
T
S W
T
T
T
T

'T
W S  R u  e W W S u 
'T
u S W W e  e W W e
T
T
T
'
T
T
'
89
QDMC
J  u
T
S W
T
J  u
T
T

'T
'T
W S  R u  2e W W S u  e W W e
S W
T
T

T
'T
T
W S  R  u  2 e W W S u
H
T
C Tf
90
'
QDMC
• Problema QDMC
J  u H u  2C u
T
T
f
H  S W WS R
T
T
s.a
u max  u  u max
'T
C  e W W S
T
f
T
u min  u  u max
y min  y  y max
C
91
QDMC
• Problema QP
1 T
T
min x H x  C f x
2
s.a. Ax  b  0
92
DMC por realinhamento
Leitura da planta yk
Início
yP= yk


y k 1  y k  S u  k   d  k  1
C
P
P
C
y  M y k 1
Cálculo das
ações de
controle
min J  u H u  2C Tf u
T
u
u  k 
y  y k  Su  k 
P
P
k  k 1
Leitura da planta yk


P
dk 1  y k 1   y k 1   S1u  k 

 k
e'  y sp  y p
cTf    e'  W TWS
T
H  S TW TWS  R
93
DMC por realinhamento
y  S  u  yk  P
C
i
P i   n
n 1
n 
N
 H u  k  n  j 
j  n 1
j
94
DMC por realinhamento
 yC 
 k 1   S1
 C  S
 y k 2   2
 C S
 y k 3   3

 

 
 C   S np
 y k  np  
0nynu
0nynu
S1
0nynu
S2
S1
S np 1
S np  2
 y  P1 
0nynu 

  u  k    k
0nynu   u k  1   y  P2 



  k


0nynu   u  k  2     y  P 
3
  k


 


 u  k  m  1  


 y  P 
S np  m 1 

np
 k

95
DMC por realinhamento
• Cuttler propôs o realinhamento
 yP    yP 
 k 1  k 1  k  2  k
• Inserindo as ações de entrada
 y P    y P   S u  k 
2
 k 1  k 1  k  2  k
96
DMC por realinhamento
• A predição em k+1 para um instante genérico j
 y P    y P   S u  k 
j 1
 k  j  k 1  k  j 1  k
97
DMC por realinhamento
• Predição até o horizonte np
 yP 
0nyny
 k 1 
0
 P 
 nyny
 y k 2 
 P   0nyny

 y k 3 



0nyny



 P 
0
 y k  np  k 1  nyny
I nyny
0nyny
0nyny
I nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0
 nyny
0nyny


0nyny

0nyny
M
 yP 
0nyny   k 1 
0nyny   P 
 y k 2 
0nyny   P 
 y  
  k 3 
I nyny  

 P 
I nyny  y
 k  np  k
I nyny
0nyny
0nyny
0nyny
I nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
M
0nyny   S 
1
0nyny   
 S2 
0nyny   
  S 3  u  k 
 
I nyny   
 S
I nyny   np 
S
y k 1  M y k  M Su  k 
P
P
 M   np.ny  np.ny
 S   np.ny  nu
 
98
DMC por realinhamento
• Predição para o instante np
 yP    yP
   yP 
 k  np  k 1  k  np 1  k 1  k  np  k
• Correção da Predição


P

dk 1  y k 1  y k 1   S1u  k 

 k
99
DMC por realinhamento
 yC 
0nyny
 k 1 
0
 C 
 nyny
 y k 2 
 C   0nyny

 y k 3 



0nyny



 C 
0
 y k  np  k 1  nyny
I nyny
0nyny
0nyny
0nyny
I nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
0nyny
M
 P 

0nyny    y k 1   S 

1
  d k 1 
0nyny    P   
 y k 2   S 2 
  d k 1 

0nyny    P   
 
   y    S 3  u  k     d k 1 

   k 3   
 

 
I nyny   
  
  P   S 
  d k 1 
I nyny   y
 np 



  k  np  k

100
LDMC
• Função Objetivo do LDMC
J  u
T


'T
S W W S  R u  2S W W e u  e W W e'
T
T
T
T
'
T
J
T
T
T
T
'
 2 S W W S  R u  2 S W W e
u

S W
T
T


W S  R u  S W W e  
T
T
'
101
LDMC
• Função Objetivo do LDMC
S W
T
T

W S  R u  S W W e  
   1
T
1
T
'
 nu .m 
T
102
LDMC
• Função Objetivo do LDMC
m.nu
min    i
u
i 1
i  0  xi  0  zi  i
i  0  zi  0  xi  i
i  xi  zi
103
LDMC
• Problema LDMC
m.nu
min    i  xi  zi 
u
sujeito a

i 1

  xi  zi  S W W S  R u  S W W e'
T
T
T
T
u max  u  u max
u min  u  u max
xi  0; zi  0;
104
LDMC
• Se não tivermos restrições ativas


  xi  zi  S W W S  R u  S W W e'  0
T
T
T
T
 S W W S  R  u  S W W e
T

T
T
u  S W W S  R
T
T

1
T
'
T
T
S W We
'
K DMC
u  K DMC e
'
105
LDMC
u  K DMC e
 K11
 u  k   

 K

u
k

1
    21



 

 
 u  k  m  1   K m1

u  k    K11

K12
K12
K 22
Km2
'
K1np  '
  e  k  1 
K 2 np   e'  k  2  




 e'  k  np  

K mnp  

'

K1N  e  k  1

106
MPC em Malha Fechada
• Equação de Predição do DMC com matriz de
realinhamento
y k 1  M y k  M Su  k   d  k  1
C
P

 x  k  1  Ax  k   Bu  k 


 y k   C x k 
C   I ny
0ny
0ny 
107
MPC em Malha Fechada

y planta  k  1  C y k  Su  k 


y prediçao  k  1  C y k  S u  k 
y k   y k 1
S   S 1 S 2
P
y k  N 
y k 2
S N 

T
k
T
108
MPC em Malha Fechada

y planta  k  1  C y k  Su  k 


y prediçao  k  1  C y k  S u  k 

P
 

d  k  1  C y k  S u  k   C y k  S u  k 
P
109

MPC em Malha Fechada
 

d  k  1  C y k  S u  k   C y k  S u  k 
P

y k 1  M y k  M Su  k   d  k  1
C
P

 
y k 1  M y k  M Su  k   K F C y k  Su  k   C y k  S u  k 
C
P
P
110

MPC em Malha Fechada
KF   I ny

y k   y k 1

P
P
I ny
P
y k 2
I ny 

T
T
yk N 
 k
P
111
MPC em Malha Fechada
• Predição do modelo no controlador

 
y k 1  M y k  M Su  k   K F C y k  Su  k   C y k  S u  k 
C
P
P

y k 1  M y k  M Su  k   K F C y k  K F CSu  k   K F C y k  K F CSu  k 
C
P
P


y k 1   M  KF C  y k  M S  K F CS  K F CS u  k   K F C y k
C
P


y k 1   M  K F C  y k  M S  K F C  S  S  u  k   K F C y k


C
P
112
MPC em Malha Fechada
• Predição para a planta

 
y k 1  M y k  M Su  k   K F C y k  Su  k   C y k  S u  k 
C
P
P
y k 1  M y k  M Su  k 
P
113

MPC em Malha Fechada
• Sistema Controlador e Processo
P

 yC 
 M  K F C  K F C  y   M S  K F C  S  S  

  u  k 
  
  

y  
y 
0
M


   k 
MS
  k 1 


 x  k  1  Ax  k   Bu  k 


 y k   C x k 
114
MPC em Malha Fechada
• Subtraindo do set point
P
 y SP   y C 
 y SP   M  K F C  K F C   y   M S  K F C  S  S  

  u  k 
  
     


 y SP   y 
 y SP  
0
M   y  
MS
  k 1

  k 
P
 y SP   y C 
 M  K F C  K F C   y SP   M  K F C  K F C   y   M S  K F C  S  S  

  u  k 
  
    
 



 y SP   y 
0
M   y SP  
0
M   y  


M
S
  k 1

  k 
115
MPC em Malha Fechada
 e' 
 M  K F C  K F C  e'   M S  K F C  S  S  

  u  k 
  
  

0
M  e'  k 
e'  k 1 
MS


u  K DMC e'
e 
 M  K F C  K F C   e 
  
 
'
0
M  e'  k
e  k 1 
'
'
 M S  K C  S  S    K DMC e' 
F

  





'
K
e
MS

  DMC  k
116
MPC em Malha Fechada
• Autovalores de A definem a estabilidade da
malha fechada


 M  K C  M S  K C S  S  K

e 
F
F

 DMC

  
e'  k 1 
 M S K DMC

'
x  k 1
K F C   e' 

  '
M   e  k
 xk
 
*
A
117
MPC em duas camadas
• Autovalores de A definem a estabilidade da
malha fechada
Camada de Otimização (LP ou QP)
yS
P
uir
v
yS
uk-
S
1
MPC (DMC, QDMC,
LDMC)
118
MPC em duas camadas
• Predição do MPC
 yC 
 k 1   S1
 C  S
 y k 2   2
 C S
 y k 3   3

 

 
 C   S np
 y k  np  
0nynu
0nynu
S1
0nynu
S2
S1
S np 1
S np  2
y k  np   S np

C
S np 1
S np  2
 y  P1 
0nynu 

  u  k    k
0nynu   u k  1   y  P2 
    k


0nynu   u  k  2     y  P 
3
  k


 


 u  k  m  1  


 y  P 
S np  m 1 

np
 k

 u  k  



u
k

1




S np m 1   u  k  2    y k  P np




 u  k  m  1 


P
y k  np
119
MPC em duas camadas
np→∞
C
y k    S 
S 1
S  2
S  S N
C
y k    S N
SN
SN
 u  k  



u
k

1




P
S  m1   u  k  2    y k 




 u  k  m  1 


y k   y k  N
P
P
 u  k  



u
k

1
  

P
S N   u  k  2    y k  N




 u  k  m  1 


120
MPC em duas camadas
C
y k    S N
SN
 u  k  



u
k

1
  

P
S N   u  k  2    y k  N




 u  k  m  1 


SN
m 1
y k   S N  u  k  i   y k  N
C
P
i 0
121
MPC em duas camadas
m 1
y k   S N  u  k  i   y k  N
C
P
i 0
u  k   u  k 1
m 1
 u  k  i   u  k   u  k  1 
u  k  m  1  u  k  m  1  u  k  1
i 0
y k   S N u  k  m  1  u  k  1  y k  N
C
P
122
MPC em duas camadas
y k   y k  N  S N u  k  m  1  u  k  1
C
P
 y  S N u
123
MPC em duas camadas
• A camada interna do MPC está preocupada com a
dinâmica para se atingir o setpoint definido pela
camada externa, tendo como índice o somatório
quadrático dos erros durante o horizonte de predição do
controlador.
• A camada externa de otimização está preocupada em
definir esse setpoint, também chamado de target,
observando, normalmente, aspectos econômicos.
Dentro desta camada de otimização tem-se apenas a
informação do ganho estático, visto que a dinâmica não
é relevante para esta camada, enquanto que na
camada do MPC a informação completa do processo,
dinâmica e estática, é importante.
124
MPC em duas camadas
y k   y k  N  S N u  k  m  1  u  k  1
C
P
y SS  y k  N  S N u SS  u k 1 
C
P
125
MPC em duas camadas
C
y SS
: predição para o novo estado estacionário obtido de uma função objetivo econômica
P
ykN
: situação no futuro N caso nenhuma ação de controle seja tomada
SN
: ganho estático do processo
u k 1
: valor atual das manipuladas
u SS : valor desejado para as variáveis manipuladas, u irv
126
MPC em duas camadas
u1
u2
  pTy y SS  pTu u SS
127
MPC em duas camadas
• Programação Linear na camada superior
min
  p y y SS  pu u SS
C
T
C
T
ySS ,uSS
C
s. a.
y SS  y k  N  S N u SS  u k 1 
C
P
u min  u SS  u max
SP
y SS
y
u SS
u irv
y min  y SS  y max
C
C
C
128
MPC em duas camadas
• Se o modelo fosse exatamente o real, ao definir a
controlada, fica definida a manipulada e vice-versa.
Como isso não ocorre, não conseguimos satisfazer o
par controlada-manipuladas desejado.
y SS  y k  N  S N u SS  u k 1 
C
P
• Ex: Se o ganho estático do modelo for maior que o real,
tem-se, para um dado yss, um valor menor de u1 que
poderia ser retirado:
C
u SS 
y SS  y k  N
P
SN
 u k 1
129
MPC em duas camadas
• Para resolver este problema, a função objetivo do MPC
pode ser alterada:
J  e W W e   u k  m1  u irv  R u  u k  m1  u irv   u R u
T
T
T
T
130
QDMC em duas camadas
• Função objetivo do QDMC em duas camadas
uk  m1   I nu
u k m1  uirv 
T
I nu
 u  k  



u
k

1


  u  I u  u
I nu  
k 1

 k 1



u
k

m

1

 

Ru  u k m1  u irv   I u  u k 1  u irv

T

Ru I u  u k 1  u irv

131
QDMC em duas camadas

u k m1  uirv 
Ru  u k m1  u irv   I u  u k 1  u irv
 Iu  u

T
k 1  u irv
T
u I Ru u k 1  u
T
 I u  u
k 1
 u irv

T

T

T

Ru I u  u k 1  u irv

Ru I u  u k 1  u irv  u I R u I u  u k 1 R u I u  u irv R u I u 
T
k 1

T
T
T
T
T
Ru u k 1  u irv Ru u k 1  u I R u u irv  u k 1 R u u irv  u irv R u u irv
T

T

T
T
Ru I u  u k 1  u irv  u I R u I u  2  u k 1  u irv  R u I u 
T
T
T
  u k 1  u irv  Ru  u k 1  u irv 
T
132
QDMC em duas camadas
• Função objetivo do QDMC com a inclusão de uirv
J  u H u  2C u
T

I u  u k 1  u irv

T
T
f


Ru I u  u k 1  u irv  u I R u I u  2  u k 1  u irv  R u I u 
T
T
T
  u k 1  u irv  Ru  u k 1  u irv 
T
J  u
T




H  I Ru I u  2 CTf  u k 1  uirv  Ru I u
T
T
133
Controle de saídas por faixa
• Nos processos a serem controlados, a maioria
das saídas não tem um setpoint bem definido e
sim uma faixa onde a saída, variável
controlada, tem que ser mantida.
• Essa faixa é conhecida como restrição leve ou,
do inglês, “soft constraints”.
• Desta forma, permite-se um grau de liberdade
para as controladas, o que “relaxa” o problema
de otimização. Estas variáveis só passam a ser
efetivamente controladas pelas manipuladas
disponíveis quando uma das restrições for
atingida (ymax, ymin).
134
Controle de saídas por faixa
y
ymax
ymin
t
135
Controle de saídas por faixa
• Função objetivo do MPC por faixa
np
T
m1
T
J    y k  j  y k  j  W W  y k  j  y k  j    u k  m1  u irv  Ru u k  m1  u irv    u k  j R u k  j




j 1
j 0
C
b
y
min
T
C
b
 yk j  y
P
P
i ,k  j
y
P
i ,k  j
y
y
y
max
max
i
min
i
T
Wi,k  j  0
b
i ,k  j
y
b
i ,k  j
y
y
y
max
i
min
i
136
MPC com ações não igualmente espaçadas
• Para processos com período de estabilização N
muito grande, o horizonte de controle m tende
ao valor unitário, pois tudo se passa como,
apesar de ter ocorrido várias ações de controle,
esta ação fosse única. Se a ação de controle
fosse executada em tempos maiores, mais
espaçados, teríamos uma ação mais eficaz do
controlador.
137
MPC com ações não igualmente espaçadas
MPC não igualmente
espaçado
138
MPC com ações não igualmente espaçadas
• Exemplo para m=3. u  k  , u  k  n1  , u  k  n2 
 yC 
 k 1   S1
 C  
 y k  2   S2

 

 
C
y
 S
 k  n1 1   n1 1
 C
 
 y k  n  2   S n1  2
1



 
 C
  Sn 1
 y k  n2 1   2
 C
 S
y
  n2  2
 k  n2  2  

 
 C   S np
 y
 
 k  np 
0nynu
0nynu
S1
S2
S n2  n1
S n2  n1 1
S np  n1
0nynu 

0nynu 


 y  P1 
0nynu 
 k


  u  k    y k  P2 
0nynu 


 
  u  k  n1    y k  P3 

  u  k  n   
2 



S1 



 y k  Pnp 
S2 



Snp  n2 

139
MPC com ações não igualmente espaçadas
• Exemplo para m=3. u  k  , u  k  n1  , u  k  n2 
 yC 
 k 1   S1
 C  
 y k  2   S2

 

 
C
y
 S
 k  n1 1   n1 1
 C
 
 y k  n  2   S n1  2
1



 
 C
  Sn 1
 y k  n2 1   2
 C
 S
y
  n2  2
 k  n2  2  

 
 C   S np
 y
 
 k  np 
0nynu
0nynu
S1
S2
S n2  n1
S n2  n1 1
S np  n1
0nynu 

0nynu 


 y  P1 
0nynu 
 k


  u  k    y k  P2 
0nynu 


 
  u  k  n1    y k  P3 

  u  k  n   
2 



S1 



 y k  Pnp 

S2



Snp  n2 

n2  2n1
140
Sistema Integrador com
Espaço de Estados
y  k  1  y  k    y  k   y  k  1  S 1u  k 
quanto y aumentou no periodo
atual e no periodo anterior
y  k  1  2 y  k   y  k  1  S 1u  k 
 y  k   y  k   1 0 0 x  k 


x  k    y  k  1 
 y  k  2  
141
Sistema Integrador com
Espaço de Estados
 y  k  1 


 y k  


 y  k  1 
x  k 1
 2 1 0   y  k    S 1 

  


 1 0 0   y  k  1    0  u  k 
 0 1 0   y  k  2   0 

k  
k 1
A
x k 
B
x  k 1  Ax  k   Bu  k 
142
Sistema Integrador com
Espaço de Estados
• Colocando a correção da leitura da planta
 y  k  1   calculo 


 
x  k  1   y  k     y planta  k    K F
 y  k  1   y planta  k  1 






P
 y planta  k   y  k  

Predicao feita 

no instante k-1

143
MPC com Modelo em Espaço
de Estados
• Equação de predição para o instante 1
x  k 1  Ax  k   Bu  k 
y  k   Cx  k 
• Equação de predição para o instante 2
x  k  2  Ax  k 1  Bu  k 1
x  k  2   A  Ax  k   Bu  k    Bu  k  1
144
MPC com Modelo em Espaço
de Estados
• Equação de predição para o instante 2
x  k  2  A x  k   ABu  k   Bu  k  1
2
y  k  2  Cx  k  2
2

y  k  2   C  A x  k   ABu  k   Bu  k  1
y  k  2  C A x  k   C ABu  k   CBu  k  1
2
145
MPC com Modelo em Espaço
de Estados
• Equação de predição para o instante 3
y  k  3  C x  k  3
onde x  k  3  Ax  k  2   Bu  k  2 
x  k  2   A x  k   ABu  k   Bu  k  1
2
2
 x  k  3  A  A x  k   ABu  k   Bu  k  1   Bu  k  2 
x  k  3  A x  k   A Bu  k   ABu  k  1  Bu  k  2 
3
2
3
2
y  k  3  C  A x  k   A Bu  k   ABu  k  1  Bu  k  2  
y  k  3  C A x  k   C A Bu  k   C ABu  k  1  C Bu  k  2 
3
2
146
MPC com Modelo em Espaço
de Estados
• Equação de predição para o instante np
np
np 1
np  2
np 3
y  k  np   C A x  k   C A Bu  k   C A Bu  k  1  C A Bu  k  2  
np  m
 CA
Bu  k  m  1
 y  k  1   C A 
0
0
 CB

 
 C AB
2 
CB
0
C
A
y
k

2
 
 


 y k  3    C A3  x  k    C A2 B
C AB
CB



 



 



  np 
 np 1
np  2
np 3
C
A
B
C
A
B
C
A
B
y
k

np
C
A



 





 u
0


np  m 
CA
B 
0
0
147
MPC com Modelo em Espaço
de Estados
• Um modelo pode ser escrito no domínio
i  nb
discreto z
i
b
z
i
Y  z 
 i i na1
U  z
a z i

i 0
Y  z  1  a1 z 1  a2 z 2 
Y  z   a1z 1Y  z   a2 z 2Y  z 
i
 ana z  na    b1 z 1  b2 z 2 
bnb z  nb U  z 
 ana z naY  z   b1z 1U  z   b2 z 2U  z  
bnb z nbU  z 
148
MPC com Modelo em Espaço
de Estados
• Transformando em equações de diferenças
Y  z   a1z 1Y  z   a2 z 2Y  z 
y  k   a1 y  k 1  a2 y  k  2
 ana z naY  z   b1z 1U  z   b2 z 2U  z  
 ana y  k  na   bu
1  k 1  b2u  k  2 
na
nb
i 1
i 1
bnb z nbU  z 
bnbu  k  nb 
y  k    Ai y  k  i    Bi u  k  i 
149
MPC com Modelo em Espaço
de Estados
• Estado não mínimo
x  k    y  k 
y  k  1
y  k  na  1 u  k  1
u  k  nb  1
T
• Predição para um instante genérico k
y  k   A1 y  k  1  A2 y  k  2
 Ana y  k  na   B1u  k  1  B 2 u  k  2  
B nb u  k  nb 
150
MPC com Modelo em Espaço
de Estados
• As leituras do passado podem ser obtidas a
partir das informações disponíveis da planta
y k 


  A1



 y  k  1 
 I
 y k 2 

   0








 y  k  na  1    0


 0
u
k

1




 0
 u  k  2 







0
 u  k  nb  1 

 k 
 A2
 A3
 Ana 1
 Ana
B2
B nb  2
B nb 1
0
0
0
0
0
0
0
I
0
0
0
0
0
0
0
0
I
0
0
0
0
0
0
0
0
0
0
0
0
0
I
0
0
0
0
0
0
0
0
0
0
I
B nb   y  k  1 
 B1 



 
0   y  k  2 
0


0
0   y  k  3 

 



 



0  y  k  na     0  u  k  1

 
0   u  k  2 
I 


0
0   u  k  3 
 



 


 
0
0   u  k  nb  

 k 1  
x  k   Ax  k  1  Bu  k  1
151
MPC com Modelo em Espaço
de Estados
 a1
y (k )

 
 y (k  1)   Iny

  0ny
 y (k  2)  

 
 y (k  na  1)   0ny
 u (k  1)   0

  nuny
u
(
k

2)

 0nuny

 
u (k  nb  2)  
0nuny


 u (k  nb  1)  0
 nuny
a2
0ny
Iny
ana 1
0ny
0ny
ana
0ny
0ny
0ny
Iny
0ny
0nuny
0nuny
0nuny
0nuny
0nuny
0nuny
0nynu
0nu
Inu
0nuny
0nuny
0nuny
0nuny
0nuny
0nuny
0nu
0nu
x  k    y(k ) y(k  1)
b2
0nynu
0nynu
bnb  2 bnb 1
bnb 
 y (k  1)   b1 
0nynu 0nynu 0nynu  
y (k  2)   0nynu 

 0
0nynu 0nynu 0nynu  
 nynu 

 y (k  na  1)  





0nynu 0nynu 0nynu   y (k  na )  0
ny

nu
 u (k  1)

0nu
0nu
0nu   u (k  2)   I 


nu
0nu
0nu
0nu  
  0nu 


 u (k  nb  2)  



Inu
0nu
0nu   u (k  nb  1)   0nu 

0nu
Inu
0nu   u (k  nb)   0nu 
y(k  na  1) u(k  1) u(k  2)
u(k  nb  2) u(k  nb  1)
T
152
MPC com Modelo em Espaço de
Estados na forma incremental
 y  k  1  a1 y  k   a2 y  k  1  a3 y  k  2   ...  ana y  k  na  1 

b1u  k   b2u  k  1  b3u  k  2   ...  bnbu  k  nb  1

 
 y k  a y k  1  a y k  2  a y k  3  ...  a y k  na 
 2 
 3  

na 
   1 
b1u  k  1  b2u  k  2   b3u  k  3  ...  bnbu  k  nb 

y  k  1  y  k   I ny  a1   y  k  1 a2  a1   y  k  2  a3  a2   ... 
 y  k  na  1 ana  ana 1   ana y  k  na  
b1u  k   b2 u  k  1  b3u  k  2   ...  bnb u  k  nb  1
153
MPC com Modelo em Espaço de
Estados na forma incremental

 a  I
 1 ny a2  a1 a3  a2 a4  a3
0ny
0ny
0ny
 Iny
 y  k  1  
Iny
0ny
0ny

  0ny
y k 

  0ny
0ny
Iny
0ny
 y  k  1  
...
...
...

  ...

   0ny
0ny
0ny
0ny
 y  k  na  1  
0nuny
0nuny
0nuny

  0nuny
u  k 

  0nuny
0nuny
0nuny
0nuny

  0
0
0
0
nuny
nuny
nuny
 u  k  nb  2    nuny
0
0
0
0
 nuny
nuny
nuny
nuny
 ...
...
...
...

0
0
0
0
nuny
nuny
nuny
 nuny
... ana  ana 1
...
0ny
...
0ny
...
0ny
...
...
Iny
0nuny
0nuny
0nuny
0nuny
...
...
0nuny
ana
0ny
0ny
0ny
...
0ny
0nuny
0nuny
0nuny
0nuny
...
0nuny
b2
b3
0nynu
0nynu
0nynu
...
0nynu
0nu
Inu
0nu
0nu
...
0nu
0nynu
0nynu
0nynu
...
0nynu
0nu
0nu
Inu
0nu
...
0nu
b4
...
...
...
...
...
0nynu
0nynu
0nynu
...
0nynu 0nynu
0nu
0nu
0nu
0nu
0nu
0nu
Inu
0nu
...
...
0nu
Inu

bnb 
0nynu 
0nynu 
0nynu 
... 

0nynu 
0nu 

0nu 
0nu 

0nu 
... 

0nu 
 b1 



y k 
 0nynu 
 y k 1
   0nynu 




 0nynu 
 y  k  na  1   ... 

 0

 y  k  na     nynu  u  k 
 u  k  1   Inu 

  0nu 

  0 
 u  k  nb  2    nu 

  0nu 
 u  k  nb  1   ... 
 0nu 
154
MPC com Modelo em Espaço de
Estados na forma incremental
 y  k  1   C A 
0
0
 CB

 
 C AB
2 
CB
0
C
A
y
k

2
 
 


 y k  3    C A3  x  k    C A2 B
C AB
CB
 
 



 



  np 
 np 1
np  2
np 3
C
A
B
C
A
B
C
A
B
y
k

np
C
A




 



0

 u
0


np  m 
CA
B 
0
155
Melhorias no MPC
•
•
Redução dos parâmetros de sintonia
Robustez quanto a estabilidade
– o modelo real da planta não coincidir com o modelo
previsto no controlador, que é considerado o caso
nominal;
– quando uma saída do processo se tornar ativa ou
inativa no controle de faixas;
– quando uma entrada do processo comutar da
condição de restrição para a condição de não
restrição, ou vice-versa;
156
Melhorias no MPC
•
Portanto, a robustez quanto à estabilidade
deve ser analisada em 3 condições distintas
–
–
–
Chaveamento das variáveis controladas da
situação ativa para a situação inativa, ou da
condição inativa para a condição ativa
Chaveamento das entradas da situação disponível
para a situação indisponível ou da situação
indisponível para a situação disponível
Incerteza de modelo – um controlador sintonizado
para a condição nominal é robusto para variações
em torno de 20% do modelo esperado pelo
controlador. Além disso, a estabilidade pode ficar
157
comprometida;
Controladores Nominalmente
Estáveis
• A literatura fornece diversos
controladores nominalmente
estáveis, mas, devido a incertezas
de modelo ou restrições nas
entradas de processo, tornam-se
instáveis;
• Como a estabilidade de um
controlador pode ser garantida para
o caso nominal?
158
Controladores Nominalmente
Estáveis
•
Introdução de restrições que garantam que o
estado final do sistema seja nulo.

 x  k  1  Ax  k   Bu  k 


 y k   C x k 
x  k  np   0
159
Controladores Nominalmente
Estáveis
•
Introdução de restrições que levem o estado
final a um conjunto de estados onde existe um
controlador estável.
A
MPC
DMC sem restrições
160
MPC de Horizonte Infinito

 x  k  1  Ax  k   Bu  k 

y
k

C
x
k






C é a matriz identidade, ou, em outras palavras, o estado é
medido
x e u representam variáveis incrementais
Portanto, para um sistema estável, ,o que traz, como
consequência, desde que não hajam perturbações
desconhecidas, ou simplesmente,
u  k  m  0
161
Função Objetivo do MPC de
Horizonte Infinito

min
u  k ,u  k 1, u  k  m 1

m1
J k   x  k  j  Qx  k  j    u
T
j 1
T
 k  j  Ru  k  j 
j 0
m1

 x  k  j  Qx  k  j    x  k  j  Qx  k  j    x  k  j  Qx  k  j 
T
j 1
T
j 1

T
j m

 x  k  j  Qx  k  j    x  k  m  j  Qx  k  m  j 
j m
T
j 0
T
162
Função Objetivo do MPC de
Horizonte Infinito


 x  k  j  Qx  k  j    x  k  m  j  Qx  k  m  j 
T
j m
T
j 0
x  k 1  Ax  k   Bu  k 
x  k  m  1  Ax  k  m   Bu  k  m   Ax  k  m 
x  k  m  2   Ax  k  m  1  Bu  k  m  1  Ax  k  m  1  A x  k  m 
2
x k  m  j   A x k  m
j
163
Função Objetivo do MPC de
Horizonte Infinito

x
T
j m


 k  j  Qx  k  j    xT  k  m  j  Qx  k  m  j 
j 0

j
j


x
k

j
Qx
k

j

A
x
k

m
QA
x  k  m










j m
j 0

T

T
 x  k  j  Qx  k  j    x  k  m 
j m
T
j 0
T
 A j  QA j x  k  m 
 
T
164
Função Objetivo do MPC de
Horizonte Infinito


j


x
k

j
Qx
k

j

x
k

m
A
QA
x k  m

 
  
  

j m
j 0
T
T
j T
 
j T
j 


x
k

j
Qx
k

j

x
k

m
A
QA

 


   
 x k  m

j m
 j 0


T
T
 
j T
j 


P   A  QA 
 j 0

165
Função Objetivo do MPC de
Horizonte Infinito
 
j T
j 
P     A  Q A 
 j 0

 
T
j T
j
2 T
2
3 T
3
P     A  Q A   Q   A Q A   A  Q A   A  Q A 
 j 0

 T

  A  Q A
Δ
2 T
3 T
4 T
A PA  A QA   A  QA   A  QA   A  QA 
T
T
1 T
A PA  P   A
T
2
 QA1  Q

3
4
1 T
  A
 QA1

A P A  P  Q
T
166
Formulação do MPC de
Horizonte Infinito
m 1
min
u  k ,u  k 1, u  k  m1
m 1
J k   x  k  j  Qx  k  j   x  k  m  Px  k  m    u
sujeito a
T
T
j 1
 k  j  Ru  k  j 
j 0
umin  u  k  j   umax ,
u k  j   0
T
j  0,1,2
m 1
jm
167
Download

controle de processos mpc