43
Aula 6 03 Setembro 2019 EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 1 / 43

Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Aula 6

03 Setembro 2019

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 1 / 43

Page 2: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Resumo da aula passada

Uso de modelos no espaco de estados.

Implementacao em Matlab.

Uso de observador de estados.

Consideracoes sobre erro de regime na presenca de perturbacoesconstantes.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 2 / 43

Page 3: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Modelo adotado (SISO - Single Input, Single Output)

x(k + 1) = Ax(k) + Bu(k)

y(k) = Cx(k)

x(k) ∈ Rn, u(k) ∈ R, y(k) ∈ R

A ∈ Rn×n,B ∈ Rn×1,C ∈ R1×n

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 3 / 43

Page 4: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Equacao de predicao

y(k + 1|k)y(k + 2|k)

...y(k + N|k)

=

H(N×N)︷ ︸︸ ︷CB 0 · · · 0CAB CB · · · 0

......

. . ....

CAN−1B CAN−2B · · · CB

u(k|k)u(k + 1|k)

...u(k + N − 1|k)

+

CACA2

...CAN

x(k)

︸ ︷︷ ︸fu(N×1)

⇒ y = Hu + fu

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 4 / 43

Page 5: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

y = Hu + fu

H =

CB 0 · · · 0CAB CB · · · 0

......

. . ....

CAN−1B CAN−2B · · · CB

N×N

fu = Φu x(k), Φu =

CACA2

...CAN

N×n

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 5 / 43

Page 6: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Formulacao em termos de incrementos da entrada ∆u

ξ(k) =

[x(k)

u(k − 1)

]

ξ(k + 1) = Aξ(k) + B∆u(k), y(k) = Cξ(k)

A =

[A B

0Tn 1

], B =

[B1

], C = [C 0]

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 6 / 43

Page 7: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

y = G∆u + f

G =

C B 0 · · · 0

C AB C B · · · 0...

.... . .

...

C AN−1B C AN−2B · · · C B

N×N

f = Φ ξ(k), Φ =

C A

C A2

...

C AN

Obs: Caso M < N, basta suprimir as ultimas N −M colunas da matriz G .

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 7 / 43

Page 8: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Rejeicao de perturbacoes

Problema: Esta abordagem nao garante erro de regime nulo na presencade perturbacoes constantes.

Uma forma de contornar esse problema consiste em estimar asperturbacoes e leva-las em conta na formulacao de controle preditivo.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 8 / 43

Page 9: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Topicos da aula de hoje

Estimacao de perturbacoes empregando observador de estados.

Inclusao da perturbacao estimada na equacao de predicao.

Formulacao alternativa: Determinacao de valores de equilıbrio para oestado e o controle.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 9 / 43

Page 10: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Uso de observador de estado para estimar perturbacoes

Plantau y

d+

+

Vamos supor que a dinamica da planta seja descrita por um modelo daforma

x(k + 1) = Ax(k) + Bu(k)

y(k) = Cx(k) + d

sendo d uma perturbacao constante que nao pode ser medida diretamente.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 10 / 43

Page 11: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

x(k + 1) = Ax(k) + Bu(k) , y(k) = Cx(k) + d

Este modelo pode ser reescrito utilizando-se o seguinte estado aumentado:

χ(k) =

[x(k)

d(k)

]

sendo d(k + 1) = d(k). Com efeito, tem-se

χ(k + 1) =

[x(k + 1)

d(k + 1)

]=

[Ax(k) + Bu(k)

d(k)

]

=

[A 0n

0Tn 1

][x(k)

d(k)

]+

[B

0

]u(k)

y(k) = Cx(k) + d(k) = [C 1]

[x(k)

d(k)

]EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 11 / 43

Page 12: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Assim, o modelo torna-se

χ(k + 1) = Aχ(k) + Bu(k)

y(k) = Cχ(k)

sendo

A =

[A 0n

0Tn 1

], B =

[B

0

], C = [C 1]

Pode-se entao projetar um observador de estados para obter umaestimativa χ(k|k) do estado aumentado χ(k), que inclui a perturbacao.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 12 / 43

Page 13: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Uso do observador em conjunto com o MPC

Com o uso de um estimador de perturbacoes, pode-se obter erro de regimenulo mesmo empregando a primeira abordagem de controle.

Nesse caso, a equacao de predicao deve incluir a perturbacao estimada.Para isso, pode-se redefinir o estado do modelo empregado pelocontrolador como

ξ(k) =

[χ(k)

u(k − 1)

]

Dessa forma, basta usar χ(k) e (A, B, C ) em lugar de x(k) e (A,B,C ) naformulacao de controle preditivo apresentada na aula passada.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 13 / 43

Page 14: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

MPC empregando observador de estado para estimarperturbacoes de saıda: Resumo

Informacao requerida sobre a planta:

Matrizes A,B,C do modelo no espaco de estados

Parametros de projeto:

Peso do controle ρ

Horizonte de predicao N

Horizonte de controle M

Posicoes dos polos para a dinamica do erro de estimacao de estado(incluindo a estimativa da perturbacao)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 14 / 43

Page 15: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Inicializacao:

Fazer

A =

[A 0n

0Tn 1

], B =

[B

0

], C = [C 1]

Projetar o observador de estado empregando as matrizes A, B, C .

Fazer

A =

[A B

0Tn 1

], B =

[B

1

], C =

[C 0

]

G =

C B 0 · · · 0

C AB C B · · · 0

......

. . ....

C AN−1B C AN−2B · · · C AN−M B

, Φ =

C A

C A2

...

C AN

Calcular KMPC = [ 1 0 · · · 0 ](GTG + ρIM)−1GT

Fazer k = 0, u(−1) = 0, χ(0| − 1) = 0.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 15 / 43

Page 16: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Rotina principal:

1 Ler y(k) (saıda da planta) e yref (valor de referencia para a saıda)

2 Obter a estimativa χ(k|k) usando o observador de estado

3 Fazer r = [yref ]N4 Fazer

ξ(k|k) =

[χ(k|k)

u(k − 1)

]5 Calcular f = Φ ξ(k|k)

6 Calcular o incremento no controle ∆u(k) = KMPC (r − f)

7 Atualizar o controle aplicado a planta: u(k) = u(k − 1) + ∆u(k)

8 Fazer k = k + 1

9 Aguardar o proximo instante de amostragem e retornar ao passo 1.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 16 / 43

Page 17: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Implementacao em Matlab

matrizes_ss_du.m: Monta as matrizes KMPC ,Φ.

mpc_ss_du.m: S-function que implementa o controlador

Exemplo (sistema de levitacao magnetica):

parametros_maglev_ss.m: Define os parametros do levitadormagnetico

levitador_mpc_ss_du_pert.mdl: Diagrama de simulacao incluindoestimador de perturbacao de saıda

O que acontece ao se remover as constantes de polarizacao da malha decontrole ?

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 17 / 43

Page 18: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Perturbacao de entrada

Planta

u y

d+

+

Modelo da forma

x(k + 1) = Ax(k) + B[u(k) + d

]y(k) = Cx(k)

sendo d uma perturbacao constante que nao pode ser medida diretamente.

A estimacao de perturbacoes constantes na entrada da planta (ao inves dese considerar perturbacoes equivalentes na saıda) e particularmente util sea planta for de tipo 1 ou superior (por que ?).

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 18 / 43

Page 19: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

x(k + 1) = Ax(k) + B[u(k) + d

], y(k) = Cx(k)

Este modelo pode ser reescrito utilizando o seguinte estado aumentado:

χ(k) =

[x(k)

d(k)

]

com d(k + 1) = d(k). Com efeito, tem-se

χ(k + 1) =

[x(k + 1)

d(k + 1)

]=

[Ax(k) + Bu(k) + Bd(k)

d(k)

]

=

[A B

0Tn 1

][x(k)

d(k)

]+

[B

0

]u(k)

y(k) = Cx(k) = [C 0]

[x(k)

d(k)

]EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 19 / 43

Page 20: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Assim, o modelo torna-se

χ(k + 1) = Aχ(k) + Bu(k)

y(k) = Cχ(k)

sendo

A =

[A B

0Tn 1

], B =

[B

0

], C = [C 0]

Novamente, pode-se projetar um observador de estado para obter umaestimativa χ(k|k) do estado aumentado χ(k), que inclui a perturbacao deentrada d .

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 20 / 43

Page 21: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Perturbacao tipo rampa

Pode-se tambem modificar o modelo de modo a contemplar perturbacoesdo tipo rampa.

Para isso, assume-se d(k + 1) = d(k) + µ(k), com µ(k + 1) = µ(k).

No caso de perturbacao de saıda, tem-se um modelo da forma

x(k + 1) = Ax(k) + Bu(k)

y(k) = Cx(k) + d(k)

Este modelo pode ser reescrito utilizando-se o seguinte estado aumentado:

χ(k) =

x(k)

d(k)

µ(k)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 21 / 43

Page 22: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Com isso, tem-se

χ(k + 1) =

x(k + 1)

d(k + 1)

µ(k + 1)

=

Ax(k) + Bu(k)

d(k) + µ(k)

µ(k)

=

A 0n 0n

0Tn 1 1

0Tn 0 1

x(k)

d(k)

µ(k)

+

B

0

0

u(k)

y(k) = Cx(k) + d(k) = [C 1 0]

x(k)

d(k)

µ(k)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 22 / 43

Page 23: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Assim, o modelo torna-se

χ(k + 1) = Aχ(k) + Bu(k)

y(k) = Cχ(k)

sendo

A =

A 0n 0n

0Tn 1 1

0Tn 0 1

, B =

B

0

0

, C = [C 1 0]

Com base neste modelo, pode-se entao projetar um observador de estadoscomo visto anteriormente.

De modo similar, pode-se reformular o modelo de modo a contemplarperturbacoes tipo rampa na entrada do sistema.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 23 / 43

Page 24: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Uma formalizacao do uso de observadores de estado para estimarperturbacoes no contexto de MPC pode ser encontrada na seguintereferencia:

MAEDER, U.; BORRELLI, F.; MORARI, M. Linear offset-free ModelPredictive Control. Automatica, v. 45, p. 2214 – 2222, 2009.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 24 / 43

Page 25: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Formulacao alternativa: Determinacao de valores deequilıbrio para o estado e o controle

Referencia: Rossiter (2003), paginas 21 – 23.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 25 / 43

Page 26: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Perturbacao de saıda constante

Considere que a dinamica da planta seja descrita por um modelo da forma

x(k + 1) = Ax(k) + Bu(k)

y(k) = Cx(k) + d

sendo d uma perturbacao constante.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 26 / 43

Page 27: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Problema 1: Determinar valores de equilıbrio apropriadospara o estado e o controle

x(k + 1) = Ax(k) + Bu(k) , y(k) = Cx(k) + d

Suponha inicialmente que o valor de d seja conhecido.

Pergunta: Quais devem ser os valores de equilıbrio xref ∈ Rn, uref ∈ Rpara o estado e o controle, de modo que a saıda seja igual a uma dadareferencia yref ∈ R em regime estacionario ?

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 27 / 43

Page 28: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

x(k + 1) = Ax(k) + Bu(k) , y(k) = Cx(k) + d

Deseja-se determinar xref ∈ Rn, uref ∈ R de modo a satisfazer as seguintesrelacoes de equilıbrio:

xref = Axref + Buref

yref = Cxref + d

que podem ser reescritas como

(A− I )xref + Buref = 0n

Cxref = yref − d

ou ainda: [(A− I ) B

C 0

][xref

uref

]=

[0n

yref − d

]EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 28 / 43

Page 29: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

[(A− I ) B

C 0

][xref

uref

]=

[0n

yref − d

]

Tem-se, portanto:[xref

uref

]=

[(A− I ) B

C 0

]−1 [0n

1

](yref − d)

desde que a inversa indicada exista.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 29 / 43

Page 30: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Obs: Existencia da inversa

Vale notar que

det

([(A− I ) B

C 0

])= (−1)ndet

([(In − A) −B

C 0

])

= (−1)ndet

([(zIn − A) −B

C 0

]) ∣∣∣∣∣z=1

= (−1)nN(z)∣∣∣z=1

sendo N(z) o numerador da funcao de transferencia da planta:

H(z) = C (zIn − A)−1B

Referencia: GEROMEL, J. C.; KOROGUI, R. Controle linear de sistemasdinamicos. Sao Paulo: Edgar Blucher, 2011.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 30 / 43

Page 31: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Em resumo:

det

([(A− I ) B

C 0

])= (−1)nN(z)

∣∣∣z=1

sendo N(z) o numerador da funcao de transferencia da planta:

H(z) = C (zIn − A)−1B

Portanto, a matriz em questao admitira inversa se o “ganho DC” da plantafor nao nulo (considerando ainda que nao haja cancelamento de polos ezeros em z = 1).

Obs: Esta e uma condicao conhecida na literatura da area. O desenvolvimentoaqui apresentado pode ser encontrado na Tese de Doutorado de P. A. Q. Assis(ITA, 2018).

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 31 / 43

Page 32: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Resumo

[xref

uref

]=

[(A− I ) B

C 0

]−1 [0n

1

](yref − d)

Alternativamente:

xref = Nx(yref − d) , uref = Nu(yref − d)

em que Nx e Nu correspondem, respectivamente, as primeiras n linhas e aultima linha da seguinte matriz:

[(A− I ) B

C 0

]−1 [0n

1

]

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 32 / 43

Page 33: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Problema 2: Conducao do estado para o ponto deequilıbrio calculado

Ideia: Empregar uma funcao de custo da forma

J(y, u) = (y − r)T (y − r) + ρ(u− uref)T (u− uref)

comuref = [uref ]N

O problema de otimizacao pode ser reformulado utilizando uma mudancade variaveis:

δy = y − yref , δx = x − xref , δu = u − uref

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 33 / 43

Page 34: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Empregando essa mudanca de variaveis, a funcao de custo torna-se

J = (δy)T (δy) + ρ(δu)T (δu)com

δy = y − r , δu = u− uref

Supondo conhecido o valor de d , a equacao de predicao pode ser escritacomo

y = Hu + Φux(k) + d

com d = [d ]N . Logo, segue que

δy + r = H(δu + uref) + Φu[δx(k) + xref ] + d

Por definicao, tem-se r = Huref + Φuxref + d. Portanto:

δy = Hδu + Φuδx(k)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 34 / 43

Page 35: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Obs: Equacao de predicao

δy = Hδu + Φuδx(k)

H =

CB 0 · · · 0CAB CB · · · 0

......

. . ....

CAN−1B CAN−2B · · · CB

N×N

, Φu =

CACA2

...CAN

N×n

Caso seja usado um horizonte de controle M < N, pode-se impor

δu(k + i − 1|k) = 0, i = M + 1,M + 2, . . . ,N

Com isso, basta suprimir as ultimas (N −M) colunas da matriz H.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 35 / 43

Page 36: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Solucao do problema de otimizacao

Problema: Minimizar

J = (δy)T (δy) + ρ(δu)T (δu)

s.a.

δy = Hδu + Φuδx(k)︸ ︷︷ ︸fu

Seguindo desenvolvimento similar ao empregado na Aula 2, chega-se a

δu∗ = −(HTH + ρI )−1HT fu

δu(k) = δu∗(k|k) = −[ 1 0 · · · 0 ](HTH + ρI )−1HTΦuδx(k)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 36 / 43

Page 37: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

δu(k) = δu∗(k|k) = −[ 1 0 · · · 0 ](HTH + ρI )−1HTΦuδx(k)

ou ainda:

δu(k) = −Kδ δx(k)

sendo

Kδ = [ 1 0 · · · 0 ](HTH + ρI )−1HTΦu

Vale lembrar que

δx(k) = x(k)− xref , u(k) = δu(k) + uref

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 37 / 43

Page 38: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

MPC com determinacao de valores de equilıbrio paraestado e controle: Resumo

Informacao requerida sobre a planta:

Matrizes A,B,C do modelo no espaco de estados

Parametros de projeto:

Peso do controle ρ

Horizonte de predicao N

Horizonte de controle M

Posicoes dos polos para a dinamica do erro de estimacao de estado(incluindo a estimativa da perturbacao)

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 38 / 43

Page 39: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Inicializacao:

Obter Nx e Nu como, respectivamente, as primeiras n linhas e aultima linha da seguinte matriz:[

(A− I ) B

C 0

]−1 [0n

1

]Fazer

H =

CB 0 · · · 0

CAB CB · · · 0

......

. . ....

CAN−1B CAN−2B · · · CAN−MB

, Φu =

CA

CA2

...

CAN

Calcular Kδ = [ 1 0 · · · 0 ](HTH + ρI )−1HTΦu;

Fazer k = 0, χ(0| − 1) = 0.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 39 / 43

Page 40: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Rotina principal:

1 Ler y(k) (saıda da planta) e yref (valor de referencia para a saıda).

2 Obter a estimativa χ(k|k) usando o observador de estado.

3 Extrair as estimativas x(k|k) e d(k|k).

4 Calcular xref = Nx

(yref − d(k|k)

)e uref = Nu

(yref − d(k|k)

).

5 Calcular δx(k|k) = x(k|k)− xref .

6 Calcular δu(k) = −Kδ δx(k|k).

7 Atualizar o controle aplicado a planta: u(k) = δu(k) + uref .

8 Fazer k = k + 1.

9 Aguardar o proximo instante de amostragem e retornar ao passo 1.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 40 / 43

Page 41: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Implementacao em Matlab

matrizes_ss_delta.m: Monta as matrizes Nx , Nu, Kδ.

mpc_ss_delta.m: S-function que implementa o controlador

Exemplo (sistema de levitacao magnetica):

parametros_maglev_ss.m: Define os parametros do levitadormagnetico

levitador_mpc_ss_delta.mdl: Diagrama de simulacao incluindoestimador de perturbacao de saıda

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 41 / 43

Page 42: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Resumo da aula de hoje

Estimacao de perturbacoes empregando observador de estados.

Inclusao da perturbacao estimada na equacao de predicao.

Formulacao alternativa: Determinacao de valores de equilıbrio para oestado e o controle.

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 42 / 43

Page 43: Aula 6 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula6_hando… · 6 6 4 A 0 n 0 n 0T n 1 1 0T n 0 1 3 7 7 5; B = 2 6 6 4 B 0 0 3 7 7 5; C = [C 1 0]

Topicos da proxima aula

Tratamento de restricoes - Caso SISO

EE-254 (Controle Preditivo) Aula 6 03 Setembro 2019 43 / 43