20
Le Pendule inverse Et son application en robotique. BRECHET Thomas et TRIBINO Julien. 4 avril 2008

Le Pendule inverse Et son application en robotique

  • Upload
    vukien

  • View
    295

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Le Pendule inverse Et son application en robotique

Le Pendule inverseEt son application en robotique.

BRECHET Thomas et TRIBINO Julien.

4 avril 2008

Page 2: Le Pendule inverse Et son application en robotique

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

Page 3: Le Pendule inverse Et son application en robotique

Premiere partie

Le modele du pendule inverse

2

Page 4: Le Pendule inverse Et son application en robotique

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

Page 5: Le Pendule inverse Et son application en robotique

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

Page 6: Le Pendule inverse Et son application en robotique

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

Page 7: Le Pendule inverse Et son application en robotique

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

Page 8: Le Pendule inverse Et son application en robotique

C(M)

~F

M(m)

θ

l

O ~ux

~uy

bG

~er

~eθ

x

Fig. 1.1 – Pendule inverse classique

7

Page 9: Le Pendule inverse Et son application en robotique

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

Page 10: Le Pendule inverse Et son application en robotique

Fig. 2.1 – Le segway

Fig. 2.2 – SADT

9

Page 11: Le Pendule inverse Et son application en robotique

Deuxieme partie

La construction d’un Segway enlego : le Legway

10

Page 12: Le Pendule inverse Et son application en robotique

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

Page 13: Le Pendule inverse Et son application en robotique

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

Page 14: Le Pendule inverse Et son application en robotique

Fig. 3.1 – Le legway

13

Page 15: Le Pendule inverse Et son application en robotique

#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

Page 16: Le Pendule inverse Et son application en robotique

Fig. 3.3 – Grafcet du programme lego

15

Page 17: Le Pendule inverse Et son application en robotique

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

Page 18: Le Pendule inverse Et son application en robotique

> 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

Page 19: Le Pendule inverse Et son application en robotique

Fig. 4.3 – Angle en fonction du temps

18

Page 20: Le Pendule inverse Et son application en robotique

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