ees-20: sistemas de controle iikawakami/ees20/aula7_rev1_handouts.pdf · quaisquer posicoes1 do...
TRANSCRIPT
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
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
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
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
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