Aula 10 - ele.ita.brkawakami/ee254/EE254_2018_2oSem_Aula10_handouts.pdf · Topicos da aula de hoje...

65
Aula 10 15 Outubro 2018 EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 1 / 65

Transcript of Aula 10 - ele.ita.brkawakami/ee254/EE254_2018_2oSem_Aula10_handouts.pdf · Topicos da aula de hoje...

Aula 10

15 Outubro 2018

EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 1 / 65

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

Topicos da proxima aula

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.

EE-254 (Controle Preditivo) Aula 10 15 Outubro 2018 65 / 65