Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Controle Preditivo PDF
Apostila Controle Preditivo PDF
Centro Tecnológico
Programa de Pós Graduação em Engenharia Elétrica
1 – Introdução
1.1 – Definição do Controle Preditivo baseado em modelo (CPBM) .
1.2 – Histórico e Terminologia
1.3 – Fatores de sucesso do MPC em aplicações industrias:
1.4 – O Controlador Preditivo na Hierarquia de Controle
1.5 – Relação entre O MPC Com Outros controladores que usam previsão.
1 - Introdução
Ao longo dos últimos 30 anos, estratégia de controle preditivo tem recebido cada
vez mais aceitação do meio industrial, devido aos benefícios que sua aplicação tem
produzido no desempenho dos processos . Os maiores benefícios tem ocorridos em
processos com longo tempo de atraso, com fortes interações entre as variáveis
controladas, e com restrições de operação. Em processos com estas características,
a capacidade de prever o comportamento futuro das variáveis do processo nas
proximidades dos limites de sua capacidade, é fundamental para garantir uma
operação otimizada do processo. Devido a isto, a ISA considera que o controle
preditivo é uma ferramenta importante capaz de diferenciar entre um bom e
um excelente Engenheiro de Controle.
4/81
Controle Preditivo
Sinal de
Saída futura controle atual
prevista Modelo do
Processo
Processo
Real
Saída atual
5/81
Controle Preditivo
hp 2 hc 2
6/81
Controle Preditivo
8/81
Controle Preditivo
9/81
Controle Preditivo
O reagente entra do lado esquerdo deste reator, onde ocorre uma reação
exotérmica no seu interior. A temperatura da reação é mantida próxima do set point
ajustanto o fluxo de água de refrigeração do trocador de calor. O sucesso da reação
depende da temperatura estar próxima da especificada (set point), o que pode ser
garantido mantendo o fluxo do reagente e o fluxo da água de refrigeração entre os
limites mínimos e máximos. O objetivo é finalizar o produto gerado na reação no
menor tempo possível, sujeito as restrições impostas pelo controle de qualidade. Isto
quer dizer que devemos manter a taxa de fluxo do reagente a maior possível.
Devemos observar que a planta não deve ser operada no limite de sua
capacidade, mas sim com uma certa reserva, devido aos distúrbios inesperados
que podem ocorrer. No entanto, um bom sistema de controle deve ser capaz de
lidar com estes distúrbios, operando a planta o mais próximo possível das suas
restrições. Um argumento clássico a favor da técnica de controle ótimo linear é que,
se os distúrbios são aleatórios, e se podemos diminuir a variância da variável
controlada no menor valor possível, então podemos operar o processo o mais
próximo possível das suas restrições. Isto é ilustrado na Fig. 3, que mostra três
funções densidade de probabilidade hipotéticas da variável controlada (y) de uma
planta, e uma restrição de desigualdade (y <= ymax) que deve ser respeitada.A
distribuição (A) tem uma forma de Gaussiana com elevada variância, que é
10/81
Controle Preditivo
resultado do uso de um controlador linear que não está bem sintonizado, assumindo
que a planta tem um comportamento linear e que o distúrbio é um ruído Gaussiano.
A fim de manter uma pequena probabilidade de violação da restrição da saída, o Set
Point da variável controlada deve ser mantido distante das restrições, em relação
aos outros tipos de controladores. A curva (B) seria a função densidade de
probabilidade da variável controlada por um controle ótimo linear quadrático. A
variância seria reduzida, e portanto, poderia manter o Set Point mais próximo da
restrição do que o controlador da curva (A). A distribuição também seria Gaussiana
já que o controlador é linear.
11/81
Controle Preditivo
12/81
Controle Preditivo
1.3.1 Dicas que devem ser analisadas pelo Engenheiro de Controle a fim de
justificar a implantação do Controlador Preditivo Numa Planta Industrial
13/81
Controle Preditivo
14/81
Controle Preditivo
Unidade 1 Unidade 2
Estrutura de Controle Estrutura de Controle
Convencional com MPC
Atuadores Atuadores
(Válvulas) (Válvulas)
1.5 Relação entre O MPC Com Outros controladores que usam previsão.
Ke −TS
Gp ( z) =
τ s +1
15/81
Controle Preditivo
Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:
q(t)
+ u(t) + y1(t) -Ts y(t)
r(t) C(s) g(s) e
No entanto, esta solução não é possível de obter na maioria dos casos reais, tendo
em vista que y(t) não é acessível. A solução proposta por Smith nos anos 50,
baseia-se na introdução de um preditor (Gn(s)) no esquema de controle, conforme
mostra a Fig. 7, onde C(s) é projetado para controlar a planta sem o atraso (Gn(s)):
r(k) y(k)
C(s) -Ls
G(s) e
⌢
y (k + Ln)
⌢
y (k )
Gn(s) -Ls
e
+ e(k)
+
16/81
Controle Preditivo
dX
= AX + Bu Y = CX ,
dt
17/81
Controle Preditivo
hp − k hp − k 2
J (k ) = ∑δX
j =0
2
(k + j ) + ∑ λ u ( k + j )
j =0
18/81
Controle Preditivo
simplificada, por ŷ ( j + k ) .
pela convolução:
∞
y ( k ) = ∑ h(i ).u ( k − i ) (2.1)
i =1
N
y (k ) = ∑ h(i).u ( k − i )
i =1
(2.2)
( )
y ( j ) = H z −1 .u ( k )
19/81
Controle Preditivo
Impulse Response
0.35
0.3
0.25
0.2
Amplitude
0.15
0.1
0.05
0
0 10 20 30 40 50 60 70
Time (sec)
0.2713
Figura 9: Resposta ao Impulso da FT G ( z ) = 3
z − 0.835 z
Supondo N=22:
20/81
Controle Preditivo
N j N
yˆ ( j + k ) = ∑ h(i).u ( j + k − i ) = ∑ h(i)u(k + j − i) + ∑ h(i)u(k + j − i)
i =1 i =1 i = j +1
(2.3)
futuras (u(k), u(k+1, ..., u(k+j-1)) e será chamado de resposta forçada. As ações de
controle presente e futuras serão denotadas por uˆ( j + k ) , as quais são variáveis do
problema e deverão ser calculadas pelo otimizador. Portanto, para um horizonte de
previsão j passos a frente a partir do instante k, teremos j ações de controle presente
e futura. Para diminuir o número de variáveis na predição, definiremos um horizonte
de controle ( hc ) menor que o o horizonte de previsão ( hp ), isto é, hc < hp e
consideraremos uˆ (k ) = uˆ (hc ), k = hc + 1⋯ hp .
j −hc j N
yˆ( j + k) = ∑ h(i)uˆ(k + hc −1) + ∑ h(i)uˆ(k + j − i) + ∑ h(i)u(k + j − i) (2.4)
i =1 i = j −hc +1 i = j +1
21/81
Controle Preditivo
h(1) 0 ⋯ 0
yˆ(k +1) h(2) h(1) ⋯ 0 fu ( k +1)
yˆ(k + 2) ⋮ ⋮ ⋱ ⋮ fu ( k + 2 )
⋮ uˆ(k)
h(hc ) h(hc −1) ⋯ h(1) uˆ(k +1) ⋮
yˆ(k + hc ) = ⋮ ⋮ ⋱ ⋮ . + fu (k + hc )
⋮
⋮
hp−1 −hc +1
⋮
yˆ(k + hp −1) h(hp−1) h(hp−2 ) ⋯ ∑ h(i) uˆ(k + hc −1)(hcx1) f (k + h )
u p−1
i=1
yˆ(k + hp ) (h x1) h(hp ) h(hp−1) ⋯ fu ( k + hp ) (hpx1)
hp −hc +1
p
∑i=1
h(i)
(hpxhc )
22/81
Controle Preditivo
23/81
Controle Preditivo
p N ml
ym ( k ) = ∑ ∑h ml (i )ul (k − i ), m = 1,⋯ , q
l =1 i =1
uˆ1 (k )
uˆ (k )
U (k ) =
2
H m (k ) = [hm1 (k ) hm 2 (k ) ⋯ hmp (k )]1xp
⋮
uˆ p (k ) px1
podemos escrever :
N ml
yˆ m ( j + k ) = ∑ H m (i )U ( j + k − i ), m = 1,⋯ , q
i =1
j −hc j N
yˆm ( j + k) = ∑ Hm (i)Uˆ (k + hc −1) + ∑ Hm (i)Uˆ (k + j − i) + ∑ Hm (i)U(k + j − i) (2.6)
i =1 i = j −hc +1 i = j +1
24/81
Controle Preditivo
N
Definindo: f m ,u ( k + j ) = ∑H
i = j +1
m (i )U (k + j − i ) ,
yˆ1 (k ) f1u (k ) H1 ( k )
yˆ (k ) f (k ) H (k )
Y (k ) = , , H (k ) =
ˆ 2 2,u 2
Fu (k ) =
⋮ ⋮ ⋮
yˆ q (k ) qx1 f q ,u (k ) qx1 H q (k ) qx1
j −hc j
Yˆ( j + k) = ∑ H(i)Uˆ (k + hc −1) + ∑ H(i)Uˆ (k + j − i) + Fu (k)
i =1 i = j −hc +1
Realizando uma seqüência de hp previsões para cada uma das saídas y j , j = 1,⋯ , q ,
chegamos ao seguinte sistema de qhp equações com phc
Incógnitas, dado por:
H(1) 0 ⋯ 0
Yˆ(k +1) H(2) Fu ( k +1)
H(1) ⋯ 0
Yˆ(k + 2) ⋮ ⋮ ⋱ ⋮ F ( k + 2 )
Uˆ ( k ) u
⋮ H(hc ) H(hc −1) ⋯ H(1)
⋮
Yˆ(k + h ) Uˆ ( k +1)
= ⋮ ⋮ ⋱ ⋮ • + F u (k + h c )
c
⋮
⋮
hp−1−hc +1
⋮
∑ H(i) Uˆ ( k + hc −1)
ˆ H(hp−1) H(hp−2 ) ⋯ F k h
( + p−1 )
Y(k + hp −1) i=1
( phc x1)
u
ˆ H(hp ) H(hp−1) ⋯ Fu ( k + hp ) (qhpx1)
hp −hc +1
Y(k + hp ) (qhpx1)
∑i=1
H(i)
qhpxphc
25/81
Controle Preditivo
0 0 0.00005 0.0211 0
0 1 0
A = 0 0 −0.000024 , B = −0.1066 0 , C = , D=0
0 0 1
0 −0.000024 −0.0068 −3.136 −3.8
26/81
Controle Preditivo
h(i ) = g (i ) − g (i − 1) = g (i ). (1 − z −1 ) (3.1)
N N
y ( k ) = ∑ g (i) (1 − z −1
) .u ( k − i ) = ∑ g (i).∆u ( k − i ) (3.2)
i =1 i =1
27/81
Controle Preditivo
j N
yˆ ( j + k ) = ∑g(i) .∆uˆ ( j + k − i ) + ∑ g(i) .∆u ( j + k − i ) (3.3)
i=1 i= j +1
N
O somatório ∑ g (i) .∆u ( j + k − i ) , representa a resposta livre, obtida através
i = j +1
j
das entradas passadas, e o somatório ∑ g (i ) .∆ uˆ ( j + k − i ) , representa a resposta
i =1
j N
yˆ( j + k) = ∑
i =max{1, j −hc +1}
g(i)∆uˆ(k + j − i) + ∑ g(i)∆u(k + j − i)
i = j +1
(3.4)
N
Definindo a resposa livre por f u ( j + k ) = ∑ g (i) .∆u ( j + k − i ) .
i = j +1
28/81
Controle Preditivo
yˆ (k + hp ) (hpx1) g(hp ) g(hp−1) ⋯ g(hp − hc +1) (hpxhc )
fu ( k +1)
fu ( k + 2)
⋮
+ uf ( k + h )
c
⋮
fu (k + hp−1)
fu ( k + hp ) (hp x1)
(3.5)
fu é o vetor hp x1
29/81
Controle Preditivo
Para esta função de transferência, podemos observar que a saída estabiliza após 30
períodos de amostragem, portanto o modelo é dado por:
30
y ( j ) = ∑ g i .∆u ( j − i ) .
i =1
transferência.
30/81
Controle Preditivo
Os métodos que usam a resposta ao impulso ou ao degrau não podem ser usados
em plantas instáveis ou com pólo na origem e necessitam de um grande número de
parâmetros para descrever o modelo, geralmente N ≥ 40 .
yr ( k ) = ym ( k ) + d ( k )
yˆ r (k + j ) = yˆ m (k + j ) + dˆ (k + j )
que é equivalente a
j ∞
yˆ r (k + j ) = ∑ g (i ) ∆uˆ ( j + k − i ) + ∑ g (i ) ∆uˆ ( j + k − i ) +dˆ ( k + j ) (3.6)
i = max{1, j − hc +1} i= j
31/81
Controle Preditivo
N
fu (k + j ) = ∑ ( g (k + i) − g (i))∆u ( j − i ) + yr (k )
i =1
Onde ∆d ( i ) = d ( i ) − d ( i − 1) .
yˆ d = Gd .∆dˆ + f d ,
32/81
Controle Preditivo
A resposta livre completa (a resposta que não depende das ações de controle
futura) f = f u + Gd .∆d + f d , onde fu é resposta livre à entrada u (sinal de controle),
p N ml
yˆ m ( j + k ) = ∑ ∑ g ml (i )∆ul ( j + k − i), m = 1,⋯ , q
l =1 i = max{1,i − hc −1}
(3.8)
∆uˆ1 (k )
∆uˆ (k )
∆U (k ) =
2
Gm (k ) = [ g m1 (k ) g m 2 (k ) ⋯ g mp (k )]1xp
⋮
∆uˆ p (k ) px1
Podemos escrever:
N ml
yˆ m ( j + k ) = ∑
i = max{1, j − hc +1}
Gm (i )∆U ( j + k − i ), m = 1,⋯ , q
33/81
Controle Preditivo
j N
yˆm ( j + k) = ∑
i=max{1, j −hc +1}
G(i)∆Uˆ (k + j − i) + ∑ G(i)∆U(k + j − i)
i = j +1
(3.9)
N
Definindo: fu (k + j ) = ∑G
i = j +1
m (i )∆U (k + j − i ) ,
yˆ1 (k ) f1,u (k ) G1 (k )
yˆ (k ) f (k ) G (k )
Y (k ) = , G (k ) =
ˆ 2 2,u 2
, Fu (k ) =
⋮ ⋮ ⋮
yˆ q (k ) qx1 f q ,u (k ) qx1 Gq (k ) qx1
j −hc j
Yˆ( j + k) = ∑
i =max{1, j −hc −1}
G(i)Uˆ (k + hc −1) + ∑
i = j −hc +1
G(i)U(k + j − i) + Fu (k)
Realizando uma seqüência de hp previsões para cada uma das saídas y j , j = 1,⋯ , q ,
34/81
Controle Preditivo
Yˆ(k +1)
G(1) 0 ⋯ 0
Yˆ(k + 2) G (2) G (1) ⋯ 0
∆Uˆ ( k )
⋮ ⋮ ⋮ ⋱ ⋮
Yˆ(k + h ) ∆ Uˆ ( ) +
k + 1
= G(hc ) G(hc −1) ⋯ G(1) •
c
⋮
⋮ ⋮ ⋮ ⋱ ⋮
ˆ ∆U ( k + hc −1) ( ph x1)
ˆ
G (h
p−1 ) G(h ) ⋯ G(h − h +1)
Y(k + hp −1) p−2 p−1 c c
Fu ( k +1)
Fu ( k + 2 )
⋮
+ Fu (k + hc )
⋮
F
u ( k + h p−1
)
F
u ( k + h )
p (qhpx1)
0 0 0.00005 0.0211 0
0 1 0
A = 0 0 −0.000024 , B = −0.1066 0 , C =
, D=0
0 0 1
0 −0.000024 −0.0068 −3.136 −3.8
35/81
Controle Preditivo
y (k ) =
( )z
B z −1 −d
.u ( k − 1)
A( z )
−1 (4.1)
( )
A z −1 = 1 + a1.z −1 + a2 .z −2 + ... + ana .z − na
onde
( )
B z −1 = b0 + b1.z −1 + b2 .z −2 + ... + bnb .z − nb
(1 − z ) u ( k ) = u ( k ) − u ( k − 1) = ∆u ( k − 1) e que
−1
Aɶ ( z −1 ) = (1 − z −1 ) A( z −1 ) .
36/81
Controle Preditivo
y (k ) =
( )
B z −1 − d
z .∆u ( k − 1) (4.2)
Aɶ z −1 ( )
y ( k ) = y ( k − 1) + y ( k − 2 ) − 3 y ( k − 3) + ∆u ( k − 2 )
yˆ ( k + 3) = yˆ ( k + 2 ) + yˆ ( k + 1) − 3 y ( k ) + ∆uˆ ( k + 1) (4.3)
~
1 = E j ( z −1 ) A( z −1 ) + z − j F j ( z −1 ) (4.4)
37/81
Controle Preditivo
1 0 0 ⇒ E1 = 1 + 0 z −1 + 0 z −2 1 1 −3 ⇒ F1 = 1 + z −1 − 3 z −2
1 1 0 ⇒ E2 = 1 + 1z −1 + 0 z −2 e 2 −2 −3 ⇒ F2 = 2 − 2 z −1 − 3 z −2
1 1 2 ⇒ E3 = 1 + 1z −1 + 2 z −2 0 −1 −6 ⇒ F3 = 0 − z −1 − 6 z −2
Aɶ ( z −1 ) y (k ) = B( z −1 ) z − d ∆u (k − 1) = B( z −1 )∆u (k − d − 1) (4.5)
Aɶ ( z −1 ) E j ( z −1 ) yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1)
(1 − z − j Fj ( z −1 )) yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1)
yˆ (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) + Fj ( z −1 ) y (k ) = G j ( z −1 )∆u (k + j − d − 1) + Fj ( z −1 ) y (k )
(4.6)
onde G j ( z −1 ) = E j ( z −1 ) B( z −1 ) = g 0 + g1 z −1 + g 2 z −2 + ... + g nb+ j −1 z − ( nb + j −1)
resultado:
yˆ ( k + 3) = (1 + z −1 + 2 z −2 )∆u (k + 1) − ( z −1 + 6 z −2 ) y (k )
(4.7)
= ∆u (k + 1) + ∆u (k ) + 2∆u (k − 1) − y (k − 1) + 6 y (k − 2)
38/81
Controle Preditivo
Observamos em (4.7) que a saída prevista a 3 passos a frente não depende mais
das saídas yˆ (k + 1), yˆ (k + 2) como acontece com (4.3). Assim, concluímos que a
equação diophantina elimina a dependência da saída prevista em relação as saídas
futuras.
yˆ (k + d + l ) = H d +l ∆u (k + l − 1) + z l H d +l ( z −1 )∆u (k − 1) + Fd +l ( z −1 ) y (k )
ações futuras e passadas saídas passadas
(4.10)
39/81
Controle Preditivo
onde:
yˆ (k + d + 1)
yˆ (k + d + 2)
yˆ = (4.12)
⋮
yˆ (k + d + N ) N X1
∆u (k )
∆u (k + 1)
∆u = (4.13)
⋮
∆u (k + hc − 1) h X1 c
g0 0 … 0
g g0 … 0
1
⋮ ⋮ ⋮ ⋮
G= (4.14)
g hc −1 g hc − 2 … g0
⋮ ⋮ ⋮ ⋮
g N −1 g N −2 … g N − hc
N X hc
40/81
Controle Preditivo
zH d +1
2
z H d +2
H = (4.15)
⋮
N
z H d + N N X1
Fd +1 ( z −1 )
Fd + 2 ( z −1 )
−1
F (z ) = (4.16)
⋮
−1
Fd + N ( z ) N X1
f = H ( z −1 )∆u (k − 1) + F ( z −1 ) y (k ) (4.17)
ŷ = G∆u + f
41/81
Controle Preditivo
A( z −1 ) y (k ) = z − d B( z −1 )u (k − 1) + D( z −1 ).v(k ) (4.18)
D( z −1 ) = d 0 + d1 z −1 + d 2 z −2 + ... + d nd z nd
(4.19)
Aɶ ( z −1 ) E j ( z −1 ) y (k + j ) = E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) +
(4.20)
−1 −1
+ E j ( z ) D( z )∆v(k + j )
yˆ (k + j ) = Fj ( z −1 ) y (k ) + E j ( z −1 ) B( z −1 )∆u (k + j − d − 1) +
(4.21)
+ E j ( z −1 ) D( z −1 )∆v(k + j )
42/81
Controle Preditivo
yˆ (k + d + l ) = Fd +l ( z −1 ) y (k ) + H d +l ( z −1 )∆u (k + d + l − 1) + z l H d +l ( z −1 )∆u (k − 1) +
(4.22)
+ M d +l ( z −1 )∆v(k + d + l )
yˆ (t + d + l ) = H d +l ( z −1 )∆u (t + l − 1) + f d +l
43/81
Controle Preditivo
yˆ (t + d + 1) = H d +1 ( z −1 )∆u (t ) + f d +1
yˆ (t + d + 2) = H d + 2 ( z −1 )∆u (t + 1) + f d + 2 (4.23)
⋮
yˆ (t + d + N ) = H d + N ( z −1 )∆u (t + N ) + f d + N
yˆ = G.∆u + f (4.24)
f d +1
f
f = d +2 (4.25)
⋮
f d+N
44/81
Controle Preditivo
1 = E ij ( z −1 ) Aɶi ( z −1 ) + z − j Fji ( z −1 )
∆uˆ1 (k )
∆uˆ (k )
∆U (k ) =
2
Sejam os vetores:
⋮
∆uˆ p (k ) px1
45/81
Controle Preditivo
yˆ1 (k ) H 1j H 1j Fj1 y1
yˆ (k ) 2 2 2
H H F y
Yˆ (k ) = H = j
H j = j Fj = j 2
2
⋮ j
⋮ ⋮ ⋮
yˆ q (k ) qx1 H q H q F q y
j qxp j qxp j q qx1
46/81
Controle Preditivo
seguinte forma:
Yˆ(k + d +1)
G0 0 ⋯ 0 Fu ( k +1)
Yˆ(k + d + 2) G G0 ⋯ 0
1 ∆Uˆ ( k ) F u ( k + 2)
⋮ ⋮ ⋮ ⋱ ⋮ ⋮
Yˆ(k + h ) ˆ
∆U ( k +1)
c
= Ghc−1 Ghc−2 ⋯ G0 • + F
u (k + h )
c
⋮ ⋮ ⋮
⋮ ⋮ ⋱ ⋮
ˆ
ˆ
Y (k + h −1)
Ghp−1 Ghp−2 ⋯ GN ∆U ( k + hc −1)( phcx1) Fu (k + N −1)
p
ˆ F k +N
Ghp Ghp−1 ⋯ GN−1 u( )
Y(k + hp ) (qNx1) qNxphc
Onde
H 1j ∆u (k − 1) + Fj ( z −1 ) y1 (k ) H 1j ∆u (k + j − d − 1)
2 2
H j ∆u (k − 1) + Fj ( z −1 ) y2 (k ) H j ∆u (k + j − d − 1)
Fu (k + j ) = Gj =
⋮ ⋮
q −1 q
H j ∆u (k − 1) + Fj ( z ) yq (k ) qx1 H j ∆u (k + j − d − 1) qxp
Yˆ = G∆U + f
47/81
Controle Preditivo
forma matricial:
1 T
J= ∆u H ∆u + bT ∆u + f 0 + λ∆u T ∆u (5.2)
2
Onde,
H = 2(δ GT G + λ I )
bT = 2δ ( f − w)T G
f 0 = δ ( f − w) T ( f − w)
48/81
Controle Preditivo
T
J = δ ( yˆ − w ) . ( yˆ − w ) + λ .∆u T .∆u
T
J = δ ( G.∆u + f ) − w . ( G.∆u + f ) − w + λ .∆u T .∆u
T
J = δ G.∆u + ( f − w ) . G.∆u + ( f − w ) + λ .∆u T .∆u
( ) ( )
( ) ( )
∂J
= δ 2. GT .G .∆u + 2.GT . ( f − w ) + 2.λ .∆u = 0
( )
∂∆u
−1
(δ (G .G ) + λ.I ) .∆u = −δ .G .( f − w) ⇒ ∆u = (δ .(G .G ) + λ.I )
T T T
.δ .GT . ( w − f )
−1
∆u = K .( w − f ) δ ( GT .G + λ .I ) .δ .GT
onde K é a primeira linha da matriz que é o
ganho do controlador.
−1
(
∆u = δ GT .G + λ I ) .δ .G T . ( w − f )
49/81
Controle Preditivo
u ( j ) = u ( j − 1) + ∆u ( j )
5- Obter a ação de controle atual: , onde
∆u = − HH −1b = (δ GT G + λ I ) −1 GT δ ( w − f ) (5.3)
Observa-se que a equação (5.3) resulta num vetor de sinal de controle, onde o sinal
a ser direcionado para o processo é o primeiro elemento do vetor ∆u , obtido por:
∆u = K ( w − f ) (5.4)
Ke −TS
G p ( s) =
τ s +1
Para termos um bom controle neste tipo de processo, o ideal seria realimentarmos a
saída sem o atraso, como mostra a Figura 6:
q(t)
+ u(t) + y1(t) -ds y(t)
r(t) C(s) G(s) e
50/81
Controle Preditivo
No entanto, esta solução não é possível de obter na maioria dos casos reais, tendo
em vista que y(t) não é acessível. A solução proposta por Smith nos anos 50,
baseia-se na introdução de um preditor (Gn(s)) no esquema de controle, conforme
mostra a Fig. 7, onde C(s) é projetado para controlar a planta sem o atraso (Gn(s)):
r(t) y(t)
C(s) -ds
G(s) e
⌢ ⌢
y1 (t ) = y (t + d ) ⌢
y (t )
Gn(s) -ds
e
+ e(t)
+
Para facilar a análise, a comparação do GPC com o preditor de Smith será feita
consirando o modelo de primeira ordem ARIMA discreto:
B ( z −1 ) − d b
y(k ) = z .∆u ( k − 1) = z − d .∆u ( k − 1)
ɶA( z −1 ) 1 − (a + 1) z + az
−1 −2
yˆ ( k + j ) = (1 + a ) yˆ ( k + j − 1) − ayˆ ( k + j − 2 ) + b∆uˆ ( k + j − d − 1)
51/81
Controle Preditivo
Onde:
d01 d11 g 00 0 … 0
2 2 g11 g 01 … 0
d d1
D´= 0 yˆ ( t + d ) ⋮ ⋮ ⋮ ⋮
⋮ ⋮ y
ˆ ´= yˆ (t + d − 1) G´=
N 2X1 g 22 g12 … 0
N
d0 d0 NX2 ⋮
N −1
⋮ ⋮ ⋮
g N −1 g NN−−12 … g NN −−1hc N X h
c
−1
(5.6)
∆u = (δ .( G .G´) + λ .I ) .δ .G´ .( w − D´ yˆ´)
´T T
Seja:
−1
q = (δ .( G´T .G´) + λ.I ) δ G´T
p = qD´
1
1
w = × r (k )
⋮
1 N X1
52/81
Controle Preditivo
(onde r(k) é o set point), concluimos que o primeiro elemento do vetor ∆u em (5.6)
será igual a :
yˆ (k + d )
∆u (k ) = (q11 + ⋯ + q1 N )r (k ) + [ − p11 − p12 ] 1
yˆ 2 (k + d )
Que pode ser representado pelo seguinte diagrama de blocos:
Figura 5 e Figura 6
( )
y ( k ) = (1 − Aɶ z −1 ) y (k ) + z − d B ( z −1 ).∆u ( k − 1)
d
yˆ ( k + d ) = ((1 − Aɶ ( z −1 ) z ) d y (k ) + ∑ (1 − Aɶ ( z −1 ))i −1 z − d B ( z −1 ).∆u ( k + d − 1)
i =1
yˆ ( k + d ) = R ( z −1 ) y (k ) + ( z d − R ( z −1 )).Gn ( z −1 )∆u ( k )
Onde:
R( z ) = (1 − Aɶ ( z −1 )) d z d
−1
e −1
Gn ( z ) =
( )
B z −1 − d −1
z
( )
Aɶ z −1
53/81
Controle Preditivo
Figura 7 :
54/81
Controle Preditivo
Exercício 8:
Seja a seguinte Função de Transferência de um determinado processo:
K exp(−θ s ) bz −1 − d
Gm ( s ) = cuja transformada Z é Gm ( z ) = z ,
τ s +1 1 − az −1
55/81
Controle Preditivo
Este tipo de controlador preditivo utiliza o modelo em espaço de estados para realizar as
previsões para entradas e q saídas onde , (WANG, 2009).
A formulação do modelo MIMO em espaço de estados é:
56/81
Controle Preditivo
onde,
onde ,
onde ,
57/81
Controle Preditivo
No controle preditivo multivariável, a função custo que deve ser minimizada é dada
pela seguinte expressão:
hp 2
q
J (k ) = ∑∑ δ l yˆl ( j + k ) − wl ( j + k ) +
l =1 j = d
p hc 2
∑ ∑ λ ∆u ( j + k − 1)
i =1 j =1
i i
δ1 0 ⋯ 0 λ1 0 ⋯ 0
0 δ2 ⋯ 0 0 λ2 ⋯ 0
δ= λ=
⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ δq 0 0 ⋯ λp
qxq pxp
δ 0 ⋯ 0 λ 0 ⋯ 0
0 δ ⋯ 0 0 λ ⋯ 0
δ = λ=
⋮ ⋮ ⋱ ⋮ ⋮ ⋮ ⋱ ⋮
0 0 ⋯ δ ( qN ) x ( qN )
0 0 ⋯ λ ( pN ) x ( pN )
Onde N = hp − d .Assim a função custo, pode ser escrita na seguinte forma matricial:
∆U = (δ GT δ G + λ I ) −1δ G T (W − f )
O sinal a ser direcionado para o processo é o vetor constituído pelos p’s primeiro
elementos do vetor ∆U , obtido por:
58/81
Controle Preditivo
∆u1 (k )
∆u2 (k )
∆U (k ) = K (W − f )
⋮
∆u p (k )
(5.4)
59/81
Controle Preditivo
Para que se consiga solucionar (5.5), deve-se deixar que as restrições acima
estejam em função de ∆u definido em (4.13) na forma matricial.
1
1
Γhc = (5.6)
⋮
1 hcx1
∆u ≤ Γ hc ∆umax
Assim,
− ∆u ≤ −Γhc ∆u min
60/81
Controle Preditivo
I hc Γ hc ∆umax
∆u ≤
(5.7)
− I
hc 2 hcxhc Γ hc ∆umin 2 hcx1
u (t ) = u (t − 1) + ∆u (t )
u (t + 1) = u (t ) + ∆u (t + 1) = u (t − 1) + ∆u (t ) + ∆u (t + 1)
(5.8)
⋮
u (t + hc − 1) = u (t − 1) + ∆u (t ) + ∆u (t + 1) + ⋯ + ∆u (t + hc − 1) Nx1
u (t ) u (t − 1) ∆u (t )
u (t + 1) u (t − 1) ∆u (t ) + ∆u (t + 1)
= . (5.9)
⋮ ⋮ ⋮
u (t + hc − 1) u (t − 1) ∆u (t ) + ∆u (t + 1) + ⋯ + ∆u (t + hc − 1)
= Γhc u (t − 1) + Γhc ∆u
Com:
1 0 0 ⋯ 0
1 1 0 ⋯ 0
Γhc = (5.10)
⋮ ⋮ ⋮ ⋮ ⋮
1 1 1 ⋯ 1
61/81
Controle Preditivo
Τ Γ hc (umax − u (t − 1))
.∆u ≤
(5.11)
−Τ 2 h Xh Γ hc (u (t − 1) − umin ) 2 h X 1
c c c
1
1
ΓN = (5.13)
⋮
1 Nx1
62/81
Controle Preditivo
Γ N ymin − f ≤ H ∆u ≤ Γ N ymax − f
H ∆u ≤ Γ N ymax − f (5.14)
− H ∆u ≤ f − Γ N ymin
H Γ N ymax − f
.∆u ≤
(5.15)
− H 2 Nxh f − Γ N ymin 2 Nx1
c
É necessário juntar as três restrições acima (1,2 e 3) para permitir que sejam
aplicadas na sintonia do controlador GPC especificado para o controle do sistema,
de forma a evitar desvios adicionais do modelo interno face a resposta do processo
real obtida. Pode-se escrever esta junção como:
S .∆u ≤ C (5.16)
Onde:
Γhc Γ hc ∆umax
− Γ −Γ hc ∆umin
hc
T Γ hc (umax − u (t − 1))
S = hc e C= (5.17)
− Thc Γ hc (u (t − 1) − umin )
H Γ N ymax − f
− H ( 4 hc + 2 N ) xhc f − Γ N ymin (4 hc + 2 N ) x1
Com o que foi exposto da estrutura do controlador adotado até aqui, o problema a
ser resolvido pelo controlador Preditivo mediante a presença de restrições consiste
em minimizar a função custo (anteriormente mencionada na equação (5.2) sujeita a
um conjunto definido de restrições, fornecido por (5.17) acima.
63/81
Controle Preditivo
Após a resolução por este método, acha-se um vetor ∆u no qual apenas o primeiro
elemento ∆u (t ) é enviado ao processo para fazer com que a saída se aproxime da
referência desejada minimizando a função custo (5.2), devendo as limitações
contidas em (5.17) serem respeitadas, incondicionalmente.
64/81
Controle Preditivo
1 T
min f ( x) = x Gx + g T x
x 2
s.a. : (5.18)
ci : ai x = bi i∈I
ci : ai x ≤ bi i∈D
Terminologia:
65/81
Controle Preditivo
T
1 2 0 −2 x1
min f ( x) = xT 0 2 x + −2 x , x = x
x 2 2
s.a.: (5.19)
T
−1
c1 : x ≤ −2 − 2 1 ∈ D
−1
T
1
c2 : x ≤ 2 2 ∈ D
−1
Quanto menor o valor da função objetivo, menor será o círculo e portanto, o ponto
ótimo x* estará sobre o círculo que tangencia a restrição c1 , ou seja, no ponto
T
1 1
1 + 2 1 + 2 . No ponto de mínimo, somente a primeira restrição estará ativa, ou
seja A = {1}
66/81
Controle Preditivo
aiT x* = bi i∈I
Quando isto acontece, podemos provar que o ótimo x* satisfaz a seguinte condição
necessária:
∇f ( x* ) = −∑ ai λi*
i∈ A
67/81
Controle Preditivo
68/81
Controle Preditivo
69/81
Controle Preditivo
5τ θ τ θ
hp = N = + int( + 1) hc = + int( + 1)
T T T T
hc 2 θ 3τ h −1
λ= K (hp − int( + 1) − + 2 − ( c ))
10 T 2T 2
70/81
Controle Preditivo
Exercício 12:
m in f ( x ) = 1 0 ( x1 − 3 , 5 ) 2 + 2 0 ( x 2 − 4 ) 2
x1 + x 2 ≤ 6
x1 − x 2 ≤ 1
2 x1 + x 2 ≥ 6
0 .5 x1 − x 2 ≥ − 4
x1 ≥ 0
x2 ≥ 0
71/81
Controle Preditivo
min J ( x) = cT v + d T x
(PML) v (6.1a)
s.a. : Av ≤ b + Ex,
1 T
min J ( x) = v Gv + xT Fv
(PMQ) v 2 (6.1b)
s.a.: Av ≤ b + Ex,
72/81
Controle Preditivo
Χ = { x ∈ ℝ p Av ≤ b + Ex} ,
73/81
Controle Preditivo
Definição 6.1.3 (Função Afim Por Partes (PWA)) Uma função f : Χ → ℝ d com
R
d ∈ ℕ + é afim por partes ((PWA), se a partição {Ρ r }r =1 de um conjunto Χ existir, tal
que f ( x) = Lr x + Cr se x ∈ Ρ r .
Pr = { x ∈ ℝ p H r x ≤ K r } , r = 1,… , R
v* ( x) = Lr x + Cr , se x ∈ Ρ r
J * ( x) = xT Qr x + Lr x + Cr , se x ∈ Ρ r
74/81
Controle Preditivo
região.
∂f ( x, u ) ∂f ( x, u )
f LIN ,i ( x, u ) = f ( x s ,i , u s ,i ) + s ,i
s ,i s ,i ( x − x ) +
s ,i
(u − u ) xs ,i ,u s ,i , i = 1,… , nL
∂ x x ,u ∂ u
x
x(t + 1) = f LIN ,i ( x, u ) se ∈ Di , i = 1,… , nL (6.2)
u
75/81
Controle Preditivo
Onde Di ⊆ Χ × U .
Definição 6.4 O sistema dinâmico PWA está bem estruturado se o seu domínio
D ⊆ Χ × U pode ser particionado em Di regiões tais que D = ∪ i Di e as regiões não se
cruzam, i.e.,
Onde x(t ) ∈ ℝ n é o vetor de estado no instante t, u (t ) ∈ ℝ m é o vetor de controle, e f(.)
a função linear de atualização do estado.Assume-se que os estados e as entradas
são sujeitos a restrições: x(t ) ∈ Χ ⊂ ℝ n , U (t ) ∈ U ⊂ ℝ m . A função f pode ser
Um sistema PWA bem estruturado quer dizer que a sua dinâmica é determinada
unicamente para um dado par ( x, u ) . Tais sistemas pertencem à classe de sistemas
lineares híbridos, constituído de variáveis lógicas e dinâmicas lineares no tempo.
xk +1 = Axk + Buk
(6.3)
yk = Cxk + Duk
Assuma que este sistema seja controlável e observável, e que existam os conjuntos
limitados Χ = { x | H x x ≤ K x } , U = { x | H u x ≤ K u } , Γ set = { x | Lx ≤ M } . Seja N um número
76/81
Controle Preditivo
N −1
J N* ( x0 ) = min ℓ N ( xN ) + ∑ ℓ k ( xk , uk )
UN
k =0
sa.
xk +1 = Axk + Buk (6.4)
xk ∈ Χ, ∀k = 0,… , N
uk ∈ U , ∀k = 0,… , N
xN ∈ Γ set
a restrição do estado final, que deve ser acrescentado para garantir estabilidade.
mais próximo possível da origem, ou seja, minimizar a função custo dada por:
ℓ N ( xN ) = QN xN p
ℓ( xk , uk ) = Qk xk p
+ Qu uk p
,
Onde QN ∈ ℝ n×n , Qx ∈ ℝ n×n , Qu ∈ ℝ m×m são matrizes de poderações usadas para sintonzar
Pz ∞
= max Pz
i i para algum vetor z e matriz P.
i
mais próximo possível da referência xREF ou seja, minimizar a função custo dada
por:
ℓ N ( xN ) = QN ( xN − xREF ) p
(6.5)
ℓ( xk , uk ) = Qk ( xk − xREF ) p + Qu ∆uk p
,
Onde ∆uk = uk − uk −1 .
77/81
Controle Preditivo
0 … … 0
I B 0 … 0
A
⋮ ⋮ ⋮ ⋮
Aɶ = , Bɶ =
⋮ AB B … 0
N ⋮ ⋮ ⋮ ⋮
A N −1
A B AN −2 B … 0
s.a. (6.6)
GU N ≤ W + Ex0 ,
Onde,
ɶ ɶ + Qɶ , F = Aɶ T QB
H = Bɶ T QB ɶ ɶ , Y = Aɶ T QA
ɶ ɶ , Qɶ = diag (Q ,… , Q Q ) , Qɶ = diag (Q ,… , Q ) .
u x x N u u u
dada por:
78/81
Controle Preditivo
N −1
J N* ( x0 ) = min
U N ,ε 0 ,⋯,ε N −1 ,δ 0 ,⋯,δ N −1 ,γ
∑ (ε
k =0
k + δk ) + γ
sa.
Qu uk ≤ 1ε k , −Qu uk ≤ 1ε k , k = 0,1,… , N − 1 (6.7)
Qx xk ≤ 1δ k , − Qx xk ≤ 1δ k , k = 0,1,… , N − 1
QN xN ≤ 1γ , −QN xN ≤ 1γ
J N* ( x0 ) = min ε + δ + γ
U N ,ε ,γ
sa.
Qu uk ≤ 1ε , −Qu uk ≤ 1ε (6.8)
Qx xk ≤ 1δ , −Qx xk ≤ 1δ
QN xN ≤ 1γ , −QN xN ≤ 1γ
A formulação do problema de Controle Ótimo para Sistemas Afins por Partes requer
a transformação do conectivo lógico Se-Então numa representação matemática
equivalente. Conforme sugerido por (CITAR) devemos definir os seletores binários
δ i = {0,1} , i = 1… , nL tais que:
xk
(δ i = 1) ⇔ ∈ Di
u k
dadas por:
79/81
Controle Preditivo
xk
H i − K i ≤ M i (1 − δ k ,i )
uk
nL
∑δ
i =1
k ,i =1
~
xk +1 − ( Ai xk + Bi uk ) ≤ M i (1 − δ k ,i ) (6.9)
~
xk +1 − ( Ai xk + Bi uk ) ≥ mi (1 − δ k ,i )
x ~ ~
Onde M i = max H i k − K i M i = max Ai x + Bi u + ci mi = min Ai x + Bi u + ci
x∈Χ ,u∈U
uk x∈Χ ,u∈U x∈Χ ,u∈U
Note que os seletores δ k ,i = {0,1} , i = 1… , nL devem ser introduzidos para cada instante
80/81
Controle Preditivo
Bibliografia:
1 - Richalet, J., Rault, A., Testud, J. L, & Papon, J. (1978). Model Predictive Heuristic
Control: Aplications to Industrial Processes. Automática, 14,413-428.
2 - Cutler, C. R., & Ramaker, B.L.(1980). Dynamic Matrix Control – a computer
control algorithm. AICHE national meeting. Houston, TX, April, 1979.
3 - Cutler, C. Moshed, A. & Haydel, J. (1983). An Industrial perspective on advanced
control. In AIChe annual meeting. Washington DC, october 1983.
4 - Qin, S. J. & Badgwell, T.A. (2003). A survey of industrial model predictive control
technology. Control Egineering Practice, 11, 733-764.
5 - Camacho, E.F. and Bordons (2000), Model Predictive Control, Springer Verlag,
2000.
6 - Maciejowski, (2002)J. M. Preditctive Control With Constraints. Harlow, England:
Prentice Hall.
7 - Normey, J.E., Rico (2000), Controle Preditivo de Processos com Grandes Atrasos
de Transporte, Minicurso do XIII Congresso Brasileiro de Automática, Florianópolis
(SC).
8 - Luemberg, David C. (1984), Linear and Non Linear Programming, Addison
Wesley, 2a ed.
9 - D. Dougherty and D.J. Cooper (2003) Tuning Guidelines of A Dynamic Matrix
Controller for Integrating (Non-Self-Regulating) Processes. Ind. Eng. Chem. Res.
42, 1739-1752.
10 - Blevins, T.L; Gregory K. McMillan, W. K. Wojsznis and M.W.Brown. Advanced
Control Unleashed: Plant performance Management for Optimum Benefit. ISA,
2003.
81/81