Vous êtes sur la page 1sur 20

Le Pendule inverse

Et son application en robotique.

BRECHET Thomas et TRIBINO Julien.

4 avril 2008
Table des matières

I Le modèle du pendule inverse 2


1 Description du modele et équations du mouvement. 3
1.1 Approche physique et schéma d’un pendule inversé. . . . . . . 3
1.2 Démonstration à partir du Lagrangien. . . . . . . . . . . . . . 4

2 Le Segway 7
2.1 Présentation generale du Segway . . . . . . . . . . . . . . . . 7

II La construction d’un Segway en lego : le Legway 9


3 Presentation de l’expérience 10
3.1 Le robot et sa construction . . . . . . . . . . . . . . . . . . . . 10
3.2 Présentation de l’étude . . . . . . . . . . . . . . . . . . . . . . 13

4 Résultats éxpérimentaux 14
4.1 Résultats obtenus avec notre robot . . . . . . . . . . . . . . . 14
4.2 Résultats théoriques . . . . . . . . . . . . . . . . . . . . . . . 14
4.3 Comparaison des résultats et validation de l’expérience . . . . 16

1
Première partie

Le modèle du pendule inverse

2
Chapitre 1

Description du modele et
équations du mouvement.

1.1 Approche physique et schéma d’un pen-


dule inversé.
Un pendule inversé est un pendule simple, cependant la masse est située
en l’air. Le pendule présente une position d’equilibre instable que l’on cherche
à stabiliser en utilisant un chariot mobile .
Plus simplement, une application du pendule inversé est le jeu qui consiste
à faire tenir un balai ( la tête de celui ci etant vers le haut )dans la paume
de la main, le plus longtemps possible.
L’étude du pendule inversé a plusieurs interêts :
-L’homme est en fait un pendule inversé double dont les deux axes de rota-
tions sont les chevilles et les hanches. Afin de de tenir debout, les articulations
travaillent sans cesse ,et l’etude de ce modèle est importante pour la construc-
tion de prothèses.
-La robotique utilise le principe du pendule inversé, en particulier dans de
nouveaux moyens de transports à 2 roues comme le segway qui permet
d’avancer en se penchant en avant comme nous le verrons dans la suite.

3
1.2 Démonstration à partir du Lagrangien.
Dans cette partie, nous cherchons à obtenir les equations du mouvement
de la masse située en l’air afin de pouvoir corriger ce desequilibre en utilisant
le chariot.

Pour toute la démonstration, on définit les variables suivantes :


– M : la masse du chariot
– m : la masse de la Masse
– l : la longueur de la tige
– x : La position du chariot
– θ : L’angle entre l’axe ~y et la tige.
– g : La force d’attraction de la pesanteur
– F : Une force exterieur dirigé suivant l’axe ~x
Ces variables sont représentés sur le schéma ci-dessus.

( Pour le moment, nous avons admis toutes les notions liées au lagran-
gien, mais nous sommes en train d’etudier ces notions afin de pouvoir les
démontrer le jour de l’oral si necessaire).

Afin d’obtenir les equations du mouvement, nous sommes amenés a faire


les hypothèses suivantes :
– La masse M est supposée ponctuelle de masse m en son centre.
– Les deux seules masses considérées sont celles de la masse M de masse
m et celle du chariot C de masse M.
– On considère seulement l’énergie potentielle de la masse M car le chariot
est lié au sol par les roues.
Afin d’obtenir ces équations, on isole l’ensemble ( Chariot + Masse ) pour
calculer les différentes énergies liées à l’ensemble du système.

Soit Ec l’énergie cinétique et Ep l’énergie potentielle

L’énergie cinétique se calule par la somme des differentes énergies poten-


tielles liées aux systèmes qui sont celles de la masse M et du chariot C. On
obtient
1 1
Ec = M v12 + mv22
2 2

4
Avec v1 la vitesse du chariot et v2 la vitesse de la masse.

L’énergie potentielle totale correspond à celle crée par la masse m (


puisque que l’on néglige celle du chariot ). On obtient alors :

Ep = mg` cos θ

On peut alors exprimer le Lagragien :

L = Ec − Ep

On obtient alors finalement :


1 1
L = M v12 + mv22 − mg` cos θ (1.1)
2 2
De plus :
−→
OG = xu~x ⇒ v~1 = ẋu~x ⇒ v~1 2 = v1 = ẋ2
d’où :
v12 = ẋ2 (1.2)

Et :
−−→ ˙er + `θ̇e~θ + ẋu~x
er + xu~x ⇒ v~2 = `~
OM = `~
Or :
e~r = − sin θu~x + cos θu~y
e~θ = − cos θu~x − sin θu~y
En remplacant, on obtient :
   
v~2 = −`˙ sin θ − `θ̇ cos θ + ẋ u~x + `˙ cos θ − `θ̇ sin θ u~y
 2  2
⇒ v~2 2 = v22 = −`˙ sin θ − `θ̇ cos θ + ẋ + `˙ cos θ − `θ̇ sin θ
Or, ` est une constante, on obtient :
 2  2
v22 = −`θ̇ cos θ + ẋ + `θ̇ sin θ
= ẋ2 − 2ẋ`θ̇ cos θ + `2 θ̇2 (cos θ2 + sin θ2 )

5
d’où :
v22 = ẋ2 − 2ẋ`θ̇ cos θ + `2 θ̇2 (1.3)

On remplace les expressions 1.2 et 1.3 dans l’espression du lagrangien 1.1


et on obtient :
1 1
L= (M + m) ẋ2 − mlẋθ̇ cos θ + ml2 θ̇2 − mgl cos θ
2 2
On obtient les deux equations du mouvement grace aux deux equations
ci dessous : 
d ∂L ∂L

 − =F
dt ∂ ẋ ∂x
d ∂L ∂L

 − =0
dt ∂ θ̇ ∂θ
D’où :
 
 d (M + m) ẋ − m`θ̇ cos θ − 0 = F


dt 
d 2
  

 −m`ẋ cos θ + m` θ̇ − m`ẋθ̇ sin θ + mg` sin θ = 0
dt
(
(M + m) ẍ − m`θ̈ cos θ + m`θ̇2 sin θ = F

−m`ẍ cos θ + m`ẋθ̇ sin θ + m`2 θ̈ − m`ẋθ̇ sin θ − mg` sin θ = 0

On obtient donc comme équations du mouvement :

(M + m) ẍ − mlθ̈ cos θ + mlθ̇2 sin θ = F (1.4)


mlθ̈ − mẍ cos θ = mg sin θ (1.5)

6
~er

M(m)

~eθ

~uy

G C(M)
O ~ux
b

x F~

Fig. 1.1 – Pendule inverse classique

7
Chapitre 2

Le Segway

2.1 Présentation generale du Segway


L’application du pendule inversé la plus courante est le segway. C’est un
moyen de transport à deux roues qui permet le deplacement d’une personne.
Un segway est representé en figure 2.1. L’utilisateur en se penchant en avant
accelere, et lorqu’il se penche en arriere, le vehicule ralentit. Le segway utilise
un systeme de giroscope, que nous n’etudirons pas, pour compenser et ne pas
faire tomber l’utilisateur. Ce produit est developpé depuis maintenant une
dizaine d’année et se développe encore de nos jours.

Voici le shéma SADT en figure 2.2 du segway dans sa fonction globale de


transport de conducteur.

8
Fig. 2.1 – Le segway

Fig. 2.2 – SADT

9
Deuxième partie

La construction d’un Segway en


lego : le Legway

10
Chapitre 3

Presentation de l’expérience

3.1 Le robot et sa construction


Nous avons eu des difficultés afin de trouver une experience abordable,
nous avons seulement trouvé un pendule inversé à paris.
Ainsi nous avons decidé d’en construire un en lego. Nous avons utilisé des
legos programmables ,les legos ”mindstorms” , qui utilisent des moteurs et
differents capteurs.
Avant de le faire avancer,en le penchant en avant comme le fait le segway,
notre objectif a été de faire tenir notre robot debout le plus longtemps pos-
sible, en utilisant les capteurs qui nous etaient disponibles.
Les legos mindstorms sont constitués d’une brique programmable intelligente
qui contient un microprocesseur 8 bits et 16 Mhz,de 3 ports d’entrée (pour
brancher les capteurs ) et 3 ports de sortie (pour brancher les moteurs ).Il
existe differentes sortes de capteurs : tactiles, de lumiere , de rotation, de
temperature,d’infrarouge. Nous avons utilisé des capteurs de lumiere, ils me-
surent l’intensité lumineuse captée ou réflechie par un objet, ici ce sera le sol.

Nous avons decidé de placer la partie programmable ( la brique jaune


) au centre puis sur les cotés de celle ci les moteurs et enfin a l’avant et a
l’arriere les capteurs de luminere. Notre robot est représenté sur la photo 3.1
.Nous avons utilisé des briques classiques de lego afin d’empecher l’action
d’un capteur sur l’autre.
La construction de notre robot s’est deroulée en plusieurs étapes : La
premiere étape etait l’ecriture du programme qui est décrit dans l’image

11
suivante 3.2.
Le grafcet suivant permet de comprendre le fonctionnement du programme :

Notre robot ne tenait pas debout, cela etait du à une mauvaise repartition
du poids.
Puis, les roues tournaient trop vite, nous avons decidé de realiser un engre-
nage à la sortie du moteur ( le rapport de réduction est de 21 ). C’est avec ce
robot que l’on a pu faire les études de la partie suivante.

3.2 Présentation de l’étude


Nous avons voulu,à partir de ce ”legway” obtenir differentes courbes :
les variations de l’angle du robot et le deplacement du robot par rapport
au temps et au sol. Cependant les legos n’etant pas adaptés, nous essayons
d’obtenir les varitations des deux capteurs de lumiere afin de comparer ces
valeurs à l’étude théorique faite en utilisant Maple.

12
Fig. 3.1 – Le legway

13
#define SENSOR_3_THRESHOLD 49
#define SENSOR_1_THRESHOLD 45

task main ()
{
// la liste des capteurs et moteurs utilisés
SetSensor(SENSOR_1, SENSOR_LIGHT);
SetSensor(SENSOR_3, SENSOR_LIGHT);
SetPower(OUT_A+OUT_C, OUT_FULL);

// le balancier
until(false) {
if (SENSOR_1 >= SENSOR_1_THRESHOLD) {
OnFwd(OUT_A);
OnRev(OUT_C);
Wait(1);
}
if (SENSOR_3 >= SENSOR_3_THRESHOLD) {
OnRev(OUT_A);
OnFwd(OUT_C);
}
}
}

Fig. 3.2 – Programme utilisé pour le robot

14
Fig. 3.3 – Grafcet du programme lego

15
Chapitre 4

Résultats éxpérimentaux

4.1 Résultats obtenus avec notre robot


Nous avons beaucoups de difficultés à obtenir des resultats experimen-
taux car les lego mindstorms ne sont pas du tout adaptés pour prendre des
mesures precises des differentes valeurs. Ceux ci n’affichent que les valeurs
instantannées des capteurs lumineux,et lors du mouvement du robot nous
n’arrivons pas à obtenir des valeurs correctes.

4.2 Résultats théoriques


Avec le logiciel Maple, nous avons pu résoudre les equations de mouve-
ments et créer un programme ( voir Figure 4.1 ) permettant d’obtenir les
courbes de variation de l’angle θ et de x en fontion du temps, en entrant au
prealable les conditions initiales ( masse, longueur de la tige, etc )
A partir de ce programme Maple et en entrant les données correcpondant
aux valeurs les plus proches de notre ”legway”, on a obtenu les deux courbes
figure 4.2 et 4.3

4.3 Comparaison des résultats et validation


de l’expérience
En attente des résultats expérimentaux pour pouvoir conclure.

16
> restart:
> with(plots):
Warning, the name changecoords has been redefined

> with(DEtools):
> courbe:=proc(M,m,l,F,a,b)
> local g,eq1,eq2,plot1,plot2;
> g:=9.8:
> eq1:=(M+m)*D(D(x))(t)-m*l*D(D(theta))(t)*cos(theta(t))
+m*l*(D(theta)(t))^2*sin(theta(t))=F:
> eq2:=m*l*D(D(theta))(t)-m*D(D(x))(t)*cos(theta(t))=m*g*sin(theta(t)):
> plot1:=DEplot([eq1,eq2],[x(t),theta(t)],t=0..15,
[[x(0)=a,D(x)(0)=0,theta(0)=b,D(theta (0)=0]],stepsize=.05,linecolour=red):
> plot2:=DEplot([eq1,eq2],[theta(t),x(t)],t=0..15,
[[x(0)=a,D(x)(0)=0,theta(0)=b,D(theta)(0)=0]],stepsize=.05,linecolour=blue):
> plot2;
> plot1;
> end;

Fig. 4.1 – Programme Maple

Fig. 4.2 – Position des roue en fonction du temps

17
Fig. 4.3 – Angle en fonction du temps

18
Bibliographie

[label] Auteur, TITRE, editeur, annee


[Site] Wikipédia, Pendule inversé, http ://fr.wikipedia.org/wiki/Pendule inversé
[Site] James Matthews, Legway : Building a Self-Balancing Robot with Stan-
dard Parts, http : //www.generation5.org/content/2004/legway.asp
[Site] Philo, YAL : robot équilibriste http ://www.freelug.org/article.php3 ?id article=211

19

Vous aimerez peut-être aussi