Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo)...

60
Aula 4 20 Ago 2019 EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 1 / 60

Transcript of Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo)...

Page 1: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Aula 4

20 Ago 2019

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 1 / 60

Page 2: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Resumo da aula passada

DMC: Sintonia de parametros (Perıodo de amostragem, M, N, ρ)

Implementacao em Matlab/Simulink

Exemplo 1: Aquecedor de agua

Exemplo 2: Pendulo de haste rıgida (modelo de simulacao nao linear)

Consideracoes sobre as constantes de polarizacao na malha decontrole

Importante: A abordagem DMC e aplicavel a planta estaveis em malhaaberta.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60

Page 3: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Topicos da aula de hoje

Uso de funcoes de transferencia

Implementacao em Matlab

Exemplo com planta instavel em malha aberta

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 3 / 60

Page 4: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Modelo auto-regressivo

Plantau y

y(k) + a1y(k − 1) + a2y(k − 2) + · · ·+ any(k − n)

= b1u(k − 1) + b2u(k − 2) + · · · bnu(k − n)

Modelo Auto-Regressivo com entrada eXogena (ARX)

Equacao a diferencas relacionando a sequencia de entrada u com asequencia de saıda y .

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 4 / 60

Page 5: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Exemplo (Circuito RC)

u(t)+

y(t)-

C

R i(t)i(t) = Cy(t)

i(t) =u(t)− y(t)

R

Cy(t) =u(t)− y(t)

R⇒ y(t) +

1

RCy(t) =

1

RCu(t)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 5 / 60

Page 6: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Exemplo: Funcao de Transferencia

y(t) +1

RCy(t) =

1

RCu(t)

Aplicando a Transformada de Laplace a ambos os lados da equacao eassumindo condicoes iniciais nulas:(

s +1

RC

)Y (s) =

1

RCU(s)⇒ Hc(s) =

Y (s)

U(s)=

1RC

s + 1RC

Hc(s) denota a funcao de transferencia entre a entrada (tensao dafonte) e a saıda (tensao do capacitor) do circuito.

Hc(s) tambem corresponde a Transformada de Laplace da resposta aimpulso (delta de Dirac) do circuito.

O ındice c e usado para indicar que se trata de uma funcao detransferencia associada a um modelo de tempo contınuo.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 6 / 60

Page 7: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Exemplo: Discretizacao aproximada

y(t) +1

RCy(t) =

1

RCu(t) (1)

Pode-se aproximar a derivada por uma diferenca finita:

y(t) ' 1

T[y(t + T )− y(t)] (2)

sendo T o tamanho do passo empregado.

Substituindo (2) em (1), tem-se

1

T[y(t + T )− y(t)] +

1

RCy(t) =

1

RCu(t)

⇒ y(t + T ) +

(T

RC− 1

)y(t) =

T

RCu(t)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 7 / 60

Page 8: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y(t + T ) +

(T

RC− 1

)y(t) =

T

RCu(t) (3)

Se T for um perıodo de amostragem, os instantes de amostragem seraodados por t = kT , k ∈ Z.

Substituindo t = kT em (3), tem-se

y((k + 1)T ) +

(T

RC− 1

)y(kT ) =

T

RCu(kT )

ou, fazendo k = k − 1,

y(kT ) +

(T

RC− 1

)y((k − 1)T ) =

T

RCu((k − 1)T )

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 8 / 60

Page 9: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Finalmente, denotando y(kT ) e u(kT ) simplesmente por y(k) e u(k),chega-se a uma expressao da forma

y(k) + a1y(k − 1) = b1u(k − 1)

em que

a1 =

(T

RC− 1

), b1 =

T

RC

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 9 / 60

Page 10: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Exemplo: Discretizacao exata

y(t) +1

RCy(t) =

1

RCu(t)

Se a entrada u(t) for constante entre os instantes de amostragem, isto e,

u(t) = u(kT ), ∀t ∈ [kT ,(k + 1)T )

pode-se obter uma equacao a diferencas que relaciona as sequencias{u(kT ), k ∈ Z} e {y(kT ), k ∈ Z} de maneira exata.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 10 / 60

Page 11: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Com efeito, seja uma equacao diferencial da forma

y(t) + acy(t) = bcu(t) (4)

que corresponde a equacao anterior com ac = 1RC e bc = 1

RC .

A solucao de (4) partindo de uma condicao inicial y(t0) e dada por

y(t) = e−ac(t−t0)y(t0) +

∫ t

t0

e−ac(t−τ)bcu(τ)dτ

Logo, fazendo t0 = kT , t = (k + 1)T e supondo u(τ) = u(kT ),∀τ ∈ [kT ,(k + 1)T ), tem-se

y((k + 1)T ) = e−acT y(kT ) +

[∫ (k+1)T

kTe−ac((k+1)T−τ)bcdτ

]u(kT )

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 11 / 60

Page 12: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y((k + 1)T ) = e−acT y(kT ) +

[∫ (k+1)T

kTe−ac((k+1)T−τ)bcdτ

]u(kT ) (5)

Fazendo (k + 1)T − τ = ξ, tem-se

τ = kT ⇒ ξ = T

τ = (k + 1)T ⇒ ξ = 0

dτ = −dξ

Logo, (5) pode ser re-escrita como

y((k + 1)T ) = e−acT y(kT ) +

[∫ T

0e−acξbcdξ

]u(kT )

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 12 / 60

Page 13: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y((k + 1)T ) = e−acT y(kT ) +

[∫ T

0e−acξbcdξ

]u(kT )

Por fim, fazendo k = k − 1 e denotando y(kT ) e u(kT ) simplesmente pory(k) e u(k), chega-se a

y(k) + a1y(k − 1) = b1u(k − 1)

sendo

a1 = −e−acT , b1 =

∫ T

0e−acξbcdξ

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 13 / 60

Page 14: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Observacoes sobre a discretizacao exata

A premissa de u constante entre os instantes de amostragem seravalida, por exemplo, se o sinal u for gerado por um conversor D/Adotado de segurador de ordem zero (zero-order-hold, ZOH)

Pode-se efetuar a discretizacao exata com a funcao c2d do MatlabControl Systems Toolbox (opcao ’zoh’).

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 14 / 60

Page 15: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Se o perıodo de amostragem T for pequeno, resultados similares saoobtidos ao se fazer a discretizacao de forma exata ou aproximada. Porexemplo:

y(t) + acy(t) = bcu(t)

Discretizacao aproximada:

1

T[y((k + 1)T ))− y(kT )] + acy(kT ) = bcu(kT )

y((k + 1)T )) + (−1 + acT )︸ ︷︷ ︸a1,aprox

y(kT ) = bcT︸︷︷︸b1,aprox

u(kT )

Discretizacao exata (ZOH):

a1,zoh = −e−acTT↓' −(1− acT )

b1,zoh =

∫ T

0e−acξbcdξ

T↓' bcT

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 15 / 60

Page 16: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Escolha do perıodo de amostragem

Se a planta for estavel, a escolha do perıodo de amostragem T podeser feita com base na resposta a degrau, seguindo as regras vistaspara o DMC.

Alternativamente, pode-se escolher T supondo a existencia de umfiltro anti-aliasing com frequencia de corte fc igual a metade dafrequencia de amostragem, isto e fc = 1/(2T ). Seleciona-se entao omaior valor de T para o qual a presenca do filtro nao entre emconflito com os requisitos de desempenho para o sistema de controle.

Consideracoes gerais sobre a escolha do perıodo de amostragempodem ser encontradas em FRANKLIN, G.F. Rational rate. IEEEControl Systems Magazine, v. 27, n. 4, p. 19, Aug. 2007.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 16 / 60

Page 17: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Uso da Transformada Z

Um modelo no formato de equacao a diferencas pode ser convertido para aforma de funcao de transferencia utilizando a transformada Z .

A Transformada Z de uma sequencia y(k), k ≥ 0 e definida como

Z [y(k)] = Y (z) =∞∑k=0

y(k)z−k

Duas propriedades a destacar sao:

Linearidade: Z [αy1(k) + βy2(k)] = αY1(z) + βY2(x).

Atraso no tempo: Z [y(k − n)] = z−nY (z), n > 0.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 17 / 60

Page 18: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Relacao entre equacao a diferencas e funcao de transferencia

y(k) + a1y(k − 1) + a2y(k − 2) + · · ·+ any(k − n) =

= b1u(k − 1) + b2u(k − 2) + · · · bnu(k − n)

Aplicando a Transformada Z a ambos os lados desta equacao, tem-se

H(z) ,Y (z)

U(z)=

b1z−1 + b2z

−2 + · · ·+ bnz−n

1 + a1z−1 + a2z−2 + · · ·+ anz−n

H(z) denota a funcao de transferencia entre as sequencias de entradae saıda do modelo.

H(z) tambem corresponde a Transformada Z da resposta a impulso(delta de Kronecker) do modelo.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 18 / 60

Page 19: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Funcao de transferencia: Observacoes

H(z) =b1z−1 + b2z

−2 + · · ·+ bnz−n

1 + a1z−1 + a2z−2 + · · ·+ anz−n

Se b1 for igual a 0, H(z) pode ser re-escrita como

H(z) =b2z−2 + · · ·+ bnz

−n

1 + a1z−1 + a2z−2 + · · ·+ anz−n

= z−1

(b2z−1 + · · ·+ bnz

−n+1 + 0z−n

1 + a1z−1 + a2z−2 + · · ·+ anz−n

)Nesse caso, o modelo descrevera um sistema com atraso de transporte deum perıodo de amostragem.

Se b1 = b2 = · · · = bd = 0, o modelo descrevera um sistema comatraso de transporte de d perıodos de amostragem.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 19 / 60

Page 20: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Funcao de transferencia: Observacoes

H(z) =b1z−1 + b2z

−2 + · · ·+ bnz−n

1 + a1z−1 + a2z−2 + · · ·+ anz−n

Multiplicando o numerador e o denominador por zn, a funcao detransferencia tambem pode ser expressa como

H(z) =b1z

n−1 + b2zn−2 + · · ·+ bn

zn + a1zn−1 + a2zn−2 + · · ·+ an

Numero de polos = Grau do denominador = Ordem do modelo = n

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 20 / 60

Page 21: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Predicao um passo a frente

Seja um modelo da forma

y(k) + a1y(k − 1) + a2y(k − 2) + · · ·+ any(k − n) =

= b1u(k − 1) + b2u(k − 2) + · · ·+ bnu(k − n)

Fazendo k = k + 1 tem-se

y(k + 1) + a1y(k) + a2y(k − 1) + · · ·+ any(k − n + 1) =

= b1u(k) + b2u(k − 1) + · · ·+ bnu(k − n + 1)

Em termos de valores preditos:

y(k + 1|k) + a1y(k) + a2y(k − 1) + · · ·+ any(k − n + 1) =

= b1u(k|k) + b2u(k − 1) + · · ·+ bnu(k − n + 1)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 21 / 60

Page 22: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y(k + 1|k) + a1y(k) + a2y(k − 1) + · · ·+ any(k − n + 1) =

= b1u(k|k) + b2u(k − 1) + · · ·+ bnu(k − n + 1)

Em forma matricial:

y(k + 1|k) + [a1 a2 · · · an]

y(k)

y(k − 1)...

y(k − n + 1)

=

= b1u(k|k) + [b2 b3 · · · bn]

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

...u(k − n + 1)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 22 / 60

Page 23: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Predicao dois passos a frente

y(k + 2|k) + a1y(k + 1|k) + a2y(k) + · · ·+ any(k − n + 2) =

= b1u(k + 1|k) + b2u(k|k) + · · ·+ bnu(k − n + 2)

Em forma matricial:

[a1 1]

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

]+ [a2 a3 · · · 0]

y(k)

y(k − 1)...

y(k − n + 1)

=

= [b2 b1]

[u(k|k)

u(k + 1|k)

]+ [b3 b4 · · · 0]

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

...u(k − n + 1)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 23 / 60

Page 24: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Predicoes ate N passos a frente (N > n)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 24 / 60

Page 25: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y(k + 1|k) + a1y(k) + · · ·+ any(k − n + 1)

= b1u(k|k) + b2u(k − 1) + · · ·+ bnu(k − n + 1)

y(k + 2|k) + a1y(k + 1|k) + · · ·+ any(k − n + 2)

= b1u(k + 1|k) + b2u(k|k) + · · ·+ bnu(k − n + 2)

y(k + 3|k) + a1y(k + 2|k) + · · ·+ any(k − n + 3)

= b1u(k + 2|k) + b2u(k + 1|k) + · · ·+ bnu(k − n + 3)

...

y(k + n|k) + a1y(k + n − 1|k) + · · ·+ any(k)

= b1u(k + n − 1|k) + · · ·+ bnu(k|k)

y(k + n + 1|k) + a1y(k + n|k) + · · ·+ any(k + 1|k)

= b1u(k + n|k) + · · ·+ bnu(k + 1|k)

...

y(k + N|k) + a1y(k + N − 1|k) + · · ·+ any(k − n + N|k)

= b1u(k + N − 1|k) + · · ·+ bnu(k − n + N|k)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 25 / 60

Page 26: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Equacao de predicao

Ta(N×N)︷ ︸︸ ︷

1 0 0 · · · 0 0 · · · 0 0a1 1 0 · · · 0 0 · · · 0 0a2 a1 1 · · · 0 0 · · · 0 0...

......

......

......

......

an−1 an−2 an−3 · · · 1 0 · · · 0 0an an−1 an−2 · · · a1 1 · · · 0 00 an an−1 · · · a2 a1 · · · 0 0...

......

......

......

......

0 0 0 · · · 0 0 · · · 1 00 0 0 · · · 0 0 · · · a1 1

︸ ︷︷ ︸

FormatoToeplitz

y(N×1)︷ ︸︸ ︷

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

...y(k + n|k)

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

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

+

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 26 / 60

Page 27: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

+

Sa(N×n)︷ ︸︸ ︷

a1 a2 · · · ana2 a3 · · · 0a3 a4 · · · 0...

.... . .

...an 0 · · · 00 0 · · · 00 0 · · · 0...

.... . .

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

︸ ︷︷ ︸

FormatoHankel

yp(n×1)︷ ︸︸ ︷y(k)

y(k − 1)...

y(k − n + 1)

=

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 27 / 60

Page 28: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

=

Tb(N×N)︷ ︸︸ ︷

b1 0 · · · 0b2 b1 · · · 0b3 b2 · · · 0...

.... . .

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

.... . .

...0 0 · · · 00 0 · · · b1

︸ ︷︷ ︸

FormatoToeplitz

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

u(k + 1|k)...

u(k + N − 1|k)

+

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 28 / 60

Page 29: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

+

Sb[N×(n−1)]︷ ︸︸ ︷

b2 b3 · · · bnb3 b4 · · · 0b4 b5 · · · 0...

.... . .

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

.... . .

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

︸ ︷︷ ︸

FormatoHankel

up[(n−1)×1)]︷ ︸︸ ︷u(k − 1)u(k − 2)

...u(k − n + 1)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 29 / 60

Page 30: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Tay + Sayp = Tbu + Sbup

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 30 / 60

Page 31: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Equacao de predicao: Exemplo

H(z) =8z + 3

z2 + 4z + 5=

8z−1 + 3z−2

1 + 4z−1 + 5z−2=

Y (z)

U(z)

y(k) + 4y(k − 1) + 5y(k − 2) = 8u(k − 1) + 3u(k − 2)

n = 2

Coeficientes do numerador: b1 = 8, b2 = 3

Coeficientes do denominador: a1 = 4, a2 = 5

Escrever a equacao de predicao para N = 4.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 31 / 60

Page 32: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Equacao de predicao:

Ta︸︷︷︸N×N

y︸︷︷︸N×1

+ Sa︸︷︷︸N×n

yp︸︷︷︸n×1

= Tb︸︷︷︸N×N

u︸︷︷︸N×1

+ Sb︸︷︷︸N×(n−1)

up︸︷︷︸(n−1)×1

Neste exemplo: n = 2 e N = 4. Logo,

Ta =

1 0 0 0a1 1 0 0a2 a1 1 00 a2 a1 1

, y =

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

,Sa =

a1 a2

a2 00 00 0

, yp =

[y(k)

y(k − 1)

]

Tb =

b1 0 0 0b2 b1 0 00 b2 b1 00 0 b2 b1

, u =

u(k|k)

u(k + 1|k)u(k + 2|k)u(k + 3|k)

,Sb =

b2

000

, up = u(k − 1)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 32 / 60

Page 33: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Equacao de predicao na forma usual

Tay + Sayp = Tbu + Sbup

⇒ y = T −1a (Tbu + Sbup − Sayp)

⇒ y = Hu + fu

em que H = T −1a Tb e fu = T −1

a (Sbup − Sayp) .

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 33 / 60

Page 34: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Calculo de T −1a

Ta =

1 0 0 · · · 0 0

a1 1 0. . . 0 0

a2 a1 1. . . 0 0

.... . .

. . .. . .

. . ....

0 0 0. . . 1 0

0 0 0 · · · a1 1

N×N

Matriz Toeplitz construıda com os coeficientes de

A(z) = 1 + a1z−1 + a2z

−2 + · · ·+ anz−n

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 34 / 60

Page 35: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Propriedade: T −1a = Ta−1 , Matriz Toeplitz construıda com os

coeficientes de

A−1(z) =1

1 + a1z−1 + a2z−2 + · · ·+ anz−n

Com efeito, seja

Q(z) = 1 + q1z−1 + q2z

−2 + · · · =1

1 + a1z−1 + a2z−2 + · · ·+ an

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 35 / 60

Page 36: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Por definicao, tem-se A(z)Q(z) = 1, isto e

(1 + a1z−1 + a2z

−2 + · · ·+ an)(1 + q1z−1 + q2z

−2 + · · · ) = 1

Logo,

Ta Tq =

1 0 0 · · · 0a1 1 0 · · · 0a2 a1 1 · · · 0...

......

. . ....

an an−1 an−2 · · · 1

1 0 0 · · · 0q1 1 0 · · · 0q2 q1 1 · · · 0...

......

. . ....

qn qn−1 qn−2 · · · 1

=

=

1 0 0 · · · 00 1 0 · · · 00 0 1 · · · 0...

......

. . ....

0 0 0 · · · 1

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 36 / 60

Page 37: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Calculo de T −1a : Exemplo

A(z) = 1 + 2z−1 + 3z−2

A−1(z) =1

1 + 2z−1 + 3z−2= 1 + q1z

−1 + q2z−2 + q3z

−3 + · · ·

Para um horizonte de predicao N = 3:

Ta =

1 0 02 1 03 2 1

, Ta−1 = Tq =

1 0 0q1 1 0q2 q1 1

Problema: Determinar q1 e q2 .

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 37 / 60

Page 38: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Determinacao de q1 e q2:

1

1 + 2z−1 + 3z−2= 1 + q1z

−1 + q2z−2 + q3z

−3 + · · ·

⇒ (1 + 2z−1 + 3z−2)(1 + q1z−1 + q2z

−2 + q3z−3 + · · · ) = 1

z−1 : q1 + 2 = 0⇒ q1 = −2

z−2 : q2 + 2q1 + 3 = 0⇒ q2 = −2q1 − 3⇒ q2 = 1

Ta−1 =

1 0 0q1 1 0q2 q1 1

=

1 0 0−2 1 01 −2 1

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 38 / 60

Page 39: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Calculo de T −1a : Exemplo (Verificacao)

Ta Ta−1 =

1 0 02 1 03 2 1

1 0 0−2 1 01 −2 1

=

1 0 00 1 00 0 1

Alternativa: Divisao longa de 1/A(z).

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 39 / 60

Page 40: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Formulacao em termos de incrementos da entrada ∆u

+

{y(k) + a1y(k − 1) + · · ·+ any(k − n)

= b1u(k − 1) + · · ·+ bnu(k − n)

{y(k − 1) + a1y(k − 2) + · · ·+ any(k − n − 1)

= b1u(k − 2) + · · ·+ bnu(k − n − 1)

y(k) + (a1 − 1)y(k − 1) + (a2 − a1)y(k − 2) + · · ·++ (an − an−1)y(k − n)− any(k − n − 1) =

= b1∆u(k − 1) + · · ·+ bn∆u(k − n)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 40 / 60

Page 41: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

y(k) + a′1y(k − 1) + · · ·+ a′ny(k − n) + a′n+1y(k − n − 1)

= b1∆u(k − 1) + · · ·+ bn∆u(k − n)

em quea′1 = a1 − 1

a′2 = a2 − a1

...

a′n = an − an−1

a′n+1 = −an

Vale salientar que o modelo passa a ser de ordem n + 1, devido a inclusaoimplıcita de um integrador a tempo discreto.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 41 / 60

Page 42: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Interpretacao alternativa: Seja ∆(z) = 1− z−1

A(z)Y (z) = B(z)U(z)

⇒ ∆(z)A(z)Y (z) = B(z)∆(z)U(z)

⇒ A′(z)Y (z) = B(z)∆U(z)

em que

A′(z) = (1− z−1)(1 + a1z−1 + · · ·+ anz

−n) =

= 1 + (a1 − 1)z−1 + (a2 − a1)z−2 + · · ·++ (an − an−1)z−n − anz

−n−1

Como se pode observar, o novo modelo possui um polo em z = 1, que estaassociado a presenca de um integrador a tempo discreto.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 42 / 60

Page 43: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Correcao implıcita de perturbacoes

O uso do modelo reformulado em termos de ∆u permite efetuar umacorrecao implıcita de perturbacoes constantes:

vPlanta

u yd+

+

v(k) + a1v(k − 1) + a2v(k − 2) + · · ·+ anv(k − n) =

= b1u(k − 1) + b2u(k − 2) + · · ·+ bnu(k − n)

y(k) = v(k) + d ⇒ v(k) = y(k)− d

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 43 / 60

Page 44: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

v(k) + a1v(k − 1) + a2v(k − 2) + · · ·+ anv(k − n) =

= b1u(k − 1) + b2u(k − 2) + · · ·+ bnu(k − n) (6)

v(k) = y(k)− d (7)

Substituindo (7) em (6), tem-se

[y(k)− d ] + a1[y(k − 1)− d ] + a2[y(k − 2)− d ] + · · ·+ an[y(k − n)− d ]

= b1u(k − 1) + b2u(k − 2) + · · ·+ bnu(k − n)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 44 / 60

Page 45: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

[y(k)− d ] + a1[y(k − 1)− d ] + a2[y(k − 2)− d ] + · · ·+ an[y(k − n)− d ]

= b1u(k − 1) + b2u(k − 2) + · · ·+ bnu(k − n) (8)

[y(k−1)−d ]+a1[y(k−2)−d ]+a2[y(k−3)−d ]+ · · ·+an[y(k−n−1)−d ]

= b1u(k − 2) + b2u(k − 3) + · · ·+ bnu(k − n − 1) (9)

Subtraindo (9) de (8), chega-se a

y(k) + (a1 − 1)y(k − 1) + (a2 − a1)y(k − 2) + · · ·+

+ (an − an−1)y(k − n)− any(k − n − 1) =

= b1∆u(k − 1) + · · ·+ bn∆u(k − n)

Portanto, a relacao entre ∆u e y continua sendo valida mesmo napresenca de perturbacoes constantes na saıda da planta.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 45 / 60

Page 46: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Equacao de Predicao em termos de ∆u

y(k) + a′1y(k − 1) + · · ·+ a′ny(k − n) + a′n+1y(k − n − 1)

= b1∆u(k − 1) + · · ·+ bn∆u(k − n)

Ta′ y + Sa′yp = Tb∆u + Sb∆up

⇒ y = G∆u + f

em queG = T −1

a′ Tbf = T −1

a′ (Sb∆up − Sa′yp)

Se M < N, basta usar somente as M primeiras colunas de Tb.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 46 / 60

Page 47: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Resposta livre f: Observacao

f = T −1a′ (Sb∆up − Sa′yp)

Por conveniencia de implementacao, sera empregada a seguinte notacao:

f = K∆u∆up + Kyyp

em que

K∆u = T −1a′ Sb, Ky = −T −1

a′ Sa′

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 47 / 60

Page 48: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

MPC empregando modelo ARX: Resumo

Informacao requerida sobre a planta:

Funcao de transferencia: H(z) = b1z−1+b2z−2+···+bnz−n

1+a1z−1+a2z−2+···+anz−n

Parametros de projeto:

Peso do controle ρ

Horizonte de predicao N

Horizonte de controle M

Inicializacao:

Montar as matrizes T −1a′ , Sa′ , Tb, Sb

Calcular G = T −1a′ Tb, K∆u = T −1

a′ Sb, Ky = −T −1a′ Sa′

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

Fazer k = 0, y(−1) = y(−2) = · · · = y(−n) = 0 e∆u(−1) = ∆u(−2) = · · · = ∆u(−n + 1) = 0 (supondo que a plantaesteja inicialmente em repouso).

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 48 / 60

Page 49: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Rotina principal:

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

2 Fazer r = [yref ]N3 Fazer

∆up =

∆u(k − 1)∆u(k − 2)

...∆u(k − n + 1)

, yp =

y(k)

y(k − 1)...

y(k − n + 1)

4 Calcular f = K∆u∆up + Kyyp

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 4 20 Ago 2019 49 / 60

Page 50: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Implementacao em Matlab

long division.m: Obtem os coeficientes de Q(z) = A−1(z)

matrizes arx du.m: Monta as matrizes T −1a′ ,Sa′ ,Tb,Sb

mpc arx du.m: S-function que implementa o controlador

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 50 / 60

Page 51: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Exemplo: Sistema de levitacao magnetica

Fonte deCorrente

MPC

Foto-receptor

yp

yref

upi

f

mg

Ele

troí

h

Foto-emissor

+-

yp

y

up

+

+

u

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 51 / 60

Page 52: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

f = Kfi2

h2, i = i0 + rup

yp = y0 + γh⇒ h =yp − y0

γ

mh = mg − Kfi2

h2⇒ h = g − Kf

m

i2

h2

⇒ ypγ

= g − Kf

m

(i0 + rup)2γ2

(yp − y0)2⇒ yp = γg − Kf

m

(i0 + rup)2γ3

(yp − y0)2

Dinamica nao-linear

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 52 / 60

Page 53: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

yp = γg − Kf

m

(i0 + rup)2γ3

(yp − y0)2

Em equilıbrio:

Kf

m

(i0 + r up)2γ3

(yp − y0)2= γg ⇒ Kf (i0 + r up)2γ2 = mg(yp − y0)2

i0 + r up =yp − y0

γ

√mg

Kf

⇒ up =1

r

(yp − y0

γ

√mg

Kf− i0

)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 53 / 60

Page 54: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

yp = f (yp,up) = γg − Kf

m

(i0 + rup)2γ3

(yp − y0)2

Seja y = yp − yp e u = up − up, isto e:

yp = yp + y , up = up + u

Tem-se entao que

yp = y = f (yp + y ,up + u) ' f (yp,up)︸ ︷︷ ︸0

+∂f

∂yp

∣∣∣∣(yp ,up)

y +∂f

∂up

∣∣∣∣(yp ,up)

u

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 54 / 60

Page 55: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

f (yp,up) = γg − Kf

m

(i0 + rup)2γ3

(yp − y0)2

∂f

∂yp=

2Kf (i0 + r up)2γ3

m(yp − y0)3=

2Kf (yp − y0)2γ−2 mgKfγ3

m(yp − y0)3=

2γg

yp − y0

∂f

∂up= −2Kf (i0 + r up)2rγ3

m(yp − y0)2= −

2Kf (yp − y0)2γ−1√

mgKf

rγ3

m(yp − y0)2=

− 2rγ2

yp − y0

√Kf g

m

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 55 / 60

Page 56: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Modelo linearizado:y = ηy − βu

η =2γg

yp − y0, β =

2rγ2

yp − y0

√Kf g

m

Funcao de transferencia em s:

Hc(s) = − β

s2 − η

Funcao de transferencia em z :

H(z) =b1z−1 + b2z

−2

1 + a1z−1 + a2z−2

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 56 / 60

Page 57: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Parametros do modelo

Parametros fısicos levantados experimentalmente:

m = 2,12× 10−2 kg

y0 = −7,47 V

γ = 328 V/m

i0 = 0,514 A

r = 0,166 A/V

Kf = 1,2× 10−4 Nm2/A2

Faixa de trabalho: yp ∈ [−2 V, +2 V]

Assume-se ainda g = 9,8 m/s−2

Ponto de equilıbrio considerado: yp = 0 V (centro da faixa de trabalho)

Perıodo de amostragem adotado: T = 5 ms

Referencia: GRIMM, C. Um Controlador Digitalmente Assistido para um Sistemade Levitacao Magnetica. Tese de Mestrado, ITA, 2002.

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 57 / 60

Page 58: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Arquivos Matlab

parametros maglev.m: Define os parametros do levitador magnetico

levitador mpc.mdl: Diagrama de simulacao

Observar o resultado obtido com horizontes de predicao muito longos(N = 200, por exemplo) → Mau condicionamento da matriz dinamica G .

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 58 / 60

Page 59: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Resumo da aula de hoje

Uso de funcoes de transferencia (modelos ARX)

Implementacao em Matlab

Exemplo com planta instavel em malha aberta (levitador magnetico)

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 59 / 60

Page 60: Aula 4 - Instituto Tecnológico de Aeronáutica · 2019. 8. 14. · EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 2 / 60. Topicos da aula de hoje Uso de funcoes de transfer^encia

Topicos da proxima aula

Uso de modelos no espaco de estados

Implementacao em Matlab

Uso de observador de estados

Consideracoes sobre acao integral de controle

EE-254 (Controle Preditivo) Aula 4 20 Ago 2019 60 / 60