63
Aula 8 01 Outubro 2019 EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 1 / 63

Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Aula 8

01 Outubro 2019

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 1 / 63

Page 2: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Resumo da aula passada

Tratamento de restricoes - Caso SISO (“Single Input, Single Output”)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 2 / 63

Page 3: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Aula de hoje

Extensao ao caso MIMO (“Multiple Inputs, Multiple Outputs”)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 3 / 63

Page 4: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Extensao ao caso MIMO

Planta

u1 y1

u2

up

y2

yq

p variaveis manipuladas (u1, u2, . . . , up)

q variaveis controladas (y1, y2, . . . , yq)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 4 / 63

Page 5: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Notacao

Plantau y

u(k) =

u1(k)

u2(k)

...

up(k)

p×1

y(k) =

y1(k)

y2(k)

...

yq(k)

q×1

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 5 / 63

Page 6: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Incrementos no controle:

∆u(k) = u(k)− u(k − 1) =

u1(k)− u1(k − 1)

u2(k)− u2(k − 1)

...

up(k)− up(k − 1)

p×1

Referencias:

yref =

yref ,1

yref ,2...

yref ,q

q×1

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 6 / 63

Page 7: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

y =

y(k + 1|k)

y(k + 2|k)

...

y(k + N|k)

qN×1

r =

yref

yref...

yref

qN×1

= [yref ]N

u =

u(k|k)

u(k + 1|k)

...

u(k + M − 1|k)

pM×1

∆u =

∆u(k|k)

∆u(k + 1|k)

...

∆u(k + M − 1|k)

pM×1

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 7 / 63

Page 8: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Funcao de custo

J(y,∆u) =N∑i=1

[y(k + i |k)− yref ]TQ[y(k + i |k)− yref ]

+M∑i=1

∆uT (k + i − 1|k)R∆u(k + i − 1|k)

Q ∈ Rq×q, R ∈ Rp×p matrizes de peso simetricas, com Q > 0 e R > 0.

Caso particular: Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)

J(y,∆u) =N∑i=1

q∑j=1

µj [yj(k + i |k)− yref ,j ]2

+M∑i=1

p∑l=1

ρl [∆ul(k + i − 1|k)]2

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 8 / 63

Page 9: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Orientacoes para sintonia dos parametros (plantas estaveis)

Referencias:

1 SHRIDHAR, R.; COOPER, D.J. A tuning strategy for unconstrainedmultivariable model predictive control. Industrial and EngineeringChemistry Research, v. 37, n. 10, p. 4003 - 4016, 1998.

2 DOUGHERTY, D.; COOPER, D.J. Tuning guidelines of a dynamicmatrix controller for integrating (non-self-regulating) processes.Industrial and Engineering Chemistry Research, v. 42, n. 8, p. 1739 -1752, 2003.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 9 / 63

Page 10: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Supondo que a dinamica entre a l-esima entrada e a j-esima saıda daplanta possa ser aproximada pela seguinte funcao de transferencia:

Y (s)

U(s)=

Kjle−θjl s

τjls + 1

recomenda-se tomar:

Perıodo de amostragem: T = minj=1,2,...,q; l=1,2,...,p

max(0,1τjl ; 0,5θjl)

Horizonte de predicao:

N = maxj=1,2,...,q; l=1,2,...,p

round

[5τjl + θjl

T+ 1

]Horizonte de controle:

M = maxj=1,2,...,q; l=1,2,...,p

round

[τjl + θjl

T+ 1

]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 10 / 63

Page 11: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

“Regra de Bryson” para escolha dos pesos

J(y,∆u) =N∑i=1

q∑j=1

µj [yj(k + i |k)− yref ,j ]2

+M∑i=1

p∑l=1

ρl [∆ul(k + i − 1|k)]2

Sejam θj e ηl as amplitudes de [yj(k)− yref ,j ] e ∆ul(k) esperadas durantea operacao da planta.

Os pesos µj e ρl podem ser escolhidos como:

µj =1

N θ2j

, ρl =1

M η2l

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 11 / 63

Page 12: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Funcao de custo: Observacoes

Obs. 1: Podem ser usados horizontes de predicao e controle diferentespara cada canal de entrada e saıda da planta. Contudo, essa possibilidadenao sera aqui explorada.

Obs. 2: Tambem seria possıvel empregar pesos diferentes para cadainstante de tempo ao longo dos horizontes de predicao e controle.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 12 / 63

Page 13: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Funcao de custo: Notacao Matricial

Seja

Q =

Q 0 · · · 0

0 Q · · · 0

......

. . ....

0 0 · · · Q

qN×qN

R =

R 0 · · · 0

0 R · · · 0

......

. . ....

0 0 · · · R

pM×pM

Se Q > 0, R > 0, tem-se Q > 0, R > 0.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 13 / 63

Page 14: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

J(y,∆u) =N∑i=1

[y(k + i |k)− yref ]TQ[y(k + i |k)− yref ]

+M∑i=1

∆uT (k + i − 1|k)R∆u(k + i − 1|k)

J(y,∆u) = (y − r)TQ(y − r) + ∆uTR∆u

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 14 / 63

Page 15: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Obtencao da equacao de predicao empregando modelo noespaco de estados

Modelo adotado:

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

y(k) = Cx(k)

com

x(k) ∈ Rn, u(k) ∈ Rp, y(k) ∈ Rq

A ∈ Rn×n, B ∈ Rn×p, C ∈ Rq×n

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 15 / 63

Page 16: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Equacao de predicao em u

y = Hu + fu

H =

CB 0 · · · 0

CAB CB · · · 0

......

. . ....

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

qN×pN

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

CA

CA2

...

CAN

qN×n

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 16 / 63

Page 17: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Modelo com entrada incremental

Uso do estado aumentado ξ ∈ Rn+p com o ultimo valor de controleaplicado a planta:

ξ(k) =

[x(k)

u(k − 1)

]

ξ(k + 1) =

[A B

0p×n Ip

]ξ(k) +

[B

Ip

]∆u(k)

y(k) = [C 0q×p] ξ(k)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 17 / 63

Page 18: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Novo modelo a ser empregado:

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

com

A =

[A B

0p×n Ip

], B =

[B

Ip

], C = [C 0q×p]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 18 / 63

Page 19: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Equacao de predicao em ∆u

y = G∆u + f

G =

C B 0 · · · 0

C AB C B · · · 0

......

. . ....

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

qN×pN

f = Φ ξ(k), Φ =

C A

C A2

...

C AN

qN×n

Obs: Caso M < N, suprimem-se as ultimas (N −M)p colunas de G .EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 19 / 63

Page 20: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Solucao na ausencia de restricoes

Problema de otimizacao a ser resolvido no instante k: Minimizar

J(y,∆u) = (y − r)TQ(y − r) + ∆uTR∆u

s.a.y = G∆u + f

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 20 / 63

Page 21: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Substituindo a expressao de y na funcao de custo, obtem-se:

J = (G∆u + f − r)TQ(G∆u + f − r) + ∆uTR∆u =

∆uTGTQG∆u + 2(f − r)TQ(G∆u) + (f − r)TQ(f − r) + ∆uTR∆u

= ∆uT (GTQG + R)︸ ︷︷ ︸(1/2)H

∆u + 2(f − r)TQG︸ ︷︷ ︸cT

∆u + (f − r)TQ(f − r)︸ ︷︷ ︸cte

J =1

2∆uTH∆u + cT∆u + cte

H = 2(GTQG + R), c = 2GTQ(f − r)

Vale notar que R > 0⇒ H > 0.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 21 / 63

Page 22: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

J(∆u) =1

2∆uTH∆u + cT∆u + cte

H > 0

Como visto anteriormente para o caso SISO, a solucao deste problema deotimizacao e dada por

∆u∗ = −H−1c

comH = 2(GTQG + R), c = 2GTQ(f − r)

Logo:∆u∗ = (GTQG + R)−1GTQ(r − f)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 22 / 63

Page 23: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

∆u∗ = (GTQG + R)−1GTQ(r − f)

No instante atual, a variacao de controle a ser aplicada corresponde aosprimeiros p elementos do vetor ∆u∗, isto e:

∆u(k) = ∆u∗(k|k) = KMPC (r − f)

sendo KMPC uma matriz (p × qN) formada pelas primeiras p linhas de(GTQG + R)−1GTQ, ou seja:

KMPC =[Ip 0p×p(M−1)

](GTQG + R)−1GTQ

com Ip denotando uma matriz identidade de dimensoes (p × p).

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 23 / 63

Page 24: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

MPC empregando modelo no espaco de estados: Resumo

Informacao requerida sobre a planta:

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

Parametros de projeto:

Pesos das saıdas µ1, µ2, . . . , µq > 0

Pesos dos controles ρ1, ρ2, . . . , ρp > 0

Horizonte de predicao N

Horizonte de controle M

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 24 / 63

Page 25: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Inicializacao:

Fazer

A =

[A B

0p×n Ip

], B =

[B

Ip

], C = [C 0q×p]

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 25 / 63

Page 26: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Fazer

Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)

Q =

Q 0 · · · 0

0 Q · · · 0

......

. . ....

0 0 · · · Q

qN×qN

, R =

R 0 · · · 0

0 R · · · 0

......

. . ....

0 0 · · · R

pM×pM

Calcular KMPC =[Ip 0p×p(M−1)

](GTQG + R)−1GTQ

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 26 / 63

Page 27: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Rotina principal:

1 Ler x(k) (estado da planta) e yref (vetor de referencias para as saıdas)

2 Fazer r = [yref ]N3 Fazer

ξ(k) =

[x(k)

u(k − 1)

]4 Calcular f = Φ ξ(k)

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

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

7 Fazer k = k + 1

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 27 / 63

Page 28: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Implementacao em Matlab

matrizes_ss_du_mimo.m: Monta as matrizes KMPC ,Φ.

mpc_ss_du_mimo.m: S-function que implementa o controlador

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 28 / 63

Page 29: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Controle da dinamica longitudinal de uma aeronave 747

Condicao de voo considerada:

Altitude: h = 40000ft

Velocidade: V = 774ft/s (Mach 0.80)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 29 / 63

Page 30: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Modelo linear adotado

Estados:

x1 = u = velocidade no eixo longitudinal [ft/s]

x2 = w = velocidade no eixo vertical (positiva para baixo)[ft/s]

x3 = q = velocidade de arfagem [crad/s]

x4 = θ = angulo de atitude [crad ]

Variaveis manipuladas:

u1 = δe = deflexao do profundor [crad ]

u2 = δt = tracao especıfica [ft/s2]

Variaveis controladas:

y1 = u = x1

y2 = h = −w + 7,74θ = −x2 + 7,74x4 (taxa de subida)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 30 / 63

Page 31: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

x =

−0,003 0,039 0 −0,322

−0,065 −0,319 7,74 0

0,0201 −0,101 −0,429 0

0 0 1 0

x +

0,01 1

−0,18 −0,04

−1,16 0,598

0 0

u

y =

[1 0 0 0

0 −1 0 7,74

]x

Referencia: BRYSON, A. E. Control of Spacecraft and Aircraft, PrincetonUniversity Press, 1994.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 31 / 63

Page 32: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Modelo discretizado

Perıodo de amostragem T = 0,3s.

Sinal de controle constante entre os instantes de amostragem.

A =

0,999 1,12× 10−2 −1,27× 10−3 −9,66× 10−2

−1,19× 10−2 0,877 2,05 6,95× 10−4

5,86× 10−3 −2,67× 10−2 0,848 −2,86× 10−4

8,90× 10−4 −4,19× 10−3 0,278 1,00

B =

2,83× 10−3 0,300

−0,424 0,179

−0,322 0,167

−4,97× 10−2 2,58× 10−2

, C =

[1 0 0 0

0 −1 0 7,74

]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 32 / 63

Page 33: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Arquivos Matlab

parametros_B747.m: Define os parametros do modelo

B747_mpc_ss_du.mdl: Diagrama de simulacao

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 33 / 63

Page 34: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Parametros utilizados na simulacao

Comando de +10ft/s na taxa de subida com manutencao davelocidade

Horizonte de Predicao: N = 10

Horizonte de Controle: M = 5

Pesos de saıda: µ = [1, 1]

Pesos de controle: ρ = [1, 1]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 34 / 63

Page 35: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Estimacao de perturbacoes empregando observador de estados

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

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

y(k) = Cx(k)

z(k) = Czx(k)

sendo d(k) ∈ Rnd um vetor de perturbacoes e z(k) ∈ Rnz o vetor devariaveis medidas.

Obs. 1: Casos particulares sao

E = B (perturbacao aditiva nas variaveis manipuladas)

Cz = In (realimentacao de estado completo)

Obs. 2: Alternativamente, poderiam ser adotados modelos comperturbacao de saıda.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 35 / 63

Page 36: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Estado aumentado:

χ(k) =

[x(k)

d(k)

]

Sob a hipotese de perturbacao constante, tem-se

χ(k + 1) =

[x(k + 1)

d(k + 1)

]=

[Ax(k) + Bu(k) + Ed(k)

d(k)

]

=

[A E

0nd×n Ind

][x(k)

d(k)

]+

[B

0nd×p

]u(k)

y(k) = Cx(k) = [C 0q×nd ]

[x(k)

d(k)

]

z(k) = Czx(k) = [Cz 0nz×nd ]

[x(k)

d(k)

]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 36 / 63

Page 37: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Assim, o modelo torna-se

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

y(k) = Cχ(k), z(k) = Czχ(k)

sendo

A =

[A E

0nd×n Ind

], B =

[B

0nd×p

]

C = [C 0q×nd ] , Cz = [Cz 0nz×nd ]

Pode-se entao projetar um observador de estados com base em (A, B, Cz)para obter uma estimativa χ(k|k) do estado aumentado χ(k), que inclui aperturbacao.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 37 / 63

Page 38: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Como visto no caso SISO, a equacao de predicao deve incluir a perturbacaoestimada. Para isso, pode-se redefinir o estado aumentado 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.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 38 / 63

Page 39: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Exemplo

parametros_B747.m: Define os parametros do modelo

B747_mpc_ss_du_pert.mdl: Diagrama de simulacao incluindoestimador de perturbacao de entrada

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 39 / 63

Page 40: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Tratamento de restricoes

Assim como no caso SISO, tres tipos basicos de restricoes seraoconsideradas:

Incrementos nos controles ∆u

Excursao dos controles u

Excursao das saıdas y

Essas restricoes serao expressas em termos de desigualdades linearesenvolvendo ∆u.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 40 / 63

Page 41: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Restricoes sobre os incrementos nos controles ∆u

∆umin ≤ ∆u(k + i − 1|k) ≤ ∆umax , i = 1, 2, . . . ,M

∆umin, ∆umax ∈ Rp

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 41 / 63

Page 42: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

∆umin

∆umin...

∆umin

≤∆u︷ ︸︸ ︷

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

...∆u(k + M − 1|k)

∆umax

∆umax...

∆umax

[∆umin]M ≤ ∆u ≤ [∆umax ]M

[∆umin]M =

IpIp...Ip

︸ ︷︷ ︸pM×p

∆umin , [∆umax ]M =

IpIp...Ip

︸ ︷︷ ︸pM×p

∆umax

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 42 / 63

Page 43: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

[∆umin]M ≤ ∆u ≤ [∆umax ]M

{∆u ≤ [∆umax ]M−∆u ≤ −[∆umin]M

2pM×pM︷ ︸︸ ︷[IpM−IpM

]∆u ≤

2pM×1︷ ︸︸ ︷[[∆umax ]M−[∆umin]M

]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 43 / 63

Page 44: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Restricoes sobre a excursao dos controles u

umin ≤ u(k + i − 1|k) ≤ umax , i = 1, 2, . . . ,M

umin, umax ∈ Rp

[umin]M ≤ u ≤ [umax ]M

Para expressar estas restricoes em termos de ∆u, deve-se obter umarelacao entre u e ∆u.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 44 / 63

Page 45: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

u(k|k)

u(k + 1|k)...

u(k + M − 1|k)

=

u(k − 1)u(k − 1)

...u(k − 1)

+

+

∆u(k|k)∆u(k|k) + ∆u(k + 1|k)...∆u(k|k) + ∆u(k + 1|k) + · · ·+ ∆u(k + M − 1|k)

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 45 / 63

Page 46: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

u(pM×1)︷ ︸︸ ︷u(k|k)

u(k + 1|k)...

u(k + M − 1|k)

=

[u(k−1)]M(pM×1)︷ ︸︸ ︷u(k − 1)u(k − 1)

...u(k − 1)

+

Ip 0p×p · · · 0p×pIp Ip · · · 0p×p...

.... . .

...Ip Ip · · · Ip

︸ ︷︷ ︸

TIpM (pM×pM)

∆u(k|k)

∆u(k + 1|k)...

∆u(k + M − 1|k)

︸ ︷︷ ︸

∆u(pM×1)

u = [u(k − 1)]M + TIpM∆u

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 46 / 63

Page 47: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

[umin]M ≤ u ≤ [umax ]M

u = [u(k − 1)]M + TIpM∆u

Logo:[umin]M ≤ [u(k − 1)]M + T

IpM∆u ≤ [umax ]M

[umin − u(k − 1)]M ≤ TIpM∆u ≤ [umax − u(k − 1)]M{

TIpM∆u ≤ [umax − u(k − 1)]M

−T IpM∆u ≤ [u(k − 1)− umin]M

2pM×pM︷ ︸︸ ︷[T

IpM

−T IpM

]∆u ≤

2pM×1︷ ︸︸ ︷[[umax − u(k − 1)]M[u(k − 1)− umin]M

]EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 47 / 63

Page 48: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Restricoes sobre a excursao das saıdas y

ymin ≤ y(k + i |k) ≤ ymax , i = 1, . . . ,N

∆ymin, ∆ymax ∈ Rq

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 48 / 63

Page 49: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

[ymin]N ≤ y ≤ [ymax ]N

Lembrando que y = G∆u + f, a restricao pode ser reescrita como

[ymin]N ≤ G∆u + f ≤ [ymax ]N

[ymin]N − f ≤ G∆u ≤ [ymax ]N − f

{G∆u ≤ [ymax ]N − f−G∆u ≤ f − [ymin]N

2qN×M︷ ︸︸ ︷[G−G

]∆u ≤

2qN×1︷ ︸︸ ︷[[ymax ]N − ff − [ymin]N

]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 49 / 63

Page 50: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Restricoes sobre a excursao das saıdas y : Observacao

De modo mais geral, pode haver variaveis de saıda sujeitas a restricoes,mas que nao estejam incluıdas na funcao de custo.

Nesse caso, pode-se utilizar na formulacao das restricoes uma equacao depredicao que considere especificamente as variaveis de saıda sujeitas arestricoes.

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 50 / 63

Page 51: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Resumo das restricoes

S[(4pM+2qN)×pM]︷ ︸︸ ︷

IpM−IpMT

IpM

−T IpM

G−G

∆u ≤

b[(4pM+2qN)×1]︷ ︸︸ ︷

[∆umax ]M−[∆umin]M

[umax − u(k − 1)]M[u(k − 1)− umin]M

[ymax ]N − ff − [ymin]N

S∆u ≤ b

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 51 / 63

Page 52: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Formulacao do problema de otimizacao com restricoes

Assim como no caso SISO, o problema de otimizacao na presenca dasrestricoes consideradas pode ser colocado na forma de ProgramacaoQuadratica:

min∆u∈RpM

J(∆u) =1

2∆uTH∆u + cT∆u + cte

sujeito aS∆u ≤ b

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 52 / 63

Page 53: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Implementacao da lei de controle

Informacao requerida sobre a planta:

Matrizes A ∈ Rn×n, B ∈ Rn×p, C ∈ Rq×n do modelo

Limitantes sobre os incrementos nos controles: ∆umin,∆umax ∈ Rp

Limitantes sobre a excursao dos controles: umin, umax ∈ Rp

Limitantes sobre a excursao das saıdas: ymin, ymax ∈ Rq

Parametros de projeto:

Pesos das saıdas µ1, µ2, . . . , µq > 0

Pesos dos controles ρ1, ρ2, . . . , ρp > 0

Horizonte de predicao N

Horizonte de controle M

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 53 / 63

Page 54: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Inicializacao:

Fazer

A =

[A B

0p×n Ip

], B =

[BIp

], C = [C 0q×p]

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 54 / 63

Page 55: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Fazer

Q = diag(µ1, µ2, . . . , µq), R = diag(ρ1, ρ2, . . . , ρp)

Q =

Q 0 · · · 00 Q · · · 0...

.... . .

...0 0 · · · Q

qN×qN

, R =

R 0 · · · 00 R · · · 0...

.... . .

...0 0 · · · R

pM×pM

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 55 / 63

Page 56: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

FazerGn = QG , Hqp = 2(GTQG + R)

Aqp =

IpM−IpMT

IpM

−T IpM

G−G

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 56 / 63

Page 57: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Rotina principal:

1 Ler x(k) (estado da planta) e yref (vetor de referencias para as saıdas)

2 Fazer r = [yref ]N3 Fazer

ξ(k) =

[x(k)

u(k − 1)

]4 Calcular f = Φ ξ(k) e fqp = 2GT

n (f − r)

5 Fazer bqp =

[∆umax ]M−[∆umin]M

[umax − u(k − 1)]M[u(k − 1)− umin]M

[ymax ]N − ff − [ymin]N

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 57 / 63

Page 58: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

6 Resolver o problema de otimizacao:

∆u∗ = arg min∆u∈RpM

1

2∆uTHqp∆u + f Tqp∆u s.a. Aqp∆u ≤ bqp

7 Obter o incremento nos controles:

∆u(k) = ∆u∗(k|k) =[Ip 0p×p(M−1)

]∆u∗

8 Atualizar os controles aplicados a planta: u(k) = u(k − 1) + ∆u(k)

9 Fazer k = k + 1

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

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 58 / 63

Page 59: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Implementacao em Matlab

matrizes_ss_du_mimo_restricoes.m: Monta as matrizesΦ,Gn,Hqp,Aqp.

mpc_ss_du_mimo_restricoes.m: S-function que implementa ocontrolador

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 59 / 63

Page 60: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Exemplo

parametros_B747.m: Define os parametros do modelo

B747_mpc_ss_du_restricoes.mdl: Diagrama de simulacao

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 60 / 63

Page 61: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Parametros utilizados na simulacao

Comando de +10ft/s na taxa de subida com manutencao davelocidade.

Horizonte de Predicao: N = 20

Horizonte de Controle: M = 10

Pesos de saıda: µ = [1, 1],

Pesos de controle: ρ = [1, 1]

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 61 / 63

Page 62: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Resumo da aula de hoje

Caso MIMO:

Notacao adotada

Funcao de custo

Equacao de predicao

Solucao na ausencia de restricoes

Inclusao de restricoes

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 62 / 63

Page 63: Aula 8 - Instituto Tecnológico de Aeronáuticakawakami/ee254/EE254_2oSem_2019_Aula8_handouts.pdfAula de hoje Extens~ao ao caso MIMO (\Multiple Inputs, Multiple Outputs") EE-254 (Controle

Topico da proxima aula

Estabilidade

EE-254 (Controle Preditivo) Aula 8 01 Outubro 2019 63 / 63