Sei sulla pagina 1di 8

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
( )
Supondo que

)(

( )

) encontramos

(
(

)
)

)(

, a nova planta torna-se


( )

Levando para o espao de estados, temos

[ ]

[
[

][ ]

[ ]

][ ]

Observando as equaes no espao de estados temos, agora, um vetor


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;

. Este

%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
omega(1) =
omega(2) =
omega(3) =
omega(4) =

estados.
Yp(1);
Yp(2);
r;
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

e tempo de amostragem

inicializado como

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.

Potrebbero piacerti anche