Você está na página 1de 6

Escola Politcnica Da Universidade de So Paulo

PME2472 Controle e Aplicaes

Danilo Vincius Vilardi

6851859

Exerccio proposto em sala de aula

So Paulo Abril de 2012

1.

Enunciado

Seja o sistema representado pelo seguinte espao de estados: [ ] [ Resolver as seguintes proposies: Verificar controlabilidade; Verificar observabilidade Verificar estabilidade; Alocar polos para resposta oscilatria com o menor sobressinal Projetar um observador [ ] [ ] ][ ] [ ]

2.

Resoluo

2.1.

Controlabilidade

Para o sistema definido, a matriz de controlabilidade [ ] [ ]

Essa matriz tem determinante no nulo e, portanto, seu posto 2. Isso caracteriza o sistema como controlvel.

2.2.

Observabilidade

Para o sistema definido, a matriz de observabilidade [ ] [ ]

Essa matriz tambm tem determinante no nulo e, portanto, seu posto 2. Isso caracteriza o sistema como observvel.

2.3.

Estabilidade

O prximo passo verificar a estabilidade do sistema. Isso feito obtendo as razes do polinmio caracterstico de e verificar o sinal de suas partes reais. A premissa

para que o sistema seja estvel que a parte real de suas razes (autovalores de ) sejam negativas. | | | |

O fato de a parte real ser nula no define a estabilidade do sistema. Portanto, podese dizer que a estabilidade indefinida, ou o sistema criticamente estvel.

2.4.

Alocao de polos para resposta oscilatria com sobressinal mnimo que modo que [ ]. Como um

O objetivo aqui obter uma matriz escalar, da forma [

]. A obteno da matriz

dada via alocao de

polos, cujo objetivo definir raizes resultante: | |

para o polinmio caracterstico da matriz

| |

As razes

da equao caracterstica seguem a forma ( )

a frequncia natural de oscilao do sistema, o amortecimento. Para o caso de menor sobressinal, sabe-se que

. Portanto, basta definir uma frequncia

natrual de oscilao e resolver a partir da. Para o exerccio proposto, defino e calculo a matriz em seguida.

Para

, tem-se

O comando K=place(A,B,p) do Matlab confirma os valores obtidos.

2.5.

Projetar um observador

Para o projeto de um observador, define-se o sistema: a matriz de ganhos do observador e estado real e a observada. Define-se tambm o espao de estados fictcio a seguir: [ ] A matriz de ganhos do observador, , tambm calculada por alocao de polos, [ ] a diferena (erro) entre a varivel de

desta vez escolhendo raizes relativas equao caracterstica obtida por: | Definindo os plos e | , obtenho, da

mesma forma que no item 2.4. a matriz de ganhos do observador. Portanto: |[ ] [ ] [ ] [ ]|

Definindo condies iniciais para , pode-se simular o sistema de acordo com a equao . O termo pode ser aproximado por uma srie de potncias.

O matlab faz isso de forma automtica pelo comando phi=expm(lambda*dt). Definindo as condies iniciais:

Com isso, pode-se simular o sistema de controle e observao proposto:

ANEXO Programa desenvolvido


clear;clc;close all; A=[0 1;-1 0];B=[0;1];C=[1 0];D=0; %-------------Parte 1 - cont & obs-------------------------% CC=ctrb(A,B); %matriz de controlabilidade OO=obsv(A,C); %matriz de observabilidade rc=rank(CC); ro=rank(OO); disp(['Rank de CC = ',num2str(rc)]); disp(['Rank de OO = ',num2str(ro)]); if rc==size(A,1) && ro==size(A,1) disp('O sistema controlvel e observvel'); elseif rc==size(A,1) && ro < size(A,1) disp('O sistema controlvel porm no observvel'); else disp('O sistema no nem controlvel nem observvel'); end %-----Parte 2 - alocao de polos e matriz de ganho-------% disp(' '); zeta=sqrt(2)/2; wn=0.4; a=-zeta*wn; b=wn*sqrt(1-zeta^2); p=[(a+b*1i),(a-b*1i)]; %alocacao de polos K=place(A,B,p); disp('Matriz K:') disp(num2str(K)); %-----------Parte 3 - Projeto de um observador------------% p_o=[(2*a+b*1i);(2*a-b*1i)]; %polos do obervador com parte real dobrada Ko=[(-4*a);(4*a^2+b^2-1)]; disp(' '); disp('Matriz Ko:') disp(num2str(Ko)); %------------Parte 4 - simulacao-------------------------% lambda=zeros(4); lambda(1:2,1:2)=A-B*K; lambda(1:2,3:4)=B*K; lambda(3:4,3:4)=A-Ko*C; disp(' '); disp('Matriz lambda:'); disp(num2str(lambda)); x10=1; x20=1; e10=0.5; e20=0.5; dt=0.01; t=0:dt:50; phi=expm(lambda*dt); zo=[x10;x20;e10;e20]; z(1:4,1:size(t,2))=0; z(1:4,1)=zo; for i=2:size(t,2) z(1:4,i)=phi*zo; zo=z(1:4,(i-1)); end figure(1); subplot(1,2,1); plot(t,z(1,:),t,z(3,:),'k--'); title('Varivel x1 e erro 1');xlabel('Tempo (s)');ylabel('x1 e erro 1'); legend('x1','e1'); subplot(1,2,2); plot(t,z(2,:),t,z(4,:),'k--'); title('Varivel x2 e erro 2');xlabel('Tempo (s)');ylabel('x2 e erro 2'); legend('x2','e2'); %condies %condies %condies %condies iniciais iniciais iniciais iniciais

Você também pode gostar