Você está na página 1de 14

Realimentao de estado

l
l
l
l
l

Introduo
Conceitos bsicos
Controlabilidade
Alocao de plos
Observabilidade

Controle de Sistemas Mecnicos

Controlabilidade
O estado x(tf) de uma planta linear dito
controlvel a partir de um estado inicial x(t0)
se existe uma trajetria no espao de
estados que possa ser percorrida pelo
sistema de malha fechada que conduza o
sistema desde o estado x(t0) at o estado x(tf)
em um tempo finito tf-t0. Se todos os estados
do sistema forem controlveis a planta dita
completamente controlvel.

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Diagrama de blocos geral


Realimentao do estado atravs do vetor de ganhos K e
por convenincia um ganho kp no ramo de malha aberta

u (t )

r (t )
+

x(t )
x& = Ax + Bu

kp

Realimentao

y (t )
C

u = k p ( r Kx )

Controle de Sistemas Mecnicos

Modelo de malha fechada


l

substituindo a realimentao na planta

u = k p ( r Kx )

x& ( t ) = Ax ( t ) + Bu ( t )
y ( t ) = Cx ( t )

x& = Ax + Bk p ( r Kx )
x& = ( A k p BK ) x + k p Br

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Modelo do sistema malha fechada


l

Definindo as novas matrizes

x& = ( A k p BK ) x + k p Br

Bk

Ak
l

obtm-se o seguinte modelo de estado


em malha fechada

x& = Ak x + B k r
y = Cx
Controle de Sistemas Mecnicos

Matriz de controlabilidade
Teorema
A planta de ordem n descrita pela equao
de estado
x& (t ) = Ax (t ) + Bu (t )
dita controlvel por estado se e s se o
determinante da matriz de controlabilidade
definida como

M= B

AB

A2 B L An 1 B

for no nulo.
(MATLAB: comando ctrb(A,B))
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Alocao de plos

O problema da alocao de plos determinar


inicialmente se o sistema controlvel e, se
confirmado, descobrir a partir das
especificaes qual a posio desejada
para os plos. Em seguida calcular o vetor
de ganhos que permite que o sistema de
malha fechada apresente os plos na
posio desejada.

Controle de Sistemas Mecnicos

Caracterstica do mtodo
O mtodo na forma como foi apresentado no programa
da transparncia anterior tem as seguintes
caractersticas
l Posiciona os plos arbitrariamente se a planta for
controlvel
l No controla os zeros do numerador de malha
fechada
l No controla o erro estacionrio

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Sistema de malha fechada


b1
E(s)

R(s) +

kp

U(s) +

- -

1
s

1
s

- -

b0

Y(s)

a1

a0

k2

k1

Controle de Sistemas Mecnicos

Modelo de malha fechada


l A partir do DB podem-se encontrar as equaes
abaixo

0
1
x1
x&1
0
x& = (a + k k ) ( a + k k ) x + k p 1 r
1
p 1
p 2 2

2 0

x
y = [b0 b1 ] 1
x2

x
u = k pr kpk1 kpk2 1
x2

x& ( t ) = Ax ( t ) + Bu ( t ) + u = k p ( r Kx )
y ( t ) = Cx ( t )

x& = ( A k p BK ) x + k p Br
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Generalizando
l Para um modelo cannico controlvel estritamente
prprio, pode-se escrever

k pki = i1 ai1 i = 1,2,K, n


onde define-se a equao caracterstica desejada
como

d (s) = sn +n1sn1 +L+0

Controle de Sistemas Mecnicos

Frmula de Ackermann
l Pode-se generalizar para qualquer modelo de
estado atravs da frmula de Ackermann. Dada uma
equao caracterstica desejada

d (s) = sn +n1sn1 +L+0


encontra-se o vetor de estado como

k = [0 0 L 1]M 1 d ( A)
onde

MATLAB:

d ( A) = An +n1 An1 +L+0 I


K=place(A,B,polos)
Ak=A-B*K;
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Alocao de plos
Se a planta controlvel existe soluo para
a alocao de plos. Para a lei de controle
u = k p ( r Kx )

u = Kx + r

tem-se o novo modelo para a malha fechada


Kp=1
x& = ( A k p BK ) x + k p Br

Ak

x& = ( A BK ) x + Br

Bk

Ak

Bk

Controle de Sistemas Mecnicos

Exemplo23.1: Realimentao de estado


Para a planta cuja FT

G( s) =

1
s +1
2

deseja-se que o sistema em malha fechada tenha


plos 1j utilizando a realimentao das variveis
de estado. Determinar o vetor de ganhos
respectivo.

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Soluo usando MATLAB


Programa em MATLAB
clear all
np=1;
dp=[1 0 1];
[a b c d]=tf2ss(np,dp); % usando ft2ss
m=ctrb(a,b);
disp(Det da controlabilidade : )
det(m), pause
polos=[-1-j -1+j];
disp(Vetor de ganhos : )
k=place(a,b,polos) % alocao de plos
ak=a-b*k;
eig(ak)
[nf df]=ss2tf(ak,b,c,d);
printsys(nf,df)
Controle de Sistemas Mecnicos

Exp23.1: Anlise do projeto


Funo de transferncia da planta
Funo de transferncia do controlador
Funo de transferncia de malha aberta
Lugar das razes da malha HG
Margens da malha HG
Funo de transferncia de malha fechada
Plos e zeros da planta
Plos e zeros do controlador
Plos e zeros de malha aberta
Plos e zeros de malha fechada
Anlise de desempenho
Erro Estacionrio
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Funo de transferncia malha fechada


Usando a equivalncia com a realimentao de sada
k p G ( s)
Y (s)
=
R ( s) 1 + k p G ( s) H eq ( s )

H ( s) =

R(s)
+

Y(s)

kp

K ( sI A) 1 B
C ( sI A) 1 B

G(s)

Heq(s)

k pC ( sI A) 1 B
Y ( s)
=
R( s) 1 + k p K ( sI A) 1 B

G ( s) = C ( sI A) 1 B

HG(s)

k p K ( sI A)1 B = 1

rlocus(a,b,k,d);
Controle de Sistemas Mecnicos

Exp23.1: FT equivalente do controlador


H ( s) =

K ( sI A) 1 B
C ( sI A) 1 B

na
H eq ( s) = da
ng
dg

H eq ( s ) =

na dg
da ng

[na,da]=ss2tf(a,b,k,d)
[ng,dg]= ss2tf(a,b,c,d)

[na,da]=ss2tf(a,b,k,d);
[ng,dg]= ss2tf(a,b,c,d);
nh=conv(na,dg);
dh=conv(da,ng);
sh=tf(nh,dh);
sh=minreal(sh);
printsys(nh,dh)
disp(Zeros, Plos e Ganho do Controlador)
[akh,bkh,ckh,dkh]=ssdata(sh);
[nh,dh]=ss2tf(akh,bkh,ckh,dkh);
printsys(nh,dh)
[zkh,pkh,kkh]=ss2zp(akh,bkh,ckh,dkh)
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Modelo Estado Malha Fechada


ak=a-b*k; bk=b; ck=c; dk=0;
[zf, pf, kf]=ss2zp(ak,bk,ck,dk) % plos e zeros da FT de malha fechada
sk=ss(ak,bk,ck,dk);
step(sk) % resp. ao degrau

Erro estacionrio

Controle de Sistemas Mecnicos

Exp23.1: Correo Erro estacionrio


Calcula-se qual o valor
do ganho para corrigir
o erro estacionrio

sysmf=tf(nf,df); % FT MF
dcg2=dcgain(sysmf);
kp=1/dcg2

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Erro estacionrio Corrigido


[y2 t2]=step(sysmf);
y2=kp*y2; % resposta com o ganho calculado
plot(t2,y2)
grid

Erro estacionrio =0

Controle de Sistemas Mecnicos

Exp23.1: Recalculo dos ganhos a partir da FT


Incluo o ganho kp na planta (malha aberta):

Nova G(s):

G( s) =

kp
s2 +1
Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Reclculo dos ganhos


np=kp;
dp=[1 0 1];
[a b c d]=tf2ss(np,dp);
m=ctrb(a,b);
disp(Det da controlabilidade : )
det(m), pause
polos=[-1-j -1+j];
disp(Vetor de ganhos : )
k=place(a,b,polos)
ak=a-b*k;
eig(ak)
[nf df]=ss2tf(ak,b,c,d);
sysmf=tf(nf,df);
printsys(nf,df)
step(sysmf)
Controle de Sistemas Mecnicos

Exp23.1: Outra forma a partir do ME

Saindo do ME ao invs da FT:

x&1 = x2
x&2 = x1 + k pu

0
0 1
A=
B=

1 0
k p
C = [1 0] D = 0

Recalculo B como B=B*kp


Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exp23.1: Reclculo dos ganhos:


l
l
l
l
l
l
l
l
l
l
l
l

%polos so os mesmos j definidos


a=[0 1; 0 -1]; b=[0; kp];c=[1 0]; d=0;
polos=[-1-j -1+j];
k=place(a,b,polos)
ak=a-b*k;
bk=b;
ck=c;
dk=d;
sysmf2=ss(ak,bk,ck,dk)
step(sysmf2);
k1=k(2)
k2=k(1)

Controle de Sistemas Mecnicos

Exp23.1: Outra forma de recalcular k j obtido kp


Incluo o ganho kp dentro da malha fechada:

kp

u = k p r kx

kp

u = k p ( r kx )

k p r kx = k p ( r kx )

k=

k
kp

Controle de Sistemas Mecnicos

Projeto bsico de controladores

Exerccio 23.1: Controle de um helicptero


Para o helicptero cujo modelo est abaixo, projete um
controlador de estado com plos localizados em
-1j e 2. Analise o desempenho do controlador.
0.4 0 0.01 6.3
x& = 1
0
0 x + 0 u


1.4 9.8 0.02 9.8
y = [0 0 1]x

&
,

Obs: Modelo no plano, com vetor de estado composto


da variao do pitch, ngulo do pitch da
fuselagem e velocidade horizontal. Notar que um
sistema instvel. O controle feito pelo manche
Controle de Sistemas Mecnicos

Projeto bsico de controladores

&

Você também pode gostar