Upload
vukien
View
295
Download
0
Embed Size (px)
Citation preview
Le Pendule inverseEt son application en robotique.
BRECHET Thomas et TRIBINO Julien.
4 avril 2008
Table des matieres
I Le modele du pendule inverse 2
1 Description du modele et equations du mouvement. 31.1 Approche physique et schema d’un pendule inverse. . . . . . . 31.2 Demonstration a partir du Lagrangien. . . . . . . . . . . . . . 4
2 Le Segway 72.1 Presentation generale du Segway . . . . . . . . . . . . . . . . 7
II La construction d’un Segway en lego : le Legway 9
3 Presentation de l’experience 103.1 Le robot et sa construction . . . . . . . . . . . . . . . . . . . . 103.2 Presentation de l’etude . . . . . . . . . . . . . . . . . . . . . . 13
4 Resultats experimentaux 144.1 Resultats obtenus avec notre robot . . . . . . . . . . . . . . . 144.2 Resultats theoriques . . . . . . . . . . . . . . . . . . . . . . . 144.3 Comparaison des resultats et validation de l’experience . . . . 16
1
Premiere partie
Le modele du pendule inverse
2
Chapitre 1
Description du modele etequations du mouvement.
1.1 Approche physique et schema d’un pen-
dule inverse.
Un pendule inverse est un pendule simple, cependant la masse est situeeen l’air. Le pendule presente une position d’equilibre instable que l’on cherchea stabiliser en utilisant un chariot mobile .Plus simplement, une application du pendule inverse est le jeu qui consistea faire tenir un balai ( la tete de celui ci etant vers le haut )dans la paumede la main, le plus longtemps possible.L’etude du pendule inverse a plusieurs interets :-L’homme est en fait un pendule inverse double dont les deux axes de rota-tions sont les chevilles et les hanches. Afin de de tenir debout, les articulationstravaillent sans cesse ,et l’etude de ce modele est importante pour la construc-tion de protheses.-La robotique utilise le principe du pendule inverse, en particulier dans denouveaux moyens de transports a 2 roues comme le segway qui permetd’avancer en se penchant en avant comme nous le verrons dans la suite.
3
1.2 Demonstration a partir du Lagrangien.
Dans cette partie, nous cherchons a obtenir les equations du mouvementde la masse situee en l’air afin de pouvoir corriger ce desequilibre en utilisantle chariot.
Pour toute la demonstration, on definit 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 dirige suivant l’axe ~x
Ces variables sont representes sur le schema ci-dessus.
( Pour le moment, nous avons admis toutes les notions liees au lagran-gien, mais nous sommes en train d’etudier ces notions afin de pouvoir lesdemontrer le jour de l’oral si necessaire).
Afin d’obtenir les equations du mouvement, nous sommes amenes a faireles hypotheses suivantes :
– La masse M est supposee ponctuelle de masse m en son centre.– Les deux seules masses considerees sont celles de la masse M de masse
m et celle du chariot C de masse M.– On considere seulement l’energie potentielle de la masse M car le chariot
est lie au sol par les roues.Afin d’obtenir ces equations, on isole l’ensemble ( Chariot + Masse ) pour
calculer les differentes energies liees a l’ensemble du systeme.
Soit Ec l’energie cinetique et Ep l’energie potentielle
L’energie cinetique se calule par la somme des differentes energies poten-tielles liees aux systemes qui sont celles de la masse M et du chariot C. Onobtient
Ec =1
2Mv2
1 +1
2mv2
2
4
Avec v1 la vitesse du chariot et v2 la vitesse de la masse.
L’energie potentielle totale correspond a celle cree par la masse m (puisque que l’on neglige celle du chariot ). On obtient alors :
Ep = mg` cos θ
On peut alors exprimer le Lagragien :
L = Ec − Ep
On obtient alors finalement :
L =1
2Mv2
1 +1
2mv2
2 −mg` cos θ (1.1)
De plus : −→OG = x ~ux ⇒ ~v1 = x ~ux ⇒ ~v1
2 = v1 = x2
d’ou :v2
1 = x2 (1.2)
Et : −−→OM = `~er + x ~ux ⇒ ~v2 = ˙~er + `θ ~eθ + x ~ux
Or :~er = − sin θ ~ux + cos θ ~uy
~eθ = − cos θ ~ux − sin θ ~uy
En remplacant, on obtient :
~v2 =(− ˙ sin θ − `θ cos θ + x
)~ux +
(˙ cos θ − `θ sin θ
)~uy
⇒ ~v22 = v2
2 =(− ˙ sin θ − `θ cos θ + x
)2
+(
˙ cos θ − `θ sin θ)2
Or, ` est une constante, on obtient :
v22 =
(−`θ cos θ + x
)2
+(`θ sin θ
)2
= x2 − 2x`θ cos θ + `2θ2 (cos θ2 + sin θ2)
5
d’ou :v2
2 = x2 − 2x`θ cos θ + `2θ2 (1.3)
On remplace les expressions 1.2 et 1.3 dans l’espression du lagrangien 1.1et on obtient :
L =1
2(M +m) x2 −mlxθ cos θ +
1
2ml2θ2 −mgl cos θ
On obtient les deux equations du mouvement grace aux deux equationsci dessous :
d
dt
∂L
∂x− ∂L
∂x= F
d
dt
∂L
∂θ− ∂L
∂θ= 0
D’ou :d
dt
((M +m) x−m`θ cos θ
)− 0 = F
d
dt
(−m`x cos θ +m`2θ
)−(m`xθ sin θ +mg` sin θ
)= 0
⇒
{(M +m) x−m`θ cos θ +m`θ2 sin θ = F
−m`x cos θ +m`xθ sin θ +m`2θ −m`xθ sin θ −mg` sin θ = 0
On obtient donc comme equations du mouvement :
(M +m) x−mlθ cos θ +mlθ2 sin θ = F (1.4)
mlθ −mx cos θ = mg sin θ (1.5)
6
C(M)
~F
M(m)
θ
l
O ~ux
~uy
bG
~er
~eθ
x
Fig. 1.1 – Pendule inverse classique
7
Chapitre 2
Le Segway
2.1 Presentation generale du Segway
L’application du pendule inverse la plus courante est le segway. C’est unmoyen de transport a deux roues qui permet le deplacement d’une personne.Un segway est represente en figure 2.1. L’utilisateur en se penchant en avantaccelere, et lorqu’il se penche en arriere, le vehicule ralentit. Le segway utiliseun systeme de giroscope, que nous n’etudirons pas, pour compenser et ne pasfaire tomber l’utilisateur. Ce produit est developpe depuis maintenant unedizaine d’annee et se developpe encore de nos jours.
Voici le shema SADT en figure 2.2 du segway dans sa fonction globale detransport de conducteur.
8
Fig. 2.1 – Le segway
Fig. 2.2 – SADT
9
Deuxieme partie
La construction d’un Segway enlego : le Legway
10
Chapitre 3
Presentation de l’experience
3.1 Le robot et sa construction
Nous avons eu des difficultes afin de trouver une experience abordable,nous avons seulement trouve un pendule inverse a paris.Ainsi nous avons decide d’en construire un en lego. Nous avons utilise deslegos programmables ,les legos ”mindstorms” , qui utilisent des moteurs etdifferents capteurs.Avant de le faire avancer,en le penchant en avant comme le fait le segway,notre objectif a ete de faire tenir notre robot debout le plus longtemps pos-sible, en utilisant les capteurs qui nous etaient disponibles.Les legos mindstorms sont constitues d’une brique programmable intelligentequi contient un microprocesseur 8 bits et 16 Mhz,de 3 ports d’entree (pourbrancher les capteurs ) et 3 ports de sortie (pour brancher les moteurs ).Ilexiste differentes sortes de capteurs : tactiles, de lumiere , de rotation, detemperature,d’infrarouge. Nous avons utilise des capteurs de lumiere, ils me-surent l’intensite lumineuse captee ou reflechie par un objet, ici ce sera le sol.
Nous avons decide de placer la partie programmable ( la brique jaune) au centre puis sur les cotes de celle ci les moteurs et enfin a l’avant et al’arriere les capteurs de luminere. Notre robot est represente sur la photo 3.1.Nous avons utilise des briques classiques de lego afin d’empecher l’actiond’un capteur sur l’autre.
La construction de notre robot s’est deroulee en plusieurs etapes : Lapremiere etape etait l’ecriture du programme qui est decrit 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 a une mauvaise repartitiondu poids.Puis, les roues tournaient trop vite, nous avons decide de realiser un engre-nage a la sortie du moteur ( le rapport de reduction est de 1
2). C’est avec ce
robot que l’on a pu faire les etudes de la partie suivante.
3.2 Presentation de l’etude
Nous avons voulu,a partir de ce ”legway” obtenir differentes courbes :les variations de l’angle du robot et le deplacement du robot par rapportau temps et au sol. Cependant les legos n’etant pas adaptes, nous essayonsd’obtenir les varitations des deux capteurs de lumiere afin de comparer cesvaleurs a l’etude theorique 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 utilises
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 utilise pour le robot
14
Fig. 3.3 – Grafcet du programme lego
15
Chapitre 4
Resultats experimentaux
4.1 Resultats obtenus avec notre robot
Nous avons beaucoups de difficultes a obtenir des resultats experimen-taux car les lego mindstorms ne sont pas du tout adaptes pour prendre desmesures precises des differentes valeurs. Ceux ci n’affichent que les valeursinstantannees des capteurs lumineux,et lors du mouvement du robot nousn’arrivons pas a obtenir des valeurs correctes.
4.2 Resultats theoriques
Avec le logiciel Maple, nous avons pu resoudre les equations de mouve-ments et creer un programme ( voir Figure 4.1 ) permettant d’obtenir lescourbes de variation de l’angle θ et de x en fontion du temps, en entrant auprealable les conditions initiales ( masse, longueur de la tige, etc )
A partir de ce programme Maple et en entrant les donnees correcpondantaux valeurs les plus proches de notre ”legway”, on a obtenu les deux courbesfigure 4.2 et 4.3
4.3 Comparaison des resultats et validation
de l’experience
En attente des resultats experimentaux 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] Wikipedia, Pendule inverse, http ://fr.wikipedia.org/wiki/Pendule inverse
[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 equilibriste http ://www.freelug.org/article.php3 ?id article=211
19