Vous êtes sur la page 1sur 29

Commande en espace

d’état
exp Matlab
1-Exemple sur MATLAB®
% Entrée des matrices A et B
A=[0 1 0; 0 0 1; -1 -5 -6];
B = [0;0;1];

% Déterminer la matrice de contrôlabilité


M=ctrb(A,B);

% Déterminer le rang de M
r=rank(M)
% Puisque le rang est de 3, le placement des pôles est possible
Exemple sur MATLAB®
(suite)
% Calcul du polynôme caractéristique» JA = poly(A)

% Extraction des coefficients


a1 = JA(2); a2 = JA(3); a3 = JA(4);

% Définition des matrices W et T


W = [a2 a1 1; a1 1 0 ; 1 0 0];
T = M*W;
Exemple sur MATLAB®
(suite)

% Calcul du polynôme caractéristique désiré en définissant la matrice diagonale J


J=[-2-4*j 0 0 ; 0 -2+4*j 0; 0 0 -10];
JJ=poly(J)

Extraction des coefficients désirés


aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4);
Exemple sur MATLAB®
(suite)
% Calcul de la matrice de gains K
K=-[aa3-a3 aa2-a2 aa1-a1]*inv(T)
% Donc les gains k1, k2 et k3 sont:
» k1 = K(1)
» k2 = K(2)
» k3 = K(3)

Est ce que vous avez trouvé les mêmes résultats ?


2-Exemple sur SIMULINK®
(schéma bloc)
Exemple sur SIMULINK®
(résultats)

Amplitude
x3

x2
x1

Temps (min)
Exemple #2
• Soit un système représenté par les matrices suivantes :

 0 1 0 0  0 
 20 0 0 0 1 1 0 0 0
A    B    C  
0 
 0 0 0 1  0  0 0 1
 1   1 
 2 0 0 0  2
A = [0 1 0 0 ; 20 0 0 0 ; 0 0 0 1 ; -0.5 0 0 0 ];
B = [0 ; -1 ; 0 ; 0.5];
C = [1 0 0 0 ; 0 0 1 0];
M = ctrb(A,B);
r = rank(M); %r = 4 % Oui
JA = poly(A);
a1 = JA(2); a2 = JA(3); a3 = JA(4); a4 = JA(5);
J = [-2-2*sqrt(3)*j 0 0 0; 0 -2+2*sqrt(3)*j 0 0; 0 0 -10 0; 0 0 0 -10];
JJ = poly(J);
aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4); aa4 = JJ(5);
W = [a3 a2 a1 1; a2 a1 1 0 ; a1 1 0 0 ; 1 0 0 0];
T=M*W;
K=-[aa4-a4 aa3-a3 aa2-a2 aa1-a1]*inv(T)
Simulation (pendule inversé)
• Schéma SIMULINK® :

y1 = x1 = angle du pendule (radians)


y2 = x3 = position du chariot (mètres)
Simulation (pendule inversé)

Conditions initiales :
y2 x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0

y1

Temps (min)
Simulation (pendule inversé)

Conditions initiales :
x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0
x2
x3
x1
x4

Temps (min)
Exp 3 Réservoir de
mélange
Eau froide À contrôler:
FC,TC
• Température T
• Hauteur h
Eau chaude
FH,TH T

Commande:

h
• Débit eau froide FC
• Débit eau chaude FH Sortie
F(h),T
A = [-1/8 0 ; 0 -1/4];
B = [1/2 1/2 ; 3.75 -2.5];
C = [1 0 ; 0 1];
M = ctrb(A,B);
r = rank(M);% r = 2
% En symbolique
syms k11 k12 k21 k22
S = A+B*[k11 k12; k21 k22];
S = A+B*[k11 -k22; 3/2*k11 k22]
syms n11 n12 n21 n22
U = B*[n11 n12; n21 n22]
U = B*[n11 -n22; 3/2*n11 n22]
Simulation sur Simulink
• Schéma SIMULINK® :

y1 = x1 = Δ niveau (mètres)
y2 = x2 = Δ température (°C)
Simulation

°C ou m
y1 = Δh
y2 = ΔT
Échelons unitaires
sur température à 1 min;
sur niveau à 10 min.

Temps (min)
Simulation

u2 = débit Échelons unitaires

m3/min
sur température à 1 min;
d’eau froide
sur niveau à 10 min.

u1 = débit
d’eau chaude

Temps (min)
Retour de la sortie
Exemple de conception d’un observateur
d’état complet
• Soit le système suivant :

 0 1 0  0 
   
A   0 0 1  B  0 
  1 5  6   1 

C  1  0 0 
Exemple sur MATLAB®
% Entrée des matrices A et B
A=[0 1 0; 0 0 1; -1 -5 -6];
B = [0;0;1];
C = [0 0 1];
% Déterminer la matrice d’observabilité
N=obsv(A,C)’;
% Déterminer le rang de N
r=rank(N) %r = 3
% Puisque le rang est de 3, le placement
des pôles est possible
% Calcul du polynôme caractéristique
JA = poly(A)
Exemple sur MATLAB®
(suite) % Extraction des coefficients
a1 = JA(2); a2 = JA(3); a3 = JA(4);
% Définition des matrices W et Q
W = [a2 a1 1; a1 1 0 ; 1 0 0];
Q = inv(W*N’);
% Calcul du polynôme caractéristique
désiré en définissant la matrice diagonale J
J=[-4-8*j 0 0 ; 0 -4+8*j 0; 0 0 -10];
JJ=poly(J)
% Extraction des coefficients désirés
aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4);
% Calcul de la matrice de gains Ke
Ke=Q*[aa3-a3;aa2-a2;aa1-a1]
Exemple sur SIMULINK®
(schéma bloc)
Exemple sur SIMULINK®
(schéma bloc)

Sous-système : Observateur
Exemple sur SIMULINK®
(schéma bloc)

[B Ke]

Sous-système : Observateur
Exemple sur SIMULINK®
(résultats)

Amplitude
y =x1

erreur sur y
x2

x3
Temps (min)
Si on ajoute l’aspect contrôle
• Le contrôle par retour d’état sera le même que celui décrit au début
de la présentation.

• On avait obtenu la matrice de gain K :

K    199 55 8
Exemple sur SIMULINK®
(schéma bloc)
Exemple sur SIMULINK®
(résultats)

Temps (min)