DAS 5945 - Técnicas de
Controle Avançado aplicadas à
Indústria do Petróleo e Gás.
aula 12
2008.2
1. Estruturas de Controle
- Controle de Razão (Ratio Control)
- Controle de Tanques
- Ganho Escalonado
- Controle adaptativo
- Controle em Cascata
- Preditor de Smith
2. Introdução ao Controle Preditivo Baseado em
Modelo – CPBM ou MBPC(Model Based Predictive
Control)
Controle de Razão (Ratio Control)
Uma necessidade comum em controle de processos é
manipular a razão entre a vazão f de uma substância em
relação a vazão total q.
f
R=
q
q
f
Processo
c=
q
e
Controle
Estrutura A
f
q
Processo
r
+
f
e
Controle
Estrutura B
+
f f = rq
Controle de Tanques
tanque
LT
qsaída
qentrada
O controle do nível é efetuado de forma a absorver as variações da
vazão de entrada mantendo a vazão de saída com variações suaves.
Uma técnica é utilizar controle proporcional com
ec=e*abs(e)
Ganho Escalonado (Gain Schedulling)
Escalonamento
Look-up table
Yr
e
+
-
Controlador
u
Processo
y
Controle adaptativo (Adaptive Control)
Regulador Auto-ajustável
Especificação
Projeto do
Controlador
Yr
+
e
-
Controlador
Estimador
u
Processo
Controle em Cascata (Cascade Control)
Exemplo:
Temperatura
desejada
Yr
+
e
Vazão de vapor
desejada
Cp
-
u1
+
-
Vazão
Temperatura
Abertura de
Válvula
Cs
u2
Temperatura
Processo
Y
Preditor de Smith
Controlador
yr
e
+
-
C
Processo
y
p
u
~
p
e
− Ls
-+
+
+
O Controlador C é projetado como se não houvesse
atraso de transporte.
CONTROLE PREDITIVO BASEADO EM MODELO
• Uso explícito de um modelo para predizer
as saídas do processo em instantes de
tempo futuro. (horizonte de predição)
CPBM
• Cálculo de uma sequência de controle
(horizonte de controle) que minimiza uma
função objetivo.
• A cada instante o horizonte é deslocado
em direção ao futuro. Aplica-se somente o
primeiro sinal da sequência calculada em
cada iteração.
Estrutura básica dos controladores Preditivos
Trajetória da
referência
Entradas e
saídas passadas
Modelo
para
predição
Saídas
previstas
Erros
futuros
Entradas
Futuras
Otimizador
( Entradas Futuras )
Função Custo
Restrições
Modelos para predição:
Modelos não paramétricos: ( Plantas estáveis )
1-Resposta ao Impulso Unitário (MAC, EPSAC)
2-Resposta ao Degrau Unitário (DMC)
Modelo paramétricos:
1- Função de Transferência
(GPC,UPC,EPSAC,EHAC,MUSMAR ou MURHAC)
2- Equações de Estado (PFC)
3- Modelo não linear (NN, Fuzzy, PNMPC)
Modelo baseado na resposta ao impulso unitário
y (k ) = ∑i =1 hi u (k − i )
∞
Os termos hi são os valores nos instantes k da resposta
ao impulso .
Coeficientes hi
Impulse Response
0.35
0.3
Amplitude
0.25
0.2
0.15
0.1
0.05
0
0
5
10
15
Time (sec)
20
25
Resp. ao degrau
•
0
0
•
0
0
•
0.3000
1.0000
•
0.3000
1.0000
•
0.2100
2.0000
•
0.5100
2.0000
•
0.1470
3.0000
•
0.6570
3.0000
•
0.1029
4.0000
•
0.7599
4.0000
•
0.0720
5.0000
•
0.8319
5.0000
•
0.0504
6.0000
•
0.8824
6.0000
•
0.0353
7.0000
•
0.9176
7.0000
•
0.0247
8.0000
•
0.9424
8.0000
•
0.0173
9.0000
•
0.9596
9.0000
•
0.0121 10.0000
•
0.9718 10.0000
•
0.0085 11.0000
•
0.9802 11.0000
u(k)
1 2 3 ...
y (k ) =
∑
∞
h u (k − i)
i =1 i
y (4) = h1u (4 − 1) + h2u (4 − 2) + h3u (4 − 3) + h4u (4 − 4)
y (4) = h1 *1 + h2 *1 + h3 *1 + h4 * 0
y (4) = 0 *1 + 0.3 *1 + .21 *1 + .147 * 0
Y (4) = 0.51
K-N
Para sistemas estáveis existe um N tal que hN ≅ 0
y (k ) = ∑i =1 hi u (k − i ) → y (k ) = ∑i =1 hi u (k − i )
∞
N
Modelo FIR (Finite Impulse Response)
Modelo baseado na resposta ao degrau
y (k ) = ∑i =1 g i ∆u (k − i )
∞
y (0) = 0
y (4) = g1∆u (4 − 1) + g 2 ∆u (4 − 2) + g 3 ∆u (4 − 3)
y (4) = g1∆u (3) + g 2 ∆u (2) + g 3 ∆u (1)
y (4) = g1 (u (3) − u (2)) + g 2 (u (2) − u (1)) + g 3 (u (1) − u (0))
y (4) = g1 0 + g 2 0 + g 31
y (4) = 0.51
TAREFA
Obter o gráfico de y(k) utilizando o modelo baseado em
reposta ao degrau unitário.
∆u (k )
1.0
u (k )
1
1 − z −1
.2 z −1
1 − 0.8 z −1
u (k )
0.5
1.0
∆u (k )
9
17
k
0.5
17
9
k
TAREFA
solução
clear all
close all
z=tf('z',1);
G=.2*z^-1/(1-.8*z^-1);
Ng=70;
[rd]=step(G,Ng+1);
g=rd(2:Ng+1);
du=[0.5;zeros(7,1);0.5;zeros(7,1);-.5;zeros(Ng-17,1)];
N=length(du)
for k=1:N+1
som=0;
for i=1:Ng
j=k-i;
if j>0
som=som+g(i)*du(j)
else
break
end
end
y(k)=som;
End
plot(y)
u=[0.5*ones(8,1);ones(8,1);.5*ones(8,1)];
yft(1)=0;
for s=2:25
yft(s)=.8*yft(s-1)+.2*u(s-1);
End
Hold
plot(yft,'kd')
Em geral os algoritmos MBPC utilizam a seguinte
estratégia:
1- Faz-se uma predição da saída para os próximos p
instantes de amostragem considerando que não
haverá alteração na ação de controle (∆u(k+j)=0) para
j=0 até m-1.
2- Calcula-se os próximos ∆u(k+j), j=0 até m-1, de
forma a minimizar uma função objetivo.
A função objetivo típica é uma medida da diferença
entre as referências futuras e as predições futuras em
um horizonte (horizonte de predição) mais o esforço
de controle em outro horizonte (horizonte de controle).
Aplica somente
∆u (k )
1
1 − z −1
∆u
Calcula
u (k )
Processo
é o vetor com incrementos de ação
futura (m elementos) que minimiza uma
função custo.
⎡ ∆u (k ) ⎤
⎢ ∆u (k + 1) ⎥
⎥
∆u = ⎢
M
⎥
⎢
⎥
⎢
⎣∆u (k + m − 1)⎦
MPC calcula o vetor ∆u mas aplica somente
o primeiro elemento do vetor ∆u, i.e., ∆u(k).
Dynamic Matrix Control - DMC
Cutler e Ramaker, Shell Oil Co. (1980)
Tipo de Controle Preditivo bem aceito na Indústria
Petroquímica.
Principais vantagens:
• O modelo é a resposta ao degrau (de fácil obtenção)
• Trata processos multivariáveis com facilidade.
• Fácil compreensão e ajuste.
Principais desvantagens:
• Trabalha somente com plantas estáveis (Existe
versão para operar com processos integrativos)
DMC – Montagem da Função Objetivo
1º. Passo = Escrever as predições
y (k ) = ∑i =1 g i ∆u (k − i ) + n(k )
∞
∞
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + n~ (k + j / k )
Significa o valor da saída y j tempos de
amostragem na frente do instante atual k.
Escrevendo as predições...
∞
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + n~ (k + j / k )
∞
j
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + ∑i = j +1 g i ∆u (k + j − i ) + n~ (k + j / k )
Contribuição de
Contribuição de
∆u futuro k, k+1, k+2...
∆u passado k-1, k-2, k-3...
Perturbação
~
y (k + j / k ) = ∆y (k + j / k )(∆u f ) + y∆pu f =0 (k + j / k ) + n~ (k + j / k )
A perturbação para todos os instantes futuros é considerada igual a
perturbação no instante k.
n~ (k + j / k ) = n~ (k / k ) = y m (k ) − ~
y (k / k ) para todo j ∈ [1, p ]
Escrevendo as predições...
~
Futuro ∆y (k + j / k )
~
passado y (k + j / k ) ∆u =0
j
∞
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + ∑i = j +1 g i ∆u (k + j − i )
+ y (k ) − ~
y (k / k )
m
perturbação
futuro
passado
j
∞
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + ∑i = j +1 g i ∆u (k + j − i )
+ y m (k ) − ∑i =1 g i ∆u (k − i )
∞
perturbação
Escrevendo as predições ...
∑ g ∆u(k + j − i) + f (k + j)
f (k + j ) = ∑
g ∆u (k + j − i ) − ∑ g ∆u (k − i ) + y (k )
f (k + j ) = ∑ g ∆u (k − i ) − ∑ g ∆u (k − i ) + y (k )
f (k + j ) = ∑ ( g − g )∆u (k − i ) + y (k )
~
y (k + j / k ) =
j
i =1 i
∞
∞
i = j +1 i
i =1 i
∞
i =1
∞
i =1
m
∞
j +i
i =1 i
j +i
i
m
m
g j +i − g i = 0 para i = N
f (k + j ) = ∑i =1 ( g j +i − g i )∆u (k − i ) + y m (k )
N
DMC – Escrevendo as predições ...
⎡ g1
⎢g
⎢ 2
⎢ g3
⎢
j
∑i =1 g i ∆u (k + j − i) = ⎢ g 4
⎢ g5
j = 1: p
⎢
⎢ M
⎢g
⎣ p
0
g1
0
0
0
0
g2
g3
g1
g2
0
g1
g4
M
g p −1
g3
M
g p−2
g2
M
g p −3
j
~
y (k + j / k ) = ∑i =1 g i ∆u (k + j − i ) + f (k + j )
~
Y px1 = G pxm ∆u mx1 + f px1
⎤ ⎡ ∆u (k ) ⎤
⎥⎢
⎥
u
(
k
1
)
∆
+
⎥⎢
⎥
0 ⎥ ⎢ ∆u (k + 2) ⎥
⎥⎢
⎥
0 ⎥ ⎢ ∆u (k + 3) ⎥
g1 ⎥ ⎢ ∆u (k + 4) ⎥
⎥⎢
⎥
M ⎥⎢
M
⎥
g p − m +1 ⎥⎦ ⎢⎣∆u (k + m − 1)⎥⎦
0
0
Representação AP para as predições (válida para
sistemas lineares e não lineares)
~
Y = F + G∆u
onde
~
F = Y∆u =0
~
∂Y
G=
∂∆u
⎡ ∂y (k + 1)
⎢ ∂∆u (k )
⎢
⎢ ∂y (k + 2)
G = ⎢ ∂∆u (k )
⎢
M
⎢ ∂y (k + p )
⎢
⎣ ∂∆u (k )
⎤
⎥
⎥
∂y (k + 2)
⎥
0
L
⎥
∂∆u (k + 1)
⎥
0
M
L
∂y (k + 2)
∂y (k + p ) ⎥
L
⎥
∂∆u (k + 1)
∂∆u (k + m − 1) ⎦
0
L
0
Representação AP para as predições (válida
para sistemas lineares e não lineares)
⎡ ∂y (k + 1)
⎢ ∂∆u (k )
⎡ y (k + 1) ⎤ ⎡ y (k + 1) ⎤
⎢
⎢ y (k + 2) ⎥ ⎢ y (k + 2) ⎥
⎢ ∂y (k + 2)
⎢
⎥=⎢
⎥
+ ⎢ ∂∆u (k )
⎢
⎥
⎢
⎥
M
M
⎢
M
⎢
⎥ ⎢
⎥
⎢
∂y (k + p )
⎣ y (k + p)⎦ ⎣ y (k + p )⎦ ∆u =0
⎢
⎣ ∂∆u (k )
Jacobiano de
⎤
⎥
∆u (k ) ⎤
⎥⎡
⎢ ∆u (k + 1) ⎥
∂y (k + 2)
⎥
0
L
⎥
⎥⎢
∂∆u (k + 1)
⎢
⎥
M
⎥
0
M
L
⎢
⎥
∂y (k + 2)
∂y (k + p ) ⎥ ⎣∆u (k + m − 1)⎦
L
⎥
∂∆u (k + 1)
∂∆u (k + m − 1) ⎦
0
L
~
Y(∆u)
0
Exercício:
Para os sistema representado pela FT
y( z)
bz −1
=
u ( z ) 1 − az −1
1- Encontre a representação das predições para p=3 e
m=3 a partir da definição AP.
Lembre:
u (k ) = u (k − 1) + ∆u (k )
u (k + 1) = u (k ) + ∆u (k + 1) = u (k − 1) + ∆u (k ) + ∆u (k + 1)
u (k + 2) = u (k + 1) + ∆u (k + 2) = u (k − 1) + ∆u (k ) + ∆u (k + 1) + ∆u (k + 2)
2- Mostre que a matriz G obtida é igual aquela obtida
com os coeficientes da resposta ao degrau (sistema
linear).
Solução:
y (k + 1 / k ) ?
y( z)
bz −1
=
u ( z ) 1 − az −1
y ( k + 1 / k ) = ay (k ) + bu (k )
y (k ) = ay (k − 1) + bu (k − 1)
y ( k + 1 / k ) = a[ay (k − 1) + bu (k − 1)] + b[u (k − 1) + ∆u (k )]
y ( k + 1 / k ) = f1 (u (k − 1), y (k − 1)) + b∆u ( k )
y (k + 2 / k ) ?
y ( k + 2 / k ) = ay (k + 1) + bu ( k + 1)
y ( k + 2 / k ) = a[ f1 (u (k − 1), y (k − 1)) + b∆u ( k )] + b[u (k − 1) + ∆u ( k ) + ∆u (k + 1)]
y (k + 2 / k ) = f 2 ( y (k − 1), u (k − 1)) + ab∆u (k ) + b∆u (k + 1)
De forma análoga ...
y (k + 3 / k ) ?
y ( k + 3 / k ) = ay ( k + 2) + bu (k + 2)....
y (k + 3 / k ) = f 3 ( y (k − 1), u (k − 1)) + a 2b∆u (k ) + ab∆u (k + 1) + b∆u (k + 2)
Solução:
⎡ ∂y ( k + 1)
⎢ ∂∆u (k )
⎡ y ( k + 1) ⎤ ⎡ y ( k + 1) ⎤
⎢
⎢ y ( k + 2) ⎥ ⎢ y ( k + 2) ⎥
⎢ ∂y (k + 2)
⎢
⎥=⎢
⎥
+ ⎢ ∂∆u (k )
⎢
⎥ ⎢
⎥
M
M
⎢
M
⎢
⎥ ⎢
⎥
⎣ y (k + p )⎦ ⎣ y (k + p )⎦ ∆u =0 ⎢ ∂y (k + p )
⎢
⎣ ∂∆u (k )
⎤
⎥
∆u (k ) ⎤
⎥⎡
∂y (k + 2)
⎥ ⎢ ∆u (k + 1) ⎥
L
0
⎥
⎥⎢
∂∆u (k + 1)
⎢
⎥
M
⎥
M
L
0
⎢
⎥
∂y (k + 2)
∂y (k + p ) ⎥ ⎣∆u (k + m − 1)⎦
L
⎥
∂∆u (k + 1)
∂∆u (k + m − 1) ⎦
0
L
0
∂y (k + 2)
∂y (k + 1)
∂y (k + 3)
= b,
= ab + b,
= a 2b + ab + b
∂∆u (k )
∂∆u ( k )
∂∆u (k )
∂y (k + 2)
∂y (k + 2)
=b
= ab + b,
∂∆u (k + 1)
∂∆u (k + 1)
∂y ( k + 3)
=b
∂∆u (k + 2)
1)
b
0
0⎤ ⎡ ∆u (k ) ⎤
⎡ y (k + 1) ⎤ ⎡ f1 ( y (k − 1), u (k − 1)) ⎤
⎡
⎢ y (k + 2)⎥ = ⎢ f ( y (k − 1), u (k − 1))⎥
⎢ (ab + b)
⎥ ⎢ ∆u (k + 1) ⎥
b
0
+
⎥
⎢
⎥ ⎢ 2
⎥
⎢
⎥⎢
2
⎢⎣ y (k + 3) ⎥⎦ ⎢⎣ f 3 ( y (k − 1), u (k − 1)) ⎥⎦ ∆u =0 ⎢⎣(a b + ab + b) (ab + b) b ⎥⎦ ⎢⎣∆u (k + 2) ⎥⎦
Exercício:
2- Mostre que a matriz G obtida é igual aquela obtida com os coeficientes
da resposta ao degrau (sistema linear).
y (k ) = ay (k − 1) + bu ( k − 1), y (1) = 0, u (k ) = 1 for k ≥ 1
Obtenção dos coeficientes da resposta ao degrau unitário...
g1 = y ( 2) = ay (1) + bu (1) = b
g 2 = y (3) = ay (2) + bu (2) = ab + b
g 3 = y (4) = ay (3) + bu (3) = a(ab + b) + b = a 2b + ab + b
2)
⎡ g1
G = ⎢⎢ g 2
⎢⎣ g 3
0
g1
g2
0⎤
b
⎡
0 ⎥⎥, G = ⎢⎢ (ab + b )
⎢⎣ a 2b + ab + b
g1 ⎥⎦
(
)
0
b
(ab + b )
0⎤
0⎥⎥
b ⎥⎦
DMC (continuação)
1º. Passo– Forma compacta de escrever as predições
~
Y = G∆u + f
2º. Passo = Escrever a função objetivo
Para o caso SISO ...
Função objetivo:
p
min J
∆u
m
J = ∑ (~
y (k + j / k ) − w(k + j / k ) ) + λ ∑ ∆u (k + j − 1) 2
j =1
2
j =1
Função objetivo:
min J
∆u
p
m
J = ∑ (~
y (k + j / k ) − w(k + j / k ) ) + λ ∑ ∆u (k + j − 1) 2
2
j =1
j =1
Escrevendo na forma matricial ...
w(k + j / k ) for j = 1 : p → W px1
~
~
y (k + j / k ) → Y = G∆u + f
J = (G ∆ u + f − W ) T (G ∆ u + f − W ) + λ∆ u T ∆ u
J = (G ∆ u + f − W ) T (G ∆ u + f − W ) + λ ∆ u T ∆ u
J = (∆ u T G T + f T − W T )(G ∆ u + f − W ) + λ ∆ u T ∆ u
∂J
= 2G T G ∆ u + 2G T f − 2G T W + 2 λ ∆ u = 0
∂∆u
∂J
=0
∂∆u
∂2 J
T
=
2
G
G + 2λI é positiva definida
2
∂∆u
(G T G + λ I ) ∆ u = G T ( W − f )
−1
∆ u = (G G + λ I ) G (W − f)
T
T
Procedimento do algoritmo:
1- Inicialização:
Definir g (Nx1)= vetor com coeficientes da resposta ao degrau do
modelo da planta.
p = horizonte de predição
m = horizonte de controle
λ = ponderação da ação de controle
α = filtro de referência
G(pxm) = Matriz com os coeficientes da resposta ao degrau g.
Calcular
K 1xp = (G T G + λ I ) −1 G T (1 , :)
Montar os vetores
Ua = Vetor com as entradas passadas (iniciar com Ua(:)=urp
Ya = Vetor com saídas passadas (iniciar com Ya(:)=
Procedimento:
2- No instante k:
A-Calcular: y(1) com os valores anteriores:u(k-1), u(k-2)... y(k-1), y(k2)...etc.
B-Atualizar o vetor referências W(p,1)
C-Atualizar Vetor com saídas passadas Y(na,1) colocando y(k) no
topo e deslocando os demais valores para baixo.
D-Calcular: o vetor f
∆u = K(W − f)
u (k ) = u (k − 1) + du
du(k)
E-Atualizar
o vetor Ua deslocando os elementos para
baixo e colocando u(k) no topo.
F-Voltar a 2-A com k=k+1
Parâmetros importantes do DMC
Métodos para escolha de p.
O valor de p (número de iterações do horizonte de
predição) pode ser selecionado como segue:
Como leva cerca de 4τ para um processo de 1a.
ordem atingir regime permanente,
4τ
pTs = 4τ → p =
Ts
Onde τ é a constante de tempo dominante do processo.
t acom.
t acom.
< Ts <
1)
15
6
Se
t acom. = pTs
Tacom.=tempo de acomodação ( 95%)
Isermann
pTs
pTs
< Ts <
→
15
6
−1− d
6 < p < 15
bz
2) G ( z ) =
, a=e
−1
1 − az
Ts
Ts
1
ln(a) = − , ln( ) =
a
τ
τ
−
Ts
τ
4τ 4
=
ln(1 / a)
Ts
p= 4
ln(1 / a)
3) 20 < p < 30
Coleman Brosilow and Babu Joseph
O valor de p (horizonte de predição) determina o
tamanho da matriz G.
pTs = 4τ
Aumentar Ts para diminuir p pode
significar um intervalo de tempo muito
grande entre aplicações de controle, o
que não é recomendável.
p muito grande pode significar ênfase no regime
permanente e menos ênfase no transitório !
p muito pequeno pode significar ênfase no transitório
sem olhar para onde vai o regime permanente.!
Existe um compromisso ÓTIMO !
O horizonte de controle m define o grau de liberdade
sobre u(t) futuro de forma a obter o ótimo da função
objetivo.
Um valor grande para m deixa o problema para ser
resolvido no futuro.
Um valor pequeno força a solução imediata.
Processos complexos necessitam de m maior pois a
solução ótima pode necessitar de mais manipulações
de controle.
m pequeno reduz o tamanho da matriz (GtG +λI) a ser
invertida.
1) 1 ≤ m ≤ 5
Coleman Brosilow and Babu Joseph
TAREFA
Água Fria
Gás
Água Quente
y( z)
0.2713 z −3
H ( z) =
=
u ( z ) 1 − 0.8351z −1
Fazer o Controle da Temperatura (y(k))
manipulando a abertura (u(k) da válvula de controle
utilizando o algoritmo DMC.
Exemplo do Livro MPC de E. F. Camacho and C. Bordons
DMC
y
2
Saída
referência
1.5
1
0.5
0
0
20
40
60
80
100
120
140
160
180
tempo
du
1.5
u(k)
du(k)
1
0.5
0
-0.5
-1
0
20
40
60
80
100
tempo
120
140
160
180
Download

DAS 5945_1208