Resumo da aula passada
Formulacoes de controle preditivo com garantia de factibilidaderecursiva e convergencia do estado para a origem
Uso de horizonte de predicao infinito e horizonte de controle finito
Uso de restricao terminal pontual
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 2 / 74
Topicos 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 2018 3 / 74
Domınio de atracao
Considerando que haja garantia de factibilidade recursiva e convergenciado estado para a origem, o (maior) domınio de atracao pode ser definidocomo o conjunto das condicoes iniciais x ∈ Rn para as quais o problemade otimizacao e factıvel.
Pergunta: Como caracterizar tal conjunto ?
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 5 / 74
Caracterizacao do domınio de atracao
O problema pode ser formulado da seguinte forma: Determinar o conjuntode pontos x ∈ X ⊂ Rn para os quais existe u ∈ RpN que satisfaz asseguintes restricoes:
Aqpu ≤ bqp
Aequ = beq
com
bqp =
[umax ]N−[umin]N
[xmax ]N − ΦuxΦux − [xmin]N
beq = −ANx
e Aqp, Aeq definidas como anteriormente.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 6 / 74
Considerando X = {x ∈ Rn : xmin ≤ x ≤ xmax}, a condicao inicial x devesatisfazer [
In−In
]x ≤
[xmax
−xmin
]Essa restricao, combinada com
IpN−IpNH−H
u ≤
[umax ]N−[umin]N
[xmax ]N − ΦuxΦux − [xmin]N
pode ser reescrita como
0n×pN In0n×pN −InIpN 0pN×n−IpN 0pN×nH Φu
−H −Φu
[
ux
]≤
xmax
−xmin
[umax ]N−[umin]N[xmax ]N−[xmin]N
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 7 / 74
ou aindaSzz ≤ bz
em que
z =
[ux
], Sz =
0n×pN In0n×pN −InIpN 0pN×n−IpN 0pN×nH Φu
−H −Φu
, bz =
xmax
−xmin
[umax ]N−[umin]N[xmax ]N−[xmin]N
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 8 / 74
A restricao de igualdadeAequ = −ANx
pode ser reescrita como
[Aeq AN
] [ ux
]= 0n
ou aindaSz,eqz = 0n
em queSz,eq =
[Aeq AN
]
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 9 / 74
A restricao Szz ≤ bz define uma regiao Pz no espaco R(pN+n)
correspondente as variaveis u, x .
Considera-se aqui que tal regiao seja limitada em decorrencia de restricoessobre a excursao dos controles e dos estados. Diz-se entao que Pz e umpolitopo.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 10 / 74
Politopo (Maciejowski, 2002)
Um politopo no Rn e uma regiao finita delimitada por um numero finito dehiperplanos.
Um politopo pode ser descrito por um conjunto de desigualdades da formaAx ≤ b ou por um conjunto de vertices.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 11 / 74
A restricao Sz,eqz = 0n (n equacoes) define um corte no politopo inicial,resultando em um novo politopo P ′z .
Deve-se entao determinar quais os pontos x ∈ Rn para os quais existe
u ∈ RpN tal que z =
[ux
]∈ P ′z .
Para isso, pode-se projetar o politopo P ′z sobre as dimensoes definidas porsuas ultimas n componentes (correspondentes a x).
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 12 / 74
Ilustracao das operacoes envolvidas para n = 1, N = 1
z1 = û(k|k)
z2 = x Sz,eqz = 0
S z <= bz
Px
Pz
Pz’
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 13 / 74
Esse conjunto de operacoes pode ser realizado empregando ferramentas degeometria computacional.
Para ilustracao, serao aqui empregadas rotinas do Multiparametric Toolbox(MPT) para Matlab (http://control.ee.ethz.ch/∼mpt/)
Pzlinha = Polyhedron(’H’,[Sz bz],’He’,[Szeq zeros(n,1)]);
Px = projection(Pzlinha,p*N+1:p*N+n);
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 14 / 74
Rotina em Matlab para determinacao do domınio deatracao
DominioAtracao.m
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 15 / 74
Alternativa para alargar o domınio de atracao:Uso de conjunto terminal
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 16 / 74
Uso de conjunto terminal
Ideia: Ao inves de impor que o estado atinja a origem ao final dohorizonte de predicao:
x(k + N|k) = 0
pode-se impor que o estado atinja um conjunto terminal:
x(k + N|k) ∈ Xf
sendo Xf um subconjunto invariante do conjunto de estados admissıveisX , com 0 ∈ Xf .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 17 / 74
Conjunto invariante
Considere um sistema com dinamica descrita por
x(k + 1) = Ax(k)
sendo x(k) ∈ Rn e A ∈ Rn×n.
Para esse sistema, um conjunto Xf e dito ser positivamente invariante(ou simplesmente “invariante”) se
x(0) ∈ Xf ⇒ x(k) ∈ Xf , ∀k ≥ 0
Vale notar que a origem e um conjunto invariante trivial.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 18 / 74
Determinacao do maior conjunto invariante contido em X
Suponha que o conjunto X de estados admissıveis seja descrito na formade desigualdades lineares:
X = {x ∈ Rn : Sxx ≤ bx}
Considere ainda que X seja limitado e contenha a origem em seu interior,ou seja:
0 < bx
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 19 / 74
X = {x ∈ Rn : Sxx ≤ bx} (1)
Seja X1 o conjunto de condicoes iniciais x ∈ X a partir das quais o estadopermanece em X apos um passo, ou seja:
X1 = {x ∈ X : Ax ∈ X} (2)
De (1) e (2), tem-se
X1 = {x ∈ Rn : Sxx ≤ bx e SxAx ≤ bx}
ou ainda:
X1 =
{x ∈ Rn :
[SxSxA
]x ≤
[bxbx
]}
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 20 / 74
Seguindo desenvolvimento similar, chega-se a seguinte caracterizacao parao conjunto Xi de condicoes iniciais x ∈ X a partir das quais o estadopermanece em X ao longo de i passos:
SxSxA
...SxA
i
x ≤
bxbx...bx
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 21 / 74
Proposicao 1: Se Xi = Xi+1 para algum i , entao Xi e um conjuntoinvariante.
Prova: Inicialmente, vale notar que Xi 6= ∅, pois 0 ∈ Xi .
Seja x(0) ∈ Xi = Xi+1. Entao:
x(1) ∈ X , x(2) ∈ X , . . . , x(i + 1) ∈ X
Portanto, tem-se que x(1) ∈ Xi . Como Xi = Xi+1, conclui-se ainda quex(1) ∈ Xi+1. Logo:
x(2) ∈ X , x(3) ∈ X , . . . , x(i + 2) ∈ X
e, portanto, x(2) ∈ Xi . Empregando esse desenvolvimento repetidas vezes,conclui-se que x(k) ∈ Xi , ∀k ≥ 0.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 22 / 74
Proposicao 1: Se Xi = Xi+1 para algum i , entao Xi e um conjuntoinvariante.
Observacao 1: Pode-se ainda mostrar que Xi contem todos ossubconjuntos invariantes de X .
Com efeito, seja um conjunto invariante Xinv ⊂ X . Se x(0) ∈ Xinv, tem-seque x(k) ∈ Xinv, ∀k ≥ 0 e, portanto, x(k) ∈ X , ∀k ≥ 0. Trivialmente,tem-se que x(k) ∈ X para k = 1, 2, . . . , i . Logo x(0) ∈ Xi .
Diz-se entao que Xi e o maior subconjunto invariante de X .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 23 / 74
Observacao 2 (Determinacao finita de Xi ): Consideremos novamente acaracterizacao de Xi na forma de desigualdades lineares:
SxSxA
...SxA
i
x ≤
bxbx...bx
Por hipotese, Sxx ≤ bx define um conjunto X limitado, contendo a origemem seu interior, ou seja 0 < bx .
Se o sistema for assintoticamente estavel (ou seja, se todos os autovaloresde A tiverem modulo menor do que um), havera um inteiro i + 1 para oqual a desigualdade SxA
i+1x ≤ bx sera satisfeita para todo x ∈ X .
Portanto, a restricao SxAi+1x ≤ bx sera redundante e, consequentemente,
Xi+1 = Xi .
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 24 / 74
Como verificar a redundancia de restricoes ?
Considere as seguintes restricoes:
Sx ≤ b (3)
cT x ≤ d (4)
com x ∈ Rn, S ∈ Rr×n, b ∈ Rr , c ∈ Rn, d ∈ R.
Como testar se a restricao (4) e redundante com respeito a (3) ?
Ideia: Resolver o seguinte problema de programacao linear (PPL):
maxx∈Rn
cT x s.a. Sx ≤ b
A restricao (4) sera redundante se e somente se (cT x∗ − d) ≤ 0.
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 25 / 74
Mini-tutorial: Programacao linear no Matlab
Funcao LINPROG (Matlab Optimization Toolbox):
x = linprog(f,A,b)
minimiza f’*x
sujeito a A*x <= b
Em nosso caso:flp = −cAlp = Sblp = b
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 26 / 74
Uso da funcao LINPROG: Exemplo
minx∈R2
J(x) = x1 + 2x2
s.a.
−3x1 − x2 ≤ −3 (i)
−x1 + x2 ≤ 1 (ii)
x1 ≥ 0 (iii)
x2 ≥ 0 (iv)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 27 / 74
x1
x2
1 2 3
1
2
3
(i) (ii)
(iii) (iv)
−3x1 − x2 ≤ −3 (i)
−x1 + x2 ≤ 1 (ii)
x1 ≥ 0 (iii)
x2 ≥ 0 (iv)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 28 / 74
z1
z2
1 2 3
1
2
3
(i) (ii)
(iii) (iv)
Região desoluçõesfactíveis
−3x1 − x2 ≤ −3 (i)
−x1 + x2 ≤ 1 (ii)
x1 ≥ 0 (iii)
x2 ≥ 0 (iv)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 29 / 74
x1
x2
1 2 3
1
2
3
Curvas de nívelde J(x)
J diminui
J(x) = x1 + 2x2
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 30 / 74
x1
x2
1 2 3
1
2
3
Curvas de nívelde J(x)
J diminui
x*
J(x) = x1 + 2x2
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 31 / 74
minx∈R2
J(x) = x1 + 2x2
s.a.
−3x1 − x2 ≤ −3 (i)
−x1 + x2 ≤ 1 (ii)
x1 ≥ 0 (iii)
x2 ≥ 0 (iv)
Usando o LINPROG:
flp =
[12
], Alp =
−3 −1−1 1−1 00 −1
, blp =
−3100
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 32 / 74
Implementacao em Matlab
Funcoes a serem empregadas:
teste_redundancia.m
conjunto_inv.m
O conjunto invariante Xf e obtido na forma de desigualdades lineares:
Xf = {x ∈ Rn : Sf x ≤ bf }
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 33 / 74
Exemplo
A =
[0 0.5−1 0.5
], xmin =
[−1−1
], xmax =
[11
]
Sx =
1 00 1−1 00 −1
, bx =
1111
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 34 / 74
Exemplo
>> A = [0 0.5; -1 0.5];
>> eig(A)
>> Sx = [eye(2);-eye(2)];
>> bx = ones(4,1);
>> max_iter = 10;
>> [Sf,bf] = conjunto_inv(A,Sx,bx,max_iter)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 35 / 74
Visualizando o conjunto invariante com a funcao plot to MPT Toolbox:
>> Xf = Polyhedron('H',[Sf bf]);
>> plot(Xf)
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 36 / 74
Visualizando algumas trajetorias:
>> hold on
>> x(:,1) = [-0.5;1];
>> for k = 1:10, x(:,k+1) = A*x(:,k); end
>> plot(x(1,:),x(2,:),'-o')
>> close, plot(Xf), hold on
>> x(:,1) = [-1;0];
>> for k = 1:10, x(:,k+1) = A*x(:,k); end
>> plot(x(1,:),x(2,:),'-o')
>> close, plot(Xf), hold on
>> x(:,1) = [-0.8;0.6];
>> for k = 1:10, x(:,k+1) = A*x(:,k); end
>> plot(x(1,:),x(2,:),'-o')
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 37 / 74
Dual Mode Predictive Control
O que fazer se a matriz A nao tiver todos os autovalores no interior docırculo unitario ?
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 38 / 74
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 2018 39 / 74
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 2018 40 / 74
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 2018 41 / 74
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 2018 42 / 74
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 2018 43 / 74
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 2018 44 / 74
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 2018 45 / 74
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 2018 46 / 74
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 2018 47 / 74
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 2018 48 / 74
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 2018 49 / 74
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 2018 50 / 74
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 2018 51 / 74
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 2018 52 / 74
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 2018 53 / 74
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 2018 54 / 74
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 2018 55 / 74
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 2018 56 / 74
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 2018 57 / 74
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 2018 58 / 74
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 2018 59 / 74
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 2018 60 / 74
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 2018 61 / 74
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 2018 62 / 74
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 2018 63 / 74
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 2018 64 / 74
Fazer Aqp =
IpN−IpNH−HSfHN
, SfA = Sf AN
Fazer k = 0
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 65 / 74
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 2018 66 / 74
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 2018 67 / 74
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 2018 68 / 74
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 2018 69 / 74
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 2018 70 / 74
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 2018 71 / 74
Rotina em Matlab para determinacao do domınio deatracao
DominioAtracaoConjTerm.m
EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 72 / 74
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 2018 73 / 74
Top Related