Академический Документы
Профессиональный Документы
Культура Документы
np horizonte de predição
m horizonte de controle m ≤ np
2
si , i = 1, 2, ! , N
coeficiente da resposta ao degrau unitário, no instante iT
N tempo de estabilização
hi , i = 1, 2, ! , N : resposta ao impulso
h1 = s1 , h2 = s2 − s1 , h3 = s3 − s2 , !
s1 = h1 , s2 = h2 + h1 , s3 = h3 + h2 + h1 , !
5
d
Valor desejado para yˆk + 1 → yk + 1 .
e ykc = yk
N
ykc + j = ykc + j − 1 + ∑ hi ∆uk + j − i
i =1
para j = 1:
N
ykc + 1 = ykc + ∑ hi ∆uk +1− i
i =1
Analogamente
j = 2:
N
ykc + 2 = ykc + 1 + ∑ hi ∆uk +2− i
i =1
Para j = 3
ykc + 3 = yk + ( h1 + h2 + h3 ) ∆uk + ( h1 + h2 ) ∆uk + 1 + h1∆uk + 2 +
+ φ1 + φ2 + φ3
(9)
Daí, definimos:
N i i
φn = ∑ hi ∆uk + n − i Pi = ∑ φn si = ∑ h j
i = n +1 n =1 j =1
8
ykc + 1
s1 0 0 ! 0 0 ∆uk yk + P1
ykc + 2 s2 s1 0 ! 0 0 ∆uk + 1 yk + P2
= " " # # " "
"
" " +
ykc + np −1 snp −1 snp − 2 ! ! s1 0 ∆uk + np − 2 yk + Pnp −1
snp snp −1 ! ! s2 s1 ∆uk + np −1 yk + Pnp
yk + np
c
(10)
ou
yc = S ∆u + yk + P
onde
yc valores previstos de y
S matriz dinâmica
∆ u ações de controle no instante k (será calculado)
P predições decorrentes das ações passadas
9
sp
Subtraindo yk de ambos os membros de (10):
ysp − ykc+ 1
ksp s1 0 0 ! 0 0 ∆uk ek − P1
yk − yk + 2
c s2 s1 0 ! 0 0 ∆uk + 1 ek − P2
" =− " " " # " " " +
"
yksp − ykc+np −1 snp − 1 snp − 2 ! ! s1 0 ∆uk + np − 2 ek − Pnp −1
sp snp snp − 1 ! !
s2 s1 ∆uk + np −1 ek − Pnp
yk − yk + np
c
(11)
onde
sp
ek = yk − yk
em notação vetorial
e = − S ∆u + e´
e - vetor de erros entre os valores previstos e o valor desejado.
e’ - vetor de erros sem nenhuma ação de controle futura (malha
aberta).
11
o controlador calcula a saída em m instantes futuros, do instante atual k (uk) até k+m-1 ( uk + m − 1 ).
13
O MPC minimiza:
J = eT e = [ − S ∆u + e´] [ − S ∆u + e´]
T
isto é:
∂J
min J ⇒ = 0 ⇒ ST S ∆u − ST e´= 0
∂∆u
( )
T −1 T
∆u = S S S e´ (14)
DMC MULTIVARIÁVEL
Na forma vetorial:
N
yˆk = ∑ H iuk − i (18)
i =1
onde
T
yˆk = yˆ1,k yˆ2,k ! yˆny ,k
T
uk −i = u 1,k −i u2,k −i ! unu ,k −i
h1,1, i h1,2, i ! h1, nu , i
h h2,2, i ! h2, nu , i
Hi = 2,1, i !
" " # "
hny ,1, i hny ,2, i ! hny , nu , i
(
ykc + j = yˆk + j + ykc+ j −1 − yˆk + j −1 )
N
ykc + j = ykc+ j −1 + ( yˆk + j − yˆk + j −1 ) = ykc + j −1 + ∑ Hi ∆uk + j − i
i =1
c
yk = yk
pode ser escrita para qualquer instante no futuro, gerando os
valores das predições corrigidas para as ny saídas
17
ykc + 1
S1 0 ! 0 yk + P1
yk + 2
c
S2 S1 ! 0 ∆uk yk + P2
" " # ∆uk +1 "
" = +
ykc + m Sm Sm−1 ! S1 " k
y + Pm
" " ! " ∆uk + m −1 ( nu.m) x1 "
"
Snp Snp −1 ! Snp − m +1 y + P
k np
yk + np
c ( ny.np ) x ( nu.m ) ( ny.np ) x1
( ny.np ) x1
(20)
onde
k i N
Sk = ∑ Hl , Pi = ∑ φn , φn = ∑ H j ∆uk + n− j
l =1 n =1 j = n +1
Forma vetorial
yc = S ∆u + yk + P (21)
ysp − yc = − S ∆u + ( ysp − yk − P)
e = − S ∆u + e ' (22)
18
O algoritmo QDMC
e = − S ∆u + e ' (22)
1 1
J = eT W T We + ∆uT R∆u (23)
2 2
1 1 T
J=
( − S ∆u + e´)T
W
T
W ( − S ∆ u + e´ ) ∆u R∆u
+
2 2
1
( ) 1
J = ∆uT STW TWS + R ∆u − e´T W T WS ∆u + e´T W TWe´
2 2
20
1 T
min J = ∆u H ∆u + cT ∆u
∆u 2
onde
H = S W WS + R
T T
cT = −e´T W TWS
Restrições:
−∆umax ≤ ∆u ≤ ∆umax
1a) ∆u ≤ ∆umax
[ Im.nu ] ∆u ≤ ∆umax
1b) ∆u ≥ −∆umax
[ − Im.nu ] ∆u ≤ ∆umax
Im.nu ∆umax
− Im.nu ∆u ≤ ∆umax
21
umin ≤ u ≤ umax
Como
uk Inu 0 ! 0 ∆uk uk −1
uk +1 Inu Inu ! 0 ∆uk +1 uk −1
u= = " " + "
" " # "
uk + m−1 Inu Inu ! Inu ∆uk + m−1 uk −1
u = N ∆u + uk −1
N umax − uk −1
2a e 2b: − N ∆u ≤ uk −1 − umin
22
ymin ≤ y ≤ ymax
yc = S ∆u + yk + P
Assim impomos:
3a) y ≤ ymax
c
3b) y ≥ ymin
c
Portanto
S ymax − yk − P
− S ∆u ≤ yk + P − ymin
23
EXERCÍCIO
Respostas ao degrau
24
Resposta ao Impulso
RESTRIÇÕES:
umax=[85 120]'; umin=[70 105]'; Max. e Min. das entradas
dumax=[10 10]'; Variação máxima nas manipuladas
ymax=[230 330]'; ymin=[205 300]'; Max. e Min. das controladas
Valores iniciais u0=[75 110]'; y0=[210 305]';
Set-points ysp=[223 319]'
25
Caso I
Caso II
26
Caso III
Caso IV
27
Caso V
Caso II
29