La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Commande en espace d’état

Présentations similaires


Présentation au sujet: "Commande en espace d’état"— Transcription de la présentation:

1 Commande en espace d’état
Guy Gauthier ing. Ph.D. SYS Juillet 2011

2 Représentation en boucle ouverte
Équation : m entrées, p sorties, n équations d’état linéaires.

3 Commande par retour d’état linéaire
Structure :

4 Représentation en boucle fermée (retour d’état linéaire)
Équation en boucle fermée :

5 Contrôlabilité Au préalable, il faut vérifier si le système est contrôlable. Rang(M)=n Matrice de contrôlabilité M :

6 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.

7 Exemple de design Soit le système suivant :

8 Étape 1 Vérifier si le système est contrôlable:
Matrice de contrôlabilité Rang(M) = 3 = n  contrôlable.

9 É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 :

10 Étape 2 (si complètement contrôlable)
Ainsi, pour l’exemple : Donc :

11 Étape 3 Construire la matrice de transformation T = MW. Matrice W :

12 Étape 3 (exemple) Construire la matrice W :

13 Étape 3 (fin exemple) Obtenir la matrice de transformation T : Ici :

14 É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 :

15 Étape 4 (exemple) Donc, si on choisi les pôles suivants: Cela mène à :
1 2 3

16 Étape 5 Calcul de la matrice de gains K : Donc :
Taille : 1 ligne et n colonnes. Donc :

17 Étape 5 (exemple) Dans l’exemple :

18 Exemple sur MATLAB® % Entrée des matrices A et B
% 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

19 Exemple sur MATLAB® (suite)
% Calcul du polynôme caractéristique » JA = poly(A) JA = % 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;

20 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 ; *j 0; ]; » JJ=poly(J) JJ = % Extraction des coefficients désirés » aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4);

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

22 Exemple sur SIMULINK® (schéma bloc)

23 Exemple sur SIMULINK® (résultats)
Amplitude x2 x1 Temps (min)

24 Exemple #2 Soit un système représenté par les matrices suivantes :
» B = [0 ; -1 ; 0 ; 0.5]; » C = [ ; ]; MATLAB®

25 Solution – Est-ce contrôlable ?
Vérifions : » M = ctrb(A,B); » r = rank(M) r = 4 % Oui MATLAB®

26 Solution – Équation caractéristique de A
det(sI-A) donne ce polynôme de A : Conclusion : » JA = poly(A); » a1 = JA(2); a2 = JA(3); a3 = JA(4); a4 = JA(5); MATLAB®

27 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 :

28 Solution – Équation caractéristique désirée
Le dépassement maximal étant : Les pôles désirés sont donc : mu 1 et 2 sont les pôles dominants correspondant à une fréquence propre de 4 rd/s et un amortissement de 0.5 mu 3 et 4 sont placés loin à gauche pour minimiser leur effets sur le système

29 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; *sqrt(3)*j 0 0; ; ]; » JJ = poly(J); » aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4); aa4 = JJ(5); MATLAB®

30 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 ; a ; ]; » T=M*W; MATLAB®

31 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 = MATLAB®

32 Simulation (pendule inversé)
Schéma SIMULINK® : x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) y1 = x1 = angle du pendule (radians) y2 = x3 = position du chariot (mètres)

33 Simulation (pendule inversé)
Conditions initiales : x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0 y2 y1 x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) Temps (min)

34 Simulation (pendule inversé)
Conditions initiales : x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0 x2 x3 x1 x4 x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) Temps (min)

35 Réservoir de mélange À contrôler: Température T Hauteur h Commande:
Débit eau froide FC Débit eau chaude FH

36 Modèle du réservoir de mélange
Équations :

37 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

38 Matrices du modèle Donc : MATLAB® » A = [-1/8 0 ; 0 -1/4];

39 Contrôlabilité Calcul de M : Rang de M = 2. MATLAB® » M = ctrb(A,B);
» r = rank(M); r = 2 MATLAB®

40 Équation en boucle fermée
Posant K : Alors : % En symbolique » syms k11 k12 k21 k22 » S = A+B*[k11 k12; k21 k22]; MATLAB®

41 Élimination de l’interaction
Il suffit que A+BK soit diagonal, donc : Il faut donc que :

42 É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, ] [ , -1/4-25/4*k22] MATLAB®

43 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.

44 Équation caractéristique
L’équation caractéristique de A+BK est : D’où :

45 Calcul de la matrice N Il faut que BN soit une matrice diagonale.
Définissant N : Alors :

46 Calcul de la matrice N Pour BN diagonale, il faut : Ce qui mène à :

47 Calcul de la matrice N Donc la matrice N sera : MATLAB®
» 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] [ 5/4*n11, ] [ , -25/4*n22] MATLAB®

48 Simulation Schéma SIMULINK® : y1 = x1 = Δ niveau (mètres)
x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) y1 = x1 = Δ niveau (mètres) y2 = x2 = Δ température (°C)

49 Simulation °C ou m y1 = Δh y2 = ΔT Temps (min) Échelons unitaires
sur température à 1 min; sur niveau à 10 min. x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) Temps (min)

50 Simulation u2 = débit d’eau froide m3/min u1 = débit d’eau chaude
Échelons unitaires sur température à 1 min; sur niveau à 10 min. m3/min x1 = angle du pendule (radians) x2 = vitesse angulaire du pendule (radians par secondes) x3 = position du chariot (mètres) x4 = vitesse du chariot (mètres par secondes) u1 = débit d’eau chaude Temps (min)

51 Commande par retour de la sortie
Structure :

52 Représentation en boucle fermée (retour de sortie)
Équation en boucle fermée :

53 Observateur d’état (préambule)
Considérons le système suivant : On peut faire l’approximation de l’état du système comme suit :

54 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.

55 Schéma bloc d’un observateur d’état
Terme de correction

56 Observateur d’état complet
Schéma bloc :

57 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.

58 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.

59 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.

60 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 :

61 Exemple de conception d’un observateur d’état complet
Soit le système suivant :

62 Étape 1 Vérifier si le système est observable: Matrice d’observabilité
Rang(N) = 3 = n  observable.

63 É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 :

64 Étape 2 (si complètement contrôlable)
Ainsi, pour l’exemple : Donc :

65 Étape 3 Construire la matrice de transformation Q = (WN*)-1.
Rappel - Matrice W :

66 Étape 3 (exemple) Construire la matrice W :

67 Étape 3 (fin exemple) Obtenir la matrice de transformation Q : Ici :

68 É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 :

69 Étape 4 (exemple) Donc, si on choisi les pôles suivants: Cela mène à :
1 2 3

70 Étape 5 Calcul de la matrice de gains Ke :

71 Étape 5 (exemple) Dans l’exemple :

72 Exemple sur MATLAB® % Entrée des matrices A et B
% 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

73 Exemple sur MATLAB® (suite)
% Calcul du polynôme caractéristique » JA = poly(A) JA = % 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’);

74 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 ; *j 0; ]; » JJ=poly(J) JJ = % Extraction des coefficients désirés » aa1 = JJ(2); aa2 = JJ(3); aa3 = JJ(4);

75 Exemple sur MATLAB® (suite)
% Calcul de la matrice de gains Ke » Ke=Q*[aa3-a3;aa2-a2;aa1-a1] Ke =

76 Exemple sur SIMULINK® (schéma bloc)

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

78 Exemple sur SIMULINK® (schéma bloc)
[B Ke] Sous-système : Observateur

79 Exemple sur SIMULINK® (résultats)
y =x1 Amplitude erreur sur y x2 x3 Temps (min)

80 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 :

81 Exemple sur SIMULINK® (schéma bloc)

82 Exemple sur SIMULINK® (résultats)
y Temps (min)


Télécharger ppt "Commande en espace d’état"

Présentations similaires


Annonces Google