Aula 3 - ele.ita.brkawakami/ee254/EE254_2018_2oSem_Aula3_handouts.pdf · 8 Aguardar o proximo...

62
Aula 3 13 Ago 2018 EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 1 / 62

Transcript of Aula 3 - ele.ita.brkawakami/ee254/EE254_2018_2oSem_Aula3_handouts.pdf · 8 Aguardar o proximo...

Aula 3

13 Ago 2018

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 1 / 62

Resumo da aula passada - DMC

Informacao requerida sobre a planta:

Resposta a degrau g(n), n = 1, . . . ,Ns

(assume-se g(0) = 0 e g(n) = g(Ns),∀n ≥ Ns).

Parametros de projeto:

Peso do controle ρ

Horizonte de predicao N

Horizonte de controle M

Inicializacao:

Fazer G =

g(1) 0 · · · 0g(2) g(1) · · · 0

......

. . ....

g(N) g(N − 1) · · · g(N −M + 1)

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

Fazer k = 0, u(−1) = 0 e ∆u(−1) = ∆u(−2) = · · · = ∆u(−Ns) = 0

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 2 / 62

Rotina principal:

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

2 Fazer r = [yref ]N3 Calcular

f (k + i |k) = y(k) +Ns∑n=1

[g(n + i)− g(n)]∆u(k − n), i = 1,2, . . . ,N

4 Fazer f = [f (k + 1|k) f (k + 2|k) · · · f (k + N|k)]T

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 3 13 Ago 2018 3 / 62

DMC: Orientacoes para sintonia dos parametros

Suponha que a dinamica da planta possa ser descrita por:

Y (s)

U(s)=

Ke−θs

τs + 1

Os parametros do DMC podem ser escolhidos da seguinte forma:

Perıodo de amostragem: T = max(0,1τ ; 0,5θ)

Horizontes de predicao e controle:

N = round

[5τ + θ

T+ 1

], M = round

[τ + θ

T+ 1

]Peso do controle (sugestao):

ρ = (gss)2N∑i=1

[g(i)

gss− 1

]2

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 4 / 62

Topicos da aula de hoje

DMC: Implementacao em Matlab/Simulink

Exemplo 1: Aquecedor de agua

Exemplo 2: Sistema com modelo de simulacao nao-linear

Uso de resposta a impulso

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 5 / 62

Implementacao em Matlab/Simulink

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 6 / 62

Arquivos Matlab a serem empregados

dmc.m

aquecedor dmc.mdl

resposta degrau aquecedor.mdl

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 7 / 62

DMC: Implementacao em Matlab/Simulink (S-function)

Controlador PreditivoDMC

yref

y(k)u(k)

Interior damáscara

u(k)1

Zero-OrderHold

S-function

Parâmetros:KMPC, N, g, Ns, T

dmc

Armazena u(k-1)z1

y(k)2yref

1u(k)

u(k-1)

du(k)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 8 / 62

DMC: Detalhes da mascara

Parametros:

Peso do controle (escalar ρ)

Horizonte de predicao (escalar N)

Horizonte de controle (escalar M)

Resposta a degrau da planta (array g)

Perıodo de amostragem (escalar T )

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 9 / 62

Comandos executados na inicializacao:

Ns = length(g);

gaux = g;

if N > Ns

gaux(Ns+1:N) = g(Ns);

end

col = gaux(1:N);

row = [gaux(1) zeros(1,N-1)];

G = toeplitz(col,row);

G = G(:,1:M);

GAIN = inv(G’*G + rho*eye(M))*G’;

KMPC = GAIN(1,:);

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 10 / 62

Alguns comentarios sobre S-functions

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 11 / 62

DMC: Codigo da S-function

Arquivo dmc.m

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 12 / 62

Exemplo 1: Aquecedor de agua

ÁguaFria

ÁguaQuente

y

Aumento da temperaturaem relação ao ambienteu

Adaptado de CAMACHO, E.F.; BORDONS, C. Model Predictive Control.London: Springer-Verlag, 1999.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 13 / 62

Funcao de transferencia adotada na simulacao:

H(s) =0,3

s + 0,2e−2s =

1,5

5s + 1e−2s =

K

τs + 1e−θs

K = 1,5 τ = 5 θ = 2

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 14 / 62

Escolha dos parametros do controlador DMC

K = 1,5 τ = 5 θ = 2

Perıodo de amostragem: T = max(0,1τ ; 0,5θ) = max(0,5; 1) = 1

Horizonte de predicao:

N = round

[5τ + θ

T+ 1

]= round

[27

1+ 1

]= 28

Horizonte de controle:

M = round

[τ + θ

T+ 1

]= round

[7

1+ 1

]= 8

Peso do controle:

ρ = (gss)2N∑i=1

[g(i)

gss− 1

]2

= 9,1

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 15 / 62

Roteiro para apresentacao do exemplo

1 Definir perıodo de amostragem no workspace.

2 Obter a resposta a degrau unitario em malha aberta:resposta degrau aquecedor.mdl

3 Abrir diagrama aquecedor dmc.mdl, inserir parametrosρ = 9.1,N = 28,M = 8 na mascara e executar a simulacao.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 16 / 62

Simulacoes a serem realizadas:

Inserir perturbacao de saıda tipo degrau.

Inserir perturbacao de entrada tipo degrau.

Alterar ganho da planta.

Inserir perturbacao de saıda tipo rampa.

Fixar N = 28 e variar M de 8 ate 1(Interpretacao: Calcular y = G∆u + f para k = 0 com M = 1).

Fixar M = 2 e variar N de 28 ate 2.

Variar ρ.

Inserir ruıdo de medida e variar ρ. Monitorar y na saıda da planta,antes do ponto de insercao do ruıdo.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 17 / 62

Exemplo 2: Pendulo de haste rıgida

m

l

up

m senyp

m

yp

yp

Entrada: Torque up

Saıda: Angulo ypParametros:

Massa mAceleracao da gravidade γComprimento lCoeficiente de atrito viscoso b

ml2yp = up −mlγsenyp − bl2yp ⇒ yp =upml2− γ

lsenyp −

b

myp

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 18 / 62

yp =upml2− γ

lsenyp −

b

myp

No equilıbrio:

upml2− γ

lsenyp = 0

up = mγlsenyp

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 19 / 62

Obtencao da resposta a degrau g

Plantau up yp

+

+

+

- y

up yp

Sistema inicialmente em repouso em k = 0 com yp = yp e up = up.

u(k) =

{Au, k ≥ 00, k < 0

,

Resposta a degrau para uso no DMC:

g(k) =y(k)

Au=

yp(k)− ypAu

, k > 0

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 20 / 62

Malha de controle

ControladorDMC

Plantau

yref

y

up

up yp

yp

+

+

+

-yp,ref

+

-

yp

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 21 / 62

Arquivos a serem usados

1 dmc.m

2 parametros pendulo.m

3 resposta degrau pendulo.mdl

4 pendulo dmc.mdl

Parametros do pendulo (unidades SI): m = 1, l = 1, γ = 10, b = 2

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 22 / 62

Resposta a degrau

yp = 5π/180

0 5 10 15 20 25 30 35 40 45 500

0.02

0.04

0.06

0.08

0.1

0.12

0.14g(n)

n

yp = 60π/180

0 5 10 15 20 25 30 35 40 45 500

0.05

0.1

0.15

0.2

0.25

0.3

0.35g(n)

n

Perıodo de amostragem: T = 0,1s

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 23 / 62

Realizar simulacoes em malha fechada com N = 10, M = 5, ρ = 1.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 24 / 62

Remocao da constante de polarizacao na saıda da planta eno valor da referencia

ControladorDMC

Plantau

yref

y

up

up yp

yp

+

+

+

-yp,ref

+

-

yp

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 25 / 62

Lei de controle: ∆u(k) = KMPC (r − f)

r =

yrefyref

...yref

=

yp,ref − ypyp,ref − yp

...yp,ref − yp

f =

f (k + 1|k)f (k + 2|k)

...f (k + N|k)

f (k + i |k) =

yp(k)−yp︷︸︸︷y(k) +

Ns∑n=1

[g(n + i)− g(n)]∆u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 26 / 62

Lei de controle: ∆u(k) = KMPC (r − f)

r − f =

yp,ref − ypyp,ref − yp

...yp,ref − yp

yp(k)− yp +∑Ns

n=1 · · ·yp(k)− yp +

∑Nsn=1 · · ·

...

yp(k)− yp +∑Ns

n=1 · · ·

=

yp,refyp,ref

...yp,ref

yp(k) +∑Ns

n=1 · · ·yp(k) +

∑Nsn=1 · · ·

...

yp(k) +∑Ns

n=1 · · ·

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 27 / 62

ControladorDMC

Plantau

yref

yup yp

+

+

+

-yp,ref

+

-

00up

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 28 / 62

Remocao da constante de polarizacao na entrada da planta

ControladorDMC

Plantau

yup yp

+

+

+

-+

--

+

ControladorDMC

Plantau

yref

yup yp

+

+

+

-yp,ref

+

-

00

00

yp,ref yref

up

upup

A ausencia da constante de polarizacao na entrada da planta ecompensada pela acao integral do controlador DMC.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 29 / 62

Uso de resposta a impulso

Referencia: RICHALET, J.; RAULT, A.; TESTUD, J. L.; PAPON, J.Model predictive heuristic control: applications to industrial processes.Automatica, v. 14, p. 413 - 428, 1978.

Principais caracterısticas:

Modelo baseado na resposta a impulso.

Funcao de custo quadratica que penaliza os erros de rastreamentofuturos (sem termos relacionados ao esforco de controle).

Uso de trajetoria de referencia suavizada.

Obs: Pode-se incluir uma correcao de perturbacoes de saıda constantes,como na abordagem DMC.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 30 / 62

Resposta a impulso

h(T)

Plantau h

t

t0 T 2T

h(2T)h(3T)

3T

u(t)

h(t)

Inicialmenteem repouso

1

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 31 / 62

Sistema inicialmente em repouso em t = 0.

u(t) =

{1, 0 ≤ t < T0, t ≥ T

Denotando u(nT ) por u(n), por brevidade de notacao, tem-se que oimpulso considerado e uma sequencia do tipo Delta de Kronecker:

u(n) =

{1, n = 00, n = 1, 2, . . .

A sequencia de saıda {h(n), n = 0, 1, . . .} obtida dessa forma e a respostaa impulso que sera empregada no modelo a tempo discreto.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 32 / 62

Modelo baseado na resposta a impulso

k − 1 k

k − 2

k − 3

k − 1 k

k − 2

k − 3

h(1)

h(2)

h(3)

y(k) = h(1)u(k − 1) + h(2)u(k − 2) + · · · =∑∞

n=1 h(n)u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 33 / 62

y(k) =∞∑n=1

h(n)u(k − n)

Observacoes:

Modelo de convolucao

{h(n), n = 0, 1, . . .} tambem e chamada “sequencia de ponderacao”

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 34 / 62

Obs: Relacao entre as respostas a impulso e a degrau

Supondo dinamica linear e invariante no tempo, tem-se

uimpulso(n) = udegrau(n)− udegrau(n − 1)⇒ h(n) = g(n)− g(n − 1)

h(0) = g(0)− g(−1)

h(1) = g(1)− g(0)

h(2) = g(2)− g(1)...

h(k − 1) = g(k − 1)− g(k − 2)

h(k) = g(k)− g(k − 1)

Sabendo que h(0) = g(0) = g(−1) = 0, conclui-se que

g(k) =k∑

i=1

h(i)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 35 / 62

Obtencao da equacao de predicao

Supoe-se a existencia de uma perturbacao constante d na saıda da planta:

Plantau y

d+

+

y(k) =∞∑n=1

h(n)u(k − n) + d(k)

Pode-se obter uma estimativa para a perturbacao d(k) como sendo

d(k|k) = y(k)−∞∑n=1

h(n)u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 36 / 62

Predicao um passo a frente

y(k) =∞∑n=1

h(n)u(k − n) + d(k)

y(k + 1) =∞∑n=1

h(n)u(k + 1− n) + d(k + 1) =

= h(1)u(k) +∞∑n=2

h(n)u(k + 1− n) + d(k + 1)

Em termos de valores preditos:

y(k + 1|k) = h(1)u(k|k) +∞∑n=2

h(n)u(k + 1− n) + d(k + 1|k)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 37 / 62

Sob a hipotese de perturbacao constante:

d(k + 1|k) = d(k|k) = y(k)−∞∑n=1

h(n)u(k − n)

Logo:

y(k + 1|k) = h(1)u(k|k) +∞∑n=2

h(n)u(k + 1− n) + d(k + 1|k)

= h(1)u(k|k) +∞∑n=2

h(n)u(k + 1− n)

+y(k)−∞∑n=1

h(n)u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 38 / 62

y(k + 1|k) = h(1)u(k|k) +

∑∞n=1 h(n+1)u(k−n)︷ ︸︸ ︷

∞∑n=2

h(n)u(k + 1− n)

+y(k)−∞∑n=1

h(n)u(k − n)

y(k + 1|k) = h(1)u(k|k) + y(k) +∞∑n=1

[h(n + 1)− h(n)]u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 39 / 62

y(k + 1|k) = h(1)u(k|k) + y(k) +∞∑n=1

[h(n + 1)− h(n)]u(k − n)︸ ︷︷ ︸fu(k+1)

Com pequena sobrecarga de nomenclatura, a parcela

fu(k + 1) = y(k) +∞∑n=1

[h(n + 1)− h(n)]u(k − n)

sera denominada “resposta livre” da planta (valor de y(k + 1|k) obtido aose fazer u(k|k) = 0).

y(k + 1|k) = h(1)u(k|k) + fu(k + 1)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 40 / 62

Calculo da resposta livre

fu(k + 1) = y(k) +∞∑n=1

[h(n + 1)− h(n)]u(k − n)

Se a resposta a impulso for tal que

h(n + 1)− h(n)n→∞−→ 0

a somatoria na expressao de fu(k + 1) pode ser truncada em um numeroNs suficientemente grande de termos:

fu(k + 1) ' y(k) +Ns∑n=1

[h(n + 1)− h(n)]u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 41 / 62

Predicao i passos a frente

y(k) =∞∑n=1

h(n)u(k − n) + d(k)

y(k + i) =∞∑n=1

h(n)u(k + i − n) + d(k + i) =

=i∑

n=1

h(n)u(k + i − n) +∞∑

n=i+1

h(n)u(k + i − n) + d(k + i)

Em termos de valores preditos:

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k) +∞∑

n=i+1

h(n)u(k + i − n)

+d(k + i |k)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 42 / 62

Sob a hipotese de perturbacao constante:

d(k + i |k) = d(k|k) = y(k)−∞∑n=1

h(n)u(k − n)

Logo:

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k) +∞∑

n=i+1

h(n)u(k + i − n)

+y(k)−∞∑n=1

h(n)u(k − n)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 43 / 62

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k) +

∑∞n=1 h(n+i)u(k−n)︷ ︸︸ ︷

∞∑n=i+1

h(n)u(k + i − n)

+y(k)−∞∑n=1

h(n)u(k − n)

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k)

+ y(k) +∞∑n=1

[h(n + i)− h(n)]u(k − n)︸ ︷︷ ︸fu(k+i |k)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 44 / 62

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k) + fu(k + i |k)

em que

fu(k + i |k) ' y(k) +Ns∑n=1

[h(n + i)− h(n)]u(k − n)

sendo Ns suficientemente grande para que h(Ns + i) ' h(Ns).

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 45 / 62

Equacao de predicao: Forma matricial

y(k + i |k) =i∑

n=1

h(n)u(k + i − n|k) + fu(k + i |k)

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

...y(k + N|k)

=

h(1) 0 · · · 0h(2) h(1) · · · 0

......

. . ....

h(N) h(N − 1) · · · h(1)

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

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

+

fu(k + 1|k)fu(k + 2|k)

...fu(k + N|k)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 46 / 62

y(N×1)︷ ︸︸ ︷y(k + 1|k)y(k + 2|k)

...y(k + N|k)

=

H(N×N)︷ ︸︸ ︷h(1) 0 · · · 0h(2) h(1) · · · 0

......

. . ....

h(N) h(N − 1) · · · h(1)

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

u(k + 1|k)...

u(k + N − 1|k)

+

fu(k + 1|k)fu(k + 2|k)

...fu(k + N|k)

︸ ︷︷ ︸

fu(N×1)

=⇒ y = Hu + fu

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 47 / 62

Equacao de predicao: Caso M < N

Se o horizonte de controle M for menor que o horizonte de predicao N,deve-se impor u(k + i − 1|k) = u(k + M − 1|k), M + 1 ≤ i ≤ N.

Logo: y =

h(1) 0 · · · 0 0 · · · 0h(2) h(1) · · · 0 0 · · · 0

......

......

......

...h(M) h(M − 1) · · · h(1) 0 · · · 0

......

......

......

...h(N − 1) h(N − 2) · · · h(N −M) h(N −M − 1) · · · 0h(N) h(N − 1) · · · h(N −M + 1) h(N −M) · · · h(1)

× [u(k|k) u(k + 1|k) · · · u(k + M − 1|k) |

| u(k + M − 1|k) · · · u(k + M − 1|k)]T + fu

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 48 / 62

y =

H(N×M)︷ ︸︸ ︷

h(1) 0 · · · 0h(2) h(1) · · · 0

......

......

h(M) h(M − 1) · · · h(1)...

......

...h(N − 1) h(N − 2) · · · h(N −M) + h(N −M − 1) + · · ·+ h(1)h(N) h(N − 1) · · · h(N −M + 1) + h(N −M) + · · ·+ h(1)

×

u(M×1)︷ ︸︸ ︷[u(k|k) u(k + 1|k) · · · u(k + M − 1|k)]T +fu

=⇒ y = Hu + fu

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 49 / 62

Problema de otimizacao a ser resolvido

miny∈RN ,u∈RM

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

[y(k + i |k)− r(k + i |k)]2

s.a.y = Hu + fu

Vale salientar que u nao aparece na expressao do custo, mas faz parte doproblema de otimizacao devido ao vınculo entre y e u.

Observacoes:

1 O esforco de controle nao e penalizado na funcao de custo.

2 A sequencia r(k + i |k), i = 1,2, . . . ,N, e uma trajetoria dereferencia entre y(k) e a referencia yref .

3 A lei de controle e ajustada por meio da suavizacao da trajetoria dereferencia.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 50 / 62

Por que nao penalizar o esforco de controle na funcao decusto ?

Suponha que a funcao de custo fosse da forma

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

[y(k + i |k)− yref ]2 + ρ

M∑i=1

[u(k + i − 1|k)]2, ρ > 0

Se a planta for de tipo 0, o valor de regime para o controle seradiferente de zero (para referencia nao nula).

Desse modo, em regime estacionario, o mınimo da funcao custoenvolvera um compromisso entre as normas do controle e do erro desaıda. Com isso, o erro de regime sera nao nulo.

Na abordagem DMC, esse problema e contornado penalizando-se osincrementos de controle ∆u, ao inves dos valores de controle u.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 51 / 62

Suavizacao da referencia

Como o esforco de controle nao e penalizado na funcao de custo, asolucao pode envolver controles de magnitude excessivamente elevada.

Para contornar esse problema, emprega-se uma trajetoria de referenciasuavizada:

r k k

r k k

k

yref

r k|k y k

k+ k+

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 52 / 62

r k k

r k k

k

yref

r k|k y k

k+ k+

{r(k|k) = y(k)

r(k + i |k) = (1− α)r(k + i − 1|k) + αyref , i = 1,2, . . . ,N

O parametro α ∈ (0,1) determina a suavidade da transicao entre o valoratual da saıda y(k) e a referencia yref .

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 53 / 62

k

yref

y k

k+ k+

r1

r2

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 54 / 62

Solucao do problema de otimizacao

Problema:min

y∈RN ,u∈RMJ(y, u) = (y − r)T (y − r) (1)

s.a.y = Hu + fu (2)

Substituindo a expressao de y em (2) na funcao de custo (1), tem-se

J = (Hu + fu − r)T (Hu + fu − r)

= uTHTHu + 2(fu − r)THu + (fu − r)T (fu − r)

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 55 / 62

J(u) = uTHTHu + 2(fu − r)THu + (fu − r)T (fu − r)

Trata-se de uma funcao quadratica em u. Assim, como visto na aulapassada,

u∗ = (HTH)−1HT (r − fu)

desde que HTH seja positivo-definida.

Atencao particular deve ser tomada no caso de plantas com atraso detransporte (atraso puro, “tempo morto”).

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 56 / 62

Atraso de transporte: Analise da matriz HTH

H =

h(1) 0 · · · 0h(2) h(1) · · · 0

......

......

h(M) h(M − 1) · · · h(1)...

......

...h(N − 1) h(N − 2) · · · h(N −M) + h(N −M − 1) + · · ·+ h(1)h(N) h(N − 1) · · · h(N −M + 1) + h(N −M) + · · ·+ h(1)

Inicialmente, deve-se notar que:

H ∈ RN×M e HTH ∈ RM×M .

HTH ≥ 0, pois xTHTHx ≥ 0, ∀x ∈ RM

Portanto, se o posto de HTH for igual a M, garante-se que HTH epositivo-definida.

(Posto = No. linhas LI = No. colunas LI)EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 57 / 62

Pode-se mostrar que o posto de HTH e igual ao posto de H.

Com efeito, dado x ∈ RM , tem-se

HTHx = 0M ⇒ xTHTHx = 0⇒ ||Hx || = 0⇒ Hx = 0N

em que 0M e 0N denotam vetores de zeros com dimensoes M × 1 e N × 1,respectivamente. Por outro lado,

Hx = 0N ⇒ HTHx = 0M

Logo, tem-se que HTHx = 0M ⇔ Hx = 0N , o que mostra que os espacosnulos de HTH e H sao iguais. Como o posto de uma matriz e igual aonumero de colunas menos a dimensao do espaco nulo, conclui-se que HTHe H tem o mesmo posto.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 58 / 62

H =

h(1) 0 · · · 0h(2) h(1) · · · 0

......

......

h(M) h(M − 1) · · · h(1)...

......

...h(N − 1) h(N − 2) · · · h(N −M) + h(N −M − 1) + · · ·+ h(1)h(N) h(N − 1) · · · h(N −M + 1) + h(N −M) + · · ·+ h(1)

Deseja-se que o posto de H seja igual a M.

No caso de planta com atraso de transporte de d perıodos deamostragem, tem-se h(1) = h(2) = · · · = h(d) = 0. Logo, as dprimeiras linhas de H serao nulas.

Para que o posto seja M, deve-se ter no mınimo M + d linhas.

Portanto, e necessario tomar N ≥ M + d .

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 59 / 62

E necessario tomar N ≥ M + d .

Interpretacao: Na presenca de atraso, o efeito do controleu(k + M − 1|k) somente se manifestara na sequencia de valorespreditos da saıda a partir do termo y(k + M + d |k). Se N < M + d ,o efeito desse controle nao sera levado em conta na funcao de custo.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 60 / 62

Resumo da aula de hoje

DMC: 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 DMC.

Uso de resposta a impulso

Vale salientar que as abordagens vistas ate agora requerem convergenciada resposta a degrau ou resposta a impulso em malha aberta.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 61 / 62

Topico da proxima aula

Uso de funcoes de transferencia.

EE-254 (Controle Preditivo) Aula 3 13 Ago 2018 62 / 62