Download pdf - Controle Adaptativo

Transcript
  • 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.


Recommended