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 :
- Par des algorithmes numériques spécifiques, qui utilisent généralement la récurrence.
- Avec des logiciels de calcul symbolique, adaptés au traitement des systèmes mécaniques, et qui manipulent les expressions algébriques (exemples : AUTOLEV, NEWEUL, AUTOSIM, ROBOTRAN, MESAVERDE, KINDA…).
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 :
- La relation X = F(q) correspond au modèle géométrique direct (la configuration q est donnée).
- La relation q = G(X) correspond au modèle géométrique inverse (la situation X dans l'espace opérationnel, est donnée).
Description topologique - Architecture
modifierChaines cinématiques
modifierDes distinctions peuvent être faites entre :
- Chaîne ouverte simple; exemples : bras mécaniques plus ou moins autonomes.
- Chaîne arborescente; exemples : robot anthropomorphes.
- Chaîne fermée; exemples : robots à architectures parallèles.
systèmes à base fixe et systèmes à base mobile
modifier- À base fixe, souvent les bras manipulateurs fréquemment utilisés dans l'industrie.
- Systèmes (plus ou moins) libres dans l'espace ; (exemples : robots marcheurs à pattes, robots mobiles sur roues).
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
modifierBien 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
modifierEspace vectoriel euclidien à trois dimensions
modifierVecteurs et matrices
modifierDé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:
- 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.
- 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.
- 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).
- 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
modifierSoit 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
modifierDans l'« espace ordinaire »[geom 8], un déplacement quelconque se décompose[geom 9] en une translation et une rotation.
Repères
modifierOn 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
modifierSoit 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
modifierLes 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
modifierRotation 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
modifierOn 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:
- 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.
- 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
modifierL'utilisation des quaternions unitaires élimine les difficultés[geom 10] numériques dues aux configurations singulières.
Denavit-Hartenberg
modifierLes 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 :
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 :
- 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).
- Une ou plusieurs solutions.
- 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
modifierModélisation cinématique directe
modifierLe 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
modifierLe 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
modifierLa 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
modifierHypothèses simplificatrices
modifierEn 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
modifierFormulation 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
modifierL'é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
modifierUne 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
modifierNotations
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
modifierIls 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
modifierLes 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
modifierUn 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 :
- De même l'énergie potentielle dans le champ de pesanteur :
Notations spatiales (avec des sextuplets)
modifierLa 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
modifierLe 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
modifierSoit, en un même point, les torseurs
Changement d'un même torseur dans 2 repères consécutifs
modifierSoit 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
modifierSoit 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
modifierPrincipe
modifierL'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 :
- Une montée (indices de 1 à N) cinématique, qui utilise la composition des vitesses et des accélérations.
- Une descente (de N à 1) des efforts, où interviennent les lois de Newton-Euler et des actions réciproques.
Implémentation de la pesanteur
modifierL'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
modifierLes 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
modifierFor j= 1 to N do
Descente des efforts
modifierFor k= N+1 downto 2 do
Modifications pour une chaîne arborescente
modifierMoyennant 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é.
- Montée cinématique
For j= 1 to N do
- 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
modifierFor j= 2 to N do
Descente des inerties des corps articulés
modifierFor j= N downto 1 do
Remontée pour les accélérations
modifierFor j= 1 to N do
Algorithme CRBM = Composite Rigid Body Method
modifierCet 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
modifierCet 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
modifierSoit 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
modifierAvec 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
modifierLorsque 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
modifierConsidé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
modifierLe 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.
- Il convient donc de prendre en compte des systèmes à structure variable (en) qui sont des systèmes hybrides et d'utiliser des fonctions continues par morceaux. Les transitions entre phases temporelles pouvant être détectées avec des « fonctions critères ».
- Ces considérations interviennent, selon des réalisations plus ou rigoureuses, dans les moteurs physiques de diverses bibliothèques logicielles de simulation mécanique. Exemples : Bullet, Newton Game Dynamics, Open Dynamics Engine.
- La mécanique non régulière (en) considère les systèmes mécaniques multi-corps avec des contacts, du frottement et des impacts. C'est une matière qui présente des difficultés mathématiques et qui englobe plusieurs approches dont les développements ne sont sans doute pas entièrement achevé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
modifierAlgorithme pour le cas plan : Complémentarité linéaire. Problème de complémentarité non linéaire (en)
Impacts et chocs
modifierUn choc se traduit par une discontinuité dans les vitesses, la détermination de l'état après un choc dépend des hypothèses.
- Voir : Choc élastique - Collision inélastique Coefficient de restitution - Percussion mécanique
- Exemple de chocs : Chocs des billes suspendues.
Frottements
modifier- Cone de frottement : Analyse convexe - Fonction multivaluée - Mesure (mathématiques).
- Glissement - Adhérence (physique) - Stick-slip.
- Problèmes complémentaires ; inclusions différentielles.
Détection des collisions
modifierNotes et références
modifierVoir aussi
modifier- Compléments classiques de mécanique rationnelle : Cinématique - Centre instantané de rotation - Lois du mouvement de Newton - Référentiel galiléen - Référentiel non inertiel - Force d'inertie - Déplacement virtuel - Principe de d'Alembert - Mouvement de Lagrange de la toupie.
- Notions se rapportant aux traitements des liaisons unilatérales : Complémentarité linéaire - Conditions d'optimalité (dimension finie) - Qualification de contraintes.
- Contacts et frottement : Coefficient de frottement - Wikibooks:Tribologie/Modélisation_des_actions_de_contact - Liaisons mécaniques avec frottement - Frottement - Tribologie - Courbe de Stribeck.
- Aspects plus rigoureux et mathématiques ! Tenseur (mathématiques) - Tenseur antisymétrique - Système dynamique - Espace dual - Analyse numérique - Optimisation (mathématiques) - Optimisation non linéaire - Groupe de Lie - Géométrie différentielle.
Notes
modifier- Généralités
- modélisation géométrique
- modélisation cinématique
- modélisation dynamique
Bibliographie
modifierOuvrages 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 )