aula 11 - ele.ita.brkawakami/ee254/ee254_2018_2osem_aula11_handouts.pdf · resumo da aula passada...

74
Aula 11 22 Outubro 2018 EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 1 / 74

Upload: vantuyen

Post on 15-Nov-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Aula 11

22 Outubro 2018

EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 1 / 74

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

EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 4 / 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

Topicos da proxima aula

Gerenciamento de problemas de factibilidade

EE-254 (Controle Preditivo) Aula 11 22 Outubro 2018 74 / 74