EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as...
Transcript of EES-20: Sistemas de Controle IIkawakami/ees20/Aula10_Parte2_rev1_handouts.pdfComo escolher as...
EES-20: Sistemas de Controle II
04 Setembro 2017 - Parte 2
1 / 33
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
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
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
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
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
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
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
Sistema de controle com realimentacao do estado estimado
r t u t y tF
Kx t
9 / 33
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
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
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
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
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
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
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
Diagnostico
0 2 4 6 8 100
0.2
0.4
0.6
0.8
1
t (s)
rad
x2
x2
17 / 33
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
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
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
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
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
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
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
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
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
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
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
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
Sistema de controle com observador de estado
30 / 33
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
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
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