EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as...

33
EES-20: Sistemas de Controle II 04 Setembro 2017 - Parte 2 1 / 33

Transcript of EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as...

Page 1: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

EES-20: Sistemas de Controle II

04 Setembro 2017 - Parte 2

1 / 33

Page 2: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Topicos vistos ate agora

Linearizacao de modelos nao lineares

Relacao entre modelo no espaco de estados e funcao de transferencia(“Problema de realizacao”)

Solucao da equacao de estado

Analise de estabilidade

Projeto de controladores empregando realimentacao de estado:(1) Alocacao de polos e (2) controle otimo (“ReguladorLinear-Quadratico”)

2 / 33

Page 3: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Topicos vistos ate agora

Linearizacao de modelos nao lineares

Relacao entre modelo no espaco de estados e funcao de transferencia(“Problema de realizacao”)

Solucao da equacao de estado

Analise de estabilidade

Projeto de controladores empregando realimentacao de estado:(1) Alocacao de polos e (2) controle otimo (“ReguladorLinear-Quadratico”)

Projeto de observador de estados

3 / 33

Page 4: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Realimentacao de estado

Lei de controle: u(t) = −Kx(t) + Fr(t)

r t u t y t

x t

F

K

O que fazer se o estado x(t) nao for medido ?

Ideia: Usar um estimador de estado.

4 / 33

Page 5: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como estimar o estado ?

Modelo da planta (equacao de estado):

x(t) = Ax(t) + Bu(t)

Proposta 1: Supondo que a entrada u(t) seja conhecida a cada instantede tempo t, pode-se gerar uma estimativa x(t) do estado como solucao daseguinte equacao diferencial:

˙x(t) = Ax(t) + Bu(t)

Empecilho: A condicao inicial x(0) precisa ser arbitrada, uma vez que oestado inicial x(0) nao e medido. Desse modo, se x(0) 6= x(0), havera umerro de estimacao x(t) = x(t)− x(t) nao nulo para t ≥ 0.

5 / 33

Page 6: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Erro de estimacao do estado

Modelo da planta:x(t) = Ax(t) + Bu(t)

Estimador (Proposta 1):

˙x(t) = Ax(t) + Bu(t)

Erro de estimacao do estado:

x(t) = x(t)− x(t)

Com base nas expressoes acima, pode-se escrever a seguinte equacao paradescrever a evolucao temporal do erro de estimacao:

˙x(t) = x(t)− ˙x(t) = Ax(t) +���Bu(t)−[Ax(t) +���Bu(t)

]= A

x(t)︷ ︸︸ ︷[x(t)− x(t)

]ou seja, ˙x(t) = Ax(t).

6 / 33

Page 7: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Erro de estimacao do estado

˙x(t) = Ax(t)

Erro inicial: x(0) = x(0)− x(0)

Se a matriz A nao for Hurwitz (isto e, se a dinamica da planta nao forassintoticamente estavel em malha aberta), o erro x(t) nao convergirapara zero.

7 / 33

Page 8: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Exemplo: Sistema disco-mola

y t = 2 t1 t

u t = t

J1 J2

ks

1 2

J1ω1 = −ks(θ1 − θ2) + u

J2ω2 = ks(θ1 − θ2)

y = θ2

8 / 33

Page 9: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

r t u t y tF

Kx t

9 / 33

Page 10: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Estimador de estado

To Workspace

xhat

To Workspace

y

Step

State-Spacecom C = I e D = 0

x' = Ax+Bu y = Cx+Du

Planta

u y

K* u

F

10 / 33

Page 11: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Diagrama de blocos para simulacao da planta:

x3

x4

Condição inicial x1_0

y1

Integrator

1s

Integrator

1s

Integrator

1s

Integrator

1s

ks/J2

1/J1

ks/J2

ks/J1

ks/J1

u1

x1

x2

11 / 33

Page 12: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Projeto por alocacao de polos: Polos complexo-conjugados com ξ = 0.8,ωn = 5 e polo duplo em −20.

>> A = [0 0 1 0; 0 0 0 1; -4 4 0 0; 5 -5 0 0];

>> B = [0;0;2;0];

>> C = [0 1 0 0];

>> csi = 0.8; wn = 5;

>> pdom = roots([1 2*csi*wn wn^2])

>> p = [pdom;-20;-20];

>> K = acker(A,B,p)

>> F = -1/(C*inv(A-B*K)*B)

12 / 33

Page 13: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Resultado com x1(0) = 0

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

)

13 / 33

Page 14: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Resultado com x1(0) = 0.1 rad

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

)

14 / 33

Page 15: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Resultado com x1(0) = 0.1 rad

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

)

15 / 33

Page 16: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Diagnostico

To Workspace

xhat

To Workspace

y

Step

Planta

u y

Estimador de estado

u xhat

K* u

F

x3

x4

Condição inicial x1_0

y1

To Workspace

x

Integrator

1s

Integrator

1s

Integrator

1s

Integrator

1s

ks/J2

1/J1

ks/J2

ks/J1

ks/J1

u1

x1

x2

16 / 33

Page 17: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Diagnostico

0 2 4 6 8 100

0.2

0.4

0.6

0.8

1

t (s)

rad

x2

x2

17 / 33

Page 18: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como forcar o erro de estimacao a convergir para zero ?

Proposta 2: Suponha que a saıda y(t) = Cx(t) seja medida.

Pode-se entao introduzir um termo de correcao na estimativa do estado:

˙x(t) = Ax(t) + Bu(t) + L[y(t)− y(t)

]sendo

y(t) = Cx(t)

e L ∈ Rn×1 uma matriz a ser escolhida pelo projetista.

Obs: Considera-se aqui o caso de saıda unica, isto e, com y(t) ∈ R. No caso demultiplas saıdas, com y(t) ∈ Rq, a matriz L teria dimensoes n × q.

18 / 33

Page 19: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como forcar o erro de estimacao a convergir para zero ?

• Modelo da planta: x(t) = Ax(t) + Bu(t), y(t) = Cx(t)

• Estimador: ˙x(t) = Ax(t) + Bu(t) + L[y(t)− y(t)

], y(t) = Cx(t)

• Erro de estimacao do estado: x(t) = x(t)− x(t)

Com base nas expressoes acima, pode-se escrever:

˙x(t) = x(t)− ˙x(t) = Ax(t) + ���Bu(t) −{Ax(t) + ���Bu(t) + L

[y(t)− y(t)

]}= A

[x(t)− x(t)

]−L[y(t)− y(t)

]= A

[x(t)− x(t)

]−LC

[x(t)− x(t)

]= (A− LC )

[x(t)− x(t)

]︸ ︷︷ ︸x(t)

= (A− LC )x(t)

19 / 33

Page 20: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como forcar o erro de estimacao a convergir para zero ?

˙x(t) = (A− LC )x(t)

Se L for escolhida de modo que (A− LC ) seja Hurwitz, ter-se-a

x(t)t→∞−→ 0

a partir de qualquer condicao inicial.

O estimador assim projetado e conhecido como Observador deLuenberger ou, simplesmente, Observador de Estado.

20 / 33

Page 21: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Projeto do observador por alocacao de polos

Projeto por alocacao de polos: Determina-se a matriz L ∈ Rn×1 demodo a alocar os autovalores de (A− LC ) em posicoes convenientes doplano complexo (a esquerda do eixo imaginario).

Pergunta 1: Como escolher as posicoes para os autovalores de (A− LC ) ?

Pergunta 2: Tendo-se escolhido posicoes para os autovalores de (A− LC ),e sempre possıvel obter L de modo a realizar a alocacao desejada ?

21 / 33

Page 22: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como escolher as posicoes para os autovalores de (A− LC ) ?

• Modelo da planta: x = Ax + Bu, y = Cx

• Estimador: ˙x = Ax + Bu + L(y − y), y = Cx

• Lei de controle com realimentacao do estado estimado: u = −Kx + Fr

Vamos obter uma equacao de estado para descrever a dinamica de malhafechada.

22 / 33

Page 23: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como escolher as posicoes para os autovalores de (A− LC ) ?

x = Ax + Bu (1)

u = −Kx + Fr (2)

De (1) e (2), tem-se

x = Ax − BKx + BFr (3)

Sabemos ainda que

˙x = (A− LC )x

em que x = x − x . Substituindo x = x − x em (3), obtem-se

x = Ax − BK (x − x) + BFr = (A− BK )x + BKx + BFr

23 / 33

Page 24: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como escolher as posicoes para os autovalores de (A− LC ) ?

x = (A− BK )x + BKx + BFr

˙x = (A− LC )x

Essas duas equacoes podem ser reunidas na seguinte forma:

[x˙x

]=

[(A− BK ) BK

0n×n (A− LC )

] [xx

]+

[BF

0n×1

]r

24 / 33

Page 25: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Como escolher as posicoes para os autovalores de (A− LC ) ?

[x˙x

]=

[(A− BK ) BK

0n×n (A− LC )

] [xx

]+

[BF

0n×1

]r

Conclui-se, portanto, que os autovalores de malha fechada correspondem auniao dos autovalores de (A− BK ) e (A− LC ).

Desse modo, se os autovalores de (A− BK ) tiverem sido alocados comvistas a obtencao de um modo dominante em malha fechada, convem queos autovalores de (A− LC ) estejam afastados para a esquerda, em relacaoao(s) polo(s)∗ desse modo dominante.

*Polo real, em se tratando de modo de 1a ordem, ou par de poloscomplexo-conjugados no caso de modo de 2a ordem.

25 / 33

Page 26: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Princıpio da Separacao

[x˙x

]=

[(A− BK ) BK

0n×n (A− LC )

] [xx

]+

[BF

0n×1

]r

E interessante observar que as matrizes de ganho K e L podem serajustadas independentemente.

Em outras palavras, o projeto da realimentacao de estado e do observadorde estados podem ser realizados separadamente.

→ Princıpio da Separacao.

26 / 33

Page 27: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Matlab: Alocacao dos autovalores de (A− LC )

Vale notar que as matrizes (A− LC ) e (A− LC )T tem os mesmosautovalores.

Desse modo, pode-se considerar o problema de alocacao dos autovaloresde (AT − CTLT ).

Esse problema e algebricamente identico ao de alocacao dos autovalores de(A− BK ). Basta fazer as seguintes substituicoes:

A← AT , B ← CT , K ← LT

Desse modo, podem-se usar as funcoes acker ou place do Matlab, comAT e CT em lugar de A e B. O resultado deve ser transposto paraobtencao da matriz L desejada.

27 / 33

Page 28: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Retornando ao exemplo do sistema disco-mola

>> A = [0 0 1 0; 0 0 0 1; -4 4 0 0; 5 -5 0 0];

>> B = [0;0;2;0]; C = [0 1 0 0];

>> csi = 0.8; wn = 5;

>> pdom = roots([1 2*csi*wn wn^2])

>> p = [pdom;-20;-20];

>> K = acker(A,B,p)

>> F = -1/(C*inv(A-B*K)*B)

>> pobs = [-20;-20;-20;-20];

>> L = acker(A’,C’,pobs)’

L =

1.0e+04 *

0.6336

0.0080

3.0087

0.2391

28 / 33

Page 29: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com observador de estado

Observador de estado

To Workspace

xhat

To Workspace

y

Step

State-Spacecom C = I e D = 0

x' = Ax+Bu y = Cx+Du

Planta

u y

C* u

K* u

F

29 / 33

Page 30: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com observador de estado

30 / 33

Page 31: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Resultado com x1(0) = 0.1 rad

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

)

31 / 33

Page 32: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Sistema de controle com realimentacao do estado estimado

Resultado com x1(0) = 0.1 rad

0 0.5 1 1.5 2 2.5−0.04

−0.02

0

0.02

0.04

0.06

0.08

0.1

t (s)

rad

x1 − x1

32 / 33

Page 33: EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as posic~oes para os autovalores de (A LC) ? x_ ~x_ = (A BK) BK 0 n n (A LC) x x~ + BF 0

Proxima aula

Pergunta 2: Tendo-se escolhido posicoes para os autovalores de(A− LC ), e sempre possıvel obter L de modo a realizar a alocacaodesejada ?

Observabilidade

Relacao entre controlabilidade, observabilidade e funcao detransferencia

33 / 33