Exercícios LMIs
Click here to load reader
-
Upload
manuel-vargas -
Category
Documents
-
view
544 -
download
0
Transcript of Exercícios LMIs
1
EXERCÍCIOS LMI CONTROL TOOLBOX MATLAB
Manuel Ricardo Vargas Ávila [email protected]
Universidade Federal do Rio Grande do Sul Programa de Pós-Graduação em Engenharia Elétrica
Controle Multivariável
RESUMO: O presente documento consiste em um
desenvolvimento dos exercícios propostos (Inequações Matriciais Lineares- LMI) na aula de controle multivariavel. Para a solução de LMIs, será usado o pacote de LMI CONTROL TOOLBOX de Matlab.
PALAVRAS-CHAVE: Traço, Feasp, minCX, ganho
estabilizante.
1 EXERCÍCIO 1
Calcular um ganho estabilizante usando a
condição LMI. Onde:
[
] [
]
1.1 BASE TEORICA
Seja o seguinte sistema linear na forma:
+BU(t) (1)
Onde:
(2)
Teorema1: O sistema (1) é assintoticamente
estável se: (3)
Agora nós temos um problema de síntese, no qual o objetivo é encontrar o valor de tal que seja verificada (3).
Para encontrar o valor de , nós devemos assegurar que a equação (3) seja uma LMI. Se nós olhamos a equação (3) podemos concluir que não é uma
LMI, já que na equação temos um produto entre dois ariáveis desconhecidas.
Então aplicando um lema podemos fazer uma transformação para LMI.
Lema1: Seja , , e seja uma
matriz , onde o , então:
Então aplicando o Lema1 na equação (3).
Tendo
Fazendo multiplicação a esquerda de (3) por e
á direita por , então a equação fica:
(4)
Agora fazendo mudança de variável , a
equação (4) fica:
(5)
Por tanto (5) é LMI em .
Agora nós podemos definir um novo teorema. Teorema (Final): Tendo que , onde
e , tais que (5) é verificada, então o sistema (1) com a lei de controle (2), é assintoticamente
estável, onde . The LMI system:
{
(6)
1.2 DESENVOLVIMENTO
O desenvolvimento do exercício será feito na LMI
TOOLBOX de Matlab. Para especificar a LMI system em Matlab, nós devemos desenvolver dois passos.
Declarar as dimensões e estrutura de cada uma das matrizes variável (lmivar).
Descrever os termos de cada umas das LMI (lmiterm).
2
Vai ser usado o comando 1.
E para encontrar o valor das matrizes é usado o
comando 2.
Código Matlab:
Onde o ganho é :
[
]
1 Encontra uma solução de um sistema de LMIs
[ ] , onde é chamada variável decisão
A simulação dos estados do sistema com
realimentação K é:
Figura1. Simulação dos estados do sistema com realimentação
Nós podemos olhar que foi encontrado um ganho
estabilizante usando a condição LMI.
2 EXERCÍCIO 2 Calcular um ganho estabilizante tal que a norma
do sistema em malha fechada seja minimizada.
[
] [
]
2.1 BASE TEORICA
Seja o seguinte sistema linear na forma:
(7)
2 Dado o valor da variável decisão , ele computa o valor
correspondente da matriz variável.
clc
clear all
A=[0 1 0 0;9.8 0 -9.8 0;0 0 0 1;-9.8 0
2.94 0];
B=[0 0;1 -2;0 0;-2 5];
C=eye(4);
setlmis([])
%%%% DECLARACAO DAS DIMENSOES E
ESTRUCTURA DE CADA UMA DAS MATRIZES
W=lmivar(1,[4 1])
Y=lmivar(2,[2 4])
% % 1 LMI [WA'+AW+BY+B'Y']<0
lmiterm([1 1 1 W],1,A','s')%%% WA'+AW
lmiterm([1 1 1 Y],B,1,'s')%%% BY+Y'B'
% 2 LMI W=W'>0
lmiterm([-2 1 1 W],1,1) %%%%% W>0
lmis=getlmis;
[tmin,xfeas]=feasp(lmis)
w=dec2mat(lmis,xfeas,W);
y=dec2mat(lmis,xfeas,Y);
K=y*inv(w)
%%%% SIMULACAO DO SISTEMA
D=0;
T = 0:0.1:20;
U =[ones(size(T)); ones(size(T))] ;
lsim(A+B*K,B,C,D,U,T); % simulate
CON REALIMENTACION K
grid
-1
0
1
To: O
ut(
1)
-1
0
1
To: O
ut(
2)
0
1
2
To: O
ut(
3)
0 2 4 6 8 10 12 14 16 18 20-1
0
1
To: O
ut(
4)
Linear Simulation Results
Time (seconds)A
mplitu
de
3
Onde:
(8)
Fazendo substituição de (8) em (7)
O sistema fica:
⏞
(7)
⏟
A determinação da norma é feita a traves de uma
proba de optimização convexo onde:
{
{
(8)
Fazendo substituição do sistema (7) em (8), o novo
problema de optimização fica:
{
Para encontrar o valor de , nós devemos
assegurar que (9) seja uma LMI. Se nós olhamos a equação (9) podemos concluir que não é uma LMI, já que
na equação temos um produto entre dois variáveis desconhecidas .
Então, multiplicando (9) pela matriz , (9) e
fazendo mudança de variável , a equação (9) é
equivalente à:
⏟
O termo da equacao (10) não é linear em
Então, nós devemos aplicar o complemento de
Schur3, por tanto o novo problema de optimização fica:
{ [
]
(10)
3 O complemento de Schur é um resultado da teoria de matrizes
que ajuda na transformação de inequações não lineares para a forma de LMI.
Por tanto (10) é uma LMI em Agora seja uma variável auxiliar, se minimizamos
e garantimos que:
(11)
Passando todos os termos de (11) para a esquerda
(12)
Agora, nós devemos aplicar de novo o complemento
de Schur, então (12) é equivalente á:
[
] (13)
Então o novo problema de optimização fica:
{
{
[
]
{[
]
2.2 DESENVOLVIMENTO
O desenvolvimento do exercício será feito na LMI
TOOLBOX de Matlab. Para especificar a LMI system em Matlab, nós devemos desenvolver dois passos.
Declarar as dimensões e estrutura de cada uma das matrizes variável (lmivar).
Descrever os termos de cada umas das LMI (lmiterm).
Se define 4
Se define [ ] , o qual minimiza o valor do vetor das variáveis
decisão. Onde por defecto é .
E para encontrar o valor correspondente da matriz variáveis, é usado o comando
Código Matlab:
4 Retorna o vetor da variável decisão correspondente ao valor
particular das matrizes variáveis. Está definido como:
4
Onde o ganho é :
[
]
A simulação dos estados do sistema com realimentação K é:
Figura2. Simulação dos estados do sistema com realimentação
Nós podemos olhar que o ganho é estabilizante minimizando a norma
3 REFERÊNCIAS
[1] LMI CONTROL TOOLBOX, For use with MATLAB [2] Controle robusto, professor Alexandre Trofino [3] Linear Quadratic Control, Peter Dorato and Chaouki Abdallah
clc
clear all
A=[0 1 0 0;9.8 0 -9.8 0;0 0 0 1;-9.8 0
2.94 0];
B=[0 0;1 -2;0 0;-2 5];
C=eye(4);
Bw=eye(4);
setlmis([])
%%%% DECLARACAO DAS DIMENSOES E
ESTRUCTURA DE CADA UMA DAS MATRIZES
W=lmivar(1,[4 1])
Y=lmivar(2,[2 4])
X=lmivar(1,[4 1])
% % 1 LMI [WA'+AW + Y'B' BY WC'+Y'D ;
CW+DY -I]
lmiterm([1 1 1 W],1,A','s')%%%% WA'+AW
lmiterm([1 1 1 Y],B,1,'s') %%% BY+Y'B'
lmiterm([1 2 1 W],C,1) %%%%% WC'
lmiterm([1 2 2 0],-1) %%%%% -I
% 2 LMI
lmiterm([-2 1 1 W],1,1) %%%%% W>0
% 3 LMI [ X Bw'; Bw W]
lmiterm([-3 1 1 X],1,1) %%%%% X
lmiterm([-3 2 1 0],Bw) %%%%% Bw
lmiterm([-3 2 2 W],1,1) %%%%% W
LMIs=getlmis;
c=mat2dec(LMIs,eye(4),eye(2,4),eye(4))
options=[10^-2,0,0,0,0]
[copt,xopt]=mincx(LMIs,c,options)
Wopt=dec2mat(LMIs,xopt,W)
Yopt=dec2mat(LMIs,xopt,Y)
%%%%GANHO
K=Yopt*inv(Wopt)
%%%%SIMULACAO
D=0;
T = 0:0.1:10;
U =[ones(size(T)); ones(size(T))] ;
[XX,YY]=lsim(A+B*K,B,C,D,U,T);%
simulate CON REALIMENTACION K
plot(T,XX)
grid
0 1 2 3 4 5 6 7 8 9 100
1
2
3
4
5
6
7
8x 10
-5