La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Lanimation par cinématique directe ou inverse Table des matières Introduction Rappel des notions de base en cinématique Modélisation cinématique Contrôle.

Présentations similaires


Présentation au sujet: "1 Lanimation par cinématique directe ou inverse Table des matières Introduction Rappel des notions de base en cinématique Modélisation cinématique Contrôle."— Transcription de la présentation:

1 1 Lanimation par cinématique directe ou inverse Table des matières Introduction Rappel des notions de base en cinématique Modélisation cinématique Contrôle automatique de la caméra Modélisation cinématique hiérarchique Cinématique directe Cinématique inverse

2 2 Introduction Cinématique : La spécification ou létude du mouvement indépendamment des forces sous-jacentes qui produisent ce mouvement. Décrit le mouvement des corps. La cinématique tente de décrire le mouvement des corps sans faire référence aux notions de forces ou dénergie. Elle étudie les mouvements des corps à laide des notions despace et de temps, en faisant abstraction de leurs causes. Elle utilise les concepts de position, déplacement, vitesse, accélération.

3 3 Introduction Dynamique : Branche de la mécanique qui fait appel à la notion de force pour expliquer le mouvement des corps. Explique le mouvement des corps. Gravité, force, masse et contraintes liées à un objet sont gérées par le logiciel danimation. Il nest pas nécessaire de décrire chaque mouvement indépendamment comme dans le cas de la cinématique. Les mouvements, particulièrement réalistes, sont calculés par le logiciel danimation. La mise en œuvre est plutôt lourde et lapproche exige des temps de calculs importants. Forces agissant sur un automobile qui freine.

4 4 Rappel des notions de base en cinématique La cinématique consiste à décrire la manière dont un objet se déplace dans lespace et dans le temps. 1 er cas : Mouvement de translation en ligne droite (cinématique 1D) où toutes les parties de lobjet subissent la même variation de position Lobjet peut donc être considéré comme une particule.

5 5 Mouvement de translation en ligne droite Une particule se déplace dune origine P sur la droite passant par P de direction d. P d Posons C(t) P + (t) d la position de la particule au temps t sur cette droite. On peut définir S(t) déplacement de la particule réalisé au temps t. signe de (t). || C(t) – P || (t). || d || Note : Le déplacement dépend uniquement des positions initiale et finale, mais pas de litinéraire suivi. On peut aussi définir la distance parcourue, D(t), i.e. la longueur du trajet réel (un scalaire positif).

6 6 Vitesse à laquelle la particule se déplace Vitesse scalaire moyenne D(t) / t(un scalaire positif) Vitesse moyenne S(t) / t(le trajet réel parcouru entre-temps na pas dimportance) Note : Le signe de la vitesse moyenne est le même que celui du déplacement; une valeur positive signifie que le mouvement net se fait dans la direction d. Vitesse instantanée V(t)Vitesse en un point quelconque de lespace. d S(t) = S'(t) dt Permet de décrire en détail un parcours effectué à vitesse non constante.

7 7 Accélération à laquelle la particule se déplace Un objet accélère lorsque sa vitesse varie en module ou en direction, ou les deux. accélération moyenne durant un intervalle de temps donné vitesse moyenne / intervalle de temps accélération instantanée A(t) d V(t) = S''(t) dt Première loi de Newton (1687) : Tout corps conserve son état de repos ou de mouvement rectiligne uniforme, à moins que des forces extérieures ayant une résultante non nulle nagissent sur lui et ne le contraignent à changer détat. Doù la propriété dinertie dun corps : sa tendance à résister à toute variation de son état de mouvement. Cest la tendance dun objet à rester au repos sil est au repos et à vitesse constante sil est en mouvement. frottement tension sur la corde forces égales vitesse constante

8 8 Exemple I :Mouvement de translation en ligne droite à vitesse constante C(t) = P + t d S(t) = t ||d|| = D(t) t S(t) = D(t) t V(t) V(t) = ||d|| t 0 A(t) = 0 t 0

9 Exemple II :Mouvement de translation en ligne droite à vitesse constante dans la direction d dans [0, t 1 ] et dans la direction -d dans [t 1, t] C(t) = P + t d0 t t 1 P + t 1 d + (t 1 - t) d t t 1 t t1t1 P D(t) = t ||d||, t 0 t S(t) = t ||d||0 t t 1 (2t 1 - t) ||d || t t 1 S(t) t t1t1

10 Exemple II (suite) V(t) = ||d||0 t t 1 - ||d || t t 1 t V(t) t1t1 Accélération nulle.

11 11 Exemple III :Mouvement de translation en ligne droite à accélération constante A(t) = a t 0 V(t) = v 0 + a t t 0où V(0) = v 0 A(t) S''(t) ''(t). || d || = a V(t) '(t). || d || = a t + v 0 t 0où V(0) = v 0 S(t) = v 0 t + ½ a t 2 t 0où S(0) = 0 C(t) = P + [v 0 t + ½ a t 2 ] d / ||d|| t 0. t S(t) V(t) t v0v0 A(t) t a

12 12 Exemple IV :Mouvement en chute libre verticale Mouvement qui se produit sous le seul effet de la gravité. Galilée au XVII e siècle En labsence de résistance de lair, tous les corps qui tombent ont la même accélération due à la gravité, quelle que soit leur taille ou leur forme. Laccélération vaut à peu près 9,8 m/sec 2 près de la surface de la terre. Pour des vitesses faibles et de petits intervalles de temps, on peut négliger cette variation et supposer que les corps sont en chute libre avec une accélération constante. Cela nous ramène au cas précédent (si laxe des y est utilisé pour le mouvement vertical et est orienté vers le haut, A(t) = –9,8 m/sec 2 ). Exemple : Sur la lune, en 1971, lastronaute David Scott lâcha un marteau et une plume au même instant; des millions de téléspectateurs furent témoins que les 2 objets sont arrivés en même temps au sol.

13 13 Exemple V : Mouvement en chute libre en présence de résistance de lair Laccélération diminue avec le temps et peut même sannuler. Un objet qui tombe dune très grande hauteur naccélère pas indéfini- ment. Il finit par atteindre une vitesse limite, v L, puis continue à tomber en gardant cette vitesse constante. t v L (avec résistance de lair) sans résistance de lair vitesse v L dépend du poids et de la forme de lobjet qui tombe, et de la masse volumique de lair, laquelle dépend de la pression et de la température. Exemple: La position que donnent les parachutistes à leur corps permet dagir sur le niveau de résistance de lair. (i)Position verticale : v L = 300 km/h dans à peu près 15 s. (ii)Position du saut de lange (jambes et bras écartés) : v L = 200 km/h.

14 14 2 ième cas : le mouvement dun projectile dans un plan Si lon ne tient pas compte de la résistance de lair, la seule force agissant sur le projectile une fois quil a été lancé est la force gravitationnelle. Expérience de Galilée : On laisse tomber une balle du haut du mât dun bateau se déplaçant à vitesse constante. Vitesse horizontale constante Elle tombe au pied du mât si lon néglige la résistance de lair car, au moment où elle est lâchée du sommet du mât, la boule a la même vitesse horizontale que le navire. Elle conserve la composante horizontale de la vitesse, même en accélérant verticalement. Accélération constante

15 Le mouvement dun projectile dans un plan (suite) Résultat de Galilée : Un projectile près de la surface de la terre possède deux mouvements indépendants : un mouvement horizontal à vitesse constante un mouvement vertical en chute libre Équations résultantes : Si laxe des x est horizontal avec x 0 = 0 et laxe des y est vertical et orienté vers le haut avec y = y 0 initialement, alors mouvement horizontal : accélération nulle, vitesse horizontale constante mouvement vertical : accélération constante -g (9,8 m/sec 2 ), vitesse verticale = vitesse verticale initiale - g t déplacement vertical = position verticale initiale (y 0 ) + vitesse verticale initiale * t – ½ g t 2.

16 16 Le mouvement dun projectile dans un plan (fin) La composante verticale du mouvement dune balle lancée horizontalement est la même que celle dune balle quon laisse simplement tomber. La vitesse verticale initiale doit être la même. Remarque : Si lon tient compte de la résistance de lair, les équations précédentes ne sont valables que si la vitesse du projectile est très inférieure à sa vitesse limite. Ce nest pas le cas dune balle de base-ball ou de golf, dune flèche ou dune balle de fusil.

17 17 3 ième cas : le mouvement circulaire uniforme r || V(t) || = v t 0 particule V(t) A(t) Il sagit dune particule se déplaçant autour dun axe sur un cercle de rayon r avec : une vitesse V(t) de direction tangente au cercle de grandeur constante v, une accélération A(t) radiale et orientée vers le centre (appelée accélération centripète). axe || A(t) || = v 2 / r t 0 Soit T = temps nécessaire pour effectuer une révolution complète, alors v = 2 r / T.

18 18 le mouvement circulaire uniforme : la position C(t) de la particule en fonction du temps Sans perte de généralité, après avoir effectué des transformations de base, on suppose que laxe de rotation coïncide avec laxe des z et le cercle est centré à lorigine dans le plan x-y. C(t) =r cos tavec || C(t) || = r r sin t V(t) = - r sin tavec || V(t) || = r = v r cos t A(t) = - 2 r cos tavec || A(t) || = 2 r = v 2 / r 2 r sin t S(t) = vtt T Note : On a supposé que les dimensions du corps sont négligeables p/r au rayon ce qui revient à traiter le corps comme une particule.

19 19 4 ième cas : le mouvement circulaire non uniforme dune particule C(t) =r cos (t)avec || C(t) || = r r sin (t) V(t) = - '(t) r sin (t)avec || V(t) || = '(t) r = v(t) '(t) r cos (t) La vitesse peut varier en grandeur et en direction. A(t) = - v 2 (t)cos (t)+ dv(t) - sin (t) r sin (t) dt cos (t) accélération radiale accélération tangentielle à la trajectoire direction radiale (u r )direction tangentielle (u t ) x y urur utut

20 20 le mouvement circulaire non uniforme dune particule (suite) Cas uniforme : '(t) = constante. Accélération tangentielle nulle S(t) = v(t) dt = r [ (t) - (0) ]. 0 t NOTE : Ce rappel prend en compte uniquement le cas où les objets peuvent être ramenés à des particules. Autrement, chaque objet subit non seulement un mouvement de translation mais aussi un mouvement de rotation autour dun axe. À suivre (prochain chapitre) …

21 21 Les animateurs sinquiètent plus souvent de la qualité générale du mouvement que du contrôle précis de la position ou de lorientation de chaque objet. Exemple : lorsque lanimateur gère un grand nombre dobjets, lorsque lon traite des objets placés à larrière-plan dont le mouvement précis na guère dimportance, pour certaines simulations physiques. Nous aurons recours à un modèle structuré pour produire un mouve- ment. Cela supprime pour lanimateur la contrainte davoir à se soucier constamment de spécifier les détails du mouvement, ceux-ci étant gérés par le modèle. Lutilisateur perd alors généralement le contrôle fin du mouvement des objets car de tels modèles impliquent automatiquement certaines contraintes au mouvement à générer. lapplication de contraintes de non-pénétration, la préservation des volumes, lapplication de règles de comportement, le calcul de réactions à la gravité, etc. Modélisation cinématique

22 22 Contrôle automatique de la caméra Cela porte sur des modèles de calculs du mouvement de la caméra basés sur la configuration géométrique des éléments de la scène. Lanimateur est plus intéressé par le fait de bien montrer laction qui se déroule que dobtenir un angle de caméra particulier. De plus, il ne peut pas toujours anticiper la position exacte, ni même globale, des objets au cours de la séquence danimation. Par conséquent, il est difficile pour lanimateur de savoir comment positionner et orienter sa caméra précisément afin de capter la partie la plus importante de laction. La position de la caméra et du centre dintérêt doivent être générée automatiquement pour chaque image de lanimation.

23 23 Techniques de contrôle automatique de la caméra Placer la caméra et/ou le centre dintérêt en fonction de la position dun ou plusieurs objets de lanimation. Exemple : Si un groupe dobjets se déplace simultanément, on peut alors utiliser la moyenne de leurs positions comme centre dintérêt de la caméra. On peut aussi contraindre la position de la caméra dans un plan prédéfini ou sur un segment de droite ou de courbe. Exemple : Conserver la caméra à une altitude donnée i.e. la contraindre à se situer dans un plan || au plan du sol de façon quelle puisse saisir laction en vue plongeante. Exemple : La caméra peut suivre de près un objet se déplaçant dans un vaste espace en se positionnant en fonction de lobjet en mouvement. Le centre dintérêt peut être défini dans le système de coordonnées local de lobjet.

24 24 Techniques de contrôle automatique de la caméra On peut aussi contraindre la distance entre la position de la caméra et le centre dintérêt. etc. Bien entendu, le contrôle automatique de la caméra est fort utile mais cela exige beaucoup dexpérience pour pouvoir anticiper la qualité des résultats. Lanimateur doit renoncer à une part du contrôle en échange dune plus grande simplicité dutilisation.

25 25 Modélisation cinématique hiérarchique Jusquà maintenant, nous avons considéré le mouvement dobjets simples (splines, surfaces de Bézier, volumes tricubiques, etc.). Cependant, il existe des modèles dobjets plus complexes que ceux représentant des objets élémentaires. Ces modèles dobjets renferment plusieurs composantes, lesquels sont représentés à laide dune structure hiérarchique. Cela permet davoir un meilleur contrôle sur le mouvement associé à chaque partie dun objet. Exemple I de modèle hiérarchique : les systèmes planétaires Les lunes tournent autour des planètes qui, elles-mêmes, tournent autour dun soleil qui se déplace dans une galaxie.

26 26 Modélisation cinématique hiérarchique Exemple II de modèle hiérarchique : les humains et les animaux Ce sont des objets reliés bout à bout pour former des chaînes permettant de manipuler les articulations de leurs membres. Remarque : Ces modèles hiérarchiques proviennent en bonne partie du domaine de la robotique. Les ouvrages de robotique traitent de la modélisation de manipulateurs : une série dobjets reliés en chaîne par des articulations.

27 27 Quelques définitions en robotique Lien : les objets rigides formant les connexions entre les articulations. Effecteur final : lextrémité libre dune chaîne darticulations et de liens. Cadre : le système de coordonnées local associé à chaque articulation, cest-à-dire son repère. Types darticulation en robotique : Tous les types darticulations dans lesquelles 2 liens bougent lun en fonction de lautre. Types darticulation en infographie : Principalement,les articulations tournantes et les articulations coulissantes. Degrés de liberté: (DDL) # de variables permettant de définir une configuration (1 DDL : un mouvement dans une direction).

28 28 Articulations tournantes Un lien tourne autour dun point fixe de lautre lien. Les liens sont généralement joints à ce point. Le lien le plus éloigné dans la chaîne tourne pendant que lautre demeure fixe, au moins par rapport à cette articulation. 1 DDL : mouvement dans une direction. Articulations coulissantes Un lien glisse le long dun axe en fonction de lautre lien. 1 DDL: un mouvement dans une direction. R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 180.

29 29 Articulations complexes Ce sont des structures dans lesquelles coexistent plusieurs degrés de liberté. Généralement, lorsquune articulation possède n DDL (n > 1), elle est modélisée sous la forme dun ensemble de n articulations à 1 DDL reliées par n – 1 liens de longueur 0. Elles comprennent :- les articulations planaires et - les articulations à rotule. Articulations planaires Celles dans lesquelles un lien coulisse sur la surface plane dun autre.

30 30 Articulations à rotule Rick Parent, Animatique Algorithmes et techniques. Vuibert informatique, chap. 4, 2003.

31 31 Représentation de modèles hiérarchiques Ces modèles sont représentés par une structure arborescente de sommets reliés par des arêtes. À chaque sommet est rattachée la définition géométrique dun objet élémentaire (lien). À chaque arête i est associée la transformation à appliquer à tous les sommets se trouvant sous lui dans la hiérarchie (articulation). Cette transformation peut contenir : - une transformation constante du sommet i vers sa position neutre par rapport au sommet parent, - une transformation variable responsable de larticulation. sommet i arête i Remarque : Associer une arête à une articulation peut sembler non intuitif mais cela est pratique car une partie dobjet peut avoir plusieurs articulations qui lui sont rattachées.

32 32 Exemple de structure arborescente R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 183.

33 33 Représentation de modèles hiérarchiques Le nœud racine correspond à lobjet dont la position et lorientation sont connues dans le système de coordonnées global. La position et lorientation de tous les autres sommets sont définies par rapport à leur sommet parent. Un changement dans la position et lorientation dun sommet transformera la position et lorientation de ses sommets descendants. En particulier, on peut modifier la transformation associée au sommet racine en fonction du temps pour animer la position et lorientation de la structure rigide. Les sommets dun objet donné peuvent être transformés vers leur position finale en concaténant les transformations situées plus haut dans larbre et en appliquant la matrice de transformation combinée aux sommets.

34 34 Exemple simple à 2 dimensions avec 3 liens (position et orientation globales) R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 186.

35 35 Structure hiérarchique de cet exemple simple (position et orientation globales) (transformation du lien 1 p/r au lien 0) (transformation du lien 1.1 p/r au lien 1)

36 36 Calcul des transformations à appliquer aux sommets dans cet exemple simple Lien 0 :T 0 Lien 1 :T 0 T 1 R 1 ( 1 ) Lien 1.1 :T 0 T 1 R 1 ( 1 ) T 1.1 R 1.1 ( 1.1 ) Dans la représentation arborescente mettant en œuvre une articulation tournante, une transformation de rotation est associée à larête qui précède le sommet représentant le lien à faire tourner.

37 37 Cas dappendices multiples Exemple I : Exemple II :voir le personnage articulé à la figure précédente. R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 187.

38 38 Structure arborescente correspondant à une hiérarchie à 2 appendices

39 39 Cinématique directe (« forward kinematics ») Le contrôle du mouvement dun objet articulé est spécifié explicitement par lanimateur en fixant les paramètres de chaque articulation. Le mouvement dune composante est déterminé par laccumulation de toutes les transformations conduisant à cette composante. Exemple : Le mouvement dun pied peut être considéré comme la combinaison des effets résultant des transformations portées à la hanche, au genou et à la cheville. Lévaluation complète dune arborescence produit un objet articulé dans une position et une orientation qui reflètent la définition des paramètres darticulation. Cette évaluation se fait en parcourant larbre selon une technique de fouille en profondeur. Pose :lensemble totalement spécifié des paramètres des articulations qui permet le positionnement et lorientation de lobjet articulé.

40 40 Technique de fouille en profondeur Chaque fois quune arête est suivie vers le bas, ses transformations sont concaténées aux transformations de son sommet parent. Chaque fois quune arête est traversée en remontant larbre vers un sommet, la transformation de ce sommet doit être restaurée avant que la traversée ne reprenne vers le bas. Choix dune pile pour réaliser cette fouille en profondeur

41 41 Contrôle de cinématique directe Dans une animation simple, un animateur peut déterminer interactivement des positions clés puis interpoler les valeurs des paramètres darticulation. Le positionnement dun objet articulé en spécifiant tous les paramètres darticulation sappelle un contrôle cinématique direct. Mais, placer un objet articulé dans une position finale souhaitée en spécifiant les paramètres darticulation peut être une opération laborieuse pour lutilisateur. Cest souvent un processus par essais et erreurs. Pour éviter ces difficultés, un contrôle cinématique inverse est parfois utilisé. La position et lorientation souhaitées de leffecteur final sont données, et les paramètres darticulation internes sont calculés automatiquement.

42 42 Repères de coordonnées locales Avant daborder le contrôle cinématique inverse, nous allons aborder la définition de repères de coordonnées locales. La définition de hiérarchies complexes et le contrôle cinématique inverse nous amènent à vouloir définir des points dans un repère local associé à une articulation. Il faut alors disposer dune méthode bien définie pour convertir les coordonnées dun point dun repère à un autre. Exemple : Convertir les points définis dans le repère dune articulation vers le système de coordonnées global à des fins daffichage.

43 43 1 ière approche : Matrices de transformation 4 x 4 À chaque arc est associée une matrice de transformation pour passer dun repère parent à un repère enfant. Linverse de cette transformation (facile à obtenir) permet deffectuer le chemin inverse. 2 ième approche : Notation Denavit-Hartenberg Paramétrage utilisé en robotique plus concis et plus parlant. Chaque repère est décrit p/r à un repère adjacent par 4 paramètres qui indiquent la position et lorientation dun repère enfant p/r à son repère parent.

44 44 Exemple I :articulation tournante où laxe de rotation z demeure inchangé Soientlaxe des z du repère darticulation : laxe de rotation, laxe des x du repère darticulation : le lien associé à larticulation, a i : distance sur laxe des x dune articulation à la suivante, i+1 : angle darticulation (angle de rotation autour de laxe des z) (longueur du lien) R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 191.

45 45 Exemple II :articulation tournante avec une configuration non-planaire Soientlaxe des z du repère darticulation : laxe de rotation, laxe des x du repère darticulation : le lien associé à larticulation, a i : distance sur laxe des x dune articulation à la suivante, i : rotation de laxe des z du i ième repère autour de laxe x i, d i+1 : décalage de lien (distance sur laxe des z de x i à x i+1 ), i+1 : angle darticulation (angle de rotation autour de laxe des z) La conversion dun point dun repère à un autre sobtient ainsi : V i+1 = R Z ( i+1 ) T Z (d i+1 ) R X ( i ) T X (a i ) V i

46 46 Exemple II :articulation tournante avec une configuration non-planaire (longueur du lien) R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 191.

47 47 Manipulateur utilisant 3 articulations tournantes Le système de liens est planaire. Il ny a pas de paramètres de déplacement ni de rotation de lien. R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 194.

48 48 Cinématique inverse ( « Inverse Kinematics ») La position voulue et lorientation possible de leffecteur final sont fournies par lutilisateur. Les angles darticulation et déplacements requis pour atteindre cette configuration sont calculés. Ce problème peut présenter aucune, une ou plusieurs solutions. Système surcontraint Système sous-contraint Si le mécanisme est simple, le vecteur de pose requis pour produire la configuration finale souhaitée peut être calculée analytiquement. Si les vecteurs de pose initial et final sont donnés, des configurations intermédiaires peuvent être formées en interpolant les valeurs des vecteurs de pose, en animant ainsi le mécanisme de sa configuration de départ à sa configuration darrivée. Si le mécanisme est trop compliqué pour des solutions analytiques, des méthodes itératives sont utilisées.

49 49 Résolution dun système simple par analyse Bras simple à 2 liens dans lespace 2D (L2 L1) Espace de travail atteignable La première opération consiste à sassurer que la position du but est à portée de leffecteur final :L1 – L2 x 2 + y 2 L1 + L2, où (x, y) désigne la position de leffecteur final. Origine

50 50 Rappel : règle du cosinus A B C |C| 2 = |A| 2 + |B| 2 – 2 |A|. |B| cos où |A|, |B| et |C| désignent la longueur des côtés A, B et C resp.

51 51 Résolution dun système simple (suite) position de leffecteur final Calcul des angles darticulation 1 et 2 Il existe 2 solutions symétriques p/r à laxe (0,0)-(X,Y) à cause de larccosinus.

52 52 En labsence de solutions analytiques … Pour des structures plus complexes, il peut y avoir un nombre extrêmement élevé de solutions x qui donneront la position souhaitée de leffecteur final y tel que F(x) = y. En animation par ordinateur, de nombreuses situations se présentent où lapproche analytique ne peut être considérée. Il faut avoir recours à des solutions numériques itératives pour résoudre le système F(x) = y. Définition : Soit la fonction F : n m au point x, alors la matrice jacobienne J F (x) de F est : J F (x) = F(x) = F 1 (x) / x 1 F 1 (x) / x 2 … F 1 (x) / x n F 2 (x) / x 1 F 2 (x) / x 2 … F 2 (x) / x n ………………………………………………… F m (x) / x 1 F m (x) / x 2 … F m (x) / x n

53 53 Méthode de Newton-Raphson généralisée Le problème consiste à trouver le vecteur x tel que : f 1 (x) = y 1 f 2 (x) = y 2 ………. f m (x) = y m y1y2…ymy1y2…ym Partant dune solution x 0, à litération k,on obtient :x k+1 = x k + z k où z k est une solution du système déquations linéaires J F (x k ) z = y – F(x k ).(*) est fixé. où y = 1 er cas : m = n et linverse du Jacobien existe z k = J F -1 (x k ) (y – F(x k )).

54 54 Méthode de Newton-Raphson généralisée (suite) 2 ième cas : m = n et linverse du Jacobien nexiste pas Le système est singulier i.e. il nexiste pas de solution au problème. 3 ième cas : m < n, la matrice nest pas carrée et linverse du Jacobien nest donc pas défini Il y a plus de DDL quil ny a de contraintes à satisfaire. Il existe une infinité de solutions au problème. Pour en trouver une, on considère les inverses généralisés pour résoudre ce système : De manière compacte, il sagit de trouver z tel que Az = b ouA t Az = A t b ouz = (A t A) –1 A t b J F (x k ) z = y – F(x k ). inverse généralisé de A = (A t A) –1 A t

55 55 Adaptation à la cinématique inverse Soient y : la position et lorientation visées de leffecteur final, x k : les angles darticulation, F(x k ): la position & lorientation courantes de leffecteur final, y – F(x k ) : le terme droit du système déquations linéaires à résoudre (*) représentant la différence entre la position/orientation courante et celle visée. F(x k-1 ) y F(x k ) x k+1 = x k + z k où z k est solution de J F (x k ) z = y – F(x k ). x visé x k-1

56 56 Cas simple dun manipulateur planaire à 3 articulations Objectif : Déplacer leffecteur final E vers la position visée G. Lorientation de leffecteur final na pas dimportance ici. Laxe de rotation de chaque articulation est au personnage et émerge de la feuille.

57 Cas simple dun manipulateur planaire à 3 articulations k+1 = k + k, k ( 1 k, 2 k, 3 k ), k ( 1 k, 2 k, 3 k ), où k est solution deJ( k ) = G – E k avec E k : position de leffecteur final, P1 k : position de P1 à litération k, P2 k : position de P2 à litération k, Il nous reste à déterminer le Jacobien J( k ). À litération k + 1, 1. P1 k = R Z ( 1 k )L P2 k = P1 k + R Z ( 1 k + 2 k )L2 0

58 Cas simple dun manipulateur planaire à 3 articulations 3. E k = P2 k + R Z ( 3 k + 1 k + 2 k )L3 0 ou encore, L1 cos( 1 k ) + L2 cos( 1 k + 2 k ) + L3 cos( 3 k + 1 k + 2 k ) E k = L1 sin( 1 k ) + L2 sin( 1 k + 2 k ) + L3 sin( 3 k + 1 k + 2 k ) 0 J( k ) = 4. - E k y P1 k y – E k y P2 k y – E k y E k x E k x - P1 k x E k x – P2 k x Il sensuit que : J( k ) : ((0, 0, 1) x E k ) x ((0, 0, 1) x (E k - P1 k )) x ((0, 0, 1) x (E k – P2 k )) x ((0, 0, 1) x E k ) y ((0, 0, 1) x (E k - P1 k )) y ((0, 0, 1) x (E k – P2 k )) y ou encore, ((0, 0, 1) x E k ) z ((0, 0, 1) x (E k - P1 k )) z ((0, 0, 1) x (E k – P2 k )) z g 1 g 2 g 3

59 Cas simple dun manipulateur planaire à 3 articulations Il se peut que le système soit singulier. Exemple : k 0, E k L1 + L2 + L3 0 J( k ) 000 L1 + L2 + L3L2 + L3L3 000 Calculons alors linverse généralisé du Jacobien : pour trouver une solution au système déquations linéaires. On peut enlever la 3 ième équation du système linéaire: J( k ) = G – E k. Cela nous ramène au cas m = 2 < n = 3. (J( k ) t J( k ) ) –1 J( k ) t Il nexiste pas de solution au système déquations linéaires à moins que G = E1 + E2 + E3.

60 Cas simple dun manipulateur planaire à 3 articulations

61 Extension du modèle au cas où les angles darticulation sont bornés Nous avons les contraintes supplémentaires suivantes : On peut encore utiliser la méthode de Newton-Raphson généralisée en remplaçant, par exemple, chaque composante de, soit i, par : + ( - ) sin 2 i Exemple : Modélisation de lindex.

62 62 Difficultés ou contraintes liées à cette méthode Linversion de la matrice jacobienne ou le calcul de linverse généralisée peuvent donner lieu à des instabilités numériques. Pour assurer la convergence de cette méthode, la solution de départ doit être proche de la solution visée. Certaines propriétés de continuité du Jacobien doivent aussi être satisfaites. Lorsquon construit le Jacobien, il est important de sassurer que toutes les valeurs de coordonnées se situent dans le même système de coordonnées car il arrive souvent que les informations propres à larticulation soient données dans le système de coordonnées local à cette articulation. Un mouvement plus réaliste que les techniques cinématiques est souvent souhaité et des simulations de nature physiques sont alors nécessaires.


Télécharger ppt "1 Lanimation par cinématique directe ou inverse Table des matières Introduction Rappel des notions de base en cinématique Modélisation cinématique Contrôle."

Présentations similaires


Annonces Google