Você está na página 1de 10

Lista de Exerccios Controle Robusto Multivarivel

Nome: Gustavo Brando Bunevich RA: 11185409


Professor: Victor de Campos

Atravs das informaes da planta contidas na lista de exerccios pode-se obter as barreiras de
desempenho e estabilidade considerando as especificaes do sistema e do erro de modelagem. Desta
forma as barreiras obtidas na modelagem feita atravs do Matlab 2014 est exemplificada na Figura
abaixo:


Figura 1: Mostra as barreiras de desempenho e da estabilidade do controle robusto representadas pelas curvas em vermelho

Para este projeto houve a necessidade da incluso de integradores na planta a fim de satisfazer
uma das condies de desempenho especificadas no projeto que de erro estacionrio nulo para
entrada em degrau. Assim, para projetar a malha objetivo, usa-se o modelo do sistema aumentado
(A,B,C) e aplica-se a seguinte aproximao representada pela Equao (1):

10
-2
10
-1
10
0
10
1
10
2
10
3
-5
0
5
10
15
20
25
30
Frequncia rad/s
d
B
Controle Robusto Multivarivel

[ ( )

]

(1)
Onde necessrio determinar o valor de para transladar a o diagrama de Bode a fim de
respeitar as barreiras, ou seja, passar entre elas sem toc-las. Atravs de tentativas determinou-se que o
valor de que respeita tal condio de 0,0075. Desta maneira pode-se obter o seguinte diagrama de
Bode da Equao (1).

Figura 2: Diagrama de Bode da Equao (1) representado pela curva em azul



Atravs do clculo da equao algbrica de Riccati e dos ganhos do filtro de Kalman, pode-se obter os
diagramas de Bode da malha objetivo representada pela seguinte pelo Modelo (2)

( ( )

) (2)
10
-2
10
-1
10
0
10
1
10
2
-40
-20
0
20
40
60
Singular Values
Frequency (rad/s)
S
i
n
g
u
l
a
r

V
a
l
u
e
s

(
d
B
)

Figura 3: Diagrama de Bode da malha objetivo representada pelo modelo (2)


Procedimento de Recuperao

Sabendo que o procedimento de recuperao, LTR (Loop Transfer Recovery), somente se
aplica no caso em que o modelo da planta tem os zeros de transmisso no SPE. Sendo assim tem-se que
verificar os zeros deste modelo de planta, e neste projeto os zeros foram: -3,2268; -0,2304 e -0.1494. Ou
seja, todos no SPE, logo possvel aplicar o mtodo de recuperao.

Desta maneira escolheu-se um valor de

, tal que o diagrama de Bode da malha


objetiva convirja os diagramas de Bode planta com o compensador. A Figura 4 ilustra tal convergncia
dos grficos de Bode.

Figura 4: Diagrama de Bode das valores singulares mnimos e mximos de Gn(s).K(s) representados na cor ciano e preta,
respectivamente.

A fim de verificar a estabilidade da planta em malha fechada, plota-se o diagrama de Bode
(valores singulares mximos) da planta com compensador em malha fechada. Desta maneira obtm-se o
diagrama mostrado na Figura 5.


Figura 5: Diagrama de Bode dos valores singulares mximos da planta com compensador em malha fechada

Verifica-se o diagrama de Bode do sistema em malha fechada, CN(s), no toca a barreira da
estabilidade. Logo este sistema em malha fechada tem estabilidade robusta.



Resposta do Sistema em Malha Fechada

As Figura 6 e Figura 7 mostram a resposta do sistema em malha fechada (y1 e y2) ao degrau
unitrio aplicado na entrada u1.


Figura 6: Resposta da sada y1 a entrada degrau unitrio na entrada u1.
De acordo com a Figura 6, verifica-se que ela tem erro estacionrio nulo a entrada degrau,
respeitando as especificaes de projeto iniciais.


Figura 7: Sada y2 a entrada degrau unitrio na entrada u1.
0 5 10 15 20
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Tempo (s)
S
a

d
a

y
1
Resposta do Sistema em Malha Fechada
0 5 10 15
0
1
2
3
4
5
6
7
8
x 10
-3
Tempo (s)
S
a

d
a

y
2
Resposta do Sistema em Malha Fechada
Cdigo do Programa:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Controle Robusto - Lista de Exerccios

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc;
clear all;
close all;

%%%Matrizes da Planta

A = [-.005131 0 0 0 0; 0 -.07366 0 0 0; 0 0 a33 0 0; 0 0 0 -.462 .9895; 0 0 0
-.9895 -.462];
B =[-.629 .624; .055 -.172; .03 -.108; -.186 -.139; -1.23 -.056];
C = [-.7223 -.517 .3386 -.1633 .1121; -.8913 .4728 .9876 .8425 .2186];
a33=-.2;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
k=1;
for (w =0.01: 0.01: 1000)
for(n=1:20)

GN = C*inv(j*w*eye(5)-A)*B;
AT = (400/(-w*w+20*w*j+400))*eye(2);
GR = AT*GN;
ERR = (GR-GN)*inv(GN);
ERR1 =svd(ERR);
E(n) = max(ERR1); %valores singulares mximos
a33 = -.2+(.04/20)*n;
end

%Clculo do valor singular mximo

EM(k) =max(E);
k =k+1;
end

w = (.01:.01:1000); %Vetor de Freq

for(i=1:1E5)
EM1(i) =1/EM(i); %Barreira da Estabilidade
end

for(i=1:1E5)
DES(i) = 20/(1-EM(i)); %Barreira de Robustez do Desempenho
end


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Barreira de desempenho e estabilidade em ordem

for(i=1:50)
BAR(i) = 20*log10(DES(i));
end
for(i=10E2:500E2)
BAR(i) =20*log10(EM1(i));
end
for(i=51:(10E2-1))
BAR(i) = NaN;
end
for(i=(500E2+1):(1000E2))
BAR(i) = NaN;
end

a33=-.1829

xlabel('Frequncia rad/s'); % coloca rotulo no eixo x do grafico

ylabel('dB'); % coloca rotulo no eixo y do grafico
title('Controle Robusto Multivarivel');

semilogx(w,BAR,'r','LineWidth',1.6)
grid
hold on

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Matrizes aumentadas (inclusao de integradores)
A2 = [zeros(2,2) zeros(2,5); B A];
B2 = [eye(2); zeros(5,2)];
C2 = [zeros(2,2) C];
D2 = zeros(2,2);

%Matriz L

LL = -inv(C*inv(A)*B);
LH =-inv(A)*B*LL;


L =[LL;LH];


%Determinar mi por tentativas para respeitar as barreiras

mi = 1/(sqrt(.0075));

%Valores singulares primeira

SYS=ss(A2, L,mi*C2,D2);
sigma(SYS,'b');


grid
hold on


%Eq de Riccati:

EAR = are(A2',mi*mi*C2'*C2,L*L');

%Ganhos do Filtro de Kalman
H =mi*mi*EAR*C2';

%Valores singulares da malha objetivo
SYS2 = ss(A2,H,C2,D2);
sigma(SYS2,'g');
grid
hold on


%Procedimento de recuperacao
%checar zeros da planta
SYS3 =ss(A2,B2,C2,D2);
ZE =zero(SYS3)
%Resoluo Eq. Riccati

p = 1/(1E-10);

EAR2 =are(A2, p*B2*B2',C2'*C2);

%Matriz de ganho de realimentacao:

G = p*B2'*EAR2;

%FT do Compensador
%Sistema em MA

k=1;

for(w2=.01:.01:1000)
COMP =G*inv(j*w2*eye(7)-A2+B2*G+H*C2)*H; %Matriz do compensador

PLANTA = C2*inv(j*w2*eye(7)-A2)*B2; %Matriz do compensador

SIS=PLANTA*COMP;

MA =svd(SIS);%Valores singulares

MA1(k) = max(MA);%Valor singular mximo

MA2(k) = min(MA);%Valor sing mnimo


CN = inv(eye(2)+PLANTA*COMP)*PLANTA*COMP; %Matriz CN

MF = svd(CN);
MF1(k) =max(MF);

MF2(k) =min(MF);

k=k+1;
end

w2 =(.01:.01:1000);%
%%%%%SIS
semilogx(w2,20*log10(MA1), 'k'); %Grafico do val. sing. mximos
hold on
grid
semilogx(w2,20*log10(MA2),'c'); %Grafico do val. sing. mnimoa

%%%%%CN
semilogx(w2,20*log10(MF1),'m'); %Grafico do val. sing. mximos de CN
hold on
grid
semilogx(w2,20*log10(MF2),'k'); %Grafico do val. sing. mnimoa de CN

%Dinamica do sistema

AF = [(A2-B2*G) B2*G; zeros(7,7) (A2-H*C2)];

BF =[zeros(7,2);H];
CF = [C2 zeros(2,7)];
DF =zeros(2,2);

SYSF = ss(AF,BF,CF,DF);

%Resposta do sistema
t = (0:.01:20);
for(i = 1:2001)

r(1,i)=1;
r(2,i)=0;

end
[Y,T,X]=lsim(SYSF,r,t);

figure(3)
plot(T,Y(:,1))

xlabel('Tempo (s)'); % coloca rotulo no eixo x do grafico

ylabel('Sada y1'); % coloca rotulo no eixo y do grafico
title('Resposta do Sistema em Malha Fechada');

figure(4)
plot(T,Y(:,2),'b','LineWidth',1.5)
xlabel('Tempo (s)'); % coloca rotulo no eixo x do grafico

ylabel('Sada y2'); % coloca rotulo no eixo y do grafico
title('Resposta do Sistema em Malha Fechada');

Você também pode gostar