Você está na página 1de 6

Aluno: Cláudio Albués Alves da Silva

Relatório Prática 5
Controle Avançado e Multivariável
Aplicação de Sistemas Reguladores Quadráticos Ótimos

OBJETIVO
Analisar aplicação de Sistemas Reguladores Quadráticos Ótimos.

INTRODUÇÃO
O método de controle quadrático ótimo fornece um modo sistemático de cálculo da
matriz de ganho de controle por realimentação de estado, utilizando um critério de
minimização de função custo (ou índice de desempenho).
Figura 1 - Representação Esquemática do Aquecedor

Fonte: Americano, Marcos.

Dado que:
ẋ = Ax + Bu
u(t) = −Kx(t)
e sendo a função de custo definida por:

J = ∫ (x 𝑇 Qx + u𝑇 Ru)dt
0
em que Q e uma matriz hermitiana definida positiva (ou semidefinida positiva) ou real
simétrica e R é uma matriz hermitiana definida positiva ou real simétrica.
A matriz reduzida de Ricatti nos fornece um meio para calcular a matriz P, que é
utilizada para o cálculo da matriz de ganhos ótimos:
K = R−1 B 𝑇 P

ESTUDO DE CASO
Para esta prática foi proposto o seguinte diagrama de blocos que representa um sistema a
ser implementado o método de controle quadrático ótimo:

Figura 2 - Diagrama de Controle PI-2DOF

Fonte: Autoria Própria.

De posse deste diagrama, foi possível montar a seguinte equação de estados do sistema:

𝑋̇ 0 1 𝑋1 0
[ 1] = [ ][ ] + [ ]𝑢
̇
𝑋2 0 0 𝑋2 1
𝑋
𝑌 = [1 0 ] [ 1 ]
𝑋2
Com a equação de estados obtida, fez-se a devidas substituições na equação reduzida de
Ricatti para obtenção da Matriz P:

õ + 2 1
𝑃= [ ]
1 õ + 2
E posteriormente a matriz de ganho ótimo K:

𝐾 = [1 √µ + 2]

Sabendo-se que 𝑢 = −𝐾. 𝑥(𝑡) = −𝑋1 + √µ + 2. 𝑋2, logo

𝐾1 = 1
𝐾2 = √µ + 2

CÓDIGO PARA MANIPULAÇÃO DOS PARÂMETROS NO MATLAB

Para manipulação dos parâmetros do sistema, fez-se o seguinte código no matlab:


%Inserção do valor de µ

%U = input ('VALOR para µ: 10 ');

A = [0 1; 0 0]; B =[0; 1]; Q =[1 0; 0 U]; R= 1;

If (U>=0)
[K, P, E] = lqr(A,B,Q,R)
k1 = K(1)
k2 = K(2)

else
fprintf('Valor inválido. Insira Mi maior ou igual a zero')
end

SIMULAÇÕES NO SIMULINK/MATLAB
Para estudar a resposta do sistema aos ganhos obtidos por meio do método analítico,
montou-se o seguinte diagrama no simulink:

Figura 3 - Diagrama de Blocos do sistema em Malha Fechada

Fonte: Autoria Própria

Com o diagrama acima fez-se algumas simulações, aplicando diferentes valores de µ, e


analisou-se a resposta dos estados.
Para µ = 1:
Figura 4 - Resposta dos estados a degrau unitário e µ = 1

Fonte: Autoria Própria.

Análise: o gráfico acima apresenta o comportamento dos estados X1 (em amarelo) e X2


(em azul) a uma entrada em degrau unitário, com o µ = 1. O µ age como um peso dando
mais ou menos prioridade ao estado X2. Para o valor de o µ = 1, este foi o
comportamento dos estados.

Para µ = 10:
Figura 5 - Resposta dos estados a degrau unitário e µ = 1

Fonte: Autoria Própria.


Análise Comparativa: o gráfico acima apresenta o comportamento dos estados X1 (em
amarelo) e X2 (em azul) e sinal de controle (em vermelho) a uma entrada em degrau
unitário, com o µ = 10. O µ age como um peso dando mais ou menos prioridade ao
estado X2. Para o valor de o µ = 10, nota-se que o estado X1 leva mais tempo para
alcançar o seu estado estacionário, enquanto que X2 tem uma oscilação menor
comparado quando µ = 1.

USO DA FUNÇÃO LQR DO MATLAB

Para fins de comparação dos resultados obtidos a partir do diagrama com o da Função
LQR do matlab, fez-se os mesmos testes feitos anteriormente, agora usando a função
nativa do matlab:

Para µ = 1:
Figura 6 - Resposta dos estados a degrau unitário e µ = 1

Fonte: Autoria Própria.

Para µ = 10:
Figura 7 - Resposta dos estados a degrau unitário e µ = 1

Fonte: Autoria Própria.

Análise Comparativa: Observando os dados obtidos a partir da função LQR do


Matlab, nota-se que os resultados são idênticos, portanto comprova que o diagrama
montado no simulink está correto.

CONCLUSÃO
Por meio da experimentação do problema proposto no matlab pôde-se perceber como a o
Sistemas Reguladores Quadráticos Ótimos funciona, por meio da variação do “peso” do
estado X2, bem como pôde-se verificar que o diagrama montado no simulink corresponde
perfeitamente ao a função LQR interna do matlab.

Você também pode gostar