Você está na página 1de 6

UNIVERSIDADE FEDERAL DE SANTA MARIA

CENTRO DE TECNOLOGIA
ENGENHARIA DE CONTROLE E AUTOMAO

MRAC

TPICOS DE CONTROLE AVANADO

Leandro Tom Martins

Santa Maria, RS, Brasil


2014

1. TEORIA MRC CONTROLE POR MODELO DE REFERNCIA


Model Reference Adaptative Control (MRAC) uma derivao do problema do
Controle por Modelo de Referncia (MRC). No MRC, um bom modelo de referncia e
conhecimento dos requisitos de perfomance so necessrios para que o projetista possa iniciar
com um bom modelo de refncia. O objetivo do MRC achar uma lei de controle que muda a
estrutura e dinmica da planta para que a relao Entrada/Sada seja a mesma obtida pelo
modelo de referncia. O modelo de referncia denotado por
e o controlador por
, onde
o vetor dos parmetros desconhecidos da funo de transferncia do
controlador.
O controlador deve ser projetado para garantir que para qualquer dada entrada
,o
erro de rastreamento
, que representa o desvio da sada da planta da trajetria
desejada , convirja para zero com o tempo. O sistema em malha fechada feito de uma lei
de controle retroativo comum que engloba a planta, o controlador
e um mecanismo de
ajuste que gera estimativas de parmetros do controlador
on-line.
A Figura 1 mostra um esquema geral do MRAC.

Figura 1: Estrutura geral do MRAC.


O adaptador (Adjustment Mechanism) obtido utilizando o RLS (Recursive LeastSquares) que um algoritmo adaptador que vai garantir a convergncia dos parmetros. Este
algoritmo dado por

onde

Alm disso, o erro de aumentado dado por

onde

um erro de rastreamento.

O objetivo do controle fazer uma estimativa para obter o vetor de ganhos tal que o
erro aumentado minimizado e o vetor de ganhos
convirja para . A lei de controle
pode ser dada, ento, por
[

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];
Bp = [0; 2];

% Matriz A da planta.
% Matriz B da planta.

% Intervalo de amostragem:
Ts = 0.025;
%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 = [-0.4; -0.8; -0.3; -0.5];
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:400
tk(k) = k*Ts;
%r = 2+sin(2*pi*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
zeta(1) = zt(1);
Ym_old1 = zt;
zt = (eye(2) + Am*Ts)*Ym_old2
zeta(2) = zt(1);
Ym_old2 = zt;
zt = (eye(2) + Am*Ts)*Ym_old3
zeta(3) = zt(1);
Ym_old3 = zt;
zt = (eye(2) + Am*Ts)*Ym_old4
zeta(4) = zt(1);
Ym_old4 = zt;

+ Bm*Ts*omega(1);
+ Bm*Ts*omega(2);
+ Bm*Ts*omega(3);
+ Bm*Ts*omega(4);

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 = (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;
end
plot(tk, PlantOut, ':', tk, ModelOut, tk, RefOut, '-');
legend('Yp', 'Ym', 'ref');
title('Exercicio RMRAC');
xlabel('Tempo - seg.');
ylabel('Output');

Neste caso o vetor dos ganhos

foi inicializado com

] e o tempo de

amostragem com
. A resposta encontrada para este sistema de controle pode ser
vista nas Figuras 2 e 3, sendo uma para entrada degrau e outra para senoidal,
respectivamente.
Observa-se que a sada da planta seguiu o modelo de referncia para ambas as
entradas, sendo que h um pouco de atraso que o efeito causado enquanto os parmetros
esto convergindo para um valor.

Figura 3: Resposta do modelo de referncia e da planta para entrada degrau.

Figura 4: Resposta do modelo de referncia e da planta para entrada senoidal.