Modélisation des robots

La modélisation d'un robot[1], considéré comme étant un système mécanique articulé, actionné et commandé, consiste à en établir un modèle mathématique. Outre une fonction générale d'aide à la conception, elle a de multiples utilisations pour, la prédiction des mouvements, l'adaptation des actionneurs, la planification des tâches, l'établissement des lois de commande, l'incorporation du robot dans des simulations informatiques, etc. Dans le langage courant, la modélisation précède la simulation sans que l'on distingue une séparation nette entre ces deux activités.

Il est souvent acceptable de se contenter d'une modélisation simplifiée[2] dans laquelle on ne tient pas compte des aspects qui sont, ou paraissent, secondaires tels que : les vibrations, les déformations élastiques, les jeux mécaniques, les tolérances de fabrication, etc.

Dès lors, on est ramené dans le cadre classique de la mécanique rationnelle des solides rigides, appliquée sur des chaînes cinématiques ayant des liaisons holonomes ou non holonomes[3]. Les données constructeur étant supposé connues, la modélisation en robotique[4], se situe donc typiquement dans le vaste domaine des mathématiques appliquées.

De plus, les nouveaux besoins et les nouvelles possibilités technologiques stimulent les activités de recherche en informatique, automatique, méthodes mathématiques, biomécanique, mécatronique et autres techniques apparentées.

Il y a deux manières d'aboutir à des résultats quantitatifs :

Modélisation géométrique modifier

  • Le système mécanique articulé représentant un robot est une chaîne cinématique de corps solides, qui sont reliés entre eux par des articulations. Il est représenté mathématiquement par un système dynamique dont les N variables de configuration q sont les variables articulaires auxquelles s'ajoutent 6 variables supplémentaires dans le cas d'une base libre (ou flottante).
  • La modélisation géométrique fait principalement appel aux méthodes de la géométrie analytique[geom 1], et elle emprunte aussi quelques notions à la théorie des graphes pour le traitement des chaines cinématiques. Elle établit les relations entre les variables articulaires q dans l'espace de configuration et les coordonnées X, généralement cartésiennes, de certains points du robot, dans l'espace opérationnel, ou espace de travail.
  • Terminologie :

Description topologique - Architecture modifier

Chaines cinématiques modifier

Des distinctions peuvent être faites entre :

systèmes à base fixe et systèmes à base mobile modifier

Articulations modifier

  • En négligeant les jeux mécaniques, les articulations sont des liaisons bilatérales qui apparaissent mathématiquement sous forme de contraintes égalités.
  • Pour simplifier, le présent exposé est restreint aux articulations à un degré de liberté (pivot ou glissière : 1 ddl), dont la variable articulaire est un scalaire noté « q ». (D'autres articulations procureraient plus d'un ddl ; pivot glissant : 2ddl, rotule : 3ddl, etc.)
  • Cependant, dans le cas d'une base mobile le symbole «q», représentera la position et l'orientation de la base et désignera jusqu'à 6 variables.

L'environnement modifier

Bien que ne faisant pas partie, au sens strict, du robot, l'environnement est placé dans cette section.

  • Influence du milieu ambiant : excepté pour quelques robot spatiaux, il est indispensable de tenir compte du champ de pesanteur et, éventuellement, des forces dues à l'atmosphère.
  • Pour agir effectivement dans un monde matériel peuplé d'objets et d'obstacles, les deux fonctions essentielles d'un robot[5] sont la locomotion et la préhension. Une locomotion de type terrestre peut être effectuée par reptation, patte, roue motrice, chenille.
  • Les obstacles et les objets sont schématisés par des figures géométriques simples ou plus élaborées (voir B-Rep). Un exemple habituel très simple est le plan d'appui horizontal introduit pour supporter les évolutions d'un robot mobile.
  • Les contacts ponctuels sans frottement sont directement modélisés par des liaisons unilatérales, qui correspondent à des contraintes inégalités. Une modélisation complète et détaillée devrait même aborder les problèmes de Détection des collisions.
  • Pour représenter les frottements sec entre corps solides, la loi de Coulomb, malgré sa rusticité et son apparente simplicité, aboutit fréquemment à des complications mathématiques.

Numérotation des corps modifier

  • À la structure du robot correspond un graphe orienté : les corps sont les nœuds (sommets) et les articulations sont les arcs.
  • Dans le cas d'une chaîne ouverte (acycliques), le graphe est une arborescence. On peut alors utiliser, le vocabulaire généalogique des lignées paternelles : ainsi pour chaque corps les 4 termes : ascendants, père, fils, descendants[geom 2]; sont définis de manière intuitive.
  • Chaque corps est désigné par son numéro dénominatif qui respecte la convention «Numéro du père < Numéro du fils».
  • À chaque corps est attaché son repère propre, de même numéro dénominatif.

Prérequis mathématique modifier

Espace vectoriel euclidien à trois dimensions modifier

Vecteurs et matrices modifier

Définitions dans l'espace euclidien à 3 dimensions  .

  • Base orthonormée[geom 3] : trois vecteurs de longueur un, perpendiculaires entre eux.
  • Orientation: Ce terme a plusieurs significations:
    1. Orientation d'un plan par le sens de rotation d'un point sur un cercle ; deux sens de rotation : sens antihoraire ou trigonométrique ou CounterClockWise OU sens horaire ou des-aiguilles-d'une-montre ou ClockWise.
    2. Orientation propre d'un trièdre, d'un repère cartésien donné : direct ou indirect, on peut utiliser des règles basées sur la distinction entre la gauche et la droite[geom 4], règle de trois doigts de la main droite, du bonhomme d'Ampère.
    3. Orientation d'un axe dans l'espace ou d'une ligne de visée : par deux paramètres, deux angles (exemple : azimut et site ou hauteur).
    4. Orientation dans l'espace d'une base ou d'un repère ou d'un solide rigide : par trois paramètres, (exemple : trois angles d'Euler, trois angles de Tait-Bryan).
  • Soit le vecteur libre   , dont les composantes sont   dans une base orthonormée   de l'espace  

Sous la condition de spécifier que ce vecteur est exprimé dans la base   il peut être caractérisé par une matrice dont les trois éléments sont les composantes du vecteur. En pratique, les calculs effectifs sont effectués en utilisant l'écriture matricielle suivante :

 

  • Avec cette notation, le produit vectoriel  , projetée dans  , prend la forme matricielle :

 . Cependant, en pratique, lorsque le risque d'ambiguïté semble faible, l'écriture fautive :   est tolérable.

  • De même, au produit scalaire   correspond l'expression matricielle  .
Changement de bases modifier

Soit deux bases orthonormées dans l'espace euclidien à trois dimensions   :

  •  , dénommée l' «Ancienne base»;
  •  , la « Nouvelle base » que l'on caractérise par l'exposant « prime ».

La définition des composantes (ou coordonnées)[geom 5] revient à écrire :

 

La matrice de passage directe  , qui donne les anciennes coordonnées du vecteur dans   en fonction des nouvelles dans  , est déterminée[geom 6] par :

  avec  

Règle mnémotechnique : Les colonnes de la matrice de passage sont les coordonnées des vecteurs de la nouvelle base, exprimés dans l'ancienne base.

Dans le cas où les bases sont orthonormées, la matrice de passage est orthogonale. Son inverse, qui est dénommée matrice de passage inverse, est égale à sa transposée, et la valeur absolue de son déterminant est égale à 1 :

  , et   autrement dit :

 

Pour les vecteurs (vecteurs polaires)  , la formule du changement de coordonnées s'écrit :

  ou bien  [geom 7].

  • Lorsque les bases orthonormées   et   ont la même orientation, alors   , et   correspond à une rotation dans l'espace.
  • Sinon  , et   correspond à l'association d'une rotation avec une symétrie par rapport à un plan. L'introduction de repères orientés dans le sens indirect rend les notations relatives aux robots présentant un plan de symétrie sagittal plus maniables. En effet, en cas de configuration symétrique, les variables articulaires qui sont à gauche sont alors égales à celles qui sont à droite.

Espace ponctuel à trois dimensions modifier

Dans l'« espace ordinaire »[geom 8], un déplacement quelconque se décompose[geom 9] en une translation et une rotation.

Repères modifier

On utilise des repères orthonormés « R » qui sont constitués par une origine O et une base   de trois vecteurs. Ainsi, la position d'un point géométrique M peut être caractérisée par un seul vecteur   (ses coordonnées étant  ), tandis que la position d'un repère (ou d'un solide) est défini par celle d'un point particulier et aussi par son orientation (orientation dans l'espace).

Changement de repères modifier

Soit 2 repères orthonormées, R et R', définis par leurs origines O et O' et par leurs bases   et   Avec :

  •   la matrice de passage directe (33) ;
  •  , pour caractériser la translation de O vers O'.

La matrice de passage (44) en coordonnées homogènes, prend la forme :

  L'inverse de la matrices de passage (44) directe   est la matrice de passage (44) homogène inverse :

 

Et les formules de changements de repères s'écrivent :

 

Expressions des matrices de passages modifier

Les matrices de passage entre deux repères dépendent, en général, des paramètres constitutifs et des variables articulaires.

Orientation par une rotation autour d'un axe quelconque modifier

Rotation d'un angle   autour d'un vecteur unitaire  , la matrice de passage directe est donnée par la formule de Rodrigues :

 

Orientation par des rotations autour de trois axes de coordonnées modifier

On passe du repère fixe (« ancien ») Oxyz au référentiel lié au solide (« nouveau ») Ox'y'z' par trois rotations successives autour d'un des axes de coordonnées. La matrice de passage correspondante est le produit de trois matrices élémentaires représentant chacune une rotation autour d'un seul axe d'une coordonnée. Selon les axes intermédiaires choisis, on distingue:

  1. Les angles d'Euler, 6 ordres possibles : (z-x-z | x-y-x | y-z-y | z-y-z | x-z-x | y-x-y). Les angles étant dénommés: précession - nutation - rotation propre. On rencontre généralement l'ordre (z-x-z), dans les manuels français.
  2. Les angles de Tait-Bryan, six ordres possibles : (x-y-z | y-z-x | z-x-y | x-z-y | z-y-x | y-x-z).

Les angles de Cardan, qui sont utilisés dans les domaines aéronautique et spatial, correspondraient à l'ordre (z-y-x), et apparaissent souvent sous les noms : (z:)Azimuth=lacet=yaw ; (y:)Tanguage=pitch ; (x:)Roulis=roll.

Orientation par un quaternion modifier

L'utilisation des quaternions unitaires élimine les difficultés[geom 10] numériques dues aux configurations singulières.

Denavit-Hartenberg modifier

Les axes articulaires étant donnés ou bien définis, ils sont choisis comme axes des «z» des repères propres et les conventions de Denavit-Hartenberg permettent de caractériser la position relative (dans l'espace ponctuel)[geom 11] de deux repères avec seulement quatre paramètres[geom 12]. On rencontre surtout deux variantes :

  • Denavit-Hartenberg 1955.
  • Khalil-Kleinfinger = Denavit-Hartenberg modifié, qui est particulièrement appropriée aux principaux algorithmes numériques.

Modélisation géométrique directe modifier

  • Les matrices de passages   et   dépendent de paramètres constitutifs constants et des variables articulaires q. Du point de vue de la modélisation, elles contiennent l'information utile pour spécifier la configuration du robot. Après la description des paramètres constitutifs, la modélisation géométrique directe se réduit donc, en pratique, à un simple produit de matrices.
  • Les coordonnées cartésiennes   sont des composantes de l'espace opérationnel que l'on calcule avec les formules génériques du changement de bases,  , ou de repères avec les coordonnées homogènes,  .
  • Exemple d'une chaîne cinématique ouverte constituée de N corps numérotés de 1 à N = 6. Les formules de changement de bases (ou de repères en coordonnées homogènes) sont utilisées pour donner des jeux de relations du type :
 
 
Ceci en ayant posé, pour N = 6 :  

Pour alléger encore le formalisme dans le cas des chaînes simples, l'écriture générale d'un produit de matrices tel que :

 

peut être abrégée en :

 

De cette façon, toute relation vectorielle peut se traduire sous forme matricielle (donc calculable numériquement) dans n'importe quel repère (du robot comme de l'environnement) arbitrairement choisi.

Modèlisation géométrique inverse modifier

Étant donné une situation opérationnelle X, quand on cherche à résoudre q= G(X), les trois cas sont possibles :

  1. Une infinité de solutions : configuration redondante, (cas de plus de six articulations dans un bras manipulateur). Mathématiquement le nombre de ddl est inutilement grand, (ce qui peut être justifié par d'autres avantages pratiques).
  2. Une ou plusieurs solutions.
  3. Aucune solution, la situation donnée peut se trouver en dehors de la zone d'accessibilité, ou bien c'est une configuration singulière. (Exemples : deux axes de glissières qui arrivent en parallélisme, deux axes de pivots qui se trouvent en coïncidence…).

Modélisation statique modifier

  • La modélisation statique du robot consiste à calculer les efforts dans chaque articulation, et les efforts de réactions du sol, en considérant que le robot est immobile. Dans le cas de la manipulation de charges, lorsque le robot supporte une pièce lourde, on peut souvent négliger le poids des segments.
  • Un problème voisin est la détermination des configurations d'équilibre dans lesquelles le robot finit par se trouver lorsque les efforts de tous les actionneurs sont nuls. Cela correspond à des postures typiques telles que la mise en veille volontaire ou la panne accidentelle.

Modélisation cinématique modifier

Modélisation cinématique directe modifier

Le modèle cinématique direct (MCD) calcule la vitesse dans le domaine cartésien en fonction de la vitesse articulaire du robot :   (voir : matrice jacobienne).

Modélisation cinématique inverse modifier

Le modèle cinématique inverse (MCI) permet de passer de la vitesse opérationnelle à la vitesse dans le domaine articulaire :   (Possibilité de plusieurs solutions), voir également : Décomposition en valeurs singulières#Cinématique inverse.

Modélisation dynamique modifier

La modélisation dynamique consiste à établir les relations entre les efforts des actionneurs et les mouvements qui en découlent, autrement dit, à expliciter les équations différentielles du second ordre que sont les équations du mouvement.

Terminologie :
  • Problème dynamique direct = calcul des accélérations produites par des efforts donnés, avec une expression matricielle du type :  , ce qui permet la détermination du mouvement par intégration.
  • Problème inverse = connaissant le mouvement, c'est le calcul des efforts  , qui en sont la cause.

Lois de la dynamique modifier

Hypothèses simplificatrices modifier

En première approximation, on utilise fréquemment des hypothèses simplificatrices telles que :

  • Les corps constitutifs sont des solides rigides ; les ressorts sont (éventuellement) les seuls constituants déformables.
  • Les termes difficiles à évaluer de frottement visqueux sont estimés plus ou moins empiriquement.
  • Les articulations sont des pivots (articulation rotoïde) ou des glissières (articulation prismatique),
  • Les actionneurs (électriques, hydrauliques ou autres) sont schématisés par des forces ou des couples (qui sont des fonctions des signaux de commandes). (Dans le cas des systèmes sous actionnés, certaines articulations sont dépourvues d'actionneurs.
  • Les forces de contact avec l'environnement suivent la loi approchée du frottement sec de Coulomb.

Formulations modifier

Formulation vectorielle modifier
  • Les forces ainsi que les grandeurs cinématiques (vitesses, accélérations) sont représentées explicitement par des vecteurs.
  • On aboutit à des algorithmes relativement simples à programmer et rapides à exécuter, ce qui permet leur utilisation dans les logiciels d'intégration numérique où une, ou plusieurs, résolutions d'un problème dynamique doivent être effectuées à chaque pas d'intégration.
  • Dans le même ordre d'idées, tous les termes, analytiquement compliqués, des équations de Lagrange peuvent avantageusement être calculés numériquement par plusieurs appels, avec successivement   de l'algorithme RNEA (voir plus bas).
Formulation analytique modifier

L'état du système représentatif   est décrit par des variables de configuration ou (coordonnées généralisées) et leurs dérivées, les formulations analytiques[dyna 1] peuvent être considérées comme des applications typiques du calcul des variations. Des principes variationnels, provenant de la physique classique, sont utilisés[dyna 2] à partir de fonctions telles que l'énergie cinétique, l'énergie potentielle, leur somme, leur différence..., dépendant généralement seulement de l'état. Mathématiquement, il s'agit de la recherche de l'extrêmum de l'intégrale d'une fonction inconnue (fonctionnelle) à plusieurs variables, avec ou sans contraintes. Il en résulte par des changements de variables et en utilisant les ressources de l'algèbre et de l'analyse, des expressions variées qui sont pourtant équivalentes à la formulation vectorielle.

  • Ainsi, les équations de Lagrange sans contrainte, sont un cas particulier des équations d'Euler-Lagrange et peuvent être démontrées en minimisant la fonction action qui est une intégrale du lagrangien L =T-V.
  • Pour prendre en compte les liaisons bilatérales holonomes, il faut rajouter des variables auxiliaires : les multiplicateurs de Lagrange pour obtenir les équations de Lagrange avec contraintes, (qui ne sont plus valables s'il y a des liaisons non holonomes). Il est aussi possible d'effectuer une partition algébrique[dyna 3] entre les variables (déclarées) indépendantes et les autres variables qui sont dépendantes.
  • D'autres approches sont conseillées, ou même indispensables, particulièrement quand il y a des liaisons non holonomes (robot sur roues évidemment, mais aussi robots rampants ou à pattes). L'introduction de quasi-vitesses :   est alors presque systématique.
    • Les équations de Boltzmann-Hamel sont adaptées aux robots à base libre, en prenant les composantes du vecteur rotation du corps de base comme quasi-vitesses.
    • Il existe d'autres méthodes. On se restreint ici à l'évocation de quelques noms emblématiques : Gibbs-Appell, Kane, Maggi, Udwadia et Kalaba.
Interaction avec l'environnement modifier

Une modélisation réaliste incorpore un éventail de sujets assez disparates qui proviennent des liaisons non permanentes.

  • Liaisons unilatérales qui peuvent être saturées (égalité) ou non saturées (inégalité stricte) : conditions et multiplicateurs de Karush-Kuhn-Tucker.
  • Possibilités d'impacts et de chocs subséquents.
  • Les contacts avec frottement, entre le robot et son environnement, (commande en effort, robots marcheurs) sont délicats à modéliser, ce qui est dû à la forme non biunivoque de la loi de Coulomb. Ces difficultés qui avaient été entrevues dès 1895 avec le paradoxe de Painlevé (en) sont l'objet de recherches actuelles sous le nom de Mécanique non régulière (en).

Grandeurs mécaniques préliminaires modifier

Notations modifier
  • Chaque grandeur est affectée du même indice que le corps qu'elle caractérise.
  • Ainsi la masse, le centre de gravité, le tenseur d'inertie (qui est symétrique) au centre de gravité, du corps Cj, se noteront respectivement :  

 .

  • Les composantes d'une grandeur non scalaire dépendent du repère sur lequel elles sont projetées ce qui est indiqué par un indice supérieur à gauche.

 .

Vecteurs modifier

Ils sont appelés « vrais vecteurs » ou « vecteurs polaires » en cas d'ambiguïté.

  •   : résultante générale des forces appliquées.
  •   : vecteur vitesse linéaire.
  •   : accélération linéaire spatiale (en), par rapport au repère propre.
  •   : accélération linéaire inertielle, par rapport au repère absolu galiléen, avec la relation  
Pseudovecteurs modifier

Les pseudovecteurs qui apparaissent en mécanique, proviennent de produits vectoriels de vrais vecteurs.

  •   : Moment de force (pseudovecteur).
  •   : Vecteur vitesse de rotation (pseudovecteur).
  •   : Vecteur accélération angulaire ou accélération de rotation (pseudovecteur).

Pour les pseudovecteurs   la formule du changement de coordonnées[dyna 4] prend les formes :

  et  .

Torseurs modifier

Un torseur est un champ de vecteurs glissants équiprojectif[dyna 5] qui est similaire à un champ de moments. Un torseur est l'association d'un pseudovecteur et d'un vrai vecteur.

Énergies modifier
  • L'énergie cinétique d'un système est la somme des énergies cinétiques des N corps constitutifs :

 

 

Notations spatiales (avec des sextuplets) modifier

La dynamique des solides rigides entremêle les mouvements de translation et de rotation. D'où l'intérêt pratique d'utiliser des symboles représentant 6 paramètres. En anglais, cette notation est qualifiée de « spatial »[dyna 6].

Torseurs modifier

Le torseur cinématique (des vitesses des points d'un solides), le torseur des efforts et la dérivée du torseur cinématique (en un point M d'un repère), peuvent respectivement s'écrire :

 

Opérateurs sur deux torseurs modifier

Soit, en un même point, les torseurs  
 

Changement d'un même torseur dans 2 repères consécutifs modifier

Soit R1 (« ancien repère ») et R2 (« nouveau repère ») deux repères. Pour alléger les notations nous posons d'abord ici :

  •   vecteur dont on utilisera les composantes dans R1 ;
  •   la matrice de passage(33) directe de R1 vers R2 ;
  •   la matrices de passage(66), de R1 vers R2, pour les torseurs.

Nous disposons[dyna 7] des formules suivantes :

 

Équations de Newton-Euler modifier

Soit un corps rigide dont la masse, le centre de gravité, le tenseur d'inertie au centre de gravité, sont respectivement  . Le point O étant une origine quelconque, en posant :

  •  , pour définir la position du centre de gravité.
  •   : le tenseur réduit (33), au centre de gravité.
  •  , matrice d'inertie (6×6) du corps isolé.

En notation sextuplet et en un point quelconque d'un solide rigide, les équations de Newton-Euler (en) prennent la forme :

 

Algorithmes numériques provenant de la formulation vectorielle modifier

  • Nous considérons d'abord ici les chaînes cinématiques ouvertes simples. Les corps constitutifs : C1...CN, sont numérotés de 1 à N, l'indice 0 correspond à un repère absolu ou règne un champ de pesanteur d'intensité g. La liaison C0-C1 possède 6 degrés de liberté (ddl) pour les robots à base libre ou flottante, et 0 ddl dans le cas des robots à base fixe.
  • Les grandeurs   caractérisent le corps Cj, et sont projetées sur son repère propre Rj, fixé à Cj, d'origine Oj.
  • Le corps Cj se meut autour de l'articulation j, d'axe   (conformément à la convention de Khalil-Kleinfinger), dont la nature est caractérisée par une matrice (6×1) (sauf pour la base libre) :

  pivot ;   glissière ;   si C1 est une base libre.

  • Quelques modifications mineures permettent d'adapter les algorithmes pour chaînes simples au cas des chaînes arborescentes. En adoptant un vocabulaire généalogique, le principe de ces modifications est de remplacer le prédécesseur d'un corps par son « père ». Chaque corps, sauf C0, a un seul père, quoiqu'il puisse posséder un nombre quelconque de fils (zéro pour un corps terminal ou feuille du graphe représentatif). Avec la convention « numéro père < numéro fils » le parcours dans le graphe s'effectue de manière adéquate et la simplicité des algorithmes est conservée.
  • Chaînes fermées...

Algorithme RNEA = Recursive Newton Euler Algorithm modifier

Principe modifier

L'algorithme RNEA[dyna 8], résout le problème de la dynamique inverse : à un instant donné,   étant connus, on obtient les efforts des actionneurs   Il comporte deux boucles de récurrences :

Implémentation de la pesanteur modifier

L'effet de la pesanteur est (rigoureusement) obtenu par une accélération du corps de base C1 opposée à la pesanteur.

L'axe   étant la verticale ascendante[dyna 9] du repère absolu galiléen  , on ajoute artificiellement l'accélération   à l'accélération naturelle du repère   avec :

 

Conditions initiales modifier

Les conditions initiales sont   les vitesses et les accélérations de la base (corps  ), les variables articulaire proprement dites,  ) et éventuellement, l'effort  ) exercé par l'environnement sur le point de contact   du corps terminal   , projeté dans le repère   attaché à ce point de contact appartenant à   :

 

La base mobile ayant six degrés de liberté (et non un seul), l'harmonisation des notations est imparfaite[dyna 10]. Ici nous adoptons la notation conventionnelle suivante :

 

Montée cinématique modifier

For j= 1 to N do  

Descente des efforts modifier

For k= N+1 downto 2 do  

Modifications pour une chaîne arborescente modifier

Moyennant un adroit agencement des instructions, il est possible de ne faire appel qu'aux « grandeurs du père » et l'algorithme précédent est à peine modifié.

  1. Montée cinématique

For j= 1 to N do  

  1. Descente des efforts

For j= N downto 1 do  

Algorithme ABA = Articulated Body Inertia Algorithm modifier

  • Il traite le problème de dynamique directe : connaissant l'état et les efforts des actionneurs, on obtient les accélérations (ce qui permet d'aboutir au mouvement par intégration).
  • L'idée de départ est de considérer une partie de la chaîne comme étant un seul corps rigide dont on calcule l'inertie équivalente (« l'articulated body inertia »)   de manière à pouvoir écrire des équations auxiliaires du mouvement du type :   (cf. Newton-Euler).
  • Il est souvent appelé, d'après le nom de son auteur, algorithme de Featherstone.
  • Le cas d'une chaîne simple est seul considéré ici.
Conditions initiales modifier

 

Montée cinématique pour l'initialisation des vitesses modifier

For j= 2 to N do  

Descente des inerties des corps articulés modifier

For j= N downto 1 do  

Remontée pour les accélérations modifier

For j= 1 to N do  

Algorithme CRBM = Composite Rigid Body Method modifier

Cet algorithme calcule la matrice d'inertie dans l'espace de configuration. Son principe consiste à « rigidifier » l'arborescence, excepté en une seule articulation, en considérant successivement les N configurations   Pour j = 1,   doit être considéré comme une matrice (66).

 

For j= 1 to N do  

for j= N downto 1 do  

Algorithme GAHA = Gibbs-Appell Hessian Algorithm modifier

Cet algorithme calcule la matrice d'inertie dans l'espace de configuration. Il s'avèrerait particulièrement efficace pour les chaînes simples (bras manipulateurs). Il a l'originalité de provenir des équations de Gibbs-Appell, c'est-à-dire d'un calcul des variations opérant sur « l'énergie » d'accélération (analogue de l'énergie cinétique dans lequel le carré des vitesses est remplacé par le carré des accélérations). La matrice d'inertie du système est en effet la matrice hessienne de l'énergie d'accélération.

Formulation analytique modifier

Soit un système mécanique articulé composé de   corps et dont les articulations sont des pivots ou des glissières.

  • Dans le cas d'un système à base fixe, le nombre de variables articulaires est égal au nombre de degrés de liberté du système   (chaque corps est mobile autour de son articulation).
  • Dans le cas d'un système à base entièrement libre, la base, C1, possède 6 degrés de liberté et le nombre de degrés de liberté du système est alors  

En appelant   les variables de configuration (ou coordonnées généralisées) les grandeurs qui interviennent dans la formation des équations de Lagrange sont :

  • L'énergie cinétique du système   , qui est la somme des énergies cinétiques des Nc corps constitutifs   En appelant, pour le corps d'indice   respectivement, la vitesse au centre de gravité, le vecteur rotation, le tenseur d'inertie au centre de gravité, toutes ces grandeurs étant exprimées dans le repère absolu galiléen, on a :

 

  • La matrice d'inertie du système   est une matrice [N×N], symétrique, définie positive, telle que :

  avec la convention de sommation d'Einstein sur les indices répétés.

  • L'énergie potentielle :  

Dans le cas où il n'y a pas de composant élastique, l'énergie potentielle   est proportionnelle à l'intensité de la pesanteur   et avec   dans R0, elle devient simplement :
 
On pose ici :   pour le terme d'énergie potentielle d'indice  

  •   : Effort (couple ou force) exercé par l'actionneur de l'articulation  .
  • Le lagrangien est défini par la différence entre l'énergie cinétique   et l'énergie potentielle   :
 

Équations sans contrainte modifier

Avec les formules précédente pour T et V, l'expression générale des équations de Lagrange :

 

peut se mettre sous la forme habituelle suivante :

 

Le terme   représente les forces[dyna 11] centrifuge et de Coriolis et peut être exprimé avec les symboles de Christoffel de première espèce[dyna 12].

Le calcul algébrique des coefficients de ces équations est envisageable avec un logiciel de calcul symbolique. Toutefois, les algorithmes des sections précédentes, qui sont basés sur la formulation vectorielle de la mécanique, permettent aussi de calculer numériquement ces coefficients.

Équations avec contraintes modifier

Lorsque des points du robot sont en contact avec un obstacle fixe de l'environnement, sa position  [dyna 13] est une constante, ce qui correspond à des liaisons bilatérales (qui sont permanentes si les vitesses et les accélérations sont nulles, ou transitoires dans le cas contraire). Cette situation est représentée par les équations de Lagrange avec r > 0 contraintes égalités :

 

Lorsque les contraintes représentent des liaisons ayant une signification géométrique, les multiplicateurs sont les composantes des efforts de réaction exercés par l'environnement sur le système mécanique.

Il est physiquement plus satisfaisant de modéliser les actions de contact par des liaisons unilatérales et par des équations de Lagrange avec contraintes inégalités :

 

Équations avec termes de glissement modifier

Considérons un point du robot en contact avec une surface fixe dont le coefficient de frottement[dyna 14] est   Utilisons un repère fixe, Oxyz, orthonormé, tel que la normale au plan tangent à la surface soit l'axe Oz. La vitesse du point et la force de réaction qui s'exerce sur le robot étant respectivement :   en introduisant la matrice jacobienne partielle  la loi de Coulomb, implantée dans les équations de Lagrange, prend, hors cas particuliers, la forme ci-dessous :

 

  • Cas adhérence, point de contact non glissant.

 

  • Cas glissement, point de contact glissant.

 

Mécanique non régulière modifier

Le simple exemple de la préhension d'un objet qui est saisi puis posé ainsi que l'exemple des robots à pattes font comprendre intuitivement que les formalismes de la dynamique traditionnelle, qui considère des systèmes évoluant continument dans le temps, sont insuffisants pour permettre une modélisation réaliste de nombreux robots évolués.

Un des pionniers de la mécanique non régulière est le mécanicien et mathématicien français Jean-Jacques Moreau

Quelques thèmes à développer dans le cadre de la mécanique non régulière :

Liaisons unilatérales modifier

Algorithme pour le cas plan : Complémentarité linéaire. Problème de complémentarité non linéaire (en)

Impacts et chocs modifier

Un choc se traduit par une discontinuité dans les vitesses, la détermination de l'état après un choc dépend des hypothèses.

Frottements modifier

Détection des collisions modifier

détections des collisions

Notes et références modifier

Voir aussi modifier

Notes modifier

  • Généralités
  • Jean-Paul Laumond, Leçon inaugurale prononcée le jeudi 19 janvier 2012 au Collège de France [1] La robotique traite du rapport que peut entretenir avec le monde réel une machine qui bouge et dont les mouvements sont commandés par un ordinateur. Ainsi le robot se distingue-t-il à la fois de l’automate, dont les mouvements sont mécaniquement déterminés, et de l’ordinateur, qui manipule des informations mais ne bouge pas.
  • De toute façon, à l'exception de cas très simples, toute modélisation implique une description schématique, qui cependant ne diffère « pas trop » du monde réel.
  • L'exemple utilitaire de la planification des manœuvres (non holonomes) d'un tracteur à roues auquel sont attelées plusieurs remorques, cause des problèmes compliqués et spécifiques qui ne sont pas envisagés dans le présent article.
  • Une des difficultés pratiques de la modélisation en robotique provient du nombre relativement élevé des degrés de liberté (6 pour un bras manipulateur, 30 pour l'humanoïde HRP-2), ce qui souligne l'importance de conventions et de notations judicieuses.
  • Drone, Avion-robot, UAV = Unmanned Aerial Vehicle, AUV = Autonomous Underwater Vehicle, etc., ne sont pas considérés ici.
    • modélisation géométrique
    • géométrie euclidienne à 3 dimensions
    • Un corps donné peut posséder un nombre variable d'ascendants, de fils, de descendants, mais il n'a qu'un seul père (avec père(1)=0)
    • Dans un espace euclidien, les longueurs sont définies par le produit scalaire
    • Conventions pour orienter l'espace .
    • Remarque : Les théories générales distinguent les composantes covariantes   des composantes contravariantes  . Mais dans le cas des bases orthonormales des espaces euclidiens, cette distinction est inutile car  
    • Ces notations sont critiquables : il faut bien distinguer l'indication des bases dans   de l'indication des indices « ligne, colonne » de la matrice de passage. La position inférieure des indices provient de  
    • Par convention : (Anciennes coordonnée)= (Matrice DIRECTE) × (Nouvelles coordonnées prime).
    • Espace ponctuel affine euclidien à 3 dimensions de la physique classique.
    • Peut être considéré comme un Mouvement hélicoïdal(synonyme vulgaire : vissage).
    • Une présentation des quaternions [2] sur le site Mécanique spatiale, par Robert Guiziou, agrégé de mathématiques.
    • Remarquez que la matrice de passage associée est une matrice homogène (4×4).
    • Précisément : trois paramètres constitutifs et une variable articulaire. Dans le cas de corps portant plusieurs articulations (ayant plusieurs fils) deux paramètres supplémentaires sont nécessaires.
      • modélisation cinématique
      • modélisation dynamique
      • Le terme «formulation lagrangienne» est, en principe, moins général.
      • Une autre approche consiste à introduire le Principe des puissances virtuelles pour obtenir ensuite les Équations de Lagrange par changement de variables.
      • Méthode de Wehage et Haug, proposée en 1982.
      • Mathématiquement, les composantes d'un pseudovecteurs sont les 3 composantes strictes d'un tenseur d'ordre 2 complètement antisymétrique.
      • Présentation des vecteurs glissants sur la plateforme pédagogique de l'INSA toulouse.
      • Ne pas confondre avec ceci : Mécanique spatiale.
      • Toutes les relations faisant intervenir les torseurs en notation sextuplet sont vérifiables de manière élémentaire. Une présentation naturelle et rigoureuse (mais plus lourde) fait appel au groupe de Lie SE(3).
      • le mot anglais recursive a le sens de «par récurrence» et ne fait nullement intervenir la récursivité.
      • Pour indiquer que le vecteur pesanteur est dirigé vers le bas.
      • D'où l'intérêt des équations de Boltzmann-Hamel, des quasi-vitesses étant les composantes du vecteur rotation de C1.
      • Forces inertielles ou réactions d'inertie.
      • Attention, on rencontre des variantes dans l'ordre de l'écriture des indices i, j, k.
      • Position dans l'espace opérationnel.
      • Pour simplifier, ici le coefficient de frottement statique est supposé être égal au coefficient de frottement dynamique. De plus on néglige le frottement de pivotement, (ce qui se justifie précisément si le contact est vraiment ponctuel).
      • Bibliographie modifier

        Ouvrages de références modifier

        • Exposé détaillé de principaux algorithmes numériques de la modélisation vectorielle.

        (en) Roy Featherstone, Rigid Body Dynamics Algorithms : Kluwer international series in engineering and computer science: Robotics, 233 Spring Street, New York, NY 10013, USA, Springer, (réimpr. 1987) (1re éd. 1983), 272 p. (ISBN 978-0-387-74314-1, lire en ligne)

        • Vue d'ensemble sur la robotique; les chapitres I et II sont consacrés à la modélisation.

        (en) Bruno Siciliano, Oussama Khatib (eds.) et al., Springer Handbook of Robotics, New York, NY, Springer, , 1611 p. (ISBN 978-3-540-23957-4, lire en ligne)

        Articles de revues périodiques disponibles en ligne (en 2013) modifier

        • Présentation rigoureuse des algorithmes par récurrence avec la théorie des groupes de Lie.

        (en) James E. Bobrow et G. A. Sohl, « A Recusive Dynamics and Sensitivity Algorithm for Branched Chains », ASME Journal of Dynamic Systems, Measurement and Control, vol. 123, no 3,‎ , p. 391-399 (DOI 10.1115/1.1376121, lire en ligne) 

        • Algorithme de Gibbs-Appell par le Hessien.

        (en) V. Mata, S. S. Provenzano et F. Valero J.I. Cuadrado, « Serial-robot dynamics algorithms for moderately large numbers of joints », Mechanism and Machine Theory, vol. 37,‎ , p. 739–755 (lire en ligne) 

        Thèses, Ph.D., mémoires ou autres ouvrages disponibles en ligne (2013) modifier

        • Exposé traditionnel de la mécanique classique, un peu ancien, (pas de matrices, ni de chaînes de corps rigides).

        Georges Bouligand, « Précis de mécanique rationnelle à l'usage des élèves des facultés des sciences », 1re édition, sur name.umdl.umich.edu, Librairie Vuibert, Paris, (consulté le ), p. 1-282  

        • Exemple d'utilisation des algorithmes récursifs Newton-Euler RNEA et ABA, avec généralisation au cas des robots à base mobile.

        Guillaume Gallot, « Modélisation dynamique et Commande d’un robot Anguille », thèse de doctorat, sur ec-nantes.fr, École centrale de Nantes, (consulté le ), p. 1-209 

        • Diverses variantes de présentation des algorithmes par récurrence.

        (en) Scott-Robert Ploen, « Geometric Algorithms for the Dynamics and Control of Multibody Systems », Ph.D. Thesis, sur gram.eng.uci.edu, University of California, Irvine,, (consulté le ), p. 0-158  

        • Liaison unilatérales, frottement de Coulomb, paradoxe de Painlevé.

        Frank Génot, « Contributions à la modélisation et à la commande des systèmes mécaniques de corps rigides avec contraintes unilaterales », RR-3366, sur hal.archives-ouvertes.fr, INPG (aussi INRIA), (consulté le ), p. 7-143  

        • Pour traiter les liaisons unilatérales : une introduction à la mécanique non régulière dans la première partie de cette thèse.

        (en) Christian Walter Studer, « Augmented time-stepping integration of non-smooth dynamical systems », Ph.D. Thesis, sur ethz.ch, ETH Zurich, (consulté le )