62
1 L’animation par cinématique directe ou inverse Table des matières ntroduction appel des notions de base en cinématique odélisation cinématique ontrôle automatique de la caméra odélisation cinématique hiérarchique inématique directe inématique inverse

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

Embed Size (px)

Citation preview

Page 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

1

L’animationpar

cinématique directeou

inverseTable des matières

IntroductionRappel des notions de base en cinématiqueModélisation cinématiqueContrôle automatique de la caméraModélisation cinématique hiérarchiqueCinématique directeCinématique inverse

Page 2: 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

2

IntroductionCinématique :

La spécification ou l’étude du mouvement indépendamment des forcessous-jacentes qui produisent ce mouvement.

Décrit le mouvement des corps.

La cinématique tente de décrire le mouvement des corps sans faireréférence aux notions de forces ou d’énergie.

Elle étudie les mouvements des corps à l’aide des notions d’espace etde temps, en faisant abstraction de leurs causes.

Elle utilise les concepts de position, déplacement, vitesse, accélération.

Page 3: 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

3

IntroductionDynamique :

Branche de la mécanique qui fait appel à la notion de force pourexpliquer le mouvement des corps.

Explique le mouvement des corps.

Gravité, force, masse et contraintes liées à un objet sont gérées par lelogiciel d’animation.

Il n’est pas nécessaire de décrire chaque mouvement indépendammentcomme dans le cas de la cinématique. Les mouvements, particulièrementréalistes, sont calculés par le logiciel d’animation.

La mise en œuvre est plutôt lourde et l’approche exige des temps decalculs importants.

Forces agissant sur unautomobile qui freine.

Page 4: 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

4

Rappel des notions de base en cinématique

La cinématique consiste à décrire la manière dont un objet se déplacedans 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.

Page 5: 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

5

Mouvement de translation en ligne droiteUne particule se déplace d’une origine P sur la droite passant par Pde direction d.

P

d

Posons C(t) P + (t) d la position de la particule au temps t surcette 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 initialeet finale, mais pas de l’itinéraire suivi.

On peut aussi définir la distance parcourue, D(t), i.e. la longueur dutrajet réel (un scalaire positif).

Page 6: 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

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 celuidu déplacement; une valeur positive signifie que lemouvement net se fait dans la direction d.

Vitesse instantanée V(t) Vitesse en un point quelconquede l’espace.

d S(t) = S'(t) dt

Permet de décrire en détail un parcours effectué à vitesse nonconstante.

Page 7: 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

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 rectiligneuniforme, à moins que des forces extérieures ayant une résultante nonnulle 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 à toutevariation 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 cordeforces égales vitesse constante

Page 8: 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

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

Page 9: 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

Exemple II :Mouvement de translation en ligne droite à vitesse constante

dans la direction d dans [0, t1] etdans la direction -d dans [t1, t]

C(t) =P + t d 0 t t1

P + t1 d + (t1 - t) d t t1

tt1

P

D(t) = t ||d||, t 0

t

S(t) =t ||d|| 0 t t1

(2t1 - t) ||d || t t1

S(t)

tt1

Page 10: 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

Exemple II (suite)

V(t) =||d|| 0 t t1

- ||d || t t1

t

V(t)

t1

Accélération nulle.

Page 11: 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

11

Exemple III : Mouvement de translation en lignedroite à 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 || = aV(t) '(t) . || d || = a t + v0 t 0 où V(0) = v0

S(t) = v0t + ½ a t2 t 0 où S(0) = 0C(t) = P + [v0t + ½ a t2] d / ||d|| t 0.

t

S(t) V(t)

t

v0

A(t)

t

a

Page 12: 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

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 corpsqui tombent ont la même accélération due à la gravité, quelle que soitleur taille ou leur forme.

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 peutnégliger cette variation et supposer que les corps sont en chute libreavec une accélération constante.

Cela nous ramène au cas précédent (si l’axe des y est utilisé pour lemouvement vertical et est orienté vers le haut, A(t) = –9,8 m/sec2).

Exemple : Sur la lune, en 1971, l’astronaute David Scott lâcha unmarteau et une plume au même instant; des millions detéléspectateurs furent témoins que les 2 objets sont arrivésen même temps au sol.

Page 13: 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

13

Exemple V : Mouvement en chute libre en présencede 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 à tomberen gardant cette vitesse constante.

t

vL (avec résistance de l’air)sans résistance de l’air

vitesse

vL dépend du poids et de la forme de l’objet qui tombe, et de la massevolumique de l’air, laquelle dépend de la pression et de la température.

Exemple: La position que donnent les parachutistes à leur corps permetd’agir sur le niveau de résistance de l’air.

(i) Position verticale : vL = 300 km/h dans à peu près 15 s.(ii) Position du saut de l’ange (jambes et bras écartés) : vL = 200 km/h.

Page 14: 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

14

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 agissantsur 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.

Vitesse horizontale constante

Elle tombe au pied du mât si l’on néglige la résistance de l’air car, aumoment où elle est lâchée du sommet du mât, la boule a la même vitessehorizontale que le navire.

Elle conserve la composante horizontale de la vitesse, même enaccélérant verticalement.

Accélérationconstante

Page 15: 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

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 mouvementsindé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 constantemouvement vertical :

accélération constante -g (9,8 m/sec2),vitesse verticale = vitesse verticale initiale - g tdéplacement vertical = position verticale initiale (y0)

+ vitesse verticale initiale * t – ½ g t2.

Page 16: 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

16

Le mouvement d’un projectile dans un plan (fin)

La composante verticale du mouvementd’une balle lancée horizontalement est lamême que celle d’une balle qu’on laissesimplement tomber.

La vitesse verticale initialedoit être la même.

Remarque :

Si l’on tient compte de la résistance de l’air, les équations précédentesne sont valables que si la vitesse du projectile est très inférieure à savitesse limite.

Ce n’est pas le cas d’une balle de base-ball ou de golf, d’une flècheou d’une balle de fusil.

Page 17: 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

17

3ième cas : le mouvement circulaire uniforme

r

|| V(t) || = v t 0particule

V(t)

A(t)

Il s’agit d’une particule se déplaçant autour d’un axe sur un cercle derayon 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) || = v2/ r t 0

Soit T = temps nécessaire pour effectuer une révolution complète, alors v = 2 r / T.

Page 18: 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

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 debase, on suppose que l’axe de rotation coïncide avec l’axe des z et lecercle est centré à l’origine dans le plan x-y.

C(t) = r cos t avec || C(t) || = rr 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/rau rayon ce qui revient à traiter le corps comme une particule.

Page 19: 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

19

4ième cas : le mouvement circulaire non uniforme d’une particule

C(t) = r cos (t) avec || C(t) || = rr 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)

accélération radiale accélération tangentielle à la trajectoire

direction radiale (ur) direction tangentielle (ut)

x

yur

ut

Page 20: 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

20

le mouvement circulaire non uniforme d’une 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 detranslation mais aussi un mouvement de rotation autour d’un axe.À suivre (prochain chapitre) …

Page 21: 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

21

Les animateurs s’inquiètent plus souvent de la qualité générale dumouvement que du contrôle précis de la position ou de l’orientationde chaque objet.

Exemple : lorsque l’animateur gère un grand nombre d’objets,lorsque l’on traite des objets placés à l’arrière-plandont 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 soucierconstamment de spécifier les détails du mouvement, ceux-ci étant géréspar le modèle.

L’utilisateur perd alors généralement le contrôle fin du mouvement desobjets car de tels modèles impliquent automatiquement certainescontraintes 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.

Modélisation cinématique

Page 22: 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

22

Contrôle automatique de la caméra

Cela porte sur des modèles de calculs du mouvement de la camérabasé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 quise déroule que d’obtenir un angle de caméra particulier.

De plus, il ne peut pas toujours anticiper la position exacte, ni mêmeglobale, des objets au cours de la séquence d’animation.

Par conséquent, il est difficile pour l’animateur de savoir commentpositionner et orienter sa caméra précisément afin de capter la partiela plus importante de l’action.

La position de la caméra et du centre d’intérêt doivent être généréeautomatiquement pour chaque image de l’animation.

Page 23: 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

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 positiond’un ou plusieurs objets de l’animation.

Exemple : Si un groupe d’objets se déplace simultanément, on peutalors utiliser la moyenne de leurs positions comme centred’intérêt de la caméra.

On peut aussi contraindre la position de la caméra dans un planprédéfini ou sur un segment de droite ou de courbe.

Exemple : Conserver la caméra à une altitude donnéei.e. la contraindre à se situer dans un plan || au plan du solde façon qu’elle puisse saisir l’action en vue plongeante.

Exemple : La caméra peut suivre de près un objet se déplaçant dansun vaste espace en se positionnant en fonction de l’objeten mouvement.Le centre d’intérêt peut être défini dans le système decoordonnées local de l’objet.

Page 24: 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

24

Techniques de contrôle automatique de la caméra

On peut aussi contraindre la distance entre la position de la caméraet le centre d’intérêt.

etc.

Bien entendu, le contrôle automatique de la caméra est fort utilemais cela exige beaucoup d’expérience pour pouvoir anticiper laqualité des résultats.

L’animateur doit renoncer à une part du contrôle en échange d’uneplus grande simplicité d’utilisation.

Page 25: 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

25

Modélisation cinématique hiérarchiqueJusqu’à maintenant, nous avons considéré le mouvement d’objetssimples (splines, surfaces de Bézier, volumes tricubiques, etc.).

Cependant, il existe des modèles d’objets plus complexes que ceuxreprésentant des objets élémentaires.Ces modèles d’objets renferment plusieurs composantes, lesquels sontrepré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 sedéplace dans une galaxie.

Page 26: 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

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 pourformer des chaînes permettant de manipulerles articulations de leurs membres.

Remarque :

Ces modèles hiérarchiques proviennent en bonne partie du domainede la robotique.

Les ouvrages de robotique traitent de la modélisation demanipulateurs : une série d’objets reliés en chaîne par des articulations.

Page 27: 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

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 enfonction de l’autre.

Types d’articulation en infographie :

Principalement, les articulations tournantes etles articulations coulissantes.

Degrés de liberté:(DDL)

# de variables permettant de définir une configuration(1 DDL : un mouvement dans une direction).

Page 28: 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

28

Articulations tournantesUn lien tourne autour d’un point fixede l’autre lien.

Les liens sont généralement joints à cepoint.Le lien le plus éloigné dans la chaînetourne pendant que l’autre demeure fixe,au moins par rapport à cette articulation.

1 DDL : mouvement dans une direction.

Articulations coulissantesUn lien glisse le long d’un axe enfonction de l’autre lien.

1 DDL: un mouvement dans une direction.

R. Parent, Animatique Algorithmes &techniques. Vuibert, p. 180.

Page 29: 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

29

Articulations complexesCe sont des structures dans lesquelles coexistent plusieurs degrés deliberté.Généralement, lorsqu’une articulation possède n DDL (n > 1), elle estmodélisée sous la forme d’un ensemble de n articulations à 1 DDLreliées par n – 1 liens de longueur 0.Elles comprennent : - les articulations planaires et

- les articulations à rotule.Articulations planaires

Celles dans lesquelles un lien coulissesur la surface plane d’un autre.

Page 30: 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

30

Articulations à rotule

Rick Parent, Animatique Algorithmes et techniques.Vuibert informatique, chap. 4, 2003.

Page 31: 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

31

Représentation de modèles hiérarchiquesCes modèles sont représentés par une structure arborescente desommets reliés par des arêtes.À chaque sommet est rattachée la définition géométrique d’un objetélémentaire (lien).

À chaque arête i est associée la transformation à appliquer à tous lessommets 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.

sommeti

arêtei

Remarque : Associer une arête à une articulation peut sembler nonintuitif mais cela est pratique car une partie d’objet peutavoir plusieurs articulations qui lui sont rattachées.

Page 32: 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

32

Exemple de structure arborescente

R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 183.

Page 33: 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

33

Représentation de modèles hiérarchiquesLe nœud racine correspond à l’objet dont la position et l’orientationsont connues dans le système de coordonnées global.

La position et l’orientation de tous les autres sommets sont définiespar rapport à leur sommet parent.

Un changement dans la position et l’orientation d’un sommettransformera la position et l’orientation de ses sommets descendants.

En particulier, on peut modifier la transformation associée au sommetracine en fonction du temps pour animer la position et l’orientation dela structure rigide.

Les sommets d’un objet donné peuvent être transformés vers leurposition finale en concaténant les transformations situées plus hautdans l’arbre et en appliquant la matrice de transformation combinéeaux sommets.

Page 34: 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

34

Exemple simple à 2 dimensions avec 3 liens

(position et orientation globales)

R. Parent, Animatique Algorithmes & techniques. Vuibert, p. 186.

Page 35: 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

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/rau lien 1)

Page 36: 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

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 articulationtournante, une transformation de rotation est associée à l’arête quiprécède le sommet représentant le lien à faire tourner.

Page 37: 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

37

Cas d’appendices multiplesExemple I :

Exemple II : voir le personnage articulé à la figure précédente.

R. Parent, Animatique Algorithmes &techniques. Vuibert, p. 187.

Page 38: 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

38

Structure arborescente correspondant à une hiérarchie à 2 appendices

Page 39: 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

39

Cinématique directe (« forward kinematics »)Le contrôle du mouvement d’un objet articulé est spécifié explicitementpar l’animateur en fixant les paramètres de chaque articulation.

Le mouvement d’une composante est déterminé par l’accumulation detoutes les transformations conduisant à cette composante.

Exemple : Le mouvement d’un pied peut être considéré comme lacombinaison des effets résultant des transformationsportées à la hanche, au genou et à la cheville.

L’évaluation complète d’une arborescence produit un objet articulé dansune position et une orientation qui reflètent la définition des paramètresd’articulation.

Cette évaluation se fait en parcourant l’arbre selon une technique defouille en profondeur.

Pose : l’ensemble totalement spécifié des paramètres des articulationsqui permet le positionnement et l’orientation de l’objet articulé.

Page 40: 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

40

Technique de fouille en profondeur

10.

2.

1. 4.

9.

3.

8.

7.5. 6.

Chaque fois qu’une arête est suivie vers le bas, ses transformations sontconcaténées aux transformations de son sommet parent.

Chaque fois qu’une arête est traversée en remontant l’arbre vers unsommet, la transformation de ce sommet doit être restaurée avant quela traversée ne reprenne vers le bas.

Choix d’une pilepour réaliser cette

fouille en profondeur

Page 41: 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

41

Contrôle de cinématique directe

Dans une animation simple, un animateur peut déterminerinteractivement des positions clés puis interpoler les valeurs desparamètres d’articulation.

Le positionnement d’un objet articulé en spécifiant tous les paramètresd’articulation s’appelle un contrôle cinématique direct.

Mais, placer un objet articulé dans une position finale souhaitée enspécifiant les paramètres d’articulation peut être une opérationlaborieuse pour l’utilisateur. C’est souvent un processus par

essais et erreurs.

Pour éviter ces difficultés, un contrôle cinématique inverse est parfoisutilisé.

La position et l’orientation souhaitées de l’effecteur finalsont données, et les paramètres d’articulation internes sontcalculés automatiquement.

Page 42: 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

42

Repères de coordonnées locales

Avant d’aborder le contrôle cinématique inverse, nous allons aborderla définition de repères de coordonnées locales.

La définition de hiérarchies complexes et le contrôle cinématiqueinverse nous amènent à vouloir définir des points dans un repère localassocié à une articulation.

Il faut alors disposer d’une méthode bien définie pour convertir lescoordonnées d’un point d’un repère à un autre.

Exemple : Convertir les points définis dans le repère d’unearticulation vers le système de coordonnées global àdes fins d’affichage.

Page 43: 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

43

1ière approche : Matrices de transformation 4 x 4

À chaque arc est associée une matrice de transformation pour passerd’un repère parent à un repère enfant.

L’inverse de cette transformation (facile à obtenir) permet d’effectuerle 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ètresqui indiquent la position et l’orientation d’un repère enfant p/r à sonrepère parent.

Page 44: 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

44

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)

(longueur du lien)

R. Parent, Animatique Algorithmes &techniques. Vuibert, p. 191.

Page 45: 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

45

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

Page 46: 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

46

Exemple II :articulation tournante avec une configuration non-planaire

(longueur du lien)

R. Parent, Animatique Algorithmes &techniques. Vuibert, p. 191.

Page 47: 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

47

Manipulateur utilisant 3 articulations tournantes

Le système de liens est planaire.Il n’y a pas de paramètres de déplacement ni de rotation de lien.

R. Parent, Animatique Algorithmes &techniques. Vuibert, p. 194.

Page 48: 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

48

Cinématique inverse ( « Inverse Kinematics »)La position voulue et l’orientation possible de l’effecteur final sontfournies par l’utilisateur.

Les angles d’articulation et déplacements requis pour atteindre cetteconfiguration 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 produirela configuration finale souhaitée peut être calculée analytiquement.

Si les vecteurs de pose initial et final sont donnés, des configurationsintermédiaires peuvent être formées en interpolant les valeurs desvecteurs de pose, en animant ainsi le mécanisme de sa configurationde départ à sa configuration d’arrivée.

Si le mécanisme est trop compliqué pour des solutions analytiques,des méthodes itératives sont utilisées.

Page 49: 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

49

Résolution d’un système simple par analyse

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.

Origine

Page 50: 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

50

Rappel : règle du cosinus

AB

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.

Page 51: 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

51

Résolution d’un système simple (suite)

position del’effecteur

final

Calcul des anglesd’articulation 1 et 2

Il existe 2 solutionssymétriques p/r àl’axe (0,0)-(X,Y) àcause de l’arccosinus.

Page 52: 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

52

En l’absence de solutions analytiques …

Pour des structures plus complexes, il peut y avoir un nombreextrêmement élevé de solutions x qui donneront la position souhaitéede l’effecteur final y tel que F(x) = y.

En animation par ordinateur, de nombreuses situations se présententoù l’approche analytique ne peut être considérée.

Il faut avoir recours à des solutions numériques itératives pourré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 :

JF(x) = F(x) =

F1(x) / x1 F1(x) / x2 … F1(x) / xn

F2(x) / x1 F2(x) / x2 … F2(x) / xn

…………………………………………………

Fm(x) / x1 Fm(x) / x2 … Fm(x) / xn

Page 53: 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

53

Méthode de Newton-Raphson généraliséeLe problème consiste à trouver le vecteur x tel que :

f1(x) = y1

f2(x) = y2

……….fm(x) = ym

y1

y2

…ym

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). (*)

est fixé.où y =

1er cas : m = n et l’inverse du Jacobien existe

zk = JF

-1(xk) (y – F(xk)).

Page 54: 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

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 Jacobienn’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 pourrésoudre ce système :

De manière compacte, il s’agit de trouver z tel queAz = b

ou AtAz = Atbou z = (AtA)–1 Atb

JF(xk) z = y – F(xk).

inverse généralisé de A = (AtA)–1 At

Page 55: 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

55

Adaptation à la cinématique inverseSoient 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)

y

F(xk)

xk+1 = xk + zk

où zk est solution deJF(xk) z = y – F(xk).

xvisé

xk-1

Page 56: 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

56

Cas simple d’un manipulateur planaire à 3 articulations

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.

L’axe de rotation de chaque articulation est au personnage etémerge de la feuille.

Page 57: 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

Cas simple d’un manipulateur planaire à 3 articulations

k+1 = k + k, k (1k , 2

k , 3k),

k (1k , 2

k , 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).

À l’itération k + 1,

1. P1k = RZ(1k) L1

00

2. P2k = P1k + RZ(1k + 2

k) L200

Page 58: 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

Cas simple d’un manipulateur planaire à 3 articulations

3. Ek = P2k + RZ(3k + 1

k + 2k) L3

00

ou encore,

L1 cos(1k) + L2 cos(1

k + 2k) + L3 cos(3

k + 1k + 2

k) Ek = L1 sin(1

k) + L2 sin(1k + 2

k) + L3 sin(3k + 1

k + 2k)

0

J(k) =

4.- Ek

y P1ky – Ek

y P2ky – Ek

y

Ekx Ek

x - P1kx Ek

x – P2kx

0 0 0

Il s’ensuit que :

J(k) : ((0, 0, 1) x Ek)x ((0, 0, 1) x (Ek - P1k))x ((0, 0, 1) x (Ek – P2k))x

((0, 0, 1) x Ek)y ((0, 0, 1) x (Ek - P1k))y ((0, 0, 1) x (Ek – P2k))y

ou encore,

((0, 0, 1) x Ek)z ((0, 0, 1) x (Ek - P1k))z ((0, 0, 1) x (Ek – P2k))z

g1 g2 g3

Page 59: 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

Cas simple d’un manipulateur planaire à 3 articulations

Il se peut que le système soit singulier.

Exemple : k 0, Ek L1 + L2 + L300

J(k) 0 0 0L1 + L2 + L3 L2 + L3 L30 0 0

Calculons alors l’inverse généralisé du Jacobien :pour trouver une solution au système d’équations linéaires.

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.

(J(k)t J(k) )–1 J(k)t

Il n’existe pas de solution au système d’équations linéairesà moins que G = E1 + E2 + E3.

Page 60: 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

Cas simple d’un manipulateur planaire à 3 articulations

Page 61: 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

Extension du modèle au casoù

les angles d’articulation sont bornés

Nous avons les contraintes supplémentaires suivantes :

On peut encore utiliser la méthode de Newton-Raphson généraliséeen remplaçant, par exemple, chaque composante de , soit i, par :

+ ( - ) sin2 i

Exemple :

Modélisation de l’index.

Page 62: 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

62

Difficultés ou contraintes liées à cette méthodeL’inversion de la matrice jacobienne ou le calcul de l’inversegénéralisée peuvent donner lieu à des instabilités numériques.

Pour assurer la convergence de cette méthode, la solution de départdoit ê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 quetoutes les valeurs de coordonnées se situent dans le même système decoordonné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 estsouvent souhaité et des simulations de nature physiques sont alorsnécessaires.