0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Analyse de systèmes de contrôle en espace d'états

Le document contient des exemples de problèmes de contrôle de systèmes représentés par des espaces d'états. Les questions couvrent la commandabilité, l'observabilité, la mise en forme diagonale, la conception d'observateurs et de lois de commande intégrale.

Transféré par

Luís Felipe
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues12 pages

Analyse de systèmes de contrôle en espace d'états

Le document contient des exemples de problèmes de contrôle de systèmes représentés par des espaces d'états. Les questions couvrent la commandabilité, l'observabilité, la mise en forme diagonale, la conception d'observateurs et de lois de commande intégrale.

Transféré par

Luís Felipe
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Universidade Federal de Alagoas

Glauber Rodrigues Leite

Sistemas de Controle 2 - AB1

Questão 1
Considerando a função de transferência:

Podemos separar denominador do numerador no diagrama de blocos de forma que

Assim

Analogamente

Resultando no seguinte diagrama:

1
Tomando e , construimos a representação do sistema em espaço de estados da seguinte
maneira:

A = [0, 1, 0; 0, 0, 1; -5.008, -25.1026, -5.03247]

A = 3×3
0 1.0000 0
0 0 1.0000
-5.0080 -25.1026 -5.0325

B = [0, 0, 1]'

B = 3×1
0
0
1

C = [5.008, 25.04, 0]

C = 1×3
5.0080 25.0400 0

Para verificar se o sistema é controlável, calculamos a matriz de controlabilidade e seu rank (posto):

Contr = [B, A*B, (A^2)*B, (A^3)*B]

Contr = 3×4
0 0 1.0000 -5.0325
0 1.0000 -5.0325 0.2232
1.0000 -5.0325 0.2232 120.1971

disp(['Rank = ', num2str(rank(Contr))]);

2
Rank = 3

Como a matriz de controlabilidade é rank cheio, concluimos que o sistema é controlável

De forma análoga, para checar se o sistema é observável, construimos a matriz de observabilidade e


calculamos seu posto:

Obser = [C; C*A; C*(A^2)]

Obser = 3×3
5.0080 25.0400 0
0 5.0080 25.0400
-125.4003 -628.5691 -121.0050

disp(['Rank = ', num2str(rank(Obser))]);

Rank = 3

Como a matriz de observabilidade também é rank cheio, concluimoAs que o sistema é observável

Questão 2

Para , podemos considerar , e .



Na representação de espaço de estados, temos:

A = [0, 1, 0; 0, 0, 1; -6, -11, -6];


B = [0,0,6]';
C = [1, 0, 0];

Para transformar a representação em um sistema diagonal, precisamos encontrar os autovalores da matriz


A. Para isso, podemos partir da equação característica:

syms s
det(s*eye(3) - A)

3
ans =

Encontrando as raízes que serão os autovalores :

roots([1, 6, 11, 6])

ans = 3×1
-3.0000
-2.0000
-1.0000

Com isso, construimos a matriz

P = [1, 1, 1; -1, -2, -3; 1, 4, 9];

Agora fazemos de forma que

A_n = (P^-1) * A * P

A_n = 3×3
-1.0000 0.0000 -0.0000
0.0000 -2.0000 0.0000
-0.0000 -0.0000 -3.0000

B_n = (P^-1) * B

B_n = 3×1
3.0000
-6.0000
3.0000

C_n = C * P

C_n = 1×3
1 1 1

ou seja:

Para descobrir a função de transferência, fazemos . Sabemos que:

4
Calculamos

syms s
C_n * pinv([s+1, 0, 0; 0, s+2, 0; 0, 0, s+3]) * B_n

ans =

Ou seja, a função de transferência será:

Questão 3

A equação característica de um sistema representado por espaço de estados é dada por .

Para o sistema

temos

syms omega_0 s;
A = [0, 1; -omega_0^2, 1];
B = [0, 1]';
C = [1, 0];
det(s*eye(2) - A)

ans =

Mas nossa equação caracterísitica desejada é . Portanto, devemos aplicar


uma lei de controle para tentar ajustar a equação dos sistema à equação desejada. Daí

syms k1 k2;
K = [k1, k2];

5
det(s*eye(2) - (A - B*K))

ans =

Comparando com a equação característica desejada, calculamos K que trará os pólos do sistema
para

eqn1 = k1 + omega_0^2 == 4*omega_0^2;


k1 = solve(eqn1, k1)

k1 =

eqn2 = k2 - 1 == 4 * omega_0;
k2 = solve(eqn2, k2)

k2 =

Para o caso particular em que , e :

omega = 1;
k1 = subs(k1, omega);
k2 = subs(k2, omega);
K = double([k1, k2])

K = 1×2
3 5

A = double(subs(A, omega))

A = 2×2
0 1
-1 1

Podemos, então, calcular a resposta ao impulso do sistema controlado:

H_c = ss(A - B*K, B, C, 0)

H_c =

A =
x1 x2
x1 0 1
x2 -4 -4

B =
u1
x1 0
x2 1

C =
x1 x2
y1 1 0

6
D =
u1
y1 0

Continuous-time state-space model.

t = 0:.1:5;
y = initial(H_c, [1, 0], t);
plot(t, y);

rlocus(H_c)

7
Questão 4
(Rodar a seção da questão 3 antes de rodar esta seção)

Sendo nosso sistema controlado descrito por

A = [0, 1; -4, -4];


B = [0; 1];
C = [1, 0];

Primeiramente checamos se o sistema é observável:

Ob = [C; C*A];
disp(['Rank = ', num2str(rank(Ob))]);

Rank = 2

Por ter rank cheio, o sistema é dito observável.

Temos a seguinte equação característica:

8
com dois pólos reais em -2.

A equação característica desejada, com pólos cinco vezes mais rápidos, é dada por:

Para projetar o observador, precisamos descobrir a matriz L de forma que:

syms s l1 l2
L = [l1; l2];
det(s*eye(2) - (A - L*C))

ans =


l1 = 20 - 4;
l2 = 100 - 4 - 4*l1;
L = [l1; l2]

L = 2×1
16
32

Nossa nova representação de espaço de estados será

H_o = ss(A - L*C, B, C, 0)

H_o =

A =
x1 x2
x1 -16 1
x2 -36 -4

B =
u1
x1 0
x2 1

C =
x1 x2
y1 1 0

D =
u1
y1 0
9
Continuous-time state-space model.

t = 0:.1:5;
y = initial(H_o, [1, 0], t);
plot(t, y);

Com pólos em

eig(A - L*C)

ans = 2×1
-10.0000
-10.0000

Questão 5

O sistema descrito pela função de transferência é representado por espaços de estados na


forma:

A = -3;
B = 1;

10
C = 1;
D = 0;

Aplicando uma lei de controle para realimentação de estado completo K, temos

Adicionando a ação integral, o sistema fica:

com equação característica

syms k k_e s
det(s*eye(2) - [A - B * k, B * k_e; -C, 0])

ans =

A equação característica desejada, com dois pólos reais em -5 é

Então e , o que resulta no seguinte sistema:

k = 7;
k_e = 25;
A = [A - B * k, B * k_e; -C, 0];
B = [0; 1];
C = [1, 0];
H = ss(A, B, C, D);
step(H)

11
12

Vous aimerez peut-être aussi