Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Aula 11
22 Outubro 2019
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 1 / 41
Resumo da aula passada
Uso de restricao terminal pontual
Caracterizacao do domınio de atracao da origem ao se empregar a leide controle preditivo
Alternativa para ampliacao do domınio de atracao: Uso de conjuntoterminal
Caracterizacao de conjuntos invariantes para dinamicasassintoticamente estaveis
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 2 / 41
Exercıcio
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 3 / 41
Aula de hoje
Uso de lei de controle terminal: “Dual mode predictive control”
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 4 / 41
Dual Mode Predictive Control
O que fazer se a matriz A nao tiver todos os autovalores no interior docırculo unitario ?
→ Ideia: Introduzir uma lei de controle terminal estabilizante.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 5 / 41
Custo a ser minimizado no instante k:
J(k) =∞∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]
Equacoes de predicao:
x(k|k) = x(k)
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , i ≥ 0
u(k + i |k) = −Kx(k + i |k) , i ≥ N
sendo K uma matriz de ganho tal que (A− BK ) tenha todos osautovalores no interior do cırculo unitario.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 6 / 41
Restricoes sobre os controles e estados:
u(k + i |k) ∈ U , i ≥ 0
x(k + i |k) ∈ X , i ≥ 0
sendo U ⊂ Rp e X ⊂ Rn conjuntos contendo a origem em seu interior.
Lei de controle com horizonte retrocedente:
u(k) = u∗(k|k)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 7 / 41
Reformulacao do custo: Parcela de custo terminal
Tendo em vista que
u(k + i |k) = −Kx(k + i |k) , i ≥ N
o custoJ(k) =
∞∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]pode ser reescrito como
J(k) =N−1∑i=0
[||x(k+ i |k)||2Q +||u(k+ i |k)||2R
]+∞∑i=N
[||x(k+ i |k)||2Q +||u(k+ i |k)||2R
]
=N−1∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]+∞∑i=N
[||x(k + i |k)||2Q + ||Kx(k + i |k)||2R
]=
N−1∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]+∞∑i=N
||x(k + i |k)||2(Q+KTRK)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 8 / 41
As equacoes de predicao
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , i ≥ 0
u(k + i |k) = −Kx(k + i |k) , i ≥ N
podem ser reescritas como
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , 0 ≤ i ≤ N − 1
x(k + i + 1|k) = Af x(k + i |k) , i ≥ N
sendo Af = A− BK .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 9 / 41
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , 0 ≤ i ≤ N − 1
x(k + i + 1|k) = Af x(k + i |k) , i ≥ N
Portanto, o custo
J(k) =N−1∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]+∞∑i=N
||x(k + i |k)||2(Q+KTRK)
pode ser reescrito como
J(k) =N−1∑i=0
[||x(k + i |k)||2Q + ||u(k + i |k)||2R
]+ ||x(k + N|k)||2Pf
sendo Pf = PTf > 0 obtida como solucao desta equacao de Lyapunov:
ATf Pf Af − Pf + Q + KTRK = 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 10 / 41
Reformulacao do custo: Uso de conjunto terminal
Equacoes de predicao:
x(k + i + 1|k) = Ax(k + i |k) + Bu(k + i |k) , 0 ≤ i ≤ N − 1
x(k + i + 1|k) = Af x(k + i |k) , i ≥ N
u(k + i |k) = −Kx(k + i |k) , i ≥ N
Restricoes sobre os controles e estados:
u(k + i |k) ∈ U , i ≥ 0
x(k + i |k) ∈ X , i ≥ 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 11 / 41
Considere o conjunto Xxu definido como
Xxu = {x ∈ X : −Kx ∈ U}
Seja ainda Xf o maior subconjunto invariante de Xxu considerando adinamica terminal x(k + 1) = Af x(k).
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 12 / 41
As restricoes sobre os controles e estados
u(k + i |k) ∈ U , i ≥ 0
x(k + i |k) ∈ X , i ≥ 0
podem ser reformuladas como
u(k + i |k) ∈ U , 0 ≤ i ≤ N − 1
x(k + i |k) ∈ X , 0 ≤ i ≤ N − 1
x(k + N|k) ∈ Xf
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 13 / 41
Observacao: Se os conjuntos X e U estiverem descritos na forma
X = {x ∈ Rn : Sxx ≤ bx}
U = {u ∈ Rp : Suu ≤ bu}
entao
Xxu = {x ∈ Rn : Sxux ≤ bxu}
com
Sxu =
[Sx−SuK
], bxu =
[bxbu
]
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 14 / 41
Factibilidade recursiva
Sejau∗(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, lembrando que
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 11 22 Outubro 2019 15 / 41
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 , 0 ≤ i ≤ 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) , 0 ≤ i ≤ N − 1
x(k + i + 2|k + 1) = Af x(k + i + 1|k + 1) , i ≥ N
satisfaca as restricoes
x(k + i + 1|k + 1) ∈ X , 0 ≤ i ≤ N − 1
x(k + N + 1|k + 1) ∈ Xf
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 16 / 41
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) = −Kx∗(k + N|k)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 17 / 41
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) = −Kx∗(k + N|k)
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 x∗(k + N|k) ∈ Xf ⊂ Xxu.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 18 / 41
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)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 19 / 41
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)− BKx∗(k + N|k)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 20 / 41
chegando-se a sequencia
xc(k + 1|k + 1) = x∗(k + 1|k) ∈ Xxc(k + 2|k + 1) = x∗(k + 2|k) ∈ X
...
xc(k + N|k + 1) = x∗(k + N|k) ∈ Xxc(k + N + 1|k + 1) = Ax∗(k + N|k)− BKx∗(k + N|k)
= Af x∗(k + N|k)
Como x∗(k + N|k) ∈ Xf e Xf e invariante sob a dinamica terminal,conclui-se que xc(k + N + 1|k + 1) ∈ Xf ⊂ X .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 21 / 41
Convergencia do estado para a origem
Seja
J∗(k) =N−1∑i=0
[||x∗(k + i |k)||2Q + ||u∗(k + i |k)||2R
]+ ||x∗(k + N|k)||2Pf
o valor mınimo do custo resultante da solucao do problema de otimizacaono instante k. Seja ainda
J∗(k + 1) =N−1∑i=0
[||x∗(k + i + 1|k + 1)||2Q + ||u∗(k + i + 1|k + 1)||2R
]+||x∗(k + N + 1|k + 1)||2Pf
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 22 / 41
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) = −Kx∗(k + N|k)
∣∣∣∣∣∣∣∣∣∣∣∣∣
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) = Af x∗(k + N|k)
formam uma solucao factıvel (nao necessariamente otima) para o problemade otimizacao no instante k + 1.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 23 / 41
Logo:
J∗(k + 1) ≤N−1∑i=0
[||xc(k + i + 1|k + 1)||2Q + ||uc(k + i + 1|k + 1)||2R
]+ ||xc(k + N + 1|k + 1)||2Pf
=N−2∑i=0
[||x∗(k + i + 1|k)||2Q + ||u∗(k + i + 1|k)||2R
]+ ||x∗(k + N|k)||2Q + || − Kx∗(k + N|k)||2R + ||Af x
∗(k + N|k)||2Pf
= J∗(k)− ||x∗(k|k)||2Q − ||u∗(k|k)||2R − ||x∗(k + N|k)||2Pf
+ ||x∗(k + N|k)||2Q + || − Kx∗(k + N|k)||2R + ||Af x∗(k + N|k)||2Pf
Lembrando que x∗(k|k) = x(k) e u∗(k|k) = u(k), tem-se
J∗(k + 1) ≤ J∗(k)− ||x(k)||2Q − ||u(k)||2R + ||x∗(k + N|k)||2(−Pf +Q+KTRK+ATf Pf Af )
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 24 / 41
J∗(k+1) ≤ J∗(k)−||x(k)||2Q−||u(k)||2R+||x∗(k+N|k)||2(−Pf +Q+KTRK+AT
f Pf Af )
Lembrando que a matriz Pf satisfaz
ATf Pf Af − Pf + Q + KTRK = 0
tem-se que
J∗(k + 1) ≤ J∗(k)− ||x(k)||2Q − ||u(k)||2R
Portanto, seguindo desenvolvimento similar ao utilizado na aula passada,conclui-se que
u(k)k→∞−→ 0
x(k)k→∞−→ 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 25 / 41
Escolha do ganho K para a lei de controle terminal
Uma escolha natural para o ganho K e a solucao do problema LQR dehorizonte infinito, sem restricoes, ou seja:
K = (R + BTPB)−1BTPA
sendo P = PT > 0 obtida como solucao da seguinte Equacao Algebrica deRiccati:
P = ATPA− ATPB(R + BTPB)−1BTPA + Q
Pode-se mostrar que P corresponde a matriz Pf a ser usada no custoterminal.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 26 / 41
K = (R + BTPB)−1BTPA
P = ATPA− ATPB(R + BTPB)−1BTPA + Q
Pode-se mostrar que P corresponde a matriz Pf a ser usada no custoterminal. Com efeito:
ATf PAf − P + Q + KTRK =
(A− BK )TP(A− BK )− P + Q + KTRK =
ATPA− KTBTPA− ATPBK + KTBTPBK − P + Q + KTRK =
ATPA− ATPB(R + BTPB)−1BTPA− ATPB(R + BTPB)−1BTPA
+ ATPB(R + BTPB)−1(R + BTPB)(R + BTPB)−1BTPA− P + Q =
ATPA− ATPB(R + BTPB)−1BTPA− P + Q = 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 27 / 41
Expressando a restricao terminal em termos de u
A restricao terminal e da forma
Sf x(k + N|k) ≤ bf
com
x(k + N|k) =[AN−1B AN−2B · · · B
]︸ ︷︷ ︸HN
u + ANx(k)
Portanto, pode-se expressar a restricao terminal em termos de u como
Sf
[HN u + ANx(k)
]≤ bf
ou seja:
SfHN u ≤ bf − Sf ANx(k)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 28 / 41
Resumo
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 11 22 Outubro 2019 29 / 41
Inicializacao:
Obter a matriz de ganho K como solucao do problema DLQR dehorizonte infinito sem restricoes:
P = ATPA− ATPB(R + BTPB)−1BTPA + Q
K = (R + BTPB)−1BTPA
Fazer Pf = P e Af = A− BK .
Fazer
Sxu =
In−In−KK
, bxu =
xmax
−xmin
umax
−umin
Caracterizar o conjunto terminal invariante Xf na forma Sf x ≤ bf .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 30 / 41
Fazer
H =
B 0 · · · 0AB B · · · 0
......
. . ....
AN−1B AN−2B · · · B
, Φu =
AA2
...AN
HN =
[AN−1B AN−2B · · · B
]
Q =
Q 0 · · · 00 Q · · · 0...
.... . .
...0 0 · · · Pf
qN×qN
, R =
R 0 · · · 00 R · · · 0...
.... . .
...0 0 · · · R
pN×pN
Hn = QH , Hqp = 2(HTQH + R)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 31 / 41
Fazer Aqp =
IpN−IpNH−HSfHN
, SfA = Sf AN
Fazer k = 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 32 / 41
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]Nbf − SfAx(k)
4 Resolver o problema de otimizacao
u∗ = arg minu∈RpM
1
2uTHqpu + f Tqp u
s.a.Aqpu ≤ bqp
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 33 / 41
5 Atualizar o controle aplicado a planta: u(k) = u∗(k|k)
6 Fazer k = k + 1
7 Aguardar o proximo instante de amostragem e retornar ao passo 1.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 34 / 41
Caracterizacao do domınio de atracao
O domınio de atracao corresponde ao conjunto de pontos x ∈ X ⊂ Rn
para os quais existe u ∈ RpN que satisfaz as seguintes restricoes:
Aqpu ≤ bqp
com
Aqp =
IpN−IpNH−HSfHN
, bqp =
[umax ]N−[umin]N
[xmax ]N − ΦuxΦux − [xmin]Nbf − SfAx
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 35 / 41
As restricoes
[In−In
]x ≤
[xmax
−xmin
],
IpN−IpNH−HSfHN
u ≤
[umax ]N−[umin]N
[xmax ]N − ΦuxΦux − [xmin]Nbf − SfAx
podem ser reescritas como
0n×pN In0n×pN −InIpN 0pN×n−IpN 0pN×nH Φu
−H −Φu
SfHN SfA
[
ux
]≤
xmax
−xmin
[umax ]N−[umin]N[xmax ]N−[xmin]N
bf
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 36 / 41
ou aindaSzz ≤ bz
em que
z =
[ux
], Sz =
0n×pN In0n×pN −InIpN 0pN×n−IpN 0pN×nH Φu
−H −Φu
SfHN SfA
, bz =
xmax
−xmin
[umax ]N−[umin]N[xmax ]N−[xmin]N
bf
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 37 / 41
A restricao Szz ≤ bz define uma regiao Pz no espaco R(pN+n)
correspondente as variaveis u, x .
Considera-se que tal regiao seja limitada em decorrencia de restricoes sobrea excursao dos controles e dos estados. Como resultado, Pz e umpolitopo.
O domınio de atracao e obtido projetando-se Pz sobre as dimensoesdefinidas por suas ultimas n componentes (correspondentes a x).
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 38 / 41
Rotina em Matlab para determinacao do domınio deatracao
DominioAtracaoConjTerm.m
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 39 / 41
Resumo da aula de hoje
Caracterizacao do domınio de atracao da origem ao se empregar a leide controle preditivo com restricao terminal pontual.
Alternativa para ampliacao do domınio de atracao: Uso de conjuntoterminal.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 40 / 41
Topicos da proxima aula
Tratamento de problemas de factibilidade
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2019 41 / 41