Faculté de technologie – TLEMCEN Département de Génie Electrique & Electronique Option : Commandes Electriques Niveau : M2 EC 941 : TP commande non linéaire TP N° 02 La commande par Backstepping Groupe : G1 | S/Groupe : G12 Présenté par : • • • BOUCHENTOUF IMADEDDINE BOUDJEMAA ABDELHAK ELASRI MOHAMMED Année universitaire : 2021/2022 Table des matières 1-Représentation d’état .............................................................................................. 3 2-Détermination de la commande appropriée permettant de commander le système pour un angle désiré en θ = 0 ..................................................................................... 3 3-Traçage des trajectoires du système en boucle fermée pour une valeur initiale proche de zéro ............................................................................................................ 6 4-Traçage des trajectoires du système en boucle fermée pour une valeur initiale éloignée de zéro .......................................................................................................... 7 5-Comparaison des résultats avec le TP précédent .................................................... 9 6-Conclusion : .......................................................................................................... 10 Soit l’équation dynamique d’un pendule : Avec Objectif : Stabilisation de pendule autour d’une position angulaire θ = 0. 1- Représentation d’état On écrit le système sous forme d'état 2- Détermination de la commande appropriée permettant de commander le système pour un angle désiré en θ = 0 • Etape1 : La fonction de Lyapunov • Etape2 : u= -m.l².x1+m.g.l.sin(x1) - k.k1.l².x1 - k1.m.l².e2+k1².m.l².x1 - k2.e2 3- Traçage des trajectoires du système en boucle fermée pour une valeur initiale proche de zéro ▪ On choisit k1= 2, k2= 5 , t= 3.5s Scripte Matlab 1- La fonction : function dx = pendule (t,x) g = 9.8; l=1; m=0.125; k=0.025; k1=2; k2=5; x2_ref=-k1*x(1); e2=x(2)-x2_ref; u=-m*l^2*x(1)+m*g*l*sin(x(1))k*k1*l^2*x(1)k1*m*l^2*e2+k1^2*m*l^2*x(1)-k2*e2; dx=[x(2);-g/l*(sin(x(1)))-k/m*x(2)+1/(m*l^2)*u]; end 2- Le programme principal : clear all clc tspan= [0 3.5]; y0 = [1 4]; [t,y] = ode45('pendule',tspan, y0); plot(t,y(:,1)) hold on plot(t,y(:,2)) grid on ▪ Résultat obtenu # Commentaires : ▪ Le pendule oscille une fois mais le Backstepping a obligé le pendule à stabiliser vers le 0 rapidement ▪ Le temps de réponse pour ces valeurs de k1 et k2 est petit ( T= 2.5s) ▪ La valeur minimale de l’oscillation de pendule est proche de -2 ( l’erreur ) 4- Traçage des trajectoires du système en boucle fermée pour une valeur initiale éloignée de zéro ▪ On choisit k1= 80 , k2= 110 , t= 0.1s Scripte Matlab 1- La fonction : function dx = pendule (t,x) g = 9.8; l=1; m=0.125; k=0.025; k1=80; k2=110; x2_ref=-k1*x(1); e2=x(2)-x2_ref; u=-m*l^2*x(1)+m*g*l*sin(x(1))k*k1*l^2*x(1)k1*m*l^2*e2+k1^2*m*l^2*x(1)-k2*e2; dx=[x(2);-g/l*(sin(x(1)))-k/m*x(2)+1/(m*l^2)*u]; end 2- Le programme principal : clear all clc tspan= [0 0.1]; y0 = [1 4]; [t,y] = ode45('pendule',tspan, y0); plot(t,y(:,1)) hold on plot(t,y(:,2)) grid on ▪ Résultat obtenu # Commentaires : ▪ Le pendule oscille une fois mais le Backstepping a obligé le pendule à stabiliser vers le 0 très rapidement ▪ Le temps de réponse pour ces valeurs de k1 et k2 est très petit ( T= 0.08s) donc le backstepping dans ce cas est tes rapide ▪ La valeur minimale de l’oscillation de pendule (l’erreur ) est proche de -65 (un grand pique) 5- Comparaison des résultats avec le TP précédent Dans le TP précédent on a fait la stabilisation d’un système non linéaire avec la méthode de linéarisation et dans ce TP on fait la même chose mais avec une autre méthode qui est le Backstepping Donc lorsque on compare on trouve que me principe de ces méthode est différent mais le résultats sont presque les même ( système stable a la fin ) sauf que le backstepping et plus rapide que la méthode de linéarisation 6- Conclusion : La commande backstepping permet de stabiliser les systèmes non-linéaires Le temps de réponse pour cette méthode dépend des valeurs des gains K1 et K2 Si ses valeurs sont grandes donc le temps de réponse sera petit et on va avoir une grande pique de l’oscillation par contre s’ils sont petits le temps de stabilisation sera grand mais on avoir un petit pique de l’oscillation Dons les valeurs des gain K1 et K2 influent sur le temps de réponse ainsi que l’erreur Pour éviter d’avoir un pique d’erreur grande en réduit les valeurs de gains k1 et k2