<< The Fribotte Homepage >>
Un club de passionnés en robotique participant à la coupe de France E=M6.
[Accueil] [Qui sommes-nous ?] [Robots] [Coupe e=m6] [BD Technique] [Forum] [Reportages] [Liens] [WiKiFri]

Fribotte


 

LA CINEMATIQUE INVERSE - C’est quoi ?

Avant d’expliquer ce qu’est la cinématique inverse, il est nécessaire de commencer par le début : la cinématique directe.


La cinématique directe correspond à une méthode de calcul qui permet de calculer la position dans l’espace de l’extrémité d’un « bras » articulé à partir de la position dans laquelle se trouve chacune de ses articulations.


Regardons un exemple en 2 dimensions :

Ceci est un petit bras (ou une patte) avec 3 articulations. Chaque articulation offre une rotation dans le plan. Chaque segment du bras est caractérisé par la distance séparant les centres de chaque articulation.


Chaque articulation est caractérisée par l’angle qu’elle applique au segment du bras auquel elle est reliée. L’articulation est généralement limitée au niveau de la plage angulaire qu’elle peut produire.


Le but de la cinématique directe est de connaître les coordonnées et l’orientation de l’extrémité bu bras en partant des caractéristiques du bras et de l’angle de chaque articulation dans une position donnée.


Le principe est le suivant :

  • On détermine une origine au système de coordonnées du « monde » dans lequel évolue le bras. Dans notre cas, disons que l’origine se situe au niveau de l’articulation « 0 » qui est aux coordonnées (X0, Y0).
  • On détermine les équations donnant la position de l’articulation suivante sur le bras (1). Ces équations sont du type X1=f(LA, 0) et Y1=f(LA, 0). X1 et Y1 sont les coordonnées de la seconde articulation, LA, la longueur du premier segment du bras et 0 l’angle imprimé par la premier articulation au premier segment.
  • On fait de même pour l’articulation suivante (2). Cela donne 2 équations du type : X2= f(X1, Y1, LB, 1) et Y2= f(X1, Y1, LB, 1). On peut remarquer que la seconde paire d’équations dépend des résultats de la première paire d’équations donnant X1 et Y1.
  • On recommence pour le segment suivant. On obtient : XE= f(X2, Y2, LC, 2) et YE= f(X2, Y2, LC, 2).
  • En substituant les équations correspondantes à X2 et Y2 puis les équations correspondantes à X1 et Y1, on obtient 2 équations du type : XE= f(LA, LB, LC, 0, 1, 2) et YE= f(LA, LB, LC, 0, 1, 2).
  • En plus de cela, il faut constituer une équation donnant l’angle de l’extrémité du bras.

L’ensemble de ces 3 équations donne les coordonnées et l’orientation du bout du bras pour peu que l’on connaisse les caractéristiques des segments et la position des articulations.

Tout cela est assez simplifié par le fait que nous avons ramené le problème à 2 dimensions et à une architecture de bras relativement simple.

Tout cela est bien pratique. Cependant, la plupart du temps, il est plus avantageux de pouvoir travailler « à l’envers ». C'est-à-dire que l’on choisi une coordonnée et une orientation dans l’espace à laquelle on désire amener le bras (ou la patte) et par un jeu d’équations adaptées, on en déduit la combinaison de position de chaque degré de liberté du robot pour l’atteindre.

C’est ça, la cinématique inverse.

La cinématique inverse permet donc de piloter tous les axes du robot uniquement en partant de la position que l’on désire atteindre.

Cependant, il arrive, selon la structure du bras et selon la coordonnée désirée, que les équations de cinématique inverse ne puissent trouver de solution. Cela peut venir de 3 causes principales :

  • Les équations n’ont pas été établies correctement
  • Les coordonnées à atteindre et/ou le vecteur d’approche soient hors de la zone couverte par le bras.
  • Les équations butent sur une redondance.

On parle de redondance quand la structure du bras permet d’atteindre une certaine coordonnée avec un vecteur d’approche donné selon plusieurs configurations différentes.

Si on reprend notre « bras », ça donnerait :

On peut voir que l’extrémité du bras, même si il est très simple, peut atteindre la même coordonnée avec le même vecteur d’approche de plusieurs façons. Deux dans le cas illustré ci-dessus.

L’obtention des équations pour piloter un bras en cinématique inverse est relativement fastidieuse. Elle nécessite d’obtenir autant d’équations que le bras possède de degrés de liberté, et ces dernières prennent comme variable d’entrée la coordonnée de l’extrémité, le
vecteur d’approche et éventuellement la position d’un des axes du moteur. Si tel est le cas, l’ordre dans lequel sera résolue la configuration du bras devra être faite dans un ordre précis.


Pour notre bras cela pourrait donner quelque chose du genre :

0= f(XE, YE , E, LA, LB, LC)
1= f(XE, YE , E, LA, LB, LC)
2= f(XE, YE , E, LA, LB, LC, 0, 1)

L’obtention de ces formules se fait avec des méthodes qui impliquent pas mal de trigonométrie et de calcul matriciel formel.


Gaël Waiche / Ex-Machina / 10/04

 


Complétez cette page, posez vos questions et remarques ici : WiKiFri

Page http://fribotte.free.fr/bdtech/cinematique/cinemarique.html modifiée le 5/10/2003.
Copyright fribotte@free.fr, libre de droit pour toute utilisation non commerciale.
Reproduction autorisée par simple mail