Upload
nishan
View
72
Download
2
Embed Size (px)
DESCRIPTION
Commande en espace d’état. Juillet 2010. Représentation en boucle ouverte. Équation : m entrées, p sorties, n équations d’état linéaires. Commande par retour d’état linéaire. Structure :. Représentation en boucle fermée (retour d’état linéaire). Équation en boucle fermée :. - PowerPoint PPT Presentation
Citation preview
Représentation en boucle ouverte
Équation :
m entrées, p sorties, n équations d’état linéaires.
( ) ( ) ( ) ( ) ( )( ) ( ) ( )x t A t x t B t u ty t C t x t
Commande par retour d’état linéaire
Structure :N t( )y td ( ) + ( ) ( ) ( ) ( ) ( )x t A t x t B t u t
u t( )C t( )
y t( )
K t( )
+
x t( )0
( ) ( ) ( ) ( ) ( )du t K t x t N t y t
Représentation en boucle fermée (retour d’état linéaire)
Équation en boucle fermée : ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )dx t A t B t K t x t B t N t y t
y t C t x t
Contrôlabilité
Au préalable, il faut vérifier si le système est contrôlable. Rang(M)=n
Matrice de contrôlabilité M :
M B AB A Bn 1
Design par placement de pôles
Valeurs propres désirées pour (A-BK) :
Parties réelles négatives; Choix des gains de la matrice de gains
K.
1 2, , , n
Étape 1
Vérifier si le système est contrôlable: Matrice de contrôlabilité
Rang(M) = 3 = n contrôlable.
M B AB A B
2
0 0 10 1 61 6 31
Étape 2 (si complètement contrôlable)
Du polynôme caractéristique de la matrice A, déterminer les coefficients a1, a2, ..., an :
Polynôme caractéristique : det sI A s a s a s an n
n n 1
11
Étape 2 (si complètement contrôlable)
Ainsi, pour l’exemple :
Donc :
det sI A s s s 3 26 5 1
aaa
1
2
3
651
Étape 3
Construire la matrice de transformation T = MW.
Matrice W :
W
a aa
a
n
1 1
1
1
11 0
1 0 01 0 0 0
Étape 4
Choisir les valeurs propres désirées: Pôles en boucle fermée. Écrire le polynôme caractéristique
correspondant.
Ce qui mène au coefficients :
s s s s s snn n
n n 1 2 1
11
1 2 n
Étape 4(exemple)
Donc, si on choisi les pôles suivants:
Cela mène à :
s js
2 410
s j s j s s s s 2 4 2 4 10 14 60 2003 2
1 2 3
Étape 5
Calcul de la matrice de gains K : Taille : 1 ligne et n colonnes.
Donc : 1
1 1 1 1n n n nK a a a T
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)r = 3% 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)JA = 1.0000 6.0000 5.0000 1.0000
% 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)JJ = 1 14 60 200
% 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)K = -199.0000 -55.0000 -8.0000% Donc les gains k1, k2 et k3 sont:» k1 = K(1)k1 = -199» k2 = K(2)k2 = -55.0000» k3 = K(3)k3 = -8.0000
Exemple #2
Soit un système représenté par les matrices suivantes :
A
0 1 0 020 0 0 00 0 0 1
0 0 012
B
01012
C
1 0 0 00 0 1 0
» 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];
MATLAB®
Solution – Est-ce contrôlable ?
Vérifions : M B AB A B A B 2 3
M
0 1 0 201 0 20 00 0
0 0
12
12
12
12
» M = ctrb(A,B);» r = rank(M)r = 4 % Oui
MATLAB®
Solution – Équation caractéristique de A
det(sI-A) donne ce polynôme de A :
Conclusion :
det sI A s s
s a s a s a s a
4 2
41
32
23 4
20
» JA = poly(A);» a1 = JA(2); a2 = JA(3); a3 = JA(4); a4 = JA(5);MATLAB®
a a a a1 2 3 40 20 0 0
Solution – Équation caractéristique désirée
En choisissant les pôles pour obtenir une dynamique ayant un temps de réponse à 2% de 2 secondes et un amortissement de 0.5. 2ième ordre.
Puisque : tss
nn
rds
4 40 5 2
4
.
Solution – Équation caractéristique désirée
Le dépassement maximal étant :
Les pôles désirés sont donc :
M ep
1 2
100% 16 3%.
1 2 3 42 2 3 10, , j
Solution – Équation caractéristique désirée
L’équation caractéristique est finalement :
Les coefficients désirés :
» 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);
MATLAB®
s s s s
s s s s
1 2 3 4
4 3 224 196 720 1600
1 2 3 424 196 720 1600
Solution – Matrice de transformation T
La matrice W étant déduite des coefficients de A, on peut obtenir la matrice T comme suit :
» W = [a3 a2 a1 1; a2 a1 1 0 ; a1 1 0 0 ; 1 0 0 0];» T=M*W;MATLAB®
T MW
0 0 1 00 0 0 19 5 0 00 9 5 0
12
12
..
Solution – Matrice des gains K
La matrice K est calculée comme suit :
» K=-[aa4-a4 aa3-a3 aa2-a2 aa1-a1]*inv(T)K = 300.2105 61.8947 168.4211 75.7895
MATLAB®
14 4 3 3 2 2 1 1
300.21 61.89 168.42 75.79
K a a a a T
Simulation (pendule inversé)
Schéma SIMULINK® :
y1 = x1 = angle du pendule (radians)y2 = x3 = position du chariot (mètres)
Simulation (pendule inversé)
y1
Temps (min)
y2Conditions initiales :x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0
Simulation (pendule inversé)
x1
Temps (min)
x2
Conditions initiales :x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0
x3
x4
Réservoir de mélange
Eau froideFC,TC
Eau chaudeFH,TH
hT
SortieF(h),T
À contrôler:• Température T• Hauteur h
Commande:• Débit eau froide FC
• Débit eau chaude FH
Modèle du réservoir de mélange
Équations :
BA A
T TA h
T TA h
C C
H s
C s
C s
C s
1 1
A
KA h
KA h
c s
c s
20
0
C
1 00 1
Paramètres du système
Voici les paramètres du système : K = 1 m2.5/min hs = 4 m Ac = 2 m2
TH = 65 °C TC = 15 °C TS = 35 °C
Matrices du modèle
Donc :
B
12
12
3 75 2 5. .A
18
14
00
C
1 00 1
» A = [-1/8 0 ; 0 -1/4]; » B = [1/2 1/2 ; 3.75 -2.5];» C = [1 0 ; 0 1];
MATLAB®
Contrôlabilité
Calcul de M :
Rang de M = 2.
M B AB
0 5 0 53 75 2 5
0 0625 0 06250 9375 0 625
. .. .
. .
. .
» M = ctrb(A,B);» r = rank(M);r = 2
MATLAB®
Équation en boucle fermée
Posant K :
Alors :
A BKk k k k
k k k k
18
12 11
12 21
12 12
12 22
154 11
52 21
14
154 12
52 22
% En symbolique» syms k11 k12 k21 k22» S = A+B*[k11 k12; k21 k22];
MATLAB®
Kk kk k
11 12
21 22
Élimination de l’interaction
Il suffit que A+BK soit diagonal, donc :
Il faut donc que :
12 12
12 22
154 11
52 21
00
k kk k
k kk k12 22
2132 11
Élimination de l’interaction
En remplaçant, on trouve que :
» S = A+B*[k11 -k22; 3/2*k11 k22] S =[ -1/8+5/4*k11, 0][ 0, -1/4-25/4*k22]
MATLAB®
A BKk
k
18
54 11
14
254 22
00
Placement des pôles
En ajustant les gains k11 et k22, on modifie la dynamique du système.
Indépendance de l’ajustement des 2 gains.
On désire un constante de temps de 2 min pour le niveau et de 5 min pour la température.
Équation caractéristique
L’équation caractéristique de A+BK est :
D’où :
det sI A BK s k s k
s s
18
54 11
14
254 22
12
15
kk
kk
11310
221125
121125
21920
Calcul de la matrice N
Il faut que BN soit une matrice diagonale.
Définissant N :
Alors :BN
n n n nn n n n
12 11
12 21
12 12
12 22
154 11
52 21
154 12
52 22
Nn nn n
11 12
21 22
Calcul de la matrice N
Pour BN diagonale, il faut :
Ce qui mène à :
BNn
nnn
54 11
254 22
1145
22425
00
1 00 1
12 12
12 22
154 11
52 21
12 22
2132 11
00
n nn n
n nn n
Calcul de la matrice N
Donc la matrice N sera : N
45
425
65
425
» syms n11 n12 n21 n22» U = B*[n11 n12; n21 n22]U =[ 1/2*n11+1/2*n21, 1/2*n12+1/2*n22][ 15/4*n11-5/2*n21, 15/4*n12-5/2*n22]» U = B*[n11 -n22; 3/2*n11 n22]U =[ 5/4*n11, 0][ 0, -25/4*n22]
MATLAB®
Simulation
y1 = Δh
Temps (min)
Échelons unitaires sur température à 1 min;sur niveau à 10 min.
y2 = ΔT
°C o
u m
Simulation
u1 = débitd’eau chaude
Temps (min)
Échelons unitaires sur température à 1 min;sur niveau à 10 min.
u2 = débit d’eau froidem
3 /min
Commande par retour de la sortie
Structure :
u t L t y t N t y td( ) ( ) ( ) ( ) ( )
N t( )y td ( ) + ( ) ( ) ( ) ( ) ( )x t A t x t B t u t u t( )
C t( )y t( )
L t( )
+
x t( )0
Représentation en boucle fermée (retour de sortie)
Équation en boucle fermée : ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) ( )
( ) ( ) ( )
x t A t B t L t C t x tB t N t y t
y t C t x td
Observateur d’état(préambule)
Considérons le système suivant :
On peut faire l’approximation de l’état du système comme suit :
x Ax Buy C x
~ ~ ~x A x B u K y C xe e e e
Observateur d’état
L’approximation est l’observateur d’état. En utilisant u et y comme entrée, il déduit la valeur du vecteur d’état.
~ ~ ~x A x B u K y C xe e e e
Schéma bloc d’un observateur d’état
~ ~ ~x A x B u K y C xe e e e y t( )
u t( ) ~ ( )x t
~ ( )x t 0
Terme de correctio
n
Observateur d’état complet
Schéma bloc :
P t( )y td ( ) ( ) ( ) ( ) ( ) ( )x t A t x t B t u t u t( )
C t( )y t( )
x t( )0
~ ~ ~x A x B u K y C xe e e e y t( )~ ( )x t
~ ( )x t 0
+
+
K t( )
Observateur d’état complet(Erreur)
L’erreur est évaluée comme suit :
Si les paramètres de l’observateur sont identiques aux paramètres réels, cela simplifie l’équation.
~ ~
~x x Ax A x Bu B u
K Cx C xe e
e e
Observateur d’état complet(Erreur – suite)
Donc, comme Ae = A, Be = B et Ce = C:
La dynamique du vecteur d’erreur « e » est définie par les valeurs propres de la matrice A-KeC.
~ ~
x x A K C x x
e A K C ee
e
Observateur d’état complet(Dynamique de l’erreur)
Les valeurs propres de la matrice A-KeC sont ajustés pour que la dynamique soit beaucoup plus rapide que la dynamique du système réel.
e A K C ee
Observateur d’état complet(Condition essentielle)
Pour pouvoir réaliser un observateur d’état, il faut que le système soit observable. Rang(N) = n
Matrice d’observabilité N :
N C A C A Cn
* * * * *1
Exemple de conception d’un observateur d’état complet
Soit le système suivant :
A
0 1 00 0 11 5 6
B
001
C 1 0 0
Étape 1
Vérifier si le système est observable: Matrice d’observabilité
Rang(N) = 3 = n observable.
N C A C A C
* * * * *21 0 00 1 00 0 1
Étape 2 (si complètement observable)
Du polynôme caractéristique de la matrice A, déterminer les coefficients a1, a2, ..., an :
Polynôme caractéristique : det sI A s a s a s an n
n n 1
11
Étape 2 (si complètement contrôlable)
Ainsi, pour l’exemple :
Donc :
det sI A s s s 3 26 5 1
aaa
1
2
3
651
Étape 3
Construire la matrice de transformation Q = (WN*)-1.
Rappel - Matrice W :
W
a aa
a
n
1 1
1
1
11 0
1 0 01 0 0 0
Étape 4
Choisir les valeurs propres désirées: Pôles en boucle fermée. Écrire le polynôme caractéristique
correspondant.
Ce qui mène au coefficients :
s s s s s snn n
n n 1 2 1
11
1 2 n
Étape 4(exemple)
Donc, si on choisi les pôles suivants:
Cela mène à :
s js
4 810
s j s j s s s s 4 8 4 8 10 18 160 8003 2
1 2 3
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
Exemple sur MATLAB®
(suite)
% Calcul du polynôme caractéristique» JA = poly(A)JA = 1.0000 6.0000 5.0000 1.0000
% 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’);
Exemple sur MATLAB®
(suite)
% 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)JJ = 1 18 160 800
% 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 Ke» Ke=Q*[aa3-a3;aa2-a2;aa1-a1]Ke = 12.0000 83.0000 241.0000
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 :
199 55 8K