Contribution à la modélisation dynamique des systèmes articulés. Bases mathématiques et outils informatiques
|
|
|
- Julie Milot
- il y a 10 ans
- Total affichages :
Transcription
1 Contribution à la modélisation dynamique des systèmes artiulés. Bases mathématiques et outils informatiques Ali Hamlili To ite this version: Ali Hamlili. Contribution à la modélisation dynamique des systèmes artiulés. Bases mathématiques et outils informatiques. Modeling and Simulation. Eole Nationale des Ponts et Chaussées, Frenh. <tel > HAL Id: tel Submitted on 4 Ot 2010 HAL is a multi-disiplinary open aess arhive for the deposit and dissemination of sientifi researh douments, whether they are published or not. The douments may ome from teahing and researh institutions in Frane or abroad, or from publi or private researh enters. L arhive ouverte pluridisiplinaire HAL, est destinée au dépôt et à la diffusion de douments sientifiques de niveau reherhe, publiés ou non, émanant des établissements d enseignement et de reherhe français ou étrangers, des laboratoires publis ou privés.
2 A S. OD33 /y 3 DES PONTS ht CHAUSSEES THESE DE DOCTORAT présentée à L'ECOLE NATIONALE DES PONTS ET CHAUSSEES Spéialité MATHEMATIQUES ET INFORMATIQUE CONTRIBUTION A LA MODELISATION DYNAMIQUE DES SYSTEMES ARTICULES (BASES MATHEMATIQUES ET OUTILS INFORMATIQUES) par ALI HAMULI Soutenue le 17 Septendne 1093, devant- le Jiny d'examen omposé de: Mme PASCAL Madeleine Président Rappoiteur MM. LAZARD Daniel Rapporteur CHEVALLIER Dominique Direteur de thèse LALEMENT René Examinateur LERBET Jean Examinateur RIGOLOT Alain Examinateur t E.N.P.C. i mini min il nun um NV03768
3
4 ABSTRACT During the last years, mehanial artiulated systems have beome inreasingly important in the field of automation. This work makes two important ontributions towards a better utilization of mathematial abstration: The first ontribution onerns the dynami modélisation of artiulated systems like mehanial manipulators and omplex open kinemati hains. The mathematial abstration by the Lie groups and Lie algebras theory offers an exellent means for simplifying the syntatial form of expressions of models. New methods for desribing (by fundamental families) onfigurations of mehanial systems and an original effiient reursive omputational sheme of Newton-Euler dynamis are developed. With this formulation, it should be possible to ompute a near-optimal Newton-Euler dynamis in real time. The seond ontribution onerns algebrai typing, term rewriting theory and automati generation of odes. These problems lead to new omputer algebra system arhitetures based on artifiial intelligene methods and representations in multi-equational speifiations. In this order of ideas, a prototype of omputer algebra system (SURVEYOR) and an extension (MEDUSA MF77) of Maple system, based on objet oriented programming and artifiial intelligene ontrol, are realized. A software tool for generating Fortran and Maple iterative symboli optimized odes of our dynami formulation is developed with MEDUSA MF77system. Keywords: Kinematis, Dynamis, Simple and Complex Open Kinemati Chains, Differential Geometry, Lie Groups and Lie Algebras, Artifiial Intelligene, Objet Oriented Programming, Automati Generation of Codes.
5
6 REMERCIEMENTS II m'est agréable d'exprimer dans es quelques lignes ma reonnaissane et ma gratitude aux personnes qui ont ontribué à la réussite de e travail: Monsieur Dominique CHEVALLIER, Direteur-adjoint du CERMA, a dirigé ette thèse. Il m'a prodigué onseils onstrutifs et remarques pertinentes tout au long de es années de reherhe à ses otés. Qu'il me permette de lui témoigner ma profonde reonnaissane. Madame Madeleine PASCAL, Professeur de l'université d'evry Val. d'essonne, a aepté d'être président rapporteur du jury. Je lui exprime tout mon respet et ma gratitude. Monsieur Daniel LAZARD, Professeur de l'université Pierre et Marie Curie, a aepté d'être rapporteur de e travail. Je le remerie vivement pour l'intérêt qu'il a manifesté à l'égard de mes travaux et pour l'enthousiasme ave lequel il a lu e doument. Monsieur René LALEMENT, Professeur à l'enpc et Direteur-adjoint du CERMICS, je le remerie sinèrement pour ses remarques valeureuses onernant la partie informatique de e travail. Monsieur Jean LERBET, Maître de onférene à l'université de Tours, aeptera que j'évoque ii l'aide amiale qu'il m'a apporté dans la hâte des derniers jours. Je l'en remerie ordialement. Monsieur Alain RIGOLOT, Professeur des universités, m'a fait l'honneur d'examiner mes travaux et de partiiper au jury de thèse. Je le remerie pour l'enthousiasme haleureux ave lequel il m'a fait part de ses remarques. J'adresse mes sinères remeriements à la diretion de l'éole nationale des ponts et haussés et aux membres du entre d'enseignement et de reherhe en mathématiques appliquées qui m'ont aueilli aux seins de leur entre pour toute la période de ma thèse. Ils ont su éouter mes exposés, leurs remarques et leurs questions m'ont été préieuses. Je n'oublie pas de remerier Madame Véronique SERRE serétaire du CERMA pour sa gentillesse et ses ompétenes multiples, ainsi qu'à tous mes amarades du entre pour leur amitié. Enfin, je dédie e travail à mes parents et ma famille. Je leur serai éternellement reonnaissant pour leur soutien et leur amour.
7
8 TABLE DES MATIERES INTRODUCTION Contexte de notre travail Fondements et buts de la thèse Etat de la question de dynamique Formalisme de Lagrange Formalisme de Gibbs-Appel Formalisme de Newton-Euler Pian et apports de la thèse La partie La partie La partie Les annexes 10 Partiel ASPECTS MATHEMATIQUES 11 1 ELEMENTS DE LA REPRESENTATION DUALE Introdution Nombres duaux Définition struturelle Parties réelle et partie duale d'un nombre dual Nombres duaux inversibles - Quotient Fontion d'une variable duale Définition - Exemples Limite et ontinuité de fontions de variable duale A-difFérentiabilité - Dérivée d'une fontion de variable duale Conditions de A-diffêrentiabilité Prolongement anonique dual d'une fontion de variable réelle Veteurs duaux Constrution des veteurs duaux - Définitions Opérations élémentaires sur les veteurs duaux Matries duales 26 v
9 Partie 0 TABLE DES MATIERES Constrution Inversion de matries arrées duales Matrie duale orthogonale Conlusion 29 2 CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Introdution Notion du groupe des déplaements eulidiens Notion de onfiguration d'un orps rigide Algèbre de Lie des torseurs Rappels - Définitions - Notations Struture d'algèbre de Lie de l'espae vetoriel des torseurs Multipliation des torseurs par les nombres duaux Représentation duale des torseurs Opérateur de rédution d'un torseur en un point Produit salaire dual sur le A-module des torseurs Pseudo-norme sur le A-module des torseurs Produit mixte dual de torseurs Torseurs unitaires et torseurs orthogonaux Famille fondamentale de l'algèbre de Lie des torseurs Groupe orthogonal de D - Déplaements eulidiens Ation du groupe des déplaements à gauhe sur $ Isomorphie de (S, D, ) et (,D,o) Notion de mouvement de solide rigide - Familles mobiles Exponentielle de torseurs - Générateur infinitésimal d'un déplaement Calul de la représentation adjointe d'un déplaement Déplaements élémentaires - Déomposition anonique des déplaements Changement de oordonnées relatif à un hangement de onfigurations Conlusion 51 Partie 2 MODELISATION DES SYSTEMES ARTICULES 53 3 MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Introdution Liaison - Paire inématique - Degrés de liberté Classifiation des paires inématiques par sous-groupes de3d) Chaîne inématique Struture topologique des méanismes Graphe des méanismes à topologie arboresente Parours en largeur de l'arbre topologique 70
10 TABLE DES MATIERES Partie Exemple de struture arboresente Variétés d'étude des systèmes artiulés Espae opérationnel Espae artiulaire Cosinus direteurs duaux Systèmes de oordonnées Angles de Brian t duaux: Roulis, Tangage et Laet duaux Angles d'euler duaux: Préession - Nutation et Rotation propre duales Modèle géométrique des méanismes à struture ouverte simple Déplaements de passage entre éléments adjaents du robot Modèle géométrique en terme de déplaements de passage Conventions de Denavit-Hartenberg Algorithme pour les systèmes en haîne ouverte simple Commentaires et preuve de l'algorithme Modèle géométrique d'un manipulateur à struture arboresente Formulation itérative du modèle géométrique Généralisation de l'algorithme par les onventions de Denavit-Hartenberg aux systèmes arboresents Conlusion 97 MODELE DYNAMIQUE DES SYSTEMES ARTICULES Introdution Desriptions du hamp des vitesses Dérivée temporelle d'un hamp Desriptions euierienne et lagrangienne des vitesses Aélérations d'un orps rigide - Lois de omposition de mouvements Résultats préliminaires Vitesses et aélérations dar s une paire inématique Cinétique du orps solide Desription de la masse inerte Desription du entre de masse Tenseur d'inertie d'ordre deux Torseur inétique - Opérateur généralisé d'inertie Torseur dynamique - Loi de Newton-Euler Modèle dynamique des robots à haîne ouverte simple...,,., Algorithmes réurrents pour le alul des vitesses et aélérations Appliation des lois de Newton-Euler Efforts des ationneurs au niveau des artiulations Algorithme de "propagation" des fores et ouples artiulaires Efforts généralisés - Coeffiient aratéristique 123
11 Partie 0 TABLE DES MATIERES Algorithme itératif du modèle dynamique Initialisation des réurrenes Complexité du alul algorithmique Modèle dynamique des méanismes à struture arboresente Equations du mouvement d'une struture d'arbre topologique Initialisation de l'algorithme itératif Conlusion 132 Partie 3 REALISATIONS INFORMATIQUES LE PROTOTYPE: SURVEYOR Introdution Coneption et prototypage Choix du langage de programmation Modèles de représentation des onnaissanes Programmation traditionnelle Réériture Termes Arbre étiqueté - Sous-terme Substitution - Filtrage - Unifiation Systèmes de réériture Terminaison et onfluene d'un système de réériture Ordre de rédution Réériture typée Arbres - Représentation des termes dans SURVEYOR Formalisation de l'affetation forestière Règles de prodution, Arhiteture du système SURVEYOR Base des faits Base de onnaissane Codage interne des règles Moteur d'inférene pour la réériture typée Exemple Observations Conlusion LE SYSTEME SYMBOLIQUE: MEDUSA MF Introdution Le système de alul formel Maple Le ode Fortran Ol
12 TABLE DES MATIERES Partie Diffiultés de générer des shémas optimisés par les SCF Première ritique 17G Seonde ritique Troisième ritique Quatrième ritique Création dynamique d'objets dans le système MEDUSA MF Construteur de lasses make_objet Construteurs opératoires Abstration symbolique des objets par "masquage" Module de saisie des données dans MED USA MF Prinipe de la desription paramétrée Langage de desription - Règles syntaxiques Calul du modèle dynamique optimisé variables relatives aux déplaements de passage entre orps adjaents Autres variables intermédiaire Conlusions MODULE DU CALCUL DUAL Introdution Présentation des onstruteurs duaux Construteur de lasses Opérateur ad d'un torseur Déplaements autour des axes d'un repère Simplifiateurs Fontions Fontions parties réelle et duale Prolongement anonique Fontions spéiales Angles d'euler duaux assoiés à un déplaement Angles de Briant duaux assoiés à un déplaement Conlusion. 207 Partie 4 ANNEXES 209 A NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE 211 A.l Introdution 211 A.1.1 Variété différentielle - Carte 211 A.1.2 Changement de artes 212 A.2 Groupe de Lie 213 A.2.1 Sous-groupes immergés d'un groupe de Lie 214
13 Partie 0 TABLE DES MATIERES A.3 Groupe opérant dans un ensemble 214 A.4 Ation d'un groupe sur un ensemble 214 A.4.1 Fidélité 214 A.4.2 Transitivité 214 A.4.3 Homogénéité 215 A.4.4 Ations d'un groupe de Lie sur lui même 215 A.5 Algèbre de Lie d'un groupe de Lie. 216 A.5.1 Crohet de Lie 218 A.5.2 Sous-groupe à un paramètre 219 A.5.3 Appliation exponentielle 219 A.5.4 Homomorphismes de groupes et d'algèbres de Lie 220 A.5.5 Coordonnées anoniques. 220 A.5.6 Représentation adjointe 221 B MODELE GEOMETRIQUE DU ROBOT ACMA-H B.l Desription du robot ACMA-H B.2 Modèle géométrique 225 B.3 Configuration de l'organe terminal dans l'espae opérationnel 228 B.3.1 Calul formel 228 B.3.2 Appliation numérique 232 C SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRIANT DU- AUX 233 Cl Introdution 233 C.2 Position du problème 233 C.3 Shéma de alul des paramètres assoiés aux angles d'euler duaux 234 C.4 Shéma de alul des paramètres assoiés aux angles de Briant duaux 235 C.5 Appliation 236 C.5.1 Desription des trajetoires - Loi Bang-Bang 237 C.5.2 Simulation des onfigurations de l'effeteur du robot ACMA-H8Û 237 D LE ROBOT PUMA D.l Introdution 243 D.2 Caratéristiques 243 D.3 Desription paramétrée grâe au module DATASEIZE 243 D.4 Base de onnaissane en ode maple générée par MEDUSA MF D.5 Code Fortran généré par MEDUSA MF E COMPLEXITES EFFECTIVES APRES COMPILATION DU CODE EN LIGNE 273 E.l Introdution 273 E.2 Code assembleur de l'implémentation initiale. 273 E.3 Code assembleur de l'implémentation transformée 276
14 TABLE DES MATIERES Partie Ü E.4 Conlusion.,, 279 REFERENCES ET BIBLIOGRAPHIE 281, EVI H.M'îùïB
15 Partie 0 TABLE DES MATIERES
16 LISTE DES FIGURES 0.1 Champs de reherhe onernés par notre travail Session de travail sur Maple ave le module dualstru.map Ation du groupe O sur l'ensemble des onfigurations S Famille fondamentale Installation robotisée Liaison entre deux orps Matérialisation d'une paire inématique Interprétation géométrique Paires inématiques réalisées par ontat entre surfaes externes Paires inématiques réalisées par ontat interne-externe Degrés de liberté Exemples de méanismes et de paires inématiques Graphe assoié à une struture arboresente (graphe orienté) Graphe assoié à une struture arboresente (graphe ordonné) Ordre réursivement reonnaissable sur un arbre topologique Positionnement de l'organe terminal Angles d'euler lassiques Angles de Briant duaux Paramétrage par des angles d'euler duaux Configuration artiulaire Repérage des éléments du robot Familles fondamentales assoiées aux notations de Denavit-Hartenberg Paramètres assoiés au notations de Denavit-Hartenberg Paramètres inématiques pour un système arboresent Distribution de masse dans un solide â une onfiguration donnée Shématisation des grandeurs inématiques Résultantes des efforts agissant sur un élément Corretion assoiée au déplaement d'une fore Satellite géostationnaire Anik E 121 XI11
17 4.6 Bilan des efforts exerés par les orps adjaents à un élément Comparaison des omportements asymptotiques des modèles Bilan des efforts entre orps adjaents dans une struture arboresente Constrution des termes Représentations d'une expression mathématique Affetation forestière L'objet: Règle de réériture Modèle oneptuel de SURVEYOR Session de travail sur SURVEYOR Robot intelligent autonome dans un environnement variable Modèle oneptuel de MEDUSA MF Session de travail sur Axiom Niveaux d'abstration des données Interprétation des opérations Tradution de la règle objet en règles hamps 187 7,1 Session de travail sur Maple 196 A.l Carte différentielle 212 A.2 Changement de artes 213 A-3 Un hamp de veteurs dans le fibre tangent du groupe G 217 B.l Shématisation du robot ACMA-H Cl Loi Bang-Bang 238 C.2 Simulation numérique de la loi Bang-Bang 239 C.3 Simulation numérique de la preession duale de l'organe terminal du robot ÂCMA-H C.4 Simulation numérique de la nutation duale de l'organe terminal du robot ACMA-H C.5 Simulation numérique de la rotation propre duale de l'organe terminal du robot ACMA-H8024Q C.6 Simulation numérique du roulis dual de l'organe terminal du robot ACMA-H C.7 Simulation numérique du tangage dual de l'organe terminai du robot ACMA-H C.8 Simulation numérique du laet duale de 'organe terminal du robot ACMA-H D.l Le robot PUMA
18 INTRODUCTION 0.1 Contexte de notre travail L'un des objetifs de la reherhe en méanique est l'analyse mathématique du omportement des systèmes artiulés (massivement utilisés par la tehnologie moderne), d'expliquer e omportement par des modélisations et e afin de faire des prévisions ou de le reproduire par la ommande. L'entrelaement entre différentes disiplines des sienes appliquées et la diffiulté roissante des systèmes font de l'informatique, oordonnée ave l'étude mathématique des modèles, un outil indispensable à ette analyse. Ainsi, la omplexité roissante des systèmes méaniques, le progrès des automates programmables et la variété des domaines des appliations méaniques des systèmes artiulés (industries manufaturières, spatiales, sous-marines, nuléaires, transports,... et) exigent une adaptation permanente de la formalisation mathématiques et la oneption de nouveaux modèles et algorithmes performants pour le alul du omportement de tels systèmes. Cette oopération des mathématiques et de l'informatique a ouvert un important domaine de reherhe où la oneption et la réalisation des systèmes d'aide à la modélisation et à la génération des shémas de alul assistées par ordinateur sont des outils indispensables. De nombreux systèmes informatiques ont été onsarés à une partie ou une autre de es questions [R. Sturges[STUR-73], W. Khalil [KHAL-78], J.Y.S. Luh [LUH 81], M.G. Aîdon [ALDO-82], J. Wittenburg & U. Woltz [WITT-85], Ch. Garnier [GARN-90]]. Les multiples faes des problèmes que nous venons de soulever peuvent être lassées en deux atégories: Les problèmes de modélisation d'ordre mathématique: Un modèle est une représentation simplifiée de la réalité. Il repose sur un ensemble d'hypothèses simplifiatries dérivant une partie du modèle réel et de son fontionnement. Pour tous les systèmes artiulés, qu'ils soient motorisés ou non, il existe plusieurs modes de fontionnement (ou de ommande): par 1
19 Partie 0 Chapitre 0. INTRODUCTION apprentissage, en position, en vitesse et dynamique. L'intérêt de la desription basée sur le modèle dynamique est de permettre notamment: o de prendre en ompte les termes: d'inertie, des fores entrifuges et de Coriolis, éventuellement, de frottement, de déformation,... et. o d'évaluer les fores et ouples transitoires des ationneurs: pour dimensionner les efforts, pour déterminer au mieux les rapports des transmetteurs. Les objetifs tehnologiques et industriels qui motivent le hoix d'un tel modèle sont essentiellement liés à la préision et la répétabiîité de la tâhe d'une part et 'aélération du rythme de travail et de prodution d'autre part. En effet, une ommande dynamique permet notamment d'aroître la vitesse de travail en gardant: o la même préision que pour la ommande en position, o la même répétabiîité qu'en ommande par apprentissage. Cependant, les diffiultés dues à la omplexité du modèle dynamique résident essentiellement dans le volume du alul matriiel et les inidenes qu'il peut induire sur le fateur temps réel lorsque ette omplexité n'est pas maîtrisées. Les problèmes d'ordre informatique liés à la oneption et la réalisation d'un système d'aide à la modélisation et à la génération de odes répondant aux "fateurs de qualité". Ces fateurs de qualité doivent reouvrir deux aspets: o Les qualités générales du logiiel d'aide à la modélisation: onvivialité, ergonomie, rapidité, fiabilité, modularité, souplesse, adaptabiîité,... et. o Les qualités spéifiques liées à la ohéiene, la modularité et la orapréhensibilité du ode soure généré par le système logiiel: déomposition modulaire: le système logiiel doit réduire la omplexité apparente des équations générées en mettant en fateur les aluls ommuns afin d'optimiser le ode soure, preedene modulaire: les sous-modules du ode soure doivent être disposés selon l'ordre de preedene des aluls; 'est à dire, de telle manière qu'à l'exéution des programmes, les variables figurant lans le sous-module en ours de traitement doivent être évaluées à des étapes antérieures, ompréhension modulaire: d'une part, les sous-modules doivent avoir un sens (dans le as qui nous intéresse, ils doivent avoir un sens méanique) de façon à e que
20 0.2. Fondements et buts de la thèse Partie 0 l'utilisateur puisse omprendre les étapes du alul. D'autre part, le système logiiel doit être apable de délarer automatiquement dans les "zones de délaration" du ode soure: le type, la dimension et la préision de alul des différentes variables. Le as éhéant, le système doit pouvoir ommenter automatiquement les sous-modules du ode soure pour aider les utilisateur à mieux omprendre le déroulement du proessus de alul des programmes. Les solutions, proposées par la résolution informatique, à es problèmes relèvent de deux atégories: o La première atégorie, dite algorithmique, orrespond aux as où l'on dispose de modèles mathématiques ('est le as du problème de alul du modèle dynamique). La solution onsiste alors à hoisir les mathématiques omme langage de programmation: pour ela, on dispose entre autres d'un large hoix de systèmes de alul formel permettant une bonne représentation du ontexte mathématique du problème. o La seonde atégorie de solutions orrespond aux as où l'on dispose de onnaissanes et d'heuristiques générales 1 ('est le as des problèmes d'obtention des fateurs de qualités du ode généré). L'intelligene artifiielle propose, dans de tels as, des systèmes basés sur des règles de prodution (i.e. des modules de la forme: ondition => ation), des règles de réériture, des stratégies de résolution, des heuristiques,... et. Cette démarhe ambitieuse herhe à ombiner la simulation du raisonnement mental humain aux performanes de rapidité de l'ordinateur. L'intérêt d'un approhe hybride (Aîgorithmique-I.A.) dans le problème qui nous préoupe vient du fait que des algorithmes, des onepts, des axiomes, des lois,... et même des jugements de bon sens ou intuitifs oopéreront ensemble pour atteindre la solution finale. C'est le type de solution que nous préonisons dans ette thèse. 0.2 Fondements et buts de la thèse Le but prinipal de ette thèse est don le développement des outils néessaires à l'élaboration d'un algorithme performant pour le alul du modèle dynamique en temps réel, sa généralisation à une large atégorie des systèmes artiulés -arboresents- et enfin la oneption et la réalisation des outils informatiques basés sur des systèmes de alul formel, pour la génération automatique: d'un shéma de alul symbolique itératif optimisé en nombre d'opérations élémentaires du modèle dynamique dans le langage Fortran; 'Notons que dans nombre de as, es onnaissanes et heuristiques peuvent se ramener à des desriptions par des modèles mathématiques. Mais, pas dans le sens de la modélisation mathématique invoquée au paragraphe préédent. Dans e as, il s'agit surtout de problèmes de gestion d'hypothèses, de gestion arboresente, de planifiation,... et. On peut don reourir selon les as à divers types de représentations: bases de règles, logique, probabilités, reherhe opérationnelle,... et.
21 Partie 0 Chapitre 0. INTRODUCTION des équations formelles expliites du modèle dynamique dans le langage du alul formel. Dans et esprit, la partie mathématique de notre thèse poursuit les travaux de D. Chevallier sur la modélisation des systèmes artiulés à l'aide de la théorie des groupes et algebres de Lie [CHEV-86]. L'auteur a exposé, dans et artile, les aspets algébriques du groupe D) des déplaements et la struture de variété différentielle de l'espae S des onfigurations d'un solide rigide. L'existene d'un produit intérieur "[.[.]", qui munit S d'une struture rimannienne invariante par permet d'exposer la théorie newtonnienne de l'inertie d'un solide rigide et d'aboutir à ertaines propriétés partiulières de l'opérateur d'inertie. Une desription axiomatique des liaisons et la relation entre vitesses des orps en liaison permettent d'aboutir à une formulation analytique des équations expliites de la dynamique à partir du prinipe des puissanes virtuelles. Nous nous somme inspirés également des travaux de J-M. Hervé [HERV-78] sur la représentation formelle des liaisons dans les paires inématiques par des sous-groupes de déplaements. Mais, notre approhe est différente dans la mesure où elle se base sur la aratérisation de tels sous-groupes par les générateurs infinitésimaux de leurs déompositions relatives à des familles fondamentales 2. En effet, afin d'atteindre la rigueur du raisonnement analytique de la représentation formelle, nous avons ru néessaire de faire ressortir l'aspet infinitésimal de ette modélisation. Nous nous sommes attahé dans les différents points traités dans e mémoire à mettre de l'ordre dans les idées pratiques et de la rigueur mathématique dans les fondements théoriques. Nous avons d'ailleurs obtenu, indépendamment des travaux préédents et onformément aux ambitions exprimés au début de ette introdution, nombre de résultats nouveaux. Nous avons herhé à exprimer un formalisme ou n'interviennent que des strutures (algébriques) et des opérations (propies aux traitement informatique); pour ela il était néessaire de substituer à la notion de repères affines orthonormés direts la notion intrinsèque de familles fondamentales. 0.3 Etat de la question de dynamique Aujourd'hui, toutes les méthodes de génération des équations du mouvement résultent de Tune des deux approhes de base, à savoir: Première approhe: il s'agit de la tradution du mouvement par un ensemble d'équations algébro-différentielîes déduites des théorèmes généraux de la méanique lassique. Dans ette lasse se retrouvent toutes les formulations qui sont basées sur le formalisme de Newton-Euler. Seonde approhe: dans ette approhe, on exprime les équations de la dynamique d'un système artiulé holonome à l'aide d'un système différentiel du seond ordre sur la variété différentielle représentant l'espae des onfigurations. Les équations sont généralement "C'est une notion que nous proposons omme alternative à la notion lassique de repères affines orthonormés direts et dont nous exposerons l'intérêt et les avantages plus loin dans e texte. m
22 0.3. Etat de a question de dynamique Partie O exprimées dans des systèmes de oordonnées et/ou quasi-oordonnées et peuvent revêtir diverses formes lassiques: équations de Lagrange, équations de Gibbs-Appel, formalisme de Hamilton, formalisme de Kane; traduisant ainsi une des multiples formes du prinipe des puissanes virtuelles. La reherhe ontemporaine dans e domaine onerne deux grandes atégories de problèmes de dynamique: (a) Modèle dynamique inverse : ou tout simplement modèle dynamique; est le problème qui onsiste à herher les efforts (i.e. fores/ouples) qu'il faut appliquer aux ationneurs pour produire ou reproduire un mouvement aratérisé par la donnée des positions, vitesses et aélérations artiulaires du système artiulé. Les méthodes exposées dans la littérature revêtent deux formes: La forme expliite où le veteur des efforts artiulaires sont déterminés par des équation de la forme: Q= A(q)q + b(q,q) où: Q q q q A(q) veteur d'ordre N (où N est le nombre de degrés de liberté de la struture artiulée) des ouples/fores des ationneurs, selon la nature des artiulations (rotoïde ou prismatique), veteur des N positions artiulaires, veteur des vitesses artiulaires, veteur des aélérations artiulaires, matrie d'ordre N x N, généralement appelée matrie de l'énergie inétique ou KQI Q) veteur des termes de Coriolis et des fores entrifuges, non-linéaires en fontion de q et q, et des tenues des fores de gravité. Forme reursive (impliite) où l'on ne peut séparer les différentes variables artiulaires, mais qui présente de nombreux avantages omme nous le montrerons dans ette thèse. (b) Modèle dynamique direte : dans e problème, il s'agit d'exprimer les aélérations artiulaires en fontion des positions, vitesses et efforts des ationneurs. Ainsi, plusieurs formalismes ont été utilisés pour obtenir les équations du mouvement des systèmes méaniques artiulés [E.T. Whitteker [WHIT-04], W. Hooker k. G. Margulies [HOOK-65], V.l. Arnold [ARNO-66], R. Roberson & J. Wittenburg [ROBE-66], J. Wittenburg [WITT-77], J.Y.S. Luh, M.W. Walker & R.P.C. Paul [LUH 80], T.R. Kane & D.A. Levinson [KANE-80], J.M. Hollerbah [HOLL-80], M. Renaud [RENA-SO], P. Coiffet [COIF-81], D. Chevallier & Helmer [CHEV-84], M. Vukobratovi [VUKO-85], D. Chevallier [CHEV-86], M. Valàsek [VALA-91]].
23 Partie 0 Chapitre 0. INTRODUCTION Formalisme de Lagrange Le formalisme des équations de Lagrange onsiste à exprimer des équations différentielles du seond ordre à l'aide de Vénergie inétique. La formulation standard du modèle dynamique basée sur e formalisme pour des systèmes artiulés à struture quelonque déoule des travaux de J.J. Uiker [UICK-65]. Cette méthode générale est basée sur le alul de la trae de matries et représente ainsi un puissant outil de alul. Mais, son défaut majeur est qu'elle présente trop de aluls redondants. Plusieurs auteurs ont utilisé ette méthode [Kahn [KAHN-69J, Kahn & B. Roth [KAHN-71], J.M. Haollerbah [HOLL-80], M. Renaud [RENA-80]] Formalisme de Gibbs-Appel Les travaux de bases qui sont à l'origine de e formalisme remontent à la fin du XIX e sièle [J.W. Gibbs [GIBB-879], P. Appell [APPE-OOj & [APPE-11]]. Les équations sont exprimées à l'aide de l'énergie d'aélération et de la dérivation a"appell. S'appuyant sur e prinipe, A.F. Vereshagin [VERE-74] a proposé un modèle dynamique expliite pour les méanismes à struture de haîne dont les artiulations sont de type prismatique ou pivot. Plus réemment, T.R. Kane et D.A. Levinson [T.R. Kane & D.A. Levinson [KANE-80], [KANE-83] & [KANE-85]] ont formulé sur es bases e qu'on appelle les équations de Kane, utilisées depuis par plusieurs auteurs [E.A. Deslge [DESL-87], J.E. Keat [KEAT-87], D.E. Rosenthal [ROSE-87]] Formalisme de Newton Euler Ce formalisme déoule des théorèmes généraux de la méanique. Il est fréquemment utilisé dans la ommande dynamique des systèmes artiulés. L'étude faite par Hooker et G. Margulies [HOOK-65] présente l'une des premières tentatives de systématisation du modèle dynamique pour des systèmes méaniques à strutures arboresentes. Cette formulation a été améliorée par R. Roberson et J. Wittenburg en introduisant la théorie des graphes [R. Roberson & J. Wittenburg [ROBE-66J]. Cependant, l'inonvénient de es méthodes est qu'il est souvent diffiile de prévoir l'élimination des efforts intérieurs à la struture artiulée. P.W. Likins a apporté une solution à e problème en ramenant toutes les artiulations à un seul degré de liberté donnant forme ainsi à la première méthode expliite de la formation du modèle dynamique [P.W. Likins [LIKI-71J & [LIKI-74]]. C'est dans ette même période, que les équations de Newton-Euler ont été utilisées pour la première fois dans la modélisation des strutures bioméanique telles que le orps Immain [R.L. Huston & C. E. Passerello [HUST-71], Stepanenko & Vukobratovi [STEP-76], Orin & al. [ORIN-79]]. En 1979, J.Y.S. Luh, M.W. Walker et R.P.C. Paul ont proposé une méthode itérative très adaptée à la ommande dynamique en temps réel des robots à haîne inématique simple [LUH 80]. Depuis, ette méthode a été utilisée sous diverses formes par de nombreux auteurs [J.M. Hollerbah [HOLL-80], E. Dombre & W. Khalil [DOMB-88]]. Par ailleurs, plusieurs auteurs ont développé des
24 0.4. Plan et apports de a thèse Partie 0 méthodes d'analyse topologique pour les formulations réursives de la dynamique des méanismes [J. Wittenburg [WITT-77], R.S. Hwang & E.J. Haug [HWAN-89]]. En 1966, V.l. Arnold a publié un artile [ARNO-66] onsaré à l'étude du mouvement d'euler- Poinsot par la théorie des groupes et algebres de Lie où il exprime notamment les équations d'euler à partir de l'étude des géodésiques du groupe lassique 50(3). Sur les mêmes bases théoriques, dans les aimées 80, D. Chevallier a proposé une méthode analytique expliite permettant de formuler les équations de la dynamique de façon intrinsèque dans l'algèbre de Lie assoiée au groupe des déplaements à partir du prinipe des puissanes virtuels pour des systèmes rrraîtiorps ave des artiulations quelonques [D. Chevallier [CHEV-86]]. En utilisant la notion des nombres duaux, déouverte par le mathématiien W.K. Clifford [CLI-873] & [CLI-878] et utilisée depuis en inématique par de nombreux auteurs [A.T. Yang [YAN-64a], A.T. Yang and F. Freudenstein [YAN-64b], F.M. Dimentberg [DIME-65], G.R. Veldkamp [VELD-82], D. Chevallier [CHEV-91]], nous avons développé une formulation itérative du modèle dynamique des robots manipulateurs [A. Hamlili [HAML-91]]. En 1992, nous avons amélioré ette formulation [HAML-92] pour donner forme à un algorithme basé sur une double réurrene, d'une effiaité quasi-optimale, très adapté au alul du modèle dynamique des strutures artiulés en temps réel. 0.4 Plan et apports de la thèse Ainsi, omme on peut le voir après es quelques lignes, le but pratique de notre travail dans le domaine de la dynamique ne peut être atteint qu'au prix de développements théoriques et trouve sa onfirmation par omparaison ave les résultats lassiques de la méanique des systèmes artiulés de orps rigides. Ce mémoire de thèse omporte quatre parties. 0.4,1 La partie 1 Il est souvent intéressant et parfois néessaire de hanger la représentation d'un problème afin de se ramener à un problème pour lequel on dispose d'outils d'analyse plus naturels permettant d'exprimer les idées très lairement et ave moins d'efforts. La première partie à pour objet de définir les bases théoriques préliminaires aux théories abordées pour établir nos modèles. Elle omporte des développements et outils mathématiques fondamentaux. Ainsi, elle est essentielle à la ompréhension des raisons qui ont motivé nos hoix autant dans la, modélisation géométrique que dynamique du omportement des systèmes artiulés. Le hapitre 1 s'attahe aux éléments de la théorie des nombres duaux et les méthodes de base permettant leur implementation en alul symbolique. Les raisons qui nous ont amenés à étudier les extensions sur l'anneau des nombres duaux et à dégager nombre de résultats qui semblent ne F]
25 Partie 0 Chapitre 0, INTRODUCTION pas être étudiés ailleurs sont au nombre de deux: la première raison et la plus importante se rattahe à l'implantation de telles strutures dans des proessus de alul formel; la seonde raison est l'absene, dans la littérature, d'un travail rigoureux qui puisse servir de référene de base sur e point partiulier. Le hapitre 2 est onsaré à la présentation de l'ensemble des outils mathématiques que nous allons adopter pour a modélisation des aspets géométriques et dynamiques des systèmes artiulés dans le adre de la théorie des groupes et algèbre de Lie. Dans e hapitre, nous proposons les notions des familles fondamentales et familles mobiles omme une alternative aux notions lassiques de repères affines orthonormés direts et repères mobiles de l'espae géométrique affine eulidien. En substane, es deux notions ne traduisent auune autre prétention que elle "d'algêbriser" totalement la notion de repère affine orthonormé diret. Ainsi, elle apporte une larifiation formelle des aluls (ette façon de voire les hoses est étroitement liée à la représentation des onfigurations d'un solide par elles d'un trièdre orthonormé diret). Les idées que nous proposerons, seront méthodiquement développées par des séries de théorèmes et de propositions donnant ainsi un orpus mathématique à es aspets théoriques de la modélisation La partie 2 La deuxième partie se ompose également de deux hapitres. Elle présente les modèles de omportement des systèmes artiulés à struture de haîne inématique ouverte simple ou arboresente dans le ontexte théorique défini dans la première partie. Le hapitre 3 est onsaré à l'étude du modèle géométrique des systèmes artiulés à haînes inématiques ouvertes simples et arboresentes. Les aspets développés dans le hapitre 2 nous ont onduit naturellement à proposer la généralisation des définitions des angles d'euler et des angles de B riant permettant ainsi la desription des déplaements et des mouvements de 1 à 6 degrés de liberté. Grâe à l'outil de alul formel et ompte tenu des résultats démontrés au hapitre 1 sur l'inversibilité des prolongements anoniques duaux, nous exprimerons les onditions d'appliation de telles onventions généralisées. L'identifiation des paramètres de desription du mouvement va permettre, entre autres, de déterminer le modèle géométrique inverse et les onfigurations singulières pour de tels paramétrages du groupe des déplaements. Enfin, e hapitre se termine en établissant des modèles géométriques itératifs pour les méanismes à struture de haîne inématique ouverte simple ou arboresente. La tradution des onventions de Denavit-Hartenberg dans e langage mathématique permettra de mettre en évidene un algorithme itératif simple pour exprimer une méthode aiialytipue pour déterminer tels paramètres à partir de la donnée des familles fondamentales assoiées aux élément de la haîne inématique.
26 0.4. Pian et apports de!a thèse Partie 0 Muite'it au muele Cette figure shématise les hamps de la reherhe en dynamique des systèmes multiorps suivant trois axes ardinaux. La région olorée situe les hamps de d'ation de ette thèse dans le vaste domaine de la reherhe en dynamique des systèmes artiulés. Fig. 0.1: Champs de reherhe onernés par notre travail Le hapitre 4 porte entièrement sur la modélisation dynamique des méanismes à struture de haîne inématique ouverte simple ou arboresente. Nous définissons notamment dans e hapitre la notion de pseudo-aélération, le proédé de alul d'un tel hamp de veteurs et sa relation ave les notions lassiques d'aélérations angulaire et linéaire en un point du solide. L'expression, dans e formalisme, des lois fondamentales de la dynamique et du bilan des efforts agissant sur haque orps d'un système artiulé permettent alors de déduire un algorithme performant poulie alul du modèle dynamique (appliable au alul en temps réel). Nous proposerons alors une omparaison, basée sur le oût de alul, de et algorithme ave sept autres algorithmes de référene. Enfin, e hapitre se termine par la généralisation de et algorithme au as des systèmes artiulés arboresents. Dans e ontexte, les modèles que nous allons proposer présenteront un intérêt double: simpliité syntaxique des modèles d'une part et desription de la réalité dans des as omplexes d'autre part.
27 Partie 0 Ch&pitre 0, INTRODUCTION La partie 3 Dans ette troisième partie, nous onsidérons les problèmes relatifs à la génération d'un ode optimisé du modèle dynamique itératif. Nous présenterons le prototype SUREVEYOR et le logiiel MEDUSA MF77 que nous avons développés à et effet. Sur un exemple simple, nous montrons que les fontionnalités atuelles des systèmes de alul formel lassiques ne permettent pas enore la prodution de odes qui requièrent les fateurs souhaités de qualité. Nous exposerons ensuite les solutions que nous apportons à es problèmes par la réériture dans des algebres libres (abstrations algébriques) de termes du premier ordre (i.e. ontenant des variables) au moyen des tehniques de l'intelligene artifiielle. Enfin, ette partie se termine par l'exposé, sur des exemples, des prinipales fontions du module dualstru. map de alul formel sur les objets duaux. Ce module définit de puissants outils informatiques de alul et de manipulation formelle des objets duaux pour le mathématiien, d'autant plus ertains d'entre eux sont même spéialiser en méanique. Le but de leur oneption est de permettre d'érire et manipuler des expressions mathématiques formelles à partir d'objets duaux. L'ensemble de es outils permet d'exprimer dans une syntaxe simple des modèles de réalités matérielles et physiques très omplexes Les annexes La première annexe propose un rappel suint des différents résultats de la théorie générale des groupes et algebres de Lie. Elle pourrait ainsi servir de référene rapide aux leteurs. Les autres annexes proposent des appliations variées des différentes méthodes proposées dans ette thèse à des problèmes d'ingénierie. 10 \
28 Partie 1: ASPECTS MATHEMATIQUES 11
29
30 - Résumé de la partie 1 - PRELIMINAIRES MATHEMATIQUES ET BASES DE LA MODELISATION II est souvent intéressant et parfois néessaire de hanger a représentation d'un problème afin de se ramener à un problème pour lequel on dispose d'outils d'analyse plus naturels qui permettent d'exprimer les idées très lairement et ave moins d'efforts. Dans ette première partie, nous nous fixons pour objet de définir les bases théoriques et les fondements mathématiques préliminaires aux thèmes abordés pour établir nos modèles. Ainsi, elle essentielle à la ompréhension des raisons qui ont motivé nos hoix autant sur le plan de la modélisation géométrique que dynamique du omportement des systèmes artiulés. Enfin, nous verrons omment es méthodes exates peuvent servir pour l'algébrisation de notions physiques dont l'utilisation sous la forme lassique, dans des développements formels, est souvent responsable à la ompliation des aluls et des modèles. Nous montrerons, plus loin dans e mémoire, que l'ensemble des moyens que nous proposons font de nos méthodes des outils indispensables à une détermination systématique de modèles généraux des systèmes artiulés. Les modèles s'exprimeront alors dans e langage mathématique sous des formes syntaxiques relativement simples.
31 Partie 1 14 OilfinKliKr IHl'isöa
32 Chapitre 1 ELEMENTS DE LA REPRESENTATION DUALE 1.1 Introdution Le mathématiien William Kingdon Clifford (1845-1S79) a introduit une idée très originale sur la théorie des "moteurs" 1 qui réside dans l'utilisation d'un ertain opérateur t qui permet d'exprimer symboliquement un "moteur" (M, Mo) sous forme d'un veteur spéial 2 : M + e MQ OÙ est un opérateur nilpotent du seond ordre. C'est ainsi, à la suite des travaux de W.K. Clifford [[CLI-873] & [CLI-878]], que l'existene d'un tel opérateur a été impliitement aeptée. Plus tard, en se basant sur les travaux de Bail et Zanhevskiy sur la théorie des vis et de eux de Kotelñikov sur l'appliation des nombres duaux à la théorie des veteurs, F.M. Dimentberg a proposé une large appliation du alul dual sur les vis pour le traitement des problèmes de inématique [F.M, Dimentberg [DIME-65]]. Dans de réents travaux, plusieurs auteurs [K. Sugimoto & J. Duffy [SUG-82aj, G.R. Veldkamp [VELD-82], A.K. Pradeep, P.J. Yoder & R. Mukundan [PRAD-89], D. Chevallier [CHEV-91]] ont proposé des présentations modernes des appliations de tels nombres en inématique. Dans le hapitre présent, nous allons introduire la notion de nombres duaux omme un outil mathématique. Nous nous attaherons à mettre de la rigueur mathématique dans notre exposé afin de ressortir les idées réelles qui existent derrière l'utilisation des nombres duaux. Ave et outil, nous allons onstruire un ertain nombre de strutures algébriques adjaentes et établir nombre s Nous avons utilisé ii la tradution du mot anglais: Motor. 2 L'mtrodution de e type de veteurs qui résulte d'une telle onstrution formelle a onduit Clliford à des résultats intéressants [DIME-65]: Les opérations sur les moteurs sont indépendantes du point de l'espae géométrique où ils sont réduits. La partie vetorielle d'un moteur apparaît omme le résultat de l'opération par e du même moteur. 15
33 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE de résultats analytiques et algébriques afin de mettre en évidene les propriétés aratéristiques qui nous permettrons d'envisager un alul symbolique diret (et systématique) sur ette notion. Contrairement à e que l'on pourrait roire, travailler sur des strutures algébriques et des outils basés sur les nombres duaux n'est pas une simple généralisation 3 du alul sur es mêmes notions dans R. Il s'agit en fait de travailler dans de nouvelles strutures algébriques qui n'ont plus les mêmes propriétés que les strutures algébriques orrespondantes sur R. En effet, même si les axiomes d'un module sont identiques à eux d'un espae vetoriel, au hangement près du orps de base en un anneau, et même si les prinipales définitions d'algèbre linéaire sont valables dans les modules, les propriétés algébriques d'un module peuvent différer substantiellement de elles d'un espae vetoriel. En partiulier, des propriétés intuitives de la géométrie ou de l'existene d'une norme peuvent être en défaut dans un module. Et manque d'une justifiation mathématique rigoureuse des résultats, on ne peut affirmer ave ertitude la validité des modèles généralisés. 1.2 Nombres duaux Dans e paragraphe nous allons définir les éléments de base du alul sur les nombres duaux. Les éléments de e langage sont indispensables pour aborder des strutures algébriques duales plus omplexes Définition struturelle En un ertain sens, les nombres duaux peuvent être onçus omme des doublets 4 réels munis de ertaines lois de omposition interne. de nombres Définition 1.1 On appellera ensemble des nombres duaux et on va noter A, l'ensemble R muni des lois d'addition et de multipliation, sur des ouples de nombres réels, définies respetivement par: et {xi,x 2 ) +(2/1,2/2) = (xi+y\,x2+y 2 ) (Eq.1.1) (xi,x 2 )(yi,y 2 ) - (xi:yi,xiy-2+x 2 yl) (Eq.1.2) Dès à présent un nombre de remarques immédiates peuvent être faites sur la struture algébrique de A: D'abord, l'ensemble A a une struture d'anneau unitaire ommutatif pour les lois d'addition et de multipliation définies i-dessus. Son élément unité est: 1& = (1,0). Cependant, il est vrai que a restrition des résultats qu'on peut établir sur les A-modules, aux strutures réelles orrespondent aux résultats lassiques sur les iî-espaes vetoriels à des isomorphismes près. D'autres définitions peuvent être envisagés. A titre d'exemple, l'ensemble des nombre duaux peut être Considéré omme étant une algèbre quadratique de type (0,0) [N. Bourbakî [BOUR-70]], ou enore la struture R[X]/[X 2 ).
34 1.2. Nombres duaux Partie 1 De plus l'élément e = (0,1) est nilpotent d'ordre deux; 'est à dire: 2 = 0 A (Eq.1.3) L'ensemble A n'est don pas un anneau intègre, puisqu'il ontient des diviseurs de zéro. Par ailleurs, l'ensemble {(a, 0)/a 6 R} est un sous-anneau de A isomorphe à JR, Ainsi, dans la suite, nous pourrons identifier et ensemble à Jfî. L'ensemble A peut être muni d'une struture d'espae vetoriel de dimension deux sur R, dont une base anonique est donnée par la famille {IAI e}, de sorte que l'on peut désormais identifier A à R e R. On s'aordera don d'érire, de façon symbolique, pour tout nombre dual x = (xi,x2)'- x= a;ila+ X2= x\ + a?2 ; ave x\, Xi R (Eq.1.4) Parties réelle et partie duale d'un nombre dual Définition 1.2 Nous appellerons parties réelle ei duale d'un nombre dual, les fontions Re et Du à arguments dans A et à valeurs dans R qui à tout nombre dual x xi + e x% de l'ensemble A, assoient respetivement les omposantes réelles: Re(x) x\ et Du(x) = X2 On a l'habitude d'utiliser un support géométrique pour représenter intuitivement la notion de produit artésien. Cependant, bien que et approhe soit assez ommode pour se faire une idée intuitive, il ne faut pas trop s'y fier pour les démonstrations mathématiques. Ainsi, il peut arriver que l'on renontre dans la littérature le terme de points du plan A. A haque point sont assoiées deux oordonnées et, de e point de vue, les parties réelle et duale d'un nombre dual sont respetivement les projetions sur les axes de la première et la seonde oordonnée du point du plan qui représente e nombre Nombres duaux inversibles Quotient D'après la relation (Eq.1.2) qui définit la multipliation sur les nombres duaux, les éléments inversibles de A sont les nombres duaux x = x\ + ex-, ave X\ ^ 0, tels que: x- 1 = -e^r (Eq.1.5) :ti a-i" Corollaire 1.1 Soient deux nombres duaux x et y, ave Re (y) ^ 0. Si ' désigne le quotient de x par y, alors: y x Re {x) x Re (y) Du (x) - Re (x) Du (y) Re y = ReTy-) et DU V = Rel^r (Eq - L6)
35 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE 1.3 Fontion d'une variable duale Définition - Exemples Définir une fontion /, d'une variable duale x = x\ + ex2, revient à définir une appliation d'un domaine D Ç R 2 dans R 2, telle que: f(x) = /i(2:1,3:2) + fi{ x i-, x 2), où /1 et/2 peuvent être onsidérées omme deux fontions de deux variables réelles et à valeurs dans R. Exemples A titre d'exemples, on peut définir des fontions sinus et osinus duales, pour tout nombre dual x = x\ + s X2, par: sinx = sinxi + e x 2 osxi et osx = os X\ s x-i sin x\ (Eq.1.7) Si auune onfusion n'est à raindre, on peut noter tout simplement sin et os au lieu de sin et as, es fontions sinus et osinus duales. Lemme 1.2 Soit n un nombre entier naturel quelonque. Alors, pour tout nombre dual x: Preuve : de e 2 x n = R,e(x) n + endu(x)re{x) n - 1 (Eq.1.8) A étant un anneau ommutatif, on peut appliquer la formule du binôme en tenant ompte = 0. Ainsi, si x x\ + X2, alors: n X n = Y^C^ X n l - k e k k X 2 f=0 = ir + K2ll" _1 Ce qu'il fallait démontrer. Proposition 1.3 Soit x un nombre dual arbitraire, alors, les séries formelles suivantes sont onvergentes dans A et on a: et Preuve : E ~Vo M = l - COiiX i^- 1 " 9 ) t 1 [2n)\ 03 ( *[\ n r Ew = sinx (Eq 2n+1 - L10) n=0 v ' La démonstration est immédiate, elle déoule du lemme 1.2, de la définition des fontions sinus et osinus duales et du développement en série des fontions sinus et osinus de variable réelle. Plus généralement, toutes les identités établies pour la trigonométrie réelle, peuvent être étendues, quand elles sont définies, à la trigonométrie duale en tenant ompte des propriétés d'inversibilité 5 des nombres duaux. Je fait allusion ii aux formules où pourrait intervenir un quotient dual.
36 1.3 Fontion d'une variable duale Partie Limite et ontinuité de fontions de variable duale Considérons maintenant x = x\ +s x 2 et a = a\ + a 2 - Nous dirons q'une fontion de variable duale f(x) f\(x\,x 2 ) + f2(x\ : x 2 ) tend vers une limite b = bi + eb 2 lorsque x > a et nous noterons lim f(x) b, si f(x) tend vers b au sens de la topologie de R 2. C'est à dire aussi: x»a lim fi(x lt x 2 )= h il > ai lim /(x) = b ij» a 2 lim f2(xi,x 2 )= 6 2 x\ * a,\ X2 <ï2 (Eq.1.11) Ainsi, nous dirons que la fontion de variable duale est ontinue en un point a, si et seulement si elle est ontinue en (ai,0-2) pour la topologie de JR 2 : Iim/(i)= /(a) (Eq.1.12) et elle sera dite ontinue sur un domaine D Ç R, si elle est définie et ontinue en tout point de D A-différentiabilité Dérivée d'une fontion de variable duale Par définition, une fontion / de variable duale sera dite A-différentiable, en un point 1, lorsqu'il existe un nombre dual A Ç. A et une fontion de variable duale 6 tels que : f(x + h) = f(x)+ah + hq(h) et lim 0(h) = 0 h A h-*q (Eq.1.13) Ainsi, la valeur A sera dite: dérivée de la fontion de variable duale / au point x. Plus généralement, une fontion / de variable duale sera dite À-différentiable sur un domaine D (C A) lorsqu'elle est A-différentiable en tout point de D. Dans es onditions, la fontion f : x *-* A(x), ainsi définie, sera dite fontion dérivée de la fontion / Conditions de A-différentiabilité Nous voulons déterminer dans e paragraphe une ondition néessaire et suffisante pour qu'une fontion de variable duale soit A-différentiable. Théorème 1.4 Soit une fontion de variable duale f, notons /1 et f- les ontions, de R' dans R. qui définissent ses parties réelle et duale. Alors: ( f est R 2 -differentiable f est A-diffé7-entiable <i* <f g Xl g X2 (Eq.1.14)
37 Partie l Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE I Preuve : Considérons une fontion de variable duale / définie par: f(x) = h(x 1,x 2 )+ f 2 (x 1,x 2 ) où /i,/ 2 T(R 2,R) et x = x 1 +ex 2 ea (a) Si / est A-différentiable, alors d'après la relation (Eq.1.13), l'appliation: tí * tí h i-> Ah est une appliation linéaire -partiulière- de R 2 dans R. En effet, posons A = a + eb, h = h\ + eh 2 et érivons le produit matriiel dans R 2 assoié au produit Ah dans A: A'= [/ii^]*= [oft! 0/^ + 6/4]'= ÍJ M [/iifta] 4 or /i' n'est autre que l'image de h par la matrie jaobienne de / dans R et ei pour tout he R 2. Don: Ainsi, on onlut que: o O \ _ 6 a j ~~~ dh. dx\ dh dx\ àh dx dh dx2 (b) La réiproque est triviale. dxi 3x2 dx2 Ce qu'il fallait démontrer. Corollaire 1.5 Si D = I x R, où I est un ouvert de R, et si f est une fontion de variable duale A~ differentiate sur D, Alors: (a) X2i» îi{xi,x-i) est onstante (= /i(xi,0)). (b) i{x 1,x 2 ) f D : f(xi,x 2 ) = f(x 1,0)+ex 2 (xi>0). Preuve : La proposition (a) déoule immédiatement du théorème 1.4. Pour montrer la proposition (b), il suffit de voir que: f X2 dh h(xi,x2)= h(xi,0)+ - (xi,t)dt Jo ox 2 = / 2 (*i,0)+ n^±(x 1,t)dt= f 2 (xuo)+x2^(x u Q) Ainsi,/(i!, 12) = (Mxi,0)+eMxi,0))+ex 2 ( ^(n,0) + s f^(:n,0)y s v * \ax\ axi J Il en déoule aussitôt le orollaire suivant: &r(*i.o) 20 Â OlfKWi: M
38 1.3. Fontion d'une variable duale Partie 1 Corollaire 1.6 Si I est un ouvert de R et g : I t-» A est une fontion de lasse C 2 (I). prolongement \~différentiable unique f : I x Ri > A de g qui s'exprime par: Alors, il existe un f(x,y)= g(x) + eyg'(x); V(x,y) I x R (Eq.1.15) Prolongement anonique dual d'une fontion de variable réelle Définition 1.3 Soit f une fontion de variable réelle et à valeur dans R de lasse C 2 sur l'intérieur 5 de son o domaine de définition V = Dom(f). Nous appellerons prolongement anonique dual de la fontion f et nous noterons f, son unique prolongement A-différentiable sur V défini par: 7(s) = f(x),vxedom(f) (Eq.1.16) 1.6. L'existene et l'uniité du prolongement anonique dual déoulent diretement du orollaire Théorème 1.7 Soient I et J deux ouverts de R et f : I i > J un difféomorphisme de lasse C 2 de I sur J. Notons g / -1, le difféomorphisme réiproque. Alors, les prolongements anoniques f : / x J?i» Jx Retg: Jxfít-» I x R sont des bisetions réiproques l'une de l'autre. Preuve : En fait, il suffit de vérifier que: s /= f g= id En effet, soit x = x\ -f sx-i un nombre dual appartenant à J x R (Ç A), montrons par exemple que: / o g~(x) = x D'abord, omme fog(u) = u, alors (f og)'(u) 1 pour tout réel u. Don d'après la formule de la dérivée de la omposée de deux fontions numériques, nous pouvons érire: /' (g(u)) s'(«) = 1 ; Vu e R (Eq.i.i7) En suite, puisque g(x) g{x\) + ex2g'(xi), alors: 7(s(*)) = f(9{xi)) + ex 2 g'(x i )f(g(x 1 )) (Eq.1.18) En fin, en portant la relation (Eq.1.17) dans la relation (Eq.1.18), on obtient le résultat reherhé. La démonstration de g o / = id se fait de la même façon. Ainsi, le théorème est démontré. 6 Rappelons que l'intérieur d'un ensemble est par définition le plus grand ouvert ontenu dans et ensemble.
39 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE Exemples et appliations Dans et ordre d'idées, nous avons érit le module dualstru.map [Chapitre 7] pour le système de alul formel Maple V [Fig. 1.1]. Ce module rend possible le alul symbolique sur les nombres et quantités duaux. Ainsi, des aluls très omplexes peuvent être menés de façon purement symbolique. Les exemples suivants ont été obtenus grâe à e module: Le leteur pourra vérifier alors que les prolongements anoniques: /i et / 3 sont réiproques l'une de l'autre. Î2 et /} sont réiproques l'une de l'autre. La multipliation de /s par elle même (au sens de la multipliation de ses valeurs duales) est, équivalente à l'appliation identique sur fi + fe est involutive. i 1 2 nr 5 j6~ 7 8 R x R ( A). Tableau 1.1 : Exemples de prolongements anoniques duaux 1 fontion fi x i-> sin x X l» COS X Prolongement anonique dual fi ( 1,2:2) l * sí'n( ri) +.T2 os(xi) (2:1,2:2) «Costil l2sîra(xi) x H-> arsinx! {x\,x 2 ) >-> arsin(xi) i f-^2 \ x i areos x x i > y/x 1.4 Veteurs duaux (x 1,x 2 )^^xl+^ \/î Xl 2 X l-> X~ l {X\,X 2 ) l-> X'i -1 - ^fíí 3 (2:1,2:2) 1-^/1(3(11)) + x 2 5'(a;i)/i'(5(a; 1 )) /40/1 (ri x 2 )<-*arros(sin(xi)) SX2COsl - x^ \/l sin(xi) Constrution des veteurs duaux Définitions Soit E l'espae vetoriel eulidien réel de dimension 3. Considérons l'ensemble E x E muni de l'addition: j (t,u) -f (v.,w) = (t + v.u-rw): Vt,u,v,w E (Eq.1.19) et la multipliation par un salaire dual: (Xi,X 2 ){u,v) = {Xiu,Xiv + X 2 u); VAi, A 2 6 R, Vit,?- e E (Eq.1.20) L'ensemble E x E reste stable par es deux opérations. De plus, il est faile de voir que et ensemble possède une struture de A-module ". L'ensemble E x E muni des lois d'addition Etant donné un anneau ommutatif A, on appelle module sur A ou.4-module, un ensemble M muni d'une struture algébrique définie par la donnée: tipum^èiinamu-i
40 1.4. Veteurs duaux Partie 1 genera[]2edform(arsän); pause {XÎ,K2} *arsin(xl) + X2Í generallzedfonn(i):»i «Í (xi, > 2 )-..n(±)^» a>pi+epa"îo; * b:-appt!qued(are sig>sln.a); a > ÏÎ + 10 eps h :- -2 TI + 10 ps * atc'la partie resile de b *.Re(b}.* suivie de sa partis duale ',Du(b ); La partie œeae de b \z%\. suivie de sa partie duale.10 > p>b";.1f2+eps H ib): ~2fi~T eps fefo p:-(^ + 10^)(íj3-2q«73jíí) (xl,x2)-*jt^7p- f-.-u-,- (*i,*2)- j3ii- j3<19*,/4-60)- i JHaPJ» fwra;?ë7k Kapia CPU Tl«e: *.l\ (intirfae* ZEÜÜ Atuellement, le module dualstru.map [Chapitre 7] ompte un grand nombre de nouvelles fontions, entièrement implémentées, dans le langage Maple (onstrution symbolique des nombres duaux, parties réelle et duale d'expressions duales, diverses types de simplifiations sur tout genre d'expressions duales,...et) poui la manipulation symbolique des objets et strutures algébriques duaux (fontions de variables duale, onstrution automatique des prolongements anoniques, veteurs duaux, matries duales,...et). Dans la fenêtre (Maple V Release 2) de la figure i-dessus, on présente une session de travail sur Maple où l'on expérimente ertaines fontions développées dans le module daalstru.map. Fig. 1.1: Session de travail sur Maple ave, le module dualstru.map (a) d'une loi de groupe ommutatif dans M (notée additivernent dans la suite); (b) d'une loi d'ation (a,x) i-+ ax, dont le domaine d'ation est l'anneau A, et telle que: (bl) a(x + y) = (ax) + (ay); Vi,j M, a A; 23
41 Partie 1 Chapitre J. ELEMENTS DE LA B.EPRESENTATION DUALE et de multipliation, définies respetivement par les relations (Eq.1.19) et (Eq.1.20), sera dit dans la suite A-module des veteurs duaux et noté E. De plus, pour des raisons semblables à elles invoquées au paragraphe 1.2.1: L'ensemble {(ti, 0)/ u Ç. E} est un l?-espae vetoriel qui peut être identifié àl'espae vetoriel E, à un isomorphisme d'espaes vetoriels près. E peut être identifié à E e E à un isomorphisme de À-module près et les éléments de E pourront être notés symboliquement: (u,v) = 1 A (U,0) + (D,0) = u + ev; V(u,») (Eq.1.21) De la même façon, on peut définir les parties réelle et duale d'un veteur dual par: Proposition 1,8 Le A-module E est libre et de dimension trois. Preuve : Re(u,v) = u et Du(u,v)= v; V(u,v) E È (Eq.1.22) Pour montrer que E est libre, il suffit de voir que E est un espae vetoriel de dimension trois et que toute base de E est à la fois libre et génératrie du module E (i.e. E s A n E. Ainsi, E possède des bases). De plus, si w = u + ev est un veteur dual et si (111,112,113) et (vi,v-,vz) sont les systèmes de oordonnées assoiés respetivement aux veteurs u et v relativement à une base donnée de E, alors (in + e V\,U2 + v 2,it3 + E V3) est le système de oordonnées représentant w par rapport à ette même base. Maintenant, toutes les bases de E sont équipotentes, puisque l'anneau A est ommutatif et en onséquene, le module E est libre de dimension 3. I Opérations élémentaires sur les veteurs duaux Dans ette setion nous allons voire que toutes les opérations définies sur l'espae vetoriel E s'étendent, quand elles sont définies, de manière naturelle au A-module E ,a Produit salaire anonique - Veteurs duaux orthogonaux Le A-module ubre E peut être muni d'une forme bilinéaire symétrique dite produit salaire dual anonique, notée par un point et définie par la relation: u.v = Re{u).Re (v) + e (Re (u).du (v) + Du (u).re (v)) (Eq.1.23) (b2) (a + ß)x= {ax) + (ßx); Va, ß A, x M; (b3) a(ßx) = (aß)x; Va,/?,4, 1 6 M; (b4) U I = I ; V I É M. Ainsi, les ensembles A, A 3 ou, d'une façon générale, A p sont des exemples types de A-module.
42 1.4. Veteurs duaux Partie 1 où le symbole "." -point- dans u.v représente le produit salaire dans E et dans les expressions Re(u).Re(v), Re{u).Du{v) et Du(u).Re(v) le produit salaire dans E. Maintenant, si {11,1,112,113) et (i»i, 112,^3) désignent les systèmes de oordonnées duales assoiés aux veteurs «et«relativement à une base orthonormée de E (nous allons aratériser dans la suite de telles bases), alors on peut montrer failement que: 3 u.v ^jt^iiivi {=1 (Eq.1.24) Deux veteurs duaux u et v seront dits orthogonaux dans e module E pour le produit salaire dual, si u.v = 0; 'est à dire aussi: Re{u).Re{v)= 0 et Re{u).Du{v)= -Du{u).Re{v) (Eq.1.25) b Pseudo-norme duale Le but que nous nous fixons dans e paragraphe est de définir une extension anonique de la norme eulidienne (définie sur E) aux veteurs duaux dont la partie réelle n'est pas nulle. Il n'est pas question d'espérer vérifier les inégalités triangulaire ou de Cauhy-Shwartz pour une telle extension. En effet, ela n'est pas possible puisqu'on ne peut pas définir de relations d'ordre totales sur les salaires duaux. Ainsi, pour tout veteur dual u de E, tel que Re {u) ^ 0, on va poser: I u U= y/û~û (Eq.1.26) où le symbole li J " désigne le prolongement anonique dual de la fontion raine arrée. Maintenant, si u 0, on onvient don de poser: u U= 0 (Eq.1.27) Par un alul simple, on peut montrer que la relation (Eq.1.26) s'érit: u U= \\Re{u)\\+e^ ^^- si ite(«) 0 (Eq.1.28) Il Re {u) [I où ". " est la norme eulidienne habituelle assoiée à la struture d'espae vetoriel eulidien de E. La relation (Eq.1.28) montre bien que les bases orthonormées de E sont, à un isomorphisme près, des bases orthonormées de E C Produit vetoriel dual Le module libre E étant de dimension 3, nous allons définir le produit vetoriel dual omme étant une appliation bilinéaire antisymétrique de E x E -* E: uxv= Re{u) x Re{v) + e{re{u) x Du{v) + Du{u) x Re{v)); Vu,t-e (Eq.1.29)
43 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE où le Symbole "x" dans le membre de droite désigne l'appliation.r-bilinéaire du produit vetoriel sur E et ' : x" dans le membre de gauhe est son extension à E. Ainsi, si (11,1,112,113) et (^i ) ^2 Î ^3 ) désignent les oordonnées assoiées aux veteurs duaux u et v relativement à une base orthonormée de E, on peut remarquer que: uxv [u2v uzv2 U3V1 U1V3 U1V2 U2V1Y (Eq.1.30) d Propriétés générales Les relations (Eq.1.24) et (Eq.1.30) montrent bien que les opérations sur le À-module libre E héritent de toutes les propriétés immédiates des opérations du produit salaire et du produit vetoriel de l'espae vetoriel eulidien orienté E. Ainsi, si u, v et w sont trois veteurs duaux arbitraires et a un nombre dual quelonque, les relations suivantes sont vérifiées: (a) La relation du double produit vetoriel: (u x v) x w = (u.w)v (v.w)u (Eq.1.31) (b) L'identité de Jaobi: u x (v x w) + v x (w y, u) + w x (u x v) = 0 (Eq.1.32) () La relation du produit, mixte: u.[v x w) = w.(u x v) = v.{w x u) (Eq.1.33) (d) u x v est orthogonal à la fois à u et à v, pour le produit salaire dual. 1.5 Matries duales Constrution Dans la suite, nous allons nous intéresser, pour des raisons d'ordre pratique, aux matries duales arrées d'ordre 3x3. Nous pouvons onstruire la struture de matries sur les nombres duaux, à partir de Ais(R) x AdsiR) muni de ertaines lois internes et externes, par une démarhe analogue à elle qui nous a permis de onstruire les nombres et les veteurs duaux. Toutefois, donnons une desription suinte des étapes de onstrution des opérations usuelles sur de telles matries et de l'identifiation de l'ensemble,ví3(j?) x ^3(1?) à l'ensemble des matries à omposantes duales M^iA): Addition de matries: (.4, B) + (C, D) = (A + C,B + D); VA, B, C, D G M 3 (R), Multipliation de matries: (A,B)(C.D) = {AC, AD + B C) ; MA,B,C,D M 3 (R), Multipliation de matries par des salaires duaux: (a,b)(a,b)= (aa,ab + ba); VA,B e M 3 {R),Va,b e R
44 1.5. Matries duales Partie 1 Ation des matries duales à gauhe sur les veteurs duaux: (A,B)(u,v) = (Au,Av + Bu)\ VA,B e M 3 {R),Vu,v e E L'easemble A4%(R) x Mz(R) des matries duales, ainsi onstruit, possède la struture algébrique de A-module libre de dimension 9 (i.e. 9 omposantes duales indépendantes). 11 sera noté.m3(a) et dit ensemble des matries duales d'ordre 3x3. L'ensemble {(.4,0)/,4 E M 3 (R)} = {[(a ij,0)} l J=1 3 /a 7 - R,Vi,j = 1-.3} est un sousanneau de MziA) isomorphe à Ái 3 {R). Ainsi, dans la suite, nous pourrons identifier et ensemble à A4 3 {R). Ms{A) peut être identifié à M 3 {R) e M 3 {R) par l'isomorphisme de A-modules: {A,B)>~>l A A+eB = A + eb= [o i + e M IJ= i.. 3 Ainsi, nous pouvons étendre la notion de parties réelle et duale aux objets mathématiques de type matrie duale. Les opérateurs Re et Du peuvent, don, être définis de M 3 (A) dans M 3 {R) à partir des parties réelle et duale de nombres duaux: ( Re(A)= [Refait J=1 a A = [Aiil,=1 3 => { (Eq.1.34) { Du(A)= [Du(a^)} it]=1 3 Ainsi, toute matrie duale peut être déomposée, de façon unique, en fontion de ses parties réelle et duale: A= Re(A)+eDu(A); Vi e M 3 (A) (Eq.1.35) En onséquene, les opérations usuelles sur les matries duales peuvent être réérites dans une notation symbolique qui peut être retenue omme représentation anonique pour leur implementation algorithmique dans des proessus de alul formel: (a) La somme de deux matries duales se réduit à la somme de matries réelles par: A + B= Re{A) + Re (B) + e {Du (A) + Du (B)) (Eq.1.36) (b) Le produit, de omposition matriielle, de deux matrie duales, se réduit au produit de matries réelles par la relation: AB = Re(A)Re(B) + e(re(a)du(b) + Du(A)Re(B)) (Eq.1.37) () Le produit d'une matrie par un salaire dual se traduit par: XA = Re{\) Re{A) + e {Re (X) Du(A) + Du{\) Re(A)) (Eq.1.38)
45 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE (d) L'ation d'une matrie duale sur un veteur dual se résume à: Av= Re(A)Re(v) + s (Re(A) Du(v) + Du(A) Re(y)) (Eq.1.39) (e) La transposée d'une matrie duale se traduit par la somme des transposées de ses parties réelle et duale: A* = Re(Ay + edu(ay (Eq.1.40) Inversion de matries arrées duales Le but de e paragraphe est de aratériser les matries arrées duales inversibles et d'exprimer l'inverse, de telles matries, quand il existe. Théorème 1.9 Pour qu'une matrie A soit inversible dans le module AI3 (A), il faut et il suffit que la matrie Re(A) soit inversible ('est à dire detre(a) ^ 0). Dans es onditions la matrie A" 1 s'exprime par la relation: Preuve : A" 1 = Re(A}- 1 -EReiA)" 1 Dui^ReiA)- 1 (Eq.1.41) Pour que A G M3 (A) soit inversible, il faut et il suffit qu'il existe B G Mz (A), telle que AB = B A= 1 (où lest la matrie unité); 'est à dire, d'une part: et, d'autre part: Re(B)Re(Â) = Re(A)Re(B) = 1 (Eq.1.42) Re (A) Du (B) + Du (A) Re (B) = 0 Re(B)Du(A) + Du{B)Re(A)= 0 (Eq.1.43) La relation (Eq.1.42) signifie que si,4 est inversible, Re{A) est inversible. Réiproquement si Re(A) est inversible et si les relations (Eq.1.42) et (Eq.1.43) sont satisfaites par B alors: B = Re(A)- 1 -ere{a)~ 1 Du{A}Re{A)~ 1 e qui montre le théorème Matrie duale orthogonale Dans e paragraphe, nous souhaitons aratériser les matries duales orthogonales. Définition 1.4 Une matrie arrée duale sera dite orthogonale, si et seulement si elle est inversible et vérifie la ondition d'orthogonalité: A l A~ S (Eq.1.44) 1 28 Í
46 1.6. Conlusion Partie 1 Cela veut dire que A 1 = A 1. Don, d'après le théorème 1.9, d'une part, la matrie Re (A) est une matrie orthogonale au sens lassique Re{A)~ 1 Re{A) 1 et, d'autre part: Re {A) Du {Af + Du (A) Re (A)' = 0 (Eq.1.45) Théorème 1.10 Soit A une matrie arrée duale. Si A est orthogonale, alors, il existe deux veteurs réels u et v, tels que: A= {î+eû)re(a)= Re(A)(l+ev) (Eq.1.46) où u est la matrie antisymétrique définie par: ü w ~ u x w pour tout w E. Preuve : La relation (Eq.1.45) exprime que la matrie Du{A)Re{A) t est une matrie réelle antisymétrique. Par la suite, il existe un veteurs u E tel que: û = Du(A)Re{A) t et posant v = Re(A) l ure (A), on obtient le résultat reherhé. 1.6 Conlusion Dans le domaine de la modélisation, on est souvent tenté par des généralisations et des hangements de représentations algébriques suessives 8 du problème initial afin de se ramener à des domaines plus rihes en outils de alul symbolique et qui onduisent à une implementation optimale des algorithmes. Changer la représentation algébrique d'un problème peut onduire à des solutions de problèmes plus généraux que le problème initial sans ompliquer pour autant la représentation syntaxique du modèle utilisé. Ainsi, dans les problèmes qui nous intéressent pour la desription de modèles assez généraux, la struture de module sur l'anneau des nombres duaux semble être partiulièrement pratique pour le alul symbolique. Cependant, ontrairement à e que l'on pourrait roire, même si les axiomes d'un module sont identiques à eux d'un espae vetoriel, au hangement près du orps de base en un anneau, et même si les prinipales définitions d'algèbre linéaire sont valables dans les modules, les propriétés algébriques d'un module peuvent différer substantiellement de elles d'un espae vetoriel. En partiulier, des propriétés intuitives de la géométrie ou de l'existene d'une norme peuvent être en défaut dans un module. En effet, faute d'une justifiation mathématique rigoureuse des résultats, on ne peut affirmer ave ertitude la validité des modèles généralisés. Mais, une fois le ontexte mathématique de es extensions est bien défini, il devient naturel de herher les orrespondanes qui existent entre les modèles exprimés dans les différentes représentations. Ces orrespondanes permettraient de relier les strutures algébriques aux modèles étudiés. Cette étape fait l'objet du hapitre suivant. 8 Et souvent exessives si es généralisations ne sont pas effiaement ontrôlées. M
47 Partie 1 Chapitre 1. ELEMENTS DE LA REPRESENTATION DUALE 30
48 Chapitre 2 CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION 2.1 Introdution Plusieurs méthodes existent pour la modélisation mathématique des problèmes de la méanique du solide rigide. La prise en ompte de l'évolution des outils mathématiques dans la modélisation de tels problèmes est un paramètre important dans la oneption et l'élaboration de modèles généraux. Le alul numérique et symbolique de es modèles fait généralement appel à la notion de hangement de repères pour dérire les déplaements relatifs des différents éléments du système méanique les uns par rapport aux autres. La onstrution de repères onduit à la définition de systèmes de oordonnées pour la paramétrisation du groupe des déplaements et de l'espae des onfigurations. Ce hapitre est onsaré à la présentation de l'outil mathématique qui permet une telle desription dans la théorie des groupes et algebres de Lie. Nous allons par la suite assoier une struture de module à l'algèbre de Lie des torseurs. Pour définir les systèmes de oordonnées, néessaires à la manipulation numérique et symbolique des êtres mathématiques intervenant dans la modélisation, nous allons introduire la notion de familles fondamentales de l'algèbre de Lie des torseurs Ö omme une alternative à la notion lassique de repères (i.e. systèmes d'axes) de l'espae géométrique affine et nous montrerons que es deux notions sont équivalentes. Notre hoix est justifié pour deux raisons essentielles: L'automatisation du alul symbolique à un degré d'abstration assez élevé. Cela va permettre de faire des manipulations symboliques sur les families fondamentales; don diretement sur les repères assoiés. L'ergonomie de la représentation syntaxique des modèles, pour permettre une meilleure transparene du alul symbolique et une plus simple loalisation des simplifiations du alul à un degré d'abstration assez élevé. 31
49 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Notion du groupe des déplaements eulidiens En se plaçant dans le adre de la géométrie eulidienne, la théorie mathématique des groupes peut être appliquée à l'ensemble des déplaements de orps rigides (i.e. déplaements eulidiens). Cet ensemble forme un groupe de Lie [J. Favard [FAVA-57], J-M. Hervé [HERV-78], A. Karger & J. Novak [KARG-85], D. Chevallier [CHEV-86] & [CHEV-91]] que nous noterons dans la suite D. Dire que l'ensemble 113 est un groupe de Lie signifie que et ensemble est muni d'une struture de groupe, d'une struture de variété différentielle et que la omposition et l'inversion des déplaements sont des opérations différentiables [Annexe A]. Dire qu'un orps rigide C est ontraint à évoluer dans un sous-groupe de ILP, signifie que e orps est soumis à des liaisons d'origine méanique. Nous reviendrons sur ette idée, pour développer plus amplement la notion de ontraintes lors de l'étude des liaisons méaniques [Chapitre 3] Notion de onfiguration d'un orps rigide La notion de onfiguration du orps rigide C est un élément de modélisation assez abstrait. Généralement, une onfiguration s est donnée par rapport à une référene r. éventuellement virtuelle. On aratérise, souvent, ette notion par Sa donnée de la position et l'orientation du orps. L'ensemble des onfigurations d'un orps solide forme une variété différentielle S. L'opération du groupe des déplaements gauhe sur l'ensemble S peut être définie de façon omplètement abstraite par les trois axiomes suivants [D. Chevallier [CHEV-86]]: (ai) VA,B ed, Vs S : A. (B s) = {AB) s, (02) Vs G S : e» s = s. (03) Vr (fixé) 6 S : A»-» A r est une bijetion de iu- sur S. Ces trois axiomes traduisent le fait que l'espae (.5,, ) est un espae homogène sans points fixe 2. Nous ailons montrer dans e hapitre qu'il est possible d'identifier la variété S, à un isomorphisme près, à l'ensemble $ des familles fondamentales donnant ainsi une interprétation de S par des éléments de t) et une interprétation de l'ation " " par l'ation naturelle du groupe de Lie IL? sur l'algèbre de Lie des torseurs Ö. 2.2 Algèbre de Lie des torseurs Rappels Définitions - Notations Notons l'espae géométrique affine et E l'espae vetoriel assoié. Dans ette setion, nous allons, d'une part rappeler, la terminologie de base et les propriétés immédiates de la notion de torseur et, d'autre part, définir les notations dans lesquels nous allons travailler: 'Le leteur pourra se rapporter à l'annexe A.
50 2.2. Algèbre de Lie des torseurs Partie 1 L'ation de "déplaement" est l'opération qui permet un hangement de onfigurations d'un orps tout en restant dans l'hypothèse du solide rigide. Ainsi: Un hangement de onfigurations [r > s2] est indépendant du hemin suivi pour atteindre la onfiguration finale $2- Si on applique à un orps rigide C un déplaement Di, pour remettre C dans sa onfiguration initiale; il suffit de lui appliquer l'opération inverse D\~ ; La omposée Di D\ de deux déplaements D2 et D\ est également un déplaement; On onvient qu'il existe un déplaement e qui laisse fixe toute onfiguration de solide rigide. C'est l'élément neutre du groupe des déplaements. Ainsi, le groupe de Lie des déplaements eulidiens, pourra être interprété, omme ie groupe de transformations de la variété différentielle S des onfigurations spatiales d'un orps rigide. Fig. 2.1: Ation du groupe sur l'ensemble des onfigurations S Ou appelle hamp de veteurs toute appliation A' deí sur E. Un hamp de veteurs X est équiprojetif, s'il vérifie la ondition: X{M).M~N = X{N).W~N; VA/, N S Pour tout hamp équiprojetif (ou torseur) A', il existe un veteur u,x tel que: X(M) = A'(iV) + ujx x N~M ; VM, N e 33
51 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Les veteurs LÙX et X(M) sont dits les éléments de rédution du torseur X au point M. Il sont dits respetivement veteur résultant et moment du torseur X. De plus, la donnée de la paire {wx,x(m)} en un point M de aratérise de façon unique le torseur X. Nous allons noter, dans la suite, d l'ensemble de tous les torseurs. La magnitude du torseur X est la norme de son veteur résultant (i.e m(x) = u>x ) pour la norme ". " assoiée au produit salaire "." sur E. On appelle forme bilinêaire de Klein des torseurs X et Y et on note [X/Y], la forme R- bilinéaire symétrique définie par: [XIY] = wx-y(m) + X(M).LO Y. Les torseurs élémentaires sont les torseurs isotropes pour la forme de Klein (i.e. tels que [X/X] = 0). Il existe deux types de torseurs isotropes pour la forme de Klein: o On appelle torseur onstant ou ouple un torseur dont le veteur résultat est nul. On notera t l'ensemble des torseurs onstant. o On appelle glisseur un torseur tel qu'il existe un point M 6 qui annule son moment. On notera Q l'ensemble de tous les glisseurs de D. En tout point M de l'espae affine, tout torseur X se déompose de fa.çon unique en un torseur onstant et un glisseur. De plus, soit CM = {X t Ï)/X(M) 0}, l'ensemble CM est un sous-espae vetoriel de t) sur R et (3 = domposition anonique de D au point M. CM t. Cette déomposition est dite Si X 6 Ü \ t, on appelle pas 2 du torseur X l'appliation de t) dans R définie par: [X/X] P(X) = 2m(A') 2 Si À' t)\t, on appelle axe entral du torseur X que nous noterons Ax l'ensemble des points de tels que les éléments de rédutions de A' soient olméaires. On note opérateur fi, l'opérateur défini dans t), qui à un torseur X assoie le torseur onstant de moment: ÜX (M) = ui x ; V M e L'image et le noyau de l'opérateur fi sont onfondus: Imiï KerQ, = t (i.e H 2 = 0) Struture d'algèbre de Lie de l'espae vetoriel des torseurs On assoie, généralement, au groupe de Lie des déplaements eulidiens D, l'algèbre de Lie des torseurs Ö munie du rohet de Lie. 2 Tradution anglaise: "pith" TT]
52 2.3. Representation duale des torseurs Partie 1 Théorème et définition 2.1 L'appliation bïlinéaire (X, Y) H-» [X,y] définie par 3 : [X, Y] (M) = LUX x Y{M) + X(M) x uy ; VM G (Eq.2.1) mura l'espae vetoriel 0 de la struture d'algèbre de Lie. Preuve : D est un espae vetoriel. II est évident que le rohet "[, ]", défini par la relation (Eq.2.1), est une appliation bilinéaire, antisymétrique. Un alul simple permet de montrer que le rohet de Lie "[, ]" vérifie l'identité de Jaobi (i.e. [X, [Y, Z}} + [Y, [Z, X]] + [Z, [X, Y}} = 0; \fx, Y,Z Ö) Multipliation des torseurs par les nombres duaux Considérons maintenant l'espae vetoriel (0) des opérateurs linéaires sur l'algèbre de Lie 0. La notion d'opérateurs ylindriques 4 va établir une interprétation, en terme d'opérateurs linéaires, de la multipliation de torseurs par des nombres duaux. Définition 2.1 Nous appellerons opérateur ylindrique tout opérateur linéaire de C(0) de la forme: Z a, a = a id + aü (Eq.2.2) où a et a sont des réels quelonques. Soit 2(0) l'ensemble des opérateurs ylindriques. Il est lair que et ensemble est un sous anneau et un iî-sous-espae vetoriel (i.e. sous-algèbre) de C(0). De plus 2(0) et A sont isomorphes (par l'isomorphisme d'anneaux 2 a, a < > e + s a). Ainsi, la multipliation d'un torseur X par un nombre dual a + sa, s'identifie à l'image du torseur X par l'opérateur ylindrique 2 a<a. On érira: (a + Ea)X= 27 a, 0 A'= ax + aüx 2.3 Représentation duale des torseurs Opérateur de rédution d'un torseur en un point Dans e paragraphe, nous allons définir l'opérateur de rédution d'un torseur en un point et les propriétés qu'implique une telle opération sur la manipulation des torseurs. 3 Dans la suite, nous préférerons la relation: [X, Y] (M) = ujx x Y {M) -ujy x X(M) à la relation (Eq.2.1), pour des raisons de symétrie du alul symbolique sur les strutures duales. En effet, ette remarque fera l'objet de la proposition 2.2 [page 36]. 4 J'ai hoisi l'appellation opérateur ylindrique pare que, omme on va le voir plus tard, les générateurs infinitésimaux des déplaements ylindriques (omposition d'une rotation et d'une translation de même axe) se ramènent à l'image d'un glisseur unitaire par de tels opérateurs.
53 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Définition 2.2 Soit O un point quelonque de l'espae eulidien affine. Nous appellerons opérateur de rédution au point O, l'appliation définie par: r 0 : Ö -r E X»-+ w x +ex(0) Pour alléger les notations nous désignerons par Xo, le veteur dual image du torseur X par l'appliation IQ- Proposition 2.2 Soit O un point quelonque de l'espae eulidien affine. Alors: i) L'opérateur de rédution xo est un isomorphisme de A-modules, ii) Si "x " désigne le produit vetoriel sur le A-module E. Alors: t 0 ([X.,Y]) = v 0 (X) x t 0 {Y) ; VA',Y D (Eq.2.3) Preuve : Montrons d'bord la proposition i). Il est évident que Ö est un A-module et que to est un homomorphisme de A-modules. Montrons que et homomorphisme est bijetif: Soit un veteur dual u G E. Nous savons que tout torseur est défini d'une manière unique par la donnée de ses éléments de rédution en un point de l'espae eulidien affine. Ainsi, il existe un unique torseur X de t) tel que: u>x = Re(u), X{0) = Du(u). Cela signifie que l'homomorphisme vo est bijetif. Ce qui montre la relation la proposition i). Ensuite, pour montrer la proposition ii), il suffit de voir que d'après la relation (Eq.2.1): Re[X,Y]o ~ U[X,Y] = wx x wy ReXo x ReYo Du X, Y}o = [X, Y] (O) = LJx x Y{0) + X(0) x u Y = Re X 0 x Du Y 0 + Du X 0 x Re Y 0 Ce qui montre la relation la proposition ii. Ainsi, d'après les propositions 1.8 [page 24] et 2.2.i, nous avons le résultat suivant: Corollaire 2.3 Le A-module (0,+,.) est libre de dimension trois Produit salaire dual sur le A-module des torseurs Théorème et définition 2.4 La struture de A-module libre de D peut être munie d'une forme qui sera dite produit salaire dual sur Ö. Preuve : Il est lair que "{./-}" est une forme iî-bilinéaire. A-bilinéaire: {X/Y}= uj x.uj Y +e\x/y] (Eq.2.4) De plus elle est symétrique, puisque le produit salaire sur E des veteurs résultants et la forme de Klein le sont (somme de deux
54 2.3. Representation duale des torseurs Partie 1 fontions symétriques). La linéarité par rapport à l'addition étant évidente, il reste à montrer que si x a + e a, alors, {xx/y} = x {X/Y}. En effet: {xx/y} = a {X/Y} + a {EX/Y} = a {X/Y} + ae^x^y = x {X/Y} d'où le résultat. Proposition 2.5 Soient X, Y, Z trois torseurs de D, alors, le double rohet de Lie s'exprime par la relation: [[X,Y],Z] = {X/Z} Y - {Y/Z} X (Eq.2.5) La démonstration de ette proposition déoule diretement de la relation (Eq.1.31) en prenant pour veteurs duaux les image par to des torseurs X, Y, Z en un point quelonque O G [page 26] Pseudo-norme sur le A module des torseurs Nous pouvons, ainsi définir une ertaine pseudo-norme duale (pseudo-norme eulidienne), issue du produit salaire dual sur l'ensemble d \ t (i.e. l'ensemble des torseurs non onstants) par: f X/{X/X} ; \fxed\t H -XT 11»= < [ 0 six = 0 (Eq.2.6) Proposition 2.6 Si X est un torseur non onstant, alors, la pseudo-norme relation 5 : eulidienne de X s'exprime par la \\X\U= m{x)[l + ep(x)];vxe~0\t (Eq.2.7) La démonstration est simple, elle onsiste à appliquer la relation (Eq.1.15) ave la fontion 'V " et ^e nombre dual x = {X/X} Produit mixte dual de torseurs Théorème et définition 2.7 Nous appellerons produit mixte dual la forme A-tri-linêaire alternée définie par: (X,Y,Z)^{X/[Y,Z)} Cette appliation vérifie: {X/\Y,Z}}= {Z/[X,Y]}= {Y/[Z,X]} (Eq.2.8) 5 Cette pseudo-norme peut être obtenue aussi à partir de la pseudo-norme eulidienne sur A [page 1.4.2] par la relation: *»= *o U; VO
55 Partie I Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Preuve : La démonstration de la partie théorème de et énoné est triviale. Elle déoule des propriétés du produit mixte sur E, ompte tenu de la proposition 2.2.i puisque {XI [Y, Z}} = Xo x (Yo x Zo), pour tout point Oei Torseurs unitaires et torseurs orthogonaux Définition 2.3 Nous appellerons iorseur unitaire tout torseur X X), tel que: X = 1 (Eq.2.9) Il paraît don lair qu'un torseur unitaire est néessairement un glisseur -de pas égal à zérode magnitude égale à un. A e stade du développement, on peut logiquement se poser les questions suivantes: Quelles sont les relations entre les bases ortho-normales du A-module libre î) et les bases de la struture de JR-espae vetoriel de Ü. Gomment sont onstruites les bases ortho-normales "diretes" du A-rnodule libre t) de dimension trois (muni de "{./.}" et du produit mixte)? Comment est onstruit le "groupe orthogonal" de D, muni du produit intérieur dual "{./.}"? C'est le propos des deux setions suivantes. 2.4 Famille fondamentale de l'algèbre de Lie des torseurs Nous allons définir dans e paragraphe une notion qui peut être interprétée de plusieurs façons 6 selon la struture assoiée à Ü. Cette notion va permettre, ainsi, la paramétrisation de l'algèbre de Lie des torseurs D et, par la suite, la paramétrisation du groupe des déplaements ll *. Théorème 2.8 Considérons l'algèbre de Lie des torseurs D: (a) Si X G t) \ t et p(x) = 0, alors, X s'annule sur son axe entral A\. (b) Si A', y 0 \ t tels que p{x) = p(y) = 0, alors: [X/Y\=Q <<=> (Ax et Ay sont oplanaires.) (Eq.2.10) en partiulier si LUX xwy / 0 (i.e. [X,Y](zt), les axes A\ et Ay se oupent. 6 Voir les théorème 2.9 et 2.10 page 39-40],
56 2.4, Famille fondamentale de l'algèbre de Lie des torseurs Partie 1 1 Preuve : La proposition (a) est évidente. Il reste à montrer la proposition (h): or, dire que les pas des torseurs X et Y sont nuls, signifie que tous les deux sont des glisseurs. Considérons un point O fixe de l'axe Ay. d'après la proposition (a): VM e A A- : [X/Y] = ux\u Y x 0~M) = 0 i.e. O M.(u>x x wy) = 0. Don, nous avons deux as à examiner: si u>x x wy = 0, alors, les axes Ax et Ay sont parallèles, ils sont don opîanaires. si tox x wy ^ 0, alors, les axes Ax et Ay ne peuvent pas être parallèles. ^ 1 De plus O M.{uix x wy) = 0 signifie que les veteurs O M, u>x et wy sont opîanaires. i.e. le point M appartient au plan (0,u>y, x) (qui ontient l'axe Ay). Cei étant pour tout point M de l'axe A^, les axes Ax et Ay sont don opîanaires. Ce qui montre le théorème. Définition 2.4 Nous appellerons famille fondamentale de l'algèbre de Lie D; un triplet de torseurs (, J?, C) nuls, tels qu'ils vérifient les trois onditions suivantes: non [Ç,V)= C,hQ= É, [C,e]= V (Eq.2.11) Dans la suite les onditions (Eq,2.11) seront dites onditions d'ortho-orientation de la famille fondamentale. Définition 2.5 On onsidère le A-module libre t) muni du produit "{ / }" et du produit mixte. Soit f = (,?7,C) une famille ortho-normale de V, f sera dite direte, si et seulement si: Théorème 2.9 Re{[i,v}/0 > 0 (Eq.2.12) Soit un triplet de torseurs (,rç,ç) de Z). Les propriétés suivantes sont équivalentes: (a) (,7],C) est une base du A-module libre Ö; ß) (, V, C^ ^ Vi fi C) e5 une > ase ^u R-espae vetoriel i); fy (fî, fij7,fi ) est une partie libre sur R (i.e. (fîf, fi7j,îî ) est «ne ease tie tj 7. Preuve : 'Notons que ela veut dire aussi que, tout simplement, (u>ç,w n,u\-) eulidien \ est une base de l'espae vetoriel
57 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION J (g) => (6) Soient a.ß,j,a,b et six nombres réels, la relation: a +0T} + jç + aqi; + bflti + QÇ= O équivaut à: (a + e a) + (/? + e b) r + (7 + e ) C = 0 (une ombinaison linéaire à oeffiients dans A). Si la proposition (a) est vérifiée, ela implique: a + ea = 0 + & = 7 + e = Oet don: a = /? = 7= a = 6= = 0. (b) =» () Cette impliation est triviale, puisque toute partie d'une base est une famille libre, () => (a) La ombinaison linéaire: (a + e 0) f + (/? + 6) 7] + (7 + e ) ( = 0 implique (en multipliant les deux membres par e): eac + eßn+ "/( = aq + ßilr) + f lç = Oet, d'après () a ß 7 = 0. Il reste alors: ailç + bilî) + QÇ = 0, d'où par le même raisonnement: a b = = 0. Ce qui prouve l'équivalene entre les proposition (a), (b) et (). Théorème 2.10 Soit un triplet de torseurs (,??, C) de X). Les propriétés suivantes sont équivalentes: (a) (,77, C) est une famille fondamentale de Xi; fô) (Ci^iC) esi une ôase direte du A-module libre Ö; () il existe un repère ortho-normé diret (O; i,j, k) tel que les torseurs <, r et Ç soient déterminés par: Í(M)= C(M) =?x0m, k x ÔM (Eq.2.13) De plus, dans es onditions: {[Í, *?]/<}= 1 (Eq.2.14) 1 Preuve : (a) => (6) A priori, (,7?, Ç) étant une base du A-module libre D, il existe a, b, A tels que: [,TÎ] «s + &?? + ette base étant ortho-normale, alors: WILV)}= atf/ç}= 0 : {r>/f,7/]} = 6{r?M = 0, {(/[,»)]} = {C/C} =, ainsi, [,7}j = Ç ave = {C/ [,??]} et plus généralement [,??] = eç; [ /?,C] = ; [C ] =?) (ave le même ). 40
58 2.4. Famille fondamentale de l'algèbre de Lie des torseurs Partie 1 On en déduit alors: [77, {,??]] = [77, Ç] = 2 et d'après la formule (Eq.2.5) du double rohet de Lie: [ n,&*i\] = {rih}ç-{v/qv= í finalement: = 2 d'où 2 = 1 et omme Re = Re {(/ [C,??]} > 0, alors: = 1. (6) = (a) La relation (b) entraîne, d'une part, que: { /??} {v/o {C/C} 0 et, d'autre part: {{, } = {77,77} = {CO = { /{,i?}} = et u.o= {[i^j/[e,^]} = {[í.fo.íllm = {, } {??,??} d'où = 2 et l'on a deux solutions possibles (dans A); à savoir = 0 et = 1. Or, si = 0 alors: = 77 = ( = 0 B (e qui est exlu par hypothèse). Don, = onséquene la famille (, JJ, ) forme une base ortho-normale du A-module libre ). (a) => () Les relations exprimant l'ortho-normalité de la famille (,7?, Ç) impliquent que: 1 et en o les veteurs sommes: i = u)ç;j = w,, ; f = Wf forment une base ortho-normale de l'espae vetoriel réel de dimension trois E; o les parties duales: [ / ] = [77/77] = [ /(] = 0. Cela implique que les axes A, A n et Af sont deux à deux séants et deux à deux orthogonaux. Ces axes se oupent en un même point O G et (0) r (0) = 0, or nous avons montrer que (i x j).k Re {C/ÍÍ) 7?]} > 0, don, le repère (0;i,j,k) est un repère ortho-normé diret de l'espae eulidien orienté. () ==* (a) La démonstration de ette impliation déoule d'un alul immédiat. Ce qui montre le théorème. Définition 2.6 Soit f := ( >??, C) une famille fondamentale de l'algèbre de Lie t). Nous appellerons origine de f et nous noterons 0(f) l'intersetion 3 des axes Aç, A v et Aç. 8 L'unique point O de (Voir le théorème 2.10 [page 40]) tel que: É(O) = n(0) = (O) = 0
59 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Cette figure shématise les axes assoiés à une famille fondamentale. Ces axes forment un trièdre dont l'origine est elui de la famille fondamentale. Fig. 2.2: Famille fondamentale 2.5 Groupe orthogonal de ) Déplaements eulidiens Le but de ette setion est de déterminer le "groupe orthogonal" de Ü et aratériser les déplaements eulidiens en tant qu'opérateurs sur D. Théorème 2.11 Soit une appliation F : Ö * T) ensembliste à priori. Les deux propositions suivantes sont équivalentes: (a) F est un endomorphisme qui onserve la pseudo-norme ". 0 ". (b) F onserve le produit salaire dual sur le A-module libre D. Une telle appliation est néessairement bijetive et elle détermine une isométrie du A-module libre Ö. Preuve :
60 2.5. Groupe orthogonal de 0 - Déplaements eulidiens Partie 1 j (a) => (b) Considérons deux torseurs arbitraires X et Y;{F(X) + F(Y)/F{X) + F(Y)} = j F(X) + F(F) \\l +2 {F(X)/F(Y)} et omme F est linéaire, alors: {F(x)/F(r)} = i [il F(X) + F(y) il? - il F(X) \\l - il F(y) us] = \ [\\FlX + Y)\\l-\\F(X)\\l-\\F(Y)\\l} et d'après (a) on a: {F{X)/F{Y)} = l -[\\X + Y j g - X \\\ - Y g] = {X/y}. (6) =* (a) Soit (,??, C) une salaire, alors: base ortho-normale du A-rnodule libre Ö. Comme F onserve le produit, {F(0/F(0}= {m/f(r,)}= {F(Q/F{0}= 1 {F(0/F(v)}= {F(v)/F(0}= {F(0/F(Ç)}= O (Eq.2.15) (F( ), F(îj), F(Ç)) est une famille de trois glisseurs unitaires deux à deux orthogonaux, don elle définit également une base ortho-normale de D (ela déoule du orollaire 2.3 et du fait que l'anneau A est ommutatif). Maintenant: ' {F(xt + yr, + zo/f(ç)}= {* + M + *C/ } = s < {F(xt + yn + zq/f(ii)}= {xz + yn + zç/v}= V k {F{xt + yti + zo/f(q}= {xï + yv + zc/q= z don F(xi + yn + zq = xf( ) + yf{r ) + zf(() et F est alors A-linéaire. Par ailleurs. d'après (b) on a: {F(X)/F(X)} = {X/X}, don F(X),= X j 0. e qui montre le théorème. Ce théorème aratérise le groupe orthogonal du A-module libre D. Corollaire 2.12 Soit F : D + Ü ensembliste à priori. Les deux propositions suivantes sont équivalentes: (a) F onserve le produit salaire dual et le produit mixte sur le A-module libre (3. (b) Il existe un déplaement eulidien D de lu), tel que: F =.D* (Eq.2.16) I Preuve (b) => (a) Elle déoule du théorème préédent.
61 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION (q)=»(ft) F onserve le produit mixte, en d'autres termes: si Re{[X i Y}/Z}> 0 alors Re {[F(X),F(Y)]/F(Z)} = Re{[X,Y]/Z}> 0 et ompte tenu du théorème 2.11, ela implique que F transforme les repères ortho-normes direts de 8 en d'autres repères ortho-normés direts de. Don, il existe un déplaement D tel que F = D* 2.6 Ation du groupe des déplaements à gauhe sur $ Notons par J l'ensemble de toutes les familles fondamentales. Nous allons établir dans e paragraphe des propriétés qui présentent un intérêt apital pour tous les aspets de modélisation et les interprétations ultérieures. Proposition 2.13 Le groupe 3D opère Ç à gauhe 9 Preuve : par l'ation "o" définie par: Dof = (D., >, jj, D, Ç) : VD e D tvf= (C,î),()e5 (Eq.2.17) Il suffit de montrer que d'une part l'ensemble J de toutes les familles fondamentales reste stable par l'opération "o" et que d'autre part D opère à gauhe de $. En effet: Considérons une famille fondamentale f $ et un déplaement eulidien D 1JJ) à priori arbitraires: f [t,v] = C U.[Ç.7j]= -D.C h,ci- 2MJJ,C3= -D4 [ >*[C> ] = -D*?? [D 4?? 1 D,C3= >* { [D.CD.Í] = -D*ÎÏ e qui montre que D o f est bien une famille fondamentale. Par ailleurs: o soit f G J (quelonque), si e désigne l'élément neutre du groupe ID, alors, e» = don, eo f = f. let, o pour tout déplaement D, l'appliation fi * Dof est bijetive. En effet, son inverse est l'appliation f >-+.D" 1 o f. 9 Voir Annexe A [pp ].
62 2.7. Isomorphi de (S, D, ) et ($, ID, o) Partie 1 o Posons, maintenant, f = (Ç,i],Ç) et onsidérons deux déplaements A et B quelonques du groupe D: Ao(Bof)= A o (B*, B* Î?, B t C) - (A»(B.Í),A,(B, í? ) 1 A,(B.O) = ((A.oß t )(,(i t oß,),,(a, 0 B,)() = ((AB),Î,(AB), ÎÎ,(AB),C) = (AB)of e qui montre que M opère à gauhe de ^ par l'opération "o", Théorème 2.14 L'ensemble ($, ID, ) esi un espae homogène sans points fixes. Preuve : Il s'agit de montrer que: V f 1, f 2 G $, 3! D G D tel que: f 2 = -D o fj. Existene: Erivons d'abord: f x = (6,f?i>&) l'appliation F G (t)) définie par sa matrie duale: et Í2 = (foi'te^) et onsidérons / {6/6} ÍW6} {C2/Í1} [*1 = {6A?i} {%/%} {6AM V {6/6} {W6} {C2/C1} L'appliation F est visiblement orthogonale pour le produit salaire "{./ }" (sa matrie est duale orthogonale), don F onserve le produit salaire dual et le produit mixte dual. Don, ompte tenu du orollaire 2.12, il existe un déplaement D G ID tel que: F D*. De plus, F(ti) = {6/6} 6 + {6A?I}T?I + {6/6} Ci = 6- De même, F( V i) = V2 et F(d) = C2. Don, f 2 = Do fi Uniité: Supposons qu'il existe deux déplaements D\ et D 2 tels que: h = Di oh = D 2 ofi Don: {D^1 D^) o h = h, ainsi, VA' G d : (D 2 ~ 1 D 1 )*X = X i.e. D 2 " l D l = e. Ce qui ahève la démonstration. 2.7 Isomorphie de (s, D, ) et (Ç, D, o) L'idée que nous développons dans ette setion onsiste à adjoindre à une onfiguration s donnée du solide, une famille fondamentale f qui en soit rigidement solidaire. Cela est justifié par le fait que (<S, ; ) et ($, ID;o) sont des espaes homogènes sans points fixes opérés par le même groupe ID et don isomorphes [Annexe A, paragraphe A.4.3, page 215]. En effet,
63 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION i) on peut définir une appliation invariante (ou équivariante) s ->- f a de S dans $ telle que: f D = >of s (Eq.2.18) ii) omme les deux espaes sont homogènes sans points fixes, une telle appliation est bijetive ('est un isomorphisme d'espaes opérés par le groupe ). m) si une onfiguration de référene r S et une famille f $, telles que f = f r, sont données, alors, il existe un unique isomorphisme, de (5, ; ) sur ($, ;<>), aratérisé par la relation (Eq.2.18). Ainsi, l'ation de "lier une famille fondamentale à un solide rigide" onsiste tout simplement à donner un isomorphisme de («S, ;») sur (Ç, ;o). Cette façon de voir les hoses peut être généralisée à tous les types d'objets "liés à un solide rigide". 2.8 Notion de mouvement de solide rigide Familles mobiles Pour dérire en inématique le mouvement d'un solide ou d'un méanisme en général, nous allons définir la notion de familles mobiles qui peut être vue omme une abstration de la notion de repères mobiles 10. Les aluls assoiés à la notion de familles mobiles peuvent être dérits par l'ation du groupe sur l'ensemble Ç des familles fondamentales et don par l'ation des matries duales de A1s(A) sur le A-module libre A 3 définie un système de oordonnées sur E). de dimension 3 (puisque toute famille fondamentale Définition 2.7 Nous appelons famille mobile toute appliation de R (ou enore de [to, +<x[ en prenant fo omme origine des temps) dans l'ensemble $. telle que: En onséquene, si fo $ est fixé, il existe une appliation unique t > > D(t) de R dans. f(t) = JD(t)ofo (Eq.2.19) Cela revient au même de dérire un mouvement du solide rigide à partir de sa trajetoire t >-* s(t) t S telle que pour une onfiguration de référene fixe r, s(t) est déterminée par l'appliation 11-» D(t) telle que s(t) = D(t) r (les deux desriptions sont liées par les isomorphismes évoqués plus haut). 2.9 Exponentielle de torseurs - Générateur infinitésimal d'un déplaement Au point ou nous en sommes de nos développements, de point de vue théorique, il est tout à fait raisonnable de se ontenter d'une vision relativement simple de e qui peut être appelée appliation 10 Nous avons démontré qu'une famille fondamentale est équivalente au trièdre ort-ho-normé diret formé par les axes entraux des glisseurs qui la omposent [Chapitre 2, Théorème 2.10, page 40], Munir une telle famille d'un mouvement donné revient à munir le repère assoié du même mouvement.
64 2.9. Exponentielle de torseurs ~ Générateur infinitésimal d'un déplaement Partie 1 exponentielle de torseurs. Cette fontion est définie pour tout groupe de Lie et généralise ainsi la notion d'exponentielle habituelle (sur (C) ou enore la fontion exponentielle d'opérateurs. En effet, la théorie générale des groupes et algebres de Lie permet de définir une telle appliation à partir de la notion de sous-groupes à un paramètre [Annexe A, paragraphe A.5.2, page ]. Ainsi, si e désigne l'élément neutre du groupe pour tout torseur X 6 Ü; la solution maximale t H+ <& x (i) des équations différentielles ave ondition initiale: ^-*(t)= Xo$(t), $(0)= e ou enore (Eq.2.20) ^T*(0 = $(i)oj, dt $(0)= e est un sous-groupe à un paramètre engendré par le torseur X. La fontion exponentielle du groupe O n'est autre que l'appliation notée "exp" telle que: expx = $jy(l). Il reste, ependant, que ette définition demeure abstraite et il faut bien passer par une représentation adéquate pour dérire les aluls. En effet, un alul ne peut se faire qu'en termes d'une représentation opératoire. Pour ontourner ette diffiulté, nous allons définir l'exponentielle de torseurs à partir de l'exponentielle d'opérateurs de C(0). Pour une telle définition, nous nous devons de signaler que nous admettons un ertain nombre de résultats qui se démontrent de façon générale dans la théorie des groupes et algebres de Lie 11 à savoir: i) Dans le groupe O: A, = B r <==> A = B. ii) On admet que: )( > D* oïnide ave la représentation adjointe, (odx) n (expx)* = exp(adx) = Vj n! n=0 in) Soient 01 = {A' 6 D/ u> x 2TTN*} et 01 0 = {A' e D/ UJ X!l < *-} La restrition de l'appliation exponentielle à 01 définit un homéomorphisme loal de O sur un ouvert de. Sa restrition à OÎQ est un homéomorphisme de OÎQ sur un voisinage ouvert U de e lans JLD. L'image par l'appliation réiproque de tels homéomorphismes définit la notion de "générateur infinitésimal" d'un déplaement. Dans la théorie générale des groupes et algebres de Lie on parle aussi, d'appliation logarithme (définie du groupe de Lie dans l'algèbre de Lie). On appelle alors générateur infinitésimal d'un déplaement son image par l'appliation logarithme. 11 Pour la démonstration de es résultat dans le adre général de la théorie des groupes et algebres de Lie le leteur pourra se reporter, par exemple, à la référene [DIE 71]. \~47l
65 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION 2.10 Calul de la représentation adjointe d'un déplaement Nous proposons i-après une méthode pour la détermination analytique de la représentation adjointe d'un déplaement quelonque. Cette méthode est purement intrinsèque et indépendante de tout hoix du système de oordonnées. Lemme 2.15 Soit X un torseur de t). Alors: (a) Si X G t (i.e. la magnitude de X est nulle), alors, pour n> 2 : (b) Si X G t) \ t (i.e. la magnitude de X est non nulle), alors: Preuve pour n > 1 : pour n > 0 ; (adx) n = 0 (Eq.2.21) {adx) 2n = (-I)"" 1 \\X H* 1 " 2 {adxf (Eq.2.22) adx) 2n+1 = (-1) i X H adx (Eq.2.23) La démonstration est évidente dans le as où X G t, Dans le as où X G D \t, la démonstration s'établit don par réurrene, en alulant d'abord {adx) 3 et (ad-y) 4. En effet, d'après la relation du double rohet de Lie: (adx) 3 Y= adx ( Y, [X, Y))) = adx ({Y/Y} X - {Y/Y} Y) = ~{X/X}[X,Y] i.e. (ad Y) 3 = "{Y/Y} ad Y. Ensuite, en multipliant haun des deux membres de ette égalité par adx, on obtient la relation (ad-x)* = {X/X}(adX) 2. Pour îe reste il samt d'exprimer l'hypothèse de réurrene. Ce qui ahève la démonstration du lemme. Considérons maintenant un déplaement D (par exemple: îe déplaement de passage entre deux onfigurations de l'organe terminal), à priori, à un ou plusieurs degrés de libertés. Théorème 2.16 Soit un déplaement D G et notons X son générateur infinitésimal. Si X G t (i.e. la magnitude de X est nulle), alors: Si X D \ t, alors: Alors: D«= 1+adX (Eq.2.24) Sin sin I J\ Y j a, (l (1 - COS os j\ A" jj aj a ) 2 _ } adx Cid.A + T*,,, - D* - 1+ ÎHFII Y» n v Y ii2~~^ (ad Y) (Eq.2.25)
66 2 11. Déplaements élémentaires - Déomposition anonique des déplaements Partie 1 Preuve : J2, (adx) n La représentation adjointe du déplaement D s'érit: i?» = Í+ > ~. ^ ' ni Si X t, la relation (Eq.2.24) est évidente. Si X d \ t, en remplaçant les termes de puissanes paires par leur expression dans (Eq.2.22) et les termes de puissanes impaires par leur expression dans (Eq.2.23), ompte tenu du lemme 2.15 et en regroupant d'une part les termes de fateur ommun adx et d'autre part les termes de fateur ommun (ad.y) 2, on obtient: Compte tenu des relations (Eq.1.9) et (Eq.1.10) [Chapitre 1, orollaire 1.3, page 18], on obtient le résultat reherhé. Ce qui montre le théorème Déplaements élémentaires - Déomposition anonique des déplaements Vu leur rôle essentiel dans la modélisation, il nous semble logique de herher, à se stade du développement, à aratériser les déplaements élémentaires (i.e. translations et rotations). En effet, tout déplaement peut se déomposer en une rotation et une translation suivant un même axe. Proposition 2.17 T est une translation de veteur u si et seulement, s'il existe un torseur U tel que: 1 Preuve : T exp(u) ave t 9 U de veteur u (Eq.2.26) Soit T est une translation de veteur u, alors: VM : MT(M) = T l (M) M û, or, VF e D, VM G : (T* Y)(M) = Y(T~ l (AI)) et omme Y est un hamp équiprojetif, il vient: (T* Y)(M) = Y{M) + T" 1 (M)M x UJ Y = Y{M) + UXUJ Y ei étant en tout point AI de l'espae affine. Prenons le torseur U t de veteur u. La relation préédente implique: T t Y = Y + [U, Y] (/+ ad U) Y. Or, omme le résultat est vérifié pour tout torseur Y de D, on en déduit (Eq.2.26). La réiproque est évidente, elle déoule diretement de la définition d'une translation. Ainsi, elle ne soulève auune diffiulté partiulière. 49
67 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION Corollaire 2.18 Soit f une famille fondamentale donnée et H le repère ortho-normê diret qui en est assoié 12 : T est une translation de veteur u 1 BUS U2 [T ]/,= [ eus 1 -eux -EUÏ eu\ 1 Proposition 2.19 Si X G Q, alors, le déplaement défini par R = exp X est une rotation d'axe Ax- Preuve : Soit un glisseur X, alors, il existe un point A G tel que X(A) 11 exp(t X)(A) est la solution de l'équation différentielle ave ondition initiale: don t i exp(tx)(a) R t = exp(tx) j- t F(t) = 0, F(0) =.4 0. De plus l'appliation est une appliation onstante de valeur égale à A. D'où le déplaement G Rot{A) (où Rot(A) est l'ensemble des rotations autour du point A). Cela étant pour tout point A G Ax, don R expx laisse invariant l'axe Ax- I Théorème 2.20 Tout déplaement D Ö se déompose en un déplaement de rotation R G \u> et un déplaement de translation Tt Ö suivant un même axe, tels que: D= TR= RT (Eq.2.27) I Preuve : Soit D un déplaement du groupe 0, notons X son générateur infinitésimal (i.e. D = expx). Si X = 0, alors, la translation et la rotation du théorème se réduisent à l'élément neutre e du groupe des déplaements. Si X G t, alors, il suffit de prendre T = expx et R e. Si X G D \ t, alors, X, est inversible. Posons Z = ^ßr~ X et U = j/",)'^ O.X. I! A h II X D Ainsi, les torseurs Z et U vérifient: o (/ G t et Z^t tel que [Z/Z] 0. Don, d'après les propositions 2.17 et 2.19 le déplaement T = exp U est une translation et le déplaement R = exp Z est une rotation, o X Z + U et [Z,U] = 0, don expu et expz ommutent (i.e. de même axe). Ainsi: D = expx = (expz) o (expu) = (e.-rp /) o (expz) Ce qui montre le théorème. '"Voir le théorème 2.10 [page 40].
68 2.12. Changement de oordonnées relatif à un hangement de onfigurations Partie Changement de oordonnées relatif à un hangement de onfigurations Considérons une onfiguration de référene r d'un solide et une famille fondamentale f r = (În^riCr) rigidement solidaire à r. A toute autre onfiguration s transformée de r par un déplaement D (i.e. s = D»r), nous pouvons assoier également une famille f s = ( s,?? s,cs) telle que f s = >(t)of r. Les familles f r et f s en tant que bases ortho-normales, du A-module libreö" de dimension trois, définissent deux systèmes de oordonnées de D. Soit Y un torseur quelonque de î), notons Y r et Y s les veteurs duaux olonnes (i.e matries 3x1) qui représentent les oordonnées loales de Y, respetivement, dans les bases ortho-normales f r et f s. Alors, en notant [ >*] la matrie duale, assoiée à l'opérateur )*, relativement à la base f r, les systèmes de oordonnées du torseur Y par rapport à es deux bases sont liées par la relation: Y D, r - [D,] Y r (Eq.2.28) Soit, maintenant, une transformation linéaire A dans Ö (i.e. A Ç C(Ù)). Si [A] T et [A] s représentent les matries duales assoiées à A relativement aux familles fondamentales f r et f s, alors: [A]D.T= [DAIAIW*]' 1 (Eq.2.29) Cette relation traduit le hangement de bases assoié au hangement de onfiguration du solide Conlusion Famille fondamentale et onfiguration de orps rigide sont des représentations équivalentes à un isomorphisme près. Nous avons vu que la notion de famille fondamentale permet une "algébrisatiori" de la notion lassique de repère affine orthonormé diret. En effet, il est diffiile de munir un alul diret des repères affines. Ce alul se fait en deux étapes distinte et souvent fait appel à des tehniques différentes: alul de l'orientation du repère étudié dans un repère de référene, alul de la position du repère étudié dans le repère de référene. L'intérêt d'utiliser des familles fondamentales permet de traduire es deux transformations en une seule transformation duale traduisant le déplaement assoié au hangement de onfigurations -hangeant le repère assoié à la famille fondamentale de référene en le repère assoié à la famille fondamentale étudiée- de l'objet "famille fondamentale'. Cette vision des hoses permet de onduire un alul symbolique à un degré d'abstration assez élevé.
69 Partie 1 Chapitre 2. CONCEPTS ET OUTILS PRELIMINAIRES DE MODELISATION
70 Partie 2: MODELISATION DES SYSTEMES ARTICULES 53
71
72 - Résumé de là partie 2 - MODELES GEOMETRIQUE ET DYNAMIQUE DES MECANISMES Cette partie présente 'ensemble des modèles de omportement des] systèmes artiulés à struture de haîne inématique ouverte simple ou I arboresente dans le ontexte théorique défini dans Ja première partie et \ basée sur la notion de struture algébrique qui va permettre d'opérer â un degré d'abstration assez élevé. Les méthodes que nous y développons s'appliquent à une grande lasse de systèmes méaniques. Soulignons que l'appliation de la théorie des groupes à l'ensemble des déplaements et à la aratérisation des liaisons méaniques offre un langage naturel intéressant pour la desription des modèles des méanismes. Ce langage favorise en partiulier une formulation analytique et un alul symbolique simple (i.e. la syntaxe des modèles s'exprime de façon très simple dans un tel langage). Ces méthodes seront don implêmentêes dans des proessus de alul formel. La théorie des graphes offrira alors l'outil permettant de généraliser es modèles et méthodes à l'étude de systèmes artiulés plus omplexes.
73 Partie 2,56
74 Chapitre 3 MODELE GEOMETRIQUE DES SYSTEMES ARTICULES 3.1 Introdution Dans le domaine des appliations robotiques, on dérit en général la tâhe du manipulateur dans un repère lié à l'organe terminal. Le modèle géométrique du robot ou système artiulé permet alors de traduire ette tâhe dans le repère de travail (généralement lié au sole) [Fig. 3.1]. Dans e hapitre, on onsidère des manipulateurs et des systèmes artiulés sous forme de haînes ouvertes (arboresentes ou simples) à JV + 1 éléments dont le orps de base est d'indie 0 (sole généralement fixe dans le as de robots manipulateurs industriels). Les orps sont artiulés par des liaisons méaniques. Les outils de modélisation que nous allons établir se basent sur les résultats de la partie 1 de e mémoire. Nous présenterons d'abord une lassifiation des paires inématiques par les sous-groupes du groupe des déplaements ID) et la aratérisation des ensembles des déplaements inématiquement admissibles par les artiulations dans de telles paires inématiques. Ensuite, nous allons donner quelques éléments de la théorie des graphes qui permettra d'étudier des systèmes à struture arboresente. La définition de osinus direteurs duaux nous permettra de généraliser les onventions d'euler et de Briant afin de pouvoir établir des paramétrages duaux définis par des artes [Annexe A, paragraphe A.1.1, page 211] de la variété -de dimension six- des onfigurations du solide rigide (ou enore du groupe de Lie des déplaements, une fois une onfiguration de référene -du solide rigide- est préalablement fixée). L'expression dans la théorie des groupes et algebres de Lie du modèle géométrique des robots et systèmes artiulés à struture de haîne ouverte simple et la tradution des onventions de Denavit- Hartenberg, dans e formalisme, en utilisant la notion des familles fondamentales permettent de mettre en évidene un langage mathématique propie à un alul symbolique itératif du modèle 57
75 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES géométrique des haînes inématiques. L'utilisation de la théorie des graphes, nous permettra de ( Contrôleurj { Alimentation j \'- / {Capteurs j 11 {Interfae J (Bras manipulateur j Cette figure shématise les différentes parties d'un système robotisé. L'interation des différents éléments de e système est assurée à travers un système d'interfae qui aquiert les ommandes du ontrôleur et onvertit les signaux en données numériques, le repère de travail étant elui des apteurs. Fig. 3.1: Installation robotisée généraliser le modèle géométrique itératif à des haînes inématique à struture arboresente. ijütlrtnlinhwueh
76 3.2. Liaison - Paire inématique - Degrés de liberté Partie Liaison Paire inématique Degrés de liberté Considérons un solide C. Il est dit isolé s'il peut se mouvoir librement sans être soumis à auune ontrainte. Sinon, on dit qu'il est soumis à des liaisons. En méanique, il existe plusieurs types de liaisons. Dans la littérature, les auteurs ont employé différents formalismes et différentes notations pour dérire de telles liaisons. Pour notre part, nous nous tiendrons à une terminologie en relation ave le formalisme des groupes 1. En fait, le terme liaison a un sens purement mathématique. Cependant, il existe en général plusieurs moyens, en méanique, de réaliser matériellement une liaison [Fig. 3.3J. Dans le adre de et exposé, nous allons modêliser une liaison d'origine méanique par une relation binaire sur l'ensemble (des familles fondamentales). Considérons deux orps C et Cj entrant en liaison. Dans la suite nous allons adjoindre à es deux orps deux familles fondamentales qui en soient rigidement solidaires 2. Soient f et f ; - es deux familles; alors, à tout moment, on peut déterminer le mouvement relatif de Cj par rapport à d par un déplaement D(t) tel que: f 3 - = D(t) o f. Ce déplaement traduit la liaison entre les orps C et C } et l'on érira: f f, <=» f i= >(i)of, (Eq.3.1) Définition 3.1 On appellera ensemble des déplaements inématiquement admissibles pour la liaison C, l'ensemble impliitement défini par: (i,f) = {D e D/fi = D o f } (Eq.3.2) Remarquons que la détermination de l'ensemble des déplaements inématiquement admissibles est obtenue à un déplaement (onstant) près. En effet, onsidérons deux orps C et Cj et trois familles mobiles telles que par exemple: f est rigidement solidaire au orps d, fii et fia sont rigidement solidaires au orps Cj. Comme f^ et f, sont rigidement solidaires d'un même orps, alors, il existe un déplaement fini -onstant- D\ tel que: h,= D\o\j, Ainsi, les ensembles inématiquement admissibles [i,ji) et (, J2) sont liés par la relation: < (i,j 2 )= *D>< (t, i) (Eq.3.3) 'Le formalisme que nous adopterons pour la modélisation des liaisons s'inspire des travaux de D. Chevallier CHEV-86] et M. Hervé [HERV-T8J. "Cela signifie que lorsque es deux orps sont animés de mouvement les deux familles se omporteront omme deux familles mobiles haune animée du même mouvement que le orps auquel elle est assoiée.
77 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES L A la liaison, entre les orps Ci et C-, orrespond une liaison onjuguée C telle que: J; f 7 -» f; f,- Ainsi, pour toute liaison entre deux orps C; et C,-: C = C. Fig. 3.2: Liaison entre deux orps où ñjrji désigne l'ation de multiplier, à droite 3, tous les déplaements de l'ensemble (i,ji) déplaement D\. par le Par ailleurs, La réiproité du mouvement relatif entre les orps Ci et Cj entraîne qu'à la liaison reliant le orps C 3 par référene au orps C est assoiée une liaison reliant le orps Ci par référene au orps Cj, telle que: fjzf <«= f, L; L'ensemble des déplaements inématiquement admissibles (j,i) par la relation: (Eq.3.4) assoié à la liaison est donné C(j,i)= C-H.i.j) (Eq.3,5) où -1 (Î 7I ;') désigne l'ensemble des inverses des déplaements de l'ensemble ( /',_/). On a immédiatement: 3 Expliiteiîient, ela signifie: R D i D= DD\.
78 3.2. Liaison - Paire inématique - Degrés de liberté Partie 2 (a) (b) Dans et exemple, on matérialise la liaison ylindrique de deux façons différentes: (a) La liaison ylindrique est réalisée à partir de la paire 12= {Ci,C2} (verrou). (b) La liaison ylindrique est réalisée à partir de la paire S {C\,C%} {Ci,C2} o { 2,03} par omposition des liaisons de la paire 12 = {Ci 1^2} (paire prismatique) et de la paire 23= {Ci.Cs} (paire rotoïde). Dans l'exemple (a) Se montage est réalisé à partir de deux pièes méaniques, alors que dans l'exemple (b) le montage est réaliser à partir de trois pièes méaniques. Cependant, les deux montages définissent la même liaison méanique. Fig. 3.3: Matérialisation d'une paire inématique Proposition 3.1 Si {i,j) est un sous-groupe de O, alors: Définition 3.2 CM)= e(».i) (Eq.3.6) Une liaison géométrique (ou "holonomé 1 ") entre deux orps C et Cj est une relation binaire C dans $ qui vérifie les deux axiomes suivants: (/ i) Si U et fj sont deux familles fondamentales rigidement solidaires respetivement des orps Ci et Cj : VDeB: f, ] 5 => D>^CD o \ (h-i) L'ensemble (i,j) des déplaements inématiquement admissibles par la liaison C est une sous-variété différentielle de 1LP. 4 I1 est vrai qu'on méanique on a l'habitude d'appeler liaison holonome une liaison définie par une relation mathématique qui fait intervenir Ses positions des solides mais pas les dérivées, par rapport au temps, des positions. Cependant, toutes les liaisons holonomes qu'on sait réaliser matériellement vérifient la définition qu'on adopte dans et exposé (les deux axiomes (hi) et (h^)).
79 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Dans le as ontraire, la liaison sera dite inématique (ou "non-holonome"). Un grand nombre de liaisons méaniques matérialisent des sous-groupes de D> [Tableau 3.1, page 67]. Elles vérifient en fait un axiome plus fort que l'axiome (J12): (h' 2 ) L'ensemble C('i.j) des déplaements inématiquement admissibles par la liaison est un sous-groupe de Lie du groupe 1LP. Par ailleurs, l'axiome (ki) signifie que si les familles f et f., sont ongrues modulo la relation, alors, il en est de même pour les famille JDof et Dofo pour tout déplaement D O [Fig. 3.4]. Cela va traduire le fait que dans un système multiorps, le déplaement qu'induit un hangement de onfigurations d'un élément de référene, sur les onfigurations des autres éléments de la haîne artiulée, n'affete pas la nature de la liaison entre es orps. Définition 3.3 Une paire inématique est la réalisation matérielle -tehnologique- d'une liaison (géométrique en général) entre deux orps. Une paire inématique inférieure est une paire inématique qui réalise un sous-groupe du groupe des déplaements (par des ontats surfaiques, selon des surfaes invariantes par les sous-groupes). Une paire inématique supérieure est une paire inématique qui orrespond à un ontat pontuel ou linéaire [Fig. 3.5 & Fig. 3.6]. Définition 3.4 Le nombre de degrés de liberté d'un solide en mouvement est le nombre de paramètres indépendants néessaires à la desription de la variété des onfigurations du solide dans son mouvement. La notion de groupe à un paramètre joue un rôle essentiel dans la modélisation de liaisons, puisque les déplaements inématiquement admissibles d'une liaison géométrique quelle qu'elle soit, peuvent être déomposés en un produit de sous-groupes à un paramètre 5. En effet, nous avons vu que dans une onfiguration donnée, on peut adjoindre au orps C une famille fondamentale f = (.??. C) à laquelle est assoié un repère orthonormé 1Z (matérialisé par les axes entraux des éléments de la famille f). Ainsi, si une famille fondamentale f = (,J?, C) est fixée- et si une onfiguration de référene de C est hoisie, alors il existe un unique isomorphisme de % sur à 1. Par la suite, le nombre de degrés de liberté permis par une liaison peut être défini omme étant le nombre de sous-groupes à un paramètre indépendants néessaires pour engendrer la variété différentielle des déplaements inématiquement admissibles par ette liaison. Exemple Ainsi, une façon de ompter es sous-groupes à un paramètre pour un solide isolé C onsiste à dire que l'ensemble des déplaements inématiquement admissibles est le groupe 113 en entier, don C peut effetuer: 5 Cette idée se réfère à la notion de oordonnée de seonde espèe de la paramétrisatiou d'un groupe de Lie [Annexe A, paragraphe A.5.5, page 220].
80 3.2. Liaison Paire inématique - Degrés de liberté Partie 2 Cette figure shématise une interprétation géométrique de l'axiome (hi): [, C [j => DoUCDo )j, VDeD Elle exprime le fait qu'une liaison géométrique implique que si deux famille fondamentales (i.e les orps auxquels elles sont liées) sont ongrues modulo une liaison, alors,!a propriété reste vrai à un déplaement près de tout le blo Fig. 3.4: Interprétation géométrique trois translations indépendantes suivant les axes A, A^ et A(, à savoir: T f = exp{aüo; T = exp(bür}) et T = exp{il(}. (Eq.3.7) où a, b et sont les longueurs respetives des translations T, T n et Tç. trois rotations autour des axes A, A,, et A^, soit: R? exp(aç), R n = exp(ßrj) et Rç exp(jç). (Eq.3.8) où a, 3 et 7 sont les angles respetifs des rotations Rç, R, t et Rç,
81 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES \i SPHERE CYLINDRE PLAN A l'exeption du ontat plan-plan, dans un ontat externe entre deux surfaes usuelles obtenues par usinage d'un matériau, tous les autres ontats définissent des paires inématiques supérieur. Fig. 3.5: Paires inématiques réalisées par ontat entre surfaes externes Un solide isolé a don six degrés de liberté (d.d.l,). Dès qu'une liaison est établie entre deux solides, haun d'eux perd de ses d.d.l. vis-à-vis du seond. 3.3 Classifiation des paires inématiques par sous-groupes de D La théorie des groupes offre une méthode très simple pour la lassifiation des paires inérna- 64
82 3.3, Classifiation des paires inématiques par sous-groupes de IP Partie 2 SURFACE INTERNE SPHERE CYLINDRE PLAN Les seuls assemblages surfaiques de type surfae interne ontre surfae externe possibles (entre surfaes élémentaires: sphère, ylindre, plan) sont: L'assemblage sphère intérieure ontre sphère ironsrite extérieure qui définit une paire inférieure. L'assemblage yiindre intérieur ontre ylindre ironsrit extérieur qui définit également une paire inférieure. L'assemblage sphère intérieure ontre ylindre ironsrit extérieur qui, quant à lui, définit une paire supérieure. Fig. 3.6: Paires inématiques réalisées par ontat interne-externe tiques. En effet, quelle que soit la réalisation matérielle d'une liaison méanique, les déplaements inématiquement admissibles pour ette liaison peuvent être déomposés en un produit de sousgroupes de Grâe à l'appliation exponentielle définie dans le ontexte de théorie des groupes de Lie et la notion de familles fondamentales, il est possible de aratériser expliitement es déplaements pour permettre de faire un alul symbolique diret dans l'algèbre de Lie Ö (par exemple: 65
83 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES H R Ç M/ O - Cette figure shématise les sous-groupes à un paramètre assoiés aux six degrés de liberté relativement aux axes d'une famille fondamentale. Fig. 3.7: Degrés de liberté la transformation de familles fondamentales). Dans le tableau 3.1, les déplaements inématiquement admissibles sont donnés dans le système oordonnées de seonde espèe (a, a, ß,b,-y, ) assoiées à la base (, 0, T], il?/, (, UÇ) de D liée à la famille fondamentale f (Í,??,C) onvenablement hoisie [Annexe A, paragraphe A.5.5, page 220]. Ces déplaements peuvent avoir des expressions différentes dans d'autres systèmes de oordonnées. La orrespondane entre les différentes représentations sont obtenues par des hangements de artes sur le groupe de Lie M 3.4 Chaîne inématique Un solide peut éventuellement entrer en liaison dans la réalisation tehnologique de plusieurs paires inématiques à la fois. Cette aspet de la méanique donne Heu à la notion de haîne inématique ou méanisme. Définition 3.5 Une haîne inématique (i.e. méanisme) est la réalisation matérielle, tehnologique, d'un assemblage de N orps (rigides), tels que haun de ses éléments entre en liaison (géométrique en général) ave au moins un deuxième élément de et assemblage. On distingue deux grandes lasses de haînes inématiques: les haînes inématiques simples et les haînes inématiques omplexes.
84 3,4. Chaîne inématique Tableau 3.1 : Classifiation des paires inématiques par sous-groupes de B Paire Type CaraÉénsaEioD géométrique de Ja liaison Déplaements einemabiquement admissibles Enastrée EU n'autorise pas de mouvements relatifs. e (Od.d.l.) Elément neutre du groupe D. Prismatique P (Id.d.i.) le ontat prend effet sur une surfae prismatique. Les déplaements inématiquement admissi exp{e() tel que Ç est un glisseur unitaire et î'axe bles s'obtiennent par des translations sur te bord du A,; matérialise le bord du prisme. prisme de ontat. Pivot le ontat est établi sur une surfae ylindrique. Les exp(-y() (1 d.d.l.) déplaements inématiquement admissibles, par une tei que est un gïisseur unitaire et Ar matéri telle liaison, s'obtiennent par une rotation autour de alise l'axe de rotation- l'axe du ylindre de ontat. Hélioïdale le ontat est défini par une surfae de la forme d'une expf-y (1 -f- pe) C) 1 (1 d.d.l.) vis. Cette surfae est entièrement déterminée par la donné de l'axe du ylindre insrit et le pas p définie tel que est un glisseur unitaire et A ; matérialise l'axe de ïa vis. par la vis. Cylindrique Ce (2 d.d.l.) la surfae de ontat entre ses deux éléments est un ylindre de setion irulaire. Les déplae exp((7 + e) Q tel que Ç est un glisseur unitaire et Ar matéri ments inématiquement admissibles s'obtiennent par alise l'axe du ylindre. la omposée d'une rotation dont l'axe est elui du ylindre et une translation le long du même axe. Translation les éléments d'une telle paire peuvent translater li exp(e (a + b-q)) plane (2 d.d.!.) brement l'un par rapport à l'autre en restant dans tel que \ {,?? s C) forme une famille un même plan. fondamentale. Plane en plus des translations dans le plan de ontat, îes exp( (a + br )} exp{-fo (3 d.d.l.) éléments de la paire peuvent subir des rotations au tel que f = (,??* C) forme une famille tour d'une normale à e plan. fondamentale. Translation spatiale Pi (3 d.d.l.) la liaison permet des translations indépendantes, des éléments de ia paire l'un par rapport à l'autre, dans exp (e (a + b r -f- )) te! que f (,7J t C) forme une famille les trois diretions de l'espae. fondamentale. Splîêrique Sa le ontat entre les éléments de la paire prend lieu exp (a ) exp {/3 r ) exp (7 Q (3 d.d.l.) sur une sphère. La situation de haun des éléments tel que f ( ( 7?ÍC) forme une famille fonda de Sa paire est donnée par rapport à elle de son mentale d'origine le point 0. partenaire par trois angles de rotation autour du entre O de la sphère de ontat. Y définie par des déplaements hélioïdaux suivant une exp ( (a -f ß r }) exp (7 (1 -f- z p) ) (3 d.d.!.) diretion de l'espae et des translations ardans in tel que f = (Í t ^7» C) forme une famille dépendantes dans deux diretions du plan perpen fondamentale. diulaire à et axe [Fig. 3.8]. X définie par des déplaements ylindriques suivant exp {e {a i + ßr})) exp ((7+ e) ) (4d.dX) unq diretion de Tespae et des translations ardans tel que f = (,??.() forme une famille indépendantes dans deux diretions du plan perpen fondamentale. diulaire à Taxe des déplaements ylindriques [Fig. 3.8], Libre E n'impose auune ontrainte exp ((a + ffl) ) exp [{ß + *>) TJ) Fip{f-y-f-e)0 (6d.d.l.) tel que f ( i*?ic) forme une famille fondamentale. Une haîne inématique est dite simple, si haun de ses éléments partiipe à la réalisation d'au plus deux paires inématiques (de la haîne inématique en question). Il existe deux Ê 67
85 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Cette figure shématise deux méanismes ardans onçu sur la base de a lassifiation algébrique des mouvements, que nous dérivons au tableau 3.1: Dans le méanisme de droite: o Les paires {Ci,C2} et { 2,03} réalisent des mouvements prismatiques ardans. 0 La paire {, 4} réalise un mouvement helioidal o La paire {Ci,Ci} réalise un mouvement Y. Dans e méanisme de gauhe: o Les paires {Ci.Cj} et { 2^3} réalisent des mouvements prismatiques ardans, o La paire {C3.C4} réalise un mouvement ylindrique, o La paire {Cj, C4} réalise un mouvement A'. Les mouvements Y et X, dans les deux as de figure, sont obtenus au ternie de la omposition des mouvements des paires {C\,Ci}, {Ca.Ca} et {C$,Ci} pour la loi de omposition interne du groupe ÜJ'. Fig. 3.8: Exemples de méanismes et de paires inématiques types de haînes inématiques simples: o une haîne inématique simple est dite ouverte si elle possède deux orps extrêmes (qui entrent dans la réalisation d'une paire inématique et une seulement), o sinon, la haîne inématique est dite fermée (ou enore une boule). Si une haîne inématique n'est pas simple, alors, elle est dite omplexe (ou omposée). Là enore on distingue deux types de haînes inématiques omplexes: 68~1
86 3.5. Stsuture topologique des méanismes Partie 2 o si une haîne inématique omplexe ne possède pas de boules, elle est dite arboresente, o sinon, elle est dite boulée. 3.5 Struture topologique des méanismes Nous entendons par topologie, les propriétés morphologiques invariantes d'une struture artiulée indépendamment de la nature des liaisons qui définissent ses artiulations. A toute struture topologique, on peut assoier un graphe, tel que les ars de e graphe représentent les artiulations et les sommets du graphe représentes les éléments du système artiulé. L'objet de ette setion est de aratériser le graphe des haînes inêmatiques arboresentes Graphe des méanismes à topologie arboresente Dans e paragraphe, on étudie la struture topologique des méanismes à haînes inématiques arboresentes. Un méanisme à struture arboresente et N degrés de liberté est onstitué par N +1 orps dont un élément de référene d'indie 0. Cet élément sera dit raine de la struture arboresente (Exemples: dans le as des robots manipulateurs, l'élément d'indie 0 sera le sole, généralement fixe. Dans le as de la modélisation des satellites et vaisseaux à struture arboresente, on pourra prendre un orps fitif C 0 lié à l'espae), N artiulations et K organes terminaux. En général, on peut numéroter arbitrairement de 1 à N les éléments autres que îe orps CQ- Pour numéroter les artiulations, on attribue le même indie à un orps et son artiulation amont. La onstrution du graphe d'un tel méanisme onsiste à [Fig. 3.10]: la donnée d'une raine du graphe (en général ela représentera l'élément Co), la donnée d'un ensemble de N sommets représentant les éléments de la struture artiulée, la donnée d'un ensemble de N segments joignant les sommets, tels que haque segment orrespond à une artiulation entre deux éléments du méanisme. Le graphe d'une haîne arboresente est don un arbre. Maintenant, pour obtenir le graphe orienté de la struture arboresente, il suffit d'attribuer un sens d'orientation, arbitraire à priori, aux arêtes du graphe ainsi obtenu. De tels segments orientés sont dits des ars. Une fois qu'on a onstruit le graphe orienté de la struture arboresente, on peut déterminer les matries d'inidene et de référene d'un tel graphe qui permettent l'automatisation du proessus de desription de la topologie de la struture arboresente (J. Wittenburg [WITT-77]]. L'approhe que nous adopterons est différente. En fait, nous travaillons simplement sur des arbres et par la suite nous pouvons introduire la notion de graphe d'arbres ordonnés. En effet, nous allons introduire un ordre naturel pour le parours des arbres. De e fait, nous n'aurons plus besoin de la détermination des matrie d'inidene et de référene du graphe orienté (en entier). Cependant, nous aurons besoin de onnaître les prédéesseurs immédiats des éléments de l'arbre. Bien évidement, dans les problèmes (d'automatisation du proessus de modélisation) qui nous intéressent, le aratère arbitraire, du hoix d'indiçage des sommets et l'orientation des ars du graphe assoié à la struture artiulée,
87 Partie 2 Chapitre 3, MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Dans une première étape, on ommene par numéroter les éléments du satellite. Ensuite, après le hoix d'un élément de référene, on peut dessiner le graphe assoiée à la struture arboresente. Enfin, pour obtenir le graphe orienté, on donne aux ars des orientation arbitraire à priori. Fig. 3.9: Graphe assoié à une struture arboresente (graphe orienté) augmente inutilement la omplexité du problème et n'arrange en rien le aratère itératif que l'on souhaite établir pour mener les aluls (des modèles géométriques et dynamiques des méanismes à struture arboresente) Parours en largeur de l'arbre topologique Pour onstruire un ordre réursivement reonnaissable sur un arbre, il faut tout d'abord hoisir un élément de référene (raine de l'arbre: orps éventuellement fitif) d'indie 0. Ensuite, pour pouvoir faire orretement la réurrene sur les indies des orps, les solides omposant la
88 3,5. Struture topologique des méanismes Partie 2 Dans une première étape, on ommene par dessiner le graphe de la struture. On iassifîe les nœuds de i'arbre selon leurs profondeurs. On numérote les nœuds de l'arbre. Enfin, on rapporte ette numérotation aux éléments orrespendant du système artiulé. C'est ette méthode qui sera retenue dans la suite de notre disours. Fig. 3.10: Graphe assoié à une struture arboresente (graphe ordonné) struture artiulée doivent, néessairement être indiés de 1 à N de façon que le parours -sans retour en arrière- des indies des sommets de l'arbre topologique assoié à la struture du système artiulé, se fasse lans un ordre roissant du sole vers les différents organes terminaux. Enfin, la numérotation des artiulations doit pouvoir être déduite de elle des éléments du méanisme. Définition 3.6 Nous appellerons profondeur ou rang d'un élément, le nombre des liaisons amont reliant e orps à l'élément d'indie 0. Un ordre sera dit "de parours en largeur" du graphe assoié à un
89 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES méanisme à struture arboresente, s'il obéit aux règles suivantes: On se fixe un élément d'indie 0 (éventuellement On trae le graphe assoié au système artiulé. fitif). On numérote dans l'ordre roissant les éléments du premier rang, en partant de l'élément de l'extrême gauhe de la représentation graphique du robot (ou du méanisme) à struture arboresente (ette règle est onventionnelle puisque il y a plusieurs façons de représenter Varbre topologique assoié à un méanisme à struture arboresente). On numérote de la même manière les éléments du seond rang, en ommençant d'abord par es suesseurs du orps d'indie 1 et ainsi de suite. On réitère le même proessus aux éléments du troisième rang et ainsi de suite jusqu'à la numérotation de tous les organes terminaux. La numérotation des liaison sera déduite de elle des éléments du robot (ou méanisme), en affetant le même indie à l'élément et sa liaison amont. Ainsi, on peut onstruire la matrie T = (m j) i _ 0 jv des suesseurs immédiats des éléments de la struture arboresente, d'ordre (jv -f- 1) x (JV -f 1), telle que: 1 si Cj est diretement lié à C et i < j (Eq.3.9)! 0 sinon où Ck désigne l'élément d'indie k (k G [0..JV]) du système artiulé. Ainsi, si w j = li ela signifie que le orps Cj est un suesseur immédiat du orps C. A partir de la matrie ï, on peut don onstruire deux appliations Î + et i~ qui donnent respetivement l'ensemble des suesseurs immédiats et le prédéesseur immédiat des sommets du graphe ordonné. Définition 3.7 Soit N le nombre des artiulations 6 d'un méanisme à struture arboresente ouverte. Considérons IN l'ensemble fini des N +1 premiers entiers naturels (i.e. IN = {0,1, -, N}), I N l'ensemble IN privé de l'élément 0 et V(I N ) l'ensemble des parties de I N : On appellera indiatrie des suesseurs immédiats des éléments de la struture arboresente; l'appliation i + : IN > V{l f N) qui à un entier k de IN assoie l'ensemble des indies des suesseurs immédiats de l'élément Ck dans l'arbre topologique du robot ou système artiulé. On appellera indiatrie du prédéesseur immédiat d'un élément du robot; l'appliation i~ : I N IN qui à un entier k de I N assoie l'indie du prédéesseur immédiat de Vêlement Ck dans l'arboresene. suivante: De ette définition et de elle de la matrie T, il déoule immédiatement la proposition Proposition 3.2 Soit un méanisme à struture topologique d'arbre et à N degrés de liberté. Si i + eti" désignent ses deux appliations indiatries, alors: VkeI N : + (f) = {j I* N /u kj = 1} vf e J;^ : r (f) = j& u jk = i (Eq.3.10) 9 Dans l'étude topologique du méanisme, on ne s'oupe jamais de la nature des artiulations méaniques. Dans le as où l'on dispose d'un méanisme dont toutes les artiulations sont simples (prismatiques ou rotoïdes), le nombre JV désignera le nombre de degrés de liberté de la struture artiulée.
90 3-5. Struture topologique des méanismes Partie Exemple de struture arboresente Considérons le méanisme donné par la figure Fig Il ontient 8 éléments en plus du sole, rang 4 rang 3 f 4 EEC ^ rang 2 f 2 ) rang 1 ( 0 Dans l'exemple présent, le robot dispose de trois organes terminaux. La numérotation de la struture arboresente va pouvoir être effetuée en deux étapes shématisées par les figures (a) et (b): (a) Déterminations de l'ordre des éléments de la struture artiulée et leur indiçage suivant les règles de la définition 3.7. (b) Indiçage des artiulations de la struture arboresente suivant les règles de la définition 3.7. Fig. 3.11: Ordre réursivement reonnaissable sur un arbre topologique 8 degrés de liberté et 3 organes terminaux. La matrie des suesseurs immédiats des éléments de ette struture est: ï = / \ l o o o o o o i i o \ / Ainsi, en notant l'ensemble vide par 0, les indiatries de la struture arboresente de la figure Fig sont données par le tableau 3.2.
91 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES [ Tableau 3.2 : Indiatries de la struture arboresente de la figure Fig Corps d'indie k Rang du orps Ck i + (k) t-(*) {1} {2,3} {4} indéfini Variétés d'étude des systèmes artiulés 3 2 {5} {6,7} ! {8} L'intérêt de savoir situer un solide dans l'espae s'est manifesté, tout d'abord, à propos de la méanique éleste, puis es méthodes ont été généralisées à l'étude des méanismes et plus tardivement à la robotique, ave la naissane de ette disipline, dans les années inquante. L'étude des robots et méanismes fait appel à deux sortes de variétés Espae opérationnel On a l'habitude de définir l'espae opérationnel d'un robot ou d'un méanisme omme étant la variété dans laquelle sont représentées les onfigurations de son organe terminal. Plusieurs solutions peuvent être proposées pour la représentation d'une telle variété. Celle que nous préonisons onsiste à dérire une onfiguration grâe à des déplaements indépendants relatifs aux axes d'une famille fondamentale -de référene- dans un système de oordonnées donné. Si m désigne le nombre des paramètres néessaires à la desription de l'espae des onfigurations, la valeur m onstitue alors le nombre de degrés de liberté maximum que peut avoir l'organe terminal. Etant donné que le nombre de degrés de liberté d'un solide isolé est 6, alors 0 < m < 6, Espae artiulaire Par opposition à l'espae opérationnel qui définit le mouvement absolu de l'organe terminal, l'espae artiulaire permet de dérire les mouvements relatifs des différents éléments, d'un robot ou d'un système artiulé, par rapport à leurs prédéesseurs immédiats. Définition 3.8 On appelle onfiguration artiulaire d'un robot manipulateur ou d'un système artiulé, la olletion (si, S2- ' > sjv) des onfigurations de ses différents éléments (où s est la onfiguration du orps Ci). Ces onfigurations peuvent être dérites par oordonnées artiulaires (qui définissent le d.d.l. de haque élément par rapport à son prédéesseur dans la haîne artiulée). L'espae engendré par es oordonnées est appelé espae artiulaire. Le nombre de variables artiulaires -réelles- indépendantes 7 du robot. entre elles est dit degrés de liberté On dit qu'un robot, ou un système artiulé est redondant, si le nombre de degrés de liberté de l'organe terminal est inférieur au nombre des artiulations motorisées. 'En général, dans les strutures ouvertes simples (ou arboresentes), les variables artiulaires sont indépendantes, tandis que dans les strutures qui omportent, une ou plusieurs boules fermées impérativement, il existe un nombre de relations qui relient es variables entre elles.
92 3.7. Cosinus direteurs dua,ux Partie 2 Pour une haîne ouverte simple, on peut se retrouver dans le as d'une struture redondante, par exemple si: Deux artiulations prismatiques dont les générateurs infinitésimaux des mouvements artiulaires sont /î-proportionnels (i.e. artiulations prismatiques parallèles). Plus de trois artiulations prismatiques (puisque t est un.r-espae vetoriel de dimension 3). Deux artiulations rotoïdes dont les générateurs infinitésimaux s'annulent simultanément en plus d'un point de l'espae S (i.e. axes onfondus). Plus de trois artiulations rotoïdes dont les générateurs infinitésimaux s'annulent simultanément en un même point de l'espae (i.e. axes onourants). Plus de trois artiulations rotoïdes dont les veteurs sommes des générateurs infinitésimaux sont equipollent (i.e. axes parallèles). Plus de six artiulations motorisées (puisque D est un Jî-espae vetoriel de dimension 6). Dans les problèmes de planifiation des trajetoires en présene d'obstales, la redondane permet d'augmenter l'aessibilité de l'organe terminal. Dans de tels as les robots doivent satisfaire différents types de ritères d'optimisation sur des ontraintes d'anti-ollision entre autres [P. Tournassoud [TOUR-88], E. Dombre & W. Khalil [DOMB-88], J. Angeles, A. Alivizatos & P.J. Zsombor-Muray [ANGE-90]]. Le hoix du nombre de degrés de liberté minimal dont doit disposer le robot peut être déterminé en fontion de la tâhe prévue. En fait, e nombre de degrés de liberté doit être supérieur à elui de la tâhe pour que le méanisme puisse plaer son organe terminal dans la onfiguration désirée. Par ailleurs, les aratéristiques géométriques de l'objet manipulé peuvent aider à la détermination du nombre de degrés de liberté. Un robot non redondant doit disposer de six degrés de liberté pour situer un orps quelonque dans une onfiguration quelonque. Si le orps présente une symétrie de révolution, alors, inq degrés de liberté suffisent, puisqu'il devient inutile de spéifier la rotation autour de l'axe de révolution du solide. Seulement trois degrés de liberté en translation sont néessaires pour le positionnement d'un orps qui présente une symétrie sphérique. 3.7 Cosinus direteurs duaux Généralement nous pouvons, non seulement, onstruire une famille f r rigidement solidaire à une onfiguration r donnée de l'organe terminal; mais aussi, dérire les onfigurations de eluii dans l'espae relativement à une onfiguration de référene. En effet, la desription d'une onfiguration s par rapport à une onfiguration de référene r peut être traduite en fontion du déplaement D tel que: s = D r
93 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Cet figure shématise le hangement de familles fondamentales assoié au hangement de onfigurations de l'organe terminal d'un manipulateur. A titre d'exemple, l'angle dual a = areos {Ç s /Ç r } = 9 + ed orrespond au osinus direteur { s / r}, où 8 est l'angle formé par " es diretions t'es axes entraux k^. et A^ et d est la distane de de l'axe Aç :. à i'axe Aj,. Fig. 3.12: Positionnement de l'organe terminal Le déplaement D, ainsi obtenu, dérit la transformation géométrique qui hange la onfiguration r en s. Si la représentation adjointe du déplaement D est parfaitement onnue, alors la famille f s peut être alulée: 1= Dof r
94 3.8. Systèmes de oordonnées Partie 2 'est à dire: Ç s = D, r, T) s = D* Tjr et Cs =?* Cr Maintenant, si les oordonnées des éléments de la famille f s, exprimées dans la famille f r, sont parfaitement onnues; alors, l'expression de la matrie duale [D*] (d'ordre 3x3) assoiée à l'opérateur )*, relativement à la base f r, est définie par: / U./Zr} {Vs/Çr} {CsKr} \ [D.]= tis/vr} {ru/vr} {CM (Eq.3.11) V ÍWC} {Vs/Çr} {Cs/Cr} ) En résumé, omme les éléments des familles fondamentales f r et f s sont unitaires pour le produit salaire dual, le produit salaire des éléments de la famille f s par eux de la famille f r définit les osinus (duaux) des angles duaux formés par les deux axes des glisseurs de haque produit [Fig, 3.12]. Ainsi, nous dirons que les omposantes de la matrie [D m \ sont les osinus direteurs duaux relatifs aux familles f r et \ s pour le produit salaire dual sur (). Enfin, lorsque s(t) dérit la trajetoire assoiée à un mouvement donnée par l'appliation t \~* D(t), les assignations D(t) dérivent le mouvement de la famille mobile f a par rapport à la famille de référene f r. En se reportant à la relation (Eq.3.11), on voit bien que la j"'" olonne (où j = 1..3) de la matrie [D»(i)] dérit les variations en fontion du temps du j*""' élément de la famille j s relativement à la base f r du A-module libre Ö. 3.8 Systèmes de oordonnées Dans les problèmes de méanique lassique, pour situer un repère ft = (0;i,j,k) à repère de référene Tto = [OQ\ ZQ, jo, fo), on a l'habitude de donner [Fig. 3.13]: par rapport La position: Elle est définie par la position du point O dans le repère TZQ dérite par trois oordonnées -artésiennes, ylindriques, sphêriques ou autres- (on hoisit le système de oordonnées le mieux adapté au problème géométrique en fontion de la struture de base du manipulateur), I/orientation: L'orientation du repère It par rapport à Tto revient à représenter une rotation R d'angle ip autour d'un axe de veteur unitaire Û permettant, à une translation près, de faire oïnider le repère Ttr ave 7. Si u (u x,u v,u z ) T sont les oordonnées du veteur iï relativement à, Tto, là aussi plusieurs hoix sont possibles, pour la desription d'une telle rotation. A titre d'exemple: Les paramètres d'euler ou d'olinde-rodrigues: un jeu de quatre paramètres p, q, r et s (i.e. oordonnées du quaternion représentant la rotation R) définis par: p= u x stn, q UySin, r= u z sin, s~ eos (Eq.3.1 )
95 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Euler avait montrer qu'il suffisait, à une translation près, de trois rotations pour amener un triedle de référene à entrer en oïnidene ave un seond trièdre d'orientation quelonque lié à un solide dans l'espae: Orientation: omme nous avons montrer que la notion de repère affine oïnidait ave elle de famille fondamentale. Exprimons l'orientation grâe aux angles d'euler lassiques dans le langage des familles fondamentales: o on transforme la famille Jo en [' par rotation d'un angle <p autour de l'axe A^(), o ensuite, on transforme la famille f en f" par rotation d'un angle S autour de l'axe À^i, o enfin, on transforme la famille f" en fi par rotation d'un angle 4> autour de l'axe Aç». Position: on alen! les oordonnées artésiennes (x,y,z) du point O (origine de la famille f dans ia famille Q. La translation orrespondant au positionnement étant la translation de veteur Oo O de ia famille fi. Fig. 3.13: Angles d'euler lassiques es quatre paramètres sont liés par une relation de normalité: p 2 + q 2 + r 2 + s 2-1 (Eq.3.13) 78
96 3 S, Systèmes de oordonnées Partie 2 l'intérêt de ette paramétrisation est qu'elle ne présente pas de singularités. Par ontre elle omporte l'inonvénient de représenter 3 d.d.l. par quatre paramètres liés entre eux par une relation de dépendane exprimée par (Eq.3.13). o Les paramètres de Rodrigues: donnés par l'ensemble des trois paramètres: ip *r ip i/> < f V' ei = u - e, iq _ x tg~, e 2 = u v tg, e 3 = u z tg - (Eq.3.14) 2 2 L'intérêt, de ette paramétrisation, est qu'elle offre une représentation de l'orientation ave trois paramètres indépendants. Par ontre elle omporte l'inonvénient présenter des singularités pour ip ±x. D'autres représentations sont possibles en utilisant les angles d'euler [Fig. 3.13], de Briant ou autres. Dans la théorie générale des groupes et algebres de Lie, on utilise plutôt la notion de oordonnées de première et seonde espèe. Dans et ordre d'idée et dans l'état atuel de nos développements, il est naturel de se demander: i) Est-il possible de dérire un déplaement D quelonque par la omposition de trois déplaements ylindriques? ii) Si une telle desription est possible, peut-on généraliser les desriptions lassiques des orientations par les angles d'euler ou de Briant (artes de 50(3)) à des déplaements quelonques en utilisant ette fois des artes -sur les nombres duaux- du groupe de Lie D? (les desriptions lassiques par les angles de Briant et d'euler pourront être retrouvées en onsidérant tout simplement des rotations au lieu de déplaements ylindriques dans ette éventuelle desription). iii) Quel intérêt pratique présenterait le reours à de telles généralisations de onventions? La réponse à la question i) est oui. C'est en fait la déomposition assoiée aux oordonnées de seonde espèe dans la base (, fi. 77,fir, Ç,fiÇ) de t) liée à une famille fondamentale f = (,?/. ). La réponse à la question ii) fera l'objet des paragraphes et La méthode de généralisation des onventions d'euler et de Briant, que nous y proposons onsiste à se donner deux familles fondamentales fj et f 2 et proéder ensuite suivant les étapes: (a) partir de la famille fondamentale fj, (b) proéder par trois déplaements ylindriques indépendants ave des onventions, de transformation des familles fondamentales suessives, semblables à elles proposées dans la littérature pour les rotations par des angles de Briant ou d'euler, à la différene près que haque fois que l'on fera "tourner" une famille par une rotation autour de l'axe de l'un de ses éléments, on suivra ette rotation par une translation le long du même axe. () arriver à la famille fondamentale f 2. I 79 i
97 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Pour haune des méthodes proposées, nous allons ommener d'abord par dérire l'algorithme des transformations orrespondantes, puis nous allons identifier les paramètres intervenant dans es desriptions et donner les onditions d'appliation de telles méthodes. Quant à l'intérêt de nos méthodes, 'est qu'elles vont permettre de faire un alul symbolique très simple à partir de la théorie des groupes en utilisant l'outil formel des nombres duaux qui permet de simplifier la syntaxe des modèles. Le alul sur les paramètres réels du modèle pourra don être obtenu de façon automatique en séparant les parties réelles et duales des expressions duales Angles de Briant duaux: Roulis, Tangage et Laet duaux a Algorithme (a) Appelons Roulis dual < ) = a + a et appliquons le déplaement ylindrique Dj, d'angle dual 0 suivant l'axe entral de i. Il transforme alors la famille f x en une deuxième famille j. D<j, s'exprime alors par: D^= expifi^) (Eq.3.15) La matrie duale assoiée à la représentation adjointe de D^ relativement à la famille f x, est donnée par: (b) Appelons Tangage dual 9 = / \ [D J = 0 os( > -sin<p (Eq.3.16) y 0 sin <t> os <p } ß + e b et, de la même façon, appliquons à la famille f le déplaement De d'angle dual 9 suivant Taxe de»j. Une troisième famille f est obtenue au terme de ette transformation. Don: Dg = exp {91] ) (Eq.3.17) la matrie assoiée à sa représentation adjointe s'exprime, alors, par: os 9 0 sin O [Dg.]= j sin 9 0 os 6 () Appelons maintenant Laet dual ip = 7 -j- e. A la nouvelle famille f le déplaement D^, d'angle dual ip suivant l'axe du glisseur Ç": > 0 = exp(i>ç") (Eq.3.18) nous allons appliquer (Eq.3.19) et la matrie assoiée à sa représentation adjointe s'exprime par: os-ip sinip 0 \ ^V>*1 = sin^> osí' 0 j 0 0 1/ (Eq.3.20)
98 3.8. Systèmes de oordonnées Partie 2 Shématisation du paramétrage, d'un déplaement quelonque, orrespondant aux angles roulis, tangage et laet duaux. Chaque rotation duaîe, autour d'un élément de la famille fondamentale en présene, se traduit par une rotation réelle autour de son axe entral et une translation de longueur finie le long du même axe. Fig. 3.14: Angles de Briant duaux La omposition des trois déplaements dérits par et algorithme permet d'érire: D = exp {%l> (") exp (9 if) exp (<fi fji) que nous noterons plus simplement: D= D^DfjD* (Eq.3.21) La matrie duale assoiée à Sa représentation adjointe d'un tel déplaement D est donnée par la relation: / osip -sin-é 0 \ / os9 0 sino \ f 1 0 Û \ [ >*]= i sini> osip 0 I j I 0 o$<p -sintp j (Eq.3.22) \ / \ sin 9 0 os 9 J \ 0 sîn4> os4> J 'est à dire enore: ( os y os 9 osip sino sin<f> sintp os <f> os ip sino os <p + stn i/> sin<f> \ sin ip os 9 sin ip sin6 sin <p + os tp os <p sin ip sin 9 os 4> os ip sin <p (Eq.3.23) sin 8 os 9 sin <f> os 9 os q> j
99 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES où les symboles os et sin désignent les prolongements anoniques duaux des fontions osinus et sinus au sens trigonométrique lassique. Les parties réelle et duale de ette matrie sont données par les matries réelles 8 : Re[D*) os 7 os ß os 7 sin ß sin a sin 7 os a sin 7 os ß sin 7 sin ß sin a 4- os 7 os a sin ß os ß sin a os 7 sin ß os a + sin 7 sin a sin 7 sin ß os a os 7 sin a os ß os a et DníD.i = ( v olonne 2 e olonne 3 e olonne os 7 6 sin ß sin 7 os.3 sin ~(b sin /? + os -7 os 3 b os /3 os 7 sin /? a os a -f- os 7 & os/? sin a sin 7 sin/? sin a -f- sin 7 a sin a os 7 os a sin "Y sin ß a os e + sin 7 b os ß sin a + os 7 sin ß sin a os 7 a sin a sin 7 os a os ß a os a b sin /? sin a os 7 sin /? a sin a 4- es 7 b os /3 os a ~ sin 7 sin ß os a 4- sin 7 a os a + os 7 sin a sin 7 sin /3 a sin a 4- si.n -t 6 os/? os a: 4- os 7 sin /? os a os 7 a os a 4- sin 7 sin a os ß a sin o ~ b sin /? os a b Identifiation des paramètres et singularités Jusqu'à présent nous n'avons fait que dérire la généralisation des onventions des angles de Briant. Pour pouvoir justifier e paramétrage, il est néessaire de résoudre le problême inverse. Le problème d'inversion onsiste à déterminer les angles duaux (des transformations ylindriques) qui orrespondent à ette déomposition. Ainsi, si: [D. hi h 2 Si C ^3 3 (Eq.3.24) Cette matrie peut, éventuellement, être la matrie des osinus direteurs duaux orrespondant au passage de la famille fj à la famille f, de type (Eq.3.11). La solution dépend en fait de la résolution dans A d'un ensemble de 9 équations transendantes qui expriment l'égalité entre les omposantes des matries (Eq.3.23) et (Eq.3.24). Ainsi, la solution sous sa forme duale est donnée par: artg ;p = artg -631 xaïi + ^i &2 i COS 0 11 os 6 (Eq.3.25) arig 632 COS 6 3,3,1 os 9 L'existene du prolongement, anonique de la fontion trigonométrique inverse artg est assurée par le théorème 1.7 que nous avons établi au hapitre 1 [page 21]. L'extration des parties réelles et duales de 9, - et 4> permet de retrouver les six paramètres réels qui dérivent une telle 8 Ce alul à été effetué grâe au module dtialstru.map que nous avons implémenté dans le langage de Maple.
100 3.8. Systèmes de oordonnées Partie 2 déomposition. Ainsi, si nous posons Tij = Re6 t j et dij DuSij pour i, j [1..3J, alors: 7==aris (Sr) ß = artg -r 31 l\/^ït +r 2i a = artg I 1 Vr-3 3 / -ni il rf! r?i+ r fi (Eq.3.26) 6= - - m i m i - r 3i d 2 i r2i +d 3 ir* l +2d 3 i r\ l rl 1 + d 3 i r\ x a ~~ r32 ^3 3 + dg r 33 _ r 2 4- r 2 D'après les relations (Eq.3.25) qui expriment les angles duaux 4> et ip, la méthode que nous venons de dérire présente ertaines singularités lorsque la quantité duale os 9 n'est pas inversible (division par un nombre dual), 'est à dire, lorsque Re(osO) 0. En effet, la solution dégénère lorsque: Re(9) = 0= ±2 (Eq.3.27) auquel as les deux transformations intermédiaires se retrouvent olinêaires et le déplaement total se résume à une rotation duale autour de l'axe (. Ce déplaement s'exprime alors par: D = exp{(tp ± <fi)() (Eq.3.28) Les onfigurations singulières sont alors données par les valeurs du tangage dual 6 dans l'ensemble ±- e R (i.e. -- s R U - e R) Angles d'euler duaux: Préession - Nutation et Rotation propre duales a Algorithme (a) Appelons préession duale < > = a + ea. Dans un premier temps, appliquons à la famille fj le déplaement D^ d'angle dual <f> suivant l'axe de Q et notons D$ e déplaement, il s'érit: Dj,- exp{4>çi) (Eq.3.29) la matrie assoiée à sa représentation adjointe s'exprime par: [ >*.] = os 4> siv.(p 0 sin 4> os <p (Eq.3.30)
101 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Shématisation du paramétrage, d'un déplaement quelonque, orrespondant aux angles d'euler duaux. Comme dans le as préédent, haque rotation duale, autour d'un élément de la famille fondamentale en présene, se traduit par une rotation réelle autour de son axe entral et une translation de longueur unie le long du même axe. Fig. 3.15; Paramétrage par des angles d'euler duaux (b) Appelons nutation duale 8 = ß + e b et appliquons à la famille f le déplaement Do d'angle dual 9 suivant l'axe de?/. Alors: Dg = exp{9î]') (Eq.3.31) la matrie assoiée à sa représentation adjointe est don: os 6 0 sin 8 \D e.]= sin 8 0 os 8 (Eq.3.32)
102 3.8. Systèmes de oordonnées Partie 2 () Enfin, appelons rotation propre duale i/> = 7 + et appliquons à la nouvelle famille f le déplaement D^, d'angle dual ip autour de l'axe de " pour la faire oïnider ave la famille D,p~ exp(iki) (Eq.3.33) la matrie assoiée à sa représentation adjointe est: ostp sinip 0 [-DvJ = I sirnp osip (Eq.3.34) La omposition des trois déplaements dérits i-avant permet d'érire: D exp (ip (") exp (8 rf) exp (0 1 ) (Eq.3.35) ou tout simplement: D = D* D 9 D é (Eq.3.36) si auune onfusion n'est à raindre. La matrie duale assoiée à la représentation adjointe d'un tel déplaement est donnée par la relation: ( osip simp 0 sin ip os ip os 0 0 sino sino 0 oso eos 4> sintp 0 sin<p os ip (Eq.3.37) soit enore: ( os rp os 6 os 4> sin ip sin <p sin xp os d os <p + os ip sin <p sin 9 os 4> os ip os 8 sin <p simp os tf> os xp sin 9 \ simp os 0 sin<p + os xp os 4> simp sin 6 l(eq.3.38) sin Q sin (p os 6 J Les parties réelle et duale d'une telle matrie duale sont données respetivement par: fle[d.] os 7 os ß os a sin 7 sin a sin 7 os ß os a + os 7 sin a sin(/3) os a - os 7 os ß sin a sin 7 os a os 7 sin ß - sin 7 os ß sin a -f- os 7 os a sin 7 sin ß sin ß sin a os ß et V oló; mie < - os 7 os ß a stn a os 7 ó sin ß os a sin 7 os ß os a sin 7 a os a os 7 sin a \ = os 7 os ß a os a -f- os 7 h sin ß sin a j- sin 7 os ß sin a + sin 7 a sin a os 7 os a \ os 7 f os ß sin 7 siii ß DuíDJ 2' : olonne sin 7 os ß a sin <x sin 7 b sir,ß os Q + C os 7 os ß os a + os 7 a os a sin 7 sin a - sin 7 os ß a os a + sin 7 5 sin ß sin a os 7 os ß sin ex os 7 a sin a sin 7 os a sin /? a os a + b os /? sin a ( sin ß a sin a fe b os 3 os a 3' : olon ne < sin 7 fe os/? 4- os 7 sin /? ^ î> sin ß
103 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES b Identifiation des paramètres et singularités Comme pour la méthode préédente, l'inversion du positionnement dérit i-avant dépend de la résolution d'un ensemble de 9 équations transendantes qui expriment l'égalité entre les matries (Eq.3.38) et (Eq.3.24). La solution sous sa forme duale est donnée par: 8 = artg ip = artg ysh+s: SÍll9 êis/sind (Eq.3.39) <p = artg 6 32 /sin8 631 /sin 9 L'extration des parties réelles et duales permet de retrouver alors les six paramètres réels qui dérivent une telle déomposition: Í 7= artg( ) n 3 ß arig'y \/, r~3~i*~+r 3 2 2, a artg( ) ^3 3. r fl'33 ri 3 ri3 2 + T-21 2 (Eq.3.40), r 3 i 2 dzz -4-T3 2 2 CÍ3 3 T3i CI31 r 33 - rs-2 d- S 2? \/''3i 2 +'rs2 2 (r r 3 i' 2 + r 3 j 2 ) a = ï"3 2 du di2 ^3 1 ^_ Les relations exprimant les angles duaux 4> et tp (Eq.3.39) permettent de onlure que ette méthode présente ertaines singularités lorsque la quantité duale sin 9 n'est pas inversible, 'est à dire si Re(sind) = 0. En effet, la solution dégénère lorsque: Re{9) = ß = 0 ou TT (Eq.3.41) auquel as les deux transformations intermédiaires se retrouvent olinéaires et le déplaement total se résume à un déplaement ylindrique d'axe A^. Le déplaement D s'exprime, dans de tels onditions, par: D = exp{('0 ± p)ç) (Eq.3.42) et l'ensemble des onfigurations singulières est donné par les valeurs de la nutation duale 9 dans l'ensemble e R utt s R.
104 3.9. Modèle géométrique des méanismes à struture ouverte simple Partie Modèle géométrique des méanismes à struture ouverte simple La onfiguration de l'organe terminal est obtenue en positionnant e dernier par une suession de mouvements aux niveaux des artiulations du bras manipulateur. Pour le moment nous allons onsidérer seulement des robots sous forme de haînes ouvertes simples. Le modèle géométrique des haînes inématiques arboresentes sera donnée plus tard. K' : B i Le positionnement de l'organe terminal peut être dérit par un hangement de onfiguration artiulaire. Un hangement de onfiguration artiulaire se traduit alors par des déplaements élémentaires au niveaux des artiulations du robot manipulateur. Ainsi: La onfiguration artiulaire (B) est obtenue à partir de la onfiguration artiulaire [A) par simple rotation d'un angle de 7r/2 autour de l'artiulation "Epaule". La onfiguration artiulaire (C) est obtenue à partir de la onfiguration artiulaire (A) par simple rotation d'un angle de -rt/2 autour de l'artiulation "Hanhe" et d'un angle de TT/Ï autour de l'artiulation "Epaule". Fig. 3.16: Configuration artiulaire 87
105 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Déplaements de passage entre éléments adjaents du robot Considérons un manipulateur en haîne ouverte simple omportant N artiulations. Nous allons donner au sole l'indie 0 et numéroter suessivement les A r éléments du robot, dans l'ordre où ils sont renontrés lors du parours de la haîne inématique, en partant de l'élément qui est diretement lié au sole jusqu'à l'organe terminal qui portera alors l'indie N. Cette haîne inématique se ompose don de N + 1 éléments Co, Ci,... CM- Ensuite, pour numéroter les artiulations nous allons assoier le même indie à haque élément et son artiulation amont. Enfin, nous allons assoier à haun des orps C; une famille fondamentale f = ( ;,?7,C ) Qui en soit rigidement liée (ela revient au même d'assoier aux orps C les repères orthonormés qui matérialisent les familles f ). Notons D\ +1 le déplaement de passage de la famille f = (, r i, Q) à fi + i = (&-n,t?i+i,çi+i)- Si l'on se reporte à la figure Fig [Page 89): f i+1 = D] +1 *U (Eq.3.43) Le déplaement inverse permet le passage de f i+1 = ( +i, r i+ i, ( +1 ) à f = {&, 7?, Q), il sera noté dans la suite D] +ï. Ainsi: >: +1 = D\ +1 ~ l (Eq.3.44) Modèle géométrique en terme de déplaements de passage Si i et j sont deux indies relatifs à deux éléments du robot tels que i > j; alors d'après la relation (Eq.3.43) et la définition de l'opération "o", le déplaement de passage entre les familles f et ] peut être obtenu à partir de la relation réurrente: D) = DU D)~ l (Eq.3.45) soit sous forme expliite: D) = D\_ x DZ\ D] +1 (Eq.3.46) Don, le déplaement de passage total permettant de dérire es onfigurations de l'organe terminal relativement à la famille f 0, liée au sole, est donné par: D$ = D N N_, D N NZ\ D\D\ (Eq.3.47) sont assoiés à des translations. Don, la relation (??) est vérifiée dans le as N Conventions de Denavit-Hartenberg La méthode des onventions de Denavit-Hartenberg [J. Denavit Sz PL.S. Hartenberg [DENA-55]] est une démarhe très répandue pour la desription systématique du modèle géométrique des robots et méanismes. Elle onsiste à affeter des trièdres partiuliers aux éléments du robot et ensuite à érire le modèle géométriques en fontion des paramètres aratérisant
106 (b) Conventions de Denavit-Hartenberg Partie 2 Le manipulateur i-dessus se ompose de 4 artiulation- La haîne robotique se ompose don de 5 éléments Co, Ci,..., C4. Les familles fondamentales qui en sont rigidement solidaires peuvent, à priori, être prises de façon arbitraires. On générale pour la résolution des problèmes d'ordre pratique, le hoix des familles f est fait de façon à e qu'il simplifie les expression des quantités exprimés (oordonnées artiulaires, générateur infinitésimaux des mouvements artiulaires,...). Fig. 3.17: Repérage des éléments du robot les transformations entre les repères ainsi onstruits. Cette méthode est généralement présentée par une desription matriielle d'ordre 4x4. La version que nous proposons ii est basée sur la théorie des groupes. En effet, nous avons adapté la méthode des notations de Denavit-Hartenberg au ontexte général de la formulation de la méanique par la théorie des groupes et algebres de Lie en utilisant la notion des nombres duaux [A. Hamlili[HAML-91]j. Cette présentation onduit alors à une présentation matriielle d'ordre 9 3x Algorithme pour les systèmes en haîne ouverte simple (a) Choix de la famille fondamentale assoiée au sole: on affete au sole fixe une famille fondamentale f 0 i o,7jo,ço)i à, priori, quelonque. 9 La présentation matriielle duale 3x3 onduit à une présentation matriielle 3x3 dans R en séparant les parties réelles et duales des matries duales.
107 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Cette figure shématise la onstrution géométrique d'une famille assoiée à un élément du robot à partir de elle assoiée à son prédéesseur, Fig. 3.18: Familles fondamentales assoiées aux notations de Denavit-Hartenberg Initialisation et boule de onstrution des familles f : pour?'variant de 1 à JV, on applique les étapes de (bl) à (b4): (bl) Constrution du glîsseur Q: Q sera onstruit de façon que l'axe A oïnide ave l'axe du mouvement relatif de l'artiulation i. Ainsi, si Xi est le générateur infinitésimal du mouvement relatif de l'artiulation d'indie, Q est te! que: C< X si Xi e t> \ t, < ><.- = si Xi = eu. (b2) Choix de l'origine de la famille f,: y\-l (Eq.3.48)
108 3.10. Conventions de Dennvit Hartenberg Partie 2 Si l'artiulation d'indie i est prismatique (i.e. Re Xi = 0), l'origine 0 peut, à priori, être pris arbitrairement. si les axes Aç^ et Aç ; se oupent,l'origine 0, de la famille f va pouvoir être pris à leur intersetion, sinon, Oi sera pris à l'intersetion de la normale ommune aux axes A,- i _ i et Af, ave l'axe A fi [Fig. 3.18]. ä^3) Détermination du glisseur &: si les axes A^, et A^ ne sont pas parallèles, le glisseur sera pris tout simplement tel que: w if = ±~ i '~ 1 X ^', T etf(m) = w e. x Ouf, VM e 5 (Eq.3.49) Il w Ci-i x "Ci II Sinon, on prendra u^,. un veteur quelonque dans le plan perpendiulaire à A^ et: &(M) = o ti x Ö~M, VM (Eq.3.50) (b4) Détermination du glisseur 77,-: on établit le glisseur?? par la relation: m= [b,ti] (Eq.3.51) () Identifiation des paramètres de Denavit-Hartenberg: pour i variant de 1 à N on développe les étapes de (l) à (4): i l ) Détermination de l'angle 7^ 7,; est l'angle de rotation autour de l'axe A^. qui ramène l'axe A. _ à une droite parallèle à A ;. Ainsi: ji ~ aros (^^ j.wfj (Eq.3.52) (2) Détermination de la distane If. í est la distane depuis l'origine 0 de la famille f ; jusqu'au point d'intersetion des axes Af ; _, et A^ mesurée sur l'axe Af,.. Ainsi: i= ^Çj = lz^l == (Eq.3.53) \/l ~ (w.-_i-w Çi ) 2 (3) Détermination de l'angle 9f. 0 est l'angle de rotation autour de l'axe A( i _ 1 qui ramène l'axe A^_, à une droite parallèle à Aj,. Ainsi: OÍ = aros (oj^^j.wjj (Eq.3.54) (4) Détermination de la distanes ri : d est la distane mesurée sur l'axe Af,_, entre l'origine O-^i de la famille f^j à l'intersetion des axes A^,,, et A^. Ainsi: di= JJ M== (Eq.3.55) Vi-K.-i-wf,) 2 9J
109 Partie 2 Chapitre 3, MODELE GEOMETRIQUE DES SYSTEMES ARTICULES e. ; Les quatre paramètres assoiés aux notations de Denavit-Hartenberg peuvent être regrouper en deux iasses: Deux paramètres onstants qui aratérisent la disposition géométrique du orps du même indie par rapport à la disposition de son prédéesseur. Deux paramètres variables qui aratérisent le mouvement relatifs au niveau de l'artiulation du même indie. Sur la figure de gauhe sont représentés les paramètres géométriques onstants et sur elle de droite sont représentés les paramètres inématiques variables. Fig. 3.19: Paramètres assoiés au notations de Denavit-Hartenberg (d) Formation des déplaements D) relatifs aux familles j^: pour i variant de 1 à A r. le déplaement D}_ 1 relatif à l'artiulation i est obtenu par la relation: D] B, : A\ l où A\ l = e p(a 0_i) et B,= exp(ßi^ (Eq.3.56) ave: O i % + e di et ß { = 7, + e h (Eq.3.57) (e) Elaboration des matries duales relatives aux opérateurs D\ \: pour i variant de 1 à N, la matrie qui orrespond à la représentation adjointe du déplaement D' i _ 1,
110 3.10. Conventions de Denavit-Hartenberg Partie 2 relativement à la famille f ; est donnée par: i.e. [Df\] = [B lt ] [A?r\] / \ / os ai -sinai 0 \ (Eq.3.58) = 0 os ßi -sinßi j sinai os ai G V 0 sinßi osß l / \ / ( os ai sinai 0 \ os ßi sin ai os ßi os ai -sinßi (Eq.3.59) sin ßi sin ai sin ß l os ai os ßi J 3.10,2 Commentaires et preuve de l'algorithme L'intérêt du langage mathématique que nous avons proposé dans et algorithme réside dans le fait que la détermination des paramètres de Denavit-Hartenberg est effetuée par une méthode analytique très simple [Relations (Eq.3.52), (Eq.3.53), (Eq.3.54) et (Eq.3.55)]. Désormais, l'automatisation du proessus de alul des paramètres de Denavit-Hartenberg sera possible dès que les familles fondamentales (i.e. les repères) assoiées aux éléments du robot sont données. En résumé l'algorithme général que nous venons de présenter se ompose de trois parties: Phase 1: la onstrution des familles fondamentales assoiées aux éléments du robot omprend les étapes (a) et (b), où (b) est une boule itérant les étapes de (bl) à (b4). Phase 2: l'identifiation des paramètres de Denavit-Hartenberg est donnée par la boule () itérant les étapes de (l) à (4). Phase 3: la onstrution des matries duales de passage entre les familles fondamentales définies dans la phase 1. Cette phase omprend deux boules: (d) au terme de quoi sont formés les déplaements de passage et la boule (e) qui permet de aluler les matries de passage assoiées à es déplaements. Par ailleurs, seules les relations (Eq.3.52), (Eq.3.53), (Eq.3.54) et (Eq.3.55) néessitent une justifiation omplémentaire. Pour e faire, il suffit de voir que {&-i/&} et {Ci-i/Ci} sont osinus direteurs duaux définis par le produit salaire dual des torseurs _i par _i d'une part et de ( -i par Q d'autre part [le paragraphe 3.7, page 75]. Or, la définition géométrique des paramètres 7, /,-, 9 et d permet d'érire: {6-1/&} = os {9i + s d t ) et {Ci-i/Ci} = osiji + eh) où os est le prolongement anonique dual de la fontion osinus. De plus, d'après le théorème 1.7 [Chapitre 1, page 21] on peut érire: 9i + sdi= aros ({&-1/&}) et ~ fi + e l t = aros ({C -i/c }) (Eq.3.60) où areos est le prolongement anonique dual de la fontion ar osinus. Ce passage est justifié par e théorème 1.7 [Chapitre 1, page 21]. Les relations (Eq.3.52), (Eq.3.53), (Eq.3.54) et (Eq.3.55) en ^es
111 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES déoulent. Par ailleurs, la relation (Eq.3.59) implique, ompte tenu des relations (Eq.3.57): ( eos OÍ os ßi sin ai sin ßi sin ai sin ai os ßi os ai sin ßi os ai 0 sinßi os ßi le alul des parties réelle et duale de la matrie [-D _i ] donne: et ( di ( os di os 7, sin 9 sin 7, sin 0 sin 6 t os- % osd l sinoos 6 i (Eq.3.61) 0 sin^i os")i sin 6i eos i i% d eos 8 ü sin 7, sin 0 sin 7 d- os,- + k eos 7; sin 0 di eos di eos 7 di sin OÍ U sin ~a eos OÍ sin 7, d, sin $ +Z eos 7, eos 0 0 l os7 lisin~íi 3.11 Modèle géométrique d'un manipulateur à struture arboresente Dans ette setion, nous allons dérire les aspets algorithmiques permettant d'obtenir le modèle géométrique assoié à des systèmes artiulés à topologie arboresente, mais nous onservons, néanmoins, la terminologie définie pour les strutures à haîne simple et les notations définies dans la setion 3.5 pour les systèmes arboresents Formulation itérative du modèle géométrique Considérons un système artiulé à struture arboresente dont les éléments sont numérotés selon un ordre réursivement reonnaissable sur le graphe du méanisme. Si j et k sont les indies de deux éléments d'une même branhe tels que j < k et si i~{k) définit l'indie du prédéesseur immédiat du orps d'indie f, alors, la tradution de la relation réurrente (Eq.3.45) pour un tel système s'érit: D K j = D^(k) D^{k) (Eq.3.62) Don, si la struture arboresente possède K organes terminaux d'indies respetifs ivj, A'2, -,NK, le modèle géométrique est obtenu en alulant D J Ü ', D~ 2 0,, D' K 0 selon le modèle réurrent (Eq.3.62). Exemple Reprenons l'exemple du robot à struture arboresente de la figure [Fig. 3.11, page 73], Ce robot possède trois organes terminaux, don, son modèle géométrique est donnée par les trois
112 3.11. Modèle géométrique d'un manipulateur à struture arboresente Partie 2 déplaements: { D»= D D D\Dl U = D\D\D\D\ { D e 0= DID\D\D\ Généralisation de l'algorithme par les onventions de Denavit- Hartenberg aux systèmes arboresents (a) Choix de la famille fondamentale assoiée au sole: on affete au sole fixe une famille fondamentale f 0 (Coi^OiCoji à priori, quelonque. (b) Initialisation et boule de onstrution des familles f k : pour k variant de 1 à N et j = i~(k), on applique les étapes de (bl) à (b4): (bl) Constrution du glisseur &: Cf sera onstruit de façon que l'axe A^ oïnide ave l'axe du mouvement relatif de l'artiulation f. Ainsi, si Xk est le générateur infinitésimal du mouvement relatif de l'artiulation d'indie k, (k est te! que: ^ ~ TTvir si X f e D \ t, Il A k a (b2) Choix de l'origine de la famille f.: Si l'artiulation d'indie k est prismatique (i.e. ReXk priori, être pris arbitrairement. = 0), l'origine Ok peut, à si les axes A,-, et A^. se oupent,l'origine Ok de la famille lk va pouvoir être pris à leur intersetion, sinon, Ok sera pris à l'intersetion de la normale ommune aux axes AQ et Aç k ave l'axe A (l. [Fig. 3.20J. (b3) Détermination du glisseur &: si les axes A^. et A^,. ne sont pas parallèles, le glisseur sera pris tout simplement tel que: Lj ik = ±7 ^-^ 7 et if(m) = w Cl x O k M. 'im t II w O x ^Ct II Sinon, on prendra u^ un veteur quelonque dans le plan perpendiulaire à A,^ et: &(M) = w lt x O k M, ViV/ei (b4) Détermination du glisseur?//>.: on établit le glisseur % par la relation: un
113 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES Cette figure shématise les paramètres inématique assoiés aux éléments adjaents d'un système à struture arboresente de orps artiulés indéformables. Fig. 3.20: Paramètres inématiques pour un système arboresent () Identifiation des paramètres de Denavit-Hartenberg: pour k variant de 1 à A r et j i~{k), on développe les étapes de (l) à (4): (l) Détermination de l'angle >: -y k est l'angle de rotation autour de l'axe A if qui ramène l'axe A à une droite parallèle à \ç k. Ainsi: 7f = aros (w 0.u^,. ) 96
114 3.12. Conlusion Partie 2 (2) Détermination de la distane l^. If. est la distane depuis i'origine Ok de la famille f k jusqu'au point d'intersetion des axes A,. et A if mesurée sur l'axe A^t. Ainsi: l k ~ = = = V 1_ ( w Ci- w J (3) Détermination de l'angle 6^. Q k est l'angle de rotation autour de l'axe A^. qui ramène l'axe A^ à une droite parallèle à A^k. Ainsi: 9k = aros (u^..w t ) (4) Détermination de la distanes d f : d k est la distane mesurée sur l'axe A fj entre l'origine Oj de la famille ] à l'intersetion des axes AQ et A ÍJt. Ainsi: d t = - ^l-(w..j a ) 2 (d) Formation des déplaements D k relatifs aux familles f f : pour k variant de 1 à N et j = i~(k), le déplaement D* relatif à l'artiulation d'indie k est obtenu par la relation: D J k= B k A J k où A\ = exp(a k Çj) et B k = exp(ß k ( k ) ave: a k 0 k +ed k et /3 fe = -y k + sh- (e) Elaboration des matries duales relatives aux opérateurs D kif : pour k variant de 1 àtv et j = i-(f): [o{j = [JB f ] [A j ktj Conlusion Les méthodes que nous avons développées dans e hapitre s'appliquent à un grand nombre de méanismes- L'appliation de la théorie des groupes à l'ensemble des déplaements et à la haraterisation des liaisons méaniques offre un langage naturel intéressant pour la desription du modèle géométrique des méanismes. Ce langage favorise en partiulier une formulation analytique et un alul symbolique simple des modèles du omportement géométrique et inématique des systèmes méaniques artiulés (i.e. les expressions syntaxiques des modèles dans un tel langage s'expriment de façon très simple). Ces méthodes peuvent don être implémentées dans un proessus de alul formel. La théorie des graphes offre alors l'outil pour généraliser es méthodes et modèles à l'étude de systèmes artiulés plus omplexes. On a vu que pour déterminer les indiatries de la struture arboresente ouverte, il suffit de onnaître la matrie des prédéesseurs immédiats. Cette méthode est très éonomique par rapport à elle utilisée par Wittenburg [WITT-75] qui pour déterminer les indiatries 10 de la struture arboresente. Dans les développements de Wittenburg [WITT-75]. 10 Les indiatries définies par Wittenburg dans son exposé sont, en fait, différentes des indiatries que nous avons définies dans!e adre de notre travail.
115 Partie 2 Chapitre 3. MODELE GEOMETRIQUE DES SYSTEMES ARTICULES la détermination des indiatries néessite la onnaissane des matries d'inidene et de référene de l'arbre topologique. Cependant, la onnaissane omplète de es deux matries introduit une information inutile pour le alul itératif du modèle dynamique. En effet, la reonnaissane du graphe dans un proessus itératif va se faire de prohe en prohe et par la suite l'on aura seulement besoin d'une desription loale du graphe et non une onnaissane globale. Dans le hapitre suivant nous appliquerons es tehniques et résultats au alul du modèle dynamique des méanismes.
116 Chapitre 4 MODELE DYNAMIQUE DES SYSTEMES ARTICULES 4.1 Introdution Jusqu'à présent, notre analyse des systèmes artiulés était uniquement foalisée sur des onsidérations inématiques. Dans e hapitre, nous présentons les auses qui sont à l'origine du mouvement de tels méanismes. Les buts que nous nous fixons dans e hapitre peuvent être résumés en trois points essentiels: Apporter une ontribution à la modélisation du problème dynamique â partir du formalisme des groupes et algebres de Lie et des outils de modélisation que nous avons développés jusqu'ii ave la notion de nombres duaux. Automatiser le proessus de génération des équations du mouvement des systèmes méaniques artiulés. Pour e faire, nous allons établir une formulation itérative quasi-optimale permettant de aluler le modèle dynamique d'un système artiulé à haîne ouverte simple ou arboresente. Relier les modèles dans le formalisme des groupes et algebres de Lie ave les modèles lassiques de la méanique. Comme nous allons le voir, une omparaison selon l'effiaité du alul algorithmique, entre notre formulation et sept autres méthodes de référene parmi les algorithmes les plus réputés pour leur effiaité, permettra de mettre en valeur la puissane de notre formulation et son adaptabilité à la ommande dynamique des robots en temps réel. Comme nous allons le voir dans un prohain hapitre, les performanes de nos algorithmes peuvent atteindre une effiaité optimale grâe: d'une part, à une implementation itérative symbolique utilisant l'outil de alul formel et les tehniques de réériture pour le regroupement des termes qui interviennent plusieurs fois dans le shéma des aluls, 99
117 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES d'autre part, à l'automatisation du proessus de simplifiation de tels aluls haque fois qu'interviennent des termes nuls ou des multipliations par ±1 [Chapitre 6. setion 6.5, page 183]. 4.2 Desriptions du hamp des vitesses Dérivée temporelle d'un hamp Considérons un hamp de veteurs Y variable au ours du temps (i.e. t i-> Y(t) définit une appliation de R dans >). Si on se fixe une famille fondamentale f = {,??, C) de l'algèbre de Lie des torseurs Ö, on peut exprimer Y par son système de oordonnées par rapport à la famille fondamentale f: Y = (a + s a) i + {ß + e b) r + (y + e ) Ç la dérivée temporelle du hamp de veteur Y, rapporté à la famille fondamentale f, est omplètement déterminée par les dérivées des oordonnées de Y relativement à la famille f; 'est à dire: Y= (à + e à) e i))v + (j + e ) Ç (Eq.4.1) d. Remarquons ependant que si M est un point mobile: ~[Y(M}] ^ Y (M) Desriptions euierienne et lagrangienne des vitesses Généralement en méanique du orps solide on définit deux desriptions du mouvement selon que l'on se réfère à l'espae ou au solide lui même a Champ eulerien de vitesse Définition 4.1 Le hamp eulerien de vitesse (ou tout simplement vitesse euierienne) est le hamp des vitesses du orps dans un réfèrentiel lié à l'espae. Pour un mouvement de orps rigide aratérisé par t >-> D{t) relativement à une onfiguration de référene r, la théorie des groupes et algebres de Lie permet d'exprimer le hamp eulerien de vitesse à partir de la dérivée à droite du déplaement D par rapport à la variable temporelle: U= RlJ- (Eq.4.2) b Champ des vitesses lagrangiennes Définition 4.2 Le hamp lagrangien de vitesse (ou tout simplement vitesse lagrangienne) est le hamp des vitesses du solide dans un référentiel lié au solide lui même. Soit un mouvement de orps rigide aratérisé par l'appliation t *-* D(t) relativement à une onfiguration de référene r. D'après la théorie générale des groupes et algebres de Lie, le hamp
118 4.2. Desriptions du hamp des vitesses Partie 2 lagrangien de vitesse peut être exprimé à partir de la dérivée à gauhe du déplaement D par rapport à la variable temporelle. Ainsi: V = Ll^l (Eq.4.3) Corollaire 4.1 Si U et V désignent respetivement les hamps eulerien et lagrangien de vitesse d'un mouvement donné par t > > D(t) relativement à onfiguration de référene, alors: V = D* 1 U (Eq.4.4) C Cas du sous-groupe des mouvements ylindriques Le as des paires inématiques de type C (paires ylindriques) présente un intérêt partiulier dans la modélisation des systèmes méaniques artiulés. En effet, e as englobe toutes les artiulations dont le mouvement relatif entre les deux éléments de la paire inématique se réduit à un mouvement selon un axe fixe. Nous avons vu, au hapitre préédent, qu'un mouvement quelonque peut être déomposé en trois mouvements de types C. En fait, un mouvement de type C peut être aratérisé par le fait que le générateur infinitésimal du déplaement D(t) expx(t) } relativement à une onfiguration de référene, peut se mettre sous la forme: X{t) - a{t)( ave a C 2 (R,A) et ( G d telle que C o= 1 (Eq.4.5) où C 2 (R, A) est l'ensemble des fontions d'une variable réelle et à valeurs duales deux fois ontinuement dérivables. Cette ondition de dérivabilité traduit dans e as partiulier le prinipe de dérivabilité de la inématique (i.e. existene des vitesses et des aélérations). Les mouvements de type C reouvrent toutes les paires inématiques assoiées à des sous-groupes de C (les déplaements inématiquement admissibles par les artiulations de type C forment un sous-groupe du groupe de Lie ILP -qui admet à son tours des sous-groupes propres- et,en tant que variété différentielle sur R, il est de dimeusion 2). On retrouve ainsi les quatre types d'artiulations méaniques à axe fixe (pour le mouvement relatif) au ours du temps: les paires inématiques prismatiques (un degré de liberté en translation) de type P, les paires inématiques pivots (un degré de liberté en rotation) de type R, les paires inématiques hélioïdales (un degré de liberté suivant un axe) de type H, les paires inématiques ylindriques (deux degrés de liberté: une rotation et une translation indépendantes suivant le même axe) de type C. Corollaire 4.2 Si t -» D[t) = expx(t) désigne un mouvement de type C, alors le hamp des vitesses euleriennes et, onfondit ave le hamp des vitesses lagrangïennes et on a: X^ a( => U= V- àç (Eq.4.6) O»IBM ET fi«l'aies
119 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES 4.3 Aélérations d'un orps rigide - Lois de omposition de mouvements Avant d'entamer la desription des aélérations, nous allons tout d'abord disuter brièvement le problème de differentiation de la représentation adjointe du déplaement assoié à un mouvement donné Résultats préliminaires Lemme 4.3 Considérons l'appliation t i > Y(t) de R dans Ö et l'appliation t *-* D(t) définissant un mouvement donné par rapport à une onfiguration de référene. Si V désigne la vitesse lagrangienne de e mouvement et si on pose Z(t) = JD* Y(t), alors: 1 Preuve : Y = O: 1 Z + ID: 1 Z. V] (Eq.4.7) Soient O et N deux points fixes de, alors l'appliation t *-* M(t) = D(N) définit un point mobile Mit) animé du mouvement orrespondant à t» D(t). Rappelons d'abord la règle, générale de dérivation: dy(m),,. dom.. r.,.,_ io 7 - = Y(M)+ui Y x - = Y(M) + LOV x U{M) (Eq.4.8) dt dt Maintenant, posons Z(t) D t Y(t) et otons D la partie linéaire D, alors on peut érire: D'une part, ompte tenu de (Eq.4.8) on a: Z(M) = [Do Y] (N) (Eq.4.9) ^ ~ - = Z(M)+LJ Z XU(M) (Eq.4.10) et, d'autre part, en dérivant relation (Eq.4.9) par rapport à t on obtient: í ^ l = Uux D(Y(N)) + D(Y(N\) dt = LOI, x \D*Y){D{N)) + [D.Y](D{N)) (Eq.4.11) = uju x Z{M) + [D,Y]{M) les deux relations (Eq.4.10) et (Eq.4.11) sont équivalentes, don: Z(M) = [D,Y\{M) +Lj v x Z(M) - w z x U(M) ela entraîne: Z = D*Y + [U, Z], d'où la relation (Eq.4.7) ompte tenu du orollaire 4.1. Théorème 4.4 Soit l'appliation t * D{t) dérivant un mouvement donnée par rapport à une onfiguration de référene. Si V désigne son hamp des vitesses lagrangiennes, alors: r 102 i 4~D* = D*oad V (Eq.4.12) dt
120 4.3. Aélérations d'un orps rigide - Lois de omposition de mouvements Partie 2 et I Preuve : -DZ l = -advod;' 1 (Eq.4.13) at La relation (Eq.4.13) est évidente. Il suffit de prendre Z un torseur fixe de Ö, onsidérer Y(t) = D^1 Z et d'appliquer le lernme 4.3. La relation (Eq.4.12) n'est pas plus diffiile à obtenir, il suffit d'appliquer le lemme 4.3 ave 1'6Ö (i.e. Y ne dépend pas du temps) et le hamp Z tel que Z(t) D*Y. Corollaire 4.5 Soit U le hamp des vitesses euleriennes assoié au mouvement aratérisé t H+ D(t) relativement à une onfiguration de référene r. Alors: et ^-D t = aduod* (Eq.4.14) dt ^-D; l = -D~ l oadu (Eq.4.15) at Preuve : Il suffit de voir que dans (Eq.4.12) et (Eq.4.13), V D~ 1 U. Les relations (Eq.4.14) et (Eq.4.15) en déoulent diretement Vitesses et aélérations dans une paire inématique Soit une paire inématique donnée j = {d,cj}, rigidement solidaires à C et Cj respetivement. notons f et fj deux familles mobiles a Notations Dans la suite nous adoptons la notation qui onsiste à noter l X le système des oordonnées duales du torseur À' relativement à la famille f et J X ses oordonnées par rapport à la famille fj. Ainsi, dans es notations, D'j{t) représente le mouvement de la famille f par rapport à fj et X V? les oordonnées du torseur lagrangien de vitesse relative du orps d par rapport à Cj et enfin l Vi et J Vj les oordonnées des hamps lagrangiens de vitesse des orps d et Cj, respetivement rapportés aux familles f et fj b Composition des vitesses La loi de omposition des vitesses se traduit par le fait que la vitesse absolue d'un orps est égale à la somme de ses vitesses relatives et d'entraînement. Ainsi, pour les éléments de la paire inématique _, ette loi s'exprime par la relation: % = D), >Vj + <V? (Eq.4.16) Ï~103 I
121 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Les algorithmes de alul des vitesses angulaire et linéaire du orps C à partir de elles du orps Cj peuvent être retrouvés par l'extration des parties réelle et duale pures de la représentation matriielle de la relation (Eq.4.16). Notons DJ ia partie linéaire du déplaement D 1 -, la loi de omposition des vitesses angulaires s'exprime par: ^i = D) iuj + y (Eq.4.17) et la omposition des vitesses linéaires se déduit de (Eq.4.16) par: l V z {M) = D} 3 VJ{OJ) + D) >u> 3 - x D) 0 } M + l V?(M) (Eq.4.18) Vîtes*? abhoîu vite^r J'r:itï!îîtu-a>i.<nt vusse Ï<-IÎUIV*- Si le point M est hoisie à l'origine Oi de la famille f (i.e. du repère TZi), notons, 'p le veteur Oj Oi pris dans le repère TZj. Alors, l'algorithme permettant de déduire la vitesse linéaire au point Oj à partir de elle du point Oj s'érit d'après la relation (Eq.4.18) et ompte tenu de la bilinéarité du produit vetoriel et de l'orthogonalité de la matrie D 1 par: 'vi = D) (h 3 + ^} x i pi) + *v (Eq.4.19) C Pseudo-aélération - Loi de omposition des aélérations Avant de définir e que nous entendons par pseudo-aélération, rappelons tout d'abord que les aélérations angulaire et linéaire usuelles en méanique lassique ne définissent pas un hamp d équiprojetif, pour la simple raison que [Y (M)] ^ Y (M). dt Définition 4.3 Nous appelons pseudo-aélération, la dérivée temporelle du hamp des vitesses. On distingue: La pseudo-aélération eulerienne qui déoule de la dérivée du hamp enlerien des vitesses, d relativement à une famille fondamentale liée à l'espae, que l'on pourra noter U = U. dt «Lu pseudo-aélération lagrangienne induite par la dérivée du hamp lagrangien des vitesses, Nous avons hoisi d'appeler, une telle dérivée, pseudo-aélération pour deux raisons onflituelles: relativement à une famille fondamentale liée au orps, que l'on pourra noter V = V. dt i) Sa dimension est elle d'une aélération, puisque elle s'obtient à partir de la dérivée par rapport au temps du torseur vitesse et don elle s'apparente aux aélérations. ii) Elle n'est pas exatement une une aélération, pour la simple raison que sa partie linéaire (moment en un point) n'en est pas une au sens physique du ternie. Ainsi, il nous semble tout à fait opportun de remarquer au leteur que: (Rmi) Le veteur résultant de la pseudo-aélération définit exatement l'aélération angulaire du I 104 I mouvement.
122 4.3. Aélérations d'un orps rigide - Lois de omposition de mouvements Partie 2 (R1ÏI2) Quant au moment de la pseudo-aélération (i.e. pseudo-aélération linéaire), elle ne orrespond pas exatement à l'aélération linéaire telle qu'elle est définie généralement en méanique lassique du point matériel. (Rma) Toutefois, si besoin est, l'aélération linéaire 7 M du point mobile M peut être déduite du moment du torseur pseudo-aélération au point M, en lui rajoutant le terme u-y x i.e.: V(M). 7M = V(M) + LUV x V(M) (Eq.4.20) (Rni4) En onséquene, le alul des aélération des partiules d'un solide rigide, à un instant donné, se ramène à elui des torseurs V et V à et instant. Théorème et définition 4.6 La omposition des pseudo-aélérations dans une paire inématique Sij se traduit par la relation: *!>, = D)Jt) % + [%, *V;] + l V (Eq.4.21) Preuve : La omposition des pseudo-aélérations dans une paire inématique S j se traduit par dérivation des membres de la relation (Eq.4.16). Ainsi, ompte tenu du lemme 4.3: 'Vi = D), Vj + [D% JV jt %*} + 'V? (Eq.4.22) or, d'après la relation (Eq.4.16), on peut érire: >*» 3 Vj- = l Vi l V. de plus, nous savons que pour tout torseur X: [X, X] ~ 0. Ainsi, de (Eq.4.22), il vient: % = D) j t Vj + \ z Vi, % 3 ] + { V/. Pour le modèle de alul des pseudo-aélérations, nous préférons la relation (Eq.4.21) à (Eq.4.22) pour des raisons d'optimisation de la omplexité algorithmique (i.e. nombre des opérations élémentaires en alul de l'algorithme). En effet, lorsque nous érirons, plus tard, l'algorithme omplet qui permet de aluler les oordonnées des pseudo-aélérations, le alul des oordonnées des vitesses aura été effetué à une étape antérieure. Ainsi, la relation (Eq.4.21) permet d'éviter des aluls redondants. La tradution en veteurs sommes de la loi de omposition des pseudo-aélérations permet de déduire l'algorithme de omposition des aélérations angulaires dans la paire inématique S if. 'w, = D) j ùj + l 'a,'j x ^ + 1 ÛJ{ (Eq.4.23) et l'évaluation de la relation (Eq.4.21) en un point M permet d'érire: l Vi{M) = 0\ 3 V 3 {0.) + D) Jùj x D) Ô~M + l Vi{M) x t u + i u) x x *'v; j (M)+ r V {M) (Eq.4.24) /A L_15LJ
123 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES ainsi, lorsque le point M est pris à l'origine Oj, on obtient la relation permettant de alulé la pseudo-aélération linéaire du orps C au point Oi à partir de elle du orps Cj au point Oj. Ainsi, si 3 pi Oj OÍ est dérit par rapport au repère TZ 3, alors: i v i = D) { j Vj + j ùj x J'pi) + Hf; x i <J i + l UiX { v{ + H\ (Eq.4.25) A e stade du développement et ompte tenu des remarques (Run) et (Rma), il nous semble important de faire un ertain nombre d'observations qui permettent de faire le lien ave la méanique lassique du point matériel: (Obi) Le point matériel (abstration mathématique du solide infiniment petit) se onçoit omme un as partiulier du solide rigide. (Ob2) Compte tenu de la remarque (Rms), la loi usuelle de omposition des aélérations linéaires, en méanique lassique du point matériel, se déduit de la loi énonée par la relation (Eq.4.24). En effet ompte tenu des relations (Eq.4.17), (Eq.4.24) et (Eq.4.20) l'aélération absolue du point mobile M s'érit: S M = D) ivj(oj) + D) 'à, x D) 0~M + D) J LOJ X l V % [M)+ 'w x i V?{M)+ "'^/(M) (Eq.4.26) soit en remplaçant l Vi(M) par son expression dans la relation (Eq.4.18) et en prenant ompte de la bilinéarité du produit vetoriel et de l'orthogonalitê de l'opérateur DJ: ' lm = D} yvjipj) + j ujj x 'VjiOj) + j iu 3 x iujj x 0~M + ùj x 0~ M\ + 2D)i Uj xiv>w)+ (Eq - 4 ' 27) V x %?{M) + *VÍ{M) or JVjiOj) +iujx ^Vj(Oj) = ho, et ^ x <V?{M) + l Vf{M) = ^ M. Don, finalement: *7M = D) [ho-; + 3 V? x Jw j x 1^ + J^J x Ö~JM\ + t-u-iniion tl.aoliir ^-W-l^nuimi a"iîtr;»ï!u'iiit ut 2D) j u, x X J {M)+ (Eq.4.2S) v.tf'lí-iíitínn 4i' Cnnili*.uWIrr.Uií.u U"Utivv La relation (Eq.4.28) traduit la loi de omposition des aélérations linéaires d'un point mobile M.
124 4.4. Cinétique du orps solide Partie Cinétique du orps solide Cette setion s'inspire de l'exposé de D. Chevallier [CHEV-86] onernant la dynamique des solides rigides. Partant de l'idée de non-néessité de déomposition systématique des artiulations "omplexes" (i.e. à plus d'un degré de liberté 1 ) des systèmes artiulés en paires prismatiques et pivots, il montre l'existene d'un opérateur généralisé d'inertie qu'il aratérise par un nombre de propriétés dans l'algèbre de Lie Ö. Dans le but d'appliquer es résultats au alul formel du modèle dynamique des systèmes artiulés et en utilisant les outils de modélisation basés sur les nombres duaux, nous allons établir une forme pratique de et opérateur généralisé d'inertie [A. Hamlili [HAML-91]] Desription de la masse inerte La desription spatiale de la répartition de masse dans un solide rigide est étroitement liée à la notion de mesure positive. Ainsi, si i s est la distribution de masse dans le solide rigide C dans une onfiguration s, la masse m du solide est définie par: m = f ß s (M) (Eq.4.29) où M est un point matériel, du solide C dans la onfiguration s, de masse infinitésimal ß s (M). La masse totale doit néessairement être indépendante du hoix de la onfiguration s du solide C. En effet, ette indépendane reflète le prinipe de l'invariane de la masse en méanique newtonienne. Pour ela, il faut que la mesure positive fi satisfasse le relation: {JL D.,= D( t i a ), VDeD (Eq.4.30) où D(p s ) est la mesure image de i s par l'appliation affine D (tout déplaement est une appliation affine de l'espae géométrique ) définie par: D(p ê )= ^(JD-^V)) ; VVeB D (Eq.4.31) sahant que BD est la tribu des ensembles U tels que: D~ l {U) E V( ) (ensemble des parties de ) Desription du entre de masse En méanique, on appelle entre de niasse (ou entre d'inertie) du solide C à la onfiguration s, le point G s aratérisé par: m ÔGI = J (JMn s (M) ; VOe (Eq.4.32) Pour alléger les notations des aluls avenir, nous allons noter l'opérateur linéaire: tel que pour tout veteur w de E, ÈL s (0) Ü = m O G s x il. K.,(0)= môg\ (Eq.4.33) 'Exemples: les poignets, les rotules, les artiulations ylindriques... et.
125 Partie 2 Chapitre 4, MODELE DYNAMIQUE DES SYSTEMES ARTICULES Propriétés 4.7 Soit D un élément du groupe O et D sa partie linéaire. Alors: K D. P = DolK.oD'" 1 (Eq.4.34) Soient M et N deux points de. Alors: K, (Ai ) = K s (N) + m Ñ~M (Eq.4.35) Preuve : La démonstration est évidente. La relation (Eq.4.34) déoule diretement de (Eq.2.29) [Chapitre 3, page 51]. En suite, la relation (Eq.4.35) déoule de la définition du tenseur K. I Tenseur d'inertie d'ordre deux De façon générale, on définit le tenseur d'inertie du seond ordre (ou tout simplement le tenseur d'inertie) en un point 0 lié au solide par: l s {O s )u = i 07M x (u x OTM) dp s (M) ; Vu e E (Eq.4.36) i.e. Si (x,y,z) h{o s )= - f ÔTM dp s (M) (Eq.4.37) est le système de oordonnées artésiennes assoié à un repère (ou une famille fondamentale) d'origine le point O lié au solide, alors, la matrie assoiée à un tel opérateur s'érit: ( ^x,x ~~-L%,y x,z \ -h,y Iy.y -h,* (Eq.4.38) -h,; ~Iy,, h,; J où les éléments salaires de ette matrie sont donnés par les relations: Ix,x = f (y 2 + ~ 2 ) dp s (M), I y<y = i (x 2 + z 2 ) dtj s (M), /_-,, = f (x 2 + y 2 ) dp s (M), h, y = xydpjm), I x, z = xzdp s (M), /,.-= yzdp s (M). Je Je Je ave p s (M) est la distribution de masse au point M du orps C qui oupe la onfiguration s. Lorsque le point O s oïnide ave le entre d'inertie G s, on obtient le tenseur entral d'inertie. Théorème 4.8 Si il s désigne Le tenseur d'inertie du seond ordre lié au solide C, alors: si O s est un point lié au solide C, alors: 1,(0,)= I.(G a )-mrt 2 (Eq.4.39) où p* O s G s. Cette relation traduit le théorème de Huygens.
126 4.4. Cinétique du orps soude Partie 2 Configuration S La distribution de masse dans un solide peut être dérite à toute onfiguration s et tout instant. Si g est la densité du orps C, la masse de 'objet infinitésimal M de volume dv s est égale à dm, = d[i s (M) = gdv s Fig. 4.1: Distribution de masse dans un solide à une onfiguration donnée si r est une onfiguration de S, D un élément du groupe IP et D la partie linéaire de D, alors: I D.r = Doî r od' (Eq.4.40) 1 Preuve : La démonstration est évidente, Comme dans ie as préédent, la relation (Eq.4.39) déoule diretement de la définition du tenseur d'inertie d'ordre deux et la relation (Eq.4.40) déoule de (Eq.2.29) [Chapitre 3, page 51] Torseur inétique - Opérateur généralisé d'inertie Généralement, on définit le torseur inétique omme étant le torseur dont le veteur somme est donné par le veteur quantité de mouvement et dont le moment est le moment inétique. Le 109
127 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES but de e paragraphe est de définir, si possible, un opérateur de î) qui permet d'obtenir le torseur inétique à partir du torseur des vitesses. Ainsi, si nous arrivons à onstruire un tei opérateur, on aura démontré que la notion d'opérateur dïnertie se généralise à la desription inétique dans (5 d'un mouvement quelonque. D'une part, si nous notons p le veteur quantité de mouvement: "p* = mv{g s ) pour tout point O rigidement solidaire de C, la vitesse linéaire du entre de gravité peut se réérire de la forme: V(G 3 )= V(0)-OG s x uv ainsi, le veteur quantité de mouvement se réérit en fontions de l'opérateur lr4 s (0): ~p = mv{0)- K s {0)w v (Eq.4.41) D'autre part, le moment inétique P(0) au point O est donné par la relation: P{0) = f 0~M x V(M) dn.(m) or V(M) - V{0) + UJ V x ÖM, don: P{0) = ( / Ô~M dn,(m)\ V{0) - f / Ô~M dtis(m)) u v \ J J \J j (Eq.4.42) = K s (0)V(0}+l s (0)u v les relations (Eq.4.41) et (Eq.4.42) permettent de définir l'opérateur généralisé d'inertie en tout point O de par 11,(0)= [(-K s {0)+eI,{0))oRe+(M + K s (0))oDu]ov 0 (Eq.4.43) tel que si P désigne ie torseur inétique, alors: Pç> = ÏÏR S (0) V. De plus, omme la détermination d'un torseur à partir de ses éléments de rédution en un point donné est unique, alors: H s = r^o [(-K,(0)+e 11,(0)) oj? e +(M + IK s (0))o J D!i ] o tfl (Eq.4.44) est indépendant du hoix du point O et on peut érire: P = M S V (Eq.4.45) Proposition 4.9 Soient r, s deux onfigurations d'un orps C et D un déplaement du groupe HP tels que s = D r : no ; i*.i (w(i-3 si i üíiijbü
128 4.5. Torseur dynamique - Loi de Newton-Euler Partie 2 (a) si C 5 t = () est la déomposition en somme direte de l'algèbre de Lie Ö au point G s (entre d'inertie de C à la onfiguration s), alors: H S (C S ) Ç t et H s (t) C s (Eq.4.46) (b) les opérateurs relatifs aux onfigurations r et s du orps C sont liés par la relation: M s = D,oM r0 D: 1 (Eq.4.47) Preuve : La démonstration est simple. Pour prouver la proposition (a), il suffit de voir que pour tout torseur X de D: Re[U s (G s ) X] = mx[g s ) et Du[M s (G s )X]= I S (G,)VJ X Quant à Sa démonstration de (b), il suffit de voir que M s est JS-linéaire et don elle déoule (Eq.2.29) [Chapitre 3, page 51]. 1 La relation mathématique (Eq.4.46) traduit le fait que le torseur inétique engendré par le mouvement de rotation autour du entre d'inertie est un ouple et le torseur inétique engendré par une translation du solide est un glisseur dont Taxe passe par le entre d'inertie. 4.5 Torseur dynamique Loi de Newton-Euler Le torseur dynamique se définit omme étant la dérivée par rapport au temps du torseur inétique. Pour établir une telle dérivée montrons le résultat préliminaire suivant: Théorème 4.10 La dérivée de l'opérateur généralisé d'inertie est donnée par: I Preuve : ^-{M t )= advo M s - M s o adv (Eq.4.48) Soit une situation de référene fixe r. Notons D(t) le déplaement qui définit la trajetoire s(t) par rapport à la onfiguration r. Alors, d'après la proposition 4.9 (b): (M.)= VOEOD; 1 ) dt dt = ~D*(t)oU T od: l + D*(t)oU r o~d: 1 (Eq.4.49) at at Ce qui montre la relation (Eq.4.48) ompte tenu du théorème 4.4. Corollaire 4.11 Le torseur dynamique est donné par: %-P.= M S (V) + [VM,(V)} (Eq.4.50) at
129 Partie 2 Chapitre 4, MODELE DYNAMIQUE DES SYSTEMES ARTICULES B Preuve : Il suffit de voir que H s est un opérateur Jî-linéaire sur Î5, don: dt (M S(V))= U s (v)+m s (v) (Eq.4.51) et omme [V, V) = 0, ompte tenu de (Eq.4.48), la relation (Eq.4.50) déoule diretement de la relation (Eq.4.51). Connaissant les aratéristiques inertielles d'un solide, les lois d'euler et de Newton permettent de déterminer, par le alul, les efforts (i.e. fores et ouples) inertiels qui agissent en son entre de masse. La représentation torsoriel des fores et ouples permet d'exprimer es deux lois sous une forme synthétique en terme du torseur dynamique. Rappelons ii que nous admettons l'objetivité des efforts inertiels 2. Ainsi, Soit T e le torseur résultant des efforts extérieurs agissant sur le solide C, alors: *' dt s (Eq.4.52) ette loi sera dite loi fondamentale de Newton-Euler et nous l'énonerons souvent, ompte tenu de la relation (Eq.4.50), sous la forme: ^r= U a (v) + [vms(v)} (Eq.4.53) Expliitons ette relation pour voir omment s'identifient et. s'interprètent les grandeurs vetorielles qui déoulent de sa rédution en point. Revenons à la relation (Eq.4.50): dt p s= W,{v) + [vm{v)] en tout point O de en notant p* = O G, la, partie réelle de par: dt Ps = r o ( -y- Ps est donnée Re dt s = m (V(0) - p* x ùv + uv x (V(0) - p* x u v f m ( \ (V{0) + u/y x V(OU +ùv x p* -r ojv * (wv x P*) W«... îiuu <lu Di-pa C iu point O ;." 'rivtiüfi lu, i-.miti. 1.le mn*ht- G -hi t-nip* C (Eq.4.54) e qui donne exatement la fore d'inertie au entre de masse G s (loi fondamentale de la dynamique). "Les leteurs souieux de ette question peuvent se rapporter aux référenes indiqués dans notre bibliographie et notamment à [H. Poinaré [POIN-02], J. UHmo ULLM-65] pour les aspets philosophiques de la question, P. Germain [GERM-86] pour l'aspet pratique).
130 4.6. Modele dynamique des robots à haîne ouverte simple Partie 2 Maintenant, alulons le moment N, au point 0, de la dérivée temporelle du torseur inétique \ d P(t). Il est donné par la partie duale du veteur dual Ps Don: dt Du 4-Ps dt = l s (0)ù v + w v x I S (0)UJ V + -. v > mommtt in tíqus du A la rotation autour du jiohit O m V (F(0)+ U V x V(O)) xp*» r ^w -,«>.«-n n.-..m-,v aélération du orph C an point O v v ' moammt.iiuiiiq«** diu 1 <ÍU iiiínivunümit iinñaíre du point O (Eq.4.55) Cela donne, exatement, le moment résultant au point O. En effet, la relation qui exprime l'aélération du point O en fontion de elle du entre de masse G n'est autre que: V(0) + u) V x V(O) = V(G S ) + uj v x V(G a ) - û v x p*+ Lûy X ( jjy X PÎ) (Eq.4.56) en rapportant la relation (Eq.4.56) dans (Eq.4.55) et ompte tenu du théorème de Huygens, on obtient don: Du\ Tt P s l s (G s )ùv + uv x l 3 (G s )u)v + oms-iit rfîfnhfiiit dut 1 rus ntonveitit-uî.lopie Je C m (v(g,) + uv x V(G,)) x p* (Eq.4.57) f-'êratiott du orph C au point G^ or, omme nous savons que: Uioiiittt dv a fore d'iin'rîif au point O Tl(G ) \ s {G a ) jy + toy x li a (G s )wy et UJJFJ = m (K(G S ) + uiy x V(G s )j. Don, on a: d?l{0)= N e = Du dt Ps (Eq.4.58) le résultat exprimé par la relation (Eq.4.58) est onnu sous le nom du théorème du moment inétique. 4.6 Modèle dynamique des robots à haîne ouverte simple On onsidère dans e paragraphe simplement les robots manipulateurs à un seul organe terminal et des méanismes à haîne ouverte simple. Le modèle dynamique des robots â plusieurs organes terminaux et méanismes à struture arboresente feront l'objet d'une setion à part. Définition 4.4 Toute loi qui présente le. alul d'une quantité indiée sur un ensemble totalement ordonné à partir de sa valeur au rang préédant ou suédant est dite réurrente. (a) Si e alul ait appel au rang préédent, la réurrene est dite direte (i.e. asendante). 113
131 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES (b) Si, au ontraire, il fait appel au rang suédant, la réurrene est dite inverse (i.e. desendante). Nous allons onsidérer maintenant le problème du alul des efforts généralisés Q qui orrespondent à une trajetoire donnée du système artiulé, haque élément du robot ou du système artiulé étant supposé un orps rigide. Aussi, nous supposerons onnues, les positions, vitesses et aélérations généralisées {q,q,q) des éléments du robot qui aratérisent, ainsi, omplètement sa inématique. Les opérateurs généralisés d'inertie M, (relatifs aux orps C et pris aux origines OÍ des familles fondamentales f rigidement solidaires aux orps C ) seront également supposés onnus pour haque élément C du système artiulé. Dans le alul du modèle dynamique, on s'intéresse à dérire toutes les quantités méaniques relativement à un référentiel de laboratoire (ou de travail, souvent lié au sole, quand il s'agit de robots manipulateurs). Ainsi, nous allons privilégier la desription lagrangienne du mouvement. S'il y a besoin d'utiliser la représentation eulerienne du mouvement, les relations orrespondantes pourront être retrouvées omme nous l'avons dérit au paragraphe De même, dans notre analyse, nous allons privilégier des artiulations ylindriques, les artiulations lassiques de la robotiques (mouvement à un degré de liberté) peuvent être retrouvées en annulant les paramètres inutiles (i.e. as des artiulations pivots et prismatiques) ou en imposant une relation de dépendane entre es paramètres (i.e. as des artiulations hélioïdales) Algorithmes réurrents pour le aiul des vitesses et aélérations On onserve ii les mêmes onventions d'indiçage -des éléments d'un système artiulé et de ses artiulations- définis au paragraphe [Chapitre 3, page 88]. A haque artiulation, nous allons assoier une famille f = (, 7j t, ( % ) telle que le glisseur Q définisse l'axe de l'artiulation d'indie i. Ainsi, nous proposerons pour le alul des vitesses et aélérations une méthode réurrente direte, partant du orps d'indie 0 et s'arrètant au orps d'indie N (i.e. organe terminal) a "Propagation" des hamps inématiques D'une part, d'après la relation (Eq.4.16), la propagation 3 des vitesses est donnée par: i+1 V i+1 = Dit 1 l 'V + «'+ 1 V;, + 1 (Eq.4.59) or la paire +i = {C,C +i} étant une paire ylindrique, notons t, +1 = 0 + i +sdi + x le paramètre dual assoié aux deux degrés de liberté d'une telle paire (où ô,-+i est le degré de liberté de rotation autour de l'axe Á ^1 de la paire,; +1 et d + i le degré de liberté de translation le long de l'axe A Ci+l ). Alors, d'après la relation (Eq.4.6), on a: Í+1 V 1 +1 = à,- + i i+1 Ci+i (Eq.4.60) "Il faudrait omprendre ii le mot "propagation" dans le sens figuré relatif an mode du alul réurrent (les termes de rang supérieurs sont exprimés en fontion de leurs prédéesseurs) ia
132 4.6. Modèle dynamique des robots à haîne ouverte simple Partie 2 Ainsi, l'équation (Eq.4.59) se met sous la forme: i+l V i+l = D^11+1 Vi + à i+ i i+1 0+i (Eq.4.61) d'après la relation (Eq.4.21), la "propagation" des pseudo-aélérations est obtenue par la relation: l+1 V l+1 = D% 1 H> + [Dit 1 *V t, î+1 KVi] + <+1 V? + i (Eq.4.62) et en dérivant par rapport au temps la relation (Eq.4.60): i+1 KVi= &i+i i+ Hi+i (Eq.4.63) la relation (Eq.4.62) devient: i+1 V i+1 = DÍ+ l *Vi + à i+1 [&+ 1 *Vi, Í+^Í+I] + ä i+1 i+1 C,+ i (Eq.4.64) d'où l'algorithme suivant: Algorithme 4.1 Cas général: i+1 V i+x - JD i+1 *V" 4- i+l V i i+1 V i+1 = D i+ï i Vi 4- \D i+1 i V- i+1 V\,1 4- i+1 V}, Cas des artiulations de type C: i + 1 F i+1 = Dit 1 i+1 Vi + à i+1 i+1 Q+i i+1 V i+1 = Dit 1 l Vi + à i+ i [Dit 1 %, * +1 C:+i] + ä i+1 i+1 Cx+i Sauf mention ontraire, dans toute la suite, on ne onsidère que des artiulations admettant un axe fixe -dans le temps- (i.e. des artiulations de type R, P, H ou C) b "Propagation" des vitesses et pseudo-aélérations angulaires et linéaires Notons Oi et 0 +i les origines respetifs des familles f = (&,T?,C ) et f s+1 = (Ct+ii^î+iiCt+i) rigidement solidaires au orps C et C +i et telles que le glisseur Ci+i définit l'axe de l'artiulation de la paire ylindrique t +i = (Eq.4.59) permet d'exprimer la loi de propagation des vitesses angulaires: {C;,C +i}. Ainsi, la partie réelle de la relation <+1 w i+ i = Di+^Wi+Öi+i'+^i+i (Eq.4.65) et sa partie duale exprime la loi de propagation des vitesses linéaires aux origines des familles fondamentales solidaires aux éléments du robot, ainsi: i+1 t> i+ i = D} +1 fvi + l w, x Vi+i) + <Ui <+1 - +i (Eq.4.66)
133 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Les grandeurs mématiques aratérisant le mouvement du orps C sont évalué au point O; (Origine de la famille fi) rigidement solidaire à C;. Fig, 4.2: Shématisation des grandeurs mématiques où V'i+i désigne ie veteur 0 % pris dans le repère Tii qui matérialise la famille f. Maintenant, la partie réelle de l'équation (Eq.4.64) donne la loi de propagation des aélérations angulaires: (Eq.4.67) Quant à la loi de propagation des pseudo-aélérations linéaires aux origines des familles fondamentales f et f; + i, elle est obtenue par la partie duale de l'équation (Eq.4.64), soit: * +1 v J+l = Df l (H\ + *& x! p I+ i)+ i+1 v l+ i x8, +1 i+1 ; 1+: + i+i jji+i x d t+ i 1 ' z 1+ i + d l+ i * z.; + i (Eq.4.68) Algorithme 4.2 Vt+i L)i l»!+ <*>, x pi+ij+ a,4-i -i+i ' +1 l+i = Df 1 ùj + Î+1 <J, +1 x <? l+1 ^z l i+1 1+1^4 ;+1 i» i+1 = D] +1 (% + 1 ÙJ, x > I+1 ) + l+l v i+i x 9 l+1 l+1 z l+l + t+i ï + 1 u>, + 1 X d i+i l + 1 Z l+1 + di + i i+l Z l+ i 116
134 4 6. Modèle dynamique des robots à haîne ouverte simple Partie C Algorithmes dans le as des artiulations prismatiques et pivots Les artiulations pivots et prismatiques sont des artiulations très utilisées dans la réalisation tehnologique des systèmes artiulés en général et partiulièrement en robotique. Cas des artiulations pivots: Pour obtenir le modèle dans le as des artiulations de type pivot, il suffit d'annuler dans les équations de l'algorithme 4.2 les ourrenes des paramètres á +1, d +\ et d i+ i: Algorithme 4.3,+ V+i = ^ +1 = i+1 uj l + è i+1 i+l z i+1 Dj +1 *vi +,+1 w ï+1 x pi+i i+1 ùi = D\ +ï Üi 4-1,v ï-fl,',. i î+ï,. w Û i+1., _i_ h î+1 ~ "i+l u i v i + W, X Pi+1 -r V-.4-1 X C^-fl Zj-j-i Cas des artiulations prismatiques: De façon analogue, pour obtenir le modèle dans le as des artiulations prismatiques, il suffit d'annuler dans les équations de l'algorithme 4.2 les paramètres angulaires 0 +i, $ +i et 0 +i: Algorithme 4.4 i+1 u; i+ i= DJ +1 V t i+1 v i+ i = Dj +1 '"«,- +!+1 J I+ i x 1+ V!+ i + '* + V + i x d i+1,+1^+i + di+i,+1 r i+1 Implementation itérative mixte: Dans le as de méanismes qui ne omportent quedes artiulations prismatiques et pivots, afin de donner une formulation mixte qui traite aussi bien les artiulations prismatiques et rotoïdes, nous allons utiliser les lassiques 4 partitions binaires (o",-,<7 ) de l'unité. Ainsi, pour tout entier i G [l N] (où À r est le nombre de degrés de liberté du robot ou de la haîne 4 Les partitions binaires de l'unité sont très utilisées en algorithmique pour désigner le proessus onditionnel: si alors
135 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES inématique ouverte simpie), nous allons définir la partition (<7,F ) par: o OÍ = 1 si l'artiulation i est rotoïde o a, = 0 si l'artiulation i est prismatique > => (T, + <Tj - 1 o <Ti = 1 (Ti oeffiient onjugué de u les oordonnées artiulaires 0 et ÍÍ peuvent don se mettre sous forme d'une notation unifiée grâe au hangement de variables: q l= GiBi^G.ài (Eq.4.69) Ainsi, les deux algorithmes 4.3 et 4.4 se réduisent à un unique algorithme inluant à la fois les deux types d'artiulations prismatique et pivot: Algorithme 4.5 i+1 u< = D! +1 &i Ui+1 0J t + (T, + i ( fj + i Z l+ \ i+1 v^i = l+1 v t + l + 1 w I x i+ï p l+1 + âi+i 9i+i i+1 z 1+1 t+1 ü>i+i = l+1 ú -f <7 +1 f I+1 a; I+1 x q i z i+1 -*- q, +i t+1 z i+1 ) 1+1 Vi = Dj +ll i) i+1 i+i = i+1 * ; + i+ï dji X i+1 p t 4-i + CT,+ i l + 1^+i X q i+1 i+1 z t+1 + â i+ i ( t+1 u; i+1 x q i+1 I+1 z l+ i + q i+ï l+1 z i+ i) Appliation des lois de Newton-Euler Connaissant les familles fondamentales f et les aratéristiques inertiels (i.e. les opérateurs d'inertie M ) assoiées aux éléments C d'un robot ou d'un système artiulé à haîne inématique ouverte simple dans le as général, il est possible de onnaître les efforts qui agissent sur les orps Ci. Il suffit pour ela d'exprimer la loi fondamentale de Newton-Euler (Eq.4.53) pour haque orps Ci et d'évaluer les expressions obtenues respetivement aux points O-; assoiés: \77= MHI i ( i V i ) + [ i K, i lh[ i ( i V;-)] (Eq.4.70) la séparation des parties réelle et duale de la relation (Eq.4.70) permet d'obtenir les relations: I 118 I
136 4.6. Modele dynamique des robots à haîne ouverte simple Partie 2 Les veteurs *F e est proportionnel à l'aélération '7; du entre de masse G. Ces deux veteurs sont tels que F? = m; *7i [Relation (Eq.4.71)]. Fig. 4.3: Résultantes des efforts agissant sur un élément La loi de Newton: *Ff = rr H ( l Vi + i 6j % x V* + ^ x (>,- + w x «>?)) (Eq.4.71) où m désigne la masse du orps Ci. Le théorème d'euler au point O,-: si! IÍ exprime le tenseur d'inertie au entre de masse d, alors, le théorème d'euler au point O t déoule des relations (Eq.4.57) et (Eq.4.58): *Nf = % w + l w t x livi + V* x *i7 (Eq.4.72) Efforts des ationneurs au niveau des artiulations Il s'agit maintenant d'établir les loi de "propagation" des efforts moteurs qui produisent le mouvement de la struture artiulée. Comme dans les paragraphes préédents, les aluls vont être effetués sur les grandeurs dynamiques ave la desription lagrangienne des efforts. Notons, T?~ l le hamp résultant des fores et ouples qui agissent au niveau de l'ationneur de l'artiulation d'indie i sur orps C par le orps C;_i. Dans de telles notations, d'après le prinipe des ations 119 ^ J " " '
137 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Lorsqu'une fore est onsidérée en un point autre que son point d'appliation elle induit un ouple orretif égal au moment de la fore en e point. Ainsi, *jv? = 'TV* + 'F' x ''p*. où 'N* = 'Hi'à'i 4- z ui x "II/UJ;. Fig. 4.4: Corretion assoiée au déplaement d'une fore mutuelles, le hamp résultant des fores et moments agissant au niveau de l'artiulation i + 1 sur orps Ci par le orps C-;+\, s'érit relativement à la famille f,- sous la forme: *'77 +1 = -Dï +1, <+1 7? +1 (Eq.4.73) Dans le as général, le bilan des fores et ouples appliqués au orps C permet d'érire: ^l = ij^ "^ (Eq.4.74) où le torseur H désigne le hamp résultant des fores et ouples agissant sur le orps C, mis à part les hamps l T l i ~ l et l T +l. Ce hamp peut représenter toutes sortes d'ations appliquées au orps C (frottements, résistane de l'aire dans le as de mouvements à grande vitesses, vents, gravitation,...et) [Fig, 4.5]. Pour fixer les idées, si on suppose que les seuls efforts exerés sur le orps C, mis à part les hamps '7? -1 et l T 1 l ~ rl, dérivent de l'ation du hamp de gravité terrestre. Ainsi, si g désigne le veteur gravité, l g sa représentation relative au repère TZi -assoié à la famille f - et si on note Qi le glisseur de veteur g dont l'axe Kg passe par le entre de gravité G, du orps d, le bilan des fores et ouples appliqués au orps Ci permet d'érire tout simplement:
138 4.6. Modèle dynamique des robots à haîne ouverte simple Partie 2 Ur. satellite plaé en orbite est soumis à plusieurs fores, entre autres, la gravité terrestre,!a gravité lunaire (ainsi que les gravités des autres planètes), les efforts exerés par les vents de radiations et de partiules... et. Dans e as, pour haque élément du satellite, le torseur Hi doit prendre en ompte les effets de tous es efforts. Fig. 4.5: Satellite géostationnaire Anik E soit en tenant ompte de la relation (Eq.4.73), il vient: j- x i ^i+it i í-h+ m í yi Ainsi, nous obtenons la relation réurrente (dans l'algèbre de Lie D) permettant de déduire le hamp T*' 1 du hamp i+1 7? +1 : X"' 1^ < -^ + ^i+i. i+l7 i+i-" l i i öi (Eq.4.75) Pour déduire les expressions vetorielles des algorithmes réurrents alulant les fores et moments agissant aux niveau de l'artiulation d'indie i à l'origine 0 de la famille fondamentale \i relative au orps C, nous allons érire: i rr l = Vi + e'ni (Eq.4.76) où l fi désigne la fore exerée sur le orps d par le orps C _i et *7i le ouple exeré, au point 0, sur le orps C,- par le orps C _i. La séparation des parties réelle et duale de la relation (Eq.4.75), ompte tenue de l'égalité (Eq.4.76), permet d'érire, d'une part: 7 = i F^ + D\ +1 i+1 f i+1 -m i i g (Eq.4.77) et, d'autre part: m = l N* + D\ +l ( t+1 n i+1 + I+1 / i+1 x i+ Vi+i) - m, >* x l g (Eq.4.78) 121
139 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Cette figuie shématise la représentation aux niveaux des points 0, et G de l'ensemble des fores et ouples exerés sur un élément du système artiulé par les éléments qui lui sont adjaent dans la haîne inématique. Fig. 4.6: Bilan des efforts exerés par les orps adjaents à un élément Algorithme de "propagation" des fores et ouples artiulaires Maintenant, pour alléger les notations et optimiser les aluls du proessus itératif, onsidérons le torseur T{ tel que: Ti= Tf - vu Qi (Eq.4.79) il en résulte que la relation (Eq.4.75) devient: >rr X = i T t + D\ +u^t^l (Eq.4.80) Posons alors ~'Ti = 'F 4- E'A', relativement à la famille f et notons l W{ = % V{ *g. La séparation des parties réelle et duale de l'équation (Eq.4.80) ompte tenu des relations (Eq.4.71), (Eq.4.72), (Eq.4.77) et (Eq.4.78) permet de déduire l'algorithme suivant: Algorithme 4.6 Calul intermédiaire: i F l = m, (' : Wi + 'w, x ~'p* -f- 'un x ('f, + V', x '>*)) l Ni = l li >dj t + l Lj t x l JI, 1 WÎ + l p* x 'F, OlVirtSsTinrlUi'isEÜi
140 4.6. Modèle dynamique des robots à fiafne ouverte simple Partie 2 Réurrene inverse: 7i= ^i + DUi^/.+i n t = íjvi + D\ +1 { i+1 n l+l + i+1 f i+1 x i+1 p z+1 ) Efforts généralisés Coeffiient aratéristique Cas des artiulations ylindriques: Dans le as d'une paire de type C, le mouvement s'effetue ave deux degrés de liberté suivant un même axe, les efforts généralisés orrespondant à es deux degrés de liberté sont donnés par les parties réelle et duale du produit salaire dual: {T"V i Ci}= m + en (Eq.4.82) ela s'interprète par l'adjontion d'une fore généralisée donnée par: K - fi.zi (Eq.4.83) qui résulte du degré de liberté en translation au ouple généralisé au niveau de l'ationneur d'indie i: qui résulte du degré de liberté en rotation. Cas des artiulations prismatiques et pivots: Ti = rii.zi (Eq.4.84) Dans, le as où le méanisme ne omporte que des artiulations de type prismatique ou pivot, pour pouvoir déterminer les efforts généralisés au niveau des ationneurs de façon omplètement systématique, nous allons introduire un oeffiient dual qui nous permettra de aratériser le type de l'artiulation en ours de traitement dans le proessus itératif du parours des ationneurs du système artiulé. Définition 4.5 Nous appelons œffiient aratéristique du type de l'artiulation d'indie i d'un méanisme ne omportant que des artiulations prismatiques ou pivots le nombre dual: Vi= o-i+eïïi (Eq.4.85) où (C,Í7 ) est la partition binaire de l'unité assoiée à l'artiulation d'indie i. Utilisons là enore une notation unifiée Q- pour représenter aussi bien les fores généralisées que les ouples généralisés qu'on appellera tout simplement effort généralisé. Par définition, l'effort généralisé appliqué à l'ationneur i est égal à la omposante du hamp l T i l ~ 1 suivant l'axe (ou suivant, le veteur lorsqu'il s'agit d'une artiulation prismatique) défini par le mouvement. C'est à dire: Qi= VV' 1 /^^ (Eq.4.86) MÜ3~
141 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES don, Qi = a i n,,.zi + ai / i.z l, telle que: Qi = fi.zi iii.zi si l'artiulation i est prismatique si l'artiulation est de type pivot De façon générale, on érira la relation (Eq.4.86) sous la forme: Qi = (ai ni +âi / ).z (Eq.4.87) Algorithme itératif du modèle dynamique Dans e paragraphe, nous donnons l'algorithme omplet pour la formation du modèle dynamique itératif des systèmes méaniques artiulés à struture de haîne inématique ouverte simple. Il inlut les algorithmes 4.5, 4.6 et la relation (Eq.4.87). Algorithme 4.7 Pour i variant de 0 à N 1 faire: t+i ijji = D i+l i+l,, 3+1,, i_ ~ A î'-fi -. = D* +1 i Vi Vi+i = %+1 Vi + l+1 Wi x t+1 pt+i + o'i+i Ûiti t+l Zi+i i+l, UJi or *<* i + l,*, i + l, -, I -, / î + 1,. \s A i+l ~. _1_ «i+l y \ Wi+i w + ff : +i \ u/.;+i x q l+ i z!+1 + 9i + i ^i+ij i + 1 W i +i Wi+1 = D) +li Wi i+1 Wi + * +1 ti» 1 X i+1 p i+1 + <7 i+ i * +1 U i+1 X q I+1 î+1 ; i+1 + "T / i+l,, v A i+l ~ «A" i+l ~ \ <Ti+i ( w.+i x î,+i ~i+i + Çî+i -i+i; i+l P. _,-,-,, / TT.". i i+l-, w i + l-* i i + l,, v Í i + l ni l i+l,, w I+l * >, Wi + 1 A Pi+lJ I + l Aï i + lïi i+1,% l i+l,, v i + lïï i+l,, -L i+l A* s/ î+1 27 r T T l\ i+ l ]i i+1 < i+\ + CJ, + i X ^ Ji t+1 Wj+i + ^ p i+1 X T í +1 /in faire. Pour i variant de N à 1 faire: */i = l F I + DÎ +1 ' +1 / 1 +i 'n, = Wi + DJ+i { i+1 n i+l + i+l f l+1 x i+1 pi + i) Q = fa n-i +âi fi).zi fin faire. 124 C>iSMR*T.tTlltlnJSEB
142 4.7. Complexité du alul algorithmique Partie Initialisation des réurrenes Dans le as où le robot manipulateur est lié à un sole fixe, on peut initialiser la réurrene direte de l'algorithme 4.7 en prenant: %) = 0, V, = 0, i'o = 0 Quant à la quantité Wi, elle peut être initiaîisée à: W 0 = - 9 tel que, pour le alul extrinsèque, g désigne le veteur gravité, dans le repère de travail. En général, dans les problèmes de la robotique, le hoix du référentiel assoié à l'espae de travail (i.e. la famille de référene fo) est fait de telle sorte 5 que: g= [00 ±g]* (Eq.4.88) où g est la onstante loale de gravité. Dans le as où on a des robots mobiles, les quantités LJQ, U.'O, ^O,?JQ seront initialisées aux vitesses et aélérations du support mobile et: o Wo= Ho- g Par ailleurs, pour prendre en onsidération dans l'algorithme 4.7 l'effet relatif à l'ation de l'organe terminal sur son environnement (i.e. l'opposé des efforts exerés par le milieu extérieur sur l'organe terminal 6 ; par exemple: harges, ouples,... et), il va suffire d'initialiser la réurrene inverse au rang N + 1 en onsidérant N+1 JN+I et Ar+1 «N+i omme étant respetivement, la fore et le ouple qu'exere l'organe terminal sur l'environnement extérieur. 4.7 Complexité du alul algorithmique La définition de la omplexité qu'on propose ii onsiste à ompter le nombre maximal d'opérations arithmétiques élémentaires d'additions et de multipliations néessaires au alul du modèle (ou de l'algorithme) en fontion du nombre de degrés de liberté du système artiulé. Ainsi, dans la suite, nous appellerons e nombre d'opérations: omplexité de alul, oût de alul ou enore temps de alul. Dans le but de la mise en œuvre d'une ommande dynamique, de nombreux auteurs ont mis au point plusieurs algorithmes permettant d'obtenir de façon numérique le modèle dynamique [Setion 0.3, page 4]. En réalité, e sont les limitations pratiques liées au temps de alul qui vont permettre de juger des performanes d'un modèle (puisque les différents formalismes de la dynamique onduisent à des équations équivalentes). Dans nombre de as, les limitations du temps de alul peuvent s'opposer à l'utilisation d'un modèle pour la ommande en 5 D'autres hoix peuvent être faits: g= [ifloo]' ou enore g~ [0 ipo]', 6 D'après la loi de l'ation et de la réation de Newton. 125
143 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES temps réel des strutures artiulées. Un modèle qui néessite un temps de alul gigantesque est prosrit malgré les progrès tehnologiques étendus des nouveaux alulateurs. Ainsi, des efforts onsidérables ont été déployés dans le but d'optimiser le oût de alul des différents modèles. Déterminons maintenant le oût de alul de l'algorithme 4.7, et omparons son oût à eux d'un nombre d'algorithmes de la littérature. Soit N -supérieur ou égal à 3- le nombre de degrés de liberté du robot, pour pouvoir omparer tous les algorithmes étudiés dans e paragraphe dans les mômes onditions, on suppose donnés les tenseurs d'inertie des différents éléments du robot en leurs entres de masse 7, le tableau 4.2 donne une omparaison en omplexités du alul algorithmique des modèles dérits dans Uiker [UICK-65]/Kahn [KAHN-69], Raibert & Horn [RAIB-78], Waters [WATE-79], Hollerbah [HOLL-80], [LUH 80], Dombre & Khalil [DOMB-88] et Hamlili [HAML-92] (algorithme 4.7). Pour établir le alul des omplexités de es algorithmes, on va don ompter le nombre maximal 8 des opérations élémentaires "effetives" à haque étape du alul en ligne qu'ils induisent. Ainsi, à titre d'exemple et en supposant que le nombre de degrés de libertétv > 3: Le alul du nombre d'opérations néessaires au alul de DJ +1 est donné par la relation (Eq.3.61) [page 94]. Soit 4 multipliations et 0 additions pour le alul de Dj +1. D' où 4À r multipliations et 0 additions pour le alul des N matries de passage D\ +1. Le déompte des opérations assoiées au alul des quantités définies dans l'algorithme 4.7 s'obtient diretement des expressions qui permettent leur alul. Cependant, dans e déompte, la multipliation par o" et W ne sont pas réellement des multipliations puisqu'elles vont se traduire au moment de la programmation par des tests onditionnels de la forme: si alors - sinon et don seules les opérations de la séquene d'instrutions séletionnée pourront être effetuées. De même, toutes les expressions de la forme a k Zk représentent, en l'ait, des veteurs de la forme [0,0, a] T et n'induisent don pas d'opérations effetives. Le alul des quantités Q ne néessite auune opération, puisqu'il s'agit de poser Qi omme étant la troisième oordonnée de */ ou 'n selon que la nature de l'artiulation d'iodie i est de type prismatique ou rotoïde. 'Dans plusieurs as pratiques, ertains aluls peuvent être fait hors ligne. Cela permet de diminuer substantiellement la omplexité des algorithmes. Ainsi, dans le as où le méanisme ne omporte que des artiulations rotoïdes, le alul hors ligne des tenseurs d'inertie aux points O; induit une amélioration de la omplexité des algorithmes basés sur Se formalisme de Newton-Euler de 21 N multipliations et 12 iv additions (es alul pouvant être effetués hors ligne dans un module à part). A titre d'exemple: la omplexité de notre algorithme n'est plus que 93 N 85 multipliations et 76 N 72 additions elle de l'algorithme [DOMB-88] n'est plus que 127 N - 47 multipliations et 89 N - 33 additions [Dombre & Khalil [DOMB-88]]. Cas où toutes les artiulations du méanisme sont supposées de type pivot. i 126
144 4.7. Complexité da alul algorithmique Partie 2 Quantité D î+1 i t+i., uj t+ i +1. ""Wi+i l+1 *i+i I+1 A l+1 1 f *n. Total Tableau 4.1 : Complexité de l'algorithme Multipliations 4A 8iV-6 14A AT-15 IIA A ÍV-13 8iV 14 N 114A-85 Additions 0 6A-8 UN A -10 8A V JV - 9 8A 14 A" 88 A" - 72 Le tableau 4.1 résume le nombre d'opérations néessaires aux alul de es différentes quantités. Le nombre maximum des opérations élémentaires de l'algorithme 4.7 est don de: 114 A 1 " 85 multipliations et 88 A" 72 additions. Méthode Uiker [UICK-65]/ Kahn [KAHN-69] Raibert & Horn [RAIB-78] Waters [WATE-79] Hollerbah (a) [HOLL-80] Hollerbah (b) [HOLL-80] Luh, Walker & Paul [LUH 80] 1 Dombre & Khalil! [DOMB-88] Hamuli [HAML-92] Tableau 4.2 : Comparaison des omplexités dans le as général \ Formulation dynamique lagrangienne dynamique lagrangienne dynamique lagrangienne dynamique lagrangienne, réurrente, (4 x 4) dynamique lagrangienne, réurrente, (3 x 3) dynamique de Newton- Ev.ler, réurrente, (3 x 3) dynamique de Newton- Euler, réurrente, (3 x 3) dynamique de Newton- Euler, réurrente, (3 x 3) Multipliations 16 A"«+ mn 3 + m N2 + M jv _ N' 6 + N 2 53 N N N A N A* A-85 Additions 25A A 3 + Ó N 3 + N 2 + 2N 82 N A A A A A A-72 Bien que les deux formalismes de Newton-Euler et de Lagrange donnent lieu à des équations équivalentes qui aboutissent au même résultat à l'erreur de l'arrondi prés du alul à la mahine, on remarque que les méthodes basées sur le formalisme de Newton-Euler sont généralement moins oûteuses. Ainsi, lorsque le nombre N est inférieur ou égal 6, on remarque que notre algorithme est jusqu'à 100 fois plus effiae que ertaines formulations basées sur la dynamique lagrangienne [Tableau 4.3]. Toutefois, la méthode de Raibert & Horn [RAIB-78] est moins oûteuse lorsque A T demeure inférieur à 6. Cela vient du fait que le oeffiient du monôme de plus haut degré en A r des polynômes qui représentent la omplexité de alul de e modèle, est relativement faible 127
145 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES x*y x+y COMPARA/SONDES COMPLEXITES (MULTIPLICATIONS) Weiter [UlKE-65]/Kahn [KAHN-69} - Raibert & Horn RAIB-78] 400G0 - Waters WATE-79) - Holtertiaà (a) [HOLL-80] - Hollerbah (b) [HOLL-80] L:ih, Walker â Paul [LUH SO]/- Dombres & Khali! [DOMB-8W - / Hamiili [HAML-SH] COMPARAISON DES COMPLEXITES (ADDITIONS) ( i H T~, l r J i Uikei (UlKE-65]/Kdhn [KAÉN-69] - I / Raibert & Horn [RÀIB-78] ' / Waters [WATE-79] ; Hollerbah (a) fholl-80] i ; Hollerbah (bf[holl-s0 - Lull. Walker & :Paíil [LUH - HO]! / Dombres & KhqM [D0MB-SS1! i Hiimiili [HAML-92] Nombre de d.d.l Nombre de d.d 1. Cette figure donne les omportements asymptotiques des fontions de oût des modèles omparés: Lorsque le nombre de degrés de liberté roit, on voit bien que le oût en nombre d'opérations élémentaires des méthodes de Uiker/Kahn, Raibert & Horn et elle de Waters grimpe très rapidement pour atteindre des valeurs gigantesques. Le nombre de multipliations dans les méthodes de Luh, Walker & Paul et Dombre & Khalil est pratiquement le même. Notre algorithme demeure le plus éonomique de tous. Fig. 4.7: Comparaison des omportements asymptotiques des modèles [Tableau 4.2] 12S Oi*ir*nmLH*'ssfö
146 4.8. Modèle dynamique des méanismes à struture arboresente Partie 2 Tableau 4.3 : Le nombre de d.d.l N = 6 Méthode \ Multipliations Uiker [UÍCK-65 / Kahn [KAHN-69] Raibert & Horn RAIB-78] Waters [WATE-79] Hollerbah (a) [HOLL-80] Hollerbah (b) [HOLL-80] Lufa, Walker & Paul [LUH 80] Dombre & Khalil [DOMB-88] Hamuli [HAML-92] Additions Ce rapport d'effiaité grimpe jusqu'à 200 fois lorsque le nombre de degré de liberté N est égal à 10 Fig. 4.7, Tableau 4.4]. A l'exeption des algorithmes de Hollerbah (a) et (b) [HOLL-80], les formulations basées sur le formalisme de Lagrange ne peuvent apporter une solution simple aux problèmes de la ommande dynamique des robots en temps réel. Tableau 4.4 : Le nombre de d.d.l N = 10 Méthode Uiker [UICK-65]/ Kahn [KAHN-69] Raibert & Horn RAIB-78] Waters [WATE-79] Hollerbah (a) [HOLL-80] Hollerbah (b) [HOLL-80] Luh, Walker & Paul [LUH 80] Dombre & Khalil [DOMB-88] Hamuli [HAML-92] Multipliations Additions Tous es résultats et remarques permettent de onlure que e sont des méthodes réurrentes telles que [LUH 80], [DOMB-88] ou [HAML-92] qui vont fournir une solution éonomique au problème de la ommande en temps réel. Enfin, ils mettent en valeur les idées sous-jaentes qui nous ont permis de onstruire notre algorithme, puisqu'il demeure le plus effiae de tous lorsque le nombre de degré de liberté est assez grand. 4.8 Modèle dynamique des méanismes à struture arboresente Dans e paragraphe, on généralise l'algorithme 4.7 à des robots et méanismes à struture d'arbre topologique. Noua avons vu au hapitre préédent que dans les systèmes artiulés à haîne arboresente, une fois fixé le orps de base, le parours sans retour en arrière de l'arbre topologique à partir du orps de base dans le sens des organes terminaux révèle l'existene d'un unique antéédent et éventuellement plusieurs suesseurs immédiats pour haque orps du système méanique -ou sommet du graphe assoié- (exepté, bien sûr, le orps de base -la raine de l'arbre graphique- qui ne peut avoir d'antéédent immédiat).
147 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Equations du mouvement d'une struture d'arbre topologique Dans le as où le système de solides artiulés est à topologie d'arbre, la partie du alul dérite par la réurrene direte de l'algorithme de "propagation" des grandeurs inématiques et dynamiques n'est pas plus ompliqué que dans le as des strutures à haîne ouverte simple. Il déoule de l'algorithme 4.7 en posant: Algorithme 4.8 j = i-(k) k aj, = D)i Ui k uj k = k u-j + ff k qk k Zk S = DIS k v k = k Vj 4- k oj j x k p k -râ k q k k z k k ùjj = Dj 3 ûjj k áj k = k ùj + a k ( k u k x q k k z k + q k k z k ) k Wj = D k jiwj k W k = k Wj + k ùj x k p k + a k k v k x q k k z k + W k ( f u> f x q k k z k + q k k z k ) k F k = m k { k W k + k ù k x k p* k + k w k x ( k v k + k uj k x k pl)) k N k = k l k k ù k + k uj k x k l k k uj k + k pl x k F k C'est dans la partie alulée par une réurrene inverse que les expressions du modèle dynamique itératif d'une struture arboresente ouverte diffèrent de elles de l'algorithme 4.7 établi pour les strutures en haîne ouverte simple. En effet, le bilan des efforts exerés sur un élément doit prendre en ompte le fait qu'un orps peut admettre plusieurs suesseurs immédiats à la fois. La modifiation de ette partie de l'algorithme est obtenue de la manière suivante: Algorithme 4.9 J 7; = J^+ E Di k f k k i+(j) Qj = (<?j n.j+âj f j ).z j Enfin, l'ordre de parours déterminé par la définition 3.6 (parours en largeur de l'arbre topologique) permet d'énoner l'algorithme de alul du modèle dynamique -des méanismes à struture d'arbre topoîogique- sous forme itérative:
148 4-8. Modèle dynamique des méanismes à struture arboresente Partie 2 Algorithme 4.10 pour k variant de 1 à N faire: 3 = i~{k) 'u>k <JJJ + &k Qk zk S - D k hj k v k = k Vj + k u)i x k p k +W k q k k z k k ùj = D k^j k ù k = k ùj + r k ( k ij k x q k k z k + q k k z k ) k Wj = D)>Wj k W k = k Wj + k ù)j x k p k + r k k v k x q k k z k + â k ( k oj k x q k k z k + q k k z k ) k F k = m k { k W k + k ù k x k p* k + k u> k x( k v k + k LO k x k p*)) fin faire. k N k = k l k k ù k + k uj k x k l k k uj k + k p* x k F k pour j variant de N à 1 faire: j h = 3F i + E D i k f k i nj = in j+ ]T D j k{ k n k + k f k x k p k ) fin faire. Qi = {ojuj+âj fj).zj Cet algorithme résume les deux algorithmes 4,8 et Initialisation de l'algorithme itératif Comme dans le paragraphe 4.6.7, pour initialiser l'algorithme 4.10, il faut: D'une part, initialiser la réurrene direte en fixant les veteurs wo, <Á), v o e * io selon les données du problème à traiter (Exemples: repère terrestre ou non, orps de référene en mouvement ou fixe,...et.) et poser le as éhéant: WQ = vo g ( g = 0 dans le as d'absene de hamp de gravitation). D'autre part, initialiser la réurrene inverse en fixant les les valeurs des efforts exerés par les organes terminaux sur leur(s) environnement(s). I 131 I
149 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES Cette figure shématise les efforts exerés sur l'élément Cj par les éléments adjaents dans l'arboresene de la struture topologique du méanisme. Ce bilan des efforts doit prendre en onsidération le fait qu'un orps peat avoir plusieurs suesseurs immédiats. Fig. 4.8: Bilan des efforts entre orps adjaents dans une struture arboresente 4.9 Conlusion Dans e hapitre, nous avons tout d'abord défini la notion de dérivée de hamp [Paragraphe 4.2] et elle de la représentation adjointe de mouvements [Paragraphe 4.3]. Ces définitions nous ont permis de définir la notion de hamp de pseudo-aélération [Définition 4.3] et la loi de omposition de tels hamps. L'expression expliite de l'opérateur généralisé d'inertie que nous avons établi, au paragraphe 4.4, nous a permis de regrouper le prinipe fondamentale de la dynamique et le théorème du moment inétique dans une même formule synthétique [Paragraphe 4.5]. Nous avons ensuite donné une struturation itérative omplète du modèle dynamique des méanismes à l~m~~\ ÎA
150 4.9. Conlusion Partie 2 haînes ouvertes simples, au moyen de la théorie des groupes et algebres de Lie. Cette formulation est intrinsèque et elle est appliable aussi dans le as où les méanismes présentent des artiulations de type quelonque et partiulièrement dans le as des artiulations de type C. Les méanismes dont les artiulations sont de type prismatique ou pivot sont de loin les plus nombreux 9. Aussi, la formulation des modeles en prenant ompte de ette hypothèse revêt-elle une importane partiulière. En introduisant les notions de partitions binaires de l'unité et du oeffiient aratéristique dual d'une artiulation nous avons établi un algorithme effiae (de faible oût) pour le alul du modèle dynamique des systèmes artiulés à haînes ouvertes simples dont les artiulations sont de types rotoïdes ou prismatiques [Paragraphe 4.6.6, Algorithme 4.7]. La omparaison de la omplexité de notre algorithme à sept autres algorithmes de référene a révélé que notre algorithme demeure elui qui néessite le plus faible oût de alul. Ce qui implique qu'il est très adapté à être intégré dans une ommande en temps réel. Enfin, grâe à la théorie des graphes et à l'introdution d'un bon ordre de parours de l'arbre topologique des systèmes méaniques arboresents, nous avons généralisé notre modèle dynamique itératif pour reouvrir une large atégorie de méanismes [Paragraphe 4.8.1, Algorithme 4.10]. L'ordre de parours des éléments d'un robot ou un système artiulé à haîne arboresente que nous avons introduit dans le hapitre préédent permet, alors, l'automatisation du proessus itératif pour le alul du modèle dynamique de telles strutures. Même dans le as ontraire, on peut toujours se ramener à des modèles de e type. i 133
151 Partie 2 Chapitre 4. MODELE DYNAMIQUE DES SYSTEMES ARTICULES [UK
152 Partie 3: CONCEPTION ET REALISATIONS INFORMATIQUES 135
153
154 - Résumé de la partie 3 - LES SYSTEMES SURVEYOR ET MEDUSA MF 77 Dans ette troisième partie, nous présentons le système SURVEYOR, notre prototype de système de alul formel basé sur la rêériture typée et les tehniques de 'intelligenes artiñielle. Il s'avérera un puissant outil de transformation syntaxique des expressions mathématiques dans des spéifiations équationnelles et le logiiel MEDUSA MF77 développé dans le but de générer automatiquement des shémas quasi-optimaux pour le alul des équations de la dynamique des systèmes artiulés. Ainsi, nous onsidérons les problèmes relatifs à la génération d'un ode optimisé du modèle dynamique itératif, nous allons montrer sur un exemple simple que es fontionnalités atuelles des systèmes de alul formel lassiques ne permettent pas la prodution de ode qui requièrent es fateurs souhaités de qualité. Nous exposerons ensuite les solutions que nous apportons à es problèmes par la rêériture et es tehniques de l'intelligene artifiielle. Ainsi, nous alîons introduire a faulté de suspendre momentanément des informations au toplevel du ogiiel de alul formel pour laisser aller à son terme le proessus de génération du ode soure quasi-optimal dérivant ainsi un shéma de alul itératif.
155 Partie 3 138
156 Chapitre 5 LE PROTOTYPE: SURVEYOR 5.1 Introdution L'informatique se définit omme l'ensemble des disiplines sientifiques et des tehniques spéifiquement appliables au traitement de l'information, notamment par des moyens automatiques. L'intelligene artifiielle est une disipline très avanée de l'informatique dont elle utilise les tehniques pour essayer de réaliser des automates adoptant une démarhe prohe de la pensée humaine. Ainsi, elle onerne l'ensemble des modélisations de la onnaissane et des tehniques permettant d'atteindre e but. En informatique traditionnelle, les programmes traitent essentiellement de l'information numérique; don, une information quantitative. Par ontre, les programmes de l'intelligene artifiielle traitent essentiellement les informations de nature symbolique et qualitative. Une des raisons qui ont poussées au développement des programmes de l'intelligene artifiielle est elle de onevoir des mahines qui permettent à l'utilisateur de délarer des faits plutôt que des ordres. L'outil essentiel dans de tels développements est don la notion ensembliste de relations [J.P. Sansonnet [SANS-85]]. Citons ii J. Pitrat "Presque tout reste enore à faire en intelligene artifiielle' 1 '' [J. Pitrat [PITR-90]]. En effet, malgré les efforts onsidérables qui ont été déployés dans la reherhe dans e domaine et l'immense suès rapporté dans la oneption et le développement de logiiels généraux et don "réutilisables", il reste enore beauoup à faire pour améliorer les performanes de es systèmes et bien que l'on soit parvenu dans les tarvaux atuels à dérire des proédés pour améliorer les performanes d'un ertain nombre d'appliations, on est enore inapable de pouvoir les généraliser par des méthodes universelles "réutilisables" dans toute autre appliation. Ces diffiultés sont partiulièrement ressenties par des herheurs qui ont réalisé des logiiels apables de résoudre une grande lasse de problèmes [J.L. Laurière [LAUR-76], D. Fieshi [FIES-84)]. 139
157 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR Le système SURVEYOR est un prototype de système algébrique basé sur la réériture typée 1 des expressions formelles. Il permet de traiter des expressions mathématiques par réériture à partir d'une desription délarative (et/ou semi-délarative) exprimée par une ou plusieurs spéifiations équationnelles (i.e. réériture au moyen d'un ou plusieurs systèmes d'équations). Ainsi, l'objetif général du projet SURVEYOR est d'étudier, onevoir et tester des méanismes et des outils permettant la rédution systématique d'expressions mathématiques à partir de spéifiations axiomatiques équationnelles. Son implementation était faite dans la perspetive de répondre à des questions dont la diffiulté se révèle ave l'étude de points déliats onernant les problèmes d'évaluation, d'unifiation, de transformation symbolique, de suspension et de restauration d'informations au toplevel d'un interpréteur symbolique. Ainsi, e hapitre est dédié à dérire les idées qui nous ont permis de réaliser SURVEYOR et les solutions proposées pour la résolution d'une large atégorie de problèmes oïl le ontrôle de la onnaissane peut se faire par des spéifiations équationnelles. 5.2 Coneption et prototypage 11 existe différentes méthodes pour onevoir un logiiel. Ces méthodes se basent en général sur un ensemble de reherhes théoriques et pratiques. Cependant, l'ensemble des reherhes menées dans e domaine mettent en relief trois étapes essentielles: Etape de réflexion et d'analyse du problème: elle onsiste à définir les fontions, les tâhes et l'ensemble des servies du système en fontion des objetifs initiaux d'une part et des objetifs et besoins déouverts au ours du développement d'autre part. Etape de réalisation: pour réaliser un système informatique, il faut hoisir un langage de programmation en fontion des besoins de oneption. Etape d'évaluation et de ritique des solutions: une ritique défavorable peut amener le onepteur à une nouvelle analyse et un nouveau développement pour améliorer la solution ou pour ombler ses défaillanes du système. On imagine bien que es trois étapes sont plus ou moins parallèles et vont oexister jusqu'à l'élaboration omplète ou partielle du produit informatique. Pour onevoir un logiiel qui répond à un nombre de ritères de qualité, on passe souvent par un prototypage rapide. En général, l'ensemble des besoins et objetifs pour onstruire un système -qui n'existe pas enore- sont exprimés dans le langage nature!. Par ailleurs, il est souvent diffiile et voir même impossible, d'avoir à l'avane une idée omplète de e que sera le système après sa réalisation. On ne pourra le onstater qu'une fois le produit fini et testé au bout d'une ertaine période. Ainsi, le développement doit être guidé non seulement par des aspets théoriques mais La rêériture typée telle que nous allons la définir onsiste en une généralisation de la réériture (au sens lassique en informatique théorique).
158 5.3. Choix du langage de programmation Pas tie 3 aussi par les problèmes que l'on renontre au ours de la réalisation. Les avantages que présente ette méthode de oneption peuvent être énumérés en six points essentiels: on peut donner forme aux objetifs initiaux exigés dans le produit final; on peut déteter des objetifs manquants; on peut déteter des fontions manquantes; on peut simuler les fontions diffiilement atteignables; on peut déouvrir des inohérenes au ours du développement du prototype; le prototype peut servir de spéifiation pour le développement du produit final. 5.3 Choix du langage de programmation Nous pensons que le hoix d'un système quelonque de alul formel omme langage de programmation pour réaliser un logiiel permettant la représentation des onnaissanes algébriques et équationnelles revient à privilégier un mode de ommuniation Homme-Mahine. Le développement informatique d'une méthode de représentation des onnaissanes équationnelles sous une forme délarative -ou algorithmique- à travers le langage d'un système, aussi puissant soit il, présente toujours l'inonvénient de onditionner la façon de penser du programmeur -dans la résolution d'un problème mathématique donné- aux impératifs de représentation des onnaissanes dans le système en question. Ainsi, e hoix n'est pas neutre puisqu'il préjuge de l'effiaité de représentation de es onnaissanes (définition des types, algorithmique de résolution d'un problème... et). En réalité, un prototype peut être érit dans n'importe quel langage de programmation et, de e fait, dans les problèmes qui se rattahent à la onnaissane, on préfère généralement l'exprimer dans un langage prohe du langage naturel et, surtout, un langage qui permettra de modifier failement les premières ébauhes des travaux. Dans le as qui nous intéresse, nous avons hoisi de prototyper notre système dans le langage Lisp 2. Ce hoix se justifiait, non seulement pare que la solution que nous préonisions onerne la manipulation symbolique de l'information, mais enore, pare que la struture interne de Lisp (basée sur des listes) est très prohe de la struture d'arbre (représentation abstraite des termes). 5.4 Modèles de représentation des onnaissanes Le erveau humain "mahine à penser" de notre orps est tellement omplexe qu'il est impossible de dire ave ertitude omment la onnaissane y est représentée et stokée ou de dérire les fontions par lesquelles nous arrivons à exploiter ette onnaissane. Ii, nous entendons par onnaissane toute forme du savoir humain. Par ailleurs, il est ertain et évident que même dans "SURVEYOR est érit dans le dialete le lisp (version 15.24). A i U1 1 "s n. Tfai.ii" i*
159 Partie 3 Chapitre 5 LE PROTOTYPE: SURVEYOR les tâhes intelletuelles les plus simples, l'homme fait appel à des onnaissanes tellement éparses et omposées pour prendre part à une idée, trouver une ressemblane entre deux hoses, prendre une déision, démontrer un résultat...et. Ce "mouvement de reherhe" ontinu de l'esprit est trop omplexe pour être dérit par un modèle universel ou d'une manière fidèle. Cependant, on peut donner des modèles partiels qui imitent es fontions dans des as partiuliers. En I.A., il existe différents modèles pour la représentation des onnaissanes: les programmes traditionnels (la représentation proédurale), les automates finis, les bases de données, les réseaux sémantiques et Frames, les représentations logiques, les systèmes de réêritures, les spéifiations formelles, les règles de prodution. Les tendanes atuelles en LA. s'orientent vers la oneption de systèmes qui autorisent simultanément différents types de représentions des onnaissanes et de raisonnements dans le but de mieux reueillir, traduire et traiter la onnaissane. 5.5 Programmation traditionnelle Nous entendons par programmation traditionnelle (anglais: traditional programing): l'ensemble des ativités orientées vers la oneption, la réalisation, le test et la maintenane des algorithmes érits dans un langage de programmation donné. La programmation traditionnelle n'est souvent utilisée en LA. que pour l'ériture du système de ontrôle. Mais, elle est rarement utilisée pour représenter des onnaissanes -souvent délaratives- vu sa faiblesse à struturer les données et sa lourdeur de mise en œuvre. Cette diffiulté vient du fait que es onnaissanes ne sont généralement pas suffisamment laires pour être dérites à l'avane. 5.6 Réériture La réériture onerne tous les aspets de la manipulation symbolique de l'information. Elle onsiste en la transformation syntaxique des expressions exprimées dans des spéifiations équationnelles. Dans la suite nous entendons par spéifiation équationnelle un ensemble d'axiomes équationnels. Exemple La spéifiation équationnelle dérivant les aluls dans un groupe G, dont la loi de omposition interne "*" est notée multipliativement et l'élément neutre est noté e, peut être formulée sous la forme de six équations:
160 5.6. Réériture Partie 3 x * e x ; e* x = x x * x e ; x" 1 *.T = e (x * y) -1 = y -1 * i" 1 ; (x*y)*z = x * (y * z) Si la loi "*" est ommutative, la spéifiation équationnelle du groupe G devient alors: x * e = x i x * a;" 1 = e (x*y)~ 1 = y~ x * x" 1 ; (a; * y) * 2 = x * (y * z) x * y y * x 5,6.1 Termes Pour introduire le adre formel de la notion des termes du premier ordre nous allons onsidérer Cette figure shématise les axiomes i) et ii) qui définissent a onstrution des termes de X(E,i?) sur l'alphabet S et l'ensemble des variables -d. Dans ette figure So désigne l'ensemble des onstantes (symboles de fontions d'arité égale à 0) et S' désigne l'ensemble des symboles de fontion d'arité non nulle (i.e. S = L" U s et E' n So =0 ). Fig. 5.1: Constrution des termes deux ensembles: Un ensemble S de symboles de fontions. 143
161 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR Un ensemble ß de symboles appelés variables, et une appliation ar : E * N. L'image ar(f) d'un symbole de fontion est dit arité de f. Définition 5.1 Totti terme est formé par l'appliation des deux axiomes suivant: i) Les onstantes et les variables sont des termes. ii) Si f E S est un symbole de fontion d'arité n et si ti,t2,-,t n f(h,h,-"ytn) est un terme (on onsidère ii la notation pré-fixée). sont des termes alors On notera, dans toute la suite de et exposé, T(S,i?) l'ensemble des termes onstruits sur l'alphabet SUi? Arbre étiqueté - Sous-terme Soient une appliation t de N* (ii N* est onsidéré omme étant l'ensemble des mots onstruits sur l'alphabet N\{0} par l'opération de onaténation) dans SUi9 et OU) son domaine de définition. Alors t est appelé arbre étiqueté sur S U d, si et seulement si: Le mot vide J e appartient à 0(t). Si p appartient à OU), alors p.i (produit de onaténation) appartient à OU), si et seulement si, 1 < i < ar(t(p)). Définition 5.2 Soient un terme t et p une ourrene de t. Le terme issu de t à l'ourrene p (noté t/ p ) est défini par: t/e = t, f{h,hi " ' ' n),',.p = ti/ p Substitution - Filtrage - Unifiation On peut définir le remplaement du sous-terme à l'ourrene p d'un terme t par un terme t'. De point de vue méanique (au sens mahinal du terme), e remplaement peut être regardé omme une suession de deux opérations subordonnées: effaement du sous-terme t p de t à l'ourrene p, greffage du terme t! à l'ourrene p (ourrene libérée à l'étape préédente). Cette opération peut être formalisée omme il suit: Définition 5.3 Considérons deux termes t et t' de TÇ,d) et p une ourrene de t. par remplaement de son sous-terme à l'ourrene p par t' et que l'on notera dans la suite t[p * t'} est défini par: t[e < t 1 ) = t', 3 Attention, il ne faut pas onfondre la alligraphie du mot vide e et elle de l'unité duale e.
162 5.6, Réériture Partie 3 * /(ti, Í2, ' ", t n )[i.p * t<) = /(ii, i 2l, U]p ^~ t'],, t n ). Ainsi, dans la suite, l'ensemble des variables d'un terme t r(e,) peut être défini impliitement par: ou indutivement par: { 0 V t = {x -d/3pg 0{t) tel que i /p = x) (Eq.5.1) si í est un terme los {x} si t = x est une variable de i? (Eq.5.2) lî.uv^u-uvt, SÍ í = /(íl,í2,"-,ín) Définition 5.4 On appelle substitution toute appliation a de $ dans T(E,i?) fei/e g«e son ensemble de définition est défini par: dom(a) = {x G i}/a(x) ^ x} soit fini. Proposition 5.1 Considérons une substitution a. Il existe un unique prolongement à à T(E,$) qui vérifie pour tout symbole de fontion f (ave n ar(f) et pour toute suite tj, t%, -, t n de termes de T(E, i9): i.e. tel que â soit un endomorphisme de TÇE,^). Preuve : Hf(h,t2, -,««))= f(hh), â(t 2 ),, â(t n )) Supposons qu'il existe deux prolongements de a notés êi et <T2 tels que: f ai(/(íi,í2, -,*n)) - /(Ô-l(Îl),Ô-l(* 2 ),,*l(fn)) 1 *2(/(íl,Í2,---,ín))= /(<5-2 (íl),fj2(í2),---,<t2(ín)) Il faut montrer que pour tout terme t G T(E,i?): Ô- 2 (i) = Ô-i(t) (Eq.5.3) Nous allons montrer e résultat par réurrene sur la longueur t du terme t: * si t est un terme de longueur f = 1, alors deux as se présentent: o í =, est une onstante de S, alors: ^() = ô"i(), o t = x, est une variable de 1?, alors: <72(:r) = (a;) = âi(x), * soit m > ], supposons que la relation (Eq.5.3) soit vérifiée pour tout terme de longueur \t.\ < in et montrons que ela reste vrai si \t\ m + 1. Considérons alors un terme t tel que fj = m + 1, alors il existe un symbole de fontion / et n termes t\,t-2,,t n (où n ar(f)) det(e,ij)telsque: t= /(*i,i 2,-,««) Alors: â 2 (t) = ffaihlàifa),---,^^)) or pour tout i G [l..n]: jr,- < f 1 ~ m, don par hypothèse de réurrene: &2{U) = ô"i(^)- Ce qui montre la relation (Eq.5.3) pour tout terme de longueur m + 1. ri45~i
163 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR C.Q.F.D. Dans la suite aussi bien une substitution u que son prolongement à T(S,iî) seront représentés par le même symbole a. Par ailleurs, l'ensemble V a des variables introduites par la substitution a peut être défini omme la réunion des ensembles de variables des termes obtenus par instaniation de son domaine de définition: V a = U V a{x) (Eq.5.4) xç.dom.[a) Définition 5.5 Soient t et t' deux termes de T(ïï,i?). On dira que t filtre t' (i.e. t' est une instane de t), s'il existe une substitution a telle que: t' = r(f). La substitution a ainsi définie s'appelle un filtre de i vers t'. Proposition 5.2 Soient t et t' deux termes de T(E,1?) et a un filtre de t vers t'. Alors: I V t. = [V t \ dom{a)} U V (Eq.5.5) Preuve : Pour montrer l'égalité (Eq.5.5), il suffit de montrer la double-inlusion équivalente: D'une part, il est lair que d'après la définition de i': V t \ lom(a) C Vf et V a C Vf. D'autre part, soit x Vf, alors deux as: o i V(, or omme t' = a{t). x V t \ dom(r). o xfp. V t, alors x provient de la substitution des variables Vf D dom(a), i.e. x V. C.Q.F.D. Définition 5.6 Soient t et t' deux ternies de T(2,i9). On dira qu'ils sont unifiables, s'il existe une substitution <j telle que: r(t) = o~(t'). La substitution a ainsi définie s'appelle un unifiateur des termes i et i' Systèmes de réériture Lorsque la onnaissane relative à une théorie est exprimée par un ensemble d'équations E = {gi = di/gi,di T(E,1?), i l.-iv}, la théorie de rééiïtuve onsidère es équations omme des règles de rédution orientées de la forme g t d,- ou d * g,-. L'ensemble R de es règles de réériture est alors appelé système de réériture induit par la spéifiation équationnelle E. Définition 5.7 Soient R un système de réériture et deux termes t, i' T(E,'iS). Nous dirons que t se réérit en t' et on note t ' a t', si il existe une règle g d de R, une ourrene p de t et une substitution a telles que:! 24<n
164 5.6. Réériture Partie 3 a filtre g (terme membre-gauhe de la règle g * d) vers le sous-terme t p à l'ourrene p de t. t' soit le résultai du remplaement de son sous-terme à l'ourrene p par l'instane de d (terme membre-droit de la règle de réériture g d) par a. Lorsqu'un terme t se réérit en un terme t', on dit aussi que t se réduit en t'. s'érire, sous forme relationnelle, dans le formalisme que nous avons défini jusqu'ii: Cela peut i /p = <j(g) et t'=t\p o-{d)} Soient la relation de réériture >n et ** R sa lôture reflexive-transitive sur T(E,$). En général, on dit qu'un terme t se réérit en t', si: t * R t' Terminaison et onfluene d'un système de réériture Pour que la réériture d'un terme au moyen d'un système de réériture soit orrete, il faut qu'elle aboutisse à une forme irrédutible au bout d'un nombre fini de transformations (propriété de terminaison) et que deux termes égaux dans la spéifiation équationnelle E se réérivent en un même troisième terme (propriété de onfluene de Churh-Rosser). Définition 5.8 Un terme t de T(S,i9) est dit en forme normal ou irrédutible, s'il n'existe pas de terme t' ÉT(S,IS) tel que: t > R t'. Un terme t' est dit forme normale d'un terme t, si t se réérit en t' et t' est en forme normale. Il est lair que si un terme possède une forme normale, elle-i n'est pas néessairement unique. Définition 5.9 Considérons un système de réériture R. On dit que R est nœtherien ou que»h possède la propriété de terminaison fini, si pour tout terme t de T(E,i9) il n'existe pas de dérivation infinie: t = ti *R Î 2 *R *R t n >R Cela signifie que lorsque la relation de réériture *R possède la propriété de terminaison fini, tout terme possède au moins une forme normale. Définition 5.10 Etant donné un système de réériture, la relation >R est dite: onfluente en t, si: [ytx.ia T(S,i9) : t +* R tj. et t -^* R t 2 ] => [3f e T(E,I?) : ii R t' et h R t 1 } loalement onfluente en t, si: [Vi l5 r 2 G T(S,i9) : t + R h et t» fl t 2 ] =» [3f G T(E,i?) : h ^R t' et t 2 ^* R t'} fortement onfluente en t, si: [VÍ!,Í2 r(e,0) : t + Ä ii et t > Ä Í 2 ] =» [3í' T(E,i?) : h» fl t' et f 2 ~^R t'} _ii2j
165 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR Un système de réérîiure R est dit onfluent, loalement onfluent ou fortement onfluent, si la relation >R assoiée est respetivement onfluente, loalement onfluente ou fortement onfluente pour tout terme de T(.1?). En général, la propriété de onfluene n'est pas vérifiée par une représentation équationnelle. En ajoutant de nouvelles équations déduites des règles de réériture dont les termes gauhes se superposent (i.e ils "hevauhent") et en orientant es équations, la proédure de Knuth-Bendix [D.E. Knuth k P.B. Bendix [KNUT-70]] permet alors de onstruire dans ertains as un système onfluent [J.P. Jouannaud & E. Kounalis [JOUA-86], N. Dershowitz & J.P. Jouannaud [DERS-89JJ Ordre de rédution Définition 5.11 Soit y un ordre sur l'algèbre T(S,i?). On dit que y est un ordre de rédution, s'il possède les propriétés suivantes: y est bien fondé. C'est à dire, qu'il n'existe pas une suite infinie de termes telle que: íi >- t-2 y y t n y >- possède la propriété de ompatibilité, i.e.: v/ e E', VÍ 1( Í 2 e T(,tf) : ii y t 2 = /( -, ti,...)>-/(..., Î 2,..) >- est stable par instaniation. i.e. pour toute substitution a : Vii,i 2 6 T(E,i?) : i >- 2 ==> ff(ii) y <r(t 2 ) 5.7 Réériture typée Dans e paragraphe, nous allons définir le adre axiomatique et forme! de l'idée de base qui va nous servir pour représenter la onnaissane dans le système SURVEYOR et le modèle de son alul symbolique. Ainsi, dans désormais, on ne onsidère plus une réériture d'un terme à partir d'un seul système de rèériture, mais à partir d'une suession de systèmes de réériture. Définition 5.12 A r ous appelons réériture typée, sur l'algèbre T(S,iî). la donnée: d'un ensemble fini!h de N systèmes de réériture notés {RÍ)Í=I..N, d'un ensemble 21 {Ai, Ai,, AN} de N éléments, dits attributs de réériture, muni d'une relation d'ordre partiel strite < ave premier élément; 'est à dire, telle que: Vi e [2..N] : Ai < Ai d'une appliation d'attribution bijetive att définie de ÜH dans 2Í. D'un point de vue formel, du fait que nous avons supposé l'appliation att bijetive, nous aurions pu définir la rèériture typé seulement à partir d'un ensemble partiellement ordonné ave premier élément (pour ette relation d'ordre partiel) de systèmes de réériture. Mais pour des raisons de larté de l'exposé nous préférons la définir à partir du triplet T = (9^,31, ait). [Tis
166 5.8. Arbres - Représentation des termes dans SURVEYOR Partie 5 Définition 5.13 Nous dirons que le terme t se réent en t' pour la rêêriture typée T = ( H, 21, ati), et on 1 érira t y t'', s'il existe un sous-ensemble F = {Ai,,Ai 2,,Ai n } totalement ordonné de 21 (les Aij sont supposés être donnés dans l'ordre roissant) et n termes ti,tn,,f n +i e r(s,i3) tels que: A {l Ai 6 F, Vje[l..n]: Ru = att^iaij, i = í et t n -)-i = í, V? G [ï..n] : tj ^. ; < i+ i. Lemme 5.3 Z?ons le os ou H esi un singleton, on retrouve la réériture au sens lassique. 1 Preuve : En effet, dans e as préis F est également un singleton et F = ÍH. La réériture typée se présente ainsi omme une généralisation de la réériture lassique. Théorème 5.4 Une réériture typée possède la propriété de terminaison finie, si tous ses systèmes de réériture subordonnés sont nœthériens. Preuve : En effet, si tous les systèmes de réériture subordonnés à une réériture typée 'X sont 'X nœthériens, alors, lors de la réériture t t', la réériture de tj en fj + i se fait au terme d'un nombre fini d'étapes rey pour tout j G [l..n] (où n est le ardinal de l'ensemble F assoié à la T réériture t t'). La réériture typée de t en t' s'effetue don en 2. n j étapes. Ce qui montre i=i que la réériture typée possède la propriété de terminaison fini, A 5.8 Arbres - Représentation des termes dans SURVEYOR Lorsqu'on doit érire un système informatique basé sur la onnaissane, il est lair que l'isomorphie entre la représentation interne des objets manipulés et leur représentation externe permet une luidité indéniable du proessus de raisonnement. Ainsi, nous avons hoisi d'exprimer les termes dans le système SURVEYOR par une représentation relativement omplexe puisque nous onsidérons des arbres et non seulement des haînes de aratères. Définition 5.14 Un arbre est. un ensemble fini partiellement ordonné qui vérifie les deux axiomes suivants: i) Il existe un élément plus petit que tous les autres appelé raine de l'arbre, ri) Les minorants de tout élément forment un ensemble totalement ordonné. I 149 I
167 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR Don, les suesseurs d'un nœud (i.e. élément de l'arbre) sont des nœuds plus grand. De plus, si l'on munit haque nœud d'une relation d'ordre totale sur l'ensemble de ses suesseurs, on obtient un arbre ordonné 4 [Fig. 5.2], Le système SURVEYOR manipule des relations et des expressions sous forme d'arbres étiquetés. Un arbre étiqueté est onstituer de nœuds omportant haun une étiquette qui désigne une information atomique (i.e. onstante). A haque nœud sont reliés, par un ertain nombre de Representation Parenthese? ((sin(x)+(y**5))h0.5*((3*x)+((5*y)+3)))) / / sin i X / * 0.5 / \ - v 5/* / Représentation par un arbre enquête Les deux représentations i-dessus de l'expression mathématique si«+ y (3.x + 5 y + 3) sont équivalentes. Fig. 5.2: Représentations d'une expression mathématique 'branhes", autant de nouveaux arbres que néessaires. Ainsi, la struture d'arbre peut représenter toute sorte de onnaissanes. Plusieurs raisons justifient le hoix des arbres omme struture de données: Leur utilisation est à priori indéterministe. Leur apaité de représenter des informations omplexes, sous une forme organisée hiérarhiquement. 4 C'est exatement ette idée que nous avons utilisée le parours de l'arbre topologique d'un système artiulé de façon à pouvoir établir des modèle itératifs [Chapitres 3 et 4j. \~Ï5Ô~\
168 5.9. Formalisation de l'affetation forestière Partie 3 La simpliité de leur manipulation informatique. La rigueur du formalisme algébrique qui les représente. La lisibilité inomparable de leur représentation sous forme graphique. Malgré tous es avantages, leur maniement (onaténation, substitution,...et) n'est pas toujours faile. C'est pourquoi, dans la pratique, il est très important d'employer une notation parenthésée dans laquelle tout arbre est odé sous forme d'une liste entre parenthèses 5. La représentation des termes peut se faire alors à l'aide d'expressions parenthésées qui ontiennent des variables 6 qui peuvent éventuellement pointer vers d'autres termes qui à leur tour portent sur des variables et ainsi de suite. Un arbre qui ontient des variables représente une infinité d'arbres possibles selon les valeurs que l'on donnera à haune de ses variables. Ainsi, la forme générale de l'arbre est fixée mais son arhiteture exate va dépendre des valeurs que vont prendre ses variables. Lorsqu'on fixe les valeurs des variables d'un terme donné, on peut aluler sa valeur en remplaçant haque ourrene de haune des variable par sa valeur. Nous appellerons ette l'affetation qui permet une telle transformation syntaxique "affetation forestière" [Fig. 5.3], 5.9 Formalisation de l'affetation forestière Attirons tout d'abord l'attention du leteur sur le fait que le remplaement d'un sous-terme d'un terme à une ourrene donnée et l'affetation forestière sont deux aspets différents différents de la substitution. Elle orrespondent, en effet, à deux opérations différentes sur les termes. Ainsi, elles seront notés différemment dans la suite de e hapitre. Définition 5.15 Soient í,íi,í2,,in> n + 1 termes de l'algèbre T(E,t?) et x\,x2,,x n, n variables distintes de i?. Nous appellerons affetation forestière du terme t pour les valeurs des variables xi.x-2,-,x n prises suessivement égales à t\, 2,,f n, le terme résultat de la substitution de t-i à haque ourrene de la variable x pour i Ç. [l..n]. En d'autres termes une affetation forestière t pour les valeurs des variables xi, 2, -, x n prises suessivement égales à t u t 2,, t«, est le résultat d'une substitution a telle que: son domaine de définition est: dom(o) = {xi,x?,,x n }, a filtre les variables xi. a.'2,, x n vers les termes t\, t- y -, t n respetivement. Ainsi, le terme résultant d'une telle affetation sera noté dans la suite: t[x\ * íi, a'2 * Í2T - ' 1 n * t n ] 5 C'est l'une des raisons qui ont motivé notre hoix du langage Lisp pour l'ériture du système SURVEYOR. 6 C'est à dire des objets dont la valeur n'est pas spéifiée.
169 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR sin 0.5 x y 5 \ / \ / \ 3 x * 3 5 y Affetation forestière x:=9 y:=(a+5) V / \ sm ; \ ! / \ / I 9 V / \ / \ a 5 \ a 5 Cette figure représente la transformation syntaxique assoiée à une affetation forestière. Toutes les ourrenes des variables x et y sont remplaées par leurs valeurs respetives dans l'affetation forestière. Cette affetation onsiste à substituer les ourrenes de la variables en "greffant" leurs valeurs, autant de fois que néessaires, sur l'arbre. Cette "greffe" peut avoir la forme d'un atome ou d'un arbre. Fig. 5.3: Affetation forestière Lemme 5.5 Soient t,ti,t2,,t n, n+1 termes de l'algèbre T(S,i?) et Zi,a'2,,x n etn variables distintes de &. Posons u = t[x\ ' h,x-2 * t 2,, x n ' t n ], alors: Vu = (V t \ {xi,x 2,, x }) U (J V t. B Preuve : La démonstration déoule diretement de la définition 5.15 et de la relation (Eq.5.5). Propriétés 5.6 Soient í,íi,í2i ',i«, n + 1 termes de l'algèbre T(S,i?) et :ri,a- 2,,x n et, n variables distintes de â. nous avons les quatre propriétés suivantes: (Pi) si t est un terme los (i.e. t G E*j, alors: t[xi ^ íi,x'2 ' 2, ' ' <X n < t n ] t
170 5.9. Formalisation de l'affetation forestière Partie 3 (P2) si t = x (où x est une variable de i? \ {xi,x 2,,x n }, alors: (P3) s'il existe i 6 [l..n], tel que t X{, alors: t[x\ ' ti,xo ' Í2,- ',X n ' t n ] X t[xi ^~ h,x 2 h,-,! '- i ] - U (P4) si f est un symbole de fontion d'arité ni > 1 et s'il existe u\, u 2,,u m G T(E, i?) ids que t - f(ui, u 2,,u m ), alors: t[xi ^ti,x 2 t 2,---,X n > t n ] = f(vi,v 2,---,V m ) où Vi UÍ[XI h,x 2 t 2,,x n *- t n ], Vi e [l..m]. Preuve : La démonstration de es propriété déoulent diretement de la définition de l'affetation forestière et de la proposition 5.1. Lemme 5.7 Soient t,t\,t 2t -,t n, n + l termes de l'algèbre T(S,iî) et xi,x 2,,x n, n variables distintes de d \ Vt (où V t représente l'ensemble des variables qui apparaissent sur les nœuds de l'arbre du terme t) : t'[xi h,x 2 t 2,,x n -- t n ] = t. i Preuve : Elle déoule par indution sur t, à partir des propriétés (Pi) et (P2). Maintenant onsidérons 6 ni l'ensemble des permutations de l'ensemble [l..n]. Théorème 5.8 Pour toute permutation a 6, on a: t[x\ <~ti,x2 "- t 2,,X n ' t n ] [^ (i) " í (T (l),x 1T (2) "- t<r(2), " " i ^o-(n) " *<r(n)] Preuve : La démonstration de e théorème peut être faite en omposant une réurrene sur la longueur du terme t par une indution sur t. En effet: si \t\ 1, alors, trois as: (a) t est un symbole de onstante, don: t[x 1 < 1,22 " t 2,-,X n ^~ t n ] = t t[x ^ * í< r (l),.t (7 (2) J ~ *<T(2)I ' ' " > x a(n) '~ f ff(n)] ompte tenu de la propriété (Pi). (b) t = x est une variable distinte de i'i,x 2,,x n, alors: t[xi < ti,x 2 *- Í2,,X n < tn] = X - t[x a (i) <~ ÍCT(1),1V(2) "~ *<T(2)I " " " > ^(n) "~ t-a(n)} ompte tenu de la propriété (P2). VÏ53 1
171 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR () il existe i 6 [l..n], te! que, t = x, alors: ompte tenu de la propriété (P3). supposons maintenant que le théorème est vérifié pour toutes les valeurs de jij inférieures ou égales à m (1 < \t\ < m) et montrons qu'il le reste pour \t\ = m + 1. Don il existe un symbole de fontion / et m termes ui,u2,,u m Ç. T(E,i?) tels que: t = /(ui,u 2l - ', 0 don, d'après la propriété (P4), on a: í[xi h,x 2 '-Î2,"- i ïn 4 - În] = f(vl,v 2, -,V m ) OÙ Vi = tt [a;i íi, X2 * 2v -, x n " t n ], Vl Ç. [l..m]. Or, VÎ G [L.TO] : 1 < u < f 1 = m, don d'après l'hypothèse de réurrene: V [l..m], Ver G 6 n : u - < où vf = Ui[x aw f^ij,^^) <- i ff (2), ',^<r(n) *~ ^(n)] i.e. ompte tenu de la propriété (P4): t{xi '~h,x 2 t 2,---,x n ^~ t n ] = /«,i/f,---u^) = t[ x a(l) * i r(l)! 2 ; 0(2) "- t <7(2)i ' ' ',X<r(n) "~ *a(n)] C.Q.F.D. Définition 5.16 Soient i,íi,í2, " (inj «+ 1 termes de T(E,$) ei xi, X2,-,x n, 2/1,1/2, -/ /m; m + n variables distintes de d. Nous dirons que les variables yi,y 2,, /m -soni lî&res dans l'affetation forestière u t[x\ " fi,x2 ^~ Í2)'''i-i r n ' in],- s ^s variables yi, 1/2,,y m ne figurent pas parmi les variables introduites par ette affetation, i.e.: n {2/1,3/2,, y m ] n [j v t, = 0 (Eq.5.6) --=1 Théorème 5.9 Soient i,«i,ît2, ',u n, vi,i<2,,v m, m + n + 1 tenues de l'algèbre r(e,i?) ei xi,xo,,x n, 2/i,î/2,, Um; m + n variables distintes de "d. Si les variables y\, y 2., y m sont Ubres dans l'affetation forestière u t\x\ * îii, x 2 * u 2,--, x n u n ], alors: t[xi u 1,x 2 <-u 2,---,x n ' u n \[yi v u y 2 i> 2,-,y m "~ v m ] = i [ i «i, x-2 u 2t, x n <- u n, yi *-vi, y-i <- v 2,, y m -~ v m ] I Preuve : Proédons enore par indution sur f: Si ]i = 1, alors, il faut envisager 3 as possibles: f 154 1
172 5.20. Regles de prodution Partie 3 (a) si t est un symbole de onstante ou une variable distinte de x\, x 2,, x n, y-, y 2,, y m, d'après le lemme 5.7: t[xi -- ui,x 2 <-- u 2,, *-u n ][yi *~fi,j/2 *- V2,---,y m ' v m ] t- t[xi *- u u x 2 i -«2r,, >in'- u n,yi - v u y 2 "-v 2,-,y m - v (b) s'il existe i [l..n], tel que, t = Xi, alors ompte tenu du fait que 2/1,3/2,,y m soient des variables libres dans l'affetation forestière t[x\ 1 ~ U\,x 2 ^~ «2,,x n " u n ]: t[xi ^ui,x 2 «2,"-,i n *- u n ][yi <- vi,y 2 <-v 2,---,y m *- v m ] = Ui[yi ^-Vi i y2*-v2,---,ym'- V m } = Ui = t[xi U\,X 2 *-U 2,---,Xn. *~ U n, Vi '~V 1,y 2 V 2,---,y m ^ V m ] () s'il existe i S [l..m], tel que, t = yi, omme les variables xi,x 2,,x n,yi,y 2,-,y m sont distintes et ompte tenu du lemme 5.7: t[xi ui,x 2 <-U2,---,x n *-v. n ][yi <-vi,y2 ^~ v 2,---,y m w m j = t[yi *- vi,y 2 *~ V2,,y-m - v m ] = Vi = t[xi i -1il,l2 ± -!l2,, ">In'- «n, 3/1 " V1, y 2 ^~ V 2,---,y n ^~ V m ] nous supposerons par réurrene que le théorème est vérifié pour tout terme t de longueur inférieure ou égale à l (i.e. 1 < fj < /) et montrons qu'il le reste à l'ordre ij = l + 1. En effet, omme \t\ > 1, il existe un symbole de fontion / et s termes wi,w 2,,w s tels que: réurrene, pour tout i G [l..s]: ) ave 1 < \u)i\ < l pour i [l..s\. Ainsi, d'après l'hypothèse de Wi[xi u u x 2 <- u 2,---,x n *- u n }[yi * Vi,y 2 *- v 2,---,y m *- v m \ = WiïXi < Ui,X 2 " «2,-,Xn ^~ U n,y! *- V\,y 2 ^~ V 2,-,Vm V m ] e qui ahève la démonstration. Ainsi, la réalisation d'un système d'intelligene artifiielle dans ette représentation suppose néessairement: Une implementation partiulière des prinipes généraux du traitement des arbres. Un ontrôle partiulier du proessus de réériture, tel qu'à tout instant, le hoix de la règle de réériture (à "armer" ) soit en fontion de l'état atuelle de la rédution du terme Règles de prodution Les règles de prodution sont des parelles de onnaissanes de la forme: Si ondition Alors ation C'est à dire si les prémisses (i e. ondition) sont vérifiées alors une ation (i.e. ation) peut être délenhée. Ainsi exprimée, la onnaissane est représentée de manière purement délarative et par la suite: la onnaissane d'une part et le système de ontrôle qui permet son exploitation d'autre part peuvent être totalement indépendants (e qui n'est pas le as dans les desriptions algorithmiques traditionnelles). Au ours de l'exéution, une règle de prodution dont la partie ondition est satisfaite peut être ativée par l'interpréteur SURVEYOR. i 55 O ti
173 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR 5.11 Arhiteture du système SURVEYOR Comme tout système à base de règles, le système SURVEYOR essentielles: se ompose de trois parties La base des faits. La base de onnaissane. Le moteur d'mférene. Nous nous proposons maintenant de dérire l'arhiteture du système SURVEYOR, de représentation des onnaissanes et son mode de ontrôle de ette onnaissane. son modèle Base des faits La base des faits du système SURVEYOR est une liste (représentation Lisp d'un arbre étiqueté) qui représente le terme en ours de rédution. Il s'agit d'une mémoire de travail aratérisée par un arbre qui s'enrihit de faits nouveaux (i.e. transformations syntaxiques) déouverts par le méanisme de raisonnement jusqu'à e que elui-i parvienne à une solution. Lorsque le méanisme de raisonnement parvient à un terme irrédutible la base de fait est remise à zéro (i.e. liste vide) Base de onnaissane La base de onnaissane présente la mémoire à long terme d'un système d'intelligene artifiielle. Dans le as du système SURVEYOR, elle dérit le savoir faire opératoire des règles de réériture et elle se ompose essentiellement: D'un ensemble de systèmes de réériture assoiés à des statuts de transformation différents. Chaque système de réériture se ompose d'un nombre de shémas de règles de réériture odées sous forme de règles de prodution struturées. C'est à dire, haune des règles est représentée par un ensemble de hamps [Fig. 5.4]: o Le nom de la régie: il permet, au système de ontrôle de reonnaître une règle parmi les autres. o Le statut de transformation: spéifiant le ontexte général qui néessite F ativation de ette règle, Conformemment à la partie théorique de et exposé, il faut noter que lorsqu'il s'agit d'une règle de réériture le statut de transformation n'est autre que l'attribut de réériture assoié au système de rêériture (subordonné à la réériture typée) dans lequel elle est onsidérée. La tehnique d'attribution d'un statut de transformation aux règles va permettre au système de ontrôle de SURVEYOR une meilleure effiaité de la résolution de onflits. En effet, ela va lui permettre de limiter le nombre de tentatives infrutueuses au ours de haque yle d'mférene. En outre, il permet de prendre en ompte les onnaissanes des onepts profonds (réériture typée et onnaissanes heuristiques) sur lesquels se base le raisonnement et d'éviter au système la O :tl KK"; lïnlwlifb
174 5.11. Arhiteture du système SURVEYOR Partie 3 Objet: Règle de reeriture Nom:.. Statut: Premisses: Ation: Une règle de réériture se présente sous la forme d'un objet struturé dans le système SURVEYOR. de réériture est odée par un ensemble de quatre hamps: Nom, Statut, Prémisses et Ation Chaque règle Fig. 5.4: L'objet: Règle de réériture non-terminaison du proessus de réériture. En effet, des règles de rééritures suseptibles d'amener le proessus de réériture à diverger peuvent être lassées ave des attributs de réériture différents. La propriété de terminaison fini est alors assurée sous les hypothèses du théorème 5.4. Exemple Des règles inverses telles que: Ri : f(x 1,---,x n ) *g(x 1,---,x n ) R2 g(xi,---,x n ) > f(xi,---,x n ) j peuvent être utilisées pour la réériture d'un même terme ave des attributs différents A\ et Ao. Bien entendu, à es deux attributs peuvent être assoiées d'autres règles tant que les hypothèses du théorème 5.4 sont vérifiées. o Une partie prémisses: traduisant la ou les onditions élémentaires immédiates qui permettent le délenhement de la règle. Ces onditions sont représentées par un prédiat qui permet de tester si le membre gauhe de la règle de réériture s'identifie à un terme de la base des faits. Cette méthode de représentation des règles va permettre non seule- 157
175 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR ment de représenter des règles de rêériture simples, mais aussi des règles de réériture onditionnelles. C'est à dire des règles de la forme: Si ond(vg) Alors g > d où oud est un prédiat qui porte sur l'ensemble des variables V g du membre gauhe g de la règle g d. Exemple Cela permet de prendre en ompte des règles de la forme: Ri R, si x ~ 0 alors /(x) + glx) : si x ^ 0 alors f(x) h(x) o Une partie ation: qui permet de transformer syntaxiquement l'arbre identifié au membre gauhe de la règle de rêériture. Cette transformation est dérite par le membre droit de la règle en substituant les ourrenes de haque variable par la valeur issue de l'appariement (anglais: patern mathing) des variables du membre gauhe de la règle de réériture au sous-termes de l'expression mathématique en question. Des règles qui permettent de passer d'un système de réériture à un autre. Ces règles sont en fait des méta-règles, puisqu'elles portent sur des heuristiques qui traduisent une métaonnaissane Codage interne des règles A titre d'exemple, la règle de réériture (x\ + *2) + (î/i + *ï/2) * (1 +3/1) + * (^2 +2/2)1 qui permet d'opérer syntaxiquement la somme de deux nombres duaux, peut être odée dans le système SURVEYOR sous différentes formes: Implementation semi-délarative: e premier mode d'implémentation permet délarer ertains hamps de l'objet règle de réériture de façon proédurale. L'appellation semi-delarative signifie ii que la règle est délarée sous forme de hamps suivant un prototype bien défini: Nom: statut: <xl+eps*x2>+<yl+eps*y2> --> <xl+yl>+eps*<x2+y2> dual_number Prémisses: (add_duai_form left) Ation: '(+ (+,xl,yl) (* eps (+,x2,y2))) où left désigne le terme gauhe de la règle de réériture et la fontion add_dual_f orm est définie par: 158
176 5.11. Arhiteture du système SURVEYOR Partie 3 (de add_dual_form (form) (and (not (atom form)) (math '(+ (? xx) (? (dual_form xx x) (dual_form yy y) ) ) yy)) form) Cette définition se base sur la fontion d'appariement math (du système de ontrôle) et la fontion dual_f orm qui herhe à déterminer un renommage dual de l'expression à laquelle elle est appliquée. Examinons, à présent, î'implëmentation de la fontion dual_f orm qui est propre au odage de ette règle de réériture: (de ) dual_f arm (var root_ var) (and (not (atom var)) (math '(+ (?,(make..name root. var D) (* eps (?,(make..name root_var 2))) ) var ) ) où make_name est un onstruteur de nom de variables défini par: (de make.name (root num) (implodeh r (,root }num)) ) ) Le onstruteur make_name permet de onstruire de louveaux noms de variables à partir d'une raine root (haîne de aratères) et un nombre entier num. Ainsi, à titre d'exemple, à l'exéution sous le top level du dialete le_lisp:? (make_name 'x 1) = xl Cette façon de oder les règles est relativement omplexe, mais, elle présente un intérêt essentiel qui est elui de présenter les prémisses sous forme d'un prédiat. Ainsi, toute sortes d'heuristiques, relatives à l'appliation d'une règle, peuvent être dérites dans e prédiat. * Implementation délarative: le système SURVEYOR offre la possibilité de oder une règle de réériture sous une forme simple et relativement naturelle: 159
177 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR Nom: statut: Prémisses: Ation: <xl+eps*x2>+<yl+eps*y2> --> <xl+yl>+eps*<x2+y2> dual_number (+ (+ (? xl) (* eps (? x2))) (+ (? yl) (* eps (? y2)))) l (+ (+,xl,yl) (* eps (+,x2,y2))) Ainsi, la règle de réériture est odée sous une forme délarative. C'est l'interprète du système SURVEYOR qui va se harger de l'appariement de la partie prémisses qui sous ette forme n'est plus un prédiat mais une expression mathématique qui ontient quatre variables notées respetivement (? xl), (? x2), (? yl) et (? y2). Par ailleurs, le système SURVEYOR offre îa possibilité d'appliquer la règle: <xl+eps*yl>+<x2+eps*y2> --> <xi+x2>+eps*<yl+y2> dans des ontextes différents. Ainsi, à titre d'exemple, ette règle peut être appliquée ave les statuts dual_number et dual_vetor. Il suffit, dans e as d'exprimer la règle ave la suite des statuts de réériture. Cette approhe permet d'attribuer un sens sémantique à l'appliation des règles de réériture. Enfin, 'est les méta-règîes qui vont permettre d'exprimer la méta-onnaissane dérivant le passage d'un statut de transformation à un autre. Ainsi, la méta-règle permettant le passage du statut dual_number au statut dual_vetor va s'exprimer sous la forme: A r om: statut: Prémisses: dual_mimber ==> dual vetor dual_mimber (($ path)) Ation: (prog () (setq urrent_goal (return path) ) Mual_vetor) On voit bien sur ette exemple qu'une mëta-règle présente les mêmes hamps qu'une règle sauf qu'elle dérit une méta-onnaissane (ii 'est le passage du statut dual.munber au statut dual_vetor) Moteur d'inférene pour la réériture typée Lorsque nous voulons déduire d'un ensemble d'axiomes équationnels quelque propriété ou enore transformer une expression dans le ontexte définis par es axiomes, nous parourons d'un "mouvement de pensée" ontinue l'ensemble de es équations jusqu'à e que nous ne pourrons plus en appliquer auune. C'est ainsi que nous exploitons la onnaissane omputationnelle relative
178 5.11. Arhiteture du système SURVEYOR Partie 3 Statut K.-- Sous-termes forme aidée ondition meta - seletion des statuts e Ordre de réériture seletion des règles Moteur ( 'inferene Sens déroissant ' e Une fois un statut de transformation séletionné, les règles d'inférene répertoriées sous e statut peuvent ontribuer à la transformation syntaxique d'un terme. Lorsque le système de ontrôle identifie une sous-expression du terme au membre gauhe d'une règle de réériture, il délenhe la transformation dérite par ette règle. Pour e faire, le moteur d'inférene du système SURVEYOR dispose d'un séletionneur et d'un méta-séletionneur: le méta-séletionneur spéifie tour-à-tour les statuts de transformation possibles. e séletionneur spéifie si une règle examinée est déienhable ou non. Fig. 5.5: Modèle oneptuel de SURVEYOR à une théorie axiomatique. Le résultats final est atteint à travers un ensemble d'étapes intermédiaires par un enhaînement de raisonnements. Cette faulté d'avoir en soi un proédé dédutif permettant de rendre raison d'une onnaissane omputationnelle peut être méanisée. Le moteur d'inférene du système SURVEYOR est un programme hargé d'exploiter les onnaissanes et les faits pour mener un raisonnement qui intègre plusieurs systèmes de réériture. Le moteur d'inférene du système SURVEYOR raisonne sur des variables substituables tour à tour par des termes. Une telle représentation des onnaissanes qui autorise la présene de variables est dite d'ordre 1. Cette représentation onfère au système une grande puissane d'expression où haque règle représente un shéma qui résume un ensemble de règles d'ordre 0 (i.e. où n'interviennent que I J6Í I
179 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR des onstantes). Le méanisme de raisonnement de SURVEYOR est un méanisme de haînage mixte: un interprète à haînage avant pour faire de la réériture dans un ontexte défini par un statut donné, guidé par un méta-interprète à haînage arrière permettant de hanger le ontexte de réériture. Il onsiste, une fois le statut de transformation spéifié, à produire des règles de la forme: Si ondition Alors OCMQÏÎ A haque étape du raisonnement, le moteur d'inférene parours trois phases: (a) Restrition du domaine: par détetion des règles dont la partie prémisses est vérifiée (vérifiation des spéifiations onditionnelles). Notons que les règles sont disposées en vra dans la base de règles. C'est le système de ontrôle qui, en fontion de l'état de rédution du terme, va déider quelles règles peuvent être délenhées. A e stade les règles sont lassées en deux atégories de règles: les règles délenhables: sont les règles suseptibles d'être ativées à un moment ou un autre. les règles inatives: sont les règles qui ne peuvent être délenhées. (b) Résolution de onflits: séletion d'une règle parmi les andidates. En effet, lorsque plusieurs règles sont andidates à être délenhées, elles le sont à priori à égalité de hane. Pour "mener à bien" la réêriture (i.e. onvergene de la réériture), SURVEYOR offre la possibilité de dérire la priorité des règles dans une pile de priorité où les règles sont repérées par leurs noms. Cet ordre de priorité n'est en fait autre que l'ordre dans lequel le système de réériture va "fontionner". C'est ette heuristique qui permettra au système SURVEYOR de savoir le moment venu quelle règle il doit hoisir parmi les règles andidates. () Délenhement de la règle séletionnée: la struture du graphe représentant le terme en ours va être modifiée ompte tenu de la struture syntaxique du membre de droite de la règle délenhée. Mais, insistons sur le fait qu'une règle qui se trouve dans une pile à examiner de manière prioritaire n'est pas néessairement délenhable pour autant et que les priorités de délenhement des règles sont des priorités loales qui permettent par ette heuristique de lasser les règles orrespondant à un même statut de rédution les unes par rapport aux autres. Par ailleurs, le système de ontrôle de SURVEYOR est basé sur un ontrôle de la profondeur de développement. En effet, on peut avoir besoin de délenher une même règle plusieurs fois. Ainsi, le yle va reprendre, autant de fois que néessaire, jusqu'à e que le terme devienne irrédutible et atteint une forme normale. En d'autres termes, jusqu'à e qu'il ne serait plus possible de délenher auune règle de la base de onnaissane. Ainsi, lorsqu'une règle a été délenhée ave un jeu d'instaniations, le moteur d'inférene va tenter de la redélenher ave d'autres jeux
180 5.11. Arhiteture du système SURVEYOR Partie 3 d'instaniatíons jusqu'à e qu'il ne puisse plus en trouver de nouveaux. Mais une fois délenhée ave toutes les instantiations possibles, la règle est désativée. Elle ne sera réativée que si des sous-termes orrespondant à ses prémisses réapparaissent dans le terme en ours de rédution. Pour le ontrôle de la réériture, SURVEYOR offre la possibilité de dérire la onnaissane mathématique par un jeu de systèmes de réériture. A haque système de réériture, omme on l'a déjà vu, est assoié un statut de transformation par réériture. Ainsi, on peut dérire des onnaissanes heuristiques qui permettent à SURVEYOR de savoir dans quelles onditions il est intéressant de herher à appliquer les règles de tel ou tel système de réériture. Cette méthode permet au système de limiter le nombre de tentatives infrutueuses au ours de la reherhe d'une solution. Le système SURVEYOR va résoudre un problème mathématique "bien posé" par réériture jusqu'à saturation de tous les paquets de règles d'inférene. Chaque paquet ontient alors un ensemble de règles de réériture et une m et a-règle qui permet de pointer vers un nouveau statut de réériture Exemple Une méthode effiae pour la desription délarative du problème lassique de la differentiation formelle des polynômes onsiste en la donnée des règles sous forme de trois systèmes de réériture: Le système de réériture pré-proesseur: Règle pré-proesseur! : x y x + ( 1 * y) Règle prê-proesseur 2 : x * y -1 pour éviter de programmer les règles de réériture traduisant la dérivation des différenes et des quotients, qui peuvent être déduites des règles de réériture sur les sommes et les produits. Le système de réériture de differentiation: [_163j
181 Partie 3 Chapitre 5, LE PROTOTYPE: SURVEYOR >> TW rewrite rule_-<-y 3n*t-t»u> is triggered uitf> *fr& Cunsula: (d (I«<!> ~ (ix S) * 31Í x) >> working on goal: preproepasinf > Stape 2: )> Tns Metí rul«hbnße_lseb_orj,rwle6', pr&p/'qc*bslne» «differ* "tration h Sin rirffd. «Pih «press whij îhs go*] ol* the a^twst flstlon h )> Tte urr (d ((* 4 CK«D ) * I- d R&al is; preproessing se: dif <Tere»iti»te..a)«fil.iru nuls given by;!tit-»2) * HD *í " " " > Stape 3:,i! "* -"* IÜ ilk» «)> work 1 fig > Stspe 4: jt* ru s_d<u*v>/iíjt >dii/dk*dv/a* is triggered Jit n the forran s i- - HSI--2Í * 3!i) x) ="" : difítfrgrtlsts > > The reur lt» ru e_d<eermt>i":sx--^0 is íri ge -o wi if. tiie formulas na i«-- i! «i. id '.-l - (U«í) * 3fí OJ I J > Liork I ng > S W 5,»nth the fsrisul* «d l* - - ""«" (te ru i.) * : aiffffrentiat* e_d<u»n»d^~)n-du/dx-(i(«;«.ub^r 01 vd«is triggered ] )> uerklng m gos i dlffpre^tlste )J Th? reu Jts ru e_dx'dk Jl is triggsred»nth tne ÍOrnviST UPIWMÍIIIII' 4)) "(dkïl)). 0> Dans l'exemple i-ontre, e système SURVEYOR proède à la differentiation symbolique d'une fontion poiynomiale. Fig. 5.6: Session tie travail sur SURVEYOR Règle différentiationi : d(onst) dx > 0 Règle differentiation: dx dx Règle differentiation^: d(u + v) dx du dx dv dx Règle differentiation^: Règle differentiation^ : d(u * v) dx d{;u n ) dx du dv» * ii T u * dx dx + n * (u s * dx qui traduisent un système minimal de règles permettant de dérire la differentiation des fontions polynomiales. Le système de réériture post-proesseur:
182 5.11. Arhiteture du système SURVEYOR Partie 3 Règle post-proesseiiij : x 1 x Règle post-proesseur 2 : s 0 >1 Règle post-proesseur 3 : X * 1 X Règle post-proesseur : Règle post-proesseur s : Règle post-proesseur 6 : Règle post~proesseur 7 : Règle post-pwesseur n : Règle post-pwesseur 9 : Règle post-proesseur 10 : 1 * X X x * 0 i- 0 0*x > 0 x + 0 > x 0 + x - x x + (-1 * y) -î x * y > 3/ x - i-i/ pour permettre de simplifier les expressions obtenue par les règles de dérivation. Pour obtenir des arbres qui ont des représentations semblables, les propriétés de ommutativité et d'assoiativité peuvent être exploitées à ette fin en ajouttant les règles orientées suivantes: Règle équivalent^. Règle équiva]ent 2 : Règle équivalents : Règle équivalent^: onst + x x + onst (x + y) + z > x + (y + z) x * onst * onst * x x * (y * z) (x *y) * z Ces quatre règles permettent ainsi de normaliser la représentation des expressions en érivant le fateur onstant à "gauhe" dans un produit et le terme onstant d'une somme à "droite" des l'expressions mathématiques. Ainsi, à es quatre systèmes de réériture peuvent être attribués trois statuts de réériture différents. Bien entendu, les trois systèmes de réêriture peuvent être enrihis de règles de façon à e que le proessus de differentiation soit appliable à des fontions plus générales. A titre d'exemples: 1) la règle de réériture "differentiations" traduit en faite une règle de réêriture exprimée dans un spéifiation onditionnelle: differentiations.., du bi u est onstante Alors: - - dx Oils
183 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR "u est onstante' tient lieu de prédiat de premier ordre portant sur la variable u. 2) la règle de réériture "équiva/ent^" à pour effet de présenter des formes normales parenthésées telles que toute sous-expression de la forme (x + y) + z soit réérite sous la forme parenthésée x + (y + z). Cette règle permet en ontribution ave la règle "équivalent]/' de rassembler entre eux les termes numériques, Des shémas de règles de la forme: onsti + onsta > evaluate(onsti + onsta) tiennent le rôle d'évaiuateurs Observations La modélisation par des règles de réériture offre ainsi un outil oneptuel préis pour représenter une onnaissane équationnelie, mais assez général pour ne pas spéifier la manière d'exploiter ette onnaissane (desription non-algorithmique). Ainsi, on peut remarquer que: La onnaissane est organisée sous forme de modules indépendants. Les différents modules peuvent se traduire sous le format: Si ondition Alors ation o La partie ondition examine la forme syntaxique du terme en ours de rédution et instanie le as éhéant les variables du membre gauhe (partie prémisses de la représentation sous forme de règle de prodution) de la règle de réériture andidate. La règle de prodution est ainsi "armée". o Quand la partie prémisses de la règle est instaniée, les variables du membre gauhe peuvent être évaluées pour les valeurs de l'affetation forestière assoiée. Cette règle peut alors ontribuer à la rédution du terme et sa partie ation est délenhée. o Le sous-terme identifié au membre gauhe de la règle subit la transformation syntaxique dérite par le membre droit de la règle de réériture en instane. L'instaniation du membre droit par l'affetation forestière onsiste alors à remplaer toutes les ourrenes initiales des variables par les instanes orrespondantes à l'appariement des variables du membre gauhe. Chaque règle fontionne de façon indépendante et elle est délenhée dès que les variables de son membre gauhe peuvent être instaniées. La solution est onstruite de façon inrémentale, La stratégie de rédution onsiste alors à passer au but de rédution suivant dès que l'espae de reherhe du but de rédution en ours est saturé.
184 5.13. Conlusion Partie 3 Lorsque tous les statuts de rédutions sont saturés, le système rend la forme irrédutible du terme au moyen des systèmes de réêriture assoiés à es statuts et pour l'ordre de rêériture dérit par la lassifiation de priorité des règles dans leurs systèmes de réériture Conlusion Le système SURVEYOR s'avère un puissant outil de transformation syntaxique des expressions mathématiques dans des spéifiations équationneîles (i.e. réériture typée). Le prix à payer dans un tel système, lorsque la propriété de Churh-Rosser n'est pas vérifiée, est le fait qu'il ne va pas donner toutes les solutions possibles au problème. Cependant, il va donner la solution assoiée à l'ordre de réériture dérit par l'ordre de priorité de l'appliation des règles. La représentation irrédutible va différer d'un ordre de desription à un autre (selon l'heuristique définissant la priorité de délenhement des règles). Ainsi, en l'absene d'une heuristique dérivant l'ordre de priorité de délenhement des règles, on ne peut assurer la terminaison ni la onvergene de la réêriture vers une représentation optimale de la solution, mais, à une solution tout simplement. L'obstale essentiel qui interdit de trouver automatiquement une représentation optimale du problème de réériture étant elui de "l'explosion ombinatoire" des possibilités d'ordonner les systèmes de rêériture proposés pour la résolution du problème onsidéré. Ce nombre de possibilités roît de manière exponentielle. Atuellement, ette ombinatoire est un handiap auquel ne peuvent éhapper totalement les appliations en intelligene artifiielle. Ainsi, un usage judiieux de la fragmentation de la onnaissane omputationnelîe est fortement reommandé pour augmenter l'effiaité d'emploi de la réêriture typée et tirer un meilleur profit de l'usage des tehniques d'intelligene artifiielle. Cela permettra, entre autres, d'éhapper aux problèmes de l'explosion ombinatoire et de diminuer substantiellement le temps de rédution d'une expression. Enfin, la puissane d'expression de la rêériture typée permet au mathématiien (non informatiien) de réaliser, dans un système tel que SURVEYOR, de manière tout à fait naturelle des aluls algébriques dérits en grandes partie par des onsidérations théoriques et mathématiques et non plus par un odage algorithmique informatique (et par définition non mathématique). f 167
185 Partie 3 Chapitre 5. LE PROTOTYPE: SURVEYOR CUE]
186 Chapitre 6 LE SYSTEME SYMBOLIQUE: MEDUSA MF Introdution La génération automatique des équations de la dynamique des systèmes artiulés est, avant tout omme son nom l'indique, l'automatisation du proessus d'obtention du ode dérivant le omportement dynamique de tels systèmes. En vu d'automatiser l'obtention des équations du mouvement, les premières études eurent pour but la génération de programmes en ode Fortran pour la résolution de différents problèmes liés au omportement des systèmes artiulés. Rapidement plusieurs logiiels furent réalisés [R. Sturges[STUR-73], W. Khalil [KHAL-78], J.Y.S. Luh [LUH 81], M.G. Aldon [ALDO-82]]. Plus tard, la fasination des ingénieurs et herheurs (en dynamique des systèmes artiulés) par les logiiels de alul formel, les a amené á développer un nombre d'outils sur la base de es systèmes informatiques [J. Wittenburg & U. Woltz [WITT-85], Ch. Garnier [GARN-90]]. En effet, la représentation mathématique du omportement dynamique des systèmes artiulés, nous le savons tous, ne se réduit pas à la manipulation des données numériques. Avant tout, elle herhe à étudier les propriétés qualitatives du mouvement de tels systèmes. L'utilisation des logiiels de alul formel a introduit alors de nouvelles options pour le traitement des équations du mouvement: t Exploitation numérique des expressions formelles pour des valeurs numériques des paramètres symboliques du modèle [Annexe B]. Exploitation symbolique des expressions formelles [Annexes B et CJ: o transformation des expressions ave moindres efforts de programmation [Chapitre 7], o simplifiations et développements formels de différentes sortes: trigonométriques, polynomiaux, algébriques,...et [Annexe Cj, o dérivation formelle, intégration formelle, linéarisation,...et, o génération automatique de odes symboliques optimisés: Fortran ou C [Annexe C]. 169
187 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 Mais à oté de es avantages, l'utilisation lassique des logiiels de alul formels omporte Pour explorer Mars (projet Mars 2000), e groupement robotique d'intervention sur ite planétaire (regroupant le CNRS, le CEA, l'inria et PONERA) développent un robot intelligent sur quatre roues motries. Puisqu'il faut quarante minutes aux ondes életro-magnétiques pour faire l'aller-retour (Terre-Mars) le robot devra être apable de prendre seul des déisions. Ce robot sera équipé d'une amera laser, il devra reonstituer le relief par mesures multiples. Des apteurs internes (gyromètre, aéléromêtre) et tatiles ontrôleront le robot [Le Journal du CNRS - N 30 (Juin 1992)]. Fig. 6.1: Robot intelligent autonome dans un environnement variable ertains inonvénients et se fait en général au détriment d'autres formes pratiques de la représentation des équations du mouvement. En effet, un grand nombre d'appliations robotiques néessitent une struturation itérative du modèle: appliations où l'on souhaite modifier à la main ertaines parties des programmes obtenus (sans touher aux programmes de génération du ode) afin de les réutiliser. En effet, la réutilisation de programmes est une pratique de plus en plus fréquentée. Un système prinipal permet d'obtenir le ode soure selon un modèle général et les as partiuliers sont obtenus en modifiant à la main ertain module de e ode. C'est le as lorsqu'on souhaite ajouter de ertains termes supplétifs obtenus par des proédés autres que elui du logiiel de génération du ode. Par exemples: les termes de frottements, hangements des onditions limites (i.e.
188 6.1. Introdution Partie 3 initialisation des reurrenes) pour prendre en ompte des efforts supplémentaires exerés sur les organes terminaux (voir même sur tous les membres du robot),... et. r appliations robotiques non-manufaturières où l'environnement du robot est mal onnu ou sujet à des modifiations imprévisibles et où l'on souhaite avoir une ommande en temps réel. Le robot doit avoir des réflexes et prendre des déisions en temps réel [Fig. 6.1]. C'est, par exemple, le as dans les appliations spatiales, sous-marines, nuléaires.... et, atuellement assurées par télé-opération [B. Espiau [ESPI-86]]. Ainsi, nous avons onçu et réalisé le système MEDUSA MF77 -provient de l'aronyme de "MEehaaism Dynamis by Using Symboli Algebra systems"- pour répondre à un besoin double: la génération d'un ode soure itératif optimisé en nombre d'opérations élémentaires (multipliations, additions et évaluations des fontions trigonométriques) destiné à être intégré dans des programmes de alul, la génération des équations sous forme symbolique, pour faire éventuellement l'objet de différentes transformations formelles. Les prinipales omposantes du système MEDUSA MF77 sont [Fig. 6.2]: le système Maple: qui permet de manipuler les expressions formelles. le module DATASEIZE: interfae Homme-Mahine qui permet une saisie orrete des données du problème méanique. le module DYNAMIQUE: proposant les shémas de alul du modèle dynamique selon la partie théorique du hapitre 4 et la simplifiation automatique, du modèle, relative à la desription paramétrée, le module DEFSTRUC et le générateur de règles qui permettent de struturer le problème dynamique dans des "bases de onnaissanes". un générateur du ode Fortran optimisé qui permet, quant à lui, de traduire le ode générer à l'étape préédente dans le langage Fortran. Ce ode soure représente un shéma itératif du alul optimisé en nombre d'opérations élémentaires et en évaluation des fontions trigonométriques (les fontions trigonométriques sont évaluées à des étapes antérieures du ode en ligne) Le système de alul formel Maple Il existe atuellement sur le marhé de nombreux systèmes de alul formel 1 (SCF), pour la plupart et depuis plusieurs années disponibles sur un grand nombre d'ordinateurs, dont: Axiom, 'Dans la suite nous allons noter les systèmes de alul formel par les initiales SCF. 171
189 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 Eriture Leture PUT DE REDUCTION N RÉGI REG RRC ' PUTDE REDUCTION! RE RE BUT DE REDUCTION I REGLE I : g] * dl REGLE 2 v2 d2 REGLEn : s- dn Cette figure shématise la nature des liaisons entre!es différents omposantes du système MEDUSA MFT7. Ces liens sont les ations de: Leture: simple leture de données ou du module. Eriture: ériture de données. Transfert: transfert de données (transite 3) traitement). interprétation: interprétation ou réériture des données symboliques. Fig. 6.2: Modèle oneptuel de MEDUSA MF77 Masyma, Maple, Mathade, Matheniatia, Redue,... et. Les raisons qui nous ont poussé à 172
190 6,1. Introdution Partie 3 ->K;=Fr«tian Polynswia! Integer <1> Fration Polynomial Integer Tape: Daws In ->Riat:=CllfforQftÏ9ebr-4ÎÎ,fi,qu64'«tieFer«6> 1 trading /u/ent«/5., 'axsosv'»ritf, 'riosi'3l9eb-3f'suhítrix.s^ i for donaln SquareHatri* loading /u/ernarvexion/nnt/'rlos/algobra/hntrix.isillb for donsin Matrix loading /lysr^s/s/axiobi/w.t/rios/flîaebf'ô/vecto.fia.ia for dowsm V»tor ïoading /u^srmaí'5y«rioft< í Rnt/ríí!s/a!9ebra/IIfiRRfiV2.íM.ÍS for Somato 1 rmer IraäexedTi«Dl wsns 1 ena 1 foray loading /u/er»a/5/aíioei/hmt/rlos/aí9eb-ajwítflt-.w.!b Fer donaln HatrlxCstogTíji loadla /iyerrfè/5/» lo»i. i '«nt/ris/al9ela'a/smiltcflt-.îirlîï fyr dtwwln SquâreMstri xcatagon^ loading /u/er»a/5/-9xion/'«it/rlos/d33sbra/di! r R0D.F*ïL:S for demain LireÜ o$jet loading Ai/erna/S/axtsn/mt/rsQs/alj^hra/ÍV&TQR.ffiLIB for dowain loading Zu/erwa/Sí'axíPi/ssnt/rios/algebra/lEil^ñYl.ÍfiLlB for do»eir IndesedGrseB i»ens i ona! Array loading /u/erïia/5/axîor/mt/rlos/*l9ebrft/vectcfit-,fifit.ib for demain V«Gt4rC*tegoryi loading /u/ernays/axiiwant/rias/alsebf'a/qform.nrljli for kwaln OuadratiFor«loading /u/erra/s/'axjor/wit/raos^âïgïbrs/rmntcftr-.nrlib for donair RetangulsrHatrítCatíg&r^ loading /u/c8rma-'5/axiw«it/raos/«l9eiya/!^ï2cfit-,i^.is f-x- ôomïn TwoD i»ens i ana lft-r«ycategoryi C2> CliffordfllsebraC^Fratior. Pol^OBsaî Integer,MfiTRiX) lype: ßaaln»ep$: Eual:=eil> loading /u/sr*ia[, 5. y axlbk/'«nï,/rîos/alseffvclif,wîlli for dowaln CUffordPlseb-a loading Ai/ern»/5/«xiof'p»it/rio»/*l9ebr»/DIRPCflT-.nllLIB for domin ElretPrudutCategryl (3>» 1 ->y!-a j eps«b (i> ->^:=*eps*d ->jí+y t«be 1 <55 *dî 1 Type: ü i*fordñl3kraíl,frattofi FolynoaiaS Integer,HflTRIX> Tu^ï CHfFordfiigebraUrFrstlan Polynomial Intçger.hifiTRlX) ïype; Cliffordfllash-aa,Fration Polansiial Integer.HPTRlX) (6) * a * (d b)e 1 Typ»: CllfFordñlgbrstl.FrationPolywPiial ->x*u Integer,MPT>Î3X> Í7> a * (a 4 * b )e 1 Type: ütíítrdfl 9ebr.sí i,fration Polynomial IrtteQer,HftTRIX> Dans ette session de travail sur Axiom, on alul des nombres duaux. Le système Axiom, à îa différene des autres systèmes de alul formel, possède la faulté du alul typé et, de e fait, ii opère automatiquement au niveau du toplevel toutes les simplifiations relatives à e type de données. L'unité duale e est. noté dans l'output par le symbole e. Fig. 6.3: Session de travail sur Axiom hoisir le système Maple, pour le développement de MEDUSA MF77, sont multiples: D'abord, Maple est un logiiel de alul formel et en e sens il onstitue un ensemble d'outils 2 au servie du mathématiien. ~I1 a été développé à l'université de Waterloo à l'ontario au Canada par "Maple Symboli Computation Group".
191 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 II se ompose: o d'un noyau de très petite taille (inférieur à 400 Ko) omparée aux systèmes Masyma ou Axiom. Erit dans le langage C, il est plus rapide que les logiiels érits dans des langages interprétés (Masyma est érit en Ma-Lisp 3 et Franz-Lisp, alors que Axiom est érit en Kyoto Common Lisp - KCL). o d'une importante librairie mathématique (de 7 à 8 Mo). Le système Maple est disponible sur une large variété d'ordinateurs (Miro-ordinateurs, stations de travail, Miro-Vax, Vax...). Cela va assurer, par la même oasion, la portabilité de toute appliation basée sur Maple à toutes es mahines. Le fait que Maple est livré ave les soures des programmes de sa librairie mathématique érits dans le langage Maple (95 % du système) permet une grande lisibilité du système. Ainsi, Certaines fontions du système peuvent être modifiées pour des besoins personnels. En effet, il est parfois très important de modifier ertaines fontionnalités du système afin de mieux les adapter à une appliation en ours. Cependant ela n'est pas toujours faile et, parfois, on est obligé de modifier tout une série de programmes (ela sous entend que l'on a déortiqué le programme et ressortit les parties de l'algorithme qui peuvent être adaptés autrement) pour modifier une seule fontion. Cela néessite bien évidement un temps onsidérable pour la ompréhension des programmes et leur modifiation. Pour illustrer e propos, l'étude omparative publiée par l'usaf 4 en 1972, peut servir de référene. Selon ette étude, l'ériture d'une nouvelle instrution oûterait 75$, alors que la modifiation d'une instrution dans un logiiel oûterait 4000 S, soit à peut près 53 fois plus oûteuse. Cette programmation peut aller, omme 'est le as dans MEDUSA MFT7, jusqu'à disparition totale du système de alul formel et la réation d'un nouveau produit, tel que l'utilisateur du produit final n'aurait plus besoin d'auune onnaissane sur l'utilisation du noyau pour la saisie des données des problèmes et l'obtention des résultats. 6.2 Le ode Fortran La génération automatique de odes soures onstitue une tehnique effiae quand il s'agit d'érire des programme reflétant l'état dynamique de systèmes artiulés omplexes. En effet, ela permet, d'une part, de laisser ette tâhe fastidieuse à la mahine et, d'autre part, d'évité le risque de se tromper dans l'ériture de es programmes. Nous nous sommes intéressé au ode Fortran, non pas par goût à la diffiulté ni à la spéifiité 3 I1 existe atuellement une version Maxima du système Masyma érite omplètement en Common Lisp. 4 "The High Cost of Software", USAF, Monterey, USA, (1972). Cette référene a été itée par B. Meyer et C. Baudoin [MEYE-80], 174 OUr.»W!i!5til'H.iriaELS
192 6.3, Diffiultés de générer des shémas optimisés par Jes SCF Partie 3 de e langage 5 primitif à bien des égards, mais, par soui de répondre à un large besoin dans le monde industriel. Les prinipales diffiultés auxquelles nous devions apporter une solution pour la génération automatique du ode itératif en ligne -dans le langage Fortran- peuvent être énumérées dans les règles lexiales suivantes: i) Une ligne de ode est une haîne de 72 aratères de l'alphabet Fortran. ii) Les instrutions sont érites en olonnes 7 à 72 sur une ligne initiale et sur au maximum 9 ligne de ontinuation. iii) Une ligne initiale ontient un espae en olonne 6. les olonnes de 1 à 5 peuvent ontenir une étiquette ou alors que des espaes. iv) Une ligne de ontinuation ontient des espaes en olonnes 1 à 5 et un symbole spéial $ en olonne 6. v) Une ligne ommentaire doit ommener par un symbole spéial en olonne 1. vi) Line ligne de ommentaire ne peut être suivie d'une ligne de ontinuation. vii) La délaration de l'entête du sous-programme est de la forme: subroutine <nom_identifiateur>(<liste des arguments>) viii) La délaration de la préision de alul suit l'instrution de délaration de l'entête. ix) Les zones de délaration des variables ommunes à d'éventuelles autres sous-program mes omplémentaires est de la forme: ommon / <iden_var > /<liste des variables> x) Une instrution ne ontenant que des espaes n'est pas admise. xi) La dernière instrution d'un sous programme est l'instrution end. 6.3 Diffiultés de générer des shémas optimisés par les SCF Le but étant de générer les équations de la dynamique au terme d'un proessus symbolique itératif. Le shéma de e alul est dérit essentiellement par l'algorithme 4.7. Ainsi, le proessus de alul symbolique se ramène à un alul vetoriel et matriiel dans l'espae de dimension trois. Le système Maple permet de faire un tel développement. Cependant, si l'usage lassique des systèmes de alul formel s'avère très effiae pour le développement expliite des équations de la dynamique (par substitution symbolique des termes), la apaité de tels logiiels à générer des shémas de alul itératifs optimaux suseptibles de faire l'objet d'une tradution automatique 5 En effet e langage impose des règles de syntaxe très rigides (strites). Il possède un méanisme stritement statique. On peut manipuler des variables salaires et éventuellement des tableaux à un nombre fixe de hamps, mais il n'est pas question de délarer dynamiquement des variables. G nu msii tí OLV. uy-ä
193 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 dans un langage de programmation usuel -tel que Fortran, C, Ada,... et- est très faible 6. Dans un SCF, une formule mathématique est surtout destinée à faire l'objet de transformations formelles: fatorisations diverses, simplifiations formelles, dérivation, intégration... et. De plus, au bout d'un développement formel, une formule mathématique ne se présente pas néessairement sous sa représentation d'arbre topologique optimal. Pour illustrer e propos, onsidérons à titre d'exemple le double produit vetoriel de trois veteurs symboliques. Soient trois veteurs a = [ai a 2 03]*, 6 = [61 b 2 Wf et = [\ 2 C3]'. Le double produit vetoriel de a, h et donne: d= a x (b x ) ~- a 2 (fei C2-62 i) - a 3 (& 3 i - h 3 ) «3 ( >2 3 - h C 2 ) - ai (61 C 2-62 Ci) ai (63 i ~ h 3 ) -a 2 (b ) a 2 h 2 - a 2 62 i - a 3 63 i + a «3 &2 C3 - «3 &3 C2 - ai 61 C 2 + ai &2 Cl ai 63 Ci - ai a a 2 63 C2 La omplexité apparente de e développement est 9 additions et 18 multipliations, alors que la réalisation numérique de e double produit en deux étapes d= l'anienne valeur de d- ne néessite plus que 6 additions et 12 multipliations. b x et d a x d -où d désigne Première ritique Analysons maintenant le omportement des primitives du système Maple pour générer un shéma optimisé. La primitive de Maple qui permet de générer du ode Fortran est f ortran et l'option qui permet d'optimiser un tel ode est optimized. Considérons, dans un premier temps, la forme parenthésée du veteur d. \-/ MAPLE V _l\l l/l- Copyright () by the University of Waterloo. \ MAPLE / All rights reserved. MAPLE is a registered tradeaark of < > Waterloo Maple Software. I Type? for help. > with(linalg) : > a:=array([al,a2,a3]): > b:=array([bl,b2,b3] ) : > :=array([l,2,3]): > d:=rossprod(a,rossprod(b,)); d := [ a2 (bl 2 - b2 l) - a3 (b3 l - bl 3), a3 (b2 3 - b3 2) - al (bl 2 - b2 l), al (b3 l - bl 3) - a2 (b2 3 - b3 2) ] > fortrajs(d,optimized) ; t4 = bl*2-b2*l En fait, e n'est pas l'ordre d'idée des appliations dans lequel ont été onçus es systèmes.
194 6.3 Diffiultés de générer des shémas optimisés par les SCF Partie 3 t9 = b3*l-bl*3 tl6 = b2*3-b3*2 d(l) = a2*t4-a3*t9 d(2) = a3*tl6-ai*t4 d(3) = al*t9-a2*tl6 le ode est bien optimal puisqu'il présente 6 additions et 12 multipliations. Considérons maintenant la forme élatée du veteur d: > d:=map(simplif y jcrossprodcajcrossprodcb^))) ; d := [ a2 bi 2 - a2 b2 l - a3 b3 l + a3 bl 3, a3 b2 3 - a3 b3 2 - al bl 2 + al b2 l, al b3 l - al bl 3 - a2 b2 3 + a2 b3 2 ] >fortran(d,optimized); tl = bl*2 t3 = b2*l t6 = b3*l t9 = bl*3 tl2 = b2*3 tl4 = b3*2 d(l) = a2*tl-a2*t3-a3*t6+a3*t9 d(2) = a3*tl2-a3*tl4-al*ti+al*t3 d(3) = al*t6-al*t9-a2*tl2+a2*tl4 le ode présenté, ette fois, est loin d'être optimal puisqu'il présente 9 additions et 18 multipliations et ela va être le as de toute expression qui aura subit des transformation avant de faire l'objet d'une tradution dans le ode Fortran. Ce omportement bizarre -tout au moins inattendude l'option optimized peut s'expliquer par le fait qu'une telle opération se base sur le proessus de hahage (anglais: hash oding) de l'expression traitée et ne va donner effetivement le ode optimal de ette dernière que si l'arbre de l'expression mathématique est sous sa forme optimale (i.e. que si l'expression mathématique est de signature 7 minimale). Les omplexités établies dans es deux as restent les mêmes même après ompilation des fragments de programmes orrespondants [Annexe El- Le leteur pourra remarquer que dans un as simple omme elui-i, un programmeur habitué au langage Fortran érirait le premier fragment de programme plutôt qu'au deuxième Seonde ritique Cette ritique liée aux appliations préédentes. On remarque qu'il n'y a pas de moyens pour ontrôler les noms des variables intermédiaires dans le ode généré. Ainsi, l'utilisateur n'a pas la possibilité de les délarer, par un proessus automatique, dans la zone de délaration des variables au début du ode généré. 'Nous entendons par signature, le nombre des sous termes quand il s'agit d'un terme somme et le nombre de fateurs lorsqu'il s'agit d'un terme produit.
195 Partie 3 Chapitre 6, LE SYSTEME SYMBOLIQUE: MEDUSA MF Troisième ritique La troisième ritique est liée à l'évaluation dynamique au toplevel des logiiels de alul formel. En fait, il n'y a auun proessus naturel à rendre statique une opération. En effet, quand des valeurs sont affetées à des symboles, toute opération sur es symboles au niveau syntaxique entraîne automatiquement un alul onséquent sur les valeurs Quatrième ritique La primitive f ortran proède automatiquement (sans qa'une demande expresse de la part de l'utilisateur ne soit faite) à la déomposition d'une expression en instrutions intermédiaires. Le fragment de programme résultant ne peut être failement interprété par un autre utilisateur. Les solutions proposées dans MEDUSA MF77 sont de sorte à ontourner toutes es diffiultés. Les deux prohaines setions dérivent, sur des exemples simples, un langage formel typé totalement implémenté dans le langage de Maple. Il permet ainsi d'apporter des solutions à es problèmes et de répondre aux ritères qualitatifs des solutions aux problèmes de génération automatique des shémas de alul optimisés. 6.4 Création dynamique d'objets dans le système MEDUSA MF77 La solution que nous proposons se base sur la programmation orienté objet. En effet, la programmation orientée objet permet de regarder le système omme une olletion d'objets qui ommuniquent entre eux. Ainsi, notre approhe sera basée sur le "masquage" des informations manipulées par le système de alul formel. Ces objets dérivent alors des représentations intermédiaires ou des interprétations selon un ertain niveau d'abstration des données initiales. Au ours du proessus de génération automatique des équations de la dynamique, leur ensemble reflète don l'état de résolution du système MEDUSA MF77. Pour établir le shéma de alul du modèle dynamique, le système MEDUSA MF"? utilise les algorithmes établis au hapitre 4, il effetue essentiellement un alul matriiel et vetoriel. Ainsi, les objets symboliques onsidérés par MEDUSA MF77 sont de trois types (ou lasses): les symboles de type salaire, les symboles de type veteur, les symboles de type matrie arrée. Comme dans la plupart des logiiels de alul formel, sous le système Maple, on ne peut utiliser des opérations sur des strutures vetorielles ou matriielles -telles que les fontions: rossprod, add, multiply, transpose,...et- que si elles sont appliquées à des données de type veteur ou matrie. Pour pouvoir appliquer dynamiquement de telles fontions, e type de représentation oblige à réer
196 6.4. Creaión dynamique d'objets ( AXIS le système MEDUSA MF77 Partie 3 Niveaux d'abstration des données et e On peut distinguer quatre niveaux d'abstration des données:!e niveau pragmatique, le niveau sémantique, le niveau syntaxique et le niveau morphologique. Chaque niveau d'abstration rassemble des interprétations des données de même niveau d'abstration. Fig. 6.4: Niveaux d'abstration des données de nouveaux objets et d'érire de nouvelles fontions dans le langage du système Maple. C'est dans et ordre d'idées que nous avons implémeuté le module defstru.map. Totalement érits dans le langage de Maple, les outils définis dans e module permettent de réer de façon analogue au système de alul formel Axiom des données typées [Fig. 6.3]. Cet ensemble de moyens permet à MEDUSA MF77 de réer dynamiquement des salaires, des veteurs ou des matries à partir des identifiateurs qui les symbolisent. Les fontions liées à la réation de es strutures de données sont résumées dans le tableau
197 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77! Tableau 6.1 : Svntaxe des fontions \ Fontion! onstruteur de strutures! identité des objets prédiat du type salaire I prédiat du type i veteur prédiat du type matrie arrée Syntaxe make_obj e et(iden,lass,dim) l'argument dim pour le type salaire est faultatif il n'a auun effet. objet(iden) salarp(iden) vetorp(iden) matrixp(iden) Domaine de définition iden = identifiateur, lass Ç {salar,vetor,matrix}, dim Vi iden = identifiateur iden = identifiateur iden = identifiateur! iden identifiateur Construteur de lasses make_objet Un onstruteur de MEDUSA MFT7 est un généralement identifié par le préfixe make. Il omporte obligatoirement des séleteurs qui lui permettent d'identifier la lasse de l'objet que l'on souhaite réer. Cependant, il n'indique auune valeur en retour, sinon le nom de la lasse de l'objet réé. Le onstruteur de lasses make objet permet d'assoier à un symbole une lasse de représentation de données. Exemples > read 'defstru.map 1 : > make_objet(mm,matrix,5); Class: matrix(5,s) > objet(mm); [ MM[1, 1] MM[1, 2] MM[1, 3] MM[1, 4] MM[i, S] [ [ MM[2, 13 MM [2, 2] MM [2, 3] MM [2, 4] MM [2, S] [ [ MM [3, l] MM [3, 2] MM [3, 3] MM [3, 4] KM [3, 5] [ [ MM[4, 1] MM [4. 2] MM [4, 3] MM [4, 4] MM [4, 53 [ Í MM [5, i] MM [5, 2] MM [5, 3] MM [5, 4] MM [5, 5] la fontion objet permet don de visualiser la morphologie d'un tel objet, alors que le prédiat Kîatrixp permet au système de tester si un objet est de type matrie: > matrixp(mm); true Des exemples semblables peuvent être donnés à propos des lasses d'objets de type veteur et salaire: ISO
198 6.4. Creation dynamique d'objets dans le système MEDUSA MF77 Partie 3 > make_objet(vv,vetor,4) ; Class: vetor(4) > objet(w); > ntake_objet(s,salar) ; > salarp(s); [ VV[1], VV[2], VV[3], VV[4] ] Class: salar true Jusqu'à nouvel ordre le symbole s sera onsidéré omme étant de type salaire. Ainsi définis, les objets sont struturés par les attributs qu'ils possèdent. Chaque attribut peut alors reevoir une ou plusieurs instantiations (symboliques ou numériques). Cette définition des objets est plus générale que elle des objets Maple. Elle permet de définir dynamiquement des objets. Par ontre, les objets Maple sont définis à partir d'instaniations (par l'affetation lassique ":=") Construteurs opératoires Sur es bases, nous avons implémenté un ensemble d'outils 3 qui permettent d'opérer des objets à partir de leurs identifiateurs. Les strutures onvenables, pour opérer orretement de telles opérations, sont réées de façon dynamique et peuvent dès lors être utilisées dans des aluls ultérieurs omme des objets struturés (i.e. ayant un type bien défini). Les opérations définies sont données dans le tableau 6.2. Exemples Le onstruteur make_rotation permet de réer des rotations suivant les trois axes définis par une famille fondamentale (i.e. un repère). L'angle d'une telle rotation peut être éventuellement sous forme d'une expression formelle: >make_rotation(rotl,x"2+2*x+3,1); Class: matrix(3,3) > objet(rotl); [ ] [ ] [ 0 os (7.1) - sinc/,1) ] [ 3 [ 0 sin('/.l) osc/.l) ] 2 '/.l := x + 2 x + 3 Le terme "onstruteurs" dans e paragraphe ne orrespond pas tout à fait à la terminologie lassique au sens de la programmation à objets. Les onstruteurs ii désignent des onstruteurs de symboles au sens du alul symbolique sur des strutures.
199 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 \ Fontion onstruteur de rotations onstruteur de transposées de matries onstruteur de produit de matries onstruteur de somme de matries onstruteur du produit vetoriel en dimension trois onstruteur de somme de deux veteurs onstruteur du produit d'un veteur par une matrie onstruteur du produit d'une struture par un salaire Tableau 6.2 : Syntaxe des onstruteurs opératoires \ Syntaxe make_rotation(iden,ang,axis) make_transmat(iden,mat,dim) make_itriltmat ( iden,mat 1,mat2, dim) make addmat(iden,mat1,mat2,dim) make_rosvet(iden,vel,ve2) make_addvet(iden,vel,ve2,dim) make_veparmat(iden,mat,ve,dim) make_mulsal(iden,isal,istru,lass,dim) Domaine de déñnltion iden = identifiateur, ang = expression, axis G {1,2,3} iden,mat = identifiateur, dim Ç N* iden,matl,mat2 = identifiateurs. dim N* iden,mat1,mat2 = identifiateurs, dim G N* iden,vei,ve2 = identifiateurs iden,vel,ve2 = identifiateurs, dim N* iden,mat,ve = identifiateurs, dim N* iden,isal,istru = identifiateurs, lass 6 {salar,vetor,matrix}, dim N* j Le onstruteur make_transmat(b,a,4) rée un objet B de type matrie et pointe sa référene vers un autre objet A de même lasse: > make_transmat(b,a,4); Class: matrix(4,4) > objet(b); C A[l, 1] A[2, 1] A[3, i] A[4, 1] ] [ ] [ Â[l, 2] A[2, 2] A[3, 2] A[4, 2] ] [ ] [ A[l. 3] A[2, 3] A[3, 3] A[4, 3] ] [ ] [ A[l, 4] A[2, 4] A[3, 4] A[4, 4] ]
200 6.S. Abstration symbolique des objets par "masquage" partie 3 Niveau syntaxique Interpretation Abstration Niveau morphologique L'interprétation d'une opération, dérite au niveau syntaxique, se traduit par un nombre d'opérations plus important au niveau morphologique. Fig. 6.5: Interprétation des opérations Nous pourrons tenir le même propos au sujet des onstruteur œake_addmat, make_mulmat, make_addvet, make.rosvet et make_mulsal. En voii quelques exemples: > make multmat(t,r J S J?); Class: matrix(2,2) > objet(t); [ R[l, l] S[l, 1] + R[l, 2] S[2, 1] R[l, 1] S[l, 2] + R[l, 2] S[2, 2] ] [ ] [ R[2, 1] S[l, 1] + R[2, 2] S[2, 1] R[2, 1] S[i, 2] + R[2, 2] S[2, 2] ] > make_rosvet(v,vl,v2); > objet(v); Class: vetor(3) [VI [23 V2[3] - VI [3] V2[2], VI [3] V2[i] - VI [1] V2[3], VI [1] V2[2] - VI [2] V2[i]] 6.5 Abstration symbolique des objets par "masquage" Le terme masquage est souvent utilisé en oneption des systèmes informatiques et en génie logiiel -omme synonyme de seret- pour indiquer toutes les informations qui onernent l'implémentation d'un module privé (au développeur), sauf quand elles sont délarées publiques, le module est alors protégé offiiellement par un opyright. Le sens que nous donnons au masquage ii est tout à fait différent. Il est relatif, en quelque sorte, à la simulation de l'appel par nom au! 183 \
201 Partie 3 Chapitre 6, LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 toplevel du système de alul formel, masquer une expression mathématique reviendra à lui attribuer un nom par réêeriture formelle. Ce nom ne sera pas diretement interprété par l'interpréteur du toplevel du système de alul formel. Ainsi, tant que le masquage ne sera pas lever l'expression mathématique sera manipulée symboliquement sous e nom. Cette tehnique nous permettra d'élargir le hamp d'appliation des systèmes de alul formel, à des problèmes de "déision" dans la génération automatique de programmes, en introduisant la possibilité de suspendre momentanément des informations au niveau du toplevel du système de alul formel pour laisser aller à son terme le proessus de génération d'un ode soure quasi-optimal. Le ode soure dérira dans un langage de programmation (ii e langage sera Fortran), un shéma de alul par étapes. En effet, pour établir des shémas de alul par étapes, MEDUSA MF77 a besoin de masquer ertains termes, voir même, des objets pour pouvoir s'en servir dans le proessus itératif. Cependant, puisqu'il est maladroit de masquer dans un alul matriiel des termes égaux à 0 ou ±1 (es valeurs n'entraînent pas d'opérations supplémentaires), haque fois que le proessus de masquage renontrera de telles valeurs, il va les laisser intates. Un ensemble d'outils ont été implémentés pour permettre de telles opérations. La fontion de base qui aorde à MEDUSA MF77 les transformations dérites i-avant est essentiellement rewrite_obj qui permet de masquer des objets de type salaire, veteur ou matrie. Exemples Considérons une matrie A et un veteur V que nous allons définir dans la suite. Mais dérivons auparavant le proessus de masquage et de réériture des valeurs masquées: > initialize(knowledge): A ette étape, on prépare la base de onnaissane qui doit être réée par le générateur de règles à reevoir des informations. Ensuite, définissons la matrie A: > A:=array([[0,2,a*x+b],[1,sin(x),],[0,-1,0]]); [0 1 a x t b 3 [ ] A := [ 1 sin(x) ] [ ] [ ] Pour masquer la matrie A, il suffit alors de demander sa réériture: > rewrite_obj(â); REECRITURE... --> 1 > make_ode_obj(a,double); Class: œatrix(3,3) Done L'appliation make_ode_obj permet alors de générer le ode Fortran assoié à la définition de A: j 184
202 6.5. Abstration symbolique des objets par "masquage" Partie 3 The parameter A(1,1) is equal to zero A(l,2) = 2.DO A(l,3) = a*x+b The parameter A(2,1) is equal to A(2,2) = dsin(x) A(2,3) = The parameter A(3,l) is equal to zero The parameter A(3,2) is equal to minus one The parameter A(3,3) is equal to zero L'option double préise au générateur que le ode doit être généré en double préision. Maintenant, l'interpréteur de Maple ne onnaît plus la matrie A que sous une forme masquée: > objet(a); [ 0 A[l, 2] A[l, 3] ] C ] [ 1 A[2, 2] A[2, 3] ] [ ] [0-1 0 ] En fait, rewrite_obj est un proessus de masquage et de génération de ode symbolique. Il va masquer l'objet sujet de ette opération et pointer sa référene vers la forme expliite de et objet dite dans la suite sa référene objetive. Réitérons le même proessus pour le veteur V: > V:=array([0,2.55,-1]); > make_ode_obj(a,double); > rewrite_obj(v); REECRITURE... --> 2 V := [ 0, 2.55, -1 ] Done Class: vetor(3) Au terme de e proessus, la base de onnaissane, généré par MEDUSA MF77, relative à e problème simple ontient les règles de réériture reliant haque objet masqué à sa référene objetive: Knowledge based on systems of rules rewriting termes The rewrite rule : R_l Tis - "* fit
203 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 A := arraycl.. 3, 1.. 3, [(3, 1)=0,(1, l')=0,'(3, 2) = -l,(l, 2)=2,(1, 3)=a*x+ b,(3, 3)=0,(2, 1)=1 5 (2, 2)=sin(x),(2 > 3)=]) ; The rewrite rule : R_2 V := arraycl.. 3,[(1)=0,(2)=2.S5,(3)=-l]) ; Cette base de onnaissane ne sera pas diretement exploitée au niveau du toplevel de l'interprète de Maple. Cependant, eue sera ontrôlée par un proessus de ontrôle propre à MEDUSA MF77. Les hamps des objets A et V pointent vers leurs interprétations (i.e. référenes objetives) grâe des pointeurs notés [voir les règles R_l et R_2 i-avantj: (i) ave i = 1..3 pour l'objet veteur V de dimension 3, (i,j) ave i,j = 1..3 pour l'objet matrie A de dimension 3x3, qui ne sont en fait que les hamps respetifs des référenes objetives de la matrie A et du veteur V. Les règles de réériture R_l et R_2 traduisent en réalité des systèmes de règles de réériture, au niveau morphologique, induits par le masquage des objets A et V: Tableau 6.3 : Systèmes de rééritures orrespondants Règle de réériture objet Règle R_l Règle R_2 Système de réériture hamp A[1,2] 2 A [1,3]» a*x+b Si = < A[2,2] > sin(x) A[2,3] > j S 2 = V[2]» 2.55 Les objets A et V peuvent faire l'objet de toutes sortes de manipulations symboliques. Etablissons, par exemple, le ode assoié au produit de V para: > W:= multiply(a,v): > make_ode_obj(w,double); Done Une fois, on n'a plus besoin de ette représentation abstraite, le système d'inférene peut être délenhé pour restaurer au toplevel les informations masquées. La fontion qui permet le délenhement du système d'inférene est ontrol: > ontrol(knowledge); Done la "valeur symbolique" de l'objet W devient don: > objet(w); [ a x - b, 2.55 sin(x) -, ]
204 6.5, Abstration symbolique des objets par "ma-squage" Partie 3 OBJET identîfivueur : " Champí : -*"- " Champ! I ChampN : - - TRANSCRIPTION EQUIVALLENTE DANS LE LANGAGE DE CALCUL FORMEL CALCUL SYMBOLIQUE SUR DES OBJETS ABSTRAITS REGLE DE REECR1TVRE OBJET Objrll Objet! Un objet peut être vu omme une olletion de hamps. Ainsi, une régie de réériture sur des objets transrit un système de règles de réériture hamps. Notre système de génération de règles génère des règles de réériture sur des objets érit dans le langage de Maple. La tradution des règles objets en règles hamps est établit dans la base de onnaissane dans le langage de l'interprète du système Maple. Fig. 6.6: Tradution de la règle objet en règles hamps qui n'est autre que le produit du veteur V par la matrie A. Ce proessus a permis de généré le ode Fortran en ligne assoié au shéma de alul du produit de V par A: The parameter A(l,l) is equal to zero A(l,2) = 2.DO A(l,3) = a*x+b 187
205 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 The parameter A(2,1) is equal to one A(2,2) = dsin(x) A(2,3) = The parameter A(3,1) is equal to zero The parameter A(3,2) is equal to minus one The parameter A(3,3) is equal to zero The parameter V(l) is equal to zero V(2) = 0.255DÍ The parameter V(3) is equal to sinus one W(l) = A(1,2)*V(2)-A(1,3) H(2) = A(2,2)*V(2)-A(2,3) W(3) = -V(2) Les paramètres nuls ou égaux à ±1 sont plaés en ommentaires pour permettre à tout autre utilisateur du ode généré de onnaître leur valeurs exates. Par ontre, elles sont prises en ompte dans le développement du shéma de alul. Par ailleurs, e proessus va permettre, dans les problèmes de alul du modèle dynamique du système artiulé, de générer automatiquement un ode quasi-optimal tout en ontrôlant les noms des variables. Il permettra aussi d'avoir des shémas de alul lairs et ommentés. Ainsi, les programmes générés seront plus ompréhensibles. Leur modifiation à la main pour une éventuelle réutilisation sera désormais possible. 6.6 Module de saisie des données dans MEDUSA. MF Prinipe de la desription paramétrée Pour failiter 9 l'utilisation de MEDUSA MF77, dans des problèmes de génération du ode néessaire au alul du modèle dynamique, nous avons érit un interfae permettant la saisie des données méaniques du problème. Le module DATASEIZE permet de saisir la desription paramétrée d'un problème spéifique dans un mode totalement interatif. Le système MEDUSA MF77 va guider l'utilisateur par un système de "Questions/Réponses" à fournir une desription paramétrée du robot manipulateur aussi omplète que possible. Toutefois, quand l'utilisateur ignore ertaines informations demandées par le système, il a la possibilité de répondre par "auto". Une étude publié au rapport final de la délégation à la reherhe et à l'innovation auprès du ministère de l'équipement à révélée que le profil des utilisateurs des logiiels hez ertains organismes lients, ingénieurs et tehniiens, vont des phis ompétents aux très faibles [Etude de Définition d'une Stratégie de Valorisation de Deux Produit Logiiels, Marhé N ].
206 6.6. Module de saisie des données dans MEDUSA MF7T Partie 3 Cette ommande a pour effet d'indiquer à MEDUSA MF77 qu'elle doit elle même générer automatiquement une variable orrespondant à la donnée en ours de saisie. La spéifiation d'une donnée peut être de nature: Numérique: auquel as, l'utilisateur deverra spéifier la valeur numérique de ette donnée. Symbolique: là enore, il y a possibilité de faire deux hoix: o l'utilisateur peut imposer l'identifiateur symbolique de la donnée en question selon son propre hoix. o l'utilisateur peut laisser au système le soin de réer dynamiquement la variable orrespondante. Il doit répondre par "auto". La desription paramétrée proposée par le module DATASEIZE onsiste alors à spéifier: L'identifiateur ommun des nom de fihiers que doit réer le système MEDUSA MF77 sur le disque de la mahine hôte. Le nombre de degrés de liberté du robot manipulateur. La nature des artiulations de la struture artiulée. Prise en ompte ou non de l'effet de grvitê. Sens de l'axe normal dirigé vers le entre de la terre par rapport aux axes de la famille fondamentale de référene. Donnée des paramètres de Denavit-Hartenberg pour la desription de la géométrie de la struture artiulée. Spéifiation des masse des orps. Caratérisation ou non des entres de masses des différents éléments de la struture artiulé. Caratérisation des tenseurs d'inertie au niveau du entre de masse. Demande de la génération ou non des équations expliites de la dynamique Langage de desription - Règles syntaxiques Par définition un langage est un ensemble de aratères, de symboles et de règles qui permettent d'assembler es aratères. Ainsi, l'ensemble des aratères définit l'alphabet du langage et la onaténation des aratères permet de former des mots. Cela onstitue un voabulaire. Mais, dans un langage les mots sont disposés sous forme d'énonés: Cette disposition est dérite par les règles de syntaxe qui expriment les rapports entre les aratères de l'alphabet. A fl89~]
207 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 Ces énonés doivent avoir une signifiation sémantique traduisant leurs rapports ave le réel. Le système MEDUSA MF'77 pose des question préises à l'utilisateur. La réponse à es questions ne néessite auun préaquis du savoir faire en programmation informatique ni auune onnaissane sur les fontionnalités et les fontions de base du logiiel de alul formel Maple. Cependant pour pouvoir répondre onvenablement aux questions de MEDUSA MF77, il faut respeter un nombre de règles de syntaxes propres aux système MEDUSA MF77. Cette syntaxe peut être exprimeée dans les notations EBNF 10 (Extended Bakus-Naur Form). Les règles données par le tableau 6.4 [page 191] expriment une version simplifiée de la syntaxe du langage de la desription paramétrée proposée dans le module DATASEIZE. Pour onstruire un énoné syntaxiquement valide dans le langage de saisie de MEDUSA MF77, il faut néessairement passer par un nombre de es règles. 6.7 Calul du modèle dynamique optimisé Pour optimiser le nombre d'opérations élémentaires -en additions, multipliations et évaluations des fontions trigonométriques- MEDUSA MF77 proède à la génération d'un nombre de variables intermédiaires variables relatives aux déplaements de passage entre orps adjaents Elles déoulent du alul symbolique des parties réelles et duales des matries duales assoiées aux déplaements entre orps adjaents: variables relatives à la partie réelle d'une matrie de passage La partie réelle de la matrie [D*" 1 J n'est autre que la matrie: / os(ôi) - sin(o ) O \ DJ -1 = COSÍ7,) sin(ôi) os(7 ) os(0 ) - sin(7;) \ sin(7i) sin(ôj) sin(7 ) os(ö- ; ) os(7 J ) / pour optimiser le nombre d'opérations élémentaires et l'évaluation des fontions sinus et osinus à haque multipliation d'un veteur par la matrie D]~~ ou sa transposée dans le proessus itératif 1 Dans de telles notations à haque règle est assoiée une variable syntaxique notée < >. Cette variable va dénotée haque fois qu'elle sera utilisée l'ensemble des énonés qu'elle dérit. Chaque règle va pouvoire être lue omme une expression. Ainsi: < a >::= < expr > se lit,: la variable < a > se définit omme étant l'expression < expr >". < a >< b > se lit "< a > suivi de < b >" (produit de onaténation). < a > < b > se lit "< a > ou < b >" (alternative de as). < a > {< b >} se lit "< a > suivi d'auune ou plusieurs variables dérites par < b >". 190
208 6.7. Calul du modèle dynamique optimisé Partie 3 Tableau 6.4 : Syntaxe du langage de a desription paramétrée de DATÀSEIZE R.ègle 1 < RÉPONSE >::= < UNE RÉPONSE >< FIN > Règle 2: < FIN >::= Règle 3. < UNE RÉPONSE >:: = auto o j n I < NOM COMMUN DES FICHIERS > < NOMBRE DE D.D.L. > < NATURE DE L'ARTICULATION >j < PARAMÈTRE DE D-H > < QUANTITÉ INERTIELLE > < SENS DE LA NORMALE > Règle 4: < NOM COMMUN DES FICHIERS >::= < IDENTIFICATEUR > Règle 5: < IDENTIFICATEUR >::= < LETTRE > {< LETTRE >} < LETTRE > {< LETTRE >} < ENTIER SANS SIGNE > Règle 6. < ENTIER SANS SIGNE >::= < CHIFFRE > {< CHIFFRE >} Règle 7: < CHIFFRE >::= Règle 8. < LETTRE >:: z\a\b\c\ X\Y\Z Règle 9. < NOMBRE DE D.D.L. >::= < ENTIER SUPÉRIEUR À 2 > {< CHIFFRE >} Règle 10. < ENTIER SUPÉRIEUR À 2 >::~ j Règle 11 < NATURE DE L'ARTICULATION >::= prismatique pivot Règle 12. < PARAMETRE DE D-H >::= < EXPRESSION > Règle 13 < EXPRESSION >:: < TERME SANS SIGNE > {< TERME AVEC SIGNE >} j < TERME AVEC SIGNE > {< TERME AVEC SIGNE >} Règle 14. < TERME AVEC SIGNE >::' < SIGNE >< TERME SANS SIGNE > Régie 15. < SIGNE >::= + - Règle 16 < TERME SANS SIGNE >::= < OPÉRANDE SIMPLE > {< OPÉRATION >< OPÉRANDE SIMPLE >} Règle 17. < OPÉRATION >: /! Règle 18 < OPÉRANDE SIMPLE >::= < IDENTIFICATEUR > < NOMBRE SANS SIGNE > Règle 19. < NOMBRE SANS SIGNE >:: = Pi < ENTIER SANS SIGNE > < ENTIER SANS SIGNE >< POINT > {< CHIFFRE >} Règle 20. < POINT >: Règle 21 < QUANTITÉ INERTIELLE >::= < EXPRESSION > Règle 22. < SENS DE LA NORMALE >::- -3-2l-l l 2 3 des algorithmes proposés au hapitre 3, on propose les renommages suivants: CTEj = osiö;), STE = sin(öi) CGA, = os(-y ), SGA = sin(7 ) CCGi = CTE *CGA,, SCGÍ = STE *CGA SSG = STE *SGki, CSG = CTE *SCG, ainsi, la matrie D] * s'érit: ;-i DI CTE -STE 0 SCG CCG -SGA SSG t CSG CGA
209 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 77 variables relatives à la partie duale d'une matrie de passage Erivons maintenant: L\ 1 = Du [D\ J, on peut érire: -di sin(9i) di os(öi) L ~ \ os(7i)d os(öi) - k sin(7 ) sin(di) -os(7 )d sin(0 ) - Z siní7 ) os(0i) sin(7 ) di os(ßi) + h os(7 ) sin(0 ) - sin(7,)di sin(0 ) +Z os(7 ) os(0 ) 0 li os(7 ) -Zt sin(7 1 ) On peut réérire Z]~ : LT 1 = LIU L12; 0 L21 L22, L23, ave: Lili = -STE *d L21 : - = -li *SSG + CCG, «di L23, = -I, *CGAj L32-; = 1 *CCG, ; - SSG *d 1, L12i = -CTEi *di, L22i = -li *CSGi - SCG, *d, L31-; = li *SCG, + CSG í *d;, L33, = -1, *SGA t Autres variables intermédiaire Résumons sous forme d'un tableau [Tableau 6.5] les noms des variables utilisées par MEDUSA MF7T, pour la génération du ode Fortran issu du alul symbolique itératif du modèle dynamique: Tableau 6.5 : Nomination des variables intermédiaire \ j Varia bies dans les { programmes q, Dq t DDq, qg, ros, OÎIli Vli Domi V,- Fe, Ne { fa. na IxxiJyy^Izz,; Ixzj,Ixy,IyZi gravity Signifiation des variables dans le texte i e variable artiulaire de position: position généralisée 1 i e variable artiulaire de vitesse: vitesse généralisée i e variable artiulaire d'aélération: aélération généralisée i e variable artiulaire d'effort: effort généralisé j j le veteur Oj GÍ: position du entre de gravité le veteur w,-: vitesse angulaire le veteur v t : vitesse linéaire le veteur ù> t : aélération angulaire le veteur Wi (i.e. le veteur "{>i - g") le veteur F : fore inertielle le veteur iv,-: moment inertiel le veteur /,: fore artiulaire le veteur n : moment artiulaire les moments autour du entre de masse du orps C les produits de masse assoiées au orps C le paramètre loal de gravité g Le système MEDUSA MF77 utilise d'autres variables auxiliaires pour dérire les déoupages des expressions: 192 i
210 6.8. Conlusions Partie 3 Variables intermédiaires pour le alul des Fe VOGj(i) = V0Gi(2) = V0Gi(3) = vl (l) +om (2)*ros (3)-om J (3)*ros (2) vl i (2)+om i (3)*ros i (l)-om i (l)*ros (3) vl i (3)+om (Í)*ros i (2)-om i (2)*ros (l) Variables intermédiaires pour le alul des Ne* IOMj(l) = IxX{*om (l)-ixy i *om (2)-Ixz *omi(3) IQM;(2) = -Ixy i *om i (l)+iyy i *om i (2)-Iyz i *om i (3) I0M,-(3) = -Ixz *om i (l)-iyz i *om (2)+Izz 1 *om i (3) Variables intermédiaires pour le alul des Na MFRi(l) = na i+1 (l)+lll i+1 *fa i+1 (l)+l21 i+ i*fa i+1 (2)+L31, + i*fa t+ i(3) NFR (2) = na i+1 (2)+L12 l+3 *fa 1+1 (l)+l222*fa {+1 (2)+L32 I+1 *fa +1 (3) NFR (3) = na i+ i(3)+l23 + i*fa i+ i(2)+l33 i+ i*fa +1 (3) L'annexe D traite un exemple omplet de génération des équations de la dynamique et du ode Fortran optimisé orrespondant au alul numérique du modèle dynamique du robot manipulateur Puma Conlusions Nous avons vu dans e hapitre omment des tehniques d'intelligene artifiielle, de réériture et de programmation orientée objet peuvent ontribuer à élargir le hamp des appliations possibles à partir des logiiels de alul formel. En partiulier, la notion de masquage des informations nous a permis de générer automatiquement des shémas de alul quasi-optimaux tout en permettant de ontrôler les variables intermédiaires néessaires à optimiser le ode. Sur le plan pratique, ette méthode présente l'avantage d'offrir la possibilité de générer automatiquement des shémas de alul struturés et ommentés. Cela permet d'aroître la transparene des alul et la ompréhension des modules. Le générateur des règles de réériture (liens entre les objets et leurs référenes objetives) permet à l'aide d'un système de ontrôle relativement simple à restaurer l'information masquée à tout instant du proessus de alul formel. Contrairement à la primitive f ortran les outils définis dans MEDUSA MF77 permettent de garantir la génération d'un ode soure quasi-optimal ommenté omme nous l'avons déjà évoqué. Toutefois, une utilisation judiieuse des outils définis dans MEDUSA MF77 permet de bénéfiier de toutes les failités liées aux lasses d'objets ainsi que leur fiabilité. ê G ma;
211 Partie 3 Chapitre 6. LE SYSTEME SYMBOLIQUE: MEDUSA MF 7? 194 C3 HJK*íl4tTVlWt»Hií
212 Chapitre 7 MODULE DU CALCUL DUAL 7.1 Introdution Nous avons érit le module dualstru.map dans le but de disposer d'un ensemble d'outils permettant d'effetuer des aluls sur des données de type duale (nombres duaux, veteurs duaux, matries duales, fontions de variables duale, onstrution automatique des prolongements anoniques,...et). Atuellement, e module ompte un grand nombre de fontions auxiliaires et un nombre plus restreint de fontions prinipales. Entièrement implémentées dans le langage Maple, elles peuvent être ombinées aux fontionnalités de base du système Maple pour étendre les possibilités du logiiel à la résolution d'un nouveau type de problèmes (utilisant des données duales). Dans la fenêtre (Maple V Release 2) de la figure i-après, on présente une session de travail sur Maple où l'on expérimente ertaines fontions développées dans le module dualstru.map. Ce hapitre est onsaré à présenter les fontions prinipales définies dans e module. 7.2 Présentation des onstruteurs duaux Afin de donner un avant goût de la programmation ave les outils définis dans le module dualstru.map, nous allons présenter des exemples simples, mais qui illustrent déjà quelques différenes de style ave le alul lassique sur le système Maple. Les fontions du module - dualstru.map doivent expliitement être hargées avant utilisation. \-/ MAPLE V _l\i l/l_. Copyright () by the university of Waterloo. \ MAPLE / All rights reserved. MAPLE is a registered trademark of <, > Waterloo Maple Software. 1 Type? for help. > read 'dualstru.map': Comme le module def stru.map, le module dualstru.mapdispose d'un onstruteur d'objets 195
213 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL got Www Opäais» gener»lteeáirmí*p;slnv»generaltfediûfîr<ï!fi Mi:«î); (i/(jt2)-i Ji-xf -m f:-u-. gt n ral EZÍÜ(Í> 1^11(0:,,. i «MÄ2 g*,rjsr«liziídtera^!t;ijr ; Í^-'ÍTÍ)-^ y E:-appi qu«íi(ari:ee3í!s; aí; f:- = Jí + lqepi ««4"U f-er((í reelle ne b \R«íkJ" suivie de sa partit duale *,Du b)): La parfiw reeíie de b.1 = IE j guñr'e de» p7ü>.e dix>le.1 >app!lq(.et8 in8>irees,lß*s 's"lef: ojyî-^.^ f : [ =»* 10tpij j^-j.pi J3 j?t^ JHgi» CR. T' j3«-,/3{l9«,/4-so).p m^m Fig. 7.1: Session de travail sur Maple matriiels, vetoriels et salaires. La définition des onstruteurs duaux est onforme aux idées développées dans le module defstru.map à la différene près que dans le présent module es onstruteurs permettent de définir de façon autonome des objets de type dual. C'est à dire qu'au niveau morphologique de l'objet, les hamps sont des symboles qui représentent des salaires (i.e. entités élémentaires) de type dual. Exemple La manière la plus simple pour onstruire une matrie duale est de spéifier toutes ses omposantes. L'opération prinipale permettant une telle définition est l'affetation: > Dmat:=array([[l.+7.*eps,e],[3,a+eps*b]]); [ eps Dmat : = [ C e ] ] ra + eps da + eps b ] J^D
214 7.2. Présentation des onstruteurs duaux Partie 3 où le symbole eps désigne l'unité duale e Construteur de lasses Comme nous l'avons déjà évoqué au hapitre préédent, un onstruteur est une fontion d'initialisation que l'on peut appeler (ave des séleteurs spéifiques) haque fois que l'on souhaiterait réer une instane d'une lasse donnée. Grâe à son onstruteur de lasses make_duobj, le module dualstru.map offre la possibilité de définir des entités duales de façon plus autonome. Le onstruteur make_duobj permet de réer un objet à partir de son nom et de la spéifiation de sa nature (lasse d'appartenane) et de sa dimension. où: La syntaxe d'un tel onstruteur est: make_duobj(iden,stru,dira) iden : désigne l'identifiateur de l'objet qu'on souhaite réer, stru : désigne la struture qu'on souhaite réer, dim : désigne la dimension de l'objet. La délaration de la dimension dim est inutile lorsque la struture stru désigne le type salaire. Exemples > make_duobj(a,matrix,3); Class: dual matrix(3,3) > objet(a); [ ra[i, 1] + eps da[l, 1] ra[l, 2] + eps da[l, 2] ra[l, 3] + eps dâ[i, 3] ] [ ] [ ra[2, 1] + eps da[2, 1] ra[2, 2] + eps da[2, 2] ra[2, 3] + eps da[2, 3] ] [ ] [ ra[3, 1] + eps da[3, 1] ra[3, 2] + eps da[3, 2] ra[3, 3] + eps da[3, 3] ] > make_duobj(v,vetor,2); Class: dual vetor(2) > objet(v); [ rv[l] + eps dv[l], rv[2] + eps dv[2] ] > make_duobj(a,salar); > objet(a); Class: dual salar ra + eps da La fontion objet permet ainsi de visualiser la struture morphologique d'un objet onstruit à partir de make.duobj. Les objets duaux, ainsi réés, omportent une partie réelle dont le nom est un symbole raine préfixée par la lettre r et une partie duale préfixée par la lettre d.
215 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL Opérateur ad d'un torseur A partir de la donnée des oordonnées duales X d'un torseur X, l'opérateur ad permet de aluler la matrie duale assoiée à l'opérateur adx et telle que: adxy = [-X\^] pour tout torseur Y de D, Exemples > make.duobj(x,vetor,3) ; Class: dual vetor(3) > EE:=ad(X EE 0 - rx[3] - eps dx[3] rx[2] + eps dx[2] 3 1 rx[3] + eps dx[3] 0 - rx[l] - eps dx[i] ] 1 - rx[2] - eps dx[2] rx[i] + eps dxcl] 0 ] Déplaements autour des axes d'un repère La matrie d'un déplaement ylindrique exprimée relativement à une famille fondamentale f ~ ( > ^i C) ^e l'algèbre de Lie D dont l'un des axes est elui du déplaement, s'érit de façon relativement simple. Le module dualstru.map offre la possibilité de définir de telles matries. Les fontions RDI, RD2 et RD3 permettent de onstruire les déplaements ylindriques respetivement suivant les premier, seond et troisième axes de la famille f. Exemples Si a est le salaire dual défini dans l'exemple préédent, la rotation duale, à'angle dual a et d'axe A s'exprime dans la famille fondamentale f par: > Depl;=RDl(a); [ 1 [ Depl := [ 0 os(ra) - eps da sin(ra) - sin(ra) - eps da os(ra) [ [ 0 sin(ra) + eps da os(ra) os(ra) - eps da sin(ra) > Dep2:=RD3(Pi/2+eps*); Dep2 : = [ - eps [ [ 1 [ [ eps 0 i i r i O 0 ] 1 ] La matrie de tout autre déplaement peut être obtenue à partir des trois matries RDI, RD2 et RD3 (grâe à différentes artes du groupe de Lie O).
216 7.3. Simplifiateurs Partie Simplifiateurs Pour mener un proessus de alul formel, étant donné que le but de Fimplémenta.tion du module dualstru. map est de pouvoir utiliser, aussi bien des fontions de base de Maple que des fontions définies dans e module, il était néessaire de onevoir des simplifiateurs qui permettent d'appliquer en plus des règles de simplifiation définies au toplevel, des règles de transformation de type e 2 0. Les simplifiateurs les plus importants sont dualsimp pour opérer des simplifiations sur les nombres duaux, objdualsimp pour la simplifiation des objets duaux, duwithopt pour la simplifiation et l'optimisation des expressions salaires duales et objwithopt pour la simplifiation et l'optimisation des expressions des hamps d'un objet dual quelonque. Exemples > AEE;=multiply(A,EE); AEE : = 2 [ra[l, 2] rx[3] + ra[l, 2] eps dx[3] + eps da[l, 2] rx[3] + eps da[l, 2] dx[3] - ra[l, 3] rx[2] - ra[l, 3] eps dx [2] - eps da[l, 3] rx[2] 2 - eps da[i, 3] dx[2], - ra[l, 1] rx[3] - ra[l, 1] eps dx[3] 2 - eps da[l, 1] rx[3] - eps da[l, 1] dx[3] + ra[l, 3] rx[l] 2 + ra[l, 3] eps dx[l] + eps da[l, 3] rx[i] + eps da[l, 3] dx[l], ra[l, 1] rx[2] + ra[l, 1] eps dx[2] + eps da[l, 1] rx[2] 2 + eps da[l, 1] dx[2] - ra[l, 2] rx[l] - ra[l, 2] eps dx[l] 2 - eps da[l, 2] rx[l] - eps da[l, 2] dx[i]] 2 [ra[2, 2] rx[3] + ra[2, 2] eps dx[3] + eps da [2, 2] rx[3] + eps da[2, 2] dx[3] - ra[2, 3] rx[2] - ra[2, 3] eps dx[2] - eps da[2, 3] rx[2] 2 - eps da[2, 3] dx[2], - ra[2, 1] rx[3] - ra[2, 1] eps dx[3] 2 - eps da[2, 1] rx[3] - eps da[2, 1] dx[3] + ra[2, 3] rx[l] 2 + ra[2, 3] eps dx[l] + eps da[2, 3] rx[l] + eps da[2, 3] dx[l], ra[2, 1] rx[2] + ra[2, 1] eps dx[2] + eps da[2, 1] rx[2] A F199 I
217 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL + eps da[2, 1] dx[2] - ra[2, 2] rx[l] - ra[2, 2] eps dx[l] 2 - eps da[2, 2] rx[l] - eps da[2, 2] dx[l]] 2 CrA[3, 2] rx[3] + ra[3, 2] eps dx[3] + eps da[3, 2] rx[3] + eps da[3, 2] dx[3] - TA[3, 3] rx[2] - ra[3, 3] eps dx[2] - eps da[3, 3] rx[2] 2 - eps da[3, 33 dx[2], - ra[3, 1] rx[3] - ra[3, 1] eps dx[3] 2 - eps da[3, 1] rx[3] - eps da[3, 1] dx[3] + ra[3, 3] rx[l] 2 + ra[3, 3] eps dx[l] + eps da[3, 3] rxcl] + eps da[3, 3] dx[i], ra[3, 1] rx[2] + ra[3, 1] eps dx[2] + eps da[3, 1] rx[2] 2 + eps da[3, 1] dx[2] - ra[3, 2] rx[l] - ra[3, 2] eps dxcl] 2 - eps da[3, 2] rx[l] - eps da[3, 2] dx[l]] Dans et exemple, la matrie duale AEE est définie à partir du produit des matries duales A et EE. L'opérateur qui a permis une telle opération est la fontion multiply (fontion de base de Mapie). Visiblement, nous pouvons remarquer qu'un tel opérateur a généré des termes en e 2. Pour les éliminer, on peut appliquer la fontion objdualsimp. > objdualsimp(aee); [(racl, 2] dx[3] + da[l, 2] rx[3] - ra[l, 3] dx[2] - da[l, 3] rx[2]) eps + ra[l, 2] rx[3] - ra[l, 3] rx[2], (- racl, 1] dx[3] - da[l, 1] rx[3] + ra[l, 3] dx[i] + da[l, 3] rx[l]) eps - ra[l, 1] rx[33 + ra[l, 3] rx[l], (ra[l, i] dx[2] + dacl, 1] rx[2] - racl, 2] dx[l] - da[l, 2] rx[l]) eps + racl, 1] rx[2] - racl, 2] rxcl]] C(rA[2, 2] dx[3] + dac2, 2] rxc3] - rac2, 3] dxc2] - da[2, 3] rx[2]) eps + ra[2, 2] rxc3] - ra[2, 3] rxc2], (- ra[2, 1] dx[33 - dac2, 1] rxc3] + rac2, 33 dx[l] + da[2, 3] rx[l3) eps - ra[2, 1] rxc33 + rac2, 33 rx[l], (ra[2, 13 dx[23 + da[2, 13 rxc23 - rac2, 23 dxcl] - da[2, 23 rx[l]) eps 200
218 7.4. Fontions Partie 3 + ra[2, 1] rx[2] - ra[2, 2] rx[l]] [(ra[3, 2] dx[3] + da[3, 2] rx[3] - ra[3, 3] dx[2] - da[3, 3] rx[2]) eps + ra[3, 2] rx[3] - râ[3, 3] rx[2], (- ra[3, 1] dx[3] - da[3, 1] rx[3] + ra[3, 3] dx[l] + da[3, 3] rx[i]) eps - ra[3, 1] rx[3] + ra[3, 3] rx[l], (ra[3, 1] dx[2] + da[3, 1] rx[2] - ra[3, 2] dx[l] - da[3, 2] rx[l]) eps + ra[3, 1] rx[2] - ra[3, 2] rx[l]] Maintenant, onsidérons le nombre dual a préédemment défini et le polynôme dual dupolyl défini par: > dupolyl:=a*(y~2*x~2 + 5*y~2*x + 7*y*x~2) + eps*{4*y*x + x~2 + 2*x) : Le simplifiateur duwithopt va permettre de simplifier la forme de e polynôme à deux variables x et y et définir ses parties réelle et duale ave un oût minimum en nombre d'opérations élémentaires: > duuithopt(dupolyl); x ra y (7 x + (x + 5) y) + eps x (x (4 + 7 da x + (x + 5) da y) y) Le simplifiateur objwithopt permet de faire la même opération sur des objet de type salaire, veteur ou matrie. > dupoly2:=eps*(x'2+3*x+4): > W:=array([dupolyl,dupoly2]): > objwithopt(h); [ x ra y (7 x + (x + 5) y) + eps x (x (4 + 7 da x + (x + 5) da y) y), eps (4 + (3 + x) x) 3 de telle fontions peuvent s'avérer très intéressantes pour la préparation de la génération de odes optimisés (en Fortran par exemple). 7.4 Fontions Le module dualstru. map offre non seulement la possibilité de définir des fontions d'une (ou plusieurs) variable duale, mais aussi de bénéfiier de tous les développements théoriques étudiés dans la partie mathématique de e mémoire de thèse Fontions parties réelle et duale Nous avons implémenter les fontions Re et Du alulant respetivement les parties réelle et duale. Elle peuvent être appliquées aux différents types d'objets. 201 Ois
219 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL Exemples On onserve ii en mémoire les différentes quantités définies dans les exemples préédents: La partie duale d'un salaire dual: > l:=du(a); 1:= da La partie réelle de la matrie duale d'une matrie: > Rd:=Re(Dep2); [0-1 0 ] [ 3 Rd := [ 1 0 0] [ 3 [o o i ] Elle représente la matrie de la partie linéaire du déplaement. La partie duale du produit de deux matries duales: >Du(multiply(Â! Dep2)) ; - ra[l, 1] + dacl, 2] - dâ[l, 1] - ra[l, 2] da[l, 3] 3 ] - ra[2, 1] + da[2, 2] - da[2, 1] - ra[2, 2] da[2, 3] ] ] - ra[3, 13 + da[3, 2] - da[3, 13 - ra[3, 23 da[3, 3] ] Prolongement anonique Les fontions essentielles, du module dualstru.map, pour la génération des prolongements anoniques des fontions de variable réelle sont generalizedf orm qui donne la forme générale d'un prolongement anonique à partir de la fontion de variable réelle qu'on souheite prolonger et appliqued qui applique le prolongement anonique duale d'une fontion de variable réelle à un nombre dual. Exemples Les deux fontions onstrutries generalizedf orm et appliqued peuvent être appliquées à toute sortes de fontions de variable réelle. Ainsi dans ette exemple on onsidère une fontion: g := exp o arsin ojo sin + log où / est une fontion de variable réelle dont on ignore à priori la forme expliite. Posons: > g:=exp@arsin3f8sin+log: > gtild:=generalizedform(g); gtild := (xl,x2) -> exp(arsin(f(sin(xl)))) + ln(xl)! 202 I /os(xl) D(f)(sin(xl)) exp(arsin(f(sin(xl)))) 1 \ + eps x2 + i 2 1/2 xl I \ (1 - f(sinud) ) /
220 7-5. Fontions spéiales Partie 3 Le module dualstru.map offre alors deux possibilités pour appliquer gtild à un nombre dual: grâe à la fontion appliqued: > e:=pi/4+eps* : > appliqued(g,e); 1/2 exp(arsin(f(i/2 2 ))) + ln(l/4 Pi) / 1/2 1/2 1/2 \ I 2 D(f)(l/2 2 ) exp(arsin(f(l/2 2 ))) eps 11/2 + I I 1/2 2 1/2 Pi I \ (1 - (1/2 2 ) ) / à partir de la fontion gtild elle même: > gtild(re(e),du(e)); 1/2 exp(arsin(f(1/2 2 ))) + ln(l/4 Pi) / 1/2 1/2 1/2 \ I 2 D(f)(l/2 2 ) exp(arsin(f(l/2 2 ))) eps 11/2 + I 1/2 2 1/2 Pi I \ (1 - (1/2 2 ) ) / La solution dans les deux as est absolument la même. 7.5 Fontions spéiales Dans ette rubrique sont lassées les onstruteurs de e que nous avons onvenu d'appeler dans la partie théorique angles d'euler duaux et angles de Briant duaux, 7.5,1 Angles d'euler duaux assoiés à un déplaement Les preession, nutation et rotation propres duales pour un déplaement -quelonque, mais, sans singularité- sont données respetivement par les fontions onstrutries make_phi_eul, make_theta_eul et nake_psi_eul. Exemple En supposant que la matrie duale A est la matrie assoiée à un déplaement donné relativement à une famille fondamentale quelonque:..a 203 je ê
221 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL > make_theta_eul(a); 2 2 1/2 (ra[3, 1] + ra[3, 2] ) 2 artiiic ) - eps (ra[3, i] da[3, 3] ra[3, 3] 2 + ra[3, 2] da[3, 3] - da[3, 1] ra[3, 1] ra[3, 3] - da[3, 2] ra[3, 2] ra[3, 3]) / 2 2\ / 2 2 1/2 2 1 ra[3, 1] + ra[3, 2] I / ((ra[3, 1] + ra[3, 2] ) ra[3, 3] II + 1) / \ ra[3, 3] / > make_psi_eul(a); ra[2, 3] eps (- ra[2, 3] da[l, 3] + da[2, 3] ra[l, 3]) artan( ) + ra[l, 3] 2 2 ra[l, 3] + ra[2, 3] > make_phi_eul(a); ra[3, 2] eps (- ra[3, 2] da[3, 1] + da[3, 2] ra[3, 1]) - artan( ) - ra[3, 1] 2 2 rá[3, 1] + ra[3, 2] Angles de Briant duaux assoiés à un déplaement Les roulis, tangage et laet duaux pour un déplaement -quelonque, mais, sans singularité* sont données respetivement par les fontions onstrutries make_phi_bri., make_theta_bri et make_psi_bri. Exemple > make_t.heta_bri(a) ; ra[3, 1] - artan( ) - eps (- ra[3, 1] da[l, 1] ra[l, /2 (ra[l, 1] + ra[2, 1] ) ra[3, 1] da[2, 1] ra[2, 1] + da[3, 1] ra[l, 1] + da[3, 1] ra[2, 1] ) / 2 \ / 2 2 3/2 1 ra[3. 1] I / ((ra[l, 1] + ra[2, 1] ) Il + 1) /! 2 21 \ ra[l, 1] + ra[2, 1] / > make_psi_bri(a) ; ra[2, 1] eps (- ra[2, 1] da[l, 1] r da[2, 1] ra[l, 1]) artan( ) + ra[l, 1] 2 2 \~204 I
222 7.5. Fontions spéiales Partie 3 ra[l, 1] + ra[2, 1] > make_phi_bri(â) ; ra[3, 2] eps (ra[3, 2] da[3, 3] - da[3, 2] ra[3, 33) artan( ) - ra[3, ra[3, 3] + ra[3, 2] Il est, bien entendu, lair que l'expression formelle de la matrie A peut être aussi omplexe qu'on puisse l'imaginer (provenant de la multipliation des matries de plusieurs déplaements). Exemple A titre d'exemple, le tangage dual d'un déplaement obtenu du produit des matries duales des trois déplaements RD3(Pi/4+eps), A et RD3(Pi/3+eps*) est donné par: > DDl:=natdualsimp(iaultiply(A,RD3(Pi/3+eps*))) : > DD:=Bultiply(RD3(Pi/4+eps),DDl): > make_theta_bri(dd) ; 1/2 1/2 2 - artan(l/8 (2 ra[3, 1] ra[2, 1] ra[2, 2] 3 + ra[3, 2] 3 ra[l, 1] + 2 ra[3, 1] ra[l, 1] ra[l, 2] 3 +6 ra[3, 2] ra[2, 1] ra[2, 2] ra[3, 2] ra[l, 2] ra[l, 1] + ra[3, 1] ra[2, 1] 1/ ra[3, 2] 3 ra[l, 2] +3 ra[3, 1] ra[l, 2] + ra[3, 1] ra[l, 1] 2 1/ ra[3, 1] ra[2, 2] + ra[3, 2] 3 ra[2, 1] 1/2 2 / ra[3, 2] 3 ra[2, 2] ) / (3/4 ra[2, 2] / 1/2 1/ /2 ra[2, 1] ra[2, 2] 3 + 1/2 ra[l, 1] ra[l, 2] 3 + 3/4 ra[l, 2] /4 ra[l, 1] + 1/4 ra[2, 1] )~3/2) - 1/8 eps (4 ra[3, 2] ra[2, 1] 1/2 1/2-3 ra[3, 2] 3 da[l, 2] ra[l, 2] - ra[3, 2] 3 da[2, 1] ra[2, 1] 1/2 1/2 2 - ra[3, 2] 3 da[l, 1] ra[l, 1] - 4 ra[3, 1] 3 ra[2, 2] 1/2 2 1/2-4 ra[3, 1] 3 ra[l, 2] + 2 da[3, 1] ra[l, 1] ra[l, 2] 3 á 205
223 Partie 3 Chapitre 7. MODULE DU CALCUL DUAL 1/2 1/2 + 2 da[3, 1] ra[2, 1] ra[2, 2] 3 +4 ra[3, 2] ra[2, 1] ra[2, 2] 3 1/2 1/ ra[3, 2] ra[l, 1] ra[l, 2] 3 + da[3, 2] 3 ra[2, 1] 1/2 2 1/ da[3, 2] 3 ra[2, 2] + 3 da[3, 2] 3 ra[l, 2] + 6 da[3, 2] ra[2, 1] ra[2, 2] + 6 da[3, 2] ra[i, 1] ra[l, 2] - 3 ra[3, 2] da[2, 1] ra[2, 2] - 3 ra[3, 2] da[2, 2] ra[2, 1] - 3 ra[3, 2] da[l, 1] ra[l, 2] - 3 ra[3, 2] da[l, 2] ra[l, 1] 1/2 1/2 - ra[3, 1] da[l, 1] ra[l, 2] 3 - ra[3, 1] da[2, 2] 3 ra[2, 1] 1/2 1/2 - ra[3, 1] da[2, 1] ra[2, 2] 3 - ra[3, 1] da[l, 2] 3 ra[l, 1] 1/2 1/2 2-3 ra[3, 2] 3 da[2, 2] ra[2, 2] + da[3, 2] 3 ra[i, 1] da[3, 1] ra[2, 1] + 3 da[3, 1] ra[l, 2] - 3 ra[3, 1] da[l, 2] ra[l, 2] - ra[3, 1] da[2, 1] ra[2, 1] - 3 ra[3, 1] da[2, 2] ra[2, 2] - 4 ra[3, 1] ra[l, 2] ra[l, 1] - 4 ra[3, 1] ra[2, 1] ra[2, 2] da[3, 1] ra[2, 2] + 4 ra[3, 2] ra[l, 1] + da[3, 1] ra[l, 1] / 2 - ra[3, 1] da[l, 1] ra[l, 1]) / ((3/4 ra[2, 2] / 1/2 1/ /2 ra[2, 1] ra[2, 2] 3 + 1/2 ra[l, 1] ratl, 2] 3 + 3/4 ra[l, 2] /4 ra[l, 1] + 1/4 ra[2, 1] )~3/2 (1 + 1/64 ( 1/2 1/2 2 2 ra[3, 1] ra[2, 1] ra[2, 2] 3 + ra[3, 2] 3 ra[l, 1] 1/2 + 2 ra[3, 1] racl, 1] ra[l, 2] 3 +6 ra[3, 2] ra[2, 1] ra[2, 2] ra[3, 2] ratl, 2] ra[i, 1] + ra[3, 1] ra[2, 1] 1/ ra[3, 2] 3 ra[l, 2] + 3 ra[3, 1] ra[l, 2] + ra[3, 1] ra[l, 1] 206
224 7,6. Conlusion Part/e 3 2 1/ ra[3, 1] ra[2, 2] + ra[3, 2] 3 ra[2, 1] 1/2 2 / ra[3, 2] 3 ra[2, 2] )"2 / (3/4 ra[2, 2] / 1/2 1/ /2 ra[2, 1] ra[2, 2] 3 + 1/2 ra[l, 1] ra[l, 2] 3 + 3/4 ra[l, 2] /4 ra[l, 1] + 1/4 ra[2, 1] )~3)) 7.6 Conlusion Le module dualstrue,map définit de puissants outils informatiques de alul et de manipulation formelle des objets duaux pour le mathématiien. D'autant plus, ertains de es outils sont spéialisés en géométrie et s'appliquent à des problèmes de méanique. Le but de leur oneption est de permettre d'érire et de manipuler des expressions mathématiques formelles à partir d'objets duaux. L'ensemble de es outils permet d'exprimer dans une syntaxe simple des modèles de réalités matérielles et physiques très omplexes. Ils sont le fruit d'une étude théorique très approfondie des outils mathématiques qu'ils simulent. Ils apportent ainsi au mathématiien, poures besoins de modélisation, toutes les performanes de rapidité et de préision du alul sur la mahine. Pour l'étudiant et l'utilisateur oasionnel, ils représentent une boîte à outils qui failite grandement l'utilisation de l'ensemble des moyens de ette représentation mathématique. Le méanisme d'héritage utilisé permet d'aller enore plus loin dans la programmation sous MEDUSA MF77 et ave un moindre efforts de programmation. 207
225 Partie 3 Chapitre 7. MODULE DU CALCUL DVAL i 20S
226 Partie 4: ANNEXES 209
227
228 Annexe A NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A.l Introdution Un groupe dont les éléments sont étiquetés par un ou plusieurs paramètres ontinuement variables peut être onsidéré omme une variété différentielle en prenant pour oordonnées le ou les paramètres d'étiquetage. Cette idée est à l'origine de la théorie des groupes de Lie. Cette théorie, où interviennent des tehniques de géométrie, d'algèbre, d'analyse et de topologie, est relativement réente: elle remonte à la fin du sièle dernier. Le but de ette annexe est d'introduire les définitions et propriétés essentielles de la vaste théorie des groupes algebres de Lie. Ainsi, elle ne présente auune originalité. Dans le adre de e rappel mathématique, auune démonstration des résultats énonés ne sera donnée, sauf s'ils déoulent naturellement d'autres relations préétablies dans notre exposé. Toutefois, les leteurs souieux des aspets théoriques, pourront se rapporter pour les démonstrations aux référenes spéialisées abondamment indiquées dans la bibliographie de notre mémoire de thèse. A.l.l Variété différentielle - Carte La notion de variété différentielle onsiste à attribuer à un espae topologique de Hausdorff la propriété d'être loalement isomorphe à R n. Définition A.l On appelle arte d'un espae topologique E la donnée d'un ouvert O a OE et d'une bijetion fa " O a ~~+ U ( Fig. A.l) où U a est un ouvert d'un espae vetoriel eulidien E a de dimension finie. Ainsi, la notion de arte permet de définir des espaes loalement eulidiens et par la suite la notion de oordonnées loales. Définition A.2 On dira que l'espae E est loalement eulidien si pour tout point M de E il existe, une arte 211
229 Partie 4 Annexe A. NOTJONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A un point M de l'ouvert O a de l'espae E orrespond un point f a (M), du sous ensemble f a (O a ) de l'espae eulidien E a, qui est donné par ses oordonnées [x\,...,x n ) dans E a Ainsi on définit une paramétrisation loale de l'espae E sur l'espae eulidien E a. C'est pour ette raison qu'on dit que E est loalement isomorphe à fi". Fig. A.1: Carte différentielle (O a,f a ) telle que: M O 0 A.1.2 Changement de artes Définition A.3 Si (O a,f a ) et (Og, fß) sont deux artes d'an espae topologique E, on appelle hangement de artes l'appliation f a p ( Fig, A,2) définie par la relation: fa,ß = fa fß 1 (Eq.A.l) son domaine est donné par: U a,ß = f ß (O a no ß ) (Eq.A.2) Remarquons au passage que, si on pose Up, a fa(o a f)oß), alors l'appliation f 0t p : O a> p > Oß :(k définie une bijeetion entre les ouverts U a,ß et Ug, a -
230 A.2. Groupe de Lie Partie 4 o R f(o a ) fjopv o Oj~\O a fj PV Nô JA w En trait ontinu on peut voir, sur ette figure l'appliation f a _g ; U at ß Uß ia, elle est donnée par /«o /. trait disontinu son appliation inverse ß <a ' Oß iol > O ai ß qui est donnée par f o f~. et en Fig. A.2: Changement de artes A.2 Groupe de Lie La struture de groupe de Lie onfère à un ensemble, à la fois, une struture algébrique de groupe et une struture de variété différentielle. Définition A.4 On appellera groupe de Lie, un groupe G qui est muni d'une struture de variété différentielle, teile que les opérations du groupe soient différentiables. Ces opérations sont: (a) d'une part l'opération de omposition des éléments du groupe, notée multipliativement: omposition : G x G + G (Eq.A.3) (a, 6) i» ab (b) d'autre part l'opération d'inversion des éléments du groupe: inversion : G G (Eq.A.4) [~2~Ï3~
231 Partie 4 Annexe A. NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A,2.1 Sous-groupes immergés d'un groupe de Lie Considérons deux groupes de Lie G et Go tels que la dimension de Go -en tant que variété différentielle- soit au plus égale à elle de G. Définition A.5 On dira que Go est sous-groupe de Lie de G, s'il existe une immersion de GQ dans G. A.3 Groupe opérant dans un ensemble Les groupes de Lie apparaissent le plus souvent omme étant des groupes de transformations d'autres variétés différentielles. A.4 Ation d'un groupe sur un ensemble Définition A.6 Une ation d'un groupe G à gauhe sur un ensemble donné M est un homomorphisme 4> : G <-* Bij(M) de G dans le groupe des bijetions dans A4 tel que 1 si on note < > g la transformation de A4 déterminée par g G G et e dénote l'élément neutre de G, alors: (a) <pe ià,m> (b) 4> g est une appliation bijetive: Vg G, () <p g o(j) h - <p gh y g, he G Ainsi, des relations préédentes (a) et () on déduit que: 4> g -i = 4*; 1 (Eq.A.5) A.4.1 Fidélité L'ation (G,M,d>) est dite fidèle si l'homomorphisme <f> est injetif. A.4.2 TVansitivitê L'ation (G,M,<p) est dite transitive si: Va:, 1/ 6 M, 3g G : 4> g x - y (Eq.A.6) Dans la pratique, il suffit de montrer qu'il existe un élément a de l'ensemble M tel que: V;r G M, 3g G : <t> g a= x (Eq.A.7) puisque, si <p g a = x et <ph o, = y, alors: <f>h g- 1 x V- L'ation (G,A4,(p) sera dite simplement-transitive si: Vx,yEM,3\gÇG: <p g x = y (Eq.A.8) De manière analogue on définit une ation à droite d'un groupe sur un ensemble, mais en remplaçant la proposition () par: 4> g o 4>k = d)j, g Vg./i G G
232 A.4. Ation d'un groupe sur un ensemble Partie 4 A.4.3 Homogénéité L'ensemble M. est dit espae homogène s'il existe une opération transitive de G sur A4. Il est dit espae homogène sans point fixe s'il existe une opération simplement-transitive de G sur M.. On montre que tous les espaes homogènes sans point fixe d'un groupe G sont isomorphes. A.4.4 Ations d'un groupe de Lie sur lui même Considérons un groupe Lie G, il agit sur lui même par sa loi de omposition interne. Définition A.7 (a) On définit les translations à gauhe de G par: L 9' G a G -* y-* ga (Eq.A.9) (b) On définit les translations à droite du groupe G par: R 9- G -> G (Eq.A.10) a t-+ a g () On définit les automorphisrnes intérieurs dans G par: In g : G ~> G (Eq.A.ll) a >-> g a, g Les quatre propriétés suivantes déoulent immédiatement de la définition préédente: Propriétés A.l (a) La omposition des translations à gauhe de G opère par: L g ol h = L gh ; "ig,heg (Eq.A.12) (b) La omposition des translations à droite de G opère par: R g or h = R hg ; y/g, h G G (Eq.A.13) () La omposition des automorphisrnes intérieurs de G opère par: In g o In h = In gh ; Vg, h G (EqA.14) (d) Les trois ations L g, R g et In g sur G sont liées par la relation suivante: In g L g o R g -i (Eq.A.15) Ainsi, d'après les relations (Eq.A.12) et (Eq.A.14) les ations L g et In g définissent des homomorphismes dans G et d'après la relation (Eq.A.13) l'ation R g définie un anti-homomorphisme dans G. Fui"!
233 Partie 4 Annexe A. NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A.5 Algèbre de Lie d'un groupe de Lie L'idée générale de l'algèbre de Lie Q assoiée à un groupe de Lie G est de onstruire un hamp de veteurs sur le groupe, à partir d'un veteur assigné en un point, par des translations à gauhe sur le groupe G, lui même. Soient G un groupe de Lie, g un élément de G et L g la translation à gauhe du groupe G assoiée à g. Chaque appliation L g est un difféomorphisme de la variété G dans elle même. Soit alors Li l'homomorphisme tangent induit par L g sur l'espae tangent T g G à la variété G au point g. Comme L est une ation de G sur lui même alors: L lh= (L g ol h f (Eq.A.16) = L T aoll Si e dénote l'élément neutre du groupe de Lie G, on définit alors le veteur tangent X g en g omme étant la translation à gauhe du veteur X e \ soit sous forme expliite: X g = L T gx e - Vg G (Eq.A.17) et d'après les relations (Eq.A.17) et (Eq.A.18) on a: LjX h = (irolftx. = L T ghx e (EqA.18) Xg h 'est à dire que l'on translate à gauhe X e de e jusqu'à h, puis de h jusqu'à gh, ou que l'on translate à gauhe tout simplement X e de e jusqu'à gh, le résultat est le même ( Fig. A.3). En d'autres termes, ela veut dire que le hamp de veteurs X défini par ette onstrution est indépendant du hoix de l'élément par rapport auquel il est défini et que pour toute translation à gauhe, on peut érire: L T gx= X: VgeG (Eq.A.19) Ainsi, le hamp de veteurs X reste invariant par toute translation à gauhe. Inversement soit un hamp de veteurs invariant par translation à gauhe, si X e est sa valeur en e, alors, en vertu de l'invariane à gauhe on peut érire: L*X e = X g (Eq.A.20) Don, un hamp de veteurs X invariant par translation à gauhe est omplètement défini à partir de sa valeur en e.
234 A.5. Algèbre de Lie d'un groupe de Lie Partie 4 T gh G On translate X* de e jusqu'à h par L, puis de h jusqu'à gk par LT, Fig. A.3: Un hamp de veteurs dans le fibre tangent du groupe G Soient maintenant deux hamps de veteurs X et Y invariants à gauhe et a et ß deux nombres réels, alors d'après la linéarité de L g on peut érire: Lj (a X + ß Y) = a LjX + 3 LJY = a X + ßY (Eq.A.21) 'est à dire que ax + ßY est également invariant à gauhe. Ainsi, l'invariane à gauhe des hamps de veteurs induit une struture d'espae vetoriel, sur R, qu'on notera g. pour l'instant, on appellera et ensemble espae vetoriel des hamps de veteurs invariants à gauhe. 217
235 Partie 4 Annexe A, NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A.5.1 Crohet de Lie Soit g le.r-espae vetoriel des hamps de veteurs invariants à gauhe sur le groupe de Lie G. Un rohet de Lie [.,.] sur Q est une appliation bilinéaire vérifiant les relations: [X,X}= 0, VXeg (Eq.A.22) et [X, [Y, Z]] t [Y, [Z, X)] + [Z, [X, Y}}= 0, YX, Y, Z e g (Eq.A.23) la relation (Eq.A.23) s'appelle identité de Jaobi. Une onséquene immédiate de la relation (Eq.A.22) est que le rohet est antisymétrique 'est à dire que: [X,Y] = -\Y,X}; VX, y Eg (Eq.A.24) Compte tenu de la onstrution des hamps invariants à gauhe que nous venons de donner au paragraphe préédent, pour définir le rohet de Lie d'une façon unique, il suffit de le onstruire, par exemple, sur l'espae tangent T e G à la variété G en son élément neutre e (pour la struture de groupe de G). Le rohet de Lie sur g est induit par la relation: [X,Y] e = [X t,y e ] (Eq.A.25) où X et Y sont des hamps de veteurs déterminés par leurs valeurs X e et Y e au point e et on peut érire: L [X,Y}= LJX,LJY] [X, Y] (Eq.A.26) On appellera don algèbre de Lie, l'espae vetoriel g muni d'un rohet de Lie. Soit (X') une base de et espae vetoriel, le rohet de deux éléments de la base est par définition du rohet un élément de g et don s'érit sous la forme d'une ombinaison linéaire des éléments de la base; 'est à dire: [X\Yi]= Efû^X* (Eq.A.27) Les nombres aï.' J ainsi définis s'appellent les onstantes de struture de l'algèbre g dans la base (A r *). La relation (Eq.A.25) se traduit alors par: Q{'-' = - a {' (Eq.A.28) et l'identité de Jaobi entraîne: (Eq.A.29)
236 A.5. Algebre de Lie d'un groupe de Lie Partie 4 A.5.2 Sous-groupe à un paramètre On appelle sous-groupe à un paramètre p du groupe de Lie G, un difféomorphisme de groupes défini du groupe additif R dans le groupe de Lie G tel que: (p(s + t) = <p(s)<p{t) (Eq.A.30) y(0) = e (Eq.A.31) Soient M une variété différentielle, G un groupe de Lie opérant à gauhe de A4 et y? un groupe à un paramètre de G, alors tp définit un groupe à un paramètre de difféomorphismes de M aratérisé par la relation: <pt{x) = <fi(t)x (Eq.A.32) En partiulier lorsque M est égale à G lui même, alors les ations R v ( t ), -^(t) et ^ny(t) définissent des sous-groupes à un paramètre de Viff(G) (groupe des difféomorphismes de G). A.5.3 Appliation exponentielle Soient un groupe de Lie G, son algèbre de Lie 0 et un groupe à paramètre <p. On peut onstruire don une appliation exponentielle en posant: exp{x) = px(l); VA' g (Eq.A.33) oíi ifx est un sous-groupe à un paramètre de G. Enfin, par hangement du paramétrage nous obtenons: exp{tx) ~ <px{t); Vi G R,VX 6 g (Eq.A.34) A partir des propriétés des sous-groupes à un paramètre, on déduit les trois relations suivantes: exp(sx)exp{tx) = exp((s + t)x) (Eq.A.35) [expix)}" 1 = exp(-x) (Eq.A.36) exp(o) = e (Eq.A.37) qui aratérisent toutes appliations exponentielles ainsi onstruites. L'appliation exponentielle exp de g dans G définit un difféomorphisme analytique au voisinage de 0 0 (zéro de g) sur un voisinage de l'élément neutre e du groupe de Lie G. L'espae tangent T 0t Q á l'espae vetoriel g en son zéro 0 8 peut être identifié à g. De même l'espae tangent T e G au groupe de Lie G en son élément neutre e peut être identifié à l'algèbre de Lie Q. Don, l'appliation exp T induite par l'appliation exponentielle en 0 C définit une appliation de g dans lui même.! 219 I
237 Partie 4 Annexe A. NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE A.5.4 Homomorphismes de groupes et d'algèbres de Lie L'idée de l'appliation exponentielle peut être introduite afin de simplifier les résultats onernant les homomorphismes. D'abord si ^ : G > H est un homomorphisme de groupes de Lie et exp(tx) un sous-groupe à un paramètre de G, alors, é \exp{tx)) est un groupe à un paramètre de H. De plus: i>(ßex P ux)9) = rp(gexptx) f(g)ip(exp tx) = % P t/)^(s) (Eq.A.38) d'où la relation: Í> Rexp t X - Ry(exp t X) P (Eq.A.39) En onséquene, le générateur des translations à droite R^ exp tx\ es^ "0-lié à X. On notera ip T X e générateur, alors ip T est une appliation des hamps de veteurs invariants à gauhe du groupe de Lie G vers les hamps invariants à gauhe du groupe de Lie H. L'appliation ip 1 " définit don une appliation linéaire de l'algèbre de Lie Q dans l'algèbre de Lie f) telle que: ip T [X, Y] = [V X, i> T Y] (Eq.A.40) Ainsi,, i> T : 0 * Í} est un homomorphisme d'algèbre de Lie. De plus elle vérifie la relation: don finalement: ip{exptx)= exp[ti> T X)\ VA' Q (Eq.A.41) ip o exp = exp o ip T (Eq.A.42) Cette relation peut alors se mettre sous la forme du diagramme suivant: exp l : T 0 il G -U H iexp A.5.5 Coordonnées anoniques La fontion exponentielle permet de onstruire des artes sur le groupe de Lie G en tant que variété différentielle, telles que, si on note d(e, G) l'ensemble des voisinages de l'élément neutre e dans G, iî(a, R n ) l'ensemble des voisinages de a G R n et si (A' ) =1,. désigne une base de l'algèbre de Lie g, alors: i 220!
238 A.5, Algèbre de Lie d'un groupe de Lie Partie 4 Coordonnées de première espèe: Plusieurs définition peuvent être données. Pour notre part, nous onsidérerons que e sont les artes de la forme: q i-v exp (q 1 X ± + + q n X n ) o A où A est un élément fixe du groupe G et q dérit un voisinage de 0 dans R n. ainsi une arte au voisinage de l'élément A. On obtient Coordonnées de seonde espèe: Ce sont les artes de la forme: q H-+ exp (i Xi) o o exp (q n X n ) o A où A est un élément fixe du groupe G et q dérit un voisinage de 0 dans ET. A.5.6 Représentation adjointe Définition A.8 On appelle représentation d'une algèbre de Lie g dans une autre algèbre de Lie f) une appliation linéaire de g dans l), vérifiant la propriété: f{[x,y} Q )= [/PO,/(r)] b (Eq.A.43) où [, ]g et [,]u désignent respetivement les rohets de Lie assoiés aux strutures d'algèbre de Lie des espaes Q et\). De plus si la représentation f est invetive on dira qu'elle est fidèle. Soient i> : G * H un isomorphisme de groupes de Lie et t ) T : Q * f) l'isomorphisme d'algèbres de Lie assoié. Si en partiulier ip est un automorphisme du groupe de Lie G alors ip T est un automorphisme de l'algèbre de Lie g. L'automorphisme intérieur In g de G induit l'automorphisme intérieur Inj de g, qu'on notera aussi g,: g, = Inj; Vg G G (Eq.A.44) Ainsi, il résulte de la relation (Eq.A.44) que: exp (g* X ) = In g exp (X) = g exp(x) g" 1 (Eq.A.45) d'où: exp{g,x) = g exp(x) g' 1 ; V ff e G, VJT g (Eq.A.46) Comme l'appliation g *~* In g est un homomorphisme de G dans Aut(G) alors: In T aoinl= In T gh (Eq.A-47) et, don, nous pouvons érire: 3*0/1* = {g h), (Eq.A.48)»A à 221
239 Partie 4 Annexe A. NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE L'appliation (.) est une ation du groupe de Lie G dans son algèbre de Lie g. Ainsi, pour tout élément g G G, g, est un automorphisme de l'algèbre de Lie 0. C'est don une transformation linéaire non singulière de 0 qui satisfait la relation: g.[x>y]= b*x,g,y} (Eq.A.49) En résumé, (.)* est une représentation de G dans g appelée représentation adjointe et omme le hamp de veteur est invariant à gauhe la relation (Eq.A.19) permet d'érire: g.y = In T qy = Rj-iL Y = B*-iY (Eq.A.50) ainsi, si X est le générateur infinitésimal du sous-groupe à un paramètre R etp (tx)i la relation (Eq.A.50) g = exp(tx) il vient: (exptx).y = Rf pt x)--y ~ R exp(-tx)^ en posant dans (Eq.A.5l) soit en différeniant le terme de droite de la relation (Eq.A.51) relativement à la variable réelle t en t 0 nous obtenons la dérivée de Lie [X, Y], ainsi: --{exp tx;, CL v i = [X,Y] (Eq.A.52) t=o Le groupe Aut(g) des automorphismes de l'algèbre de Lie g dans lui même est un groupe de Lie. Alors, la représentation adjointe (.), : G * Aut(Q) est un homomorphisme de groupes de Lie. L'algèbre de Lie a(g), assoiée au groupe de Lie Aut(g), est l'espae de dérivation de g; 'est à dire, des appliations linéaires D : 0» 0 teiles que: D [Y.. Z\ = [D Y., Z] + [Y, D Z}; W. Z eg (Eq.A.53) Maintenant soit X un élément quelonque de g, l'appliation Y i» [A', 5'] définit une dérivation dans g, puisque d'après l'identité de Jaobi: \X,[Y,Z]]= [{X,Y},Z} + {Y,[X,Z}} D'après la théorie générale, la représentation adjointe (.)» : G * Aut(Q) induit un homomorphisme d'algèbres de Lie (.)J : g > Ct(g) qu'on va noter dans la suite ''«d"'. Pour tout hamp de veteur X de g, l'homomorphisme adx est défini par: d adx Y = \j- t (exptx)*y Ji=0 ainsi, ompte tenu de la relation (Eq.A.54). on a: (Eq.A.54) ad x Y= [X,Y] (Eq.A.55) 222 À
240 A.5. Algèbre de Lie d'un groupe de Lie Partie 4 Par ailleurs, ompte tenu de la relations (Eq.A.55), l'identité de Jaobi devient: ad x [Y, Z) = [ad x Y, Z] + [Y, ad x Z]; VT, Z Q (Eq.A..56) e qui exprime que adx ' Q H peut être interprété omme une dérivée 2 de l'algèbre de Lie fj [ (Eq.A.53)]. Reprenons l'identité de Jaobi; ompte tenue de la relation (Eq.A.54), elle peut se mettre sous la forme: adx o-dy Z = ad{x,y] Z + ady o adx Z\ VZ {J (Eq.A.57) Finalement, la relation: ad[x,y] = a dx a dy ~~ a^v o.dx; VX, Y ç Q (Eq.A.58) La relation (Eq.A.58) représente une interprétation de l'identité de Jaobi pour le rohet de Lie [ (Eq.A.23)] en termes d'endomorphismes de l'algèbre de Lie g. Elle permet ainsi le alul de la dérivée de Lie assoiée au produit du rohet de Lie de deux hamps de veteurs en fontion des dérivées de Lie qui leurs sont assoiées. "Elle est dite dérivée de Lie. ~~223 j
241 Partie 4 Annexe A. NOTIONS DE LA THEORIE DES GROUPES ET ALGEBRES DE LIE 224
242 Annexe B MODELE GEOMETRIQUE DU ROBOT ACMA-H80 B.l Desription du robot ACMA-H80 Le robot ACMA-H80 se ompose d'un porteur et d'un poignet. La haîne inématique du porteur du robot est du type PRR et son poignet omporte trois rotations d'axes onourants (voir Fig. B.l). Tous les aluls néessaires au traitement de et exemple ont été effetués à l'aide de notre logiiel 1 dualstru.map: - Paramètres de Denavit-Hartenberg du robot ACMA-H80 - Elément d'indie i H TT/2 -TS 2 *"i 0 0 L 3 *-* Oi 0 02 $3 6>4 05 0a ai àx B.2 Modèle géométrique Notons qi la i em oordonnée artiulaire. Ainsi, nous avons le renommage de variables suivant: Elément d'indie i Paramètres artiulaires du robot ACMA-H80 - Type de l'artiulation Paramètre de D-H Variable artiulaire! P i <?i \ R R 03?3 R 0 4 Q4 R 0 5 q 5 R 06 qe 'Voir le hapitre 7 [ Page 195]. 225
243 Partie 4 Annexe B. MODELE GEOMETRIQUE DU ROBOT ACMA-H80 {Bras porteur) [Poignet) h4 \>5 Só Cette figure shématise ies artiulations du robot ACMA-H80 et les familles fondamentales assoiées aux éléments de Sa déomposition du robot ave les onventions de Denavit-Hartenberg. Fig. B.l: Shématisation du robot ACMA-H80 Les matries duales de passages, entre ies éléments adjaents du robot, assoiées aux onvenions de Denavit-Hartenberg sont: pour le porteur: [Dl] = os(ç2) sin(q2) 0 sín(q>2) os(q- ) O [Vil = os(g 3 ) -sm(<7 3 ) sin(q 3 ) os{q 3 ) el 3 sm(q 3 ) e L 3 os(ç 3 ) 226
244 ß.2. Modele géométrique Partie 4 pour le poignet: ( os(g4) sin(g 4 ) sm(q 4 j os(ç 4 ) e L,\ sm{qi) e L4 os(g4j / os(g 5 ) -sin(gs) 0 [»l] = \ -sin(g 5 ) -os(q 5 ) 0 [Dl»? 1 = os(g 6 ) -sin(q 6 ) sin(g 6 ) -os(g 6 ) 0 Le déplaement de passage qui aratérise la onfiguration de l'organe terminal est donnée par le produit de es six déplaements: D Q = D\D\D\D\D\D\ Ainsi, le modèle géométrique du robot, qui en déoule est donnée par la matrie duale [-DQJ. Après regroupement des paramètres angulaire, on obtient, les omposantes duale de ette matrie: ' n e 1 ( gl sin(go ) 91 sin(-g6 + gs+g ?2), 3 05( ) 3 o^-qn + qs-^qi), [ J - J '0*jl,1 \ 2 2 " 1 " 2 2 ~ t ~ 4 05( ) 4_COs( ) \ - i COsf ). COSÍ ) 2 2 / 2 2 f r> 6 1 ( 3 sin( ) _ 4 sin(9o + Ç ) 91 os(-gg ) _ 91 os(9û ) L xy 0*Jl>2 ^ sin(9g ) 1 4 sin(-9c )'\ sin( ) _ s»"(~ ) 2 2 / 2 2 [D 6 ( L $ 5111( ), 3 5Jn(-9o+95+94) j_ ( ) _i_ ^4 sin( ) \ 0:r,C \ H 0*J1,3 - ^ 2 + ^ sln W6> [Dl J 2,i = - sin((?5 + g ) - 9i os(g 5 + g 4 + ç 3 + g 2 ) ( >o J 2,2 = - os(ç ) + eqi sin(ç ) [Do*]2,3 = ( 3 œs( ) + os(9 5 )L 4 )e rnc i / 3 sin( ;) _ 4 sinf qç; ;) íi ÍBÍSa+_2SÍl2ll _ 9 og{9g ) L-*-'0*j3.1 ~ ^ - 2 * " r 91 os(-9o ) _ 4 sin{9o ) \, sin( ) _ 5^( ) 2 2 j E "*" 2 2 T r> 6 1 f L 3 os (f0 + '?3+.9?) _ 4 05( ) 4 os( ) _ Í-3 osf-çq ) _ L x -^0* J3,2 ^ sin( f 92), 91 sin( a) ; _. _ osí9o ). os( a) '2 2 y e 2 ^ 2 T r)6 1 _ f Li oa(9o+95+94) 3 os{ ), 4 05( ) 4 os(-90+95) \ nnb/ 1 [ L> 0*!3,3 I 2 2 " 2 2 / ~~ os W6j
245 Partie 4 Annexe B. MODELE GEOMETRIQUE DU ROBOT ACMA-H80 B.3 Configuration de Porgane terminal dans l'espae opérationnel Dans l'appliation suivante nous herhons à exprimer les oordonnées opérationnelles en fontion des oordonnées artiulaires du robot ACMA-H80. En d'autre termes, on herhe à exprimer le modèle géométrique inverse du robot. Plusieurs paramétrages du groupe des déplaements eulidiens sont possibles. Nous donnerons ii le modèle géométrique inverse assoié au paramétrage de1d> par e que nous avons onvenu d'appeler "les angles d'euler duaux", B.3.1 Calul formel D'après les relations (Eq.3.39), les angles d'euler duaux assoiés à la transformation [Dg J sont: failli+ [Dt}h\ 9 = artg \ L^Giks J < é - arta ([Olh, 3 /sin9\ [ V y \-[Dl] 3, 1 /sin9j Ainsi, le alul et ia simplifiation symbolique de es trois paramètres duaux grâe aux outils définis dans le module dualstru.map donne les expressions algébriques suivantes: pour 9: 1/2 thêta := (I 2 (- sin('/,2) sin('/.l) L4 os(- q[6] + q[5]) + os (7.2) os(xl) L3 os(q[6] + q[5] + q[4]) + sin(7.2) sin(7.1) L3 os(q[6] + q[5] + q[4]) + L3 osc/,4) os(7.2) os(q[6]) - L4 sin(7.5) sin(7.1) os(q[6]) + L4 sin(7.7) sin(7.2) os(q[6]) - L3 sin(7.6) sin(7.d os(q[6]) + L3 os(7.6) os(7.2) os(q[6]) - L4 sin(7.7) sin(7.1) os(q[6]) + L3 s in (7.4) sin(7.2) os(q[6]) + L4 sin(7.5) sin(7.2) os(q[6]) - L3 sin(7.4) sin(7.1) os(q[6]) - L3 os(7.6) os(7.1) os(q[6]) - L4 os(7.7) os(7.1) os(q[6]) + L4 os(7.7) os(7.2) os(q[6]) - L4 os(7.5) os(7.1) os(q[6]) + L3 s in (7.6) sin(7.2) os(q[6]) + L4 os(7.5) os(7.2) os(q[6]) - L3 os(7.4) os(7.1) os(q[6]) - os(7.2) os(7.1) L3 ost- q[6] + q[5] + q[4]) + os(7.2) os(v.l) L4 os(q[6] + q[5])
246 B.3. Configuration de 'organe terminal dans J'espae opérationnel Partie 4 - os (7.2) osc/.l) L4 os(- q[6] + q[5]) - sin('/.2) sin(7.1) L3 os(- q[6] + q[5] + q[4]) + sinc/,2) sin(xl) L4 os(q[6] + q[5]) - L3 os(q[6] + q[5] + q[4]) + L3 os(- q[6] + q[5] + q[4]) + L4 os(- q[6] + q[5]) 1/2 1/2 2 '/.3 1/2 - L4 os(q[6] + q[5])) eps - 2 I artanh(l/2 ) 7.3 os(q[6] ) 2 / (- 2 os(q[6]) + os (7.2) osc/,1) sin(7.2) sin(7.1))) / ( / 1/2 2 1/2 1/ os(q[6]) sin(7.2) sin(7.1) 1/ os(7.2) os(7.1)) 7.1 := q[6] + q[5] + q[4] + q[3] + q[2] 7.2 := - q[6] + q[5] + q[4] + q[3] + q[2] 7.3 := os(7.2) osc/,1) sin(7.2) sin(7.1) 7.4 := q[6] + q[3] + q[2] 7.5 := - q[6] + q[4] + q[3] + q[2] 7.6 := - q[6] + q[3] + q[2] 7.7 := q[6] + q[4] + q[3] + q[2] où le symbole artanh désigne la fontion ar tangente hyperbolique et I l'unité omplexe i telle que i 2 1. pour 4>: phi := ((8 q[l] - 2 osc/,2) L3 sin(7.5) + 2 osc/,1) L4 sin(7,4) - 4 os(7.2) q[l] os(7.1) - 2 os('/.2) L3 sinc/.6) + 2 os(xl) L3 sin(7.6) + 2 osc/.l) L3 sin(7.5) + 2 os(7.1) L4 sin(7.7) - 2 os(7.1) L4 sin(7.4) sin(7.2) sin(7.1) - 2 os(7.1) L4 sin(7.7) sin(7.2) sin(7.1) - 2 os(7.1) L3 sin(7,5) sin(7.2) sin(7.1) - 2 os(7.1) L3 sin(7.6) sin(7.2) sin(7.1)
247 Partie 4 Annexe B. MODELE GEOMETRIQUE DU ROBOT ACMA-H osçy.2) L3 sinc/,5) sin('/.2) sinc/.l) + 2 os('/.2) L4 sinc/,4) sin(7.2) sinc/.l) + 2 os('/.2) L4 sin(7.7) sin('/,2) sinc/.l) + 2 osc/,2) L3 sin (7.6) sinc/,2) sinc/.l) + 4 os('/.2) q[l] osc/.l) sinc/,2) sinc/.l) - 4 L4 os (7.7) sinc/,1) - 4 L4 os('/,4) sinc/.l) + 4 L3 os('/.5) sin(7.2) - os(7.1) L4 sin(7.4) os(7.2) + 4 L4 osc/,7) sin(7.2) 2-2 os(7.2) L4 sinc/,7) + 4 L4 os('/.4) sin(7.2) - 4 L3 os(7.6) sin(7.1) + 4 L3 os(7.6) sin(7.2) - 2 os(7.2) L4 sin(7.4) 2 + L4 os (7.7) sin(7.d os(7.1) - 8 q[i] sin(7.2) sin(7.1) 2-4 L3 os(7.5) sinc/.l) - L3 os(7,6) sin(7.2) os(7.2) q[l] sin(7.2) sin(7.1) os(7.1) + 2 q[l] sin(7.i) sin(7.2) os(7.2) L3 os(7.5) sin(7.d os(7.1) + 4 q[i] os(7.2) os(7.1) L3 os(7.5) sin(7.2) os(7.2) - os(7.1) L4 sin(7.7) os(7.2) L3 os(7.6) sin(7.1) os(7.1) - os (7.1) L4 s in (7.4) - os(7.1) L4 sin(7.7) L4 os(7.4) sinc/,2) os(7.1) + 3 L3 os(7.5) sin(7.1) os(7.2) L4 os(7.4) sin(7.2) os(7.2) + L4 os(7.4) sin(7.1) os(7.1) L4 os(7.7) sin(7.2) os(7.2) + os(7.2) L4 sin(7.4) L4 os(7.7) sin(7.2) os(7.1) + os(7.2) L3 sin(7.5) os(7.1) L3 sin(7.6) os(7.2) + 3 L4 os(7,7) sin(7.1) os(7.2) os (7.1) 1.3 sin(7.5) - os(7.1) L3 sin(7.5) os(7.2)
248 B.3. Configuration de 1'orga.ne terminal dans l'espae opérationnel osc/,2) L3 sin(7.6) osc/.l) + osc/,2) L3 sin('/,6) os('/.2) q[l] osc/.l) + 2 os('/.2) q[l] osc/.l) osc/,2) L4 sin(7.7) os (7.1) + osc/,2) L3 sin(7,5) os (7.1) os('/.l) L3 sin('/,6) + osc/,2) L4 sin('/.7) L3 osc/,6) sin('/,l> os('/.2) + osc/,2) L4 sin(7.4) os(7,i) L3 os(7.6) sin(7.2) os(7,l) - 3 L3 os(7.5> sin(7.2) os(7.1) L4 os (7.4) sin(7.1) os(7.2) - 6 q[l] os(7.1) - 6 q[l] os(7.2) ) eps os (7.2) os (7.1) os(7,2) os(7.1) os (7.1) os(7.2) os(7.2) osc/,1) sin(7.2) sin('/.l) sin(7.2) sin(7,l) os(7.2) os(7.1) os(7.2) sin(7.2) sin(7.1) sin(7.2) sin(7.1) os(7.1) os(7.2) + 6 7,3 os(7.1) - 8 */3) / / (8 + 4 os(7.2) os(7.1) + 2 os(7.2) os(7.1) + 2 os(7.1) os(7.2) / sin(7.2) sin(7.1) os(7.2) os(7,l) - 6 os(7.2) - 6 os(7.1) - 4 os(7.2) os(7.1) - 8 sin(7,2) sin(7.1) + 2 os(7.2) sin(7.2) sin(7.1) sin(7.2) sin(7.1) os(7.1) ) := q[6] + q[5] + q[4] + q[3] + q[2] 7.2 := - q[6] + q[s] + q[4] + q[3] + q[2] os (7.2) - os (7.1) 7.3 := artin( ) sin(7.2) - sin(7.d 7.4 := - q[6] + q[4] + q[3] + q[2] 7.5 := - q[6] + q[3] + q[2]
249 Partie 4 Annexe B. MODELE GEOMETRIQUE DU ROBOT ACMA-H := q[6] + q[3] + q[2] 7.7 := q[6] + q[4] + q[3] + q[2] pour ip: psi := - (L3 os(q[5] + q[4]) + os(q[5]) L4) eps sin(q[6] ) B.3.2 Appliation numérique Maintenant, si l'on suppose que les paramètres onstants L 3 et L4 sont égaux (L3 = L 4 = 50 m) et si l'on se donne la onfiguration artiulaire suivante: - Configuration artiulaire du robot ACMA-H80 - Elément d'indie i Type de l'artiulation Variable artiulaire Valeur P qi 10 m R 92 TT/4! R g 3 T/4 H 94 ff/4 Ä 95 TT/4 i R 9e TT/4 les oordonnées duales orrespondant à la onfiguration de l'organe terminal sont données par le tableau suivant: - Configuration de l'organe termina.! du robot ACMA-H80 - Angles d'euler duaux Preession duale: <j> Nutation duale: 8 Rot. prop, duale: ip \ Angle dual en (radian,m) (l0-25\/2) (50 N/ ) 4^ 7-50 S En séparant les parties réelles et duales des angles duaux on obtient les six oordonnées artiulaires réelles. Axe de transformation A f AT, T ( 1 - Coordonnées opérationnelles du robot ACMA-H80 - Angles d'euler lassiques en radian 0. 0 radian } = radian 4 7=0 radian Translations ardans en m a = (10-25 s/2) m. (50V ) 0 = m = 50 m 2
250 Annexe C SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRIANT DUAUX Cl Introdution Dans et annexe nous proposons des shémas optimaux pour le alul et la simulation numérique de e que nous avons onvenu d'appeler les angles d'euler et de Briant duaux assoiés à un déplaement donnée. C.2 Position du problème Dans les shémas que nous proposons dans les setions C.3 et C.4, on suppose que la matrie duale assoiée à la représentation adjointe d'un déplaement A est donnée relativement a une famille fondamentale f: ( ra M+iT L4 lii raiz+edaifl ra ït3 + eda li3 \ ra 2,i + eda 2,i ra 2;2 +eda 2a ra 2i3 + eda 2t3! ra 3A + s tl4 3,i ra 3i -2 + e da 3>2 ra 3t3 + t da 3<3 J où les paramètres symboliques raij et daij désignent respetivement les parties réelle et duale de la omposante [A»],j. L'implémentation automatique des shémas de alul des paramètres assoiés aux parties réelle et duale des angles d'euler et de Briant duaux a été dérite grâe aux outils définis dans les modules dualstru.map et def stru.map que nous avons érit pour Maple V. 233
251 Partie 4 Annexe C, SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRIANT DUAUX C.3 Shéma de alul des paramètres assoiés aux angles d'euler duaux L'implémentation du shéma optimal de alul des angles d'euler duaux suppose que la matrie [A*] est A-orthogonale et qu'elle vérifie les deux hypothèses suivantes: ra lts 0 ra\ tl +ra\ i2 î 0 alul des paramètres assoies aux angles d'euler duaux alul de la partie reelle de thêta ra31 = ra(3,l)**2 ra32 = ra(3,2)**2 sra = râ31+ra32 ra = sqrt(srâ) beta = atan(l/ra(3,3)*ra) alul de la partie duale de thêta ra33 = ra(3,3)**2 b = -(ra31*da(3 } 3)+rA32*dA(3,3)-dA(3,l)*rA(3,l)*rA(3,3 $ )-da(3,2)*ra(3,2)*ra(3,3))/ra/(ra33+sra) alul de la partie reelle de psi gamma = atan(ra(2,3)/ra(l,3)) alul de la partie duale de psi ra13 = ra(l,3)**2 ra23 = ra(2,3)**2 = (-ra(2,3)*da(l,3)+da(2,3)*ra(l ) 3))/(rA13+rA23) alul de la partie reelle de phi alpha = -atan(ra(3,2)/ra(l,3)) alul de la partie duale de phi a = (ra(3,2)*da(l,3)-da(3 J 2)*rA(l,3))/(rA13+rA32)
252 CA. Shéma de alul des paramètres assoiés aux angles de Briant du&ux Partie 4 C.4 Shéma de alul des paramètres assoiés aux angles de Briant duaux Comme pour le shéma préèdent, lïmplémentation du shéma optimal de alul des angles de Briant duaux suppose que la matrie [A t ] est orthogonale et qu'elle vérifie deux hypothèses: ra fe O ra\ x + ral A 0 alul des paramètres assoies aux angles de Briant duaux alul de la partie reelle de thêta rali = ra(l,l)**2 ra21 = ra(2,l)**2 ra = sqrt(rall+ra21) beta = ~atan(ra(3,l)/ra) alul de la partie duale de thêta sra = ra+ra2i sqra = sqrt(sra) ssra = sra**2 ra31 = ra(3,l)**2 b = -(-ra(3 J l)*da(l,l)*ra(l,l)-ra(3,l)*da(2,l)*ra(2,l)+ S da(3,l)*rall+da(3,l)*ra21)*sqra/ssra/(l+ra31/sra) alul de la partie reelle de psi gamma = atan(ra(2,î)/ra(l,1)) alul de la partie duale de psi = (-ra(2,l)*da(l ) l)+da(2,l)*ra(i,l))/(rall+ra21) alul de la partie reelle de phi alpha = atan(ra(3,2)/ra(3,3)) alul de la partie duale de phi ra33 = ra(3,3)**2 ra32 = ra(3,2)**2 tlo = -(ra(3,2)*dâ(3 ) 3)-dA(3,2)*rA(3,3))/(rA33+rA32) 235
253 Partie 4 Annexe C. SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRIANT DUAUX C.5 Appliation Revenons sur l'exemple du modèle géométrique inverse du robot ACMA-H80. Rappelons que le bras porteur du robot est une haîne inématique de type PRR et que son poignet est de type RRR à axes onourants. Les paramètres de Denavit-Hartenberg du robot ACMA-H80 étant: - Paramètres de Denavit-Hartenberg du robot ACMA-H80 - Elément d'indie i _ 7; T/2 7T/2 h di di omme préédement, en notant g la i em variables suivant: Elément d'indie i oordonnée artiulaire, nous avons le renommage de - Paramètres artiulaires du robot ACMA-H80 - Type de l'artiulation Paramètre de D-H 1 P i R 02 R 0.3 R 04 R 05 R 0 6 Varia bie artiujaire 9i Nous l'avons déjà, vu, la matrie duale qui dérit la onfiguration de l'organe terminale peut être alulée à partiré de ses omposantes duales: [n6 i _ ( q\ sinfg + qs + qj+ç3 + 92) q\ sin(-7 + qa g3+<js} i 3 o5( <;;) 3 os( qe ijj) + l^chji.,! ^ 2 ~ "*" 4 CQS(9C+I74+93T92) _ 4. COs(-9G + <?4+9J+9? ) \ j. i COSJqo+gó+Ç4+9.1+Í2 ), <=Os( ?) 2 2 J " " " 2 ' 2 m 6 1 / 3 sin( 9C ) ( ) 171 os( ) <?i eos(9o + q ) 1^0,11,2 - ^ sin(9e+9]+g 2). LA»in( ) \ _ sin(« ) _ sinj ) 2 " t " 2 ) b 2 2 f ) 6 1 = ( L3 s '"(?g+?s +*?») _i_ 3 sin( ), 4 sin(ç. + 9s), 4 sin( ) \.- _ s; nf fl \ [öo J 2,i = - sin(? 5 + <? ) - 9i os(g 5 + g 4 + q ) [-Do J2,2 = - os(q 5 + q 4 + q 3 + q 2 ) + e q x sin(g 5 + q A + g ) i jd o»]2,3 = ( 3 os(q 5 + g 4 ) + COS(Ç 5 )L 4 )E: 236
254 C.5. Appliation Partie 4 [ 4k: [^ojs.2 = ( \D í 3 sin( go í2) _ 4 sin( ) _ 3 siii(ge ) _ gi 003( ) ( \ ' "T" gi os( ) _ 4 sin( M, sin( ) _ 5111( ) t 2 2 ) ~f 2 2 " L 3 COg(gG ) _ 1-4 COg(o + 94+í3 + 92) _ 4 gos( q ) _ 3 ( ) sin( ) i 91 sin(9+<?5+g )^. _ COS(9O+9J <?2), os(-g ) 2 2 I 2 ' 2 - i I 3 os(g ?4) _ 3 os( ), 4 PsÇgp + gs) 4 os( ) \ _ / \ 0*J3,3 l 2 " / uö \y6; Le robot ACMA-H80, omme tout méanisme est une haîne inématique à mouvement foré. Les mouvements des éléments qui le omposent sont établits relativement à un élément de référene. Ces mouvements peuvent être de natures diverses. Les trajetoires suivent don des loi de différents types: linéaire, Bang-Bang, polynomial -en général, dans les problèmes d'ordre pratique, de degrés trois ou inq-... et. A titre d'appliation, on s'intéresse à savoire omment varient les six paramètres réels -dérivants l'espae opérationnel- assoiés aux angles d'euler et de Briant duaux. Ainsi nous proposons d'étudier leurs variations dans le as où toutes les trjetoires suivent une loi Bang-Bang. C.5.1 Desription des trajetoires - Loi Bang-Bang Dans des problèmes de simulation, on est souvent amener à préiser les lois que suivent les trajetoires. Une trajetoire qui suit une loi Bang-Bang omporte une phase aélérée j'usqu'à l'instant Í//2 et une phase déélérée. Dans es deux phases, le mouvement s'effetue ave des aélérations onstantes telles que les vitesses de départ et d'arrivée soient nulles. Ainsi, le mouvement est ontinu en position et en vitesse et disontinu en aélération [Fig. Cl]. La position artiulaire orrespondant à un tel mouvement est donnée par: ç(0= 2(q^-q i ) (j-^j +q l si 0 < t < q(t) = -2{q* -q*) t f J t f 2 + q* si -j- < t < tf Ainsi, dans la suite, toutes les trajetoires seront supposées suivre une loi Bang-Bang. C.5.2 Simulation des onfigurations de l'effeteur du robot ACMA~H80 Cette simulation, sera faite à partir des angles d'euler et de Briant duaux. On prendra le entimètre omme unité de mesure des distane et le radian pour la mesure des angles, 237 OllbJRKIS
255 Partie 4 Annexe C. SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRIANT DU AUX 2\qt- qy tf J- 4\ql- q'\/ (i Le mouvement est ontinu en position et en vitesse mais disontinu en aélération. Les aélérations durant es deux phases sont égales en valeurs absolues et de signes ontraires. Fig. C.1: Loi Bang-Bang r Elément d'indie j 1 2.._3 t Configurations artiulaires di. robot ACMA-H Type de i-"artiulation Con fig uration initiale 9) Conßguration ñnale q. P 0 m 10 m i R 0 radian 10 radian R 0 radian 10 radian R 0 radian 10 radian R 0 radian 10 radian R 0 radian 10 radian 23S
256 C.5. AppHatAon Pa.rt.ie 4 Fig. C.2: Simulation numérique de la loi Bang-Bang u Simu!_Euler_alpha.dat* -f 1 T 1 1! ' 1 a Simuî_Ëuîer_e.dat B - US S œ 4-6QD Axe des temps _i i _i_ ,5 5 Axe des temps Fig. C.3: Simulation numérique de la preession duale de l'organe terminal du robot ACMA-H80 239
257 Partie 4 Annexe C. SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BRÏANT DU AUX Fig. C.4: Simulation numérique de la nutation duale de l'organe terminai du robot ACMA H80 "î r! T- T if s r - _i i _i_ Axe des temps Fig. C>5: Simulation numérique de la rotation propre duale de l'organe terminal du robot ACMA-H80 240
258 C.5. Appliation Partie 4 o TS s [ ^ L 1 - S! t " 1 "",J: V -! J t 'Sirnul_Bnanl_a-dai" ~~ _ Axe des temps Fig. C.6: Simulation numérique du roulis dual de l'organe terminal du robot ACMA-H S 3 Axe des temps Axe des temps Fig. C.7: Simulation numérique du tangage dual de l'organe terminal du robot ACMA-HSO
259 Partie 4 Annexe C. SCHEMAS OPTIMAUX DU CALCUL DES ANGLES D'EULER ET DE BR1ANT DUAUX S TS Axe des lamps Fig. C.8: Simulation numérique du laet duale de l'organe terminal du robot ACMA-H80 242
260 Annexe D LE ROBOT PUMA 560 D.l Introdution Nous présentons dans et annexe un exemple omplet traité par le système MF77 pour la générations des odes assoiés au modèle dynamique du robot PUMA 560. MEDUSA D.2 Caratéristiques Le Puma 560 est un robot à six degrés de liberté de type pivot. Les aratéristiques du robot, supposées onnues dans le as présent, sont donnés par le tableau suivant: j - Paramètres de D.H. assoiés - j HZ CL! 2 3 H m 6 7; 0-7T/2 0 -TT/2 TT/2 -TT/2 di D >4 0 0 LJEJ 0 0 ^H 1^4 0 1 T Les autres aratéristiques (masses, moments d'inertie, produits d'inertie, entres d'inertie des éléments) du robot néessaires à îa desription paramétrée seront supposées symboliques. Si 0i j D.3 Desription paramétrée grâe au module DATASEIZE Cette setion dérit la saisie de la desription paramétrée par le module DATASEIZE système MEDUSA MF77 : du ENTRER L'IDENTIFICATEUR COMMUN DES FICHIERS: knowledge == Puma560; ENTREZ LE NOMBRE N DE D.D.L. DU ROBOT: N == 6; 243
261 Partie 4 Annexe D. LE ROBOT PUMA 560 ^4^4.^4 ) : Ä3*3 3) Fig. D.1: Le robot PUMA 560 * SAISIE DE LA SATURE DES ARTICULATIONS * NATURE DE LA le ARTICULATION: JoiNaturel == pivot; NATURE DE LA 2e ARTICULATION: JoiNature2 == pivot; NATURE DE LA 3e ARTICULATION: JoiNature3 == pivot;
262 D 3. Desription paramétrée grâe au module DATASEIZE Partie 4 NATURE DE LA 4e ARTICULATION: JoiNature4 == pivot; NATURE DE LA 5e ARTICULATION: JoiNatureS == pivot; NATURE DE LA 6e ARTICULATION: JoiNature6 == pivot; * SAISIE DES PARAMETRES NON VARIABLES * * CARACTERISANT LES ELEMENTS DU ROBOT * EMTREZ LES CARACTERISTIQUES GEOMETRIQUES DE LA CHAINE ROBOTIQUE. PARAMETRE ANGULAIRE CONSTANT DU le CORPS: gamraal == 0; le PARAMETRE EUCLIDIEN CONSTANT DU le CORPS: 11 == 0; 2d PARAMETRE EUCLIDIEN CONSTANT DU le CORPS: dl == 0; PARAMETRE ANGULAIRE CONSTANT DU 2e CORPS: gamma2 == -Pi/2; le PARAMETRE EUCLIDIEN CONSTANT DU 2e CORPS: 12 == 0; 2d PARAMETRE EUCLIDIEN CONSTANT DU 2e CORPS: d2 == 0; PARAMETRE ANGULAIRE CONSTANT DU 3e CORPS: gamma3 == 0; le PARAMETRE EUCLIDIEN CONSTANT DU 3e CORPS: 13 == L3; 2d PARAMETRE EUCLIDIEN CONSTANT DU 3e CORPS: d3 == D3; PARAMETRE ANGULAIRE CONSTANT DU 4e CORPS: gamma4 == -Pi/2; le PARAMETRE EUCLIDIEN CONSTANT DU 4e CORPS: 14 == L4; 2d PARAMETRE EUCLIDIEN CONSTANT DU 4e CORPS: d4 == D4; PARAMETRE ANGULAIRE CONSTANT DU 5e CORPS: gamma5 == Pi/2; le PARAMETRE EUCLIDIEN CONSTANT DU 5e CORPS: 15 == 0; 2d PARAMETRE EUCLIDIEN CONSTANT DU 5e CORPS: d5 == 0; PARAMETRE ANGULAIRE CONSTANT DU 6e CORPS: gamma6 == -Pi/2; le PARAMETRE EUCLIDIEN CONSTANT DU 6e CORPS: 16 == 0; 2d PARAMETRE EUCLIDIEN CONSTANT DU 6e CORPS: d6 == 0;
263 Partie 4 Annexe D. LE ROBOT PUMA 560 REECRITURE... REECRITURE,.. REECRITURE.., REECRITURE... DEBUT DE LA GENERTION DES CODES EM MAPLE ET FORTRAN 77 REECRITURE... REECRITURE... REECRITURE... REECRITURE... LA BASE DE CONNAISSANCE CONTENANT LE SYSTEME DE REECRITURE EN CODE MAPLE DU MODELE DYNAMIQUE DU ROBOT EST DANS LE FICHIER: Puraa560,map... LES SOURCES DU CODE FORTRAN OPTIMISE POUR LE CALCUL DU MODELE DYNAMIQUE EST DANS LE FICHIER: Puma560.for... VOULEZ VOUS AVOIR LES EQUATIONS EXPLICITES DU MODELE DU ROBOT POUR D'EVENTUELLES TRANSFORMATIONS FORMELLES? REPONDEZ PAR (o\n): Réponse == n; D.4 Base de onnaissane en ode maple générée par MEDUSA MF7T Cette base de onnaissane est sous forme d'un ode reoimaissable par le système Maple, fermée de règles représentant les référenes objetives des objets néessaires à la définition d'un shéma itératif pour le alul du modèle dynamique du robot Puma 560. Knowledge based on systems of rules rewriting termes The rewrite rule : R_l STE1 := sin(q[l]) ; The rewrite rule : R_2 CTE1 := os(qcll) ; The rewrite rule : R_3 STE2 := sin(q[2]) ; 246
264 DA. Base de onnaissane en ode mapîe générée par MEDUSA MF77 Partie 4 The rewrite rule : R_4 CTE2 := os(q[2]) ; The rewrite rule : R_5 STE3 := sin(q[3]) ; The rewrite rule : R_6 CTE3 := os(q[3]) ; The rewrite rule : R_7 STE4 := sin(q[4]) ; The rewrite rule : R_8 CTE4 := os(q[4]) ; The rewrite rule : R_9 STE5 := sin(q[5]) ; The rewrite rule : R_10 CTE5 := os(q[5]) ; The rewrite rule : R_ll STE6 := sin(q[6]) ; The rewrite rule : R_12 CTE6 := os(q[6]) ; The rewrite rule : R_13 LI13 := STE3*D3 ; The rewrite rule : R_14 L123 := -CTE3*D3 ; The rewrite rule : R_15 L133 := 0 ; The rewrite rule : R_16 L213 := CTE3*D3 ;
265 Partie 4 Annexe D. LE ROBOT PUMA 560 The rewrite rule : R_i7 L223 := STE3*D3 ; The rewrite rule : R_18 L233 := -l.*l3 ; The rewrite rule : R_19 L323 := L3*CTE3 ; The rewrite rule : R_20 L333 := 0 ; The rewrite rule : R_2i LI14 := STE4*D4 ; The rewrite rule : R_22 L124 := -CTE4*D4 ; The rewrite rule : R_23 L134 := 0 ; The rewrite rule : R_24 L2Í4 := L4*STE4 ; The rewrite rule : R_25 L224 := -L4*CTE4 ; The rewrite rule : R_26 L234 := 0 ; The rewrite rule : R_27 L324 := STE4*D4 ; The rewrite rule : R_28 L334 := -l.*l4 ; The rewrite rule : R_29 oml := arraycl.. 3,[(1)=0,(2)=0, (3)=Dq[l33) 248
266 DA. Base de onnaissane en ode maple générée par MEDUSA MF77 Partie 4 The rewrite rule : R_30 on»2 := arraycl.. 3,[(l)=-i.*STE2*oml[3],C25=CTE2*oml[3],(3)=Dq[2]3) ; The rewrite rule : R 31 om3 := arraycl.. 3,[(l)=CTE3*om2[l]-1.*STE3*om2[23,(2)=STE3*oin2[i]+CTE3*om2[ 2],(3)=om2[3]+Dq[3]]) ; The rewrite rule : R_32 oiîi4 := arraycl.. 3, C(l)=CTE4*om3[l]-1. *STE4*om3[3], (2)=STE4*om3[l]+CTE4*om3 [ 3] ; (3)=-l.*om3[2]+Dq[4]]) ; The rewrite rule : R_33 om5 := arraycl.. 3, [CD=CTE5*ont4[l]+STE5*om4[3], C2)=STE5*ora4[l] -1. *CTE5*om4[ 3],(3)=om4[2]+Dq[5]3) ; The rewrite rule : R_34 om6 := arraycl.. 3,[(D=CTE6*om5[l3-1.*STE6*om5[33,C2)=STE6*om5[l3+CTE6*om5[ 3],(3)=-l.*om5[2]+Dq[6]]) ; The rewrite rule : R_35 vll:= arraycl.. 3, [(1)=0,(2)=0,(3)=0]) ; The rewrite rule : R_36 vl2:= arraycl.. 3, [(1)=0,(2)=0,C3)=0]) ; The rewrite rule : R 37 vl3:= arraycl.. 3,[(l)=L113*om2[l]+L213*om2[2]+L313*om2[3],C2)=L123*om2[l]+ L223*om2[2]+L323*om2[3],(3)=L233*om2[2]3) ; The rewrite rule : R_38 vl4:= arraycl.. 3,C(l)=L114*om3[l]+L214*ora3[2]+L314*om3[33+CTE4*vl3[i3-l.* STE4*vl3[33,(2)=L124*om3[13 +L224*om3[2]+L324*om3[33 +STE4*vl3[13 +CTE4*vl3[33,(3) =L334*om3[33-l.*vl3[233) ; The rewrite rule : R_39 vl5:= arraycl.. 3, [(D=CTE5*vl4[l]+STE5*vl4[3], (2)=STE5*vl4[l]-l.*CTE5*vl4[ 33,(3)=vl4[233) ; The rewrite rule : R_40 vl6:= arraycl.. 3,C(l)=CTE6*vl5[l3-1.*STE6*vl5[3],(2)=STE6*vl5[l]+CTE6*vl5[
267 Partie 4 Annexe D. LE ROBOT PUMA 560 3],(3)=-l.*vl5[2]]) ; The rewrite rule : R_41 DomI := arrayü.. 3, [(1)=0,(2)=0, (3)=DDq[l]]) ; The rewrite rule : R_42 Dom2 := arrayci.. 3,[(l)=Dq[2]*CTE2*oml[3]-1.*STE2*Doml[3],(2)=Dq[2]*STE2* oml[3]+cte2*domi[3],(3)=ddq[2]]) ; The rewrite rule : R_43 Dom3 := array(l.. 3,[(l)=Dq[3]*STE3*m2[l]+Dq[3]*CTE3*om2[2]+CTE3*Dom2[l]--i. *STE3*Dom2[2],(2)=-l.*Dq[3]*CTE3*om2[l]+Dq[3]*STE3*m2[2]+STE3*Doni2[l]+CTE3* Dom2[2],(3)=Dom2[3]+DDq[3]]) ; The rewrite rule : R_44 Dom4 := array(1.. 3, [(l)=dq[4]*ste4*ora3[l]+dq[4]*cte4*om3[3]+cte4*dom3[l]-l. *STE4*Dom3[3],(2)=-l.*Dq[4]*CTE4*om3[l]+Dq[4]*STE4*om3[33+STE4*Dom3[l]+CTE4* Dom3[3],(3)=-1.*Dom3[2]+DDq[4]]) ; The rewrite rule : R_45 Dom5 := array(1., 3, [(l)=dq[5]*ste5*om4[l]-1.*dq[5]*cte5*om4[3]+cte5*dom4[l] +STE5*Dom4[3],(2)=-l.*Dq[5]*CTE5*om4[l]-1.*Dq[5]*STE5*om4[3]+STE5*Dom4[l]-1.* CTE5*Dom4[3].(3)=Dom4[2] +DDq[5]]) ; The rewrite rule : R_46 Dom6 := arrayci.. 3, [(l)=dq[6]*ste6*om5[l]+dq[6] *CTE6*om5[3]+CTE6*Dom5[l]-1. *STE6*Dom5[3],(2)=-l.*Dq[6]*CTE6*om5[1]+Dq[6]*STE6*om5[3]+STE6*Dom5 [1]+CTE6* Dom5[3],(3)=-l.*Dom5[2]+DDqC6]]) ; The rewrite rule : R_47 Wl := array(1.. 3,[(1)=0,(2)=0,(3)=gravity]) ; The rewrite rule : R_48 W2 := array(1.. 3,C(1)=-1.*STE2*W1[3], (2)=CTE2*W1[3],(3)=0]) ; The rewrite rule : R_49 W3 := arrayci.. 3,C(l)=CTE3*W2[í]-1.*STE3*W2[23+L113*Dom2[l]+L213*Dom2[2]+ L313*Dom2[3]+Dq[3]*L123*on2 [1]+Dq[3]*L223*om2[2]+Dq[3]*L323*om2[3],(2)=STE3*W2[ 1]+CTE3*W2 [2]+L123*Dom2[1]+L223*Dom2[2]+L323*Dom2[3] -Dq[3]*L113*om2[1]-Dq[3] * L213*om2[2]-Dq[3]*L313*om2[3], (3)=L233*Dom2 [2]] ) ; The rewrite rule : R_50 250~1
268 DA. Base de onnaissane en ode mapje générée par MEDUSA MF77 Partie 4 W4 := arraycl.. 3,[(1)=CTE4*W3[1]-1.*STE4*W3[3]+L114*Dom3[l]+L214*Dom3[2]+ L314*Dom3[3]+Dq[4]*L124*om3[1]+Dq[4]*L224*om3[2]+Dq[4]*L324*om3[3]+Dq[4]*STE4* vl3[1]+dq[4]*cte4*vl3 [3],(2)=STE4*W3[1]+CTE4*W3[3]+L124*Dom3[1]+L224*Dom3[2] + L324*Dom3[3]-1.*Dq[4]*L114*om3[1]-1.*Dq[4]*L214*om3[2]-1.*Dq[4]*L314*om3[3]-1.* Dq[4] *CTE4*vl3[1]+Dq[4]*STE4*vl3[3],(3)=-1.*W3[2]+L334*Dom3[3]]) ; The rewrite rule : R_5i W5 := arraycl.. 3,[(i)=CTE5*W4[l]+STE5*W4[3]+Dq[5]*STE5*vl4[l]-l.*Dq[5]*CTE5 *vl4[3],(2)=ste5*w4[1]-1.*cte5*w4[3]-1.*dq[5]*cte5*vl4[l]-1.*dq[5] *STE5*vl4[3], (3)=W4[2]]) ; The rewrite rule : R_52 W6 := arraycl.. 3,[(1)=CTE6*W5[1]-1.*STE6*W5[3]+Dq[6]*STE6*vl5[l]+Dq[6]*CTE6 *vl5[3] ) (2)=STE6*W5[l]+CTE6*W5[3]-l.*Dq[6]*CTE6*vl5Cl]+Dq[6]*STE6*vl5[3],(3)=-l *W5[2]]) ; The rewrite rule : R_53 V0G1 := arraycl.. 3,[(l)=-oml[3]*rosl[2],(2)=oml[3]*rosl[lj,(3)=0]) ; The rewrite rule : R_54 Fei :- arraycl.. 3,[(l)=-ml*(Doml[3]*rosl[2]+oml[3]*V0Gl[2]),(2)=ml*(Doml[3] *rosl[1]+oml[3]*v0g1[1]),c3)=ml*wl[3]j) ; The rewrite rule : R_55 V0G2 := arraycl.. 3, [U)=om2[2]*ros2[3] -om2[3]*ros2[2], C2)=om2[3]*ros2[l] - om2[1]*ros2[3],(3)=om2[1]*ros2[2]-om2[2] *ros2[1] ] ) ; The rewrite rule : R_56 Fe2 := arraycl.. 3,[(l)=-m2*(-W2[l]-Dom2[2]*ros2[3]+Dom2[3]*ros2[2]-om2[2]* V0G2[3]+om2[3]*V0G2 [2]),(2)=m2*CW2[2]+Dom2[3]*ros2[1]-Dom2[1]*ros2[3]+om2[3] * V0G2[1]-om2[1]*V0G2[3]),(3)=m2*(Dom2[1]*ros2[2]-Dom2[2]*ros2[1] +oni2[1]*v0g2[2]- om2[2]*v0g2[l])]) ; The rewrite rule : R 57 V0G3 := arraycl.. 3,[(l)=vl3[l]+om3[2]*ros3[33-om3[3]*ros3[2],(2)=vl3[2]+om3 [3]*ros3[1]=om3 [1]*ros3[3],C3)=vl3[3]+om3[1]*ros3[2] -om3[2] *ros3[1] ]) ; The rewrite rule : R_58 Fe3 := arraycl.. 3,[(l)=-m3*(-W3[l]-Dom3[2]*ros3[3]+Dom3[3]*ros3[2]-om3[2]* V0G3[3]+om3[3]*V0G3 [2]),(2)=n 3* CW3 [2]+Dom3[3]*ros3[1]-Dom3[1]*ros3[3]+om3 [3]* V0G3[1]-om3[1]*V0G3 [3]),(3)=-m3*(-W3[3]-Dom3[1]*ros3[2]+Dom3[2] *ros3[1]-om3[1] * V0G3[2]+om3[2]*V0G3[l])]) ; The rewrite rule : R 59 25J
269 Partie 4 Annexe D. LB ROBOT PUMA 560 V0G4 := arraycl.. 3,[(l)=vl4[l]+om4[2]*ros4[3]-om4[3]*ros4[2],(2)=vl4[2]+om4 [3]*ros4[1]-om4[1]*ros4[3],(3)=vl4[3]+om4[1]*ros4[2]-om4[2]*ros4[1]]) ; The rewrite rule : R_60 Fe4 := array(l,. 3,[(l)=m4*(W4[l]+Dom4[2]*ros4[3]-Dom4[3]*ros4[2]+om4[2]* V0G4[3]-om4[3]*V0G4[2]),(2)=m4*(W4[2]+Dora4[3]*ros4[i]-Dom4[1]*ros4[3]+om4[3] * V0G4[1] -om4[1]*v0g4[3]),(3)=m4*(w4[3]+dom4[1]*ros4[2]-dom4[2]*ros4[1]+om4[1]* VQG4[2]-om4[2]*V0G4[l])]) ; The rewrite rule : R_61 V0G5 := arraycl.. 3,[(l)=vl5[l]+om5[2]*ros5[3]-om5[3]*ros5[2],(2)=vl5[2]+om5 [3]*ros5[1]-om5[1]*ros5[3],(3)=vl5[3]+om5[1]*ros5[2]-om5[2]*ros5[1]]) ; The rewrite rule : R_62 Fe5 := arraycl.. 3,[(l)=m5*(W5[l]+Dom5[2]*ros5[3]-Dom5[3]*ios5[2]+om5[2]* V0G5[3]-om5[3]*V0G5[2]),(2)=-m5*(-W5[2]-Dom5[3] *ros5[1]+dom5[1]*ros5[3]-om5[3] * V0G5[1] +om5[1]*v0g5[3]),(3)=m5*(w5[3]+dom5[1]*ros5[2]-dom5[2]*ros5[1]+om5[1]* V0G5[2]-om5[2]*V0G5[l])]) ; The rewrite rule : R_63 V0G6 := arraycl.. 3, [(D=vl6[l]+om6[2]*ros6[3]-om6[3]*ros6[2], (2)=vl6[2]+om6 [3]*ros6[1]-om6[1]*ros6[3],C3)=vl6[3]+om6[1]*ros6[2]-om6[2]*ros6[1]]) ; The rewrite rule : R_64 Fe6 := arraycl.. 3,[Cl)=m6*(W6[i]+Dom6[2]*ros6[3]-Dom6[3]*ros6[2]+om6[2]* V0G6[3]-om6[3]*V0G6[2]),C2)=ni6* CW6[2]+Dom6[3]*ros6 Cl]-Dom6[1]*ros6[3]T 0 m6[3] * V0G6[1] -om6[1]*v0g6[3]),(3)=-m6*(-w6[3]-dom6[1]*ros6[2]+dom6[2]*ros6[1]-om6[1]* V0G6[2]+om6[2]*V0G6[l])]) ; The rewrite rule : R_65 I0M1 := arraycl.. 3, C(l)=-Ixz[l]*oml[3],(2)=-Iyz[l]*oml[3],C3)=Izz[l]*oml[3] 1) ; The rewrite rule : R_66 Nel := arraycl.. 3,[(1)=-Ixz[l]*Doml[3]-oml[3]*I0Ml[2]+rosl[2]*Fel[3]-rosl[3 ]*Fel[2],(2)=-Iyz[1]*DOEI[3]+oml[3]*I0M1[1]+rosl[3]*Fel[1]-rosl[1]*Fel[3],(3)= Izz[1]*Doml[3]+rosl[1]*Fel[2]-rosl[2]*Fel[1]] ) ; The rewrite rule : R_67 I0M2 := arraycl.. 3, [CD=Ixx[2] *om2[l]-ixy [2] *om2[2] -Ixz[2]*om2[3], (2)=-Ixy C 2]*om2[1]+Iyy[2]*om2[2]-Iyz [2]*om2[3],(3)=-Ixz[2]*om2[1]-Iyz[2]*om2[2]+Izz[2]* om2[3]]) ; 252
270 DA. Base de onnaissane en ode maple générée par MEDUSA MF77 Partie 4 The rewrite rule : R_68 Ne2 := arrayfl.. 3,[(l)=Ixx[2]*Dom2[l]-Ixy[2]*Dom2[2]-Ixz[2]*Dom2[3] +om2[2]* I0M2[3] -om2[3]*i0m2[2]+ros2[2]*fe2[3]-ros2[3]*fe2 [2],(2)=-Ixy [2]*Dom2[1]+Iyy [2] *Dom2[2]-lyz[2]*Dom2 [3]+om2 [3]*I0M2[1]-om2[1]*I0M2 [3]+ros2[3]*Fe2[1]-ros2[1]* Fe2[3],(3)=-Ixz[2]*Dom2[l]-Iyz[2]*Dom2[2]+Izz[2]*Dom2[3]+om2[l]*I0M2[23-om2[2]* I0M2[1]+ros2[1]*Fe2[2]-ros2[2]*Fe2[1] ] ) ; The rewrite rule : R_69 I0H3 := array(1.. 3,[(l)=Ixx[3]*om3[l]-Ixy[3]*om3[2]-Ixz[3]*om3[33, (2)=-Ixy[ 3]*om3[1]+Iyy[3]*ora3 [2]-lyz [3]*om3[3],(3)=-Ixz[3]*om3[1]-lyz[3]*om3[2] +Izz[3]* om3 [3] ] ) ; The rewrite rule : R_70 Ne3 := array(l.. 3, [(l)=ixx[3]*dom3[l]-ixy[3]*dom3[23-ixz[3]*dom3[3]+om3[2]* 10M3[3] -om3[3]*i0m3[2]+ros3[2]*fe3[3]-ros3[3]*fe3 [2],(2)=-Ixy[3]*Dom3[1]+Iyy[3] *Dom3[2]-lyz[3]*Dom3 [3]+om3[3]*I0M3[1]-om3[1]*I0M3[3]+ros3[3]*Fe3[1] -ros3[1]* Fe3[3],(3)=-Ixz[3]*Dom3[1]-lyz[3]*Dom3[2]+Izz[3]*Dom3[3]+om3[1]*I0M3[2] -om3[2]* I0M3[1]+ros3[1]*Fe3[2]-ros3[2]*Fe3[1] ] ) ; The rewrite rule : R_71 I0M4 := array(1.. 3,[(l)=Ixx[4]*om4[l]-Ixy[4]*om4[2]-Ixz[4]*om4[3],(2)=-Ixy[ 4]*om4[1]+Iyy[4]*om4 [2]-lyz[4]*om4[3],(3)=-Ixz [4]*om4[1]-lyz[4]*om4[2] +Izz[4]* om4[3] ] ) ; The rewrite rule : R_72 Ne4 := array(l.. 3,[(l)=Ixx[4]*Dom4[l]-Ixy[4]*Dom4[2]-Ixz[4]*Dom4[3]+om4[2]* I0M4[3]-om4 [3]*I0M4 [2]+ros4[2]*Fe4[3]-ros4[3]*Fe4[2],(2)=-Ixy[4]*Dom4[1] +Iyy[4] *Dom4[2]-lyz[4]*Dom4 [3]+om4[3]*I0M4[1]-om4[1]*I0M4[3]+ros4[3]*Fe4[1] -ros4[1]* Fe4[3],(3)=-Ixz[4]*Dom4[l]-Iyz[4]*Dom4[2]+Izz[4]*Dom4[3]+oœ4[l]*I0M4[2]-om4[2]* I0M4[1]+ros4[1]*Fe4[2]-ros4[2]*Fe4[1] ] ) ; The rewrite rule : R_73 I0M5 := arraycl.. 3, [U)=Ixx[5]*om5[l]-Ixy [5]*om5[2]-Ixz[5]*ora5[3], (2)=-Ixy[ 5]*om5[1]+Iyy[5]*om5 [2]-lyz[5]*om5[3],(3)=-Ixz[5]*om5[1]-lyz[5]*om5[2] +Izz[5]* om5 [3] ] ) ; The rewrite rule : R_74 Ne5 := array(l.. 3,[(l)=Ixx[5]*Dom5[l]-Ixy[5]*Dom5[2]-Ixz[5]*Dom5[3]+om5[2]* I0M5[3]-om5[3]*I0M5[2]+ros5[2]*Fe5[3]-ros5[3]*Fe5[2],(2)=-Ixy[5]*Dom5[1]+Iyy[5] *Dom5[2]-lyz[5]*Dom5[3]+om5[3]*I0M5[1]-om5[1]*I0M5[3]+ros5[3]*Fe5[i] -ros5[1]* Fe5[3],(3)=-Ixz[5]*Dom5 [1]-lyz[5]*Dom5[2]+Izz[5]*Dom5[3]+om5[1]*I0M5[2] -om5[2]* I0M5[1]+ros5 [1]*Fe5 [2]-ros5[2]*Fe5[1]]) ; The rewrite rule : R_75
271 Partie 4 Annexe D. LE ROBOT PUMA 560 I0M6 := array( [(l)=ixx[6]*om6[l]-ixy[6]*om6[2]-ixz[6]*om6[3],(2)=-ixy[ 6]*om6[1]+Iyy[6] *om6[2]-lyz[6]*om6[3],(3)=-ixz[6]*om6[1] -Iyz[6]*om6[2] +Izz[6]* om6[3]]) ; The rewrite rule : R_76 Ne6 := array(l.. 3,[(l)=Ixx[6]*Dom6[l]-Ixy[6]*Dom6[2]-Ixz[6]*Dom6[33+om6[2]* I0M6[3]-om6[3] *I0M6[2]+ros6[2]*Fe6[3]-ros6[3]*Fe6[2],(2)=-Ixy[6]*Dom6[1]+Iyy[6] *Dom6[2]-Iyz[6] *Dom6[3]+om6[3]*I0M6[1]-om6[1]*I0M6[3]+ros6[3]*Fe6[1]-ros6 [1]* Fe6 [3], (3)=-Ixz[6] *Dom6[1] -Iyz [6] *Dom6 [2] +Izz [6] *Dom6 [3] +ora6 [1] *I0M6 [2] -oir.6 [2] * I0M6[1]+ros6[1]*Fe6[2]-ros6[2]*Fe6[1]]) ; The rewrite rule : R_77 fa6 := array(i.. 3,E(l)=Fe6[1],(2)=Fe6[23,(3)=Fe6[3]]) ; The rewrite rule : R_78 fa5 := array(1.. 3,C(l)=CTE6*fa6[l]+STE6*fa6[2]+Fe5[l],(2)=-l.*fa6[3]+Fe5[2], (3) =-1. *STE6*f a6 [1] +CTE6*f a6 [2] +Fe5 [3] ] ) ; The rewrite rule : R_79 fa4 := arraycl.. 3,[(l)=CTE5*faoCll+STES^fa5[2]+Fe4[l],(2)=fa5[3]+Fe4[2], (3) =STE5*f a5 [1]-i.*GTE5*fa5[2]+Fe4[3]]) ; The rewrite rule : R_80 fa3 := arraycl.. 3, [(D=CTE4*fa4[l]+STE4*fa4[2]+Fe3[l], (2)=-l.*fa4[3]+Fe3[2],(3)=-l.*STE4*fa4[l]+CTE4*fa4[23+Fe3[3]]) ; The rewrite rule : R_81 fa2 := arraycl.. 3,[(l)=CTE3*fa3[l]+STE3*fa3[2]+Fe2[l],(2)=-l.*STE3*fa3[l]+ CTE3*fa3[2]+Fe2[2] 3 (3)=fa3[3]+Fe2[3]]) ; The rewrite rule : R_82 fal := arraycl.. 3,[(l)=CTE2*fa2[l]+STE2*fa2[2]+Fel[l],(2)=-l.*fa2[3]+Fel[2], (3) =-1. *STE2*f a2 [1] +CTE2*f a2 [2] +Fel [3]] ) ; The rewrite rule : R_83 na6 := arraycl.. 3,[(l)=Ne6[1],C2)=Ne6[2],(3)=Ne6[3]j) ; The rewrite rule : R_84 NFR5 := arraycl.. 3,[(l)=na6[1],C2)=na6[2],(3)=na6[3]]) ; The rewrite rule : R_85 na5 := arraycl.. 3,[(l)=Ne5[l]+CTE6*NFR5[l]+STE6*KFR5[2],(2)=Ne5[2]-1.*NFR5[ 254
272 DA, Base de onnaissane en ode maple générée par MEDUSA MF77 Partie 4 3],(3)=Ne5[3]-1.*STE6*NFR5[1]+CTE6*NFR5[2] ] ) ; The rewrite rule : R_86 NFR4 := array(1,. 3,E(l)=na5[l],(2)=na5[2],(3)=na5[3]]) ; The rewrite rule : R_87 na4 := arraycl.. 3,[(l)=Ne4[l]+CTE5*NFR4[l]+STE5*NFR4[2],(2)=Ne4[2]+KFR4[3], (3)=Ne4[3]+STE5*NFR4[1]-1.*CTE5*NFR4[2] ] ) ; The rewrite rule : R_88 SFR3 := arraycl.. 3,[(I)=na4[l]+L114*fa4[l]+L214*fa4[2]+L314*fa4[3],(2)=na4[ 2] +L124*fa4[1]+L224*fa4[2]+L324*fa4[3],(3)=na4[3]+L334*fa4[3]]) ; The rewrite rule : R_89 na3 := array(l.. 3,[Ü)=Ne3[l]+CTE4*NFR3[l]+STE4*NFR3[2],(2)=Ne3[2]-1.*NFR3[ 3],(3)=Ne3[3]-l.*STE4*NFR3[l]+CTE4*NFR3[2]]) ; The rewrite rule : R_90 NFR2 := arraycl.. 3,[(I)=na3[i]+L113*fa3[l]+L213*fa3[2]+L313*fa3[3],(2)=na3[ 2]+L123*fa3[l]+L223*fa3[2]+L323*fa3[3],(3)=na3[3]+L233*fa3[2]]) ; The rewrite rule : R_91 na2 := array(l.. 3,[(l)=Ne2[l]+CTE3*NFR2[1]+STE3*NFR2[2],(2)=Ne2[2] -1.*STE3* NFR2[1]+CTE3*NFR2[2],(3)=Ne2[3]+NFR2[3]]) ; The rewrite rule : R_92 NFR1 := array(1.. 3,[(l)=na2[l],(2)=na2[2],C3)=na2[3]]) ; The rewrite rule : R_93 nal := array(l.. 3,[(l)=Nel [1]+CTE2*NFR1[1]+STE2*NFR1[2],(2)=Kel[2] -1.*NFRi[ 3],(3)=Nel[3]-l.*STE2*NFRl[l]+CTE2*NFRl[2]]) ; The rewrite rule : R_94 Qgl := nal[3] ; The rewrite rule : R_95 Qg2 := na2[3] ; The rewrite rule : R_96 Qg3 := na3[3] ;
273 Partie 4 Annexe D. LE ROBOT PUMA 560 The rewrite rule : R_97 Qg4 := na4[3] ; The rewrite rule : R_98 Qg5 := na5[3] ; The rewrite rule : R_99 Qg6 := na6[3] ; D.5 Code Fortran généré par MEDUSA MF77 Dans ette setion, nous présentons le ode en ligne dans le langage Fortran généré automatiquement par le système MEDUSA MF77. Iî présente un shéma de alul, du modèle dynamique itératif, optimisé en nombre d'opérations élémentaires d'addition et de multipliation et en nombre d'évaluations des fontions trigonomêtriques os et sin. -- The Fortran file Puma560.f automatilly generated by MEDUSA MF77 (version 1.0). -- Ali HAMULI, CERMA-ENPC, Paris, Frane. hasthalie.enp.fr, Tel: (1) , Fax: (1) subroutine Puma560( q, Dq, DDq, Qg) impliite double preision (a-z) -- This subroutine omputes the generalized fores and torques needed at the joints in order to balane the reation fores and moments ating on the links, -- The effet of gravity loading on the links is inluded simply by setting the linear fundamental aeleration W= Gravity, where "Gravity" is the gravity vetor, Auxiliary variables Type of variables double preision NFR4(3), I0M2(3), NFR2(3), V0G2Í3), I0M3(3), NF $ R3(3), V0G3C3), V0G4(3), I0M4C3), CTE1, STE1, CTE2, STE2, CTE3, ""25?
274 D.S. Code Fortran généré par MEDUSA MF77 Partie 4 $ STE3, CTE4, STE4, CTE5, STE5, I0M5Í3), NFR5(3), V0G5(3), I0M6(3) $, NFR6(3), V0G6C3), CTE6, STE6 Common delarations ommon/vaux/ I0M2, CTE1, STE1, CTE2, STE2, NFR2, V0G2, I0M3, CTE3, $ STE3, NFR3, VÜG3, I0M4, CTE4, STE4, NFR4, V0G4, I0M5, CTE5, STE $ 5, NFR5, V0G5, I0M6, CTE6, STE6, NFR6, V0G6 Dynami model variables Type of variables double preision q(6), Dq(6), DDq(6), $ (6), Ixy(6), Ixz(6), Iyz(6), gravity double preision oml(3 $ fal(3), nal(3), rosl(3 double preision om2(3 $ fa2(3), na2(3), ros2(3 double preision om3(3 $ fa3(3), na3(3), ros3(3 double preision om4(3 $ fa4(3), na4(3), ros4(3 double preision ora5(3 $ fa5(3), na5(3), ros5(3 double preision om6(3 $ fa6(3), na6(3), ros6(3 m6 double preision L3,D3,L4,D4 Doml(3), vil ml Com2(3), vl2 m2 Dom3(3), vl3 m3 Dom4(3), vl4 m4 Dom5(3), vl5 m5 Dom6(3), vl6 Qg(6), Ixx(6), Iyy(6), Izz (3), Wl(3), Fel(3), Nel(3), (3), W2(3), Fe2(3), Ke2(3), (3), W3(3), Fe3(3), Ne3(3), (3), W4(3), Fe4(3), Ne4(3), (3), W5(3), Fe5(3), Ne5(3), (3), W6(3), Fe6(3), Ne6(3), Common delarations ommon/vgen/ q, Dq, DDq, Qg ommon/vmg/ rosi, ml, Ixy, m4, m5, Iyy, Ixx, m6, ros2, ros3, Izz, $ gravity, m3, Ixz, lyz, ros4, ros5, ros6, m2 ommon/vme/ oml, Doml, vil, Wl, Fel, Nel, fal, nal $, om2, Dom2, vl2, W2, Fe2, Ne2, fa2, na2 $, om3, Dom3, vl3, W3, Fe3, Ne3, fa3, na3 $, om4, Dom4, vl4, W4, Fe4, Ne4, fa4, na4 $, om5, Dom5, vl5, W5, Fe5, Ne5, fa5, na5 $, om6, Dom6, vl6, W6, Fe6, Ne6, fa6, na6 ommon/vsal/l3,d3,l4,d4
275 Partie 4 Annexe D. LE ROBOT PUMA Where q: the 6 dimensional vetor of generalised positions, Dq: the 6 dimensional vetor of generalised veloities, DDq: the 6 dimensional vetor of generalised aelerations, Qg: the 6 dimensional vetor of generalised fores and torques, ros.i: the three dimensional vetor position of the enter of mass G_i relative to the origine Q_i of frame i attahed to the i_th link, om_i: the angular veloity of link i, vl_i: the linear veloity of link i in the origine 0_i, Dom_i: the angular aeleration of link i, W_i: the linear aeleration of link i in the origine 0_i augmented by m_i*gravity_i, where m_i is the mass of the i_th body and Gravity_i is the Gravity vetor expressed in the i_th frame, Fe_i: the total external fore exrted on link i, Ne_i: the total external moment exerted on link i in the origine 0_i, fa_i: the fore exrted on link i by link i-1, na_i: the moment exerted on link i by link i-1 evaluated in the origine Q_i, Ixx,Iyy,Izz: the 6 dimensional vetors of the link mass menents about the enters of mass, Ixy,Ixz,Iyz: the 6 dimensional vetors of the link mass produts about the origins of frames attahed to links, g: the loal gravitational parameter. STE1 dsin(q(l CTE1 dos(q(l STE2 dsin(q(2 CTE2 dos(q(2 STE3 dsin(q(3 CTE3 dos(q(3 STE4 dsin(q(4 CTE4 dos(q(4 STE5 dsin(q(5 CTE5 dos(q(5 STE6 dsin(q(6 CTE6 dos(q(6 L113 ST 3*D3 L123 -GTE3*D3 L213 -L123 L223 L113 L233 -L3 L313 -L3*STE3 L323 L3*CTE3 L333 is equal to zero LI14 = STE4*D4 L124 = -CTE4*D4 L214 = L4*STE4
276 D.5. Code Fortran généré par MEDUSA MF77 Partie 4 L224 = -L4*CTE4 L234 is equal to zero L314 = CTE4+D4 L324 = STE4*D4 L334 = -L4 -- Now the program omputes angular veloities, The 1st link * 1st oordinate oml(l) is equal to zero * 2nd oordinate oml(2) is equal to zero * 3rd oordinate oml(3) = Dq(l) The 2nd link * 1st oordinate om2(l) = -STE2*oml(3) * 2nd oordinate om2(2) = CTE2*oml(3) * 3rd oordinate om2(3) = Dq(2). The 3rd link * 1st oordinate om3(l) = CTE3*om2(l)-STE3*om2(2) * 2nd oordinate om3(2) = STE3*om2(l)+CTE3*om2(2) * 3rd oordinate om3(3) = om2(3)+dq(3) The 4th link * 1st oordinate om4(l) = CTE4*om3(l)-STE4*om3(3) * 2nd oordinate om4(2) = STE4*om3(l)+CTE4*om3(3) * 3rd oordinate om4(3) = -om3(2)+dq(4) _ The 5th link * 1st oordinate om5(l) = CTE5*om4(l)+STE5*om4(3)
277 Partie 4 Annexe D. LE ROBOT PUMA 560 * 2nd oordinate om5(2) - STE5*om4(l)-CTE5*om4(3) * 3rd oordinate om5(3) = om4(2)+dq(5) The 6th link * 1st oordinate om6(l) = CTE6*om5(l)-STE6*om5(3) * 2nd oordinate on 6(2) = STE6*om5(i)+CTE6*om5(3) * 3rd oordinate om6(3) = -om5(2)+dq(6) Now the program omputes linear veloities, The 1st link * 1st oordinate vll(l) is equal to zero * 2nd oordinate vll(2) is equal to zero * 3rd oordinate vll(3) is equal to zero The 2nd link * 1st oordinate vl2(l) is equal to zero * 2nd oordinate vl2(2) is equal to zero * 3rd oordinate vl2(3) is equal to zero The 3rd link * 1st oordinate vl3(l) = L113*om2(l)+L213*om2(2)+L313*om2(3) * 2nd oordinate vl3(2) = L123*om2(l)+L223*om2(2)+L323*om2(3) * 3rd oordinate vl3(3) = L233*om2(2) The 4th link
278 D.S. Code Fortran généré pur MEDUSA MF77 Partie 4 * ist oordinate vl4(l) = L114*om3(l)+L214*om3(2)+L314*om3(3)+CTE4*vl3(l)-STE4*vl3( $ 3) * 2nd oordinate vl4(2) = L124*om3(l)+L224*om3(2)+L324*om3(3)+STE4*vl3(l)+CTE4*vl3( $ 3) * 3rd oordinate vl4(3) = L334*om3(3)-vl3(2) The 5th link * 1st oordinate vl5(l) = CTE5*vl4(l)+STE5*vl4(3) * 2nd oordinate vl5(2) = STE5*vl4(l)-CTE5*vl4(3) * 3rd oordinate vl5(3) = vl4(2) The 6th link * 1st oordinate vl6(l) = CTE6*vl5(l)-STE6*vl5(3) * 2nd oordinate vl6(2) = STE6*vl5(l)+CTE6*\rl5(3) * 3rd oordinate vl6(3) = -vl5(2) -- Now the program omputes angular aelerations, The 1st link * 1st oordinate Doml(l) is equal to zero * 2nd oordinate Doml(2) is equal to zero * 3rd oordinate Doml(3) = DDq(l) The 2nd link * 1st oordinate Dom2(l) = Dq(2)*CTE2*oml(3)-STE2*Doml(3) * 2nd oordinate Dom2(2) = Dq(2)*STE2*oml(3)+CTE2*Domi(3) * 3rd oordinate Dom2(3) = DDq(2) The 3rd link 261
279 Partie 4 Annexe D. LE ROBOT PUMA 560 * 1st oordinate Dom3(l) = Dq(3)*STE3*om2(l)+Dq(3)*CTE3*om2(2)+CTE3*Dom2(l)-STE3* $ Dom2(2) * 2nd oordinate Dom3(2) = -Dq(3)*CTE3*om2(l)+Dq(3)*STE3*om2(2)+STE3*Dom2(l)+CTE3 $ *Dom2(2) * 3rd oordinate Dom3(3) = Dom2(3)+DDq(3) The 4th link * 1st oordinate Dom4(l) = Dq(4)*STE4*om3(l)+Dq(4)*CTE4*om3(3)+CTE4*Dom3(l)-STE4* $ Dor3(3) * 2nd oordinate Dom4(2) = -Dq(4)*CTE4*om3(l)+Dq(4)*STE4*om3(3)+STE4*Dom3(l)+CTE4 $ *Dom3(3) * 3rd oordinate Dom4(3) = -Dom3(2)+DDq(4) The 5th link * 1st oordinate Dom5(l) = Dq(5)*STE5*om4(l)-Dq(5)*CTE5*om4(3)+CTE5*DQm4(l)+STE5* $ Dom4(3) * 2nd oordinate Dom5(2) = -Dq(5)*CTE5*om4(l)-Dq(5)*STE5*om4(3)+STE5*Dom4(l)-CTE5 $ *Dom4(3) * 3rd oordinate Dom5(3) = Dom4(2)+DDq(5) The 6th link * 1st oordinate Dom6(l) = Dq(6)*STE6*om5(l)+Dq(6)*CTE6*om5(3)+CTE6*Dom5(l)-STE6* $ Dors5(3) * 2nd oordinate Dom6(2) = -Dq(6)*CTE6*om5(l)+Dq(6)*STE6*om5(3)+STE6*Do n5(l)+cte6 $ *Dom5(3) * 3rd oordinate Dom6(3) = -Dora5(2)+DDq(6) -- Now the program omputes linear fundamental aelerations, The 1st link * 1st oordinate Wi(l) is equal to zero * 2nd oordinate Wl(2) is equal to zero 262
280 D.5. Code Fortran généré par MEDUSA MF77 Partie 4 * 3rd oordinate Wl(3) = gravity The 2nd link * 1st oordinate W2(l) = -STE2*Wi(3) * 2nd oordinate W2(2) = CTE2*Wi(3) * 3rd oordinate W2(3) is equal to zero The 3rd link * 1st oordinate W3(l) = CTE3*W2(l)-STE3*W2(2)+L113*Dom2(l)+L213*Dom2(2)+L313*Dom $ 2(3)+Dq(3)*L123*om2(l)+Dq(3)*L223*om2(2)+Dq(3)*L323*om2(3) * 2nd oordinate W3(2) = STE3+W2(1)+CTE3*W2(2)+L123*Dora2(1)+L223*Dom2(2)+L323*Dom $ 2(3)-Dq(3)*L113*om2(l)-Dq(3)*L213*om2(2)-Dq(3)*L313*om2(3) * 3rd oordinate W3(3) = L233*Dom2(2) The 4th link * 1st oordinate W4(l) = CTE4*W3(l)~STE4*W3(3)+L114*Dom3(l)+L214*Dom3(2)+L314*Dom $ 3(3)+Dq(4)*L124*om3(l)+Dq(4)*L224*om3(2)+Dq(4)*L324*om3(3)+Dq(4)* $ STE4*vl3(l)- -Dq(4)*CTE4*vl3(3) * 2nd oordinate W4(2) = STE4*W3(l)+CTE4*W3(3)+L124*Dom3(l)+L224*Dom3(2)+L324*Dorn $ 3(3)-Dq(4)*L114*om3(l)-Dq(4)*L214*om3(2)-Dq(4)*L314*om3(3)-Dq(4)* $ CTE4*vl3(l)+Dq(4)*STE4*vl3(3) * 3rd oordinate W4(3) = -W3(2)+L334*Dom3(3)._ The 5th link * 1st oordinate W5(l) = CTE5*W4(l)+STE5*W4(3)+Dq(5)*STE5*vl4(l)-Dq(5)*CTE5*vl4(3 $ ) * 2nd oordinate W5(2) = STE5*W4(l)-CTE5*W4(3)-Dq(5)*CTE5*vl4(l)-Dq(5)*STE5*vl4(3 $ ) * 3rd oordinate W5(3) = W4(2) The 6th link * 1st oordinate
281 Partie 4 Annexe D, LE ROBOT PUMA 560 W6(l) = CTE6*W5(l)-STE6*W5(3)+Dq(6)*STE6*vl5(l)+Dq(6)*CTE6*vl5(3 $ ) * 2nd oordinate W6(2) = STE6*W5(l)+CTE6*W5(3)-Dq(6)*CTE6*vl5(l)+Dq(6)*STE6*vl5(3 $ ) * 3rd oordinate W6(3) = ~W5(2) -- Now the program omputes inertial fores ating at the enter of mass. The 1st link Loal priliminary alulations VOGl(l) = -oml(3)*rosl(2) V0G1(2) = oml(3)*rosl(l) V0G1(3) is equal to zero * 1st oordinate Fel(l) = -ml*(doml(3)*rosl(2)+oml(3)*v0gl(2)) * 2nd oordinate Fel(2) = ml*(doml(3)*rosl(l)+oml(3)*v0gl(l)) * 3rd oordinate Fel(3) = ml*wl(3) The 2nd link Loal priliminary alulations VQG2(i) = on 2(2)*ros2(3)-om2(3)*ros2(2) VDG2(2) = om2(3)*ros2(l)-om2(l)*ros2(3) V0G2(3) = om2(l)*ros2(2)-om2(2)*ros2(l) * 1st oordinate Fe2(l) = =m2*(-w2(l)-dom2(2)*ros2(3)+dom2(3)*ros2(2)-o!r:2(2)*v0g2(3 $ )+om2(3)*vgg2(2)) * 2nd oordinate Fe2(2) = m2*(w2(2)+dom2(3)*ros2(l)-dom2(l)*ros2(3)+om2(3)*v0g2(l)- $ om2(l)*v0g2(3)) * 3rd oordinate Fe2(3) = m2*(dom2(i)*ros2(2)-dom2(2)*ros2(l)+om2(l)*v0g2(2)-on;2(2) $ *V0G2(1)) The 3rd link Loal priliminary alulations V0G3(1) = Vl3(l)+om3(2)*ros3(3)~om3(3)*ros3(2) 264 0!tsI>K?>rH'(iM-i!i-J
282 D.5. Code. Fortran généré par MEDUSA MF77 Partie 4 V0G3(2) = vl3(2)+om3(3)*ros3(l)-om3(l)*ros3(3) V0G3C3) = vl3(3)+om3(l)*ros3(2)-om3(2)*ros3(l) * 1st oordinate Fe3(l) = -m3*(-w3(l)-doœ3(2)*ros3(3)+dom3(3)*ros3(2)-om3(2)*v0g3(3 $ )+om3(3)*v0g3(2)) * 2nd oordinate Fe3(2) = m3*(w3(2)+dom3(3)*ros3(l)--dom3(l)*ros3(3)+om3(3)*v0g3(l)- $ om3(l)*v0g3(3)) * 3rd oordinate Fe3(3) = -m3*(-w3(3)-dom3(l)*ros3(2)+dora3(2)*ros3(l)-om3(l)*v0g3(2 $ )+om3(2)*v0g3(d) -_ The 4th link Loal priliminary alulations V0G4(1) = vl4(l)+om4(2)*ros4(3)-om4(3)*ros4(2) V0G4Í2) = vl4(2)+om4(3)*ros4(l)-om4(l)*ros4(3) V0G4(3) = vl4(3)+om4(l)*ros4(2)-om4(2)*ros4(l) * 1st oordinate Fe4(l) = m4*(w4(l)+doni4(2)*ros4(3)-dom4(3)*ros4(2)+oni4(2)*v0g4(3)- $ om4(3)*v0g4(2)) * 2nd oordinate Fe4(2) = m4*(w4(2)+dom4(3)*ros4(l)-dom4(l)*ros4(3)+om4(3)*v0g4(l)- $ om4(l)*v0g4(3)) * 3rd oordinate Fe4(3) = ro4*(w4(3)+dom4(l)*ros4(2)-dom4(2)*ros4(l)+on 4(l)*V0G4(2)- $ om4(2)*v0g4(l)) The 5th link Loal priliminary alulations V0G5Ü) = vl5(i)+om5(2)*ros5(3)-om5(3)*ros5(2) V0G5(2) = Vl5(2)+om5(3)*ros5(l)-om5(l)*ros5(3) V0G5(3) = vl5(3)+om5(l)*ros5(2)-qm5(2)*ros5(l) * 1st oordinate Fe5(l) = m5*(w5(l)+dom5(2)*ros5(3)-dotn5(3)*ros5(2)+om5(2)*v0g5(3)- $ om5(3)*v0g5(2)) * 2nd oordinate Fe5(2) = -m5*(-w5(2)-dom5(3)*ros5(l)+dom5(l)*ros5(3)-om5(3)*v0g5(l $ )+om5(l)*v0g5(3)) * 3rd oordinate Fe5(3) = m5*(w5(3)+dom5(i)*ros5(2)-dom5(2)*ros5(l)+om5(i)*vüg5(2)- $ om5(2)*v0g5(d) The 6th link Loal priliminary alulations
283 Partie 4 Annexe D. LE ROBOT PUMA 560 V0G6CD = Vl6(l)+om6(2)*ros6(3)-om6(3)*ros6(2) V0G6(2) = vl6(2)+om6(3)*ros6(l)-om6(l)*ros6(3) V0G6(3) = Vl6(3)+om6(l)*ros6(2)-om6(2)*ros6(l) * 1st oordinate Fe6(l) = m6*(w6(l)+dom6(2)*ros6(3)-dom6(3)*ros6(2)+om6(2)*v0g6(3)- $ om6(3)*v0g6(2)) * 2nd oordinate Fe6(2) = m6*(w6(2)+dom6(3)*ros6(l)-dom6(l)*ros6(3)+om6(3)*v0g6(l)- $ om6(l)*v0g6(3)) * 3rd oordinate Fe6(3) = -m6*(-w6(3)-dom6(l)*ros6(2)+dom6(2)*ros6(l)-om6(l)*v0g6(2 $ )+om6(2)*v0g6(d) -- Now the program omputes moments in the origine of frame "i" resulting of the inertial motion, The 1st link Loal priliminary alulations IOMl(l) = -Ixz(l)*oml(3) I0M1(2) = -Iyz(l)*oml(3) I0M1(3) = Izz(l)*oml(3) * 1st oordinate Nel(l) = -Ixz(l)*Doml(3)-oml(3)*I0Ml(2)+rosl(2)*Fel(3)-rosl(3)*F $ el(2) * 2nd oordinate Nel(2) = -Iyz(l)*Doml(3)+oml(3)*IQMi(l)+rosl(3)*Fel(l)-rosl(l)*F $ el(3) * 3rd oordinate Nel(3) = Izz(l)*Doml(3)+rosl(l)*Fel(2)-rosi(2)*Fel(l) The 2nd link Loal priliminary alulations I0M2(1) = Ixx(2)*om2(l)-Ixy(2)*om2(2)-Ixz(2)*om2(3) I0M2(2) = -Ixy(2)*om2(l)+Iyy(2)*om2(2)-Iyz(2)*om2(3) I0M2(3) = -Ixz(2)*om2(l)-Iyz(2)*om2(2)+Izz(2)*om2(3) * 1st oordinate Ne2(l) = Ixx(2)*Dom2(l)-Ixy(2)*Dom2(2)-Ixz(2)*Do:n2(3)+om2(2)*I0M $ 2(3)-om2(3)*IQM2(2)+ros2(2)*Fe2(3)-ros2(3)*Fe2(2) * 2nd oordinate Ne2(2) = -lxy(2)*dom2(l)+iyy(2)*dom2(2)-iyz(2)*dom2(3)+om2(3)*i0 $ M2(l)-om2(l)*I0M2(3)+ros2(3)*Fe2(l)-ros2(l)*Fe2(3) * 3rd oordinate Ne2(3) = -Ixz(2)*Dom2(l)-Iyz(2)*Dom2(2)+Izz(2)*Dom2(3)+om2(l)*I0 $ M2(2)-om2(2)*IOM2(l)+ros2(l)*Fe2(2)-ros2(2)*Fe2(l)
284 D.5. Code Fortran généré par MEDUSA MF77 Partie 4 C The 3rd link -- Loal priliminary alulations I0M3(1) = Ixx(3)*om3(l)-Ixy(3)*om3(2)-Ixz(3)*om3(3) I0M3(2) = -Ixy(3)*om3(l)+Iyy(3)*om3(2)-Iyz(3)*om3(3) I0H3(3) = -Ixz(3)*om3(l)-Iyz(3)*om3(2)+Izz(3)*om3(3) * 1st oordinate Ne3(l) = Ixx(3)*Dom3(l)-Ixy(3)*Dom3(2)-Ixz(3)*Doin3(3)+om3(2)*I0M $ 3(3)-om3(3)*I0M3(2)+ros3(2)*Fe3(3)-ros3(3)*Fe3(2) * 2nd oordinate Ne3(2) = -Ixy(3)*Dom3(l)+Iyy(3)*Dom3(2)-Iyz(3)*Dom3(3)+om3(3)*I0 $ M3(l)-om3(l)*I0H3(3)+ros3(3)*Fe3(l)-ros3(l)*Fe3(3) * 3rd oordinate Ne3(3) = -Ixz(3)*Dom3(l)-Iyz(3)*Dom3(2)+Izz(3)*Dom3(3)+om3(l)*I0 $ M3(2)-om3(2)*I0M3(l)+ros3(l)*Fe3(2)-ros3(2)*Fe3(l) The 4th link Loal priliminary alulations I0M4Ü) = Ixx(4)*otr.4(l)-Ixy(4)*om4(2)-Ixz(4)*om4(3) I0M4(2) = -Ixy(4)*om4(l)+Iyy(4)*om4(2)-Iyz(4)*om4(3) I0M4(3) = -Ixz(4)*om4(l)-Iyz(4)*om4(2)+Izz(4)*om4(3) * 1st oordinate Ne4(l) = Ixx(4)*Dom4(l)-Ixy(4)*Dom4(2)-Ixz(4)*Dom4(3)+om4(2)*I0r1 $ 4(3)-om4(3)*I0M4(2)+ros4(2)*Fe4(3)-ros4(3)*Fe4(2) * 2nd oordinate Ne4(2) = -Ixy(4)*Dom4(l)+Iyy(4)*Dom4(2)-Iyz(4)*Dom4(3)+om4(3)*I0 $ M4(l)-om4(l)*I0M4(3)+ros4(3)*Fe4(l)-ros4(l)*Fe4(3) * 3rd oordinate Ne4(3) = -Ixz(4)*Dom4(l)-Iyz(4)*Dom4(2)+Izz(4)*Dom4(3)+om4(l)*ia $ M4(2)-om4(2)*I0M4(l)+ros4(l)*Fe4(2)-ros4(2)*Fe4(l) The 5th link - Loal priliminary alulations I0M5C1) = Ixx(5)*om5(l)-Ixy(5)*om5(2)-Ixz(5)*om5(3) I0M5C2) = -Ixy(5)*om5(l)+Iyy(5)*om5(2)-Iyz(5)*om5(3) I0M5(3) = -Ixz(5)*om5(l)-Iyz(5)*om5(2)+Izz(5)*om5(3) * 1st oordinate Ne5(l) = Ixx(5)*Dom5(l)-Ixy(5)*Dom5(2)-Ixz(5)*Dom5(3)+om5(2)*I0M $ 5(3)-om5(3)*I0M5(2)+ros5(2)*Fe5(3)-ros5(3)*Fe5(2) * 2nd oordinate Ne5(2) = -Ixy(5)*Dom5(l)+Iyy(5)*Dom5(2)-Iyz(5)*Dom5(3)+om5(3)*IG $ M5(l)-oro5(l)*IÜM5(3)+ros5(3)*Fe5(l)-ros5(l)*Fe5(3) * 3rd oordinate
285 Partie 4 Annexe D. LE ROBOT PUMA 560 Ne5(3) = -Ixz(5)*Dom5(l)-Iyz(5)*Dom5(2)+Izz(5)*Dom5(3)+om5(l)*I0 $ M5(2)-om5(2)*I0M5(l)+ros5(l)*Fe5(2)-ros5(2)*Fe5(l) The 6th link Loal pri.limin.ary alulations I0M6(1) = Ixx(6)*om6(l)-Ixy(6)*om6(2)-Ixz(6)*om6(3) I0M6C2) = -Ixy(6)*om6(l)+Iyy(6)*om6(2)-Iyz(6)*om6(3) I0M6C3) = -Ixz(6)*om6(l)-Iyz(6)*om6(2)+Izz(6)*om6(3) * 1st oordinate Ne6(l) = Ixx(6)*Dom6(l)-Ixy(6)*Dom6(2)-Ixz(6)*Dom6(3)+om6(2)*I0M $ 6(3)-om6(3)*I0M6(2)+ros6(2)*Fe6(3)-ros6(3)*Fe6(2) * 2nd oordinate Ne6(2) = -Ixy(6)*Dom6(l)+Iyy(6)*Dom6(2)-Iyz(6)*Dom6(3)+om6(3)*ia $ M6(l)-om6(l)*IQM6(3)+ros6(3)*Fe6(l)-ros6(l)*Fe6(3) * 3rd oordinate He6(3) = -Ixz(6)*Dora6(l)-Iyz(6)*Dom6(2)+Izz(6)*Dom6(3)+om6(l)*I0 $ M6(2)-om6(2)*I0M6(l)+ros6(l)*Fe6(2)-ros6(2)*Fe6(l) -- Now the program omputes fores exerted by link i-1 on link i, The 6th link * 1st oordinate fa6(l) = Fe6(l) * 2nd oordinate fa6(2) = FeS(2) * 3rd oordinate fa6(3) = Fe6(3) The 5th link * 1st oordinate fa5(l) = CTE6*fa6(l)+STE6*fa6(2)+Fe5(l) * 2nd oordinate fa5(2) = -fa6(3)+fe5(2) * 3rd oordinate fa5(3) = -STE6*fa6(l)+GTE6*fa6(2)+Fe5(3) The 4th link - * 1st oordinate fa4(l) = CTE5*fa5(l)+STE5*fa5(2)+Fe4(l) * 2nd oordinate fa4(2) = fa5(3)+fe4(2) * 3rd oordinate fa4(3) = STE5*fa5(l)-CTE5*fa5(2)+Fe4(3) 268
286 D.5. Code Fortran généré par MEDUSA MF77 Partie 4 The 3rd link * 1st oordinate fa3(l) = CTE4*fa4(l)+STE4*fa4(2)+Fe3(i) * 2nd oordinate fa3(2) = -fa4(3)+fe3(2) * 3rd oordinate fa3(3) = -STE4*fa4(l)+CTE4*fa4(2)+Fe3(3) The 2nd link * 1st oordinate fa2(l) = CTE3*fa3(l)+STE3*fa3(2)+Fe2(l) * 2nd oordinate fa2(2) = -STE3*fa3(l)+CTE3*fa3(2)+Fe2(2) * 3rd oordinate fa2(3) = fa3(3)+fe2(3) The 1st link * 1st oordinate fal(l) = CTE2*fa2(i)+STE2*fa2(2)+Fel(l) * 2nd oordinate fal(2) = -fa2(3)+fel(2) * 3rd oordinate fal(3) = -STE2*fa2(l)+CTE2*fa2(2)+Fel(3) -- Now the program omputes torque exerted by link i-1 on link i. The 6th link * 1st oordinate na6(l) = Ne6(l) * 2nd oordinate na6(2) = Ne6(2) * 3rd oordinate na6(3) = Ne6(3) The 5th link Loal priliminary alulations NFR5(1) = na6(l) NFR5(2) = na6(2) NFR5(3) = na6(3) * 1st oordinate na5(l) = Ne5(l)+CTE6*NFR5(1)+STE6*NFR5(2) * 2nd oordinate na5(2) = Ne5(2)-NFR5(3)
287 Partie 4 Annexe * 3rd oordinate na5(3) = Ne5(3)-STE6*NFR5(1)+CTE6*NFR5(2) The 4th link Loal priliminary alulations NFR4Ü) = na5(l) NFR4(2) = na5(2) NFR4(3) = na5(3) * 1st oordinate na4(l) = Ne4(l)+CTE5*NFR4(1)+STE5*NFR4(2) * 2nd oordinate na4(2) = Ne4(2)+NFR4(3) * 3rd oordinate na4(3) = Ne4(3)+STE5*NFR4(1)-CTE5*NFR4(2) The 3rd link Loal priliminary alulations NFR3Ü) = na4(l)+l114*fa4(l)+l214*fa4(2)+l314*fa4(3) NFR3C2) = na4(2)+l124*fa4(i)+l224*fa4(2)+l324*fa4(3) MFR3(3) = na4(3)+l334*fa4ç3) * 1st oordinate na3(l) = Ne3(l)+CTE4*NFR3(1)+STE4*NFR3(2) * 2nd oordinate na3(2) = Ne3(2)-NFR3(3) * 3rd oordinate na3(3) = Ne3(3)-STE4*NFR3(1)+CTE4*KFR3(2) The 2nd link Loal priliminary alulations NFR2U) = na3(l)+l113*ia3(l)+l213*fa3(2)+l313*fa3(3) KFR2(2) = na3(2)+l123*fa3(l)+l223*fa3(2)+l323*fa3(3) NFR2(3) = na3(3)+l233*fa3(2) * 1st oordinate na2(l) = Ne2(l)+CTE3*NFR2(1)+STE3*NFR2(2) * 2nd oordinate na2(2) = Ne2(2)-STE3*NFR2(1)+CTE3*NFR2(2) * 3rd oordinate na2(3) = Ke2(3)+NFR2(3) The 1st link Loal priliminary alulations 270
288 D.5. Code Fortran généré par MEDUSA MF77 Partie 4 NFRl(l) = na2(l) NFRK2) = na2(2) KFRK3) = na2(3) * 1st oordinate nal(l) = Nel(l)+CTE2*NFR1(1)+STE2*NFR1(2) * 2nd oordinate nal(2) = Nel(2)-NFR1(3) * 3rd oordinate nal(3) = Nel(3)-STE2*NFR1(1)+CTE2*NFR1(2) -- The generalized torque in the 1st joint, Qg(l) = nal(3) -- The generalized torque in the 2nd joint, Qg(2) = na2(3) -- The generalized torque in the 3rd joint. Qg(3) = na3(3) -- The generalized torque in the 4th joint. Qg(4) = na4(3) -- The generalized torque in the 5th joint, Qg(5) = na5(3) -- The generalized torque in the 6th joint. Qg(6) = na6(3) return -- All's well that ends well end
289 Partie 4 Annexe D. LE ROBOT PUMA
290 Annexe E COMPLEXITES EFFECTIVES APRES COMPILATION DU CODE EN LIGNE E.l Introdution Revenons aux exemples donnés dans le paragraphe [page 176]. Les ompilateurs Fortran sont réputés pour leur optimiseurs. Le but de l'annexe présent est de prouver que, même après ompilation, les odes générés par la primitive fortran de Maple ave l'option optimized ne donnent pas néessairement de omplexités optimales. E,2 Code assembleur de l'implémentation initiale est: Le ode en assembleur, généré par le ompilateur Fortran 77, assoié au ode en ligne: t4 = M*2-b2*l t9 = b3*l-bl*3 tl6 = b2*3-b3*2 d(l) = a2*t4-a3*t9 d(2) = a3*tl6-al*t4 d(3) = al*t9-a2*tl6.seg "data".seg "data".seg "bss".seg "data".align 8.seg "bss".align 8.reserve VAR_SEGl,32,"bss".seg "text".pro
291 Partie 4 Annexe E, COMPLEXITES EFFECTIVES.global _ali ali_:!pr0l0gue 0 sethi '/,hi(lfl),y.gl add 7.gl//.lo(LFlV/.gi save, /,sp,7.gl J 7.sp!PR0L0GUE 1 st y.il,[y.fp+0x48] st y.i2,[y.fp+0x4] st y.i3,[7.fp+0x5o] st 7,i5,[7.fp+0x58] L16: sethi y,hi(var_segl+4096),y.l7 add y.l7,7.1o(var_segl+4096),'/ ä 17 L14: Id [y.fp+0x58],y.o0 id2 [7,oo] J y,fo M [y.fp+ox4],y.oi ld2 [7.ol],7.f2 fmuld y.f2,'/,f0,y.f4 Id [y.fp+0x60],y,o2 ld2 [7.o2],7.f6 Id [7.f p+0x48], 7,o3 ld2 [7.o3],7,f8 fmuld 7.f8,'/.f6,y.f 10 fsubd 7.fl0,7,f4,'/,f 12 Id [y.fp+0x64],'/.o4 st2 y.fl2 J ['/.o4] ld [7.fp+0x5],y.o5 ld2 ['/.o5],7.fl4 ld [7,f p+0x48], y.o7 ld2 [7.071,7^16 fmuld '/,fl6//.fl4,y,f 18 ld [7.fp+Ox58]//.10 ld2 [7.10],'/.f20 ld [y.fp+0x50],y.ll ld2 [y.ll],'/.f22 fmuld 7.f22//.f20,7 l f24 fsubd, /,f24,y.fl8,y.f26 ld ['/.f p+0x68], y.12 st2 y,f26,[y,12] ld [7.fp+0x60],'/.13 ld2 [7.13],7.f28 ld C7.f p+0x50], 7,14 ld2 [%14],7,f3Q fmuld 7.f30,7.f28,y,fO id [y.fp+ox5],y.i5 ld2 ['/.15],7.f2 ld [7,fp+0x4],y.l6 ld2 [%16],7.f4 fmuld y.f4 j y.f2,'/.f6 274
292 E.2. Code assembleur de 'implementation initiale Partie 4 fsubd, /.f6,7.f0,'/.f8 st2 */.f8,['/,17+-0xfe8] id [y.fp+oxesj.y.io ld2 [, /.io],, /.flo ld2 C'/,17+-0xff0],, /.fl2 f muid y.f 12, y.f 10, '/.f 14 Id [y.fp+0x64],'/,ii id2 [y.ii],y.fi6 ld2 [, /.17+-0xff8],'/.fl8 fmuld '/.f 18//,f 16,'/.f 20 fsubd */.f20,'/.f 14,'/.f22 Id [, /.fp+0x74] ) '/,i2 st2 y,f22,['/.i2] Id [y.fp+0x64],y.i3 ld2 [y.i33,y.f24 ld2 [*/.17+-0xl000], '/.f 26 fmuld '/.f26//.f24,%f28 ld2 [y.l7+-0xff0],'/.f 30 ld2 [, /.17+-0xfe8],, /.f0 fmuld s /.f30,'/.f0//,f2 fsubd '/.f2,'/.f28,'/.f4 ld [y.fp+0x7],'/.i4 st2 y.f4,[y,i4] Id [y.fp+0x68],'/.i5 ld2 [*/.i5],y.f6 ld2 [y,17+-0xl000],y.f8 fmuid y.f8,y.f6,y.fio ld2 [, /.17+-0xff8],, /.fl2 ld2 [y.l7+-0xfe8],y.fl4 fmuld '/.f 12, y.f 14, '/.f 16 fsubd y.f io, y.f le, y.f is id [y.fp+ox78],y.oo st2 y.fl8,['/.oo] b L13 nop L13: LU: L12: b LEI nop LEI: ret restore.optim "-0~Q~R~S l! LF1 = -64 LP1 = 64 LST1 = 64 LT1 = 64.seg "data" don, on a bien 12 multipliations (12 ourrenes de "fmuld" dans le ode assembleur) et 6 additions (6 ourrenes de "fsubd" dans le ode assembleur; en réalité, 'est des soustrations). \~275 I
293 Partie 4 Annexe E. COMPLEXITES EFFECTIVES APRES COMPILATION DU CODE EN LIGNE E.3 Code assembleur de l'implémentation transformée De même, pour le ode en ligne obtenu par la tradution du double produit vetoriel après sa transformation par la fontion simplify: tl = bl*2 t3 = b2*l t6 = b3*l t9 = bl*3 tl2 = b2*3 tl4 = b3*2 d(l) = a2*tl~a2*t3-a3*t6+a3*t9 d(2) = a3*tl2-a3*tl4-al*tl+al*t3 d(3) = al*t6-ai*t9-a2*tl2+a2*t!4 le ode en assembleur généré par le ompilateur Fortran 77, est:. seg "data".seg "data".seg "bss".seg "data".align 8.seg "bss".align 8.reserve VÂR.SEGl,24,"bss".seg "text".pro 020.global _ali ali_:!pr0lcgue 0 sethi, /,hi(lfl),y.gl add 7,gl,y.lo(LFl) t ) /.gi save '/,sp,'/,gí,'/,sp!pr0l0gue 1 st y.i0 ) [*/,fp+0x44] st y.il,c*/.fp+0x483 st '/,i2, [*/ f fp+0x4] st */.i3, [%fp+0x50] st 1 /.i4 J [ í /,fp- -0x54] st y.i5,[y.fp+0x58] L16 : sethi */.hi(var_segl+4096),'/.17 add %17 j y,lo(var_segi+4096) //,17 L14: Id [y.fp+0x60],'/.o0 id2 [y.oo],y.fo Id [y,fp+0x48] //.oí ld2 ['/.oí],'/.f2 fmuld, /,f2,y.f0 j y.f4 Id [y.fp+0x44],y.o2 st2 7.Í4, [y.o2]
294 E.3. Code assembleur de 'implementation transformée Partie 4 Id ['/,fp+0x58] ) '/.o3 ld2 C'/.o3],7.f6 ld [y,fp+0x4],7,o4 ld2 [y.o4],xf8 fmuld, /.f8,y.f6 J '/.flo id [y.fp+ox54],*/.o5 st2 y.fio,[y.o5] ld [y,fp+0x583,y.o7 ld2 C'/.o7],y.fl2 ld ['/.fp+0x50],*/,10 ld2 [*/ s 10],y.fl4 fmuld y.fl4,y.fl2,y.fl6 ld [ > /.fp+0x643 J '/,ll st2 y.fi6,[y.n] ld [ s /.fp+0x5],'/.12 id2 [y,i2],y,f i8 id [y,fp+ox48],y.i3 ld2 [, / 1 13] ) y.f20 fmuld y.f20//.fl8,'/.f22 ld [y.fp+0x68]//.14 st2 '/.f 22,['7.143 ld [y.fp+0x5],y.l5 ld2 [*/.15],'/.f24 ld [, /,fp+0x4],y.l6 ld2 C, /.16] J '/.f26 fmuld y.f26,y,f24,'/,f28 id [y.f P +ox6],y.io st2 y.f28,[y.io] ld [y,fp+ox603//.il id2 y,ii],y.f3o ld [ D /.fp+0x50],y.i2 ld2 C'/.i2] j y.f0 fmuld */.f0//.f30 ) '/.f2 ld [7.fp+Ox703 ) y.i3 st2, /.f2,[, /.i3] ld [, /.fp+0x54],, /.i4 ld2 [7.Í43,7.f4 ld2 [ s /.17+-0xff8],'/.f6 fmuld y.f6,'/.f4//.f8 ld [y,fp+0x443,'/.i5 id2 y.i53//.fio ld2 [y.l7+-0xff8],y.fl2 fmuld '/,fl2,y,fl0,'/.fl4 fsubd y.fl4,y.f8,*/.fl6 ld ['/.fp+0x64],, /.o0 ld2 ['/.o03//.fl8 ld2 ['/.17+-0xff0],y.f20 fmuld y.f20 ) '/.fl8 ) y,f22 fsubd y,fl6//.f22,y.f24 ld [, /.fp+0x683,'/.ol ld2 [y.ol3,'/.f26 ld2 [*/.17+-Oxff03 //.f28
295 Partie 4 Annexe E. COMPLEXITES EFFECTIVES APRES COMPILATION DU CODE EN LIGNE fmuld %f28,y.f26,'/.f3q faddd, /.f24, ) /.f30,7.f0 ld [y.f p+0x74]//.o2 st2 '/.fo,cv.o2] ld ['/.fp+0x70],*/.o3 ld2 ['/.o3] ) y,f2 ld2 [y,17+-oxffo],'/,f4 fmuld '/ ( f4,y.f2//.f6 ld [7,fp+Ox63! y.o4 ld2 C'/.o43,*/.f8 ld2 [%17+-0xff0] > '/.fl0 fmuld %fl0,y.f8,y,fl2 fsubd y,fl2,y,f6 ) y,fl4 ld ['/,fp+0x44],'/.o5 ld2 [y.o5],y,fl6 ld2 C'/.17+-0xl000] J,î 18 fmuld y.fl8,'/.fl6,'/.f20 fsubd '/,fl4,y.f20//.f22 ld [! /.fp+0x54],, /! o7 ld2 Cy.o7],'/.f24 ld2 [y,17+-0xl000],'/.f26 fmuld, / t f26,, /.f24,'/.f28 faddd */.f22,'/.f28,'/,f30 ld [, / 1 fp+0x7],'/,10 st2 '/.f 30,[7.10] ld [y s fp+0x68]//.ll ld2 C'/.li],'/.fO ld2 [ s /,17+-0xl000],'/.f2 fmuld y,f2,y,f0,y.f4 ld C'/,fp+0x64],%12 ld2 [7.12], 7.f 6 ld2 [y! 17+-0xl000], i /.f8 fmuld "/.f8,y,f6,'/.fl0 fsubd '/,fl0,y.f4 ) y,fl2 ld [7,fp+0x6],%13 ld2 [7.13],'/>f 14 ld2 [y.l7+-0xff8],'/,fl6 fmuld, / 1 fl6,, /.fl4,'/.fí8 fsubd y,fl2,y.fl8,'/.f20 ld ['/.fp+0x70] j y,14 ld2 [7.14],'/.f 22 ld2 ['/.17+-0xff8],7.f24 fmuld y i f24,'/.f22 î ) /.f26 faddd 7.f20//,f26,'/,f28 ld [y.fp+0x78],y,15 st2 y.f28.,['/.15] b L13 nop L13: LU: L12: b LEI
296 E.4. Conlusion Partie 4 nop LEI: ret restore.optim "-0~Q~R~S" LFi = -64 LP1 = 64 LST1 = 64 LTi = 64.seg "data" ie alul est effetué en 9 additions et 18 multipliations et ela donne absolument le même résultat, même si on utilise l'option d'optimisation "-0" du ompilateur Fortran. E.4 Conlusion Cela onfirme notre ritique de l'optimiseur du ode Fortran (sous Maple) des expressions formelles. La ompilation des deux implementations ne donne pas la même omplexité. La omplexité du ode obtenu après une transformation formelle n'est pas néessairement optimale.
297 Partie 4 Annexe E. COMPLEXITES EFFECTIVES APRES COMPILATION DU CODE EN LIGNE [J L\
298 REFERENCES ET BIBLIOGRAPHIE [ABEL-87] H. Abelson, G.J. Sussman & J. Sussman "Struture and interpretation of omputer programs", MIT Press, MGraw-Hill, (1987). [ABRA-78] R. Abraham & J.E. Marsden "Fundations of Mehanis", The Benjamin/Cummings Publishing Compagny, (1978). [ALDO-82] M.G. Aldon "Elaboration Automatique de Modèles Dynamiques de Robots en Vue de leur Coneption et leur Commande", Thèse de 3 e yle, Université des Sienes et Thehniques du Languedo, (1982). [ANGE-82] J. Angeles "Spatial Kinemati Chains", Springer-Verlag, (1982). [ANGE-88] J. Angeles "Rational Kinematis", Springer-Verlag, (1988). [ANGE-90] J. Angeles, A. Alivizatos & P.J. Zsombor-Muray "The Synthesis of Smooth Trajetories for Pik and Plae Operations", IEEE Trans, on Syst., Man and Cybernetis, Vol. 18, pp , (1990). jappe-00] P. Appell "Sur la Forme Générale des Equations de Dynamique", J. für die Reine und Angewandte Mathématique. Vol. 121, pp , (1900). [APPE-11] P. Appell "Traité de Méanique Rationnelle", Tome 2, 3 e édition, Paris, (1911). [ARNO-66] V.l. Arnold "Sur la Géométrie Différentielle des Groupes de Lie de Dimension Infinie et ses Appliations à l'hydrodynamique des Fluides Parfaits", Annales de l'inst. Fourier, Grenoble, Vol, 16(1), pp , (1966). [ARNO-78] V.l. Arnold "Mathematial Methods of Classial Mehanis", Springer-Verlag, (1978). [BARR-81] A. Barr and E.A. Feingenbaum "The Handbook of Artifiial Intelligene", Pitman, London, (1981). 281
299 Partie 4 REFERENCES [BEJE-74] A.K. Bejezy "Robot Arm Dynami and Control", NASA Teh. Memo. n JPL, Feb. (1974). [BERT-10] J. Bertrand "Dialogo Sopra le due Massimi Sistemi del Mundo", Edition Florene, (1710). [BOUR-70] N. Bourbaki "Eléments de Mathématique: Algèbre", Chapitres 1 à 3, Diffusion CCLS, (1970). [CHAR-91] B.W. Char & al. "Maple V Language Referene Manual", Springer-Verlag, (1991). [CHAR-91] B.W. Char & al. "Maple V Library Referene Manual", Springer-Verlag, (1991). [CHAR-92] B.W. Char & al. "First Leaves: A Tutorial Introdution to Maple V", Springer-Verlag, (1992). CHEV-84] D. Chevallier & Helmer "Formation des Equations de la Dynamique: Examen des Divers Méthodes", Annales des Ponts et Chaussées, Paris, 1er Trimestre, Vol.29, pp. 5-19, (1984). [CHEV-86] D. Chevallier "Groupes de Lie et Méanique des Systèmes de Corps Rigides", Mathematishe Modellierung ein Arbeitsbuh für Seminare, Ma-Graw Hill, pp ,4 Ot. (1986). [CHEV-91] D. Chevallier "Lie Algebras, Modules, Dual Quaternions and Algebrai Methods in Kinematis", Mehanisms and Mahine Theory, vol. 26(6), pp , (1991). [CHUR-56] A. Churh "Introdution to Mathematial Logi", Vol. 1, Prinston University Press, (1956). CLI-873] W.K. Clifford "Preliminary Sketh of Biquaternions", Jour, of Math. Pure and Applied, Vol. 4, (1873). [CLI-878] W.K. Clifford "Appliations of Grassmann's Extensive Algebra", Jour, of Math. Pure and Applied, Volume 1 pp, , (1878). [CLOC-84] W.F. Cloksin & CS. Mellish "Programming in Prolog", 2nd ed., Springer Verlag, (1984). [COIF-81] P. Coiffet "Les Robots: Modélisation et Commande", Tome 1, Hermès, (1981). [DENA-55] J. Denavit & R.S. Hartenberg "A Kinemati Notation for Lower-Pair Mehanisms Based on Matries", ASME Journal of Applied Mehanis, pp , Jun. (1955). [DERS-89] N. Dershowitz & J.P. Jouammaud "Rewrite Systems", In J.V. Leeuwen, Handbook of Theoretial Computer Siene, Chap. 15, North-Holland, Amsterdam, (1989). [DESL-87] E.A. Desloge "Relationship Between Kane's Equations and the Gibbs-Appei Equations", J. of Guidane and Control Dynamis, Vol. 12, (1987).
300 REFERENCES Partie i [DIE 71] J, Dieudonné "Eléments d'analyse", Tome 4, Cahiers Sientifiques, Fasiule XXXIV, Gautier-Villars, (1971). [DIE 75] J. Dieudonné "Eléments d'analyse", Tome 5, Cahiers Sientifiques, Fasiule XXXVIII, Gautier-Villars, (1975). [DIME-65] F.M. Dimentberg "Vintovoye Ishislenye i Yego Prilozenia V Mekhanike" [The Srew Calulus and its Appliations in Mehanis], H^aTeJl'TBO "HayKa", (1965). [DOMB-88] E. Dombre & W. Khalil "Modélisation et Commande des Robots", Hermès, (1988). [ESPI-86] B. Espiau "An Overview of Loal Environment Sensing in Robotis Appliations", NATO, Advened Researh Workshop, Sensors and Sensory Systems for Advened Robotis, Springer-Verlag ed., Maratea, Italia, April (1986). [FARR-87] H. Farreny et M. Ghallab "Eléments d'intelligene Artifiielle", Hermes, (1987). [FAVA-57] J. Favard "Cours de Géométrie Différentielle Loale", Gautier-Villars, (1957). [FLAJ-90] P. Flajolet "On Adaptative Sampling", Computing, Vol. 34, pp , (1990). [FRAN-69] J. Frank Adams "Letures on Lie Groups", The University of Chiago Press, (1969). [FIES-84] D. Fieshi "Contribution au Système Expert Sphinx: Appaliation à l'enseignement Médial", Thèse de 3 e Cyle, Université Paris VI. (1984). [FISC-06] 0. Fisher "Einführung in die Mehanik Lebender Mehanismen", Leipzig, (1906). [GARN-90] Ch. Garnier "Une Appliation en Maple: le Logiiel Gemmes", V e Eole Européenne sur l'utilisation du Calul Formel en Ingénierie, INRIA-Sophia-Antipolis, (1990). [GERA-89] M. Geradin & Cardona "Time Integration of the Equation of Motion in Mehanism Analysis", Computer and Struturs, Vol. 33(3), pp , (1989). [GERA-91] M. Geradin "The Finite Element Approh to Kinematis and Dymamis of Flexible Multibody Systems", COMET Course, Lingby, Denmark, May (1991). [GERM-86] P. Germain "Méanique (X)", Edition Marketing, (1986). [GIBB-879] J.W. Gibbs "On the Fundamentale Formulae of Dynamis, Amerian J. of Mathmatis, Vol. 11, pp , (1879). [GORL-84] B. Gorla & M. Renaud "Modèles des Robots Manipulateurs: Appliation à leur Commande", Cepadues-Editions, (1984). [HAML-91] A. Hamlili "Modélisation de l'etat Dynamique des Robots Manipulateurs et Effiaité du Calul Formel", Ates du 10 e Congrès Français de Méanique, Tome (2), 2-6 Sep. (1991). A I 283 «.j u M -ur» O IX* NM ï bt HUI 'ÏÏEB
301 Partie 4 REFERENCES [HAML-92] A. Hamlili "Appliation des Systèmes de Calul Formel pour l'automatisation de la Modélisation Mathématique des Robots Industriels", Ates du Workshop Calul formel, INRIA (Sophia-Antipolis), Sep. (1992). [HATO-89] J-P. k M-C. Haton "L'Intelligene Artifiielle", PUF, (1989). [HECK-92] A. Hek "Introdution to Maple", Springer-Verlag, (1992). [HERV-78] J-M. Hervé "Analyse Struturale des Méanismes par Groupe des Déplaements", Mehanism and Mahine Theory, Vol. 13, pp , (1978). [HERV-82] J-M. Hervé "Intrinsi Formulation of Problems of Geometry and Kinematis of Mehanisms", Mehanism and Mahine Theory, Vol. 17, pp , (1982). [HOLL-80] J-M. Hollerbah "An Iterative Lagrangian Formulation of Manipulator Dynamis and a Comparative Study of Dynamis Formulation Complexity", IEEE Trans, on Systems, Man and Control, Vol. 10(11), pp (1980). [HOOK-65] W. Hooker & G. Margulies "The Dynamial Attitude Equation for a N-Bar Satellite", J. of Astronautial Sienes, Vol. 12(4), pp , (1965). [HUET-80J G. Huet "Confluene Redution: Abstrat Proprieties and Appliations to Term Rewritings", J. ACM, vol. 27(4), pp , (1980). [HUMP-72] J.E. Humphreys "Introdution to Lie Algebras and Representation Theory", Springer- Verlag, (1972). [HUN-78a] K.H. Hunt "Spaial Configurations of Robot-Arms via Srew Theory (Part 2)", Rebotia, Vol. 5, pp , (1978). [HUN-78b] K.H. Hunt "Kinemati Geometry of Mehanisms", Oxford Engineering Series, Oxford University Press (1978). [HUST-71] R.L. Huston & C. E. Passerello "On the Dynamis of Human Body Model", J. of Biomehanis, Vol.4, pp , (1971). [HWAN-89] R.S. Hwang & E.J. Haug "Topologial Analysis of Multibody Systems Reursive Dynamis Formulations", Meh. Strut, and Mah., vol. 17(2), pp , (1989). [JENK-92] R.D. Jenks & R.S. Sutor "Axiom : The Sientifi Computer System", Nag, Springer- Verlag, (1992). [JOUA-86J J.P. Jouannaud & E. Kounalis "Automati Proofs by Indution in Equtional Theories without Construtors, Logi in Computer Siene pp (1986). [KANE-S0] T.R. Kane Sz D.A. Levinson "Formulation of Equations of Motion for Complex Spaeraft", J. of Guidane and Control, Vol. 3, (1980). 284
302 REFERENCES Partie 4 [KANE-83] T.R. Kane & D.A. Levinson "The Use of Kane's Dynamial Equations in Robotis", The International Jour, of Robotis Researh, Vol. 2(3), pp. 3-21, (1983). [KANE-85] T.R. Kane & D.A. Levinson "DYNAMICS: Theory and Appliations", MGraw-Hill Series in Mehanial Engineering, MGraw-Hill, (1985). [KAHN-69] M.E. Kahn "The Near Minimum-Time Control of Open-Loop Artiulated Kinemati Chains",Standford Artifiial Intelligene Laboratory, AI Memo. n 106, Deember (1969). [KAHN-71] M.E. Kahn & B. Roth "The Near Minimum-Time Control of Open-Loop Artiulated Kinemati Chains", J. Dynami Systems Measurment Control, Vol. 93, pp , (1971). [KARG-85] A. Karger & J. Novak "Spae Kinematis and Lie Groups", Gordon &Breah S. Publishrs, (1985). [KEAT-87] J.E. Keat "Comment Relationship Between Kane's Equations and the Gibbs-Appel Equations", J. of Guidane and Control Dynamis, Vol. 10, pp , (1987). [KENT-87] R. Kent Dybvig "Lisp: The Sheme Programming Language", Prentie-Hall, New- Jersey, (1987). [KHAL-78] W. Khalil "Contribution à la Commande Automatique des Manipulateurs ave l'aide d'un Modèle Mathématique des Méanismes", Thèse d'etat, Montpelier, (1978). [KIRC-90] C. Kirhner, H. Kirhner, M. Rusinowith "Dedution with Symboli Constraints", Revue d'intelligene Artifiielle, Vol. 4(3), pp. 9-52, (1990). [KNUT-70] D.E. Knuth & P.B. Bendix "Simple word Problems in Universal Algebra", Computational Algebra, J. Learh, Pergamon Press, pp , (1970). [KŒN-897] G. Kenig "Leçons de Cinématique", Hermann (1897). [KOPL-86] J. Koplik and M.C. Leu "Computer Generation of Robot Dynamis Equations and the Related Issues", Journal of Roboti Systems, Vol. 3-3, pp (1986). [KOUN-90] E. Kounalis & M. Rusinowith "Mehanizing Indutive Reasoning", Pro. of the AAAI Conferene, AAAI Press k MIT Press, pp , Boston, (1990). [KORE-85] Y. Koren "Robotis for Ingineers", MGraw-Hill, (1985). [LAGR-65] J-L. Lagrange "Méanique Analytique" 1, Tome 2, Librairie Sientifique et Tehnique Albert Blanhard, (1965). [LALE-90] R. Lalement "Logique, Rédution, Résolution", Etudes et Reherhes Informatiques, Masson, (1990). 'Ouvrage publié après la mort de Lagrange. A I 2S5 I
303 Partie 4 REFERENCES [LANG-78] M. Langlois "Sur la Méanique Analytique du Corps Solide", J. de La Méa., Vol. 17(5), (1978). [LAUR-76] J.L. Laurière "Alie: un Langage et un Programme pour Résoudre des Problème Combinatoires", Thèse d'etat, Université Paris VI, (1976). [LERB-91] J. Lerbet "Méanismes et Géométrie Différentielle", Ates du 10 e Congrès Français de Méanique, Tome (4), pp , 2-6 Sep. (1991). [LESC-90] P. Lesanne "On the Reursive Deomposition Ordering with Lexiographial Status and Other Related Orderings", Jour, of Automated Resoning, Vol. 6, pp (1990). [LIEG-74] A. Liégeois & M. Renaud "Modèle Mathématique des Systèmes Méaniques Artiulés en Vue de la Commande Automatique de leurs Mouvements", CRAS, Vol. 278, Série B, pp , (1974). [LIKI-71] P.W. Likins "Passive and Semi Ative Attitude Stabilizations: Flexible Spaeraft", ARG ARD, paper 3b. Otober (1971). [LIKI-74] P.W. Likins "Dynami Analysis of Hinge Conneted Rigid Bodies with Non-Rigid Appendages", JPL Teh. Report n , Pasdena, (1974). [LUH SO] J.Y.S. Luh, M.W. Walker & R.P.C. Paul "On-Line Computational Sheme for Mehanial Manipulators", ASME, Journal of Dynami Systems, Measurement, and Control, Vol. 112, pp.69-76, (1980). [LUH 81] J.Y.S. Luh "Automati Generation of Dynami Equations for Mehanial Manipulators, J.A.C.C., Charlottesville, (1981). [MATH-83] The MATHLAB Group Labratory for Computer Siene "Masyma: Referene Manual", MIT, Version 10, Seond Printing, Vol.1 and 2, (1983). [MEGA-84] S. Megahed "Contribution à la Modélisation Géométrique et Dynamique des Robots Manipulateurs ayant une Struture de Chaîne Cinématique Simple ou Complexe", Thèse d'etat, Toulouse, (1984). [MERL-87] J-P. Meiiet "Contribution à la Formalisation de la Commande par Retour d'efforts en Robotique: Appliation à la Commande de Robots Parallèles", Thèse de Dotorat, Paris VI, (1986). [MEYE-S0] B. Meyer et C Baudoin "Méthodes de Programmation", Eyrolles (1980). [MEYE-12] Meyerson "Identité et Réalité", Librairie Alean (1912). NEW-687] I. Newton "Philosopliiae Naturalis Prinipia Mathematia", Jesus Soietatis Ragiae a Typis Josephi Streater, (1687).
304 REFERENCES Partie 4 [PAIN-09] P. Painîevé "La Méthode dans les Sienes", Librairie Alean (1909). [PAUL-72] R.C.P. Paul "Modelling Trajetory Calulation and Servoing of a Computer Controled Arm", Ph. D. Thesis, Standford University, (1972). [PAYA-87] S. Payandeh & A.A. Goldenberg "Formulation of the Kinemati Model of a General (6DOF) Manipulator Using Srew Operator", J. of Roboti Syst., Vol, 4(6), pp , (1987). [PITR-90] J. Pitrat "Métaonnaissane: Futur de l'intelligene Artifiielle", Hermès, Paris, (1990). [ORIN-79] D.E. Orin, R.B. Me Ghee, M. Vukobratovi & G. Hartoh "Kinematique and Kineti Analysis of Open-Chain Linkages Utilizing Newton-Euler Method", Mathematial Biosienes, n 43, pp , (1979). [PAUL-81] R.P. Paul "Robot Manipulators: Mathematis, Programming, and Control", MIT Press, (1981). [POIN-02] H. Poinaré "La Siene et l'hypothèse", Flammarion, (1902). PRAD-89J A.K. Pradeep, P.J. Yoder & R. Mukundan "On the Use of Dual-Matrix Exponentials in Kinematis", The International Journal of Robotis Researh, Vol. 8(5) (1989). [QUEI-90] Ch. Queinne "A Framework for Data Aggregates", Journées Françaises des Langages Appliatifs, La Rohelle Janvier (1990). [RAIB-78] M.H. Raibert & B.K.P. Horn "Manipulator Control Using Configuration Spae Methode", Industrial Robot, Vol. 5-2, pp.69-73, (1978). [RAMP-87] R. Rampalli "ADAMS: A Sparse Matrix Approah to Solving Multibody Dynamis Problems", Pro. SDIO/NASA, Workshop [RAND-84] R.H. Rand "Computer Algebra in Applied Mathmatis: An Introdution to MAC- SYMA", Researh Notes in Mathmatis (94), Pitman Advaned Publishing Program, (1984). [RENA-80J M. Renaud "Contribution à la Modélisation et à la Commande Dynamique des Robots Manipulateurs", Thèse d'etat, Toulouse, (1980). [RENA-85] M. Renaud "A Near Minimum Iterative Analytial Proedure for Obtaining a Robot- Manipulator Dynami Model", Iuam/IFtomm Symposiumon Dynamis of Multi-Body Systems, Udine, (1985). [RENA-87] M. Renaud "Quasi-Minimal Computation of the Dynami Model of a Robot Manipulator Utilizing the Newton-Euler Formalism and the Notion of Augmented Body", Pro. IEEE Conf. on Robotis and Automation, Raleigh, pp G82, Mars-April (1987). A I 2S7 1
305 Partie 4 REFERENCES [RICO-92] J-M. Rio Martinez & J. Duffy "The Priniple of Transferene: History. Statement and Proof", Meh. and Mah. Theory, Sended for Publiation (1992). [ROBE-66] R. Roberson & J. Wittenburg "A Dynamial Formalism for an Arbitrary Number of Interonneted Rigid Bodies with Referene to the Problem of Satellite Attitude Control", Pro. 3 rd IFAC Congr., Paper 46D, Jun (1966). [ROSE-S7] D.E. Rosenthal "Comment Relationship Between Kane's Equations and the Gibbs- Appel Equations", J. of Guidane and Control Dynamis, Vol. 10, pp , (1987). [RUSÍ-89] M. Rusinowith "Démostration Automatique", InterEdition, (1989). [SANS-85] J.P. Sansonnet "Les mahines de l'intelligene artifiielle", La Reherhe, otobre (1985). [SERR-65] J-P. Serre "Lie Algebras and Lie Groups", W.A. Benjamain, (1965). [SHAB-89] A.A. Shabana "Dynamis of Multibody Systems", Wiley, (1989). [STAN-88] B.J. Stanley "Constrained Motion of a Three-Dimensional Manipulator Over Unknown Constraints: The Roboti Groping Problem", Ph. D. Thesis, Ohio State University, (1988). [STEE-84] G.L. Steele Jr. "Common LISP : The Language", Digital Press, (1984). [STEF-76] Y, Stepanenko & M VukobratoviC "Dynamis of Artiulated Open-Chain Mehanisms", Mathematial Biosienes, n 28, pp , (1976). [STRO-86] A. Strohmeier "Fortran 77", Eyrolles, (1986). [STUR-73] R. Sturges "Teleoperator Arm Design Program", MIT, CS. Drap. Lab. Cambridge, U.S.A., Repport n , (1973). [SUG-82a] K. Sugimoto & J. Duffy "Appliation of Linear Algebra to Srew Systems", Meh. and Mah. Theory vol.17(1), pp (19S2). [SUG-S2b] K. Sugimoto, J. Duffy k. K.H. Hunt "Speial Configurations of Spaial Mehanisms and Robot Arms", Meh. and Mah. Theory vol.17-2, pp (1982). [TOUR-S8] P. Tournassoud "Géométrie et Intelligene Artifiielle pour les Robots", Hermès, Paris, (1988). [TSAI-91] F. Tsai & E.J. Haug "Real-Time Multibody System Dynami Simulation, Part I: Amodified Reursive Formulation and Topologial Analysis", Meh. Strut. & Mah., Vol. 19(1), pp , (1991). [UICK-65] J.J. Uiker "On the Dinami Analysis of Spatial Linkages", Ph.D. Thesis, Northwestern University, (1965). \~2S8
306 REFERENCES Partie 4 [UICK-69] J.J. Uiker "Dinami Behavior of Spatial Linkages", Asme, J. of Ingineering for Industry, Vol.91, pp [ULLM-65] J. Ullmo "La Pensée Sientifique Moderne", Flamarion, Paris, (1969). [VALA-91] M. Valásek "Effiient Implementation of Multibody Formalisms", 8th WGTMM, Prague, Czehoslovakia, (1991). [VARA-74] V.S. Varadarajan "Lie Groups, Lie Algebras, and their Representations", Prentie- Hall, (1974). [VELD-82] G.R. Veldkamp "On the Use of Dual Numbers, Vetors, and Matries in Instantaneous, Spaial Kinematis", Meh. and Mah. Theory, Vol.17-1, pp.73-83, (1982). [VERE-74] A.F. Vereshagin "Computer Simulation of the Dynamis of Compliated Mehanisms of Robot Manipulaters", Engineering Cibernetis, Vol. 12(6), pp , (1974). [VUKO-85] M. Vukobratovié & N. Kiranski "Real Time Dynamis of Manipulation Robots", Springer-Verlag, (1985). [WATE-79] R.C. Waters "Mehanial Arm Control", AI Laboratory, MIT, AI Memo. n 549, Otober (1979). [WHIT-04] E.T. Whitteker "A Treatise on The Analytial Dynamis of Partiles and Rigid Bodies", Dover Publiations, (1904). [WITT-75] J. Wittenburg k L. Lilov "Relative Equilibrium Positions and their Stability for a Multi-body Satellite in a Cirular Orbit", Ingenieer Arhiv, Vol. 44 pp , (1975). [WITT-77] J. Wittenburg "Dynamis of Systems of Rigide Bodies", B.G. Teubner, (1977). [WITT-85] J. Wittenburg & U. Woltz "MESA VERDE: a Symboli Program for Non-linear Artiulated Rigid-Body Dynamis. Pro. ACME Design Eng. Div. Conf. and Exibit on Mehanial Vibration and Noise, Cininati, (1985). [YAN-64a] A.T. Yang "Appliation of Dual Number Quaternion Algebra to the Analysis of Spatial Mehanisms", ASME J. for Indus. 31(2), pp (1964). [YAN-64b] A.T. Yang and F. Freudenstein "Appliation of Dual Number Quaternion Algebra to the Analysis of Spaial Mehanismes", J, Appl. Meh., vol. 86, pp (1964). [YOSH-84] T. Yoshikawa "Manipulatibility of Robotis Mehanisme", Pro. 2nd Int. Symp. of Robotis Researh, Kyoto, pp , (1984).
307 Résumé Dans ette thèse nous apportons deux ontributions importantes par l'outil de l'abstration mathématique: La première ontribution onerne la méanique et plus préisément la modélisation dynamique des systèmes artiulés. L'abstration mathématique par la théorie des groupes et algebres de Lie oordonnée ave un usage judiieux de la notion des nombres duaux permettent d'élaborer un langage très ommode où les modèles géométriques et dynamiques des systèmes méaniques poly-artiulés s'expriment sous une forme syntaxique relativement simple (malgré la omplexité du système). De nouvelles méthodes pour la desription des onfigurations des systèmes muîtiorps et un algorithme réurrent original (et très effiae) sont alors développés grâe à e langage. La seonde ontribution onerne le domaine informatique en alul formel. Elle est basée sur le typage algébrique, les tehniques de réériture et la génération automatique des odes (programmation assistée par ordinateur). Les problèmes soulevés néessitent de nouvelles arhitetures de systèmes de alul formel. Dans et ordre d'idées, un prototype de système de alul formel (SURVEYOR) basé sur la réériture typée et une extension (MEDUSA MF7T) du systèmes Maple ont été réalisés. Un outil informatique pour la génération automatique des odes Fortran et Maple des shémas de alul optimisés relatifs à notre formulation dynamique est développé à l'aide du système MEDUSA MF77. Plusieurs appliations en alul symbolique et en robotique sont, par ailleurs, présentées en annexes sous forme de réalisations informatiques des aspets théoriques traités. Mots lés: Cinématique, Dynamique, Chaînes Cinématique ouvertes, Géométrie Différentielle, Groupes et Algebres de Lie, Intelligene Artifiielle, Programmation Orientée Objets, Prototypage de Systèmes de Calul Formel, Génération Automatique de Codes.
Production statistique: passage d une démarche axée sur les domaines à une démarche axée sur les processus
Nations Unies Conseil éonomique et soial Distr. générale 31 mars 2015 Français Original: anglais ECE/CES/2015/26 Commission éonomique pour l Europe Conférene des statistiiens européens Soixante-troisième
Équations différentielles et systèmes dynamiques. M. Jean-Christophe Yoccoz, membre de l'institut (Académie des Sciences), professeur
Équations différentielles et systèmes dynamiques M. Jean-Christophe Yooz, membre de l'institut (Aadémie des Sienes), professeur La leçon inaugurale de la haire a eu lieu le 28 avril 1997. Le ours a ensuite
Chapitre IV- Induction électromagnétique
37 Chapitre IV- Indution életromagnétique IV.- Les lois de l indution IV..- L approhe de Faraday Jusqu à maintenant, nous nous sommes intéressés essentiellement à la réation d un hamp magnétique à partir
Étape II. Compétences à développer de 8 à 12 ans. Grilles des compétences
Grilles des ompétenes Compétenes à développer de 8 à ans COMPÉTENCES DE 8 À ANS Les ompétenes en «aratères droits» sont à ertifier. (symbole en fin de ligne) Les ompétenes en «aratères italiques» sont
NCCI : Calcul d'assemblages de pieds de poteaux encastrés
NCCI : Calul d'assemblages de pieds de poteaux enastrés Ce NCCI fournit les règles relatives au alul d'assemblages de pieds de poteaux enastrés. Ces règles se ontentent de ouvrir la oneption et le alul
Projet INF242. Stéphane Devismes & Benjamin Wack. Pour ce projet les étudiants doivent former des groupes de 3 ou 4 étudiants.
Projet INF242 Stéphane Devismes & Benjamin Wak Pour e projet les étudiants doivent former des groupes de 3 ou 4 étudiants. 1 Planning Distribution du projet au premier ours. À la fin de la deuxième semaine
Comment évaluer la qualité d un résultat? Plan
Comment évaluer la qualité d un résultat? En sienes expérimentales, il n existe pas de mesures parfaites. Celles-i ne peuvent être qu entahées d erreurs plus ou moins importantes selon le protoole hoisi,
Guide pratique. L emploi des personnes handicapées
Guide pratique L emploi des personnes handiapées Sommaire Guide pour les salariés p. 3 L'aès et le maintien dans l'emploi... 4 Les établissements et servies d aide par le travail (ÉSAT)... 10 Les entreprises
Le compte satellite des institutions sans but lucratif
Institut des omptes nationaux Le ompte satellite des institutions sans ut luratif 2000-2001 Contenu de la puliation Le ompte satellite des institutions sans ut luratif (ISBL) est élaoré d après les définitions
Exemples de solutions acoustiques
Exemples de solutions aoustiques RÉGLEMENTATON ACOUSTQUE 2000 Janvier 2014 solement aux bruits aériens intérieurs et niveau de bruit de ho Traitement aoustique des parties ommunes Bruits d équipements
Forme juridique Noms et adresses des filiales à assurer. Date de création ou début de l activité Description PRÉCISE de vos activités
1 Portage Salarial pour les métiers du Conseil by Hisox Questionnaire préalable d assurane Identifiation du proposant Raison soiale Adresse de la soiété Site web Code APE Code SIREN Forme juridique Noms
Votre dossier d adhésion
MSH INTERNATIONAL pour le ompte Votre dossier d adhésion Vous avez besoin d aide pour ompléter votre dossier d adhésion? Contatez-nous au +33 (0)1 44 20 48 77. Adhérent Bulletin d adhésion Titre : Mademoiselle
ETUDE COMPARATIVE RELATIVE AU SERTISSAGE DES CANALISATIONS EN CUIVRE DANS LE SECTEUR DE LA RENOVATION
- Février 2003 - ETUDE COMPARATIVE RELATIVE AU SERTISSAGE DES CANALISATIONS EN CUIVRE DANS LE SECTEUR DE LA RENOVATION Centre d Information du Cuivre 30, avenue Messine 75008 Paris HOLISUD Ingénierie 21,
3. Veuillez indiquer votre effectif total :
1 Métiers du marketing et de la ommuniation Questionnaire préalable d assurane Préambule Le présent questionnaire préalable d assurane Marketing et Communiation a pour objet de réunir des informations
Revue des Sciences et de la Technologie - RST- Volume 5 N 1 / janvier 2014
Revue des Sienes et de la Tehnologie - RST- Volume 5 N 1 / janvier 214 L impat d une Charge Fortement Capaitive Sur la Qualité du Filtrage d un FAP Contrôlé Par un Filtre Multi-Variable Hautement Séletif
DocumentHumain. Confidentiel. Disposition de fin de vie
Confidentiel Disposition de fin de vie DoumentHumain Mes volontés juridiquement valables onernant ma vie, mes périodes de souffrane, les derniers moments de mon existene et ma mort Institut interdisiplinaire
#DSAA. Marseille. u Lycée Denis Diderot {Lycée Marie Curie é Lycée Jean Perrin. Lycée Saint Exupéry
# Marseille u Lyée Denis Diderot {Lyée Marie Curie é Lyée Jean Perrin Lyée Saint Exupéry #sommaire_ Introdution Diplôme Supérieur d Arts Appliqués spéialité Design / Marseille 4 Projet pédagogique global
La protection différentielle dans les installations électriques basse tension
Juin 2001 La protetion différentielle dans les installations életriques basse tension Ce guide tehnique a pour objetif de mettre en évidene les prinipes de fontionnement des protetions différentielles
BAILLY-GRANDVAUX Mathieu ZANIOLO Guillaume Professeur : Mrs Portehault
BAILLY-GRANDVAUX Mathieu ZANIOLO Guillaume Professeur : Mrs Portehault 1 I. Introdution...3 II. Généralités...3 Caratéristiques ommunes aux deux phénomènes...3 La différene entre la phosphoresene et la
Mesures du coefficient adiabatique γ de l air
Mesures du oeffiient adiabatique γ de l air Introdution : γ est le rapport des apaités alorifiques massiques d un gaz : γ = p v Le gaz étudié est l air. La mesure de la haleur massique à pression onstante
Le calendrier des inscripti
ÉTUDES SUP TOP DÉPART Vous venez d entrer en terminale. Au œur de vos préoupations : obtenir le ba. Néanmoins, vous devrez aussi vous souier des poursuites d études, ar les insriptions dans le supérieur
LE PENETROMETRE STATIQUE Essais CPT & CPTU
LE PENETROMETRE STATIQUE Essais CPT & CPTU Mesures Interprétations - Appliations Doument rédigé par des ingénieurs géotehniiens de GINGER CEBTP sous la diretion de : Mihel KHATIB Comité de releture : Claude-Jaques
1 Introduction à l effet Doppler.
Introdution à l effet Doppler Ph. Ribière [email protected] Merredi 9 Novembre 2011 1 Introdution à l effet Doppler. Vous avez tous fait l expériene de l effet Doppler dans la rue, lorsqu une ambulane,
Métiers de la sécurité Questionnaire préalable d assurance
Métiers de la séurité Questionnaire préalable d assurane Métiers de la séurité Questionnaire préalable d assurane Identifiation du proposant Raison soiale Adresse de la soiété Site web Code APE Code SIREN
NCCI : Modèle de calcul pour les pieds de poteaux articulés Poteaux en I en compression axiale
NCCI : Modèle de alul pour les pieds de poteaux artiulés Poteaux en I en Ce NCCI présente les règles permettant de déterminer soit la résistane de alul, soit les dimensions requises des plaques d'assise
statique J. Bertrand To cite this version: HAL Id: jpa-00237017 https://hal.archives-ouvertes.fr/jpa-00237017
Quelques théorèmes généraux relatifs à l électricité statique J. Bertrand To cite this version: J. Bertrand. Quelques théorèmes généraux relatifs à l électricité statique. J. Phys. Theor. Appl., 1874,
Figure 1 : représentation des différents écarts
ulletin officiel spécial n 9 du 30 septembre 2010 Annexe SIENES DE L INGÉNIEUR YLE TERMINAL DE LA SÉRIE SIENTIFIQUE I - Objectifs généraux Notre société devra relever de nombreux défis dans les prochaines
INTRODUCTION. A- Modélisation et paramétrage : CHAPITRE I : MODÉLISATION. I. Paramétrage de la position d un solide : (S1) O O1 X
INTRODUCTION La conception d'un mécanisme en vue de sa réalisation industrielle comporte plusieurs étapes. Avant d'aboutir à la maquette numérique du produit définitif, il est nécessaire d'effectuer une
Forme juridique Noms et adresses des filiales à assurer. Date de création ou début de l activité Description PRÉCISE de vos activités
1 RC Professionnelle by Hisox Questionnaire préalable d assurane Identifiation du proposant Raison soiale Adresse de la soiété Site web Code APE Code SIREN Forme juridique Noms et adresses des filiales
Structures algébriques
Structures algébriques 1. Lois de composition s Soit E un ensemble. Une loi de composition interne sur E est une application de E E dans E. Soient E et F deux ensembles. Une loi de composition externe
Dessin assisté par ordinateur en lycée professionnel
Dessin assisté par ordinateur en lycée professionnel Bernard Dauga To cite this version: Bernard Dauga. Dessin assisté par ordinateur en lycée professionnel. Bulletin de l EPI (Enseignement Public et Informatique),
Personnel Pour chaque diagnostiqueur, veuillez fournir les informations suivantes : Date de la formation. Formation (durée)
1 Diagnosti Immobilier by Hisox Questionnaire préalable d assurane Identifiation du proposant Raison soiale Adresse de la soiété Site web Code APE Code SIREN Forme juridique Date de réation : Possédez-vous
Informatique III: Programmation en C++
Informatique III: Programmation en C++ Listes haînées Lundi 9 Janvier 2006 1 2 Introdution Les listes hainées permettent de stoker un nombre d objets qui n a pas besoin d être spéifié a priori. Rajouter
Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.
Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands. Pourquoi un autre catalogue en Suisse romande Historique En 1990, la CRUS (Conférences des
Chapitre. Calculs financiers
Chapitre Caluls finaniers 19 19-1 Avant d'effetuer des aluls finaniers 19-2 Caluls d'intérêts simples 19-3 Caluls d'intérêts omposés 19-4 Evaluation d'un investissement 19-5 Amortissement d'un emprunt
physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178
Thèse no. 7178 PROBLEMES D'OPTIMISATION DANS LES SYSTEMES DE CHAUFFAGE A DISTANCE présentée à l'ecole POLYTECHNIQUE FEDERALE DE ZURICH pour l'obtention du titre de Docteur es sciences naturelles par Alain
Raisonnement par récurrence Suites numériques
Chapitre 1 Raisonnement par récurrence Suites numériques Terminale S Ce que dit le programme : CONTENUS CAPACITÉS ATTENDUES COMMENTAIRES Raisonnement par récurrence. Limite finie ou infinie d une suite.
Diagnostic Immobilier by Hiscox Questionnaire préalable d assurance
Diagnosti Immobilier by Hisox Questionnaire préalable d assurane Diagnosti Immobilier by Hisox Questionnaire préalable d assurane Identifiation du proposant Nom ou raison soiale Adresse Code postal Ville
André Crosnier LIRMM 04 67 41 86 37 [email protected]. ERII4, Robotique industrielle 1
André Crosnier LIRMM 04 67 41 86 37 [email protected] ERII4, Robotique industrielle 1 Obectifs du cours 1. Définitions et terminologie 2. Outils mathématiques pour la modélisation 3. Modélisation des robots
La fonction exponentielle
DERNIÈRE IMPRESSION LE 2 novembre 204 à :07 La fonction exponentielle Table des matières La fonction exponentielle 2. Définition et théorèmes.......................... 2.2 Approche graphique de la fonction
Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme
Chapitre 3 Quelques fonctions usuelles 1 Fonctions logarithme et eponentielle 1.1 La fonction logarithme Définition 1.1 La fonction 7! 1/ est continue sur ]0, +1[. Elle admet donc des primitives sur cet
Techniques d analyse de circuits
Chpitre 3 Tehniques d nlyse de iruits Ce hpitre présente différentes méthodes d nlyse de iruits. Ces méthodes permettent de simplifier l nlyse de iruits ontennt plusieurs éléments. Bien qu on peut résoudre
Algorithmes pour la planification de mouvements en robotique non-holonome
Algorithmes pour la planification de mouvements en robotique non-holonome Frédéric Jean Unité de Mathématiques Appliquées ENSTA Le 02 février 2006 Outline 1 2 3 Modélisation Géométrique d un Robot Robot
D'UN THÉORÈME NOUVEAU
DÉMONSTRATION D'UN THÉORÈME NOUVEAU CONCERNANT LES NOMBRES PREMIERS 1. (Nouveaux Mémoires de l'académie royale des Sciences et Belles-Lettres de Berlin, année 1771.) 1. Je viens de trouver, dans un excellent
Corps des nombres complexes, J Paul Tsasa
Corps des nombres complexes, J Paul Tsasa One Pager Février 2013 Vol. 5 Num. 011 Copyright Laréq 2013 http://www.lareq.com Corps des Nombres Complexes Définitions, Règles de Calcul et Théorèmes «Les idiots
modélisation solide et dessin technique
CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1
La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1 La licence Mathématiques et Economie-MASS de l Université des Sciences Sociales de Toulouse propose sur les trois
2. RAPPEL DES TECHNIQUES DE CALCUL DANS R
2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Cette année, notre traditionnel
abinets de onseil ont aepté de répondre à notre questionnaire. Notre panel s'enrihit don d'année en année. Nous espérons ainsi vous aider au mieux dans vos reherhes de abinets de onseil en SCM (Supply
La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale
La voix en images : comment l évaluation objectivée par logiciel permet d optimiser la prise en charge vocale Stéphanie Perriere To cite this version: Stéphanie Perriere. La voix en images : comment l
Nécessité de prendre en compte des termes d ordre G 3 pour mesurer γ à 10 8 près
Néessité de prendre en ompte des termes d ordre G 3 pour mesurer γ à 10 8 P. Teyssandier Observatoire de Paris Dépt SYRTE/CNRS-UMR 8630UPMC P. Teyssandier ( Observatoire de Paris Dépt SYRTE/CNRS-UMR Néessité
O b s e r v a t o i r e E V A P M. Taxonomie R. Gras - développée
O b s e r v a t o i r e E V A P M É q u i p e d e R e c h e r c h e a s s o c i é e à l ' I N R P Taxonomie R. Gras - développée Grille d'analyse des objectifs du domaine mathématique et de leurs relations
Système de diffusion d information pour encourager les PME-PMI à améliorer leurs performances environnementales
Système de diffusion d information pour encourager les PME-PMI à améliorer leurs performances environnementales Natacha Gondran To cite this version: Natacha Gondran. Système de diffusion d information
Manipulateurs Pleinement Parallèles
Séparation des Solutions aux Modèles Géométriques Direct et Inverse pour les Manipulateurs Pleinement Parallèles Chablat Damien, Wenger Philippe Institut de Recherche en Communications et Cybernétique
Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane
Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane Poteaux Adrien XLIM-DMI, UMR-CNRS 6172 Université de Limoges Soutenance de thèse 15 octobre
Angles orientés et fonctions circulaires ( En première S )
Angles orientés et fonctions circulaires ( En première S ) Dernière mise à jour : Jeudi 01 Septembre 010 Vincent OBATON, Enseignant au lycée Stendhal de Grenoble (Année 006-007) Lycée Stendhal, Grenoble
Chapitre 1 Cinématique du point matériel
Chapitre 1 Cinématique du point matériel 7 1.1. Introduction 1.1.1. Domaine d étude Le programme de mécanique de math sup se limite à l étude de la mécanique classique. Sont exclus : la relativité et la
Mesure d angles et trigonométrie
Thierry Ciblac Mesure d angles et trigonométrie Mesure de l angle de deux axes (ou de deux demi-droites) de même origine. - Mesures en degrés : Divisons un cercle en 360 parties égales définissant ainsi
Théorème du point fixe - Théorème de l inversion locale
Chapitre 7 Théorème du point fixe - Théorème de l inversion locale Dans ce chapitre et le suivant, on montre deux applications importantes de la notion de différentiabilité : le théorème de l inversion
TOUT CE QU IL FAUT SAVOIR POUR LE BREVET
TOUT E QU IL FUT SVOIR POUR LE REVET NUMERIQUE / FONTIONS eci n est qu un rappel de tout ce qu il faut savoir en maths pour le brevet. I- Opérations sur les nombres et les fractions : Les priorités par
Représentation géométrique d un nombre complexe
CHAPITRE 1 NOMBRES COMPLEXES 1 Représentation géométrique d un nombre complexe 1. Ensemble des nombres complexes Soit i le nombre tel que i = 1 L ensemble des nombres complexes est l ensemble des nombres
Chapitre 2 Le problème de l unicité des solutions
Université Joseph Fourier UE MAT 127 Mathématiques année 2011-2012 Chapitre 2 Le problème de l unicité des solutions Ce que nous verrons dans ce chapitre : un exemple d équation différentielle y = f(y)
Chapitre 1 Régime transitoire dans les systèmes physiques
Chapitre 1 Régime transitoire dans les systèmes physiques Savoir-faire théoriques (T) : Écrire l équation différentielle associée à un système physique ; Faire apparaître la constante de temps ; Tracer
MPI Activité.10 : Logique binaire Portes logiques
MPI Activité.10 : Logique binaire Portes logiques I. Introduction De nombreux domaines font appel aux circuits logiques de commutation : non seulement l'informatique, mais aussi les technologies de l'asservissement
Nombres premiers. Comment reconnaître un nombre premier? Mais...
Introduction Nombres premiers Nombres premiers Rutger Noot IRMA Université de Strasbourg et CNRS Le 19 janvier 2011 IREM Strasbourg Definition Un nombre premier est un entier naturel p > 1 ayant exactement
Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe
Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe des n n groupes quantiques compacts qui ont la théorie
I. Ensemble de définition d'une fonction
Chapitre 2 Généralités sur les fonctions Fonctions de références et fonctions associées Ce que dit le programme : Étude de fonctions Fonctions de référence x x et x x Connaître les variations de ces deux
Rappels sur les suites - Algorithme
DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................
Filtrage stochastique non linéaire par la théorie de représentation des martingales
Filtrage stochastique non linéaire par la théorie de représentation des martingales Adriana Climescu-Haulica Laboratoire de Modélisation et Calcul Institut d Informatique et Mathématiques Appliquées de
Introduire un nouveau type de maille ou un nouvel élément de référence
Titre : Introduire un nouveau type de maille ou un nouvel [...] Date : 05/10/2012 Page : 1/11 Introduire un nouveau type de maille ou un nouvel élément de référence Résumé : Ce document décrit ce qu il
physique - chimie Livret de corrigés ministère de l éducation nationale Rédaction
ministère de l éduation nationale physique - himie 3e Livret de orrigés Rédation Wilfrid Férial Jean Jandaly Ce ours est la propriété du Cned. Les images et textes intégrés à e ours sont la propriété de
Calculateur quantique: factorisation des entiers
Calculateur quantique: factorisation des entiers Plan Introduction Difficulté de la factorisation des entiers Cryptographie et la factorisation Exemple RSA L'informatique quantique L'algorithme quantique
Concours EPITA 2009 Epreuve de Sciences Industrielles pour l ingénieur La suspension anti-plongée de la motocyclette BMW K1200S
Concours EPIT 2009 Epreuve de Sciences Industrielles pour l ingénieur La suspension anti-plongée de la motocyclette MW K1200S Durée : 2h. Calculatrices autorisées. Présentation du problème Le problème
Test : principe fondamental de la dynamique et aspect énergétique
Durée : 45 minutes Objectifs Test : principe fondamental de la dynamique et aspect énergétique Projection de forces. Calcul de durée d'accélération / décélération ou d'accélération / décélération ou de
Calcul intégral élémentaire en plusieurs variables
Calcul intégral élémentaire en plusieurs variables PC*2 2 septembre 2009 Avant-propos À part le théorème de Fubini qui sera démontré dans le cours sur les intégrales à paramètres et qui ne semble pas explicitement
Compte-rendu de Hamma B., La préposition en français
Compte-rendu de Hamma B., La préposition en français Badreddine Hamma To cite this version: Badreddine Hamma. Compte-rendu de Hamma B., La préposition en français. Revue française de linguistique appliquée,
Professionnels de l art by Hiscox Questionnaire préalable d assurance
Professionnels de l art by Hisox Questionnaire préalable d assurane Votre interlouteur: Buzz Assurane Servie lients - BP 105 83061 Toulon Cedex [email protected] La ommunauté des olletionneurs
Chapitre 0 Introduction à la cinématique
Chapitre 0 Introduction à la cinématique Plan Vitesse, accélération Coordonnées polaires Exercices corrigés Vitesse, Accélération La cinématique est l étude du mouvement Elle suppose donc l existence à
Axiomatique de N, construction de Z
Axiomatique de N, construction de Z Table des matières 1 Axiomatique de N 2 1.1 Axiomatique ordinale.................................. 2 1.2 Propriété fondamentale : Le principe de récurrence.................
Développements limités. Notion de développement limité
MT12 - ch2 Page 1/8 Développements limités Dans tout ce chapitre, I désigne un intervalle de R non vide et non réduit à un point. I Notion de développement limité Dans tout ce paragraphe, a désigne un
Principe de symétrisation pour la construction d un test adaptatif
Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, [email protected] 2 Université
AGROBASE : un système de gestion de données expérimentales
AGROBASE : un système de gestion de données expérimentales Daniel Wallach, Jean-Pierre RELLIER To cite this version: Daniel Wallach, Jean-Pierre RELLIER. AGROBASE : un système de gestion de données expérimentales.
Baccalauréat technologique
Baccalauréat technologique Épreuve relative aux enseignements technologiques transversaux, épreuve de projet en enseignement spécifique à la spécialité et épreuve d'enseignement technologique en langue
DYNAMIQUE DE FORMATION DES ÉTOILES
A 99 PHYS. II ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L'AÉRONAUTIQUE ET DE L'ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE SAINT-ÉTIENNE,
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :
Terminale STSS 2 012 2 013 Pourcentages Synthèse 1) Définition : Calculer t % d'un nombre, c'est multiplier ce nombre par t 100. 2) Exemples de calcul : a) Calcul d un pourcentage : Un article coûtant
Oscillations libres des systèmes à deux degrés de liberté
Chapitre 4 Oscillations libres des systèmes à deux degrés de liberté 4.1 Introduction Les systèmes qui nécessitent deux coordonnées indépendantes pour spécifier leurs positions sont appelés systèmes à
Cinétique et dynamique des systèmes de solides
Cinétique et dynamique des systèmes de solides Page 2/30 CINÉTIQUE des systèmes matériels... 3 1.) Notion de masse...3 2.) Centre de masse d'un ensemble matériel...4 3.) Torseurs cinétique et dynamique...6
Les formations de remise à niveau(!) l'entrée des licences scientifiques. Patrick Frétigné CIIU
Les formations de remise à niveau(!) pour les bacheliers «non-s» à l'entrée des licences scientifiques. Patrick Frétigné CIIU Cinq exemples Nantes Clermont Ferrand Lorraine Rennes 1 Rouen Nantes REUSCIT
g conditions actuelles de la répression du blanchiment de fraude fiscale et sur ses conséquences.
Le délit de blanhiment, un horizon pénal qui ne esse de s'élargir... 4- t ru Q) ' Le blanhiment de fraude fisale ru :::::: Le ontexte de la réflexion sur la lutte ontre la fraude fisale invite à s'interger
COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL
COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL J. TICHON(1) (2), J.-M. TOULOTTE(1), G. TREHOU (1), H. DE ROP (2) 1. INTRODUCTION Notre objectif est de réaliser des systèmes de communication
C f tracée ci- contre est la représentation graphique d une
TLES1 DEVOIR A LA MAISON N 7 La courbe C f tracée ci- contre est la représentation graphique d une fonction f définie et dérivable sur R. On note f ' la fonction dérivée de f. La tangente T à la courbe
Programmes des classes préparatoires aux Grandes Ecoles
Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,
TP 7 : oscillateur de torsion
TP 7 : oscillateur de torsion Objectif : étude des oscillations libres et forcées d un pendule de torsion 1 Principe général 1.1 Définition Un pendule de torsion est constitué par un fil large (métallique)
Introduction à l étude des Corps Finis
Introduction à l étude des Corps Finis Robert Rolland (Résumé) 1 Introduction La structure de corps fini intervient dans divers domaines des mathématiques, en particulier dans la théorie de Galois sur
Coup de Projecteur sur les Réseaux de Neurones
Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche
Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence
Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence Gwenole Fortin To cite this version: Gwenole Fortin. Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence. 2006.
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE
COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE Le cours de la première année concerne les sujets de 9ème et 10ème années scolaires. Il y a bien sûr des différences puisque nous commençons par exemple par
Quelques tests de primalité
Quelques tests de primalité J.-M. Couveignes (merci à T. Ezome et R. Lercier) Institut de Mathématiques de Bordeaux & INRIA Bordeaux Sud-Ouest [email protected] École de printemps C2 Mars
