Exercicios LMIs 2

12
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 Determine uma condição LMI que possibilite a síntese de uma realimentação de estados de forma a garantir o posicionamento dos polos do sistema em malha fechada, nas seguintes regiões: 1.1 BASE TEÓRICA Considere o seguinte sistema controlável, observável, linear e invariante no tempo: () ̇ = () + () (1) () = () Sendo , ∈ , ∈ , () é o vetor de estados, () a saída de interesse e () a entrada de controle. O objetivo do problema é projetar uma condição LMI que possibilite a síntese de uma realimentação de estados tal que os pólos de malha fechada fiquem em uma determinada região especifica. Considerando: Teorema 1: (Estabilidade de Lyapunov) Dado o sistema: ̇ = Existe uma solução >0 simétrica de modo que + + < 0, onde N > 0 (simétrica) é uma matriz arbitrária ao ponto de operação [1]. Definição 1: A Região LMI é uma região convexa no plano complexo, denotada por simétrica com respeito ao eixo real (GAHINET et al., 1995), definida por: ≜ { ℂ| + + ̅ < 0} (2) Sendo = e M matrizes reais. Corolário 1: Seja o modelo simplificado com base em (2) (GAHINET et al., 1995), de modo que: () = + + ̅ (3) As regiões mais utilizadas em projetos de sistemas de controle com otimizacao LMI são mostradas de acordo o Colorario 1 e nas figuras 1 e 2. Semiplano esquerdo, () < 1 () = −2 1 + + ̅ (4) Figura 1 - ℜ{} ≤ 1 Semiplano direito, () > 2 : () = −2 2 − − ̅ (5) Figura 2 - ℜ{} ≥ 2

description

Ecercícios LMIs

Transcript of Exercicios LMIs 2

Page 1: Exercicios LMIs 2

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

Determine uma condição LMI que possibilite a síntese de uma realimentação de estados de forma a

garantir o posicionamento dos polos do sistema em malha fechada, nas seguintes regiões:

1.1 BASE TEÓRICA

Considere o seguinte sistema controlável,

observável, linear e invariante no tempo:

𝒙(𝒕)̇ = 𝑨𝑥(𝑡) + 𝑩𝑢(𝑡) (1)

𝒛(𝒕) = 𝑪𝑥(𝑡)

Sendo 𝑨 ∈ 𝓡𝒏𝒙𝒏, 𝑩 ∈ 𝓡𝒏𝒙𝒑, 𝑪 ∈ 𝓡𝒎𝒙𝒏 , 𝑥(𝑡) é o

vetor de estados, 𝒛(𝒕) a saída de interesse e 𝑢(𝑡) a

entrada de controle. O objetivo do problema é projetar uma condição LMI

que possibilite a síntese de uma realimentação de estados tal que os pólos de malha fechada fiquem em uma determinada região especifica.

Considerando: Teorema 1: (Estabilidade de Lyapunov) Dado o

sistema:

�̇� = 𝐴𝑥 Existe uma solução 𝑷 > 0 simétrica de modo que 𝑨′𝑷 + 𝑷𝑨 +𝑵 < 0, onde N > 0 (simétrica) é uma matriz

arbitrária ao ponto de operação [1]. Definição 1: A Região LMI é uma região convexa

no plano complexo, denotada por 𝒟 simétrica com

respeito ao eixo real (GAHINET et al., 1995), definida por:

𝕯 ≜ {𝑧 𝜖 ℂ|𝐿 + 𝑧𝑴+ 𝑧̅𝑴′ < 0} (2)

Sendo 𝑳 = 𝑳′ e M matrizes reais.

Corolário 1: Seja o modelo simplificado com base em (2) (GAHINET et al., 1995), de modo que:

𝒇𝕯(𝒛) = 𝐿 + 𝑧𝑴+ 𝑧̅𝑴′ (3)

As regiões mais utilizadas em projetos de sistemas

de controle com otimizacao LMI são mostradas de acordo o Colorario 1 e nas figuras 1 e 2.

Semiplano esquerdo, 𝑅𝑒(𝑧) < 𝛼1

𝒇𝕯(𝒛) = −2𝛼1 + 𝑧 + 𝑧̅ (4)

Figura 1 - ℜ{𝜆} ≤ 𝛼1

Semiplano direito, 𝑹𝒆(𝒛) > 𝛼2:

𝒇𝕯(𝒛) = −2𝛼2 − 𝑧 − 𝑧̅ (5)

Figura 2 - ℜ{𝜆} ≥ 𝛼2

Page 2: Exercicios LMIs 2

2

Setor cônico com vértice na origem e ângulo

interno de 2𝜃 onde 𝑹𝒆(𝒛)𝑡𝑔𝜃 < |𝑰𝒎(𝒛)| é

descrito por:

𝒇𝕯(𝒛) = [(𝒔𝒆𝒏𝜽)(𝑧 + 𝑧̅) (𝒄𝒐𝒔𝜽)(𝑧 − 𝑧̅)(𝒄𝒐𝒔𝜽)(𝑧̅ − 𝑧) (𝒔𝒆𝒏𝜽)(𝑧 + 𝑧̅)

] (6)

1.2 Faixa: 𝜶𝟐 ≤ 𝕽{𝝀} ≤ 𝜶𝟏, 𝜶𝟏 > 𝟎,𝜶𝟐 > 𝟎

Corolario 2: A partir do teorema 1 e o corolário 1.

Para sistemas no tempo continuo, sendo 𝕯 no semipleno

esquerdo, de modo que:

𝒇𝕯(𝒛) = 𝑧 + 𝑧̅ < 0

Fazendo substituição de (1, 𝑧, 𝑧̅) ↔ (𝑷,𝑨𝑷, (𝑨𝑷)′), tem-se que:

semiplano esquerdo, 𝑅𝑒(𝑧) < 𝛼1, tendo

que 𝛼1 ∈ ℜ:

∀𝑧 ∈ 𝐶, 𝑹𝒆(𝒛) < 𝛼1 ⟹ −𝟐𝜶𝟏𝑷 + 𝑨𝑷 + (𝑨𝑷)′ < 𝟎 (7)

semiplano direito, 𝑅𝑒(𝑧) > 𝛼2, tendo que 𝛼2 ∈

ℜ:

∀𝑧 ∈ 𝐶, 𝑹𝒆(𝒛) > 𝛼2 ⟹ 𝟐𝜶𝟐𝑷− (𝑨𝑷 + (𝑨𝑷)′) < 𝟎 (8)

Agora considerando uma síntese de realimentação de estados em (1):

𝑢 = 𝑲𝑥

O sistema em malha fechada fica na forma:

�̇� = (𝑨 + 𝑩𝑲)𝑥 (9)

Agora fazendo substituição em (7), nós podemos

encontrar a LMI que define o posicionamento a esquerda de uma reta vertical que passa por 𝜶𝟏:

−2𝛼1𝑷 + (𝐴 + 𝐵𝐾)𝑷 + 𝑷(𝐴 + 𝐵𝐾)′ < 0 (10)

A equação (10) não é uma LMI, então nós devemos

fazer uma transformação para que seja uma LMI. Multiplicando (10) a esquerda por 𝒘′ e a direita por 𝒘,

considerando que 𝒘 = 𝑷−𝟏 −2𝑊′𝜶𝟏𝑷𝑊 +𝑊′(𝐴 + 𝐵𝐾)′𝑷𝑊 +𝑊′𝑷(𝐴 + 𝐵𝐾)𝑊 < 0

Tendo que:

𝑷𝑊 = 1

−2𝜶𝟏𝑊+𝑊′(𝐴 + 𝐵𝐾)′ + (𝐴 + 𝐵𝐾)𝑊 < 0

Reescrevendo:

−2𝜶𝟏𝑊 +𝑊′𝐴′ + 𝐵′𝐾′𝑊′ + 𝐴𝑊 +𝐵𝐾𝑊 < 0

Agora fazendo:

𝒀 = 𝐾𝑊

A LMI é:

{−2𝜶𝟏𝑊 +𝑊′𝐴′ + 𝐵′𝑌′ + 𝐴𝑊 + 𝐵𝑌 < 0

𝑊 = 𝑊′ > 0 (11)

Agora fazendo substituição de (9) em (8), nós

podemos encontrar a LMI que define o posicionamento a direita de uma reta vertical que passa por 𝜶𝟐:

2𝜶𝟐𝑷 − (𝐴 + 𝐵𝐾)𝑷 − 𝑷(𝐴 + 𝐵𝐾)′ < 0 (12)

Figura 3 - Sector definido por 𝜃

Figura4 - faixa 𝛼2 ≤ ℜ{𝜆} ≤ 𝛼1

Page 3: Exercicios LMIs 2

3

A equação (12) não é uma LMI, então fazendo

transformação para que seja uma LMI: 2𝑊′𝜶𝟐𝑷𝑊 −𝑊′(𝐴 + 𝐵𝐾)′𝑷𝑊 −𝑊′𝑷(𝐴 + 𝐵𝐾)𝑊 < 0

Considerando que:

𝑷𝑊 = 1

2𝜶𝟐𝑊 − (𝐴 + 𝐵𝐾)′ − (𝐴 + 𝐵𝐾)𝑊 < 0

Reescrevendo:

2𝜶𝟐𝑊 −𝑊′𝐴′ − 𝐵′𝐾′𝑊′ − 𝐴𝑊 −𝐵𝐾𝑊 < 0

Agora fazendo:

𝒀 = 𝐾𝑊

A LMI é:

{2𝜶𝟐𝑊 −𝑊′𝐴′ − 𝑌′𝐵′ − 𝐴𝑊 − 𝐵𝑌 < 0

𝑊 = 𝑊′ > 0 (13)

Agora juntando (11) e (13), nós podemos definir

uma LMI, para garantir o posicionamento dos polos do sistema em malha fechada, naquela faixa entre 𝜶𝟏 e 𝜶𝟐.

{−2𝜶𝟏𝑊 +𝑊′𝐴′ + 𝐵′𝑌′ + 𝐴𝑊 +𝐵𝑌 < 0

2𝜶𝟐𝑊 −𝑊′𝐴′ − 𝑌′𝐵′ − 𝐴𝑊 −𝐵𝑌 < 0

𝑊 = 𝑊′ > 0

(14)

1.3 Setor no semipleno-esquerdo: fator de amortecimento dos pólos maior que um dado 𝝃 (Figura 3)

Primeiro, nós devemos descrever quem é 𝜽:

𝝈 =Constante de amortecimento, cuja ubiquação está no

eixo real.

𝝈 = 𝜉𝑤𝑛

𝒘𝒅= Frequência de amortecimento, cuja ubiquação está

no eixo imaginário.

𝒘𝒅 = 𝑤𝑛√1− 𝜉2

𝒘𝒏= Frequência natural, é a hipotenusa do triangulo

retângulo formado por os catetos de amortecimento 𝝈 e frequência de amortecimento 𝒘𝒅.

O ângulo de apertura dos polos complexos 𝜃 , está

relacionado com o coeficiente de amortecimento 𝜉.

𝜉 = 𝑐𝑜𝑠𝜃

Onde:

0 ≤ |𝜉| ≤ 1

Considerando o Corolário1:

Podemos definir que: Setor cônico com vértice na origem e ângulo 𝜃, onde

𝑹𝒆(𝒛)𝑡𝑔𝜃 < |𝑰𝒎(𝒛)| é descrito por (6).

Agora, a partir do Teorema1 e do corolário 2, para

sistemas no tempo contınuo, sendo 𝒟 no semiplano esquerdo, de modo que:

𝒇𝕯(𝒛) = 𝑧 + 𝑧̅ < 0

Fazendo substituição de (1, 𝑧, 𝑧̅) ↔ (𝑷, 𝑨𝑷, (𝑨𝑷)′) em (6),

tem-se que:

[(𝒔𝒆𝒏𝜽)(𝐴𝑃 + (𝐴𝑃)′) (𝒄𝒐𝒔𝜽)(𝐴𝑃 − (𝐴𝑃)′)

(𝒄𝒐𝒔𝜽)((𝐴𝑃)′ − 𝐴𝑃) (𝒔𝒆𝒏𝜽)(𝐴𝑃 + (𝐴𝑃)′)] < 𝟎 (15)

Escrevendo que:

𝑻𝟏 = 𝐴𝑃 + 𝑃𝐴′

𝑻𝟐 = 𝐴𝑃 − 𝑃𝐴′

𝑻𝟑 = 𝑃𝐴′ − 𝐴𝑃

Fazendo substituição em (14):

[𝑠𝑖𝑛𝜃(𝑻𝟏) 𝑐𝑜𝑠𝜃(𝑻𝟐)𝑐𝑜𝑠𝜃(𝑻𝟑) 𝑠𝑖𝑛𝜃(𝑻𝟏)

] < 0

Agora considerando uma síntese de realimentação de estados:

𝑢 = 𝑲𝑥

Figura5 - Polos complexos conjugados

Page 4: Exercicios LMIs 2

4

O sistema (1) em malha fechada:

�̇� = (𝑨 + 𝑩𝑲)⏟

�̅�

𝑥

Agora fazendo substituição em (15), nós podemos

encontrar a LMI que define o posicionamento dos polos no setor descrito pelo ângulo 𝜽:

[𝑠𝑖𝑛𝜃((𝐴 + 𝐵𝐾)𝑷 + 𝑷(𝐴 + 𝐵𝐾)′) 𝑐𝑜𝑠𝜃((𝐴 + 𝐵𝐾)𝑷 − 𝑷(𝐴 + 𝐵𝐾)′)

𝑐𝑜𝑠𝜃(𝑷(𝐴 + 𝐵𝐾)′ − (𝐴 + 𝐵𝐾)𝑷) 𝑠𝑖𝑛𝜃((𝐴 + 𝐵𝐾)𝑷 + 𝑷(𝐴 + 𝐵𝐾)′)] < 0

(16)

Nós podemos olhar que a equação (16) não é uma LMI em P e K

Agora multiplicando a equação (16) pela matriz 𝑊 = 𝑷−𝟏

[𝑠𝑖𝑛𝜃(𝑾′(𝐴 + 𝐵𝐾)𝑷𝑾) +𝑾′𝑷(𝐴 + 𝐵𝐾)′𝑾) 𝑐𝑜𝑠𝜃(𝑾′(𝐴 + 𝐵𝐾)𝑷𝑾−𝑾′𝑷(𝐴 + 𝐵𝐾)′𝑾

𝑐𝑜𝑠𝜃(𝑾′𝑷(𝐴 + 𝐵𝐾)′𝑾−𝑾′(𝐴 + 𝐵𝐾)𝑷𝑾) 𝑠𝑖𝑛𝜃(𝑾′(𝐴 + 𝐵𝐾)𝑷𝑾+𝑾′𝑷(𝐴 + 𝐵𝐾)′𝑾)] < 0 (17)

Agora a equação (17), resulta:

[𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝐾𝑾+ 𝐴′𝑾+ 𝐵′𝐾′𝑾′) 𝑐𝑜𝑠𝜃(𝑾𝐴 + 𝐵𝐾𝑾−𝐴′𝑾−𝐵′𝐾′𝑾′)

𝑐𝑜𝑠𝜃(𝐴′𝑾+ 𝐵′𝐾′𝑾′ −𝑾𝑨 − 𝐵𝐾𝑾) 𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝐾𝑾+ 𝐴′𝑾+𝐵′𝐾′𝑾′)] < 0 (18)

Fazendo 𝒀 = 𝐾𝑊 na equação (18):

[𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝑌 + 𝐴′𝑾+𝐵′𝑌′) 𝑐𝑜𝑠𝜃(𝑾𝐴 + 𝐵𝑌 − 𝐴′𝑾− 𝐵′𝑌′)

𝑐𝑜𝑠𝜃(𝐴′𝑾+𝐵′𝑌′ −𝑾𝑨 − 𝐵𝑌) 𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝑌 + 𝐴′𝑾+ 𝐵′𝑌′)] < 0

Então a LMI que define o posicionamento dos polos

no setor é:

{[𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝑌 + 𝐴′𝑾+ 𝐵′𝑌′) 𝑐𝑜𝑠𝜃(𝑾𝐴 + 𝐵𝑌 − 𝐴′𝑾− 𝐵′𝑌′)

𝑐𝑜𝑠𝜃(𝐴′𝑾+𝐵′𝑌′ −𝑾𝑨 − 𝐵𝑌) 𝑠𝑖𝑛𝜃(𝑾𝐴 + 𝐵𝑌 + 𝐴′𝑾+ 𝐵′𝑌′)] < 0

𝑊 = 𝑊′ > 0

(19)

2 EXERCÍCIO 2 Usando o LMItoolbox, implemente a solução dos

seguintes problemas:

Síntese de realimentação de estados para a

minimização de ‖𝑇𝑊𝑍‖2 sujeito ao

posicionamento de pólos em uma strip.

Seja o seguinte sistema linear na forma:

𝑿(𝒕)̇ = 𝑨𝑋(𝑡) + 𝐁U(t) + 𝑩𝒘𝑤(𝑡)

𝒁(𝒕) = 𝑪𝒛𝑋(𝑡) + 𝑫𝒛𝒘𝑊(𝑡) + 𝑫𝒛𝒖𝑈(𝑡)

Onde Z(t) são as saídas de rendimento.

A LMI que define a norma H2 é:

min(𝑡𝑟𝑎𝑐𝑜 𝑊)

{

{

[𝑾′𝐴′ + 𝒀′𝐵′ + 𝐴𝑾 + 𝐵𝒀 𝑾𝐶𝑧

′ + 𝒀′𝐷𝑧𝑢′

𝐶𝑧𝑾+𝐷𝑧𝑢𝒀 −𝐼] < 0 𝐿𝑀𝐼 𝑒𝑚 𝑊 𝑒 𝑌

𝑾 = 𝑾′ > 0

(𝟐𝟎)

{[𝑿 𝐵′𝑤𝐵𝑤 𝑊

] > 0 𝐿𝑀𝐼 𝑒𝑚 𝑋 𝑒 𝑊

Agora juntando a LMI (14) (posicionamento de polos numa strip) com a LMI (20) (Norma H2), nós podemos

obter uma minimização da norma sujeito ao posicionamento dos polos numa strip.

{

[𝑾′𝐴′ + 𝒀′𝐵′ + 𝐴𝑾+𝐵𝒀 𝑾𝐶𝑧

′ + 𝒀′𝐷′𝑧𝑢𝐶𝑧𝑾+𝐷𝑧𝑢𝒀 −𝐼

] < 0 𝐿𝑀𝐼 𝑒𝑚 𝑊 𝑒 𝑌

{[𝑿 𝐵′𝑤𝐵𝑤 𝑊

] > 0 𝐿𝑀𝐼 𝑒𝑚 𝑋 𝑒 𝑊

−2𝜶𝟏𝑾+𝑾′𝐴′ + 𝑩′𝒀′ + 𝐴𝑾+𝐵𝒀 < 02𝜶𝟐𝑾−𝑾′𝐴′ − 𝒀′𝑩′ − 𝐴𝑾−𝐵𝒀 < 0

𝑾 = 𝑊′ > 0

(𝟐𝟏)

Agora usando a LMItoolbox de matlab podemos definir as LMIs:

setlmis([])

%%%% DECLARACAO DAS DIMENSOES E ESTRUCTURA

DE CADA UMA DAS MATRIZES

W=lmivar(1,[3 1])

Y=lmivar(2,[1 3])

X=lmivar(1,[3 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],Cz,1) %%%%% CzW

lmiterm([1 2 1 Y],Dzu,1) %%%%% DzuY

lmiterm([1 2 2 0],-1) %%%%% -I

% 2 LMI [ X Bw'; Bw W]

lmiterm([-2 1 1 X],1,1) %%%%% X

lmiterm([-2 2 1 0],Bw) %%%%% Bw

lmiterm([-2 2 2 W],1,1) %%%%% W

% % 3 LMI [WA'+AW+BY+B'Y'+2uW]<0

lmiterm([3 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([3 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([3 1 1 W],2*u,1) %%%%% 2uW

%%%% 4 LMI [WA'+AW+BY+B'Y'+2uW]>0

lmiterm([-4 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([-4 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([-4 1 1 W],2*uu,1) %%%%% 2uW

% 5 LMI W=W'>0

lmiterm([-5 1 1 W],1,1) %%%%% W>0

lmis=getlmis;

Page 5: Exercicios LMIs 2

5

Síntese de realimentação de estados para a

minimização de ‖𝑇𝑊𝑍‖∞ sujeito ao

posicionamento de pólos em uma strip.

A LMI que define a norma Hinfinito está definida por:

{

[

𝑾′𝐴′ + 𝒀′𝐵′ + 𝐴𝑾+𝐵𝒀 𝐵𝑤 𝐵𝑤𝐵𝑤 −𝛾2𝐼 𝐷′𝑤𝐶𝑧𝑾 𝐷𝑤 −𝐼

] < 0

𝑾 = 𝑾′ > 0

(22)

Agora juntando a LMI (14) (posicionamento de polos numa strip) com a LMI (22) (Norma Hinfinito), nós

podemos obter uma minimização da norma sujeito ao posicionamento dos polos numa strip:

{

[

𝑾′𝐴′ + 𝒀′𝐵′ + 𝐴𝑾+𝐵𝒀 𝐵𝑤 𝐵𝑤𝐵𝑤 −𝛾2𝐼 𝐷′𝑤𝐶𝑧𝑾 𝐷𝑤 −𝐼

] < 0

−2𝜶𝟏𝑾+𝑾′𝐴′ + 𝑩′𝒀′ + 𝐴𝑾+𝐵𝒀 < 0

2𝜶𝟐𝑾−𝑾′𝐴′ − 𝒀′𝑩′ − 𝐴𝑾−𝐵𝒀 < 0

𝑾 = 𝑊′ > 0

(23)

Agora usando a LMItoolbox de matlab podemos definir as LMIs:

3 EXERCÍCIO 3 Test os problemas do item anterior considerando o

sistema do exemplo 7 do artigo Scherer et al:

Multiobjective Output-Feedback Control, IEEE-TAC 1997.

Considere o seguinte sistema:

[

�̇�𝟏�̇�𝟐�̇�𝟑

] = [0 10 2−1 1 00 2 −5

]

⏞ 𝐴

[

𝒙𝟏𝒙𝟐𝒙𝟑] + [

101]

⏞𝑩𝒘

𝑤 + [010]

⏞𝐵

𝑢

𝑦 = [0 1 0]⏟ 𝑪

[

𝑥1𝑥2𝑥3] + 2⏟

𝐷𝑤

𝑤

E tem saídas de rendimento definidas por:

𝒛 = [0 1 00 0 10 0 0

]⏟

𝑪𝒛

[

𝒙𝟏𝒙𝟐𝒙𝟑] + [

001]

⏟𝑫𝒛𝒖

𝑢 = [𝑥2𝑥3𝑢]

Síntese de realimentação de estados para a

minimização de ‖𝑇𝑊𝑍‖2 sujeito ao

posicionamento de pólos em uma strip.

%%% SINTESE DE REALIMENTACAO DE ESTADOS PARA

MINIMIZACAO DE H2 SUJEITO AO

%%% POSICIONAMENTO DE POLOS EM UMA STRIP.

clc

clear all

A=[0 10 2;-1 1 0;0 2 -5];

B=[0;1;0];

Bw=[1 0 0;0 0 0;1 0 0];

Cz=[0 1 0;0 0 1;0 0 0];

Dzu=[0;0;1];

%%% ALOCACAO DA FAIXA DOS POLOS

u=5;

uu=6;

setlmis([])

%%%% DECLARACAO DAS DIMENSOES E ESTRUCTURA DE

CADA UMA DAS MATRIZES

W=lmivar(1,[3 1])

Y=lmivar(2,[1 3])

X=lmivar(1,[3 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],Cz,1) %%%%% CzW

lmiterm([1 2 1 Y],Dzu,1) %%%%% DzuY

lmiterm([1 2 2 0],-1) %%%%% -I

% 2 LMI [ X Bw'; Bw W]

lmiterm([-2 1 1 X],1,1) %%%%% X

lmiterm([-2 2 1 0],Bw) %%%%% Bw

lmiterm([-2 2 2 W],1,1) %%%%% W

% % 3 LMI [WA'+AW+BY+B'Y'+2uW]<0

lmiterm([3 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([3 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([3 1 1 W],2*u,1) %%%%% 2uW

setlmis([])

%%%% DECLARACAO DAS DIMENSOES E ESTRUCTURA DE

CADA UMA DAS MATRIZES

W=lmivar(1,[3 1])

Y=lmivar(2,[1 3])

gamma=lmivar(1,[1 1])

u=5

uu=7

% % 1 LMI [WA'+AW + Y'B'+BY Bw WCz'+Y'Dzu';

Bw' -gamma*I Dw';

% CzW+Dzu*Y Dw -I]%%%%% se agrego nuevo

termino Dzu*Y

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 0],Bw') %%% Bw'

lmiterm([1 2 2 gamma],-1,1) %%% -gamma*I

lmiterm([1 2 3 0],Dzw') %%% Dzw'

lmiterm([1 3 1 W],Cz,1) %%% Cz

lmiterm([1 3 1 Y],Dzu,1) %%% Dzu*Y

lmiterm([1 3 3 0],-1) %%% -I

% % 2 LMI [WA'+AW+BY+B'Y'+2uW]<0

lmiterm([2 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([2 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([2 1 1 W],2*u,1) %%%%% 2uW

%%%% 3 LMI [WA'+AW+BY+B'Y'+2uW]>0

lmiterm([-3 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([-3 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([-3 1 1 W],2*uu,1) %%%%% 2uW

% 4 LMI W=W'>0

lmiterm([-4 1 1 W],1,1) %%%%% W>0

lmis=getlmis;

Page 6: Exercicios LMIs 2

6

Figura6 - Simulação dos estados do sistema com realimentação de estados

Síntese de realimentação de estados para a

minimização de ‖𝑇𝑊𝑍‖∞ sujeito ao

posicionamento de pólos em uma strip.

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

%%%% 4 LMI [WA'+AW+BY+B'Y'+2uW]>0

lmiterm([-4 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([-4 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([-4 1 1 W],2*uu,1) %%%%% 2uW

% 5 LMI W=W'>0

lmiterm([-5 1 1 W],1,1) %%%%% W>0

lmis=getlmis;

c=mat2dec(lmis,eye(3),eye(1,3),eye(3))

options=[10^-5,0,0,0,0]

[copt,xopt]=mincx(lmis,c,options)

Wopt=dec2mat(lmis,xopt,W)

Yopt=dec2mat(lmis,xopt,Y)

Xopt=dec2mat(lmis,xopt,X);

%%%%GANHO

K=Yopt*inv(Wopt)

K=[-4.8824 -12.5450 -0.7992]

%%%%% alocação dos autovalores de (A+BK)

AA=A+B*K;

eig(AA)

𝜆12 − 5.4862 ± 5.1869i

𝜆3 = -5.5725 %%%%% Fazendo simulação do sistema em malha

fechada com realimentação de estados

C=[0 1 0];

D=0;

T = 0:0.1:1; % simulation time =

10 seconds

U =ones(size(T)) ; % u = 1, a step

input

[XX,YY]=lsim(A+B*K,B,C,D,U,T); % simulate CON

REALIMENTACION K

plot(T,YY)

grid

%%%%% A norma H2 do sistema em malha fechada é

dada por

G2=sqrt(trace(Wopt))

G2= 0.8425

%%% SINTESE DE REALIMENTACAO DE ESTADOS PARA

MINIMIZACAO DE Hinfinito SUJEITO AO

%%% POSICIONAMENTO DE POLOS EM UMA STRIP

clc

clear all

A=[0 10 2;-1 1 0;0 2 -5];

B=[0;1;0];

Bw=[1;0;1];

Cz=[1 0 0;0 0 0;0 0 0];

Dzw=0;

Dzu=[0;1;0];

%%% ALOCACAO DA FAIXA DOS POLOS

u=30;

uu=31;

setlmis([])

%%%% DECLARACAO DAS DIMENSOES E ESTRUCTURA DE

CADA UMA DAS MATRIZES

W=lmivar(1,[3 1])

Y=lmivar(2,[1 3])

gamma=lmivar(1,[1 1])

% % 1 LMI [WA'+AW + Y'B'+BY Bw

WCz'+Y'Dzu'; Bw' -gamma*I Dw';

% CzW+Dzu*Y Dw -I]%%%%% se agrego nuevo

termino Dzu*Y

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 0],Bw') %%% Bw'

lmiterm([1 2 2 gamma],-1,1) %%% -gamma*I

lmiterm([1 2 3 0],Dzw') %%% Dzw'

lmiterm([1 3 1 W],Cz,1) %%% Czw

lmiterm([1 3 1 Y],Dzu,1) %%% Dzu*Y

lmiterm([1 3 3 0],-1) %%% -I

% % 2 LMI [WA'+AW+BY+B'Y'+2uW]<0

lmiterm([2 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([2 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([2 1 1 W],2*u,1) %%%%% 2uW

%%%% 3 LMI [WA'+AW+BY+B'Y'+2uW]>0

lmiterm([-3 1 1 W],1,A','s') %%%% WA'+AW

lmiterm([-3 1 1 Y],B,1,'s') %%% BY+Y'B'

lmiterm([-3 1 1 W],2*uu,1) %%%%% 2uW

% 4 LMI W=W'>0

lmiterm([-4 1 1 W],1,1) %%%%% W>0

lmis=getlmis;

c=mat2dec(lmis,eye(3),eye(1,3),eye(1))

options=[10^-5,0,0,0,0]

[copt,xopt]=mincx(lmis,c,options)

Wopt=dec2mat(lmis,xopt,W)

Yopt=dec2mat(lmis,xopt,Y)

Gammaopt=dec2mat(lmis,xopt,gamma)

%%%%GANHO

K=Yopt*inv(Wopt)

K=[ -5.7055 -12.9999 0.0020]

Page 7: Exercicios LMIs 2

7

Figura7 - Simulação dos estados do sistema com

realimentação de estados

4 EXERCÍCIO 4

Determine uma condição LMI que possibilite a

síntese de uma realimentação dinâmica de saída de

forma a garantir:

Figura8 – Realimentação dinâmica de saída

Seja o seguinte sistema linear na forma:

�̇� = 𝑨𝑋 + 𝐁U + 𝑩𝒘𝑊

𝒀 = 𝑪𝑋 + 𝑫𝒘𝑊

(24)

𝒁𝟐 = 𝑪𝒛𝟐𝑋 +𝑫𝒛𝒖𝟐𝑈 + 𝐃𝐳𝐰𝟐𝑊

𝒁∞ = 𝑪𝒛∞𝑋 +𝑫𝒛𝒖∞𝑈 + 𝐃𝐳𝐰∞𝑊

Com realimentação dinâmica:

�̇� = 𝐴𝑘𝛏 + 𝐵𝑘𝒀 (25)

𝑼 = 𝐶𝑘𝝃 + 𝐷𝑘𝑌

Onde:

𝑿 = 𝑉𝑒𝑡𝑜𝑟 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜𝑠

𝑾 = 𝑠𝑖𝑛𝑎𝑙 𝑒𝑥𝑡𝑒𝑟𝑛𝑎 ( Sinal de perturbação) 𝒀 = 𝑆𝑎í𝑑𝑎 𝑚𝑒𝑑𝑖𝑑𝑎

𝒁 = 𝑆𝑎í𝑑𝑎𝑠 𝑑𝑒 𝑟𝑒𝑛𝑑𝑖𝑚𝑒𝑛𝑡𝑜 𝝃 = 𝑉𝑒𝑡𝑜𝑟 𝑑𝑒 𝑣𝑎𝑟𝑖𝑎𝑣𝑒𝑖𝑠 𝑑𝑒 𝑒𝑠𝑡𝑎𝑑𝑜 𝑑𝑜 𝑐𝑜𝑛𝑡𝑟𝑜𝑙𝑎𝑑𝑜𝑟

𝑼 = 𝑆𝑖𝑛𝑎𝑖 𝑑𝑒 𝑐𝑜𝑛𝑡𝑟𝑜𝑙𝑒

O sistema em malha fechada é:

[�̇��̇�]

⏞�̇�𝑐𝑙

= [𝐴 + 𝐁𝐷𝑘 𝑩𝐶𝑘𝐵𝑘𝑪 𝐴𝑘

]⏞

𝐴𝑐𝑙

[𝑿�̇�]

⏞𝑋𝑐𝑙

+ [𝑩𝒘 + 𝐵𝐷𝑘𝑫𝒘

𝐵𝑘𝑫𝒘]

⏞ 𝐵𝑐𝑙

𝑾

𝒁𝟐 = [𝑪𝒛𝟐 +𝑫𝒛𝒖𝟐𝐷𝑘𝑪 𝑫𝒛𝒖𝟐𝐶𝑘]⏞

𝐶𝑐𝑙2

[𝑿�̇�] + [𝐃𝐳𝐰𝟐 +𝑫𝒛𝒖𝟐𝐷𝑘𝑫𝒘]

𝐷𝑐𝑙2

𝑾

𝒁∞ = [𝑪𝒛∞ +𝑫𝒛𝒖∞𝐷𝑘𝑪 𝑫𝒛𝒖∞𝐶𝑘]⏞

𝐶𝑐𝑙∞

[𝑿�̇�] + [𝐃𝐳𝐰∞ +𝑫𝒛𝒖∞𝐷𝑘𝑫𝒘]

𝐷𝑐𝑙∞

𝑾

Equação correspondente ao espaço de estados em

malha fechada:

�̇�𝑐𝑙 = 𝑨𝒄𝒍𝑋𝑐𝑙 +𝑩𝒄𝒍𝑊

𝒁𝟐 = 𝑪𝒄𝒍𝟐𝑋𝑐𝑙 +𝑫𝒄𝒍𝟐𝑊

𝒁∞ = 𝑪𝒄𝒍∞𝑋𝑐𝑙 +𝑫𝒄𝒍∞𝑊

‖𝑇𝑤𝑧‖2 ≤ 𝛽

A é estável e ‖𝑇𝑤𝑧‖2 ≤ 𝛽 se existe uma matriz 𝑷

simétrica e 𝑸 tal que:

{

[𝐴′𝑷+𝑷𝐴 𝑷𝐵𝑤𝐵𝑤′𝑷 −𝐼

] < 0 (𝟐𝟔)

[𝑷 𝐶𝑍′𝐶𝑍 𝑸

] > 0 (𝟐𝟕)

𝑇𝑟(𝑸) < 𝛽

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

%%%%% alocação dos autovalores de (A+BK)

AA=A+B*K;

eig(AA)

𝜆12 =−5.5680 ± 5.5450i

𝜆3 = -5.8639

%%%%% Fazendo simulação do sistema em malha

fechada com realimentação de estados

D=0;

T = 0:0.1:1; % simulation time =

10 seconds

U =ones(size(T)) ; % u = 1, a step

input

[XX,YY]=lsim(A+B*K,B,Cz,D,U,T); % simulate CON

REALIMENTACION K

plot(T,YY)

grid

%%%%% A norma Hinfinito do sistema em malha

fechada é dada por

Gamma=sqrt(Gammaopt)

Gamma= 1.4510

Page 8: Exercicios LMIs 2

8

O objetivo do exercício é calcular 𝑨𝒌, 𝑩𝒌, 𝑪𝒌, 𝑫𝒌 do compensador dinâmico (25), de forma garantir que 𝜎(𝑨𝒄𝒍) tenham parte real negativa. Nós vamos definir agora as seguintes matrizes:

𝝅𝟏 = [𝑋 𝐼𝑀′ 0

] (28)

𝝅𝟐 = [𝐼 𝑌0 𝑁′

] (29)

Agora multiplicando ao lado esquerdo de (26) por

𝒅𝒊𝒂𝒈(𝝅𝟏′ , 𝑰) e o lado direito por 𝒅𝒊𝒂𝒈(𝝅𝟏, 𝑰).

[𝝅𝟏′ 00 𝐼

] [𝐴′𝑷+ 𝑷𝐴 𝑷𝐵𝑤𝐵𝑤′𝑷 −𝐼

] [𝝅𝟏 00 𝐼

] < 0

[𝝅𝟏′ 𝑨′𝑷+𝝅𝟏

′ 𝑷𝐴 𝝅𝟏′ 𝑷𝐵𝑤

𝐵𝑤′𝑷 −𝐼] [𝝅𝟏 00 𝐼

] < 0

[𝝅𝟏′ 𝑨′𝑷𝝅𝟏 +𝝅𝟏

′ 𝑷𝐴𝝅𝟏 𝝅𝟏′ 𝑷𝐵𝑤

𝐵𝑤′𝑷𝝅𝟏 −𝐼] < 0 (30)

Agora considerando:

𝝅𝟏′ 𝑷 = 𝝅𝟐′

(31)

𝑷𝝅𝟏 = 𝝅𝟐

Fazendo substituição em (30)

[𝝅𝟏′ 𝑨′𝝅𝟐 + 𝝅𝟐′𝐴𝝅𝟏 𝝅𝟐′𝐵𝑤

𝐵𝑤 ′𝝅𝟐 −𝐼] < 0 (32)

Considerando:

𝐴 = 𝑨𝒄𝒍 Agora fazendo substituição de (28) e (29) em (32):

𝝅𝟐′ 𝐴𝝅𝟏 = [

𝐴𝑋 + 𝐵�̂� 𝐴 + 𝐵�̂�𝐶�̂� 𝑌𝐴 + �̂�𝐶

] (33)

𝝅𝟏′ 𝑨′𝝅𝟐 = [

𝑋𝐴′ + �̂�𝐵′ �̂�′(𝐴 + 𝐵�̂�𝐶)′ 𝐴′𝑌 + 𝐶′�̂�

] (34)

𝝅𝟐′𝐵𝑤 = [𝐵𝑤 + 𝐵�̂�𝐷𝑤𝑌𝐵𝑤 + �̂�𝐷𝑤

] (35)

Onde:

�̂� = 𝑌𝐴𝑋 + 𝑌𝐵𝐷𝑘𝐶𝑋 + 𝑁𝐵𝑘𝐶𝑋 + 𝑌𝐵𝐶𝑘𝑀′ + 𝑁𝐴𝑘𝑀

�̂� = 𝑌𝐵𝐷𝑘 + 𝑁𝐵𝑘 (36)

�̂� = 𝐷𝑘𝐶𝑋 + 𝐶𝑘𝑀′

�̂� = 𝐷𝑘

Agora fazendo substituição de (33), (34) e (35) em (32), nós podemos definir a primeira LMI que garante a

minimização da norma H2 considerando uma realimentação dinâmica de saída:

[

𝐴𝑋 + 𝐵�̂� + 𝑋𝐴′ + �̂�𝐵 𝐴 + 𝐵�̂�𝐶 + �̂�′ 𝐵𝑤 + 𝐵�̂�𝐷𝑤

𝑨 + (𝐴 + 𝐵�̂�𝐶)′̂ 𝑌𝐴 + �̂�𝐶 + 𝐴′𝑌 + 𝐶′�̂� 𝑌𝐵𝑤 + �̂�𝐷𝑤𝐵𝑤′ + (𝐵�̂�𝐷𝑤)′ (𝑌𝐵𝑤)′ + (�̂�𝐷𝑤)′ −𝐼

] < 0 (37)

É uma LMI em 𝑿, 𝒀, �̂�, �̂�, �̂� e �̂�.

Agora multiplicando ao lado esquerdo de (27) por

𝒅𝒊𝒂𝒈(𝝅𝟏′ , 𝑰) e o lado direito por 𝒅𝒊𝒂𝒈(𝝅𝟏, 𝑰).

[𝝅𝟏′ 00 𝐼

] [𝑷 𝐶𝑍′𝐶𝑍 𝑸

] [𝝅𝟏 00 𝐼

] > 0

[𝝅𝟏′ 𝑷 𝝅𝟏

′ 𝐶𝑍′𝐶𝑍 𝑸

] [𝝅𝟏 00 𝐼

] > 0

[𝝅𝟏′ 𝑷𝝅𝟏 𝝅𝟏

′ 𝐶𝑍′𝐶𝑍𝝅𝟏 𝑸

] > 0 (38)

Fazendo substituição de (31) em (38)

[𝝅𝟏′ 𝝅𝟐 𝝅𝟏

′ 𝐶𝑍′𝐶𝑍𝝅𝟏 𝑸

] > 0 (39)

Agora fazendo substituição de (28) e (29) em (39):

𝝅𝟏′ 𝝅𝟐 = [

𝑋 𝐼𝐼 𝑌

] (40)

𝐶𝑍𝝅𝟏 = [𝐶𝑍𝑋 + 𝐷𝑍�̂� 𝐶𝑍 +𝐷𝑍�̂�𝐶] (41)

Onde �̂� 𝒆 �̂� são definidas por (36). Agora fazendo substituição de (40) e (41) em (39),

nós podemos definir a segunda LMI que garante a minimização da norma H2 considerando uma realimentação dinâmica de saída:

[

𝑋 𝐼 (𝐶𝑍𝑋)′ + (𝐷𝑍�̂�)′

𝐼 𝑌 𝐶𝑍′ + (𝐷𝑍�̂�𝐶)′

𝐶𝑍𝑋 + 𝐷𝑍�̂� 𝐶𝑍 +𝐷𝑍�̂�𝐶 𝑄

] > 0 (42)

É uma LMI em 𝑿, 𝒀, �̂�, 𝑸 e �̂�.

Page 9: Exercicios LMIs 2

9

Agora, fazendo união da LMI (37) e (42), nos

encontramos a condição LMI que possibilita a síntese de uma realimentação dinâmica de saída que garante a minimização da norma H2.

{

[

𝐴𝑋 + 𝐵�̂� + 𝑋𝐴′ + �̂�𝐵 𝐴 + 𝐵𝑫𝐶 + �̂�′ 𝐵𝑤 + 𝐵𝑫𝐷𝑤

�̂� + (𝐴 + 𝐵𝑫𝐶)′ 𝑌𝐴 + �̂�𝐶 + 𝐴′𝑌 + 𝐶′�̂� 𝑌𝐵𝑤 + �̂�𝐷𝑤

𝐵𝑤′ + (𝐵𝑫𝐷𝑤)′ (𝑌𝐵𝑤)′ + (�̂�𝐷𝑤)′ −𝐼

] < 0

[

𝑋 𝐼 (𝐶𝑍𝑋)′ + (𝐷𝑍�̂�)′

𝐼 𝑌 𝐶𝑍′ + (𝐷𝑍�̂�𝐶)′

𝐶𝑍𝑋 + 𝐷𝑍�̂� 𝐶𝑍 + 𝐷𝑍�̂�𝐶 𝑄

] > 0

𝑇𝑟(𝑸) < 𝛽

(43)

É uma LMI em 𝑿, 𝒀, �̂�, �̂�, �̂� e �̂�.

Agora, resolvendo (43) com LMI Toolbox de Matlab,

nós podemos encontrar as matrizes do controlador dinâmico (25). Elas são definidas por:

𝑫𝒌 = �̂�

𝑪𝒌 = (�̂� − 𝐷𝑘𝐶𝑋)(𝑀′)−𝟏

(44)

𝑩𝒌 = 𝑁−1(�̂� − 𝒀𝑩𝐷𝑘)

𝑨𝒌 = 𝑁−1(�̂� − (𝑌𝐴𝑋 + 𝑌𝐵𝐷𝑘𝐶𝑋 +𝑁𝐵𝑘𝐶𝑋 + 𝑌𝐵𝐶𝑘𝑀

′))(𝑀′)−𝟏

‖𝑇𝑤𝑧‖∞ ≤ 𝜸

A é estável e ‖𝑇𝑤𝑧‖∞ ≤ 𝜸 se e só se existe uma

matriz 𝑷 simétrica tal que:

{[

𝐴′𝑷+ 𝑷𝐴 𝑷𝐵𝑤 𝐶𝑧′

𝐵𝑤 ′𝑃 −𝜸𝐼 𝐷𝑧𝑤′𝐶𝑧 𝐷𝑧𝑤 −𝜸𝐼

] < 0

𝑷 > 0

(45)

O objetivo é calcular 𝑨𝒌, 𝑩𝒌, 𝑪𝒌, 𝑫𝒌 do compensador

dinâmico (25), de forma garantir que 𝜎(𝑨𝒄𝒍) tenham parte

real negativa e minimize a norma 𝑯∞. Multiplicando ao lado esquerdo de (45) por

𝒅𝒊𝒂𝒈(𝝅𝟏′ , 𝑰, 𝑰) e o lado direito por 𝒅𝒊𝒂𝒈(𝝅𝟏, 𝑰, 𝑰).

[𝝅𝟏′ 0 00 𝐼 00 0 𝐼

] [

𝐴′𝑷 + 𝑷𝐴 𝑷𝐵𝑤 𝐶𝑧′

𝐵𝑤′𝑃 −𝜸𝐼 𝐷𝑧𝑤′𝐶𝑧 𝐷𝑧𝑤 −𝜸𝐼

] [𝝅𝟏 0 00 𝐼 00 0 𝐼

] < 0

[

𝝅𝟏′ 𝐴′𝑷+ 𝝅𝟏

′ 𝑷𝐴 𝝅𝟏′ 𝑷𝐵𝑤 𝝅𝟏

′ 𝐶𝑧′

𝐵𝑤 ′𝑃 −𝜸𝐼 𝐷𝑧𝑤′𝐶𝑧 𝐷𝑧𝑤 −𝜸𝐼

] [𝝅𝟏 0 00 𝐼 00 0 𝐼

] < 0

[

𝝅𝟏′ 𝐴′𝑷𝝅𝟏 +𝝅𝟏

′ 𝑷𝐴𝝅𝟏 𝝅𝟏′ 𝑷𝐵𝑤 𝝅𝟏

′ 𝐶𝑧′

𝐵𝑤 ′𝑃𝝅𝟏 −𝜸𝐼 𝐷𝑧𝑤′𝐶𝑧𝝅𝟏 𝐷𝑧𝑤 −𝜸𝐼

] < 0

Agora considerando (31).

[

𝝅𝟏′ 𝐴′𝝅𝟐 + 𝝅𝟐

′ 𝐴𝝅𝟏 𝝅𝟐′ 𝐵𝑤 𝝅𝟏

′ 𝐶𝑧′

𝐵𝑤′𝝅𝟐 −𝜸𝐼 𝐷𝑧𝑤′𝐶𝑧𝝅𝟏 𝐷𝑧𝑤 −𝜸𝐼

] < 0 (46)

Agora fazendo substituição de (28) e (29) em (46):

𝝅𝟐′ 𝐴𝝅𝟏 = [

𝐴𝑋 + 𝐵�̂� 𝐴 + 𝐵�̂�𝐶�̂� 𝑌𝐴 + �̂�𝐶

]

𝝅𝟏′ 𝑨′𝝅𝟐 = [

𝑋𝐴′ + �̂�𝐵′ �̂�′(𝐴 + 𝐵�̂�𝐶)′ 𝐴′𝑌 + 𝐶′�̂�

]

𝝅𝟐′𝐵𝑤 = [𝐵𝑤 + 𝐵�̂�𝐷𝑤𝑌𝐵𝑤 + �̂�𝐷𝑤

]

𝐶𝑍𝝅𝟏 = [𝐶𝑍𝑋 + 𝐷𝑍�̂� 𝐶𝑍 +𝐷𝑍�̂�𝐶]

Onde �̂�, �̂�, �̂� 𝑒 �̂� são definidas em (36). Agora fazendo substituição em (46), nós podemos

definir a LMI que garante a minimização da norma 𝑯∞ considerando uma realimentação dinâmica de saída:

[ 𝐴𝑋 + 𝐵�̂� + 𝑋𝐴′ + �̂�𝐵 𝐴 + 𝐵�̂�𝐶 + �̂�′ 𝐵𝑤 + 𝐵�̂�𝐷𝑤 (𝐶𝑍𝑋)′ + (𝐷𝑍�̂�)′

�̂� + (𝐴 + 𝐵�̂�𝐶)′ 𝑌𝐴 + �̂�𝐶 + 𝐴′𝑌 + 𝐶′�̂� 𝑌𝐵𝑤 + �̂�𝐷𝑤 𝐶𝑍′ + (𝐷𝑍�̂�𝐶)′

𝐵𝑤′ + (𝐵�̂�𝐷𝑤)′ (𝑌𝐵𝑤)′ + (�̂�𝐷𝑤)′ −𝜸𝐼 Dzw′ + (𝐷𝑧�̂�𝐷𝑤)′

𝐶𝑍𝑋 + 𝐷𝑍�̂� 𝐶𝑍 + 𝐷𝑍�̂�𝐶 Dzw + 𝐷𝑧�̂�𝐷𝑤 −𝜸𝐼 ]

< 𝟎

É uma LMI em 𝑿, 𝒀, �̂�, �̂�, �̂� e �̂�.

Agora, resolvendo com LMI Toolbox de Matlab, nós podemos encontrar as matrizes do controlador dinâmico (25), que estão definidas em (44).

5 EXERCÍCIO 5 Com base nas condições do item anterior resolva e

confira os resultados apresentados no exemplo 7 do

artigo Scherer et al: Multiobjective Output-Feedback

Control, IEEE-TAC 1997.

Considere o seguinte sistema:

[

�̇�𝟏�̇�𝟐�̇�𝟑

] = [0 10 2−1 1 00 2 −5

]

⏞ 𝐴

[

𝒙𝟏𝒙𝟐𝒙𝟑] + [

101]

⏞𝑩𝒘

𝑤 + [010]

⏞𝐵

𝑢

𝑦 = [0 1 0]⏟ 𝑪

[

𝑥1𝑥2𝑥3] + 2⏟

𝐷𝑤

𝑤

E tem saídas de rendimento definidas por:

𝒛 = [0 1 00 0 10 0 0

]⏟

𝑪𝒛

[

𝒙𝟏𝒙𝟐𝒙𝟑] + [

000]

⏟𝑫𝒛𝒖

𝑢

Page 10: Exercicios LMIs 2

10

Miminizar ‖𝑇𝑤𝑧‖2 considerando que a norma

‖𝑇𝑤𝑧‖∞ ≤ 𝟐𝟑. 𝟔

O sistema em malha fechada é:

[�̇��̇�]

⏞�̇�𝑐𝑙

= [𝐴 + 𝐁𝐷𝑘 𝑩𝐶𝑘𝐵𝑘𝑪 𝐴𝑘

]⏞

𝐴𝑐𝑙

[𝑿�̇�]

⏞𝑋𝑐𝑙

+ [𝑩𝒘 + 𝐵𝐷𝑘𝑫𝒘

𝐵𝑘𝑫𝒘]

⏞ 𝐵𝑐𝑙

𝑾

𝒁𝟐 = [𝑪𝒛𝟐 +𝑫𝒛𝒖𝟐𝐷𝑘𝑪 𝑫𝒛𝒖𝟐𝐶𝑘]⏞

𝐶𝑐𝑙2

[𝑿�̇�] + [𝐃𝐳𝐰𝟐 +𝑫𝒛𝒖𝟐𝐷𝑘𝑫𝒘]

𝐷𝑐𝑙2

𝑾

Onde:

𝑨𝒄𝒍 =

[ 0 10 2 0 0 0−1 −12.81 0 1.013𝑒 + 09 6.639𝑒 + 07 5.019𝑒 + 070 2 −5 0 0 00 131.1 0 −8.13𝑒 + 09 −5.33𝑒 + 08 −4.029𝑒 + 080 666.8 0 −4.137𝑒 + 10 −2.712𝑒 + 09 −2.05𝑒 + 090 −3527 0 2.186𝑒 + 11 1.433𝑒 + 10 1.083𝑒 + 10 ]

𝑩𝒄𝒍 =

[

1−27.621

262.3 1334 −7053]

%%Implementação de realimentação dinâmica de

saída para norma H2 tendo que a norma de

Hinf<=23.6

clear all

clc

%% Definindo matrizes A, B, C e D

A = [0 10 2; -1 1 0; 0 2 -5];

B = [0;1;0];

C = [0 1 0]; %Matriz C de desempenho

Bw = [1 0 1]'; %Com relação a perturbação

D = 0;

Dw = 2;

Cz = [0 1 0; 0 0 1];

z = [0; 0];

Dzw = [0];

setlmis([]);

%% Declaracao das variaveis

X = lmivar(1, [3 1]);

Y = lmivar(1, [3 1]);

A_c = lmivar(1, [3 1]);

B_c = lmivar(2, [3 1]);

C_c = lmivar(2, [1 3]);

D_c = lmivar(1,[1 1]);

Q=lmivar(1,[2 1]);

I = 1;

%% 1 LMI

lmiterm([1 1 1 X],A,1,'s')% A*X+X*A'

lmiterm([1 1 1 C_c],B,1,'s');% B*C_c+C_c*B'

lmiterm([1 2 1 A_c],1,1); % A_c

lmiterm([1 2 1 0], A'); % A'

lmiterm([1 2 1 -D_c], C', B'); % (B*D_c*C)'

lmiterm([1 2 2 Y],1,A,'s');% Y*A+A'*Y

lmiterm([1 2 2 B_c],1,C,'s');% B_c*C+C'*B_c

lmiterm([1 3 1 0], Bw'); % Bw'

lmiterm([1 3 1 -D_c], Dw', B');% (B*D_c*Dw)'

lmiterm([1 3 2 -Y],Bw', 1);% (Y*Bw)'

lmiterm([1 3 2 -B_c],Dw', 1);% (B_c*Dw)'

lmiterm([1 3 3 0],-I); % -I

%% 2 LMI

lmiterm([-2 1 1 X],1,1);% X

lmiterm([-2 2 1 0],I); % I

lmiterm([-2 2 2 Y],1,1);% Y

lmiterm([-2 3 1 X],Cz,1); % Cz*X

lmiterm([-2 3 1 C_c],Dz,1);% Dz*C_c

lmiterm([-2 3 2 0],Cz); % Cz

lmiterm([-2 3 2 D_c],Dz,C);% Dz*D_c*C

lmiterm([-2 3 3 Q],1,1); % Q

%% 3 LMI

lmiterm([-3 1 1 X],1,1); % X>0 positiva definida

%% 4 LMI

lmiterm([-4 1 1 Y],1,1); % Y>0 positiva definida

%% 5 LMI

lmiterm([5 1 1 X],A,1,'s'); % AX+XA'

lmiterm([5 1 1 C_c],B,1,'s'); % B*C_c+C_c'B'

lmiterm([5 1 2 -A_c],1,1); % A_c'

lmiterm([5 1 2 0],A); % A

lmiterm([5 1 2 D_c],B,C); % B*D_c*C

lmiterm([5 1 3 D_c],B,Dw); % B*D_c*Dw

lmiterm([5 1 3 0],Bw); % Bw

lmiterm([5 1 4 X],1,Cz'); % XCz'

lmiterm([5 1 4 -C_c],1,Dz'); % C_c'Dz'

lmiterm([5 2 2 Y],1,A,'s'); % YA+A'Y

lmiterm([5 2 2 B_c],1,C,'s'); % B_c*C+C'B1'

lmiterm([5 2 3 Y],1,Bw); % Y*Bw

lmiterm([5 2 3 B_c],1,Dw); % B_c*Dw

lmiterm([5 2 4 -D_c],C',Dz'); % C'*D_c'*Dz'

lmiterm([5 2 4 0],Cz'); % Cz'

lmiterm([5 3 3 0],-gamma); % -(gama)*I

lmiterm([5 3 4 -D_c],Dw',Dz'); % Dw'D_c'Dz'

lmiterm([5 3 4 0],Dzw'); % Dzw'

lmiterm([5 4 4 0],-gamma); % -(gama)*I

lmis=getlmis;

c=mat2dec(lmis,eye(3),eye(3),eye(3),eye(3,1),eye(

1,3),eye(1),eye(2))

options=[1e-2,100,1e4,0,0]

[copt,xopt]=mincx(lmis,c,options)

Q_Optimo = dec2mat(lmis,xopt,Q);

X_Otimo = dec2mat(lmis,xopt,X)

Y_Otimo = dec2mat(lmis,xopt,Y)

A_c_Otimo = dec2mat(lmis,xopt,A_c);

B_c_Otimo = dec2mat(lmis,xopt,B_c);

C_c_Otimo = dec2mat(lmis,xopt,C_c);

D_c_Otimo = dec2mat(lmis,xopt,D_c);

%% Determinando das matrizes do controlador

dinamico

N = eye(3);

M = eye(3)-X_Otimo*Y_Otimo;

Dk=D_c_Otimo;

Ck=(C_c_Otimo-Dk*C*X_Otimo)*inv(M');

Bk=inv(N)*(B_c_Otimo-Y_Otimo*B*Dk);

Ak=inv(N)*(A_c_Otimo-N*Bk*C*X_Otimo-

Y_Otimo*B*Ck*M'-

Y_Otimo*(A+B*Dk*C)*X_Otimo)*inv(M');

%%%%Sistema em malha fechada com controlador

dinamico

A_ = [A+B*Dk*C B*Ck; Bk*C Ak];

B_ = [Bw+B*Dk*Dw; Bk*Dw];

C_ = [Cz+Dz*Dk*C Dz*Ck];

D_ = [Dzw+Dz*Dk*Dw];

sys=ss(A_,B_,C_,D_)

a=norm(sys,2) % função para determinar valor da

norma H2 para um sistema

a= 3.1144 %%% Valor da norma H2 minimizada

Page 11: Exercicios LMIs 2

11

𝑪𝒄𝒍 = [0 1 0 0 0 00 0 1 0 0 0

]

𝑫𝒄𝒍 = [00]

6 EXERCÍCIO 6 Determine uma condição LMI que permita a síntese de uma realimentação dinâmica de saída estabilizante para o caso discreto no tempo.

Considere o sistema discreto dado por:

𝑥𝑐𝑙[𝑘 + 1] = 𝐴𝑑𝑥𝑐𝑙[𝑘] (47)

O sistema (47) é assintoticamente estável se ∃𝑃 =𝑃′ > 0 tal que:

𝑃 − 𝐴𝑑′ 𝑷𝐴𝑑 > 0 (48)

Nós podemos observar que (48) não é uma LMI.

Então seja:

𝑉(𝑥𝑐𝑙[𝑘]) = 𝑥𝑐𝑙[𝑘]′𝑷𝑥𝑐𝑙[𝑘] (49)

O teorema de Lyapunov discreto é definido por: Se:

𝚫𝑽(𝒙𝒄𝒍[𝒌]) = 𝑉(𝑥𝑐𝑙[𝑘 + 1]) − 𝑉(𝑥𝑐𝑙[𝑘]) < 0 (50)

Então o sistema é A.E. Agora reescrevendo (50) a partir de (49).

𝑥𝑐𝑙[𝑘 + 1]′𝑷𝑥𝑐𝑙[𝑘 + 1] − 𝑥𝑐𝑙[𝑘]

′𝑷𝑥𝑐𝑙[𝑘] < 0

Agora a partir de (47):

((𝐴𝑑𝑥𝑐𝑙[𝑘])′𝑷(𝐴𝑑𝑥𝑐𝑙[𝑘]) − 𝑥𝑐𝑙[𝑘]′𝑷𝑥𝑐𝑙[𝑘] < 0

𝑥𝑐𝑙[𝑘]′(𝐴𝑑′𝑷𝐴𝑑 − 𝑷)𝑥𝑐𝑙[𝑘] < 0 Se:

𝑷 − 𝐴𝑑′ 𝑷𝐴𝑑 > 𝟎 (51)

Então 𝚫𝑽(𝒙) < 0

Agora aplicando complemento de Schur em (51),

o qual está definido da seguinte maneira:

[𝑸 𝑺

𝑺′ 𝑹] > 0

Considerando:

𝑹 > 0

𝑸 − 𝑺𝑹−𝟏𝑺′ > 0 Obtém-se:

[𝑷 𝐴𝑑′𝑷𝑷𝐴𝑑 𝑷

] > 0 (52)

Agora considerando as seguintes matrizes:

𝝅𝟏 = [𝑋 𝐼𝑀′ 0

] (53)

𝝅𝟐 = [𝐼 𝑌0 𝑁′

] (54)

Agora pré e pós multiplicando todos os elementos por 𝝅𝟏′ e 𝝅𝟏, obtém-se que:

[𝜋′1 0

0 𝜋′1] [

𝑷 𝐴𝑑′𝑷𝑷𝐴𝑑 𝑷

] [𝜋1 00 𝜋1

] > 0

[𝜋′1𝑷 𝜋′1𝐴𝑑′𝑷

𝜋′1𝑷𝐴𝑑 𝜋′1𝑷] [𝜋1 00 𝜋1

] > 0

[𝜋′1𝑷𝜋1 𝜋′1𝐴𝑑′𝑷𝜋1𝜋′1𝑷𝐴𝑑𝜋1 𝜋′1𝑷𝜋1

] > 0 (55)

Agora considerando:

𝝅𝟏′ 𝑷 = 𝝅𝟐′

𝑷𝝅𝟏 = 𝝅𝟐 Então (55) fica:

[𝜋′1𝜋2 𝜋′1𝐴𝑑′𝜋2𝜋′2𝐴𝑑𝜋1 𝜋′1𝜋2

] > 0 (56)

Agora fazendo substituição de (53) e (54) em (56):

𝝅𝟏′ 𝝅𝟐 = [

𝑋 𝐼𝐼 𝑌

] (57)

𝝅𝟐′ 𝐴𝑑𝝅𝟏 = [

𝐴𝑋 + 𝐵�̂� 𝐴 + 𝐵�̂�𝐶�̂� 𝑌𝐴 + �̂�𝐶

] (58)

𝝅𝟏′ 𝐴𝑑

′𝝅𝟐 = [𝑋𝐴′ + �̂�𝐵′ �̂�′(𝐴 + 𝐵�̂�𝐶)′ 𝐴′𝑌 + 𝐶′�̂�

] (59)

Onde �̂�, �̂�, �̂� 𝑒 �̂� são definidas em (36).

Agora fazendo substituição de (57), (58) e (59) em (56), nós podemos definir a LMI que permite a síntese de

uma realimentação dinâmica de saída estabilizante para o caso discreto no tempo.

[

𝑋 𝐼 𝑋𝐴′ + �̂�𝐵′ �̂�′𝐼 𝑌 (𝐴 + 𝐵�̂�𝐶)′ 𝐴′𝑌 + 𝐶′�̂�

𝐴𝑋 + 𝐵�̂� 𝐴 + 𝐵�̂�𝐶 𝑋 𝐼�̂� 𝑌𝐴 + �̂�𝐶 𝐼 𝑌 ]

> 0

É uma LMI em 𝑿, 𝒀, �̂�, �̂�, �̂� e �̂�.

Page 12: Exercicios LMIs 2

12

7 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