ees-20: sistemas de controle iikawakami/ees20/aula7_rev1_handouts.pdf · quaisquer posicoes1 do...

52
EES-20: Sistemas de Controle II 21 Agosto 2017 1 / 52

Upload: trinhtuong

Post on 07-Feb-2019

212 views

Category:

Documents


0 download

TRANSCRIPT

EES-20: Sistemas de Controle II

21 Agosto 2017

1 / 52

Recapitulando: Realimentacao de estado

r tu t y t

x t

Modelo da planta:x = Ax + Bu

y = Cx

Lei de controle: u = −Kx + Fr

Representacao para o sistema em malha fechada:

x = (A− BK )x + BFr

y = Cx2 / 52

Recapitulando: Realimentacao de estado

Representacao para o sistema em malha fechada:

x = (A− BK )x + BFr

y = Cx

Funcao de transferencia:

T (s) =Y (s)

R(s)= C

(sI − (A− BK )

)−1BF

3 / 52

Recapitulando: Alocacao de polos

Dados:

Modelo da planta (malha aberta):

x = Ax + Bu

y = Cx

Posicoes desejadas para os polos de malha fechada ou,equivalentemente, polinomio caracterıstico desejado ∆des(λ)

Deseja-se obter uma lei de controle da forma

u = −Kx + Fr

que aloque os polos nas posicoes desejadas e conduza a saıda y ate areferencia r , sem erro em regime permanente estacionario.

4 / 52

Recapitulando: Alocacao de polos

Procedimento:

Obter K fazendo

det(λI − (A− BK )

)= ∆des(λ)

Tomar F de modo que T (0) =

[C(sI − (A− BK )

)−1BF

]s=0

= 1,

isto e:

F = −[C (A− BK )−1B

]−1

(desde que o ganho DC da planta seja nao nulo).

5 / 52

Recapitulando: Controlabilidade

Seja A ∈ Rn×n e B ∈ Rn×1. Se a matriz de controlabilidade Pc ∈ Rn×n

dada porPc =

[B AB A2B · · · An−1B

]for inversıvel, entao os autovalores de (A− BK ) podem ser alocados emquaisquer posicoes1 do plano complexo por meio do ajuste da matriz deganho K ∈ R1×n.

De forma resumida, diz-se que o par (A,B) e controlavel.

1Considerando que, fora do eixo real, os autovalores formem parescomplexo-conjugados.

6 / 52

Recapitulando: Conversao para forma canonica controlavel

Se Pc for inversıvel, pode-se calcular

P−1c =

•...•r

e converter (A,B) para forma canonica controlavel empregando a seguintematriz de transformacao de similaridade:

P =

rrA...

rAn−1

7 / 52

Conversao para forma canonica controlavel: Exemplo

Consideremos o modelo de motor eletrico com os parametros empregadosna aula passada:

A =

[−2 2

−8 −3

], B =

[0

2

]

Considerando o seguinte polinomio caracterıstico desejado para a dinamicade malha fechada:

∆des(λ) = λ2 + 14λ+ 100

chegou-se a seguinte matriz de ganhos:

K =[

15 4,5]

8 / 52

Conversao para forma canonica controlavel: Exemplo

A =

[−2 2

−8 −3

], B =

[0

2

]

Pc =[B AB

]=

[0 4

2 −6

]

Matriz Pc inversıvel → Par (A,B) controlavel.

P−1c = −1

8

[−6 −4

−2 0

]=

[3/4 1/2

1/4 0

]

Tem-se r =[

1/4 0]. Portanto:

P =

[r

rA

]=

[1/4 0

−1/2 1/2

]e P−1 =

[4 0

4 2

]9 / 52

Conversao para forma canonica controlavel: Exemplo

A =

[−2 2

−8 −3

], B =

[0

2

], P =

[1/4 0

−1/2 1/2

], P−1 =

[4 0

4 2

]

Transformacao de similaridade: w = Px , w = Aw + Bu, com

A = PAP−1 =

[1/4 0

−1/2 1/2

][−2 2

−8 −3

][4 0

4 2

]

=

[1/4 0

−1/2 1/2

][0 4

−44 −6

]=

[0 1

−22 −5

]

B = PB =

[1/4 0

−1/2 1/2

][0

2

]=

[0

1

]10 / 52

Conversao para forma canonica controlavel: Exemplo

A =

[0 1

−22 −5

], B =

[0

1

]

A− BK =

[0 1

−22 −5

]−

[0

1

] [k1 k2

]=

[0 1

−22− k1 −5− k2

]

Polinomio caracterıstico desejado:

∆des(λ) = λ2 + 14λ+ 100

Basta tomar k1 = 78 e k2 = 9, ou seja:

K =[

78 9]

11 / 52

Conversao para forma canonica controlavel: Exemplo

Lei de controle: u = −K w︸︷︷︸Px

= − KP︸︷︷︸K

x . Portanto:

K = KP =[

78 9] [ 1/4 0

−1/2 1/2

]=[

15 4,5]

(Resultado igual ao obtido na aula passada)

Seria possıvel resumir essa sequencia de operacoes em uma formula paracalculo de K ?

12 / 52

Formula de Ackermann

Seja ∆(λ) = det(λI − A) = λn + a1λn−1 + · · ·+ an−1λ+ an o polinomio

caracterıstico em malha aberta.

Supondo Pc inversıvel, pode-se converter (A,B) para a forma canonicacontrolavel:

A =

0 1 · · · 0 0

0 0. . . 0 0

......

.... . .

...0 0 · · · 0 1−an −an−1 · · · −a2 −a1

, B =

00...01

13 / 52

Formula de Ackermann

A alocacao de polos pode entao ser realizada considerando a seguintematriz:

A− BK =

0 1 · · · 0 0

0 0. . . 0 0

......

.... . .

...0 0 · · · 0 1

−an − k1 −an−1 − k2 · · · −a2 − kn−1 −a1 − kn

Assim, dado ∆des(λ) = λn + α1λ

n−1 + · · ·+ αn−1λ+ αn, deve-se fazer:

k1 = αn − an

k2 = αn−1 − an−1

...

kn−1 = α2 − a2

kn = α1 − a114 / 52

Formula de Ackermann

Portanto,

K =[

(αn − an) (αn−1 − an−1) · · · (α2 − a2) (α1 − a1)]

Deve-se ainda calcular K = KP, com

P =

rrA...

rAn−1

sendo r a ultima linha de P−1

c . Fazendo isso, tem-se

K = (αn − an)r + (αn−1 − an−1)rA + · · ·+ (α1 − a1)rAn−1

15 / 52

Formula de Ackermann

K = (αn − an)r + (αn−1 − an−1)rA + · · ·+ (α1 − a1)rAn−1

ou ainda:

K = r[α1A

n−1 + · · ·αn−1A + αnI − (a1An−1 + · · ·+ an−1A + anI )

]

Pelo chamado Teorema de Cayley-Hamilton2, sabe-se que qualquer matrizquadrada A satisfaz sua propria equacao caracterıstica, isto e:

An + a1An−1 + · · ·+ an−1A + anI = 0

2Vide Geromel e Korogui (2011), pagina 173.16 / 52

Formula de Ackermann

K = r[α1A

n−1 + · · ·αn−1A + αnI − (a1An−1 + · · ·+ an−1A + anI )

](1)

An = −(a1An−1 + · · ·+ an−1A + anI ) (2)

De (1) e (2), chega-se a Formula de Ackermann:

K = r(An + α1An−1 + · · ·αn−1A + αnI )

17 / 52

Formula de Ackermann: Resumo

Supondo Pc inversıvel, pode-se calcular K pela seguinte formula:

K =[

0 · · · 0 1]P−1c ∆des(A)

sendo ∆des(A) calculado ao substituir λ por A no polinomio caracterısticodesejado em malha fechada:

∆des(λ) = λn + α1λn−1 + · · ·αn−1λ+ αn

18 / 52

Alocacao de polos no Matlab

• Formula de Ackermann implementada na funcao acker

• Metodo numericamente mais confiavel implementado na funcao place

(desvantagem: nao aloca multiplos polos na mesma posicao)

19 / 52

Alocacao de polos no Matlab

>> A = [-2 2;-8 -3]; B = [0;2];

>> p = roots([1 14 100]);

>> acker(A,B,p)

ans =

15.0000 4.5000

>> place(A,B,p)

ans =

15.0000 4.5000

20 / 52

Interpretacao alternativa para a propriedade decontrolabilidade

(Conforme Geromel e Korogui (2001), paginas 181 e 182)

21 / 52

Controlabilidade: Interpretacao alternativa

A solucao da equacao de estado x = Ax + Bu, com condicao inicial x(0) eum dado sinal de controle u(t), t ∈ [0, tf ] e dada por

x(tf ) = eAtf x(0) +

∫ tf

0eA(tf −t)Bu(t)dt

Problema inverso: Seria possıvel determinar u(t), t ∈ [0, tf ] de modo aatingir um dado estado x(tf ) ?

22 / 52

Controlabilidade: Interpretacao alternativa

x(tf ) = eAtf x(0) +

∫ tf

0eA(tf −t)Bu(t)dt (3)

Seja o “Gramiano de Controlabilidade”Wc ∈ Rn×n definido como

Wc =

∫ tf

0eAtBBT eA

T tdt

Se Wc for inversıvel, entao o sinal de controle dado por

u(t) = BT eAT (tf −t)W−1

c [x(tf )− eAtf x(0)] (4)

satisfaz (3).

23 / 52

x(tf ) = eAtf x(0) +

∫ tf

0eA(tf −t)Bu(t)dt (3)

u(t) = BT eAT (tf −t)W−1

c [x(tf )− eAtf x(0)] (4)

Com efeito, substituindo a expressao (4) no lado esquerdo de (3), tem-se

eAtf x(0) +∫ tf0 eA(tf −t)BBT eA

T (tf −t)W−1c [x(tf )− eAtf x(0)]dt

= eAtf x(0) +(∫ tf

0 eA(tf −t)BBT eAT (tf −t)dt

)W−1

c [x(tf )− eAtf x(0)]

ou, fazendo ν = tf − t:

eAtf x(0) +

(∫ tf

0eAνBBT eA

T νdν

)︸ ︷︷ ︸

Wc

W−1c [x(tf )− eAtf x(0)]

= �����eAtf x(0) + x(tf )−�����

eAtf x(0) = x(tf )

24 / 52

Controlabilidade: Interpretacao alternativa

Qual a relacao com a propriedade de controlabilidade ?

→ Se o par (A,B) for controlavel, pode-se mostrar que Wc e positivodefinida e, portanto, inversıvel.

25 / 52

Inversibilidade de Wc

Wc =

∫ tf

0eAtBBT eA

T tdt

Inicialmente, deve-se notar que

W Tc =

(∫ tf

0eAtBBT eA

T tdt

)T

=

∫ tf

0

(eAtBBT eA

T t)T

dt

=

∫ tf

0eAtBBT eA

T tdt = Wc

e, portanto, Wc e simetrica.

Considerando agora um dado vetor coluna v ∈ Rn, tem-se

vTWcv =

∫ tf

0vT eAtB︸ ︷︷ ︸

zT (t)

BT eAT tv︸ ︷︷ ︸

z(t)

dt =

∫ tf

0z2(t)dt ≥ 0, ∀tf > 0

em que z(t) = BT eAT tv e escalar.

26 / 52

Inversibilidade de Wc

vTWcv =

∫ tf

0vT eAtB︸ ︷︷ ︸

zT (t)

BT eAT tv︸ ︷︷ ︸

z(t)

dt =

∫ tf

0z2(t)dt ≥ 0, ∀tf > 0

Uma vez que z(t) e funcao contınua do tempo, a integral∫ tf0 z2(t)dt

somente sera nula se z(t) = 0, ∀t ∈ [0, tf ].

Se for esse o caso, entao z(0) = z(0) = · · · = z(n−1)(0) = 0, isto e,z(t)z(t)· · ·

z(n−1)(t)

t=0

=

BT eA

T tv

BTAT eAT tv

· · ·BT (AT )n−1eA

T tv

t=0

=

BT

BTAT

· · ·BT (AT )n−1

︸ ︷︷ ︸

PTc

v =

00...0

ou seja, PT

c v = 0.

27 / 52

Inversibilidade de Wc

PTc v = 0

Se (A,B) for controlavel, entao Pc sera inversıvel e a equacao PTc v = 0 so

admitira a solucao v = 0.

Nesse caso, tem-se vTWcv = 0⇒ v = 0 e, portanto,

vTWcv 6= 0, ∀v 6= 0

Havendo-se ja provado que vTWcv ≥ 0, ∀v ∈ Rn, conclui-se que

vTWcv > 0, ∀v 6= 0

ou seja, Wc e positivo definida.

28 / 52

Controlabilidade: Interpretacao alternativa

Conclusao: Se o par (A,B) for controlavel, pode-se transferir o estado dequalquer ponto inicial x(0) ∈ Rn para qualquer ponto final x(tf ) ∈ Rn pormeio da aplicacao de um sinal de controle (finito) u(t), t ∈ [0, tf ].

29 / 52

Acao de controle integral

30 / 52

Controle com realimentacao de estado

R L

u t = v t g t

i t

m t

y t = t

J, b

r tu t y t = t

x tt

i t

31 / 52

Controle com realimentacao de estado

r tu t y t

x t

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

r t u t y t

x t

F

K

32 / 52

Controle com realimentacao de estado: Simulink

R L

u t = v t g t

i t

m t

y t = t

J, b

Variaveis de estado: x1 = ω, x2 = i

[x1

x2

]=

−b

J

Km

J

−Kg

L−R

L

[

x1

x2

]+

0

1

L

u

y =[

1 0] [ x1

x2

]33 / 52

Simulink: Planta

[x1

x2

]=

−b

J

Km

J

−Kg

L−R

L

[

x1

x2

]+

0

1

L

u, y =[

1 0] [ x1

x2

]

x

2

y

1

Integrator

1s

Integrator

1s

Gain

Kg/L

Gain

Km/J

Gain

R/L

Gain

1/L

Gain

b/J

Add Add

u

1

dx1/dt x1x2dx2/dt

34 / 52

Simulink: Malha de controle

x

2

y

1

Integrator

1s

Integrator

1s

Gain

Kg/L

Gain

Km/J

Gain

R/L

Gain

1/L

Gain

b/J

Add Add

u

1

dx1/dt x1x2dx2/dt

To Workspace

y

Step

Motor

u

y

x

Gain

K* u

Gain

F

Add

35 / 52

Simulacao

Kg = 4;

R = 1.5;

L = 0.5;

Km = 4;

J = 2;

b = 4;

K = [15 4.5];

F = 25;

sim(’SimulacaoMotorMF’)

36 / 52

Resultado

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

t (s)

y (

rad/s

)

37 / 52

Calculo de sobressinal e tempo de subida

>> A = [-2 2;-8 -3]; B = [0;2]; K = [15 4.5];

>> damp(A-B*K)

Eigenvalue Damping Frequency

-7.00e+00 + 7.14e+00i 7.00e-01 1.00e+01

-7.00e+00 - 7.14e+00i 7.00e-01 1.00e+01

>> csi = 0.7; wn = 10;

>> beta = acos(csi); wd = wn*sqrt(1-csi^2)

>> exp(-pi*csi/sqrt(1-csi^2))

ans =

0.0460

>> (pi-beta)/wd

ans =

0.3285

38 / 52

Verificacao do resultado

0.3 0.35 0.4 0.45 0.50.95

1

1.05

t (s)

y (

rad/s

)

39 / 52

Exemplo: Descasamento de modelo

R L

u t = v t g t

i t

m t

y t = t

J, b

E se houver descasamento entre o modelo adotado no projeto e a realdinamica do sistema ?

Por exemplo, vamos supor que o coeficiente de atrito b na realidade sejamaior do que o valor assumido no projeto.

40 / 52

Verificacao (Matlab)

Kg = 4;

R = 1.5;

L = 0.5;

Km = 4;

J = 2;

b = 8;

K = [15 4.5];

F = 25;

sim(’SimulacaoMotorMF’)

41 / 52

Exemplo

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

/s)

Erro de regime !

42 / 52

Introducao de integrador na malha de controle

r t u t y t

x t

Ki

K

dt)(e t z t

• Como determinar Ki ?

• E necessario reajustar K ?

43 / 52

Introducao de integrador na malha de controle

r t u t y t

x t

Ki

K

dt)(e t z t

Equacoes a serem consideradas:

x = Ax + Bu

y = Cx

e = r − y

z = e

u = −Kx − Kiz

44 / 52

Introducao de integrador na malha de controle

x = Ax + Bu

y = Cx

e = r − y

z = e

u = −Kx − Kiz

Ideia: Definir um vetor de “estado aumentado”xa ∈ Rn+1 como

xa =

[xz

]Com isso, pode-se escrever

xa =

[xz

]=

[Ax + Bur − y

]=

[Ax−Cx

]+

[Bu0

]+

[0n×1

r

]45 / 52

Introducao de integrador na malha de controle

xa =

[xz

]=

[Ax−Cx

]+

[Bu0

]+

[0n×1

r

]

=

[A 0n×1

−C 0

]︸ ︷︷ ︸

Aa

[xz

]︸ ︷︷ ︸

xa

+

[B0

]︸ ︷︷ ︸

Ba

u +

[0n×1

1

]︸ ︷︷ ︸

Ea

r

Por outro lado, a lei de controle pode ser escrita como

u = −Kx − Kiz = −[K Ki

]︸ ︷︷ ︸Ka

[xz

]︸ ︷︷ ︸

xa

Em malha fechada, tem-se

xa = Aaxa + Ba(−Kaxa) + Ear = (Aa − BaKa)xa + Ear

46 / 52

Introducao de integrador na malha de controle

xa = (Aa − BaKa)xa + Ear

Aa =

[A 0n×1

−C 0

], Ba =

[B0

], Ea =

[0n×1

1

]A equacao de saıda torna-se

y = Cx =[C 0

]︸ ︷︷ ︸Ca

[xz

]︸ ︷︷ ︸

xa

Desse modo, tem-se a seguinte funcao de transferencia em malha fechada:

T (s) = Ca

[sI − (Aa − BaKa)

]−1Ea

Pode-se determinar Ka por alocacao dos polos de malha fechada,empregando o par (Aa,Ba).

47 / 52

Introducao de integrador na malha de controle

Retornando ao exemplo do motor eletrico:

>> A = [-2 2;-8 -3]; B = [0;2]; C = [1 0];

>> Aa = [A zeros(2,1);-C 0];

>> Ba = [B;0];

>> p = roots([1 14 100]);

>> pa = [p;-35];

>> Ka = place(Aa,Ba,pa)

Ka =

120.0000 22.0000 -875.0000

>> K = Ka(1:2); Ki = Ka(3);

Notar o sinal negativo em Ki (vide diagrama de blocos).

48 / 52

Introducao de integrador na malha de controle

To Workspace

y

Step

Motor

u

y

xIntegrator

1s

Gain

Ki* u

Gain

K* u

Add1 Add

49 / 52

Introducao de integrador na malha de controle

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

t (s)

y (

rad

/s)

b = 4 (valor nominal)

b = 8

50 / 52

Exercıcio (para casa)

Obter Ka neste exemplo empregando apenas apoio computacional“simples” (operacoes aritmeticas com escalares).

Lembrete: Neste caso, tem-se ∆des(λ) = (λ2 + 14λ+ 100)(λ+ 35).

51 / 52

Proxima aula: Prova

Inıcio as 8:00

Duracao de 100 minutos

Conteudo visto ate a aula de hoje

Consulta permitida somente a livros, anotacoes pessoais e materialdistribuıdo durante o curso

Apoio computacional permitido somente para realizacao de operacoesescalares de soma, subtracao, multiplicacao, divisao, raiz quadrada eavaliacao de exponenciais, logaritmos e funcoes trigonometricas.

52 / 52