Upload
leandro-tome-martins
View
7
Download
3
Embed Size (px)
DESCRIPTION
Relatório para disciplina de Controle Avançado UFSM
Citation preview
UNIVERSIDADE FEDERAL DE SANTA MARIA
CENTRO DE TECNOLOGIA
ENGENHARIA DE CONTROLE E AUTOMAO
MRAC PLANTAS COM DINMICA NO MODELADA
TPICOS DE CONTROLE AVANADO
Leandro Tom Martins
Santa Maria, RS, Brasil
2014
1. PLANTA 1
No trabalho anterior, a planta era dada por
( )
( )( )
Adicionando-se dinmica no modelada ( ) ( ) encontramos
( ) ( )
( )( )
Supondo que , a nova planta torna-se
( )
Levando para o espao de estados, temos
[ ] [
] [ ] [
]
[ ] [ ]
Observando as equaes no espao de estados temos, agora, um vetor . Este
vetor ser includo na simulao conforme mostrado a seguir.
2. SIMULAO MATLAB
A seguir segue o cdigo para implementao do MRAC no Matlab.
% Leandro Tom Martins
% Prof. Hilton Grundling
% 26/11/2014
close all
clear all
clc
% Modelo de referencia
Am = [0 1;
-12.96 -5.76]; % Matriz A do modelo de ref.
Bm = [0; 12.96]; % Matriz B do modelo de ref.
% Planta
Ap = [0 1;
-2 -3]; % Matriz A da planta.
Bp = [0; 1]; % Matriz B da planta.
Cp = [0.0002 0.02;
0 0 ];
% Intervalo de amostragem:
Ts = 0.0001;
%Incializaes
Yp_old = [0; 0];
Yp = [0; 0];
Ym_old = [0; 0];
Ym = [0; 0];
omega = [1; -1; 0; 0];
u = 0;
r = 0;
%teta = [-0.4; -0.8; -0.3; -0.5];
%teta = [-2; -1; -3; -4];
%teta = [9; 0.5; 8; -0.5];
teta = [0; -3; -0.5; -0.0007];
teta_old = teta;
zeta = [0.8; -0.4; 1; 0];
Ym_old1 = [0; 0];
Ym_old2 = [0; 0];
Ym_old3 = [0; 0];
Ym_old4 = [0; 0];
Ym_old5 = [0; 0];
P = 500*eye(4);
P_old = P;
for k = 1:100000
tk(k) = k*Ts;
r = 2+sin(2*pi*0.1*tk(k)); % Sinal de referencia pra
teste
%r=heaviside(k); %entrada degrau unitario
%Control Law
u = (-teta(1)*omega(1) - teta(2)*omega(2) -
teta(3)*omega(3) -r) ./teta(4);
% Modelo de referencia
Ym = (eye(2) + Am*Ts)*Ym_old + Bm*Ts*r;
Ym_old = Ym;
% Vetor de estados.
omega(1) = Yp(1);
omega(2) = Yp(2);
omega(3) = r;
omega(4) = u;
% Calculo de Zeta
zt = (eye(2) + Am*Ts)*Ym_old1 + Bm*Ts*omega(1);
zeta(1) = zt(1);
Ym_old1 = zt;
zt = (eye(2) + Am*Ts)*Ym_old2 + Bm*Ts*omega(2);
zeta(2) = zt(1);
Ym_old2 = zt;
zt = (eye(2) + Am*Ts)*Ym_old3 + Bm*Ts*omega(3);
zeta(3) = zt(1);
Ym_old3 = zt;
zt = (eye(2) + Am*Ts)*Ym_old4 + Bm*Ts*omega(4);
zeta(4) = zt(1);
Ym_old4 = zt;
zt = (eye(2) + Am*Ts)*Ym_old5 + Bm*Ts*(teta'*omega);
Ym_old5 = zt; % teta'*omega filtrado pelo modelo de
Referncia.
% Erro de rastreamento:
e1 = Yp(1) - Ym(1);
% Erro aumentado:
E = e1 + teta'*zeta - Ym_old5(1);
% Normalizador
m = 1 + zeta'*P*zeta;
% Matriz de covariancia
P_old = P;
P = P_old - P_old*zeta*zeta'*P_old ./m;
teta = teta_old - P_old*zeta*E ./m;
teta_old = teta;
% Planta
Yp = Cp*((eye(2) + Ap*Ts)*Yp_old + Bp*Ts*u);
Yp_old = Yp;
PlantOut(k) = Yp([1]); % Salvo para depois plotar, Y =
Cx, C=1.
ModelOut(k) = Ym([1]);
RefOut(k) = r;
theta1(k)=teta(1);
theta2(k)=teta(2);
theta3(k)=teta(3);
theta4(k)=teta(4);
end
plot(tk, PlantOut, ':', tk, ModelOut, tk, RefOut, '-');
legend('Yp', 'Ym', 'ref(degrau)');
title('Exercicio MRAC');
xlabel('Tempo - seg.');
ylabel('Output');
figure;
plot(tk,theta1,tk,theta2,tk,theta3,tk,theta4, '-');
legend('theta1', 'theta2', 'theta3','theta4');
title('Thetas');
xlabel('Tempo - seg.');
ylabel('Output');
Escolhendo uma matriz de inicializao do vetor arbitrariamente e um tempo de
amostragem chegamos aos seguintes resultados
[
]
Figura 1: Resposta do modelo de referncia e da planta 1 para uma entrada senoidal.
Como neste caso h dinmica no modelada da planta, a resposta apresenta um
atraso em relao ao modelo de referncia. Entretanto, observa-se que passado algum tempo,
os se ajustam e a sada do sistema passa a seguir melhor o modelo de referncia. O grfico
abaixo mostra a curva dos e para qual valor eles convergem.
Figura 2: Resposta dos parmetros da planta 1.
3. PLANTA 2
A seguir o mesmo procedimento foi aplicado para uma nova planta
( )
( )( )
com uma dinmica no modelada ( ) ( ), logo a planta resulta em
( )
Escrevendo no espao de estados temos que a planta
[ ] [
] [ ] [
]
[ ] [ ]
O resultado da simulao para o vetor inicializado como
[
]
e tempo de amostragem pode ser visto na figura abaixo.
Figura 3: Resposta do modelo de referncia e da planta 2 para uma entrada senoidal.
O modelo de referncia no espao de estados dado por
[ ] [
] [ ] [
]
Enfim, podemos concluir que a planta com dinmica no modelada converge para a referncia
mais lentamente que o modelo de referncia. Na figura abaixo podemos ver as respostas de
cada com o tempo e para qual valor eles convergem.
Figura 4: Resposta dos parmetros da planta 2.