Table des matières Scilab

Toupie sur un plan

1. Introduction

On considère une toupie en contact avec un plan. En plus du mouvement gyroscopique (précession et nutation), on observe différents mouvements du centre de gravité de la toupie. Ceux-ci sont causés par les forces de frottement entre la pointe de la toupie et le plan.

L'objectif de cette page est d'établir les équations différentielles du mouvement de la toupie, en vue de leur intégration numérique selon la méthode exposée dans équations du mouvement d'un solide. La pointe de la toupie est modélisée par une sphère, ce qui permet d'avoir un contact ponctuel quelque soit l'orientation de la toupie. La force de frottement au point de contact est modélisée avec les lois de Coulomb du frottement solide.

2. Équations du mouvement

2.a. Cinématique

La figure suivante représente la toupie, dont la pointe est assimilée à une sphère. On note C le centre de cette sphère et r son rayon. Le centre de masse de la toupie est noté G et on définit la distance L = CG. Soit Rs=(Gxsyszs) le repère lié au solide formé des axes propres du tenseur d'inertie au point G; l'axe Gzs est l'axe de symétrie de la toupie, contenant le point C. Soit P le point de contact avec le plan.

Le repère d'espace R=(Oxyz) est lié au support, lequel est supposé constituer un référentiel inertiel. L'axe Oz est choisi perpendiculaire au plan et fait un angle α par rapport à la direction verticale (plan incliné).

figureA.svgFigure pleine page

L'orientation de la toupie est définie par la matrice orthogonale Q dont les éléments sont notés qij. On utilisera également les angles d'Euler (φ,θ,ψ) . Cette matrice permet de calculer les composantes d'un vecteur dans le repère R en fonction des composantes dans Rs. On a par exemple :

CG=L(q13ex+q23ey+q33ez)(1)

La hauteur du centre de masse est :

zG=Lcosθ+r=Lq33+r(2)

La vitesse du point de contact est :

vP=vG+ωGP(3)

Les composantes de la vitesse angulaire sur le repère d'espace sont :

ω=(ω1,ω2,ω3)T(4)

On en déduit les composantes de la vitesse du point de contact :

vPx=vx-ω2(Lq33+r)+ω3Lq23(5)vPy=vy+ω1(Lq33+r)-ω3Lq13(6)vPz=vz-ω1Lq23+ω2Lq13(7)

On introduit les composantes de la vitesse angulaire dans le repère du solide avec

(ω1,ω2,ω3)T=Q(ωs1,ωs2,ωs3)T(8)

La vitesse de glissement est donc :

vPx=vx-(q21ωs1+q22ωs2+q23ωs3)(Lq33+r)+(q31ωs1+q32ωs2+q33ωs3)Lq23(9)vPy=vy+(q11ωs1+q12ωs2+q13ωs3)(Lq33+r)-(q31ωs1+q32ωs2+q33ωs3)Lq13(10)

2.b. Théorème de la résultante cinétique

Soit N la réaction normale du plan au point P et T la force de frottement. Le théorème de la résultante cinétique s'écrit :

mdvGdt=N+T+mg(11)

En projection sur le repère d'espace, on en déduit les trois équations suivantes

mdvxdt=Tx+mgsinα(12)mdvydt=Ty(13)mdvzdt=Nz-mgcosα(14)

La dernière équation permet d'exprimer la force normale en fonction de q33 :

Nz=mLd2q33dt2+mgcosα(15)

On exclue la possibilité d'un mouvement sans glissement de la toupie. Soit f le coefficient de frottement entre la pointe et le plan. La force de frottement est donnée en fonction de la vitesse de glissement calculée plus haut par :

Tx=-f|Nz|vPxvPx2+vPy2(16)Ty=-f|Nz|vPyvPx2+vPy2(17)

2.c. Théorème du moment cinétique

Le théorème du moment cinétique au centre de masse s'écrit :

dσdt=GP(N+T)(18)

Les composantes du moment des forces dans le repère d'espace sont donc :

n=(n1n2n3)=(-Lq23Nz+(Lq33+r)TyLq13Nz-(Lq33+r)Tx-Lq13Ty+Lq23Tx)(19)

Les composantes du moment dans le repère du solide sont :

n1s=q11n1+q21n2+q31n3(20)n2s=q12n1+q22n2+q32n3(21)n3s=q13n1+q23n2+q33n3(22)

Le théorème du moment cinétique écrit en projection sur le repère du solide conduit aux équations d'Euler :

I1dωs1dt=ωs2ωs3(I2-I3)+ns1(23)I2dωs2dt=ωs3ωs1(I3-I1)+ns2(24)I3dωs3dt=ωs1ωs2(I1-I2)+ns3(25)

La symétrie de révolution de la toupie autour de l'axe zs impose I1=I2.

2.d. Système différentiel

Le système différentiel est tout d'abord constitué des 3 équations d'Euler ci-dessus et des 9 équations suivantes pour la transformation orthogonale :

dq11dt=ωs3q12-ωs2q13(26)dq12dt=-ωs3q11+ωs1q13(27)dq13dt=ωs2q11-ωs1q12(28)dq21dt=ωs3q22-ωs2q23(29)dq22dt=-ωs3q21+ωs1q23(30)dq23dt=ωs2q21-ωs1q22(31)dq31dt=ωs3q32-ωs2q33(32)dq32dt=-ωs3q31+ωs1q33(33)dq33dt=ωs2q31-ωs1q32(34)

On ajoute les 4 équations suivantes, correspondant au mouvement du centre de masse :

dxdt=vx(35)dydt=vy(36)dvxdt=Txm+gsinα(37)dvydt=Tym(38)

Malheureusement, ce système n'est pas explicitement du premier ordre. En effet la force de frottement et le moment des forces font intervenir la force Nz calculée par la relation suivante :

Nz=mLd2q33dt2+mgcosα(39)

En dérivant l'équation (36) par rapport au temps, on a

d2q33dt2=dωs2dtq31+ωs2dq31dt-dωs1dtq32-ωs1dq32dt(40)

Lors de l'évaluation des dérivées (équations 25 à 40), il faut donc avoir accès aux dérivées de la vitesse angulaire calculées au pas de temps précédent. Les solveurs utilisés communément, comme celui de Scilab, n'offrent pas cette possibilité. Il faudra donc écrire un solveur sur mesure.

Une autre approche consiste à supposer que l'accélération selon z du centre de masse est petite par rapport à l'accélération de la pesanteur. Cette hypothèse est très probablement vérifiée lorsque la toupie est en mouvement de précession. On a alors en première approximation :

Nzmgcosα(41)

Une fois les dérivées évaluées en utilisant cette approximation, on peut calculer une valeur corrigée de Nz avec les équations (42) et (41), puis recommencer le calcul si l'écart par rapport à (43) est trop fort.

2.e. Paramètres

On définit les paramètres suivants

i=I3I1=I3I2(42)a=ωA2=mgLI3(43)b=ωB2=gL(44)

L'unité des forces est choisie égale à mg et l'unité de longueur égale à L. L'équation (41) devient donc :

Nz=1bd2q33dt2+cosα(45)

Les équations d'Euler s'écrivent :

dωs1dt=(1-i)ωs2ωs3+ains1(46)dωs2dt=(i-1)ωs3ωs1+ains2(47)dωs3dt=ans3(48)

Les équations (39) et (40) s'écrivent :

dvxdt=b(Tx+sinα)(49)dvydt=bTy(50)

L'unité de temps sera fixée par la vitesse de rotation initiale de la toupie ω0=2π. Pour une toupie rapide, les paramètres a et b sont petits.

3. Intégration numérique avec Scilab

La fonction suivante effectue l'intégration numérique pour des paramètres et des conditions initiales donnés. Voir toupie à point fixe pour plus de détail sur les conditions initiales. La vitesse initiale du centre de masse est supposée nulle.


function [t,y]=solution(i,a,b,r,alpha,f,omegaP,omega0,theta0,tmax,te),
 c=cos(theta0),
 s=sin(theta0),
 Nz0=cos(alpha)
 sa=sin(alpha)
 function deriv=systeme(t,y),
  Nz=Nz0,
  e=y(10)*y(1)+y(11)*y(2)+y(12)*y(3),
  vpx=y(15)-(y(7)*y(1)+y(8)*y(2)+y(9)*y(3))*(y(12)+r)+e*y(9),
  vpy=y(16)+(y(4)*y(1)+y(5)*y(2)+y(6)*y(3))*(y(12)+r)-e*y(6),
  vp=sqrt(vpx*vpx+vpy*vpy),
  Tx=-f*Nz*vpx/vp,
  Ty=-f*Nz*vpy/vp,
  n1=-y(9)*Nz+(y(12)+r)*Ty,
  n2=y(6)*Nz-(y(12)+r)*Tx,
  n3=-y(6)*Ty+y(9)*Tx,
  deriv(1)=(1-i)*y(2)*y(3)+a*i*(y(4)*n1+y(7)*n2+y(10)*n3), // omegaS1
  deriv(2)=(i-1)*y(1)*y(3)+a*i*(y(5)*n1+y(8)*n2+y(11)*n3), // omegaS2
  deriv(3)=a*(y(6)*n1+y(9)*n2+y(12)*n3), // omegaS3
  deriv(4)=y(3)*y(5)-y(2)*y(6), // q11
  deriv(5)=y(1)*y(6)-y(3)*y(4), // q12
  deriv(6)=y(2)*y(4)-y(1)*y(5), // q13
  deriv(7)=y(3)*y(8)-y(2)*y(9), // q21
  deriv(8)=y(1)*y(9)-y(3)*y(7), // q22
  deriv(9)=y(2)*y(7)-y(1)*y(8), // q23
  deriv(10)=y(3)*y(11)-y(2)*y(12), // q31
  deriv(11)=y(1)*y(12)-y(3)*y(10), // q32
  deriv(12)=y(2)*y(10)-y(1)*y(11), // q33
  deriv(13)=y(15), // x
  deriv(14)=y(16), // y
  deriv(15)=b*(Tx+sa), // vx
  deriv(16)=b*Ty, // vy
 endfunction
 init=[0;omegaP*s;omega0+omegaP*c;1;0;0;0;c;-s;0;s;c;0;0;0;0];
 t=[0:te:tmax];
    tolA=1d-6;
    tolR=1d-9;
 %ODEOPTIONS=[1,0,0,%inf,0,2,10000,12,5,0,-1,-1];
 y=ode(init,0,t,tolR,tolA,systeme);
endfunction
   

La fonction suivante calcule les différentes quantités à tracer :


function [a1,a2,a3]=calcul(y)
 a1 = y(1,:);
 a2 = a1
 a3 = a1;
 s=size(a1);
 for i=1:s(2),
  a1(i)=y(4,i)*y(4,i)+y(7,i)*y(7,i)+y(10,i)*y(10,i),
  a2(i)=y(12,i),
  a3(i)=y(6,i)/sqrt(1-y(12,i)*y(12,i)),
 end;
endfunction
   

tmax=10000;
i=0.2;
f=0.01;
a=2*%pi*0.01;
b=a*0.1;
r=0.01;
alpha=0;
[t,y]=solution(i,a,b,r,alpha,f,0,2*%pi,20*%pi/180,tmax,1);
[a1,a2,a3]=calcul(y);
   

La quantité suivante doit rester proche de 1 (matrice Q orthogonale), ce qui permet de contrôler la précision du calcul.

plotA=scf();
plot2d(t,a1,style=5,rect=[0,0.9,tmax,1.1]);
xtitle('q11^2+q21^2+q22^2','t','');
   
plotA.pngplotA.pdf
plotB=scf();
plot2d(t,a2,style=5,rect=[0,0,tmax,1]);
xtitle('cos(theta)','t','');
   
plotB.pngplotB.pdf
plotC=scf();
plot2d(t,a3,style=5,rect=[0,-1,tmax,1]);
xtitle('sin(phi)','t','');
   
plotC.pngplotC.pdf

La figure suivante représente l'intersection de l'axe de la toupie avec une sphère centrée sur le centre de masse.

plotD=scf();
param3d(y(6,:),y(9,:),y(12,:),35,45,'x@y@z',[3,4],[-1,1,-1,1,-1,1]);
   
plotD.pngplotD.pdf

La toupie a un mouvement de précession sans nutation visible. On constate de plus que l'axe de la toupie se rapproche progressivement de la direction verticale, ce qui est un effet de la force de frottement. Voyons à présent le mouvement du centre de masse :

plotE=scf();
plot2d(y(13,:),y(14,:),style=5,rect=[-2,-4,2,0])
plotE.axes_size=[450,500];
xtitle('','xG','yG');
   
plotE.pngplotE.pdf

Après une phase transitoire, le mouvement de G est circulaire. Il s'agit d'un effet de la force de frottement.

Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.