Aula 2

Transcrição

Aula 2
Aula 2
11 Mar 2015
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
1 / 58
Resumo da aula passada
Conceitos preliminares: Horizontes de predição e controle, horizonte
retrocedente.
Elementos básicos de uma formulação de controle preditivo: Função
de custo, equação de predição (dinâmica da planta e perturbações),
restrições.
Exemplo: Dynamic Matrix Control (DMC) - Custo quadrático,
modelo empregando resposta a degrau, perturbação de saı́da suposta
constante.
Problema de otimização a ser resolvido no instante k: Minimizar
J(ŷ, ∆û) = (ŷ − r)T (ŷ − r) + ρ∆ûT ∆û
sujeito a (s.a.)
ŷ = G ∆û + f
com ŷ ∈ RN e ∆û ∈ RM .
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
2 / 58
Tópicos da aula de hoje
DMC: Solução do problema de otimização
Breve revisão de otimização sem restrições
DMC: Sintonia de parâmetros (Perı́odo de amostragem,M,N,ρ)
Implementação em Matlab/Simulink
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
3 / 58
DMC: Solução do problema de otimização
Problema:
min
ŷ∈RN ,∆û∈RM
J(ŷ, ∆û) = (ŷ − r)T (ŷ − r) + ρ∆ûT ∆û
s.a.
ŷ = G ∆û + f
Solução: Substituindo a equação de predição na função de custo:
J = (G ∆û + f − r)T (G ∆û + f − r) + ρ∆ûT ∆û =
2(f−r)T (G ∆û)
}|
{
z
= ∆ûT G T G ∆û + (G ∆û)T (f − r) + (f − r)T (G ∆û) +
+ (f − r)T (f − r) + ρ∆ûT ∆û
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
4 / 58
2(f−r)T (G ∆û)
z
}|
{
J = ∆ûT G T G ∆û + (G ∆û)T (f − r) + (f − r)T (G ∆û) +
+ (f − r)T (f − r) + ρ∆ûT ∆û
= ∆ûT (G T G + ρI ) ∆û + 2(f − r)T G ∆û + (f − r)T (f − r)
{z
}
| {z }
|
{z
}
|
(1/2)H
cT
cte
1
J = ∆ûT H∆û + c T ∆û + cte
2
sendo
H = 2(G T G + ρI ), c = 2G T (f − r), cte = (f − r)T (f − r)
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
5 / 58
Problema reformulado
1
min J(∆û) = ∆ûT H∆û + c T ∆û + cte
M
2
∆û∈R
Problema de otimização sem restrições.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
6 / 58
Revisão de Otimização sem Restrições
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
7 / 58
Mini-Tutorial: Matrizes Positivo/Negativo-Definidas
Uma matriz Q ∈ Rn×n simétrica é dita positivo-definida (PD) se e
somente se (s.s.s)
x T Qx > 0, ∀x ∈ Rn , x 6= 0
Notações comumente empregadas: Q > 0, Q 0.
Termo alternativo: Definida positiva
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
8 / 58
Relação com os autovalores de Q
Sejam λ1 , λ2 , . . . , λn os autovalores de uma matriz Q ∈ Rn×n simétrica.
Tem-se que Q > 0 ⇔ λi > 0, i = 1,2, . . . ,n.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
9 / 58
Relação com os autovalores de Q
Q > 0 ⇔ λi > 0, i = 1,2, . . . ,n
Demonstração: Sejam v1 , v2 , . . . , vn os autovetores de Q
unitária) associados aos autovalores λ1 , λ2 , . . . , λn . Tendo
Qvi = λi vi , i = 1, 2, . . . , n, pode-se escrever

λ1 0 · · ·
 0 λ2 · · ·

Q [v1 v2 · · · vn ] = [v1 v2 · · · vn ]  .
.. . .
{z
}  ..
|
.
.
V
0
|
0
···
{z
Λ
(com norma
em vista que

0
0 


0 
λn
}
ou seja QV = V Λ.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
10 / 58
Sendo Q ∈ Rn×n simétrica, sabe-se que os autovalores λ1 , λ2 , . . . , λn são
reais e que os autovetores v1 , v2 , . . . , vn são mutuamente ortogonais.
Com efeito, se λ é um autovalor de Q associado a um autovetor v , tem-se
Qv = λv
Multiplicando os dois lados dessa identidade por v ? , em que ? denota o
complexo-conjugado transposto, obtém-se
v ? Qv = v ? λv = λv ? v
Por outro lado, tem-se que v ? Qv ∈ R, pois (v ? Qv )? = v ? Q ? v = v ? Qv .
Portanto, como v ? v ∈ R, deve-se ter λ ∈ R.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
11 / 58
Uma prova simples da ortogonalidade entre vi e vj , i 6= j, pode ser
construı́da para o caso particular em que λi 6= λj .
Neste caso, pode-se escrever
Qvi = λi vi
(1)
Qvj = λj vj
(2)
Pré-multiplicando (1) e (2) por vjT e viT , respectivamente, tem-se
vjT Qvi = λi vjT vi
(3)
viT Qvj = λj viT vj
(4)
Subtraindo (4) de (3) chega-se a (λi − λj )viT vj = 0. Como λi 6= λj , por
hipótese, conclui-se que viT vj = 0.
Para o caso de autovalores com multiplicidade maior do que um, ver
GANTMACHER, F. R. The Theory of Matrices, 2 ed. New York: Chelsea,
1990 (v. 1, p. 270-272).
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
12 / 58
Retornando à demonstração principal:
QV = V Λ
(5)
Como v1 ,v2 , . . . ,vn possuem norma unitária e são mutuamente ortogonais,
tem-se que
V T V = VV T = I
sendo I uma matriz identidade.
Logo, pós-multiplicando os dois lados de (5) por V T , tem-se que
QVV T = V ΛV T ⇒ Q = V ΛV T
sendo



V = [v1 v2 · · · vn ] , Λ = 

EE-254 (Controle Preditivo)
Aula 2
λ1 0 · · ·
0 λ2 · · ·
..
.. . .
.
.
.
0 0 ···
(6)

0
0 


0 
λn
11 Mar 2015
(7)
13 / 58



Q = V ΛV T , V = [v1 v2 · · · vn ] , Λ = 


0
0 


0 
λn
λ1 0 · · ·
0 λ2 · · ·
..
.. . .
.
.
.
0 0 ···
Portanto, dado x ∈ Rn tem-se que
x T Qx = x T V ΛV T x = z T Λz
sendo z = V T x. Por outro lado,



z Λz = [z1 z2 · · · zn ] 

T
λ1 0 · · ·
0 λ2 · · ·
..
.. . .
.
.
.
0 0 ···

0

0 


0 
λn
z1
z2
..
.





zn
= λ1 z12 + λ2 z22 + · · · + λn zn2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
14 / 58
Demonstração da suficiência:
Hipótese: λi > 0, i = 1, 2, . . . , n.
Tese: Q > 0 (isto é, x 6= 0 ⇒ x T Qx > 0)
Seja x 6= 0. Como z = V T x, tem-se que
||z||2 = z T z = x T VV T x = x T x 6= 0
e portanto z 6= 0.
Sabe-se ainda que
x T Qx = z T Λz = λ1 z12 + λ2 z22 + · · · + λn zn2
Como z 6= 0, tem-se que zi 6= 0 para algum i. Como λi > 0, por hipotese,
segue que
x T Qx = z T Λz ≥ λi zi2 > 0
Portanto, x T Qx > 0, cqd.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
15 / 58
Demonstração da necessidade:
Hipótese: Q > 0 (isto é, x 6= 0 ⇒ x T Qx > 0)
Tese: λi > 0, i = 1, 2, . . . , n.
Por absurdo, suponha que λi ≤ 0 para algum i. Seja ainda
z = [0 · · · 0 zi 0 · · · 0] com zi 6= 0 e tome-se x = Vz. Tem-se então que
||x||2 = x T x = z T V T Vz = z T z = zi2 > 0
e, portanto, x 6= 0.
Por outro lado,
x T Qx = z T Λz = λ1 z12 + λ2 z22 + · · · + λn zn2 = λi zi2 ≤ 0
dado que λi ≤ 0, por hipótese. Verifica-se então que é possı́vel ter
x T Qx ≤ 0 com x 6= 0, o que contradiz a hipótese de que Q > 0.
Portanto, assumir que λi ≤ 0 para algum i conduz a uma contradição.
Logo, todos os autovalores λi , i = 1, 2, . . . , n devem ser estritamente
positivos, c.q.d.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
16 / 58
Observações:
Uma matriz PD pode ter elementos negativos.
Por exemplo, a matriz
Q=
2 −1
−1 3
tem autovalores λ1 = 1,4 e λ2 = 3,6.
Uma matriz com todos os elementos positivos é não necessariamente
PD.
Por exemplo, a matriz
Q=
2 4
4 3
tem autovalores λ1 = −1,5 e λ2 = 6,5.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
17 / 58
Definições adicionais
Seja Q ∈ Rn×n simétrica. Diz-se então que:
Q > 0 (Positivo-Definida) se x T Qx > 0, ∀x 6= 0.
Q ≥ 0 (Positivo-Semidefinida) se x T Qx ≥ 0, ∀x.
Q < 0 (Negativo-Definida) se x T Qx < 0, ∀x 6= 0.
Q ≤ 0 (Negativo-Semidefinida) se x T Qx ≤ 0, ∀x.
Q é Indefinida nos demais casos.
Condições sobre os autovalores:
Q > 0 ⇔ λi > 0, i = 1, 2, . . . , n
Q ≥ 0 ⇔ λi ≥ 0, i = 1, 2, . . . , n
Q < 0 ⇔ λi < 0, i = 1, 2, . . . , n
Q ≤ 0 ⇔ λi ≤ 0, i = 1, 2, . . . , n
Q indefinida ⇔ λi > 0 e λj < 0 para algum i e j.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
18 / 58
Condições de otimalidade
Seja uma função J : Rn → R. Um ponto x ∗ ∈ Rn é dito ser um mı́nimo
local de J se J(x ∗ ) ≤ J(x) para todo x em uma vizinhança de x ∗ .
Se J(x ∗ ) ≤ J(x) para todo x ∈ Rn , diz-se que x ∗ é um mı́nimo global de J.
Notações comumente empregadas:
x ∗ = arg minn J(x)
x∈R
∗
J(x ) = minn J(x)
x∈R
O problema de otimização é expresso como
min J(x)
x∈Rn
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
19 / 58
Teorema de Taylor - Caso univariado
Ref: GILL, P.E.; MURRAY, W.; WRIGHT, M.H. Practical Optimization,
Academic Press, 1981.
Seja uma função J : R → R. Se J ∈ C r (isto é, se J possui derivadas
contı́nuas até ordem r ), então dados x ∈ R e h ∈ R, existe θ ∈ [0,1] tal
que
1
J(x + h) = J(x) + hJ 0 (x) + h2 J 00 (x) + · · · +
2
1
1
r −1 (r −1)
+
h J
(x) + hr J (r ) (x + θh)
(r − 1)!
r!
Em particular, se J ∈ C 2 , então
1
J(x + h) = J(x) + hJ 0 (x) + h2 J 00 (x + θh)
2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
20 / 58
Condições necessárias para otimalidade - Caso univariado
Seja uma função J : R → R pertencente à classe C 2 . Se x ∗ ∈ R é um
mı́nimo local de f , então as seguintes condições devem ser satisfeitas:
J 0 (x ∗ ) = 0
J 00 (x ∗ ) ≥ 0
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
21 / 58
Condições suficientes para otimalidade - Caso univariado
Seja uma função J : R → R pertencente à classe C 2 . Se as seguintes
condições forem satisfeitas:
J 0 (x ∗ ) = 0
J 00 (x ∗ ) > 0
então x ∗ ∈ R é um mı́nimo local de J.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
22 / 58
Teorema de Taylor - Caso multivariado com r = 2
Seja uma função J : Rn → R da classe C 2 . Dados x ∈ Rn e ∆x ∈ Rn ,
existe θ ∈ [0,1] tal que
T
1
∂2J
∂J
(x) ∆x + ∆x T 2 (x + θ∆x)∆x
J(x + ∆x) = J(x) +
∂x
2
∂x
2
∂ J
n×n (matriz Hessiana, ou “de
n
em que ∂J
∂x ∈ R (vetor gradiente) e ∂x 2 ∈ R
curvatura”) são dados por


∂2J
∂2J
∂2J
 ∂J 
·
·
·
2
∂x1 ∂x2
∂x1 ∂xn
∂x1
 ∂∂x2 J1

∂2J
∂2J
∂J 



2
·
·
·
2
∂J
 ∂x2  ∂ J
 ∂x2 ∂x1
∂x
∂x
∂x2
n 
2
=  . ,
=


..
..
..
..

∂x
 ..  ∂x 2 
.
.
.
.


∂J
2
2
2
∂ J
∂ J
∂ J
∂xn
∂xn ∂x1
∂xn ∂x2 · · ·
∂x 2
n
Como as derivadas de segunda ordem são contı́nuas, tem-se que
∂2J
∂2J
∂2J
∂xi ∂xj = ∂xj ∂xi . Portanto, a matriz Hessiana ∂x 2 é simétrica.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
23 / 58
Condições necessárias para otimalidade - Caso multivariado
Seja uma função J : Rn → R pertencente à classe C 2 . Se x ∗ ∈ Rn é um
mı́nimo local de J, então as seguintes condições devem ser satisfeitas:
∂J
∗
∂x (x ) = 0
∂2J
(x ∗ ) ≥ 0
∂x 2
Observação: Se
∂J
∗
∂x (x )
EE-254 (Controle Preditivo)
= 0, diz-se que x ∗ é um “ponto estacionário” de J.
Aula 2
11 Mar 2015
24 / 58
Condições suficientes para otimalidade - Caso multivariado
Seja uma função J : Rn → R pertencente à classe C 2 . Se as seguintes
condições forem satisfeitas:
∂J
∗
∂x (x ) = 0
∂2J
(x ∗ ) > 0
∂x 2
então x ∗ ∈ Rn é um
EE-254 (Controle Preditivo)
mı́nimo local de J.
Aula 2
11 Mar 2015
25 / 58
Observação: Suponha que J ∈ C 2 e
∂2J
(x ∗ )
∂x 2
∂2J
(x ∗ )
∂x 2
∂2J
(x ∗ )
∂x 2
>0⇒
x∗
∂J
∗
∂x (x )
= 0. Tem-se então que:
é mı́nimo local.
< 0 ⇒ x ∗ é máximo local.
é Indefinida ⇒ x ∗ é ponto de sela.
2
Nos demais casos ( ∂∂xJ2 (x ∗ ) semidefinida), nada se pode afirmar.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
26 / 58
Algumas expressões para cálculo de gradientes
Sejam x ∈ Rn , y ∈ Rn , Q ∈ Rn×n . Então:
∂(x T y )
∂(y T x)
=
=y
∂x
∂x
∂(y T Qx)
∂(x T Q T y )
=
= QT y
∂x
∂x
∂(x T Qx)
= Qx + Q T x
∂x
∂[(x − y )T Q(x − y )]
= (Q + Q T )(x − y )
∂x
Se Q for simétrica, as expressões se simplificam, pois Q + Q T = 2Q.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
27 / 58
Algumas expressões para cálculo de Hessianas
Sejam x ∈ Rn , y ∈ Rn , Q ∈ Rn×n . Então:
∂ 2 (x T Qx)
= Q + QT
∂x 2
∂ 2 [(x − y )T Q(x − y )]
= Q + QT
∂x 2
Se Q for simétrica, as expressões se simplificam, pois Q + Q T = 2Q.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
28 / 58
Ex: Funções Quadráticas
1
J(x) = x T Hx + c T x + cte
2
Neste caso, tem-se
∂J
(x) = Hx + c
∂x
Portanto, x ∗ deve satisfazer Hx ∗ + c = 0, isto é
x ∗ = −H−1 c
desde que H seja não-singular.
Adicionalmente, a matriz Hessiana em x ∗ é dada por
∂2J ∗
(x ) = H
∂x 2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
29 / 58
Exemplo 1
∂2J ∗
(x ) = H
∂x 2
1 0
0
H=
, c=
0 2
0
x ∗ = −H−1 c,
1.5
J(x)
1
0.5
0
1
1
0.5
0.5
0
0
−0.5
x2
EE-254 (Controle Preditivo)
−0.5
−1
−1
Aula 2
x1
11 Mar 2015
30 / 58
Exemplo 2
∂2J ∗
(x ) = H
∂x 2
1 0
0
H=
, c=
0 −2
0
x ∗ = −H−1 c,
0.5
J(x)
0
−0.5
−1
1
1
0.5
0.5
0
0
−0.5
x2
EE-254 (Controle Preditivo)
−0.5
−1
−1
Aula 2
x1
11 Mar 2015
31 / 58
Retornando ao problema inicial (DMC)
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
32 / 58
1
min J(∆û) = ∆ûT H∆û + c T ∆û + cte
2
∆û∈RM
sendo
H = 2(G T G + ρI ), c = 2G T (f − r)
ρ>0
Vale notar que a matrix Hessiana H é simétrica e positivo-definida. Com
efeito, dado x 6= 0, tem-se que
xT x > 0
x T Hx = 2x T (G T G + ρI )x = 2 x T (G T G )x +ρ |{z}
| {z }
≥0
EE-254 (Controle Preditivo)
Aula 2
>0
11 Mar 2015
33 / 58
1
J(∆û) = ∆ûT H∆û + c T ∆û + cte
2
H>0
Trata-se de uma função quadrática em ∆û com matriz Hessiana
positivo-definida. Assim, como visto anteriormente,
∆û∗ = −H−1 c
com
H = 2(G T G + ρI ), c = 2G T (f − r)
Logo,
∆û∗ = (G T G + ρI )−1 G T (r − f)
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
34 / 58
Observações
∆û∗ = (G T G + ρI )−1 G T (r − f)
A matriz (G T G + ρI ) tem dimensões M × M
O parâmetro ρ > 0 pode ser usado para ajustar o esforço de controle.
No instante atual k, a variação de controle a ser aplicada corresponde
ao primeiro elemento do vetor ∆û∗ , isto é:
∆u(k) = ∆û ∗ (k|k) = KMPC (r − f)
sendo KMPC a primeira linha da matriz (G T G + ρI )−1 G T .
Vale notar que r = f ⇒ ∆u(k) = 0, ou seja, se a resposta livre seguir
o sinal de referência, não é necessário promover alterações no
controle.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
35 / 58
Interpretação para N = M = 1
Neste caso, tem-se G = g (1), r = yref , f = f (k + 1|k). Logo:
(G T G + ρI )−1 G T =
g (1)
= KMPC
+ρ
g 2 (1)
∆u(k) = KMPC (yref − f (k + 1|k))
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
36 / 58
Observações
∆û∗ = (G T G + ρI )−1 G T (r − f)
Se a referência for constante, será empregada a seguinte notação:
r = [yref ]N
sendo [•]N um vetor-coluna formado pelo empilhamento vertical de N
cópias de •.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
37 / 58
Observações
Se a referência variar com o tempo, mas for previamente conhecida, basta
fazer


yref (k + 1)
 yref (k + 1) 


r=

..


.
yref (k + N)
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
38 / 58
DMC: Resumo
Informação requerida sobre a planta:
Resposta a degrau g (n), n = 1, 2, . . . , Ns
(assume-se g (0) = 0 e g (n) = g (Ns ), ∀n ≥ Ns ).
Parâmetros de projeto:
Peso do controle ρ
Horizonte de predição N
Horizonte de controle M
Inicialização:

g (1)
0
···
0
 g (2)
g (1)
···
0

Fazer G =  .
.
..
.
..
..
 ..
.
g (N) g (N − 1) · · ·





g (N − M + 1)
Calcular KMPC = [ 1 0 · · · 0
+ ρIM )−1 G T
Fazer k = 0, u(−1) = 0 e ∆u(−1) = ∆u(−2) = · · · = ∆u(−Ns ) = 0
](G T G
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
39 / 58
DMC: Resumo
Rotina principal:
1
Ler y (k) (saı́da da planta) e yref (valor de referência)
2
Fazer r = [yref ]N
3
Calcular
f (k + i|k) = y (k) +
Ns
X
[g (n + i) − g (n)]∆u(k − n), i = 1, 2, . . . , N
n=1
4
Fazer f = [f (k + 1|k) f (k + 2|k) · · · f (k + N|k)]T
5
Calcular o incremento no controle: ∆u(k) = KMPC (r − f)
6
Atualizar o controle aplicado à planta: u(k) = u(k − 1) + ∆u(k)
7
Fazer k = k + 1
8
Aguardar o próximo instante de amostragem e retornar ao passo 1
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
40 / 58
Orientações para sintonia dos parâmetros
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
41 / 58
DMC: Orientações para sintonia dos parâmetros
Referências:
1
SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained
SISO model predictive control. Industrial and Engineering Chemistry
Research, v. 36, n. 3, p. 729-746, 1997.
2
SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained
multivariable model predictive control. Industrial and Engineering
Chemistry Research, v. 37, n. 10, p. 4003-4016, 1998.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
42 / 58
DMC: Orientações para sintonia dos parâmetros
Considerações gerais:
O perı́odo de amostragem T deve ser escolhido de modo a se ter uma
representação parcimoniosa da resposta a degrau da planta.
O horizonte de predição N deve ser aproximadamente igual ao tempo
de acomodação da resposta a degrau.
O horizonte de controle M usualmente é escolhido1 entre 1 e 6.
Valores menores de M tendem a deixar o controlador menos “agressivo”
(resposta mais lenta, menor sensibilidade a ruı́do).
A diferença N − M deve ser suficientemente grande (da ordem do
tempo de acomodação) para que o efeito das últimas variações no
controle se manifeste dentro do horizonte de predição.
Valores maiores para o peso de controle ρ tendem a tendem a deixar
o controlador menos “agressivo”.
1
SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrained SISO
model predictive control. Industrial and Engineering Chemistry Research, v. 36,
n. 3, p. 729-746, 1997.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
43 / 58
DMC: Orientações para sintonia dos parâmetros
Suponha que a dinâmica da planta possa ser aproximada por um modelo de
primeira ordem com atraso descrito pela seguinte função de transferência:
Y (s)
Ke −θs
=
U(s)
τs + 1
Os parâmetros do DMC podem ser escolhidos da seguinte forma:
Perı́odo de amostragem: T = max(0,1τ ; 0,5θ)
Horizontes de predição e controle:
5τ + θ
τ +θ
N = round
+ 1 , M = round
+1
T
T
Peso do controle:
M 3,5τ
(M − 1)
ρ=
+2−
K2
500 T
2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
44 / 58
DMC: Orientações para sintonia dos parâmetros
Observação: Em um artigo mais recente2 , apresenta-se uma
recomendação alternativa (50× maior) para o peso do controle:
M 3,5τ
(M − 1)
ρ=
+2−
K2
10 T
2
2
DOUGHERTY, D.; COOPER, D.J. Tuning guidelines of a dynamic matrix
controller for integrating (non-self-regulating) processes. Industrial and
Engineering Chemistry Research, v. 42, n. 8, p. 1739-1752, 2003.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
45 / 58
Implementação em Matlab/Simulink
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
46 / 58
Arquivos Matlab a serem empregados
dmc.m
aquecedor dmc.mdl
resposta degrau aquecedor.mdl
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
47 / 58
DMC: Implementação em Matlab/Simulink (S-function)
Controlador Preditivo
DMC
yref
u(k)
y(k)
1
yref
2
y(k)
dmc
du(k)
u(k)
Zero-Order
Hold
S-function
u(k-1)
Interior da
máscara
EE-254 (Controle Preditivo)
Parâmetros:
KMPC, N, g, Ns, T
Aula 2
1
u(k)
1
z
Armazena u(k-1)
11 Mar 2015
48 / 58
DMC: Detalhes da máscara
Parâmetros:
Peso do controle (escalar ρ)
Horizonte de predição (escalar N)
Horizonte de controle (escalar M)
Resposta a degrau da planta (array g )
Perı́odo de amostragem (escalar T )
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
49 / 58
DMC: Parâmetros da máscara
Comandos executados na inicialização:
Ns = length(g);
gaux = g;
if N > Ns
gaux(Ns+1:N) = g(Ns);
end
col = gaux(1:N);
row = [gaux(1) zeros(1,N-1)];
G = toeplitz(col,row);
G = G(:,1:M);
GAIN = inv(G’*G + rho*eye(M))*G’;
KMPC = GAIN(1,:);
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
50 / 58
DMC: Código da S-function
Arquivo dmc.m
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
51 / 58
Exemplo 1: Aquecedor de água3
Água
Fria
Água
Quente
y
u
Aumento da temperatura
em relação ao ambiente
3
Adaptado de CAMACHO, E.F.; BORDONS, C. Model Predictive Control.
London: Springer-Verlag, 1999.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
52 / 58
Exemplo 1: Aquecedor de água
Função de transferência adotada na simulação:
0,3 −2s
e
s + 0,2
1,5 −2s
K
e
=
e −θs
=
5s + 1
τs + 1
H(s) =
K = 1,5 τ = 5 θ = 2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
53 / 58
Escolha dos parâmetros do controlador DMC
K = 1,5 τ = 5 θ = 2
Perı́odo de amostragem: T = max(0,1τ ; 0,5θ) = max(0,5; 1) = 1
Horizonte de predição:
27
5τ + θ
+ 1 = round
+ 1 = 28
N = round
T
1
Horizonte de controle:
τ +θ
7
M = round
+ 1 = round
+1 =8
T
1
Peso do controle (duas possibilidades mencionadas):
M 3,5τ
(M − 1)
ρ=
+2−
K 2 = 0,58
500 T
2
ou
M 3,5τ
(M − 1)
ρ=
+2−
K 2 = 28,8
10 T
2
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
54 / 58
Roteiro para apresentação do exemplo
1
Definir perı́odo de amostragem no workspace.
2
Executar simulação resposta degrau aquecedor.mdl.
3
Abrir diagrama aquecedor dmc.mdl, inserir parâmetros ρ, N, M na
máscara e executar a simulação.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
55 / 58
Roteiro para apresentação do exemplo
Simulações a serem realizadas:
Alterar ganho da planta.
Inserir perturbação de saı́da tipo degrau.
Inserir perturbação de entrada tipo degrau.
Inserir perturbação de saı́da tipo rampa.
Fixar N = 28 e variar M de 8 até 1
(Interpretação: Calcular ŷ = G ∆û + f para k = 0 com M = 1).
Fixar M = 2 e variar N de 28 até 2.
Variar ρ.
Inserir ruı́do de medida e variar ρ. Monitorar y na saı́da da planta,
antes do ponto de inserção do ruı́do.
Remover perturbação e ruı́do. Ampliar escala vertical em torno do
valor de regime.
Fazer g(21:end) = g(20) e repetir a simulação.
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
56 / 58
Resumo da aula de hoje
DMC: Solução do problema de otimização
∆û∗ = (G T G + ρI )−1 G T (r − f)
∆u(k) = ∆û ∗ (k|k) = [ 1 0 · · · 0 ](G T G + ρI )−1 G T (r − f)
DMC: Sintonia de parâmetros (Perı́odo de amostragem,M,N,ρ)
Implementação em Matlab/Simulink
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
57 / 58
Tópicos da próxima aula
Exemplo de aplicação do DMC: Planta Yokogawa
Exemplo com modelo de simulação não linear.
Uso de resposta a impulso: Model predictive heuristic control
EE-254 (Controle Preditivo)
Aula 2
11 Mar 2015
58 / 58

Documentos relacionados