Commande en espace d’état

Slides:



Advertisements
Présentations similaires
Eléments d'algèbre linéaire
Advertisements

La Méthode de Simplexe Standardisation
« Systèmes électroniques »
III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES
TP2 SIMULATEUR NUMERIQUE 2 – SIMULINK – PENDULE SIMPLE
Cours 8 Problèmes de dynamiques : techniques de résolution pas-à-pas
Notion d ’état interne Démontrer le résultat trouvé pour s(t) :
SuivantPrécédent ESSI 1 - Auto TS © Jean-Paul Stromboni (Mai 2000) Consolidation: tester les connaissances acquises 1 Etude de la commande du système.
Chapitre 6: Stabilité des systèmes bouclés linéaires
Oscillations libres des systèmes à deux degrés de liberté
Unité #1 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
Unité #2 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
Calcul numérique (avec Maple)
Évaluation des interactions Guy Gauthier ing.Ph.D. SYS Été 2011.
Chapitre VII :Commande par retour d’état
Asservissement et régulation continue
Cours d’Automatique MASTER OIV
Guy Gauthier, ing., Ph.D. Session été 2013.
Guy Gauthier ing. Ph.D. SYS Été 2013
Rappel... Sous-espaces de Rn: Définition;
Concepts avancés en mathématiques et informatique appliquées
VI-1 Introduction VI-2 Représentation d’état
Modèle mathématique (simplifié) d’un vélo
Examen partiel #2 Mercredi le 15 novembre de 13h30 à 15h20
Réduction de l’interaction d’un système MIMO
Rappel... Solution itérative de systèmes linéaires (suite et fin).
LIEU DES PÔLES.
Les Systèmes asservis.
La droite dans R2 Montage préparé par : André Ross
Rappel... Formes échelon et échelon réduit Pivots Span
Conception d’un contrôleur de vitesse d’un vérin hydraulique
Régulateur de vitesse PID pour automobile
Conception d’un contrôleur de position polynomial avec Intégrale
GPA-783 Asservissement numérique en temps réel
Régulateur de vitesse PI pour automobile
Représentation des systèmes dynamiques dans l’espace d’état
Systèmes mécaniques et électriques
Représentation des systèmes dynamiques dans l’espace d’état
Représentation des systèmes dynamiques dans l’espace d’état
Guy Gauthier, ing., Ph.D. Session automne 2012.
Courbes de Hermite Michael E. Mortenson, Geometric Modeling. Wiley, 1997, 523p.
Optimisation linéaire
Géométrie analytique Relations entre deux droites Remarque:
Factorisation de trinômes
1°) Identification Réponse du système étudié à un échelon unitaire
Alors, sur retour unitaire
Messages Pas de dépannage mardi le 26 à 11h30. Achat de groupe de Matlab version étudiante?
Analyse des systèmes linéaires types
Primitives Montage préparé par : André Ross
Sous-espaces vectoriels engendrés
l’algorithme du simplexe
ASI 3 Méthodes numériques pour l’ingénieur
Le principe de superposition ou Diviser pour régner.
Cours du 25 octobre Mardi le 24 octobre
Rappel... Diagonalisation. Transformations linéaires.
Citation Organisation  Dans un premier temps, nous présenterons la résolution mathématique du problème des congruences simultanées avec des différents.
La décomposition en valeurs singulières: un outil fort utile
 La fondation des réseaux neuronaux : L’être humain apprend d’abord par analogie, et le raisonnement inductif et déductif vient après.  La fondation.
Rappel... Valeurs propres et vecteurs propres. Définitions;
Etude des critères de performance : Pour une consigne d’entrée
1. Présentation générale du système
Suites numériques Définitions.
Chapitre 3-B : AUTOMATIQUE : LES S.L.C.I.
Physique 3 Vibrations linéaires et ondes mécaniques
Guy Gauthier, ing., Ph.D. 6 janvier 2015
Conception d’un asservissement
Modélisation de systèmes ayant des réactions chimiques
Contenu du cours : Principe de la commande par retour d'état
Notion d ’état interne Démontrer le résultat trouvé pour s(t) :
Régression linéaire (STT-2400)
Transcription de la présentation:

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) Équation en boucle fermée :

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

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.

Exemple de design Soit le système suivant :

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

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

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

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

Étape 3 (exemple) Construire la matrice W :

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

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

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

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

Étape 5 (exemple) Dans l’exemple :

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

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 sur SIMULINK® (schéma bloc)

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

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

Solution – Est-ce contrôlable ? Vérifions : » 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 : » JA = poly(A); » a1 = JA(2); a2 = JA(3); a3 = JA(4); a4 = JA(5); MATLAB®

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 :

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

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®

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®

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®

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)

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)

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)

Réservoir de mélange À 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 :

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 : MATLAB® » A = [-1/8 0 ; 0 -1/4];

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

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

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

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

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

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

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

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, 0] [ 0, -25/4*n22] MATLAB®

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)

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)

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)

Commande par retour de la sortie Structure :

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

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

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.

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

Observateur d’état complet Schéma bloc :

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.

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.

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.

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 :

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

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

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

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

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

Étape 3 (exemple) Construire la matrice W :

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

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

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

Étape 5 Calcul de la matrice de gains Ke :

Étape 5 (exemple) Dans l’exemple :

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

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

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) y =x1 Amplitude 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 :

Exemple sur SIMULINK® (schéma bloc)

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