CINÉMATIQUE DIRECTE ET INVERSE

Documents pareils
Logiciel Libre Cours 3 Fondements: Génie Logiciel

Résolution d équations non linéaires

Fonctions de plusieurs variables

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Manipulateurs Pleinement Parallèles

Les équations différentielles

Rappels sur les suites - Algorithme

Université Paris-Dauphine DUMI2E 1ère année, Applications

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Les nombres entiers. Durée suggérée: 3 semaines

Création intuitive des éléments d un paysage

Algorithmes pour la planification de mouvements en robotique non-holonome

Théorème du point fixe - Théorème de l inversion locale

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Chapitre 2 Le problème de l unicité des solutions

Les algorithmes de base du graphisme

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Équations non linéaires

de calibration Master 2: Calibration de modèles: présentation et simulation d

Optimisation, traitement d image et éclipse de Soleil

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

EXERCICE 4 (7 points ) (Commun à tous les candidats)

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Contributions à l expérimentation sur les systèmes distribués de grande taille

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Coup de Projecteur sur les Réseaux de Neurones

Définitions. Numéro à préciser. (Durée : )

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Initiation à l algorithmique

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Création et Gestion des tables

= constante et cette constante est a.

Signature électronique. Romain Kolb 31/10/2008

Exercices Corrigés Premières notions sur les espaces vectoriels

Module 24 : Analyse de scénarios

Continuité et dérivabilité d une fonction

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Exercices - Polynômes : corrigé. Opérations sur les polynômes

3 Approximation de solutions d équations

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Calcul différentiel sur R n Première partie

WHITEPAPER. Quatre indices pour identifier une intégration ERP inefficace

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Corps des nombres complexes, J Paul Tsasa

Résolution de systèmes linéaires par des méthodes directes

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Cours Informatique Master STEP

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

C f tracée ci- contre est la représentation graphique d une

Elaboration et Suivi des Budgets

Les Français et les nuisances sonores. Ifop pour Ministère de l Ecologie, du Développement Durable et de l Energie

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

Bases de données documentaires et distribuées Cours NFE04

Une étude de différentes analyses réalisées par le BIT

Génie logiciel (Un aperçu)

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Cours d algorithmique pour la classe de 2nde

Programmation linéaire

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Voici une demande qui revient régulièrement lors de mes rencontres avec les employeurs :

BACCALAUREAT GENERAL MATHÉMATIQUES

Rapport d activité. Mathieu Souchaud Juin 2007

André Crosnier LIRMM ERII4, Robotique industrielle 1

F411 - Courbes Paramétrées, Polaires

CONDITIONS DE REUSSITE, DISPENSES, REPORTS ET CREDITS DANS L ENSEIGNEMENT SUPERIEUR

Rappel sur les bases de données

Formules et Approches Utilisées dans le Calcul du Coût Réel

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

Cryptographie et fonctions à sens unique

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Chapitre 3. Les distributions à deux variables

Correction de l examen de la première session

Resolution limit in community detection

Continuité d une fonction de plusieurs variables

Conduire les entretiens annuels d évaluation

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Procédure de divorce, ce qu il faut savoir

Raisonnement par récurrence Suites numériques

Présentation du PL/SQL

Cryptographie. Cours 3/8 - Chiffrement asymétrique

ITC Corporate Connect

Présentation Alfresco

Conception des systèmes répartis

LISACode. Un simulateur opérationnel pour LISA. Antoine PETITEAU LISAFrance - le 16 mai 2006

Programme des sessions 2014

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Transcription:

Chapitre 6 CINÉMATIQUE DIRECTE ET INVERSE Olivier Vaillancourt, Olivier Godin Université de Sherbrooke

PLAN DU CHAPITRE Ò Cinématique directe Ò Cinématique directe vs cinématique inverse Ò Cinématique inverse É Résolution analytique d un système de c.i. É Solutions numériques Ð Ð Évaluation du Jacobien inverse Descente cyclique des coordonnées 2

CINÉMATIQUE DIRECTE Ò Comme nous l avons vu au chapitre 4, un modèle 3D peut être muni d un squelette d animation et être animé à travers ce dernier. Ò Un squelette d animation est constitué d une série d articulations et d arcs. Ò L état d un squelette d animation à un moment précis est appellé une pose. Microsoft, Bungie, 2005 Ò La pose d un squelette d animation est définie par la transformation propre à chaque articulation à un moment précis. Franck Hétroy,2008 3

CINÉMATIQUE DIRECTE Ò En animation par ordinateur, la cinématique directe consiste à donner une pose à un squelette d animation en modifiant uniquement les paramètres de ses articulations (variables d articulation). Ò Pour une série d articulations inter-reliées, chaque articulation est affectée individuellement. Ò Pour obtenir une pose précise, il faut donc manuellement définir la rotation de chacune des articulation. Ò L inter-dépendance entre les articulations (parent/enfant) peut rendre le processus laborieux. 4

CINÉMATIQUE DIRECTE Ò Exemple: É Pour placer la main d un personnage dans une position voulue, on doit modifier les articulations de l épaule, du coude puis du poignet afin de les placer dans des angles permettant d obtenir la pose voulue. Alias Wavefront, 1999 5

CINÉMATIQUE DIRECTE Ò Avantage: É La cinématique directe permet de faire des mouvement d arcs précis et bien définis., puisqu on contrôle directement les rotations des articulations. Ò Inconvénient: É Générer et animer des poses complexes peut être un processus laborieux étant donné l interdépendance entre les éléments du squelette. Ð (Par exemple, si on génère une pose et qu on réalise à la fin qu une articulation parente est mal orientée, on corrige son orientation, ce qui modifie du coup l orientation des articulations enfant, qui doivent elles aussi être replacées pour compenser.) 6

CINÉMATIQUE DIRECTE VS INVERSE Ò En cinématique directe, on positionne une articulation en modificant la position de ses propres variables d articulation et de ses parents. Ò En cinématique inverse, on positionne une articulation sans se soucier des parents. La cinématique inverse s occupe de générer la configuration des joints parents requise pour obtenir le positionnement désiré. Alias Wavefront, 1999 7

CINÉMATIQUE INVERSE Ò Un problème de cinématique inverse revient donc à trouver une configuration d articulations dans le squelette permettant de positionner une articulation selon une orientation et une translation définie. É L articulation qu on tente de positionner sera appellée articulation cible. É Le positionnement de l articulation cible comprend sa position et son orientation. (Pour le cours nous observerons principalement le cas de la position.) 8

CINÉMATIQUE INVERSE Ò Trouver une configuration d articulation pour obtenir le positionnement désiré de l articulation cible est appellé la résolution du système de cinématique inverse. Ò Comment faire pour trouver la configuration d articulations permettant d atteindre le positionnement voulu? Ò Nous verrons diverses méthodes: É Analytiquement É Utilisation du Jacobien (Jacobien inverse) É Descente cyclique des coordonnées 9

MÉTHODE ANALYTIQUE Ò Consiste à prendre le système et à le modéliser à l aide d un système d équation. Ò Certaines des variables du système d équation sont les variables d articulation. Ò On résoud le système pour trouver les valeurs des variables d articulation et on obtient ainsi la configuration de ces dernières. 10

MÉTHODE ANALYTIQUE Ò Exemple: Parent, R. : Computer Animation : Algorithms and techniques, 2 st edition, Morgan Kaufmann, 2008, p.201 11

MÉTHODE ANALYTIQUE Ò Exemple : Du système de la page précédente, on peut générer des équations et trouver nos angles: Parent, R. : Computer Animation : Algorithms and techniques, 2 st edition, Morgan Kaufmann, 2008, p.202 12

MÉTHODE ANALYTIQUE Ò La méthode analytique permet de trouver des résultats pour un système simple. Ò Cependant, dans le cas d un système plus complexe (plus d articulations) où dans le cas où on souhaite fournir une méthode fonctionnant pour tous les systèmes, la méthode analytique n est pas adaptée. É Devient rapidement très lourde. É Est adaptée à un système en particulier,on doit recommencer si les articulations changent. 13

Ò Dans les faits, la plupart des systèmes de cinématique inverse sont trop complexes pour être résolu avec la méthode analytique. Ò On peut cependant déterminer la solution au système de façon itérative en utilisant un Jacobien. 14

Ò Qu est-ce qu un Jacobien? (rappel du cours de calcul 1) Ò Supposons y = f(x) où y et x sont des vecteurs à n dimensions et f(x) un groupe de n fonctions différentes. É Le tout est donné explicitement t.q: ou 15

Ò Le Jacobien de ce système y = f(x) est la matrice constituée des dérivées partielles de celui-ci. Ò Le Jacobien permet donc de déterminer la pente (la variation) du vecteur y en fonction d un vecteur x donné, étant donné les équations f. 16

Ò D un point de vu de cinématique inverse, le Jacobien met en relation la variation de l articulation cible en fonction de la variation des variables d articulation. Ò On se retrouve donc avec un système de la forme: Ò Soit un système où on met en relation le Δθ à faire subir aux variables d articulations afin d obtenir un déplacement V au niveau de l articulation cible. 17

Ò Dans la mesure où on connait la position courante de notre articulation cible, et sa position désirée, on peut définir V comme étant: Ò Où E (End effector) est la position courante de l articulation et G (Goal) sa position désirée. Ò Δθ est quant à lui un vecteur des variations à faire subir aux articulations. (1 entrée dans le vecteur par variable d articulation.) 18

Ò De notre système : On connait maintenant V. Ò On sait que J(θ) contient les fonctions définissant la variation de notre articulation cible induite par les autres articulations. On connait ces fonctions puisqu elles dépendent de l état courant de notre système, lui aussi connu. Ò Il ne reste donc qu à trouver Δθ pour résoudre notre système. 19

Ò Avant de poursuivre, regardons un exemple simple de construction de jacobien. Ò On a le système: ( 3 articulations rotoïdes à 1 degré de liberté) Parent, R. : Computer Animation : Algorithms and techniques, 2 st edition, Morgan Kaufmann, 2008, p.206 20

Ò La variation de l articulation cible en fonction de la variation (dérivée) d une articulation rotoïde quelconque peut être donné comme étant : où a i est l axe de rotation de l articulation, E la position courante de l articulation cible et P i la position de l articulation rotoïde. Ò Dans notre cas, a i sera toujours égal à (0,0,1) (axe des Z) puisque notre système est sur le plan x/y uniquement. 21

Ò Si on se replace dans notre exemple on a donc 3 articulations dont la dérivée (du déplacement de E) se définie comme étant : Ò Notre Jacobien serait de la forme: 22

Ò Pour ce qui est du vecteur V, c est un vecteur en 3D, on a donc, comme expliqué plus tôt : Ò Pour le vecteur Δθ, on a 3 articulations ayant chacune un degré de liberté, on a donc: 23

Ò Si on se remet dans le contexte de notre système d équations à résoudre: Ò On remarque que J(θ) au final ne dépend pas de θ, d où le fait que le Jacobien est parfois noté simplement J. Ò Notons que si, plutôt que d avoir une articulation rotoïde nous avions eut une articulation prismatique, son entrée dans le Jacobien aurait simplement été : (θ n entre pas en ligne de compte ici aussi.) Où a i est l axe de l articulation 24

Ò Le jacobien une fois obtenu, on a le système : à résoudre, qu on notera : (Pour alléger la notation et puisque J ne dépend pas de θ.) Ò De ce système, on connait J et V, il ne reste plus qu à trouver Δθ qui est inconnu, pour ce faire, on l isole en inverstant J: 25

Ò Dans le cadre de notre exemple, ça tombait bien, notre Jacobien était de 3x3, il était donc facilement inversible. Ò Si jamais (et ce sera le cas la plupart du temps) notre Jacobien n est pas carré, on utilise la pseudo-inverse pour résoudre le système: devient 26

Ò En théorie, on aurait simplement à résoudre le système pour obtenir notre solution au système de cinématique inverse en entier. Ò Dans les faits, ceci n est pas vrai. Pourquoi? É On se rappelle que notre Jacobien avait la forme: Il dépend donc des positions P 1 et P 2. Or, dès qu on applique la moindre transformation (Δθ) à notre système d articulations, les points P 1 et P 2 changent de position, notre Jacobien n est donc plus vrai. 27

Ò Solution au problème? É Parcourir la totalité du vecteur V par petits pas. É En d autres mots, plutôt que de fournir un V = G E, on progressera le long de V sur plusieurs itérations. Notre V est donc une partie du vecteur G-E. É On procède donc comme suit: 1. Tant que G et E ne sont pas à une certaine proximité (seuil) a. On construit un Jacobien pour l état courant du système. b. On produit un V correspondant à une fraction du parcours entre G et E. c. On multiplie l inverse (ou pseudo-inverse) du Jacobien avec V pour trouver Δθ. d. On applique les transformations définies par Δθ à nos articulations, ce qui génère un nouvel état au système. 28

Ò Dernier élément important dans l utilisation d un Jacobien: É Les coordonnées impliquées dans le processus doivent être exprimés dans le même espace de coordonnées. (Par exemple l espace monde.) 29

Ò Quelques exemples de construction de Jacobiens : 1. A1, A2, A4 et A5 sont des articulations rotoïdes à 1 degré de liberté dont l axe de rotation est Z. 2. A3 est une articulation prismatique et a3 l axe de l articulation. 3. P1, P2, P4 et P5 sont les positions de nos articulations rotoïdes. Et P1 = (0,0,0) 4. E est la position de notre articulation cible (celle qui devra atteindre notre objectif G) Articulation 1 Articulation 2 Articulation 3 Articulation 4 Articulation 5 30

Ò Quelques exemples de construction de Jacobiens : A1 est une articulation prismatique et a1 est l axe de l articulation. A2 est une articulation rotule en 3D (3 degrés de liberté) et P2 la position de l articulation. On sait qu une articulation rotule est en réalité composées de trois articulations primaires rotoïdes. Articulation 1 E est la position de notre articulation cible. Articulation 2 Articulation 1 Articulation 2 31

Ò Il existe quelques cas particuliers qui peuvent poser problème dans un Jacobien. É Singularités dans le système Ð Peut générer une matrice singulière qui n est plus inversible. Ð Peut générer une matrice presque singulière, qui va souffrir des imprécisions numériques de l ordinateur lors de l inversion, puisqu on touche à des chiffres très près de 0. Ð Se remarque habituellement lorsque plusieurs articulations sont parfaitement alignées (diamétralement opposées ou repliées sur elles-même). É Systèmes sur-contraints Ð Système où le positionnement final d une articulation cible ne peut être atteint avec les arcs/articulations à notre disposition, à cause des contraintes d articulations, d une distance ou d un objectif inaccessible ou d une simplicité trop grande du système pour le mouvement requis. 32

Ò Pour terminer, notons qu à l opposé d un système surcontraint, on peut aussi parler de système sous-contraint. Ò Un système sous-contraint n est pas un problème en soit, la sous-contrainte d un système signifie simplement qu il existe plusieurs configurations possibles permettant d atteindre le positionnement souhaité pour l articulation cible. En cinématique inverse, la plupart des systèmes sont habituellement sous-contraints. É Ceci peut causer problème si certaines des configurations possibles ne sont pas désirées et que la solution s adonne être l une d elles. 33

Ò Avantages du Jacobien: É É Permet d obtenir une solution ayant une précision contrôlable. ( plus les incréments sont petits, plus la solution sera précise) Facile à implémenter à On connait la forme de chaque articulation au sein du Jacobien, il faut seulement plugger les chiffres dans chaque. à Requiert une inversion/multiplication de matrice, opérations simples et rapides à effectuer. Ò Désavantages du Jacobien: É É Complexe à comprendre, requiert des connaissances plus complexes en mathématique. Légèrement plus lent car plus lourd à gérer que les autres méthodes. 34

Ò En résumé : É Le Jacobien permet de dresser le lien entre le déplacement de l articulation cible et la variation des variables d articulations d un système de cinématique inverse. É Pour résoudre le système, on parcours par petit incrément le vecteur entre la position objectif et la position courante de notre articulation cible. Ð Pourquoi? à Parce que chaque fois qu on applique les modifications aux variables d articulation, les points changent, et notre Jacobien change donc lui aussi. On doit donc procéder par petit incrément pour éviter qu une erreur trop grande ne s accumule. 35

DESCENTE CYCLIQUE DES COORDONNÉES Ò Dans plusieurs applications commerciales, la performance plutôt que la précision est un facteur plus déterminant dans la résolution d un système de cinématique inverse. Ò Pour répondre à de telles conditions, on peut utiliser une méthode procédurale plus flexible et reposant moins sur le calcul numérique que la méthode du Jacobien inverse. Ò Cette méthode est appellée Descente cyclique des coordonnées. 36

DESCENTE CYCLIQUE DES COORDONNÉES Ò La méthode en soit est relativement simple et on effectue le processus tant que la distance entre l articulation cible et le positionnement désirée n est pas inférieure à un seuil. 1. On considère chaque articulation séparément, des enfants vers les parents. 2. Pour chaque articulation considérée, on trouve la valeur de ses variables d articulation qui rapproche le plus possible l articulation cible de notre objectif. 3. Une fois que chaque articulation a été altérée, on recommence le processus à partir de l articulation initiale, en raffinant notre configuration itérativement jusqu à obtenir le niveau de précision voulu. 37

DESCENTE CYCLIQUE DES COORDONNÉES Ò Certaines variantes de la descente cyclique peuvent être utilisées: É On peut, à chaque itération, définir à quel point une articulation permet de se rapprocher le plus de l objectif. On ordonne ainsi chaque articulation selon leur utilité et on utilise cet ordre à l itération d après. É On peut aussi déterminer l ordre en fonction de la longueur de l arc associé à l articulation, et de la position dans la hiérarchie de cette dernière. Une articulation plus courte et plus proche de l articulation cible étant considérée pour les mouvement plus précis, alors que les articulations associées à un arc plus long, plus loin de l articulation cible peuvent être utilisées pour des mouvements plus grossiers. 38

CINÉMATIQUE INVERSE EN PRATIQUE Codemasters, Blade of Darkness, 2001 Ò En pratique, chaque approche de cinématique inverse (analytique, Jacobien inversé et descente cyclique des coordonnées) trouve son utilité dans certains cas. É On utilise habituellement la méthode analytique pour des cas très simple de cinématique inverse. (Personnage qui tourne sa tête vers les objets importants dans un jeu.) Electronic Arts, Madden NFL 09, 2008 É Dans le cas où une animation est légèrement altérée par cinématique inverse pour être plus réaliste mais rester performant, on utilise la descente cyclique des coordonnées. (Jeux vidéos en général, surtout les jeux de sports.) É Besoin de précision important, besoin de réalisme important, plateformes puissantes: On utilise le Jacobien inverse. (Logiciels d animation, effets spéciaux, moteurs 3D avancés.) Universal Pictures, Jurrassic Park, 1993 39

SOMMAIRE DU CHAPITRE Ò Qu est-ce que la cinématique directe? Ò Cinématique directe vs cinématique inverse. Ò Méthodes de cinématique inverse: É Analytique É Jacobien inverse É Descente cyclique des coordonnées Ò Utilisation en pratique des diverses méthodes. 40

RÉFÉRENCE Ò Parent,Rick : Computer Animation, Algorithms and techniques, 2nd edition, Morgan Kaufmann, 2007 (pp.,198-215) 41