Exercícios LMIs

4

Click here to load reader

Transcript of Exercícios LMIs

Page 1: 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).

Page 2: Exercícios LMIs

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

Page 3: Exercícios LMIs

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:

Page 4: Exercícios LMIs

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