Resumo da aula passada
Tratamento de restricoes - Implementacao do caso SISO
Extensao ao caso MIMO
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 2 / 65
Topicos da aula de hoje
Estabilidade em malha fechada
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 3 / 65
Ponto de equilıbrio
Considere um sistema com dinamica a tempo discreto descrita por ummodelo da forma
x(k + 1) = f(x(k)
)sendo f : Rn → Rn uma funcao possivelmente nao linear.
Um ponto x ∈ Rn e dito ser um ponto de equilıbrio do sistema se
f (x) = x
Nas definicoes a seguir, consideraremos que a origem e um ponto deequilıbrio (x = 0).
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 4 / 65
Estabilidade
O ponto de equilıbrio x = 0 e dito ser estavel se, para qualquer ε > 0,existir δ(ε) > 0 tal que
||x(0)|| < δ(ε)⇒ ||x(k)|| < ε , ∀k ≥ 0
Caso contrario, o ponto de equilıbrio e dito ser instavel.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 5 / 65
Estabilidade assintotica
O ponto de equilıbrio x = 0 e dito ser assintoticamente estavel se forestavel e se existir δ1 > 0 tal que
||x(0)|| < δ1 ⇒ ||x(k)|| k→∞−→ 0
Nesse caso, o conjunto Bδ1 definido por
Bδ1 = {x ∈ Rn : ||x || < δ1}
e dito ser um domınio (“regiao”, “bacia”) de atracao para a origem.
Se o domınio de atracao for todo o Rn, diz-se que o ponto de equilıbrio eglobalmente assintoticamente estavel.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 6 / 65
Sistemas discretos lineares e invariantes no tempo
Considere um sistema com dinamica a tempo discreto descrita por ummodelo da forma
x(k + 1) = Ax(k)
com A ∈ Rn×n.
Pode-se mostrar que a origem e um ponto de equilıbrio assintoticamenteestavel se e somente se (s.s.s) todos os autovalores da matriz A tiveremmodulo menor do que um.
Nesse caso, a origem e o unico ponto de equilıbrio do sistema e aestabilidade assintotica e global.
Por essa razao, costuma-se tambem dizer que o sistema e(assintoticamente) estavel.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 7 / 65
Exemplo (Maciejowski, p. 168)
Seja um sistema com dinamica descrita por
x1(k + 1) = u(k)
x2(k + 1) = x1(k)
(Atraso de dois perıodos de amostragem)
Suponha que o controle a ser aplicado no instante k seja obtido por meioda solucao do seguinte problema de otimizacao:
minx1(k + 1|k), x2(k + 1|k),
u(k|k) ∈ R
J = x21 (k+1|k)+4x1(k+1|k)x2(k+1|k)+6x22 (k+1|k)
s.a.
x1(k + 1|k) = u(k|k)
x2(k + 1|k) = x1(k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 8 / 65
Obs: O custo tambem poderia ser escrito como
J = xT (k + 1|k)Qx(k + 1|k)
sendo
x(k) =
[x1(k)x2(k)
], Q =
[1 22 6
]
Vale notar que Q > 0 (autovalores em 0,3 e 6,7).
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 9 / 65
min J = x21 (k + 1|k) + 4x1(k + 1|k)x2(k + 1|k) + 6x22 (k + 1|k)
s.a.
x1(k + 1|k) = u(k|k)
x2(k + 1|k) = x1(k)
Substituindo as expressoes de x1(k + 1|k), x2(k + 1|k) na funcao de custo,tem-se
J = u2(k|k) + 4u(k|k)x1(k) + 6x21 (k)
dJ
du(k|k)= 2u(k|k) + 4x1(k)
Impondo que esta derivada seja igual a zero, chega-se a
u∗(k|k) = −2x1(k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 10 / 65
x1(k + 1) = u(k)
x2(k + 1) = x1(k)
Fazendo u(k) = u∗(k|k) = −2x1(k), obtem-se as seguintes equacoes deestado:
x1(k + 1) = −2x1(k)
x2(k + 1) = x1(k)
ou seja
x(k + 1) =
[−2 01 0
]︸ ︷︷ ︸
Amf
x(k)
Como Amf possui um autovalor em −2 (fora do cırculo unitario),conclui-se que o sistema e instavel em malha fechada.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 11 / 65
Neste caso, a instabilidade pode ser evitada introduzindo uma penalizacaodo esforco de controle na funcao de custo:
J = x21 (k + 1|k) + 4x1(k + 1|k)x2(k + 1|k) + 6x22 (k + 1|k) + ρu2(k|k)
com ρ > 0.
Substituindo as expressoes de x1(k + 1|k), x2(k + 1|k) na funcao de custo,obtem-se
J = (1 + ρ)u2(k|k) + 4u(k|k)x1(k) + 6x21 (k)
dJ
du(k|k)= 2(1 + ρ)u(k|k) + 4x1(k)
u∗(k|k) = − 2
1 + ρx1(k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 12 / 65
x1(k + 1) = u(k) , x2(k + 1) = x1(k)
Fazendo u(k) = u∗(k|k) = −(
2
1 + ρ
)x1(k), chega-se a
x(k + 1) =
− 2
1 + ρ0
1 0
︸ ︷︷ ︸
Amf
x(k)
Agora os autovalores da matriz Amf sao 0 e − 2
1 + ρ.
Logo, a dinamica de malha fechada sera assintoticamente estavel s.s.s.ρ > 1.
Seria desejavel formular o problema de otimizacao de modo que aestabilidade assintotica fosse garantida ∀ρ > 0.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 13 / 65
Pode-se argumentar que um aspecto inconveniente, neste exemplo, e ohorizonte de predicao excessivamente curto (N = 1). De fato, tomandoN = 2 e M = 1, tem-se
J = [x21 (k + 1|k) + 4x1(k + 1|k)x2(k + 1|k) + 6x22 (k + 1|k)] +
[x21 (k + 2|k) + 4x1(k + 2|k)x2(k + 2|k) + 6x22 (k + 2|k)] +
ρu2(k|k)
s.a.
x1(k + 1|k) = u(k|k)
x2(k + 1|k) = x1(k)
x1(k + 2|k) = u(k + 1|k) = u(k|k)
x2(k + 2|k) = x1(k + 1|k) = u(k|k)
considerando, como de costume, que u permanece constante apos o finaldo horizonte de controle.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 14 / 65
Pode-se argumentar que um aspecto inconveniente, neste exemplo, e ohorizonte de predicao excessivamente curto (N = 1). De fato, tomandoN = 2 e M = 1, tem-se
J = [x21 (k + 1|k) + 4x1(k + 1|k)x2(k + 1|k) + 6x22 (k + 1|k)] +
[x21 (k + 2|k) + 4x1(k + 2|k)x2(k + 2|k) + 6x22 (k + 2|k)] +
ρu2(k|k)
s.a.
x1(k + 1|k) = u(k|k)
x2(k + 1|k) = x1(k)
x1(k + 2|k) = u(k + 1|k) = u(k|k)
x2(k + 2|k) = x1(k + 1|k) = u(k|k)
considerando, como de costume, que u permanece constante apos o finaldo horizonte de controle.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 15 / 65
Substituindo as expressoes para os valores preditos do estado na funcao decusto, obtem-se
J = u2(k|k) + 4u(k|k)x1(k) + 6x21 (k) +
u2(k|k) + 4u2(k|k) + 6u2(k|k) + ρu2(k|k)
= (12 + ρ)u2(k|k) + 4u(k|k)x1(k) + 6x21 (k)
dJ
du(k|k)= 2(12 + ρ)u(k|k) + 4x1(k)
u∗(k|k) = −(
2
12 + ρ
)x1(k)
Com isso, tem-se
Amf =
− 2
12 + ρ0
1 0
o que permite concluir que a dinamica de malha fechada eassintoticamente estavel ∀ρ > 0.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 16 / 65
Importancia do horizonte de predicao empregado
Como se ve, o horizonte de predicao tem um papel importante naestabilidade da malha de controle.
Um resultado bem conhecido e o do Regulador Linear Quadratico (LQR)de horizonte infinito. Nesse caso, o problema consiste em minimizar umafuncao de custo da forma
J =∞∑i=0
[xT (k + i |k)Qx(k + i |k) + uT (k + i |k)Ru(k + i |k)
],
Q = QT > 0, R = RT > 0
s.a.
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , i ≥ 0
x(k|k) = x(k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 17 / 65
Se o par (A,B) for controlavel, pode-se mostrar que a solucao otima edada por
u∗(k + i |k) = −Kx∗(k + i |k)
com ganho K calculado como
K = (R + BTPB)−1BTPA
sendo P > 0 obtida como solucao da seguinte Equacao Algebrica deRiccati:
P = ATPA− ATPB(R + BTPB)−1BTPA + Q
Com a lei de controle u(k) = −Kx(k) resultante, a dinamica de malhafechada e garantidamente estavel.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 18 / 65
Com a lei de controle u(k) = −Kx(k) resultante, a dinamica de malhafechada e garantidamente estavel.
De fato, se (A,B) for controlavel, garantidamente existem matrizes Kest
tais que os autovalores de (A− BKest) estejam no interior do cırculounitario, tornando a malha estavel.
Evidentemente, a solucao otima do LQR de horizonte infinito nao poderesultar em uma malha instavel.
O que se perde ao usar um horizonte de predicao finito ?
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 19 / 65
Princıpio da Otimalidade*
A
B
C
Tempo
Estado
k1 k2 k3
Se a trajetoria ABC e otima partindo de A, entao a trajetoria BC e otimapartindo de B.
*Bellman, R. E. Dynamic Programming. Princeton University Press, 1957.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 20 / 65
Com efeito, suponha por absurdo que a trajetoria otima partindo de Bfosse BD, como indicado abaixo:
D
A
B
C
Tempo
Estado
k1 k2 k3
Nesse caso, a trajetoria otima partindo de A seria ABD, e nao ABC .
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 21 / 65
Horizonte Infinito
Tempok
x(k)
k + 1 k + 2
Horizonte considerado na obtenção de û*(k|k), û*(k + 1|k), ...
Horizonte considerado na obtenção de û*(k + 1|k + 1), û*(k + 2|k + 1), ...
x*(k + 1|k) = x(k + 1)x*(k + 2|k) = x*(k + 2|k + 1) = x(k + 2)
^
^ ^
Estado
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 22 / 65
Horizonte Finito
Tempok
x(k)
k + 1 k + 2
Horizonte considerado na obtenção deû*(k|k), û*(k + 1|k), …, û*(k + N 1|k)
Horizonte considerado na obtenção deû*(k + 1|k + 1), û*(k + 2|k + 1), …, û*(k + N|k + 1)
k + N k + N + 1
Estado
x*(k + N + 1|k + 1)^
x*(k + 2|k + 1)^
x*(k + N|k + 1)^
x*(k + 2|k)^
x*(k + N|k)^
x*(k + 1|k) = x(k + 1)^
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 23 / 65
Uso de Horizonte de Predicao Infinito com
Horizonte de Controle Finito
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 24 / 65
Dinamica da planta:
x(k + 1) = Ax(k) + Bu(k)
com x(k) ∈ Rn, u(k) ∈ Rp.
Custo a ser minimizado no instante k:
J(k) =∞∑i=0
||x(k + i |k)||2Q +N−1∑i=0
||u(k + i |k)||2R
sendo||x ||2Q = xTQx , ||u||2R = uTRu
com Q = QT > 0 e R = RT > 0.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 25 / 65
Equacoes de predicao:
x(k|k) = x(k)
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , i = 0, 1, . . . ,N − 1
x(k + i + 1|k) = Ax(k + i |k) , i ≥ N
Restricoes sobre os controles e estados:
u(k + i |k) ∈ U , i = 0, 1, . . . ,N − 1
x(k + i |k) ∈ X , i ≥ 0
sendo U ⊂ Rp e X ⊂ Rn conjuntos contendo a origem em seuinterior.
Lei de controle com horizonte retrocedente:
u(k) = u∗(k|k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 26 / 65
Observacoes:
Limitantes sobre a excursao dos estados e controles sao um casoparticular das restricoes aqui consideradas.
Restricoes sobre o incremento de controle ∆u podem ser incorporadasao problema empregando um modelo com estado aumentado
ξ(k) =
[x(k)
u(k − 1)
]
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 27 / 65
Factibilidade Recursiva
Se o problema de otimizacao for factıvel no instante k, afactibilidade sera mantida no instante k + 1.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 28 / 65
Com efeito, seja
u∗(k|k), u∗(k + 1|k), . . . , u∗(k + N − 1|k)
a sequencia otima de controle obtida como solucao do problema deotimizacao no instante k. Seja ainda
x∗(k|k), x∗(k + 1|k), . . .
a respectiva sequencia de estados preditos, com
x∗(k|k) = x(k)
Aplicando-se a planta o controle
u(k) = u∗(k|k)
segue que
x(k + 1) = Ax(k) + Bu(k) = Ax∗(k|k) + Bu∗(k|k) = x∗(k + 1|k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 29 / 65
No instante (k + 1), deve-se encontrar uma sequencia de controle
u(k + 1|k + 1), u(k + 2|k + 1), . . . , u(k + N|k + 1)
satisfazendo a restricao
u(k + i + 1|k + 1) ∈ U , i = 0, 1, . . . ,N − 1
e tal que a sequencia de estados preditos por meio de
x(k + 1|k + 1) = x(k + 1)
x(k + i + 2|k + 1) =Ax(k + i + 1|k + 1) + Bu(k + i + 1|k + 1) , i = 0, 1, . . . ,N−1
x(k + i + 2|k + 1) =Ax(k + i + 1|k + 1) , i ≥ N
satisfaca a restricao
x(k + i + 1|k + 1) ∈ X , i ≥ 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 30 / 65
Vamos mostrar que essas restricoes sao satisfeitas empregando-se aseguinte solucao candidata:
uc(k + 1|k + 1) = u∗(k + 1|k)
uc(k + 2|k + 1) = u∗(k + 2|k)
...
uc(k + N − 1|k + 1) = u∗(k + N − 1|k)
uc(k + N|k + 1) = 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 31 / 65
uc(k + 1|k + 1) = u∗(k + 1|k)
uc(k + 2|k + 1) = u∗(k + 2|k)
...
uc(k + N − 1|k + 1) = u∗(k + N − 1|k)
uc(k + N|k + 1) = 0
Essa solucao trivialmente satisfaz as restricoes de controle, uma vez que
u∗(k + 1|k) ∈ Uu∗(k + 2|k) ∈ U
...
u∗(k + N − 1|k) ∈ U
e 0 ∈ U .
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 32 / 65
A sequencia de estados preditos associada a solucao candidata e dada por
xc(k + 1|k + 1) = x(k + 1)
xc(k + 2|k + 1) = Axc(k + 1|k + 1) + Buc(k + 1|k + 1)
...
xc(k + N|k + 1) = Axc(k + N − 1|k + 1) + Buc(k + N − 1|k + 1)
xc(k + N + 1|k + 1) = Axc(k + N|k + 1) + Buc(k + N|k + 1)
xc(k + N + 2|k + 1) = Axc(k + N + 1|k + 1)
...
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 33 / 65
Lembrando ainda que x(k + 1) = x∗(k + 1|k), tem-se
xc(k + 1|k + 1) = x∗(k + 1|k)
xc(k + 2|k + 1) = Axc(k + 1|k + 1) + Bu∗(k + 1|k)
...
xc(k + N|k + 1) = Axc(k + N − 1|k + 1) + Bu∗(k + N − 1|k)
xc(k + N + 1|k + 1) = Axc(k + N|k + 1) + 0
xc(k + N + 2|k + 1) = Axc(k + N + 1|k + 1)
...
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 34 / 65
Portanto, chega-se a sequencia
xc(k + 1|k + 1) = x∗(k + 1|k)
xc(k + 2|k + 1) = x∗(k + 2|k)
...
xc(k + N|k + 1) = x∗(k + N|k)
xc(k + N + 1|k + 1) = Ax∗(k + 1|k) = x∗(k + N + 1|k)
xc(k + N + 2|k + 1) = Ax∗(k + N + 1|k) = x∗(k + N + 2|k)
...
que, como assumido inicialmente, satisfaz as restricoes de estado.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 35 / 65
Convergencia do estado para a origem
Se o problema de otimizacao for inicialmente factıvel, o estado x(k)convergira para a origem quando k →∞.
Com efeito, seja
J∗(k) =∞∑i=0
||x∗(k + i |k)||2Q +N−1∑i=0
||u∗(k + i |k)||2R
o valor mınimo do custo resultante da solucao do problema de otimizacaono instante k (sujeito as restricoes de estado e controle). Seja ainda
J∗(k+1) = minu(k+i+1|k+1)
i=0,1,...,N−1
∞∑i=0
||x(k+i+1|k+1)||2Q+N−1∑i=0
||u(k+i+1|k+1)||2R
o valor mınimo do custo para o problema de otimizacao no instante k + 1.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 36 / 65
Como visto anteriormente, as sequencias de estado e controle dadas por
uc(k + 1|k + 1) = u∗(k + 1|k)
uc(k + 2|k + 1) = u∗(k + 2|k)
...
uc(k + N − 1|k + 1) = u∗(k + N − 1|k)
uc(k + N|k + 1) = 0
∣∣∣∣∣∣∣∣∣∣∣∣∣
xc(k + 1|k + 1) = x∗(k + 1|k)
xc(k + 2|k + 1) = x∗(k + 2|k)
...
formam uma solucao factıvel (nao necessariamente otima) para o problemade otimizacao no instante k + 1.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 37 / 65
Logo:
J∗(k + 1) ≤∞∑i=0
||xc(k + i + 1|k + 1)||2Q +N−1∑i=0
||uc(k + i + 1|k + 1)||2R
=∞∑i=0
||x∗(k + i + 1|k)||2Q +N−2∑i=0
||u∗(k + i + 1|k)||2R
=
[ ∞∑i=0
||x∗(k + i |k)||2Q +N−1∑i=0
||u∗(k + i |k)||2R
]−||x∗(k|k)||2Q −||u∗(k|k)||2R
= J∗(k)− ||x∗(k|k)||2Q − ||u∗(k|k)||2R = J∗(k)−(||x(k)||2Q + ||u(k)||2R
)︸ ︷︷ ︸
≥0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 38 / 65
J∗(k + 1)− J∗(k) ≤ −(||x(k)||2Q + ||u(k)||2R
)︸ ︷︷ ︸
≥0
Tem-se entao que J∗(k + 1) ≤ J∗(k). Como a sequencia{J∗(k) , k = 0, 1, . . .} e limitada inferiormente (por zero), conclui-se que amesma e convergente. Portanto:
J∗(k)− J∗(k + 1)k→∞−→ 0
Por outro lado, sabe-se que
0 ≤(||x(k)||2Q + ||u(k)||2R
)≤ J∗(k)− J∗(k + 1)
Lembrando que Q > 0 e R > 0, conclui-se que
u(k)k→∞−→ 0
x(k)k→∞−→ 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 39 / 65
Obs: Esta linha de argumentacao e apresentada por Kwon e Han (2005).
A demonstracao de estabilidade da origem envolveria o uso dafuncao-valor J∗(k) como uma candidata a funcao de Lyapunov.
Alternativamente, pode-se argumentar que havera uma vizinhanca daorigem na qual as restricoes estarao inativas e, portanto: (i) o problema deotimizacao sera factıvel e (ii) a aplicacao do controle com horizonteretrocedente resultara em uma lei de controle linear. Como todas astrajetorias iniciadas dentro dessa vizinhanca convergirao para a origem,com uma dinamica linear, conclui-se que a origem e assintoticamenteestavel.
Referencia: KWON, W.H.; HAN, S. Receding Horizon control, London:Springer-Verlag, 2005.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 40 / 65
Implementacao da lei de controle preditivo comhorizonte de predicao infinito e horizonte de
controle finito
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 41 / 65
Custo a ser minimizado no instante k:
J(k) =∞∑i=0
||x(k + i |k)||2Q +N−1∑i=0
||u(k + i |k)||2R
com Q = QT > 0 e R = RT > 0.
Modelo de predicao:
x(k|k) = x(k)
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , 0 ≤ i ≤ N − 1
x(k + i + 1|k) = Ax(k + i |k) , i ≥ N
Vamos inicialmente considerar o caso em que a planta e assintoticamenteestavel em malha aberta, isto e, a matriz A tem todos os autovalores nointerior do “cırculo unitario” (cırculo centrado na origem do planocomplexo, com raio unitario).
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 42 / 65
Restricoes sobre os controles e estados:
u(k + i |k) ∈ U , i = 0, 1, . . . ,N − 1
x(k + i |k) ∈ X , i ≥ 0
sendo U e X definidos por meio de desigualdades lineares da forma
U ={u ∈ Rp : Suu ≤ bu
}X =
{x ∈ Rn : Sxx ≤ bx
}
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 43 / 65
Inicialmente, vamos reescrever o custo da seguinte forma:
J(k) =∞∑i=0
||x(k + i |k)||2Q +N−1∑i=0
||u(k + i |k)||2R
=∞∑i=N
||x(k + i |k)||2Q︸ ︷︷ ︸Jf (k)
+N−1∑i=0
||x(k + i |k)||2Q + ||u(k + i |k)||2R
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 44 / 65
Lembrando que
x(k + i + 1|k) = Ax(k + i |k) , i ≥ N
pode-se escrever
x(k + i |k) = A(i−N)x(k + N|k) , i ≥ N
Portanto:
Jf (k) =∞∑i=N
||x(k + i |k)||2Q =∞∑i=N
||A(i−N)x(k + N|k)||2Q
ou ainda, fazendo j = i − N:
Jf (k) =∞∑j=0
||Aj x(k +N|k)||2Q = xT (k +N|k)
∞∑j=0
(Aj)TQAj
︸ ︷︷ ︸
Pf
x(k +N|k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 45 / 65
Jf (k) = xT (k + N|k)Pf x(k + N|k)
Pf =∞∑j=0
(Aj)TQAj
A convergencia dessa somatoria e garantida pela hipotese de que osautovalores de A estao no interior do cırculo unitario.
Como calcular Pf ?
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 46 / 65
Pf =∞∑j=0
(Aj)TQAj ⇒ ATPf A =∞∑j=1
(Aj)TQAj = Pf − Q
Portanto, Pf pode ser obtida como solucao da seguinte Equacao deLyapunov:
ATPf A− Pf + Q = 0
Matlab: Funcao DLYAP
Obs: Se Q > 0, pode-se mostrar que Pf > 0. Com efeito, dado x 6= 0,tem-se
xTPf x = xT
∞∑j=0
(Aj)TQAj
x = xTQx︸ ︷︷ ︸>0
+∞∑j=1
xT (Aj)TQAjx︸ ︷︷ ︸≥0
> 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 47 / 65
O custo pode ser reescrito como
J(k) = ||x(k + N|k)||2Pf+
N−1∑i=0
||x(k + i |k)||2Q + ||u(k + i |k)||2R
ou ainda
J(k) = ||x(k)||2Q + xT
Q 0 · · · 00 Q · · · 0...
.... . .
...0 0 · · · Pf
x + uT
R 0 · · · 00 R · · · 0...
.... . .
...0 0 · · · R
u
sendo
x =
x(k + 1|k)x(k + 2|k)
...x(k + N|k)
, u =
u(k|k)
u(k + 1|k)...
u(k + N − 1|k)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 48 / 65
As restricoes sobre o controle:
Suu(k + i |k) ≤ bu , i = 0, 1, . . . ,N − 1
podem ser expressas como desigualdades lineares envolvendo u.
Resta tratar as restricoes sobre o estado:
Sx x(k + i |k) ≤ bx , i ≥ 0
→ Infinidade de restricoes !
Uma forma de contornar essa dificuldade consiste na imposicao derestricoes terminais.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 49 / 65
Uso de horizonte de predicao finito
e restricoes terminais
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 50 / 65
Uma forma de garantir a estabilidade empregando horizonte de predicaofinito consiste em impor que a origem seja alcancada ao final do horizontede predicao (restricao terminal).
No instante k, impoe-se x(k + N|k) = 0:
Tempok
x(k)
k + 1 k + 2
Horizonte considerado na obtenção deû*(k|k), û*(k + 1|k), …, û*(k + N 1|k)
k + N
x*(k + 2|k)^
x*(k + N|k)^
x*(k + 1|k) = x(k + 1)Estado
^
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 51 / 65
No instante k + 1, impoe-se x(k + N|k + 1) = 0:
Tempok
x(k)
k + 1 k + 2
Horizonte considerado na obtenção deû*(k + 1|k + 1), û*(k + 2|k + 1), …, û*(k + N|k + 1)
k + N
x(k + 1)
x*(k + 2|k + 1)^
Estado
x*(k + N|k + 1)^
Se o problema de otimizacao for inicialmente factıvel, a origem seraatingida em N passos.
Esta abordagem equivale a usar um horizonte de predicao que vai sendoreduzido a cada passo.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 52 / 65
Como alternativa, pode-se colocar a restricao sempre N passos a frente doinstante atual, isto e, impor
x(k + N|k) = 0
x(k + N + 1|k + 1) = 0
e assim sucessivamente.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 53 / 65
Custo a ser minimizado no instante k:
J(k) =N−1∑i=0
||x(k + i |k)||2Q + ||u(k + i |k)||2R
Restricoes de controle e estado:
Suu(k + i |k) ≤ bu
Sx x(k + i |k) ≤ bx
para i = 0, 1, . . .N − 1.
Restricao terminal:x(k + N|k) = 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 54 / 65
Empregando argumentacao similar a utilizada para o horizonte de predicaoinfinito, pode-se mostrar que o problema de otimizacao tem factibilidaderecursiva e que o estado x(k) convergira para a origem quando k →∞.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 55 / 65
MPC para regulacao com garantia de estabilidade nominal
Informacao requerida sobre a planta:
Matrizes A ∈ Rn×n, B ∈ Rn×p do modelo no espaco de estados
Limitantes sobre a excursao dos estados: xmin, xmax ∈ Rn
Limitantes sobre a excursao dos controles: umin, umax ∈ Rp
Parametros de projeto:
Matrizes de peso Q ∈ Rn×n e R ∈ Rp×p
Horizonte de predicao N
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 56 / 65
Inicializacao:
Fazer
H =
B 0 · · · 0AB B · · · 0
......
. . ....
AN−1B AN−2B · · · B
, Φu =
AA2
...AN
Q =
Q 0 · · · 00 Q · · · 0...
.... . .
...0 0 · · · Q
qN×qN
, R =
R 0 · · · 00 R · · · 0...
.... . .
...0 0 · · · R
pN×pN
Calcular Hn = QH
Fazer Hqp = 2(HTQH + R)
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 57 / 65
Fazer Aqp =
IpN−IpNH−H
Fazer Aeq =
[0n×(n−1)N In
]H (ultimas n linhas de H).
Fazer k = 0
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 58 / 65
Rotina principal:
1 Ler x(k) (estado da planta)
2 Calcular fu = Φu x(k) e fqp = 2HTn fu
3 Fazer
bqp =
[umax ]N−[umin]N
[xmax ]N − fu
fu − [xmin]N
4 Fazer beq = −
[0n×(n−1)N In
]fu (ultimas n linhas de fu)
5 Resolver o problema de otimizacao
u∗ = arg minu∈RpM
1
2uTHqpu + f Tqp u
s.a.Aqpu ≤ bqp, Aequ = beq
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 59 / 65
6 Atualizar o controle aplicado a planta: u(k) = u∗(k|k)
7 Fazer k = k + 1
8 Aguardar o proximo instante de amostragem e retornar ao passo 1.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 60 / 65
Observacao: Restricao de igualdade
A restricao Aequ = beq pode ser imposta por meio de uma parametrizacaodo vetor u na forma
u = Zθ + u0
sendo Z uma matriz cujas colunas formem uma base para o espaco nulode Aeq e u0 uma solucao particular da equacao Aequ = beq.
Supondo que Aeq tenha posto completo de linhas, uma solucao particulare dada por
u0 = ATeq(AeqA
Teq)−1beq
Com isso, o problema de otimizacao pode ser reformulado em termos dovetor θ.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 61 / 65
No Matlab, a matriz Z pode ser obtida fazendo Z = null(Aeq)
Detalhes a respeito desse procedimento podem ser consultados em:
GOULD, N. I. M.; HRIBAR, M. E.; NOCEDAL, J. On the solution ofequality constrained quadratic programming problems arising inoptimization. SIAM Journal on Scientific Computing, v. 23, n. 4, p.1376-1395, 2001.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 62 / 65
Implementacao em Matlab
matrizes_regulador_estabilidade.m: Monta as matrizesΦu,Hn,Hqp,Aqp,Aeq.
mpc_regulador_estabilidade.m: S-function que implementa ocontrolador
Exemplo:
exemplo_regulador_estabilidade.m: Definicao das matrizes domodelo da planta (integrador duplo) e dos pesos do MPC.
regulador_estabilidade.mdl: Diagrama de simulacao.
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 63 / 65
Implementacao em Matlab: Exemplo
Parametros do controlador:
N = 10
umax = −umin = 0,2
xmax = −xmin = [2 2]T
Condicoes iniciais da planta:
x(0) = [1 0]T
O que acontece se x(0) = [1 0,65]T ?
EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 64 / 65
Top Related