Académique Documents
Professionnel Documents
Culture Documents
Spécialité : "Robotique"
Préparé au
Laboratoire d’Informatique de Robotique et de Microelectronics de Montpellier
LIRMM UMR (CNRS-UM2) N◦ 5506
34095, Montpellier
Présenté par
Chourouk El Biad – Samy Lafnoune
Encadré par
Ahmed CHEMORI
Soutenu le
21 Février 2014
Table des matières :
8 BIBLIOGRAPHIE : ...................................................................................................... 25
9 ANNEXE : ...................................................................................................................... 26
1
1 Introduction générale :
Les systèmes mécaniques sont utilisés par l’homme depuis des siècles pour l’aider à réaliser des
missions difficiles ou nécessitantes des efforts qui dépassent ses capacités physiques. Avec
l’évolution de la robotique de nos jours et devant les problèmes délicats de modélisation et de
commande de systèmes mécaniques complexes, les outils utilisés deviennent de plus en plus
pointus.
L’un des axes les plus importants de recherche dans le domaine de la robotique concerne la
commande de systèmes mécaniques qui se divisent en trois types de mécanismes actionnés par
rapport aux nombres d’actionneurs avec le nombre de leurs degrés de liberté. Quand il ’y a plus
d’actionneurs que d’articulations dans un mécanisme, on dit que c’est un système redondant ou sur-
actionné. Un système complètement actionné compte, lui, autant d’actionneurs qu’il a de degrés de
liberté. Finalement, le type de système qu’on étudie par la suite est celui des systèmes sous-
actionnés qui ont moins d’actionneurs que de degrés de liberté.
Le pendule inversé est un système sous-actionné classique très intéressant et largement étudié dans
la communauté automaticienne, vu sa dynamique non linéaire et instable. Il a toujours constitué un
défi intéressant pour le contrôler. On trouve différentes formes de pendule inversé, les plus connus
sont : le pendule inversé pimple, le pendule inversé double, le pendule inversé de Furuta, le pendule
inversé gyroscopique etc…
Dans notre cas, l’étude s’est portée sur le pendule inversé stabilisé par un volant d’inertie car il est
pratique pour étudier ce type de systèmes sous-actionnés vu on cout et la facilité de son utilisation.
L’objectif de ce projet est de stabiliser le système démonstrateur en le ramenant vers son point
d’équilibre instable et de le maintenir dans cette position malgré la présence de perturbations
externes ponctuelles ou permanentes. Pour cela, il faut étudier et appliquer une commande robuste
capable de respecter le cahier de charge.
La première partie du travail consiste à étudier le modèle du système et ainsi appliquer des
commandes simples comme la commande par retour d’état ou la commande optimale et de les
valider par simulation.
La deuxième partie de ce projet consiste à concevoir une commande par mode glissant qui soit
adaptée au sous-actionnement de notre système et de la valider par simulation dans un premier lieu,
puis appliquer cette commande au système réel.
EL BIAD - LAFNOUNE 2
2 Contexte et état de l’art :
2.1 Les systèmes sous-actionnés
Les systèmes sous-actionnés possèdent moins d’actionneurs que de degrés de liberté. Ceci a pour
conséquence la présence de contraintes dynamiques généralement non linéaires et non intégrables.
Le sous-actionnement peut se retrouver dans plusieurs situations comme par exemple dans le cas
des véhicules tels que les avions, les hélicoptères, les robots sous-marins, etc.
Il peut aussi être intentionnellement introduit lors de la conception du système pour réduire son
poids et son coût de production. Enfin, lorsqu’une panne d’un actionneur survient, un système
mécanique complètement actionné peut devenir sous-actionné et présenter les mêmes propriétés et
difficultés.
Les satellites :
Les satellites sont un très bon exemple pour montrer l’utilité des
commandes des systèmes sous-actionnés. Lorsqu’un des actionneurs du
satellite tombe en panne, il passe d’un système complètement actionné à
un système sous-actionné. Sa réparation est donc impossible ou trop
coûteuse, pour anticiper cette défaillance technique, les satellites peuvent
alors être commandés par des lois de dédiées aux systèmes sous-
actionnés.
Les Quadrirotors:
3
3 Problématique : Stabilisation du pendule inversé à
roue d’inertie :
3.1 Description du système :
- Architecture du système :
PC de commande
Inclinomètre
Alimentation (12V)
Pendule
Variateur
de vitesse
Volant d’inertie
Figure 3.2 : Vue de la plate forme expérimentale du pendule inversé stabilisé par volant d’inertie
EL BIAD - LAFNOUNE 4
- Schéma de principe :
Le pendule inversé stabilisé par roue d’inertie (cf. figure 3.1) est un système mécanique
sous-actionné. Il dispose de deux axes de rotation et un seul actionneur.
La figure 3.1 montre que le système est constitué de trois corps : un bâti, un pendule et une roue
d’inertie. Le pendule est en rotation libre (pivot) autour du bâti alors que le volant d’inertie possède
un axe de rotation solidaire.
- Notation utilisés :
Les tableaux 1 et 2 (Voir Annexe) représentent l’ensemble des variables et constantes du
système :
Afin d’élaborer le modèle dynamique du pendule inversé stabilisé par volant d’inertie, les
hypothèses suivantes sont considérées [1] [7] :
– Hypothèse 1 : Les masses du pendule et de la roue d’inertie sont considérées comme étant des
masses ponctuelles situées à leurs centres de gravité (respectivement G1 et G2).
– Hypothèse 2 : L’étude de la dynamique du pendule inversé est réalisée en négligeant les
phénomènes mécaniques liés aux frottements.
– Hypothèse 3 : La dynamique du moteur actionneur associée au volant d’inertie n’est pas prise en
compte dans le cadre de la modélisation du système.
EL BIAD - LAFNOUNE 6
Avec L = T − V est le Lagrangien
T : L’énergie cinétique ; V : L’énergie potentielle ; Qi : Les forces généralisées appliquées à la
⎡ q1 ⎤ ⎡θ1 ⎤
coordonnée qi ; q = ⎢ ⎥ = ⎢ ⎥ Le vecteur de coordonnées généralisées.
⎣ q2 ⎦ ⎣θ 2 ⎦
- Energie cinétique total T:
T = TPendule + TRI
1
TPendule = (m1l 12 + i1 )θ!12
2
1 1
TRI = m2l 22θ!22 + i2 (θ!1 + θ!2 )2
2 2
1
Donc : T = (m1l 1 + m1l 2 + i1 ) + i2 (θ!1 + θ!2 )
2 2
2
- Energie potentielle total V:
V = VP + VRI avec :
VP = m1l1g cosθ1
VRI = m2l2 g cosθ1
Donc : V = (m1l1 + m2l2 )g cosθ1
- Dynamique du pendule :
Les équations de la dynamique du pendule inversé stabilisé par volant d’inertie peuvent être
déduites des équations d’Euler-Lagrange. Elles décrivent la dynamique du pendule et la dynamique
du volant d’inertie [1] [2].
1
θ!!1 = (C1 − C2 + m0 g sin θ1 ) : L’accélération angulaire du pendule
I
1
θ!!2 = [−i2C1 + (i2 + I )C2 − i2 m0 gsin θ1 ] : L’accélération angulaire de la roue d’inertie
Ii2
Ces équations peuvent être mises sous forme matricielle plus compacte :
⎛ I + i2 i2 ⎞ ⎛ θ!!1 ⎞ ⎛ −m0 gsin θ1 ⎞ ⎛ C1 ⎞
⎜ ⎟ + ⎟⎠ = ⎜⎝ C ⎟⎠
⎝ i2 i2 ⎠ ⎜⎝ θ!!2 ⎟⎠ ⎜⎝ 0 2
- Linéarisation du système :
La représentation d’état linéaire du pendule inversé stabilisé par volant d’inertie est obtenue
par la linéarisation de son modèle dynamique autour du point d’équilibre instable (Pendule dirigé
vers le haut).
Les pôles du système en boucle ouverte sont calculés en cherchant les solutions de l’équation
caractéristique det(A − λI) = 0. Dans le cas du pendule inversé stabilisé par volant d’inertie,
l’équation caractéristique est :λ(λ2 – m0g/I) = 0 et les pôles sont : 0; 𝑚! g/I; −𝑚! g/I . La présence
de pôles à partie réelle nulle ou positive, vient confirmer le fait que le système est naturellement
instable.
Commandabilité:
La commandabilité (appelée aussi gouvernabilité) a un impact direct sur la conception de la
loi de commande du système. Un système d’équation d’état est dit commandable (ou complètement
commandable) si pour n’importe quel état initial, il existe une commande sans contrainte permettant
de conduire le système à n’importe quel état final en un temps fini [5].
Un système est dit entièrement commandable si et seulement si le rang de sa matrice de
commandabilité C = [B AB ... A n−1 B] est égal à la dimension du système (n).
Observabilité :
L’observabilité est une propriété fondamentale nécessaire pour la conception d’un
observateur d’état. Un système est dit observable (ou complètement observable) si pour n’importe
quel état initial x0, il existe un temps fini tf telle que la connaissance de la commande et de la sortie
pour t0 et tf est suffisante pour déterminer x0.
Un système est entièrement observable si et seulement si le rang de sa matrice d’observabilité
O = [C T [CA]T ...[CA n−1 ]T ]T est égal à la dimension du système.
Dans notre cas le rang(O) = n = 3 , donc le système est entièrement observable.
Cette loi de commande consiste à trouver un retour d’état sous la forme u=-KX+Ne permettant de
stabiliser le système.
0 u X
+
-
Pendule RI
K
Figure 4.1 : Schéma bloc de la commande par retour d'état
D’après l’analyse du système, ce dernier est complètement commandable il est donc possible
d’appliquer la technique de placement de pôles, permettant de choisir le gain de retour K afin de
placer arbitrairement les valeurs propres du système en boucle fermée. Pour ce faire, il nous faut
choisir les pôles correspondants au comportement désiré en boucle fermée en se basant sur la
technique de pôles dominants. Dans le but de déterminer les deux premiers pôles relatifs à un
système standard du deuxième ordre 2, on impose à notre système un dépassement de 5% et un
−1
temps de réponse inférieur à t e5% = 0.5 sec. Ceci nous amène à déterminer w0 = 12rd.s (pulsation
propre) ξ = 0.7 (facteur d’amortissement).
K 1
H ( p) = =
2ξ 4 (s − λ1 )(s − λ2 )
1+ s + 2 s2
w0 w0
Par ce calcul, on détermine les deux premiers pôles désirés du système, et selon le principe des
pôles dominants, on trouve le 3eme pôle dont la valeur réelle doit être au moins 10 fois inférieure
aux valeurs réelles des deux premiers pôles.
9
À partir de ces pôles, il nous est possible de déterminer le polynôme caractéristique désiré de notre
système en boucle fermée [5].
n=3
PBF (s) = ∏ (s − λi,BF ) = s n + β n−1s n−1 + ... + β1s + β 0
i=1
Le contrôleur Linéaire Quadratique (LQR Linear Quadratic Regulator) est un contrôleur dit optimal
car il réalise un bon compromis entre performance et impact énergétique. Il se base sur le modèle
linéarisé du pendule.
La réalisation de ce contrôleur consiste en le calcule d’une matrice gain de retour optimale K opt
telle que la commande par retour d’état soit U = -KoptX, cette dernière doit permettre la
convergence du système global.
Le calcul de la matrice de gain optimal est déterminé par la minimisation du critère quadratique
suivant [5] :
∞
J = ∫ (X T QX + U T RU )dt
0
Avec : Q est la matrice de pondération du vecteur d’état.
R est la matrice de pondération de la commande.
Cette optimisation représente un compromis entre le temps de convergence qui est affectée par le
choix de Q et l’énergie utilisée qui est affectée par le choix de R.
La matrice gain Kopt est donc calculée avec la relation suivante :
K = R −1 BT PC
Avec Pc la solution de l’équation de RICCATI suivante [5] :
PC A + AT PC − PC BR −1 BT PC + Q = 0
EL BIAD - LAFNOUNE 10
5 Notre contribution : Approches de commande
robuste par mode glissant
5.1 Principe de la commande par mode glissant :
L’origine de la commande par mode glissant remonte aux années 60, du fait d’un besoin crucial
en robustesse dans le domaine de l’aéronautique. Elle fait partie des commandes dite robuste car
elle est insensible aux variations paramétriques et donc idéale dans le domaine de l’aéronautique
car, par exemple, la masse d’un avion varie dans le temps à cause de la combustion du carburant.
Elle est robuste aussi par rapport aux perturbations externes ainsi que les incertitudes, et peut-être
appliquer à la fois aux systèmes linéaires et non linéaires.
L’idée de cette commande consiste à amener le système sur un hyperplan de commutation stable
(appelé aussi surface de glissement), puis glisser sur la surface vers le point d’équilibre désiré,
comme le montre la figure 5.1 :
x2
Suface de glissement
x1
11
L’objectif donc est de stabiliser x1 et x2 autour de 0.
La dynamique de x1 est stable pour x2 = −α x1 , on définit donc une surface de glissement :
s = x2 + α x1 avec α > 0
Donc x!1 = x2 = −α x1 + s ce qui signifie que x1 est stable pour s = 0.
Remarque : L’évolution sur la surface de glissement est indépendante de f (x) + g(x) . Si au départ,
le point initial n’est pas sur la surface de glissement, il faudra amener le système sur cette surface.
Démonstration :
V! (s) = s( f (x) + g(x)u + α x2 )
= s( f (x) + α x2 ) + g(x)s(β (x) − Ksign(s))
= s( f (x) + α x2 ) + s(− f (x) − α x2 − Kg(x)sign(s))
= −Kg(x)s sign(s)
≤ −Kg(x) s
Donc 𝑉 est négative car g(x) > 0.
Donc la commande globale s’écrit [ ] :
u = β (x) − K tanh(s) Avec K > 0
Remarque : On remplace Sign(s) par tanh(s) pour éviter les phénomènes de réticences qui peuvent
endommager les actionneurs.
EL BIAD - LAFNOUNE 12
5.3 Adaptation de la commande au pendule inversé RI:
Nous avons vu dans le paragraphe précédant la synthèse d’une commande par mode glissant,
appliquée comme cela, cette dernière ne marche pas car la roue d’inertie ne stabilise pas vu que la
synthèse n’a était faite que sur le pendule.
Pour adapter cette commande à notre système l’astuce et de faire un changement de variable puis
une génération de trajectoire désirée du pendule basée sur ce changement de variable.
On écrit notre système sous forme de cascade [4] :
∂L
∂L z!1 = = m0 gsin(z2 )
z1 = = (I + i2 )θ!1 + i2θ!2 ∂θ1
∂θ! 1
1 i2
z2 = θ 1 et z!2 = z1 − z3
(I + i2 ) (I + i2 )
z3 = θ!2
z!3 = u
Le système est stable pour z1 = 0
1 2
On doit donc trouver un x1d = z2d pour satisfaire V (z1 ) = z1 > 0 et V! (z1 ) = z1z!1 < 0
2
On choisit donc : x1d = z2 d = −a tanh(bz1 ), 0 < a < π / 2 et b > 0
Démonstration :
X
Pendule RI
13
6 Résultats de simulations et d’expérimentations :
6.1 Application des approches 1 et 2 : Commande par retour d’état et LQ
6.1.1 Simulation dans le cas nominal avec rejet de perturbation :
On simule notre système avec la commande par retour d’état ainsi qu’avec la commande
linéaire quadratique, les conditions initiales sont fixées à X = ⎡⎣ 10° 0 0 ⎤⎦T , avec les gains
suivants :
5 Commande RE
−5
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
Evolution de la vitesse du pendule
2
d 1 (rad/s)
Commande LQ
Commande RE
0
−2
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
Evolution de la vitesse du volant
400
d 2 (rad/s)
Commande LQ
200 Commande RE
−200
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
Evolution du couple de la roue
1.4 x 10
4 Plage d’utilisation du moteur
Commande LQ
2.5
Commande RE Plage dutilisation du moteur
1.2 Plage dutilisation Max
Commande LQ
Commande RE
1 2
Vitesse du moteur (tr/min)
0.8
1.5
0.6
U (Nm)
0.4
1
0.2
0
0.5
−0.2
−0.4 0
0 1 2 3 4 5 6 7 8 9 10 0 50 100 150 200 250 300 350
Temps (s) Coupe du moteur (mNm)
Figure 6.1 : Résultats de simulation de la commande RE et LQ
Remarque : Le moteur est relié au volant d’inertie par un réducteur de 13/3, le couple et la vitesse
au niveau moteur sont calculés par les formules suivantes :
V × R × 60
Vmoteur = volant
2π
C
Cmoteur = volant
R
EL BIAD - LAFNOUNE 14
Interprétation des résultats :
On remarque que le système converge bien vers la position d’équilibre instable que ce soit
avec la commande RE ou LQ, la différence réside dans le temps de convergence, la commande RE
permet de converger plus vite que la commande LQ, mais on utilise beaucoup d’énergie et on arrive
même à la saturation du moteur.
la commande LQ permet un choix plus simple ou niveau des réglages de l’impact
énergétique par le choix de la matrice R qu’on verra par la suite.
Au bout de 6sec, on applique une perturbation au système qui est introduite via la couple
perturbateur C1 et qui a la forme d’une impulsion Dirac, le pendule se décale mais le moteur
effectue une forte accélération pour compenser cette erreur et ramène rapidement le système vers ca
position d’équilibre.
5
Q1=100;R=1e6
−5
0 1 2 3 4 5 6 7
Temps (s)
Evolution de la vitesse du pendule
2
Q1=1;R=1
d 1 (rad/s)
1 Q1=1;R=1e6
Q1=100;R=1e6
0
−1
−2
0 1 2 3 4 5 6 7
Temps (s)
Evolution de la vitesse du volant
300
Q1=1;R=1
d 2 (rad/s)
200 Q1=1;R=1e6
Q1=100;R=1e6
100
0
0 1 2 3 4 5 6 7
Temps (s)
Evolution du couple de la roue
2
1
U (Nm)
−1
−2
0 1 2 3 4 5 6 7
Temps (s)
x 10
4 Plage dutilisation du moteur
2.5
Plage dutilisation normal du moteur
Plage dutilisation Max du moteur
Q1=1;R=1
Q1=1;R=1e6
Q1=100;R=1e6
2
Vitesse du moteur (tr/min)
1.5
0.5
0
0 50 100 150 200 250 300 350
Coupe du moteur (Nm)
Figure 6.3 : Effet du choix des coefficients de pondération sur l'énergie utilisé
15
Interprétation des résultats :
Nous avons fait plusieurs essais pour mesurer l'influence des paramètres des coefficients de
pondérations Q et R sur le comportement de la commande LQ. Au début, nous avons pris Q égale à
R, puis Q très inférieur à R et Q inférieur à R. De toutes les courbes résultats, nous avons choisi de
vous présenter les résultats des Figure 6.2Figure 6.3 car elle illustre nos conclusions.
Avec R égal à Q la convergence du système est très rapide et le rejet de perturbation et très efficace,
mais l’impact énergétique est très grande et on arrive largement à la saturation du moteur, la même
remarque se fait aussi pour Q = 100 et R = 106, le choix le plus adéquat à notre utilisation est Q=1 et
R=106, il assure une convergence correcte avec un impact énergétique modéré.
5
Angle du pendule (Deg)
0 0
−5 −5
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.5 1 1.5 2 2.5 3 3.5 4
Temps (s) Temps (s)
x 10
4 Plage dutilisation du moteur avec incertitude LQ x 10
4 Plage dutilisation du moteur avec incertitude RE
2.5 2.5
Plage dutilisation normal du moteur Plage dutilisation normal du moteur
Plage dutilisation Max du moteur Plage dutilisation Max du moteur
Cas nominal Cas nominal
I=20% I=20%
I=40% 2 I=40%
2
Vitesse du moteur (tr/min)
Vitesse du moteur (tr/min)
1.5 1.5
1 1
0.5 0.5
0 0
0 50 100 150 200 250 300 0 50 100 150 200 250 300 350
Coupe du moteur (mNm) Coupe du moteur (Nm)
Figure 6.4 : Résultat de simulation pour le test de robustesse vis à vis des incertitudes
On remarque dans les deux cas que le système converge malgré les incertitudes, mais plus les
incertitudes sont élevés, plus des oscillations apparaissent, aussi l’impact énergétique et plus élevé
lorsque l’incertitude est élevée.
EL BIAD - LAFNOUNE 16
6.2 Application de la commande robuste par mode glissant
6.2.1 Simulation dans le cas nominal
L’objectif de cette simulation est de stabiliser le pendule inversé avec un volant d’inertie à partir
de la condition initiale X = ⎡⎣ 9.32 0 0 ⎤⎦T .
On choisit comme paramètre :
π
α = 8; k = 3exp(−1.5abs(s)); x1d = − tanh(z1 )
3
La Figure 6.5 représente l’évolution de la position et de la vitesse du pendule, ainsi que la vitesse du
volant d’inertie.
La Figure 6.6 représente la plage d’utilisation du moteur ainsi que le couple de la roue et la tension
appliquée au moteur.
Evolution de langle du pendule
10
Position pendule
1 (Deg)
−5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps (s)
Evolution de la vitesse du pendule
0.5
Vitesse pendule
d 1 (rad/s)
−0.5
−1
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps (s)
Evolution de la vitesse du volant
200
Vitesse Volant
d 2 (rad/s)
100
−100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps (s)
Figure 6.5 : Evolution de la position et de la vitesse du pendule ainsi que la vitesse de la roue
6
0.2
0
4
−0.2
3
V (Volt)
d 1
2
−0.4
1
−0.6
−0.8
−1
−1 −2
−0.05 0 0.05 0.1 0.15 0.2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
1 Temps (s)
x 10
4 Plage dutilisation du moteur
Evolution du couple de la roue 2.5
0.8
Plage dutilisation normal du moteur
Plage dutilisation Max du moteur
0.7 Commande SM
2
0.6
Vitesse du moteur (tr/min)
0.5
1.5
0.4
U (Nm)
0.3
0.2 1
0.1
0 0.5
−0.1
−0.2 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 50 100 150 200 250 300
Temps (s) Coupe du moteur (mNm)
Figure 6.6 : Résultats de simulation pour la commande par mode glissant dans le cas nominal
17
Interprétation des résultats :
On remarque d’après la Figure 6.5 que la position du pendule converge bien rapidement vers sa
position d’équilibre instable. On voit bien que la vitesse du volant d’inertie accélère pour ramener le
pendule à sa position d’équilibre puis stabilise à 0 lorsque le pendule converge. Pour réaliser cela on
applique une tension maximale de 6.8V au moteur qui est loin de la tension de saturation de +-10V.
On peut voir aussi que la plage d’utilisation du moteur est respectée.
On conclue que par rapport à une commande optimale, les résultats de convergence sont assez
proches mais l’impact énergétique est bien moindre avec une commande par mode glissant.
Evolution du gain dynamique k
3
2.5
2
Gain
1.5
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps (s)
Dans la Figure 6.7 on remarque que le gain varie selon la valeur de la surface de glissement, quand
l’erreur est grande, le gain est faible, et quand le système converge, le gain est grand, cela permet de
meilleurs performances tous en ayant un impact énergétique faible.
6.2.2 Simulation avec rejet de perturbation :
On simule cette fois notre système, mais on ajoute une perturbation sous forme d’impulsion
qui sera introduite sur le pendule au niveau du couple perturbateur C1.
La Figure 6.8 montre le résultat de cette simulation :
Evolution de langle du pendule
10
Position pendule
1 (Deg)
−5
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
Evolution de la vitesse du pendule
2
Vitesse pendule
d 1 (rad/s)
−1
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
Evolution de la vitesse du volant
400
Vitesse Volant
d 2 (rad/s)
200
−200
0 1 2 3 4 5 6 7 8 9 10
Temps (s)
1.5
V (Volt)
0.5
−2
−4 0
0 1 2 3 4 5 6 7 8 9 10 0 50 100 150 200 250 300
Temps (s) Coupe du moteur (mNm)
EL BIAD - LAFNOUNE 18
Dans la Figure 6.8, le système rejette la perturbation qui s’applique au bout de 6 sec, la commande
par contre est plus élevée car le système doit compenser l’énergie cinétique pris par le pendule lors
de son accélération induite par la perturbation.
6.2.3 Simulation avec des incertitudes :
6
Angle pendule (Deg)
−2
−4
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Temps (s)
Evolution de la Tension 4
8 x 10 Plage dutilisation du moteur
2.5
Cas nominal
Plage dutilisation normal du moteur
I=25%
Plage dutilisation Max du moteur
I=50% Cas Nominal
6 I=25%
2 I=50%
4
Vitesse du moteur (tr/min)
1.5
V (Volt)
0.5
−2
−4 0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 50 100 150 200 250 300
Temps (s) Coupe du moteur (mNm)
Figure 6.9 : Résultats de simulation de la commande par mode glissant dans le cas d'une incertitude
Les résultats de simulation sont très satisfaisants et permettent d’avoir une idée sur le choix des
paramètres à appliquer au système réel.
19
6.2.4 Expérimentation :
Après réalisation de toutes les simulations, on implémente l’algorithme de commande par mode
glissant sur le pc de commande, le langage utilisé est le C.
On réalise plusieurs scénarios d’expérimentation avec le pendule et on obtient les résultats
suivants :
- Scénario 1 : Cas nominal
Les courbes de la Figure 6.10 mettent en évidence les résultats de l’expérimentation dans le cas
nominal sur le pendule inversé sur une durée de 30 secondes. Dans ce premier scénario, aucune
perturbation externe n’est appliquée. On remarque que la position et la vitesse angulaire du pendule
ainsi que la vitesse du volant d’inertie oscillent autour de 0rad jusqu’à atteindre la valeur nulle. On
observe une vitesse angulaire du pendule 𝜃! très bruitée car cette dernière est calculée par
différentiation numérique de la mesure brute de l’angle du pendule qui est elle même légèrement
bruitée. On trouve des erreurs entre la simulation et l’expérimentation qui sont dues à différents
facteurs tels que la précision des capteurs, les forces de frottements et les incertitudes sur les
paramètres du système réel. Ces derniers n’ont pas été pris en compte lors de la modélisation du
système.
10 0.1
8 0
6 −0.1
d 1(rad/s)
1(Deg)
4 −0.2
2 −0.3
0 −0.4
−2 −0.5
−4 −0.6
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
6
150
100
d 2(Rad/s)
U (Volt)
50
0
−2
−50 −4
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
EL BIAD - LAFNOUNE 20
- Scénario 2 : Cas de rejet de perturbation
Ce cas met en évidence la robustesse de la commande par mode glissant vis à vis des perturbations
ponctuelles sur le pendule.
On applique une force latérale sur le pendule afin de perturber le système comme le montre la
Figure 6.11.
Dans la Figure 6.12, on remarque que le contrôleur rejette parfaitement les perturbations et stabilise
le pendule dans sa position d’équilibre.
10
0.4
8
0.2
6
d 1(rad/s)
0
1(Deg)
−0.2
2
−0.4
0
−0.6
−2
−4 −0.8
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
200 6
150 4
100 2
d 2 (Rad/s)
U (Volt)
50 0
0 −2
−50 −4
−100 −6
−150 −8
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
21
- Scénario 3 : Cas de rejet des perturbations persistantes
Ce cas consiste en une perturbation persistante représentée par une masse qui s’ajoute sur le côté du
pendule comme le montre la Figure 6.13. Le poids fixé de manière asymétrique sur le corps du
pendule induit un couple externe perturbateur agissant sur la liaison passive entre le pendule et le
bâti.
Dans la Figure 6.14, on voit que le contrôleur applique une tension continue sur le moteur, ce qui le
fait tourner en permanence afin de compenser ce couple perturbateur et ainsi permettre au pendule
de se stabiliser.
0.1
10
0
8
−0.1
6
−0.2
d 1(rad/s)
1(Deg)
4 −0.3
−0.4
2
−0.5
0
−0.6
−2
−0.7
−4 −0.8
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
150
6
100
4
d 2(Rad/s)
U (Volt)
50
2
0
0
−50 −2
−100 −4
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
Figure 6.14 : Résultats d'expérimentation dans le cas d'un rejet de perturbation persistante
EL BIAD - LAFNOUNE 22
- Scénario 4 : Combinaison de deux types de perturbations
Dans ce scénario, on combine les deux scénarios précédents. Comme le montre la Figure 6.15, le
contrôleur réussit à stabiliser le pendule malgré l’application de deux perturbations.
On en conclut que le contrôleur implémenté est robuste vis à vis des perturbations.
0.5
2
0.4
0
0.3
−2 0.2
d 1(rad/s)
1(Deg)
0.1
−4
0
−6
−0.1
−8
−0.2
−10
−0.3
−12 −0.4
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
2
50
−2
d 2(Rad/s)
U (Volt)
−50
−4
−100
−6
−150
−8
−200 −10
0 5 10 15 20 25 30 0 5 10 15 20 25 30
Temps (s) Temps (s)
Figure 6.15 : Résultats d’expérimentation dans le cas d'un rejet d'une perturbation persistante et ponctuelle
23
7 Concluions et perspectives :
EL BIAD - LAFNOUNE 24
8 Bibliographie :
[1] N. Touati and A. Chemori, « Predictive control for the stabilization of a fast mechatronic system
from simulation to real-time experiments », IFAC MECHATRONICS, 2013.
[2] S. Andary, A Chemori, and S. Krut, « Control of the under-actuated Inertia Wheel Inverted
Pendulum for Stable Limit Cycle Generation », RSJ Advanced Robotics, vol 23, 2009.
[3] Jean Pierre Barbot, SLIDING MODE CONTROL INENGINEERING, Wilfrid Perruquetti,
2002.
[4] Reza Olfati-Saber, « Nonlinear Control of Underactuated Mechanical Systems with Application
to Robotics and Aerospace Vehicles », PhD Thesis, MIT 2001.
[5] Katsuhiko Ogata, Modern Control Engineering (5th Edition), Prentice Hall, 2009.
[7] A. Chemori, S. Krut, N. Touati, « Le pendule inversé stabilisé par volant d’inertie, un système
non linéaire sous-actionné », 3èmes Journées Démonstrateurs , Angers (France), 2010.
25
9 Annexe :
Datasheet du moteur :
EL BIAD - LAFNOUNE 26
Tableau des paramètres dynamique du pendule :
27