1 / 82

Commande en espace d’état

Commande en espace d’état. Guy Gauthier ing . Ph.D . SYS-823 - Juillet 2011. 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).

dmitri
Download Presentation

Commande en espace d’état

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Commande en espace d’état Guy Gauthier ing. Ph.D. SYS-823 - 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 : • 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 » 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

  19. 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;

  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 ; 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);

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

  22. Exemple sur SIMULINK®(schéma bloc)

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

  24. Exemple #2 • Soit un système représenté par les matrices suivantes : » 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®

  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 :

  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; 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®

  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 ; a1 1 0 0 ; 1 0 0 0]; » 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 = 300.2105 61.8947 168.4211 75.7895 MATLAB®

  32. Simulation (pendule inversé) • Schéma SIMULINK® : 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 Temps (min)

  34. Simulation (pendule inversé) Conditions initiales : x1 = 0.1; x2 = 0 ; x3 = 0 ; x4 = 0 x2 x3 x1 x4 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 : » A = [-1/8 0 ; 0 -1/4]; » B = [1/2 1/2 ; 3.75 -2.5]; » C = [1 0 ; 0 1]; MATLAB®

  39. Contrôlabilité • Calcul de M : • Rang de M = 2. » 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, 0] [ 0, -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 : » 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®

  48. Simulation • Schéma SIMULINK® : y1 = x1 = Δ niveau (mètres) y2 = x2 = Δ température (°C)

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

  50. Simulation u2 = débit d’eau froide Échelons unitaires sur température à 1 min; sur niveau à 10 min. m3/min u1 = débit d’eau chaude Temps (min)

More Related