Les robots holonomes



Qu'est ce qu'un robot holonome ?

En opposition aux robots a deux roues motrices differentielles (les plus courant pendant la coupe de robotique) qui possedent 2 degres de liberte sur un plan :
  • une translation : avance ou recule
  • une rotation : tourne vers la droite ou vers la gauche

    Un robot holonome ou robot omni-directionnel est un robot qui possedent 3 degres de liberte sur un plan.
  • deux translation : avance ou recule, va vers la droite ou vers la gauche
  • une rotation : tourne vers la droite ou vers la gauche

    Il existe plusieurs sortes de robot holonome :
  • Les robots a pattes (comme Pupuce pour les connaisseurs)
  • Les robots rampants (comme The Chomp)
  • Les robots ŕ 4 roues omni-directionnelles
  • Les robots ŕ 3 roues omni-directionnelles

    C'est a ces derniers que nous allons nous interesser.

    Exemples de roue omni-directionnelle :

    Ce sont des roues a galets qui peuvent tourner librement sur un axe perpendiculaire a l'axe de rotation de la roue.
    Les galets sont les pieces noires sur la photos de gauche et les pieces rouges sur celle de droite.




    Exemples de robot omni-directionnel a 3 roues :

    Pour faire un robot holonome a 3 roues il faut disposer les 3 moteurs (avec les 3 roues ! ) a 120 degres
    Comme sur les photos ci-dessous :





    Comment ca marche ?

    Schema du robot



  • En rose : les 3 roues
  • Soit V1, V2 et V3 les vitesses respectives de roue1, roue2 et roue3.
  • Vi est positif quand la roue tourne dans le sens horaire (vu de l'exterieur du robot)
  • Soit d1, d2 et d3 les distances respectives que les roue1, roue2 et roue3 doivent parcourir.
  • Les angles formes par roue1 roue2, roue2 roue3 et roue3 roue1 sont egales a 120 degres

  • Le centre du robot se deplace a vitesse V avec un angle a (exprime en degre) sur une distance d

    Les calculs nous donnent :

    Pour les vitesses :
  • V1 = V * sin( a - 90)
  • V2 = V * sin( a + 30)
  • V3 = V * sin( a + 150)

    Pour les distances :
  • d1 = d * sin( a - 90)
  • d2 = d * sin( a + 30)
  • d3 = d * sin( a + 150)

    ATTENTION

    Cela parait simple ?
    Ben oui, mais il y a un gros probleme.
    Les accelerations de chaque roue doivent etre proportionnelles !!!!!

    Soit x(t) l'equation d'acceleration,
    Il faut respecter :
  • V1 = x(t) * V * sin( a - 90)
  • V2 = x(t) * V * sin( a + 30)
  • V3 = x(t) * V * sin( a + 150)

    Si une des roues atteint la vitesse souhaitee avant ou apres les autres, le robot va devier d'autant que le decalage de temps est important.
    Ce qui ce resume par une incapacité a effectuer des lignes droites, et donc une incapacite a se rendre d'un point a un autre .


    Bonne realisation ...