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

L’animation par cinématique directe ou inverse

Présentations similaires


Présentation au sujet: "L’animation par cinématique directe ou inverse"— Transcription de la présentation:

1 L’animation 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 Introduction Cinématique : Décrit le mouvement des corps.
La spécification ou l’étude du mouvement indépendamment des forces sous-jacentes qui produisent ce mouvement. 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 à l’aide des notions d’espace et de temps, en faisant abstraction de leurs causes. Elle utilise les concepts de position, déplacement, vitesse, accélération.

3 Introduction Dynamique : Explique le mouvement des corps.
Branche de la mécanique qui fait appel à la notion de force pour expliquer le mouvement des corps. Gravité, force, masse et contraintes liées à un objet sont gérées par le logiciel d’animation. Il n’est 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 d’animation. La mise en œuvre est plutôt lourde et l’approche exige des temps de calculs importants. Forces agissant sur un automobile qui freine.

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 l’espace et dans le temps. 1er cas : Mouvement de translation en ligne droite (cinématique 1D) où toutes les parties de l’objet subissent la même variation de position L’objet peut donc être considéré comme une particule.

5 Mouvement de translation en ligne droite
Une particule se déplace d’une origine P sur la droite passant par P de direction d. d P 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 || Le déplacement dépend uniquement des positions initiale et finale, mais pas de l’itinéraire suivi. Note : On peut aussi définir la distance parcourue, D(t), i.e. la longueur du trajet réel (un scalaire positif).

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 n’a pas d’importance) 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 l’espace.  d S(t) = S'(t) dt Permet de décrire en détail un parcours effectué à vitesse non constante.

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 n’agissent sur lui et ne le contraignent à changer d’état. D’où la propriété d’inertie d’un corps : sa tendance à résister à toute variation de son état de mouvement. C’est la tendance d’un objet à rester au repos s’il est au repos et à vitesse constante s’il est en mouvement. frottement tension sur la corde forces égales  vitesse constante

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

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

10 Exemple II (suite) ||d|| 0  t  t1 - ||d || t  t1 V(t) = V(t) t t1 Accélération nulle.

11 Exemple III : Mouvement de translation en ligne
droite à accélération constante A(t) = a t  0 V(t) = v0 + a t t  0 où V(0) = v0 A(t)  S''(t)  ''(t) . || d || = a V(t)  '(t) . || d || = a t + v0 t  0 où V(0) = v0 S(t) = v0t + ½ a t2 t  0 où S(0) = 0 C(t) = P + [v0t + ½ a t2] d / ||d|| t  0. S(t) V(t) A(t) v0 a t t t

12 Exemple IV : Mouvement en chute libre verticale
Mouvement qui se produit sous le seul effet de la gravité. Galilée au XVIIe siècle En l’absence de résistance de l’air, tous les corps qui tombent ont la même accélération due à la gravité, quelle que soit leur taille ou leur forme. Sur la lune, en 1971, l’astronaute 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. Exemple : L’accélération vaut à peu près 9,8 m/sec2 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 l’axe des y est utilisé pour le mouvement vertical et est orienté vers le haut, A(t) = –9,8 m/sec2).

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

14 le mouvement d’un projectile dans un plan
2ième cas : le mouvement d’un projectile dans un plan Si l’on ne tient pas compte de la résistance de l’air, la seule force agissant sur le projectile une fois qu’il a été lancé est la force gravitationnelle. Expérience de Galilée : On laisse tomber une balle du haut du mât d’un bateau se déplaçant à vitesse constante. Accélération constante Vitesse horizontale constante Elle tombe au pied du mât si l’on néglige la résistance de l’air 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.

15 Le mouvement d’un 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 l’axe des x est horizontal avec x0 = 0 et l’axe des y est vertical et orienté vers le haut avec y = y0 initialement, alors mouvement horizontal : accélération nulle, vitesse horizontale constante mouvement vertical : accélération constante -g (9,8 m/sec2), vitesse verticale = vitesse verticale initiale - g t déplacement vertical = position verticale initiale (y0) + vitesse verticale initiale * t – ½ g t2.

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

17 le mouvement circulaire uniforme
3ième cas : le mouvement circulaire uniforme || V(t) || = v t  0 V(t) particule axe || A(t) || = v2/ r t  0 A(t) r Il s’agit d’une particule se déplaçant autour d’un 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). Soit T = temps nécessaire pour effectuer une révolution complète, alors v = 2 r / T.

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 l’axe de rotation coïncide avec l’axe des z et le cercle est centré à l’origine dans le plan x-y. C(t) = r cos t avec || C(t) || = r r sin t V(t) = -  r sin t avec || V(t) || =  r = v  r cos t A(t) = - 2 r cos t avec || A(t) || = 2 r = v2 / r 2 r sin t S(t) = vt t  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 C(t) = r cos (t) avec || C(t) || = r r sin (t)
4ième cas : le mouvement circulaire non uniforme d’une 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) = - v2(t) cos (t) + dv(t) - sin (t) r sin (t) dt cos (t) direction radiale (ur) direction tangentielle (ut) accélération radiale accélération tangentielle à la trajectoire y ut ur x

20  S(t) = v(t) dt = r [(t) - (0) ]. Cas uniforme : '(t) = constante.
le mouvement circulaire non uniforme d’une particule (suite) t S(t) = v(t) dt = r [(t) - (0) ]. Cas uniforme : '(t) = constante. Accélération tangentielle nulle 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 d’un axe. À suivre (prochain chapitre) …

21 Modélisation cinématique
Les animateurs s’inquiètent plus souvent de la qualité générale du mouvement que du contrôle précis de la position ou de l’orientation de chaque objet. lorsque l’animateur gère un grand nombre d’objets, Exemple : lorsque l’on traite des objets placés à l’arrière-plan dont le mouvement précis n’a guère d’importance, pour certaines simulations physiques. Nous aurons recours à un modèle structuré pour produire un mouve- ment. Cela supprime pour l’animateur la contrainte d’avoir à se soucier constamment de spécifier les détails du mouvement, ceux-ci étant gérés par le modèle. L’utilisateur 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. l’application de contraintes de non-pénétration, la préservation des volumes, l’application de règles de comportement, le calcul de réactions à la gravité, etc.

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. L’animateur est plus intéressé par le fait de bien montrer l’action qui se déroule que d’obtenir 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 d’animation. Par conséquent, il est difficile pour l’animateur de savoir comment positionner et orienter sa caméra précisément afin de capter la partie la plus importante de l’action. La position de la caméra et du centre d’intérêt doivent être générée automatiquement pour chaque image de l’animation.

23 Techniques de contrôle automatique de la caméra
Placer la caméra et/ou le centre d’intérêt en fonction de la position d’un ou plusieurs objets de l’animation. Exemple : Si un groupe d’objets se déplace simultanément, on peut alors utiliser la moyenne de leurs positions comme centre d’intérêt de la caméra. 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 l’objet en mouvement. Le centre d’intérêt peut être défini dans le système de coordonnées local de l’objet. 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 qu’elle puisse saisir l’action en vue plongeante.

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 d’intérêt. etc. Bien entendu, le contrôle automatique de la caméra est fort utile mais cela exige beaucoup d’expérience pour pouvoir anticiper la qualité des résultats. L’animateur doit renoncer à une part du contrôle en échange d’une plus grande simplicité d’utilisation.

25 Modélisation cinématique hiérarchique
Jusqu’à maintenant, nous avons considéré le mouvement d’objets simples (splines, surfaces de Bézier, volumes tricubiques, etc.). Cependant, il existe des modèles d’objets plus complexes que ceux représentant des objets élémentaires. Ces modèles d’objets renferment plusieurs composantes, lesquels sont représentés à l’aide d’une structure hiérarchique. Cela permet d’avoir un meilleur contrôle sur le mouvement associé à chaque partie d’un 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 d’un soleil qui se déplace dans une galaxie.

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 d’objets reliés en chaîne par des articulations.

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

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

29 Articulations complexes
Ce sont des structures dans lesquelles coexistent plusieurs degrés de liberté. Généralement, lorsqu’une articulation possède n DDL (n > 1), elle est modélisée sous la forme d’un 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 d’un autre.

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

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 d’un objet élémentaire (lien). arêtei sommeti À 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 l’articulation. Remarque : Associer une arête à une articulation peut sembler non intuitif mais cela est pratique car une partie d’objet peut avoir plusieurs articulations qui lui sont rattachées.

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

33 Représentation de modèles hiérarchiques
Le nœud racine correspond à l’objet dont la position et l’orientation sont connues dans le système de coordonnées global. La position et l’orientation de tous les autres sommets sont définies par rapport à leur sommet parent. Un changement dans la position et l’orientation d’un sommet transformera la position et l’orientation 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 l’orientation de la structure rigide. Les sommets d’un objet donné peuvent être transformés vers leur position finale en concaténant les transformations situées plus haut dans l’arbre et en appliquant la matrice de transformation combinée aux sommets.

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

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 Calcul des transformations à appliquer aux sommets dans cet exemple simple
Lien 0 : T0 Lien 1 : T0 T1 R1(1) Lien 1.1 : T0 T1 R1(1) T1.1 R1.1(1.1) Dans la représentation arborescente mettant en œuvre une articulation tournante, une transformation de rotation est associée à l’arête qui précède le sommet représentant le lien à faire tourner.

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

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

39 Cinématique directe (« forward kinematics »)
Le contrôle du mouvement d’un objet articulé est spécifié explicitement par l’animateur en fixant les paramètres de chaque articulation. Pose : l’ensemble totalement spécifié des paramètres des articulations qui permet le positionnement et l’orientation de l’objet articulé. Le mouvement d’une composante est déterminé par l’accumulation de toutes les transformations conduisant à cette composante. Exemple : Le mouvement d’un 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 d’une arborescence produit un objet articulé dans une position et une orientation qui reflètent la définition des paramètres d’articulation. Cette évaluation se fait en parcourant l’arbre selon une technique de fouille en profondeur.

40 Technique de fouille en profondeur
Choix d’une pile pour réaliser cette fouille en profondeur 10. 2. 9. 1. 4. 8. 7. 5. 6. 3. Chaque fois qu’une arête est suivie vers le bas, ses transformations sont concaténées aux transformations de son sommet parent. Chaque fois qu’une arête est traversée en remontant l’arbre vers un sommet, la transformation de ce sommet doit être restaurée avant que la traversée ne reprenne vers le bas.

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 d’articulation. Le positionnement d’un objet articulé en spécifiant tous les paramètres d’articulation s’appelle un contrôle cinématique direct. Mais, placer un objet articulé dans une position finale souhaitée en spécifiant les paramètres d’articulation peut être une opération laborieuse pour l’utilisateur. C’est souvent un processus par essais et erreurs. Pour éviter ces difficultés, un contrôle cinématique inverse est parfois utilisé. La position et l’orientation souhaitées de l’effecteur final sont données, et les paramètres d’articulation internes sont calculés automatiquement.

42 Repères de coordonnées locales
Avant d’aborder 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 d’une méthode bien définie pour convertir les coordonnées d’un point d’un repère à un autre. Exemple : Convertir les points définis dans le repère d’une articulation vers le système de coordonnées global à des fins d’affichage.

43 1ière approche : Matrices de transformation 4 x 4
À chaque arc est associée une matrice de transformation pour passer d’un repère parent à un repère enfant. L’inverse de cette transformation (facile à obtenir) permet d’effectuer le chemin inverse. 2iè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 l’orientation d’un repère enfant p/r à son repère parent.

44 Soient l’axe des z du repère d’articulation : l’axe de rotation,
Exemple I : articulation tournante où l’axe de rotation z demeure inchangé Soient l’axe des z du repère d’articulation : l’axe de rotation, l’axe des x du repère d’articulation : le lien associé à l’articulation, ai : distance sur l’axe des x d’une articulation à la suivante, i+1 : angle d’articulation (angle de rotation autour de l’axe des z) R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 191. (longueur du lien)

45 Exemple II :. articulation tournante avec une
Exemple II : articulation tournante avec une configuration non-planaire Soient l’axe des z du repère d’articulation : l’axe de rotation, l’axe des x du repère d’articulation : le lien associé à l’articulation, ai : distance sur l’axe des x d’une articulation à la suivante, i : rotation de l’axe des z du iième repère autour de l’axe xi, di+1 : décalage de lien (distance sur l’axe des z de xi à xi+1), i+1 : angle d’articulation (angle de rotation autour de l’axe des z) La conversion d’un point d’un repère à un autre s’obtient ainsi : Vi+1 = RZ(i+1) TZ(di+1) RX(i) TX(ai) Vi

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

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

48 Cinématique inverse ( « Inverse Kinematics »)
La position voulue et l’orientation possible de l’effecteur final sont fournies par l’utilisateur. Les angles d’articulation 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 le mécanisme est trop compliqué pour des solutions analytiques, des méthodes itératives sont utilisées. 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 d’arrivée.

49 Résolution d’un système simple par analyse
Origine Bras simple à 2 liens dans l’espace 2D (L2  L1) Espace de travail atteignable La première opération consiste à s’assurer que la position du but est à portée de l’effecteur final : L1 – L2  x2 + y2  L1 + L2, où (x, y) désigne la position de l’effecteur final.

50 Rappel : règle du cosinus
B A 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 Résolution d’un système simple (suite)
position de l’effecteur final Calcul des angles d’articulation 1 et 2 Il existe 2 solutions symétriques p/r à l’axe (0,0)-(X,Y) à cause de l’arccosinus.

52 En l’absence 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 l’effecteur final y tel que F(x) = y. En animation par ordinateur, de nombreuses situations se présentent où l’approche 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 JF(x) de F est : F1(x) / x1 F1(x) / x2 F1(x) / xn JF(x) = F(x) = F2(x) / x1 F2(x) / x2 F2(x) / xn ………………………………………………… Fm(x) / x1 Fm(x) / x2 Fm(x) / xn

53 Méthode de Newton-Raphson généralisée
Le problème consiste à trouver le vecteur x tel que : f1(x) = y1 f2(x) = y2 ………. fm(x) = ym y1 y2 ym où y = est fixé. Partant d’une solution x0, à l’itération k, on obtient : xk+1 = xk + zk où zk est une solution du système d’équations linéaires JF(xk) z = y – F(xk). (*) 1er cas : m = n et l’inverse du Jacobien existe zk = JF-1(xk) (y – F(xk)).

54 Méthode de Newton-Raphson généralisée (suite)
2ième cas : m = n et l’inverse du Jacobien n’existe pas Le système est singulier i.e. il n’existe pas de solution au problème. 3ième cas : m < n, la matrice n’est pas carrée et l’inverse du Jacobien n’est donc pas défini Il y a plus de DDL qu’il n’y 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 : JF(xk) z = y – F(xk). De manière compacte, il s’agit de trouver z tel que Az = b ou AtAz = Atb ou z = (AtA)–1 Atb inverse généralisé de A = (AtA)–1 At

55 Adaptation à la cinématique inverse
Soient y : la position et l’orientation visées de l’effecteur final, xk : les angles d’articulation, F(xk): la position & l’orientation courantes de l’effecteur final, y – F(xk) : 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(xk-1) F(xk) xk+1 = xk + zk où zk est solution de y JF(xk) z = y – F(xk). xk-1 xvisé

56 Cas simple d’un manipulateur planaire à 3 articulations
L’axe de rotation de chaque articulation est  au personnage et émerge de la feuille. Objectif : Déplacer l’effecteur final E vers la position visée G. L’orientation de l’effecteur final n’a pas d’importance ici.

57 Cas simple d’un manipulateur planaire à 3 articulations
À l’itération k + 1, k+1 = k + k, k  (1k , 2k , 3k), k  (1k , 2k , 3k), où k est solution de J(k)  = G – Ek avec Ek : position de l’effecteur final, P1k : position de P1 à l’itération k, P2k : position de P2 à l’itération k, Il nous reste à déterminer le Jacobien J(k). P1k = RZ(1k) L1 P2k = P1k + RZ(1k + 2k) L2 1. 2.

58 Cas simple d’un manipulateur planaire à 3 articulations
Ek = P2k + RZ(3k + 1k + 2k) L3 3. ou encore, L1 cos(1k) + L2 cos(1k + 2k) + L3 cos(3k + 1k + 2k) Ek = L1 sin(1k) + L2 sin(1k + 2k) + L3 sin(3k + 1k + 2k) Il s’ensuit que : 4. - Eky P1ky – Eky P2ky – Eky Ekx Ekx - P1kx Ekx – P2kx J(k) = ou encore, g g g3 ((0, 0, 1) x Ek)x ((0, 0, 1) x (Ek - P1k))x ((0, 0, 1) x (Ek – P2k))x J(k) : ((0, 0, 1) x Ek)y ((0, 0, 1) x (Ek - P1k))y ((0, 0, 1) x (Ek – P2k))y ((0, 0, 1) x Ek)z ((0, 0, 1) x (Ek - P1k))z ((0, 0, 1) x (Ek – P2k))z

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

60 Cas simple d’un manipulateur planaire à 3 articulations

61 Extension du modèle au cas où les angles d’articulation sont bornés
Exemple : Modélisation de l’index. 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 :  + (  - ) sin2 i

62 Difficultés ou contraintes liées à cette méthode
L’inversion de la matrice jacobienne ou le calcul de l’inverse 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. Lorsqu’on construit le Jacobien, il est important de s’assurer 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 à l’articulation 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 "L’animation par cinématique directe ou inverse"

Présentations similaires


Annonces Google