Vous êtes sur la page 1sur 3

-Université De M’sila-

-Département de Génie Electrique -


-Travaux Pratiques commande avancée -
-Spécialité : Master Commande électrique –M2-
-Année 2020/2021-

Responsable du Module : Dr. BENYOUNES Abdelhafid

TP1 : Commande par retour d’état d’un pendule inversé

Durée :2h00m
Compte rendu : En binôme, exceptionnellement en trinôme.
Date de fourniture du compte rendu : Mardi 29 Dec 2020.A déposer sur Moodle sous
Forme d’un fichier PDF de nom :"TP1_CMD_nom eleve1_nom eleve2.pdf".
Nombre de pages : 8 à 10 pages acceptées,
Pour le compte rendu, l’objectif n’est pas d’avoir du code Matlab, mais de fournir
Des réponses, des commentaires, des conclusions pertinentes basées sur des courbes
Précises et bien choisies.

I- Objectifs :

✓ Modélisation et simulation d’un pendule inversé


✓ Commande par retour d’état d’un tel système
✓ Commande par retour d’état avec intégrateur

II- Modélisation d’un pendule inversé :


On considère un pendule inverse fixé sur un chariot. La barre pivote librement autour d’un axe du chariot
perpendiculaire au plan. Le chariot est soumis à une force u. On note
— θ, l’angle entre l’axe vertical et la barre
— p, la position du chariot.
— m, la masse de la barre, supposée concentrée en son centre de gravité situé à la distance L du point de
rotation.
— M , la masse du chariot.
Les frottements sont supposés négligeables dans l’étude de la rotation de la barre et dans celle de la translation du
chariot.

FIGURE 1 –
Schéma du pendule inverse

1
Les équations de la mécanique d’un tel système sont

  mL cos 2  − ( M + m) L  − mL 2 sin  cos  + ( M + m) g sin  = u cos  (1)


p  m cos 2  − ( M + m)  + mL 2 sin  − mg sin  cos  = −u (2)
▪ Linéarisation

On étudie ici le mouvement du système "chariot+barre" autour d’une position d’équilibre θ = 0, p (p quel-
conque).
1. Montrer qu’un modèle linéarisé au premier ordre (termes du second ordre négligés) est :

 0 1 0 0  0 
   m + M      
   g 0 0 0   − 1 

 =   ML      ML 
+
 p   u
0 0 0 1  p   0 
    
 p    − mg    p   1 
   0 0 0  M 
  M  

2. Application numérique : m = 0.5kg, M = 5kg, L = 1m, g = 9.8m/s2.


— Sur la maquette seules les positions sont mesurées (θ, p). Écrire l’équation de sortie (y =Cx + Du).
— Calculer les pôles du système (fonctions Matlab : (ss) pour définir le système puis (pole) pour calculer
les poles).

III. Loi de commande par retour d’état

Dans cette question on suppose que l’on a accès à tous les états (comme si des capteurs fournissaient
position (θ, p) et vitesse (θ̇, ṗ)).
— Peut-on, à l’aide d’un retour d’état statique, stabiliser la barre autour d’une position d’équilibre
instable θ = 0, p (p quelconque)?
— Peut-on placer où l’on veut l’ensemble des pôles de ce système ?
— Si oui, calculer (avec matlab) le retour d’état K permettant de placer les pôles en −1  j et -2  2j
— Construisez le schéma simulink de la boucle fermée avec la commande u = − Kx + r et tracer la
réponse de x(t) et de u(t) en régime libre (v = 0) pour les conditions initiales suivantes,
 ( 0) = 0.1rd , ( 0) = 0rd / s, p ( 0 ) = 0.1m et p ( 0 ) = 0m / s.
— Tracer x1 (t ), x2 (t ), x3 (t ), x4 (t ), u(t ) sur une même figure mais avec cinq systèmes d’axes différents :
voir l’annexe.
III. Loi de commande par retour d’état avec intégrateur

Afin d’éliminer l’erreur d’un système, on introduit au régulateur par retour d’état un contrôle intégral ceci en
ajoutant une variable d’état notée xi à la sortie de l’intégrateur avec : xi = r − Cx
▪ Donner les nouvelles matrices (A,B,C,D)
▪ calculer (avec matlab) le retour d’état K permettant de placer les pôles en −1  j et -2  2j
▪ Construisez le schéma simulink de la boucle fermée avec la commande u = − Kx + ke xi + r
2
▪ Tracer la réponse de x(t) et de u(t) en régime libre (r = 0) pour les conditions initiales suivantes,
 ( 0) = 0.1rd , ( 0) = 0rd / s, p ( 0 ) = 0.1m et p ( 0 ) = 0m / s.
▪ Tracer x1 (t ), x2 (t ), x3 (t ), x4 (t ), u(t ) sur une même figure.

III. Animation
Matlab propose une animation de pendule inverse : taper "penddemo" dans la fenêtre de travail de Matlab.
vous pourrez faire une animation du même type en utilisant le régulateur par retour d’état.

IV. Annexe

f1=figure(1) ;
set(f1,’position’,[1 305 672 500]) subplot(321),plot(tout,x(
:,1)),title(’angle’),grid, subplot(323),plot(tout,x(
:,2)),title(’dérivée angle’),grid subplot(322),plot(tout,x(
:,3)),title(’position’),grid, subplot(324),plot(tout,x(
:,4)),title(’dérivée position’),grid
subplot(325),plot(tout,u),title(’la commande’),grid

Vous aimerez peut-être aussi