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

Contenu du cours : Principe de la commande par retour d'état

Présentations similaires


Présentation au sujet: "Contenu du cours : Principe de la commande par retour d'état"— Transcription de la présentation:

1 Commande en boucle fermée et par retour d’état de l'alunissage de Lunar Lander
Contenu du cours : Principe de la commande par retour d'état Effet de la discrétisation sur les valeurs propres Reproduire le temps de réponse d’une valeur propre réelle Reproduire le temps de croisement de deux valeurs propres complexes conjuguées Commande par retour d’état de la vitesse de Lunar Lander Comparaisons de deux retours d’état pour l’alunissage * document et script solution du TD doc : TD4RetourEtat.sce et TD4.sce. 14/04/2017

2 Principe de la commande par retour d’état
À tout instant, le vecteur de commande est calculé à partir de la valeur du vecteur d’état retourné par les capteurs, et du vecteur d’état désiré, ou consigne. Soit l’équation d’état : Voici la loi de commande par retour d’état : Cn est la consigne, ou référence, de la commande Cn – Xn est l’erreur de commande K est la matrice de commande ou de gain du retour d’état il s’agit d’un système en boucle fermée, loi de commande+équation d’état, ou encore d’une contre réaction (feedback) 14/04/2017

3 Formulation du retour d'état pour Lunar Lander
Ad- BdK est la matrice d’état du système bouclé BdK est la matrice de commande K est une matrice (2 lignes, 4 colonnes) Question : comment calculer K ? 14/04/2017

4 Calcul de K par placement des valeurs propres de la matrice d’état du système bouclé (pole mapping)
Les valeurs propres vd de la matrice d’état, qui sont aussi les pôles de la fonction de transfert, ou encore les racines du polynôme caractéristique, déterminent le comportement dynamique d’un système en temps discret : La stabilité au sens EBSB (si |vd| < 1) La rapidité (plus la partie réelle de vd est faible en valeur absolue, et plus le temps de réponse est petit) Si vd=0, on obtient la réponse pile, réponse en temps fini ! La forme du régime transitoire : Une valeur propre vd réelle donne un régime transitoire apériodique Valeurs propres complexes conjuguées vd et vd* : régime sinusoïdal amorti On calcule K de façon à imposer les valeurs propres de Ad-BdK 14/04/2017

5 Effet de la discrétisation sur les valeurs propres
Soit un processus en temps continu de matrice d’état A discrétisé à la période d’échantillonnage Te. On démontre que Ad, la matrice d’état du processus discrétisé vaut : En conséquence, on obtient les valeurs propres vd de la matrice Ad à partir des valeurs propres v de la matrice A en utilisant la relation : On utilise ce résultat pour reproduire dans un système discret le comportement dynamique connu d’un processus continu : Du premier ordre, c’est-à-dire doté d’une unique valeur propre v réelle Du second ordre, c’est-à-dire doté d’une paire de valeurs propres complexes conjuguées : v, v* 14/04/2017

6 Reproduction du comportement apériodique du premier ordre : une valeur propre réelle –a imposant un temps de réponse 3/a racine équation caractéristique racine équation caractéristique Quelle est la relation entre z et p ? 14/04/2017

7 Reproduction du comportement indiciel sinusoïdal amorti du second ordre : deux valeurs propres complexes conjuguées tc tr5% 14/04/2017

8 Étude de l’effet de l'amortissement réduit m et de la pulsation propre w0 sur le temps de réponse à 5% (en abscisse, on porte t/ w0 et non t) m tr5% 0.1 0.456 0.707 1 2 14/04/2017

9 Abaque en fonction de l’amortissement réduit m tracé par Matlab (on note qu’au minimum on a tr5%= 2.93/w0 et tc= 3.4/w0) 14/04/2017

10 Placement des pôles (valeurs propres) avec Scilab
Après avoir déterminé les valeurs propres souhaitées pour la matrice d’état du système bouclé, il faut calculer la matrice K La fonction ‘ppol’ de Scilab calcule la matrice K telle que les valeurs propres de la matrice Ad-BdK sont celles d’un vecteur vp=[v1,v2,v3,v4] imposé. Restriction de ‘ppol’ : on doit appliquer ppol séparément pour les 2 entrées de commande de Lunar Lander. En fait K=[Kh,0,0;0,0,Kv] avec Kh=ppol(ad(1:2,1:2), bd(1:2,1), vz(1:2)); Kv=ppol(ad(3:4,3:4), bd(3:4,2), vz(3:4)); Application à la commande de la vitesse de Lunar Lander avec Matlab et la fonction ‘place’ (au lieu de ‘ppol’ en Scilab) 14/04/2017

11 Réglage de la commande en vitesse de Lunar Lander (saisir ‘v’ au clavier pour ce mode de contrôle)
Les équations à considérer (d’ordre deux, donc plus simples): La discrétisation donne : La loi de commande est avec La matrice d’état est : Deux valeurs propres : Exemple : fixer des valeurs propres nulles : 14/04/2017

12 Calcul de la commande en vitesse de Lunar Lander avec deux valeurs propres nulles (réponse pile de durée Te) Pour calculer le gain K du retour d’état donnant la réponse pile, Matlab utilise la fonction place(.) car il y a plusieurs entrées de commandes. La fonction ltiview de Matlab calcule le retour à l'équilibre depuis l'état x0=[1;1]. mvide= 6839; mfuel=816.5; m= mvide + mfuel ve=4500; erg = ve/m; Te=0.04; A=zeros(2); B=[erg,0;0,erg]; C=eye(2); ll=ss(A,B,C,0); lld=c2d(ll,Te); ad=get(lld,'a') bd=get(lld,'b') % spécification des valeurs propres vecpol=[0 0] K=place(ad,bd,vecpol); % donne k1= 42.53, k2= 42.53 x0=[1;1]; sbf=ss(ad-bd*K, bd*K, C, 0, Te); ltiview('initial',sbf,x0) maxCom=max(K) % donne maxCom=42.53 14/04/2017

13 Calcul de la commande en vitesse de Lunar Lander avec deux valeurs propres réelles et non nulles : 0.5 et 0.75 mvide= 6839; mfuel=816.5; m= mvide + mfuel ve=4500; % vitesse éjection gaz erg = ve/m; Te=0.04; A=zeros(2); B=[erg,0;0,erg]; C=eye(2); ll=ss(A,B,C,0); lld=c2d(ll,Te); ad=get(lld,'a') bd=get(lld,'b') % choix des valeurs propres vecpol=[0.5, 0.75] K=place(ad,bd,vecpol); % donne k1= 21.27, k2= 10.63 x0=[1; 1]; initial(ss(ad-bd*K,bd*K,C,0,Te),x0) maxCom=max(K) % maxCom= 21.27 14/04/2017

14 Commande en vitesse de LL avec deux valeurs propres complexes conjuguées (m=sqrt(2)/2, w0=1rd/s)
mvide= 6839; mfuel=816.5; m= mvide + mfuel ve=4500; erg = ve/m; Te=0.04; A=zeros(2); B=[erg,0;0,erg]; C=eye(1,2); ll=ss(A,B,C,0); lld=c2d(ll,Te); ad=get(lld,'a') bd=get(lld,'b') % calcul des valeurs propres pol=[-1+i, -1-i]*sqrt(2)/2 vecpol=exp(Te*pol) K=place(ad,bd,vecpol); % x0=[1;-1]; initial(ss(ad-bd*K,bd*K,C,0,Te),x0) maxCom=max(K) % maxCom = 1.206 14/04/2017

15 Alunissage avec des valeurs propres réelles, sur les deux axes horizontal et vertical, et tr5%=4s
Saisir ‘e’ au clavier pour le mode retour d’état, Le fichier Kre.txt contient 8 valeurs : , 1.11, 0.0, 0.0, , 0.0, 0.33, 1.11 On impose quatre valeurs propres réelles, telles que tr5%=4s Qu’est ce qu’on constate ? 14/04/2017

16 Alunissage avec des valeurs propres complexes conjuguées, sur les axes horizontal et vertical, m=sqrt(2)/2 et tr5%=4s Scilab a trouvé la matrice K suivante : Il y a 8 valeurs dans le fichier Kre.txt, Les valeurs propres sont des paires complexes conjuguées avec tr5%=4s, w0=1 rd/s et m=sqrt(2)/2 Vérifier : le temps de croisement tc vaut 4.6s quand tr5% vaut 4s 14/04/2017


Télécharger ppt "Contenu du cours : Principe de la commande par retour d'état"

Présentations similaires


Annonces Google