Vous êtes sur la page 1sur 41

CINMATIQUE DIRECTE ET INVERSE

Chapitre 6
Olivier Vaillancourt, Olivier Godin
Universit de Sherbrooke
PLAN DU CHAPITRE
! Cinmatique directe
! Cinmatique directe vs cinmatique inverse
! Cinmatique inverse
" Rsolution analytique dun systme de c.i.
" Solutions numriques
# valuation du Jacobien inverse
# Descente cyclique des coordonnes
2
CINMATIQUE DIRECTE
! Comme nous lavons vu au chapitre 4, un
modle 3D peut tre muni dun squelette
danimation et tre anim travers ce dernier.
! Un squelette danimation est constitu dune
srie darticulations et darcs.
! Ltat dun squelette danimation un moment
prcis est appell une pose.

! La pose dun squelette danimation est dfinie
par la transformation propre chaque
articulation un moment prcis.
3
Franck Htroy ,2008
Microsoft, Bungie, 2005
CINMATIQUE DIRECTE
! En animation par ordinateur, la cinmatique directe consiste donner une
pose un squelette danimation en modifiant uniquement les paramtres
de ses articulations (variables darticulation).
! Pour une srie darticulations inter-relies, chaque articulation est affecte
individuellement.
! Pour obtenir une pose prcise, il faut donc manuellement dfinir la rotation
de chacune des articulation.
! Linter-dpendance entre les articulations (parent/enfant) peut rendre le
processus laborieux.
4
CINMATIQUE DIRECTE
! Exemple:
" Pour placer la main dun personnage dans une position voulue, on doit
modifier les articulations de lpaule, du coude puis du poignet afin de
les placer dans des angles permettant dobtenir la pose voulue.
5
Alias|Wavefront, 1999
CINMATIQUE DIRECTE
! Avantage:
" La cinmatique directe permet de faire des mouvement
darcs prcis et bien dfinis., puisquon contrle
directement les rotations des articulations.
! Inconvnient:
" Gnrer et animer des poses complexes peut tre un
processus laborieux tant donn linterdpendance entre
les lments du squelette.
# (Par exemple, si on gnre une pose et quon ralise la fin quune
articulation parente est mal oriente, on corrige son orientation, ce
qui modifie du coup lorientation des articulations enfant, qui
doivent elles aussi tre replaces pour compenser.)
6
CINMATIQUE DIRECTE VS INVERSE
! En cinmatique directe, on positionne une articulation en modificant la
position de ses propres variables darticulation et de ses parents.
! En cinmatique inverse, on positionne une articulation sans se soucier des
parents. La cinmatique inverse soccupe de gnrer la configuration des
joints parents requise pour obtenir le positionnement dsir.
7
Alias|Wavefront, 1999
CINMATIQUE INVERSE
! Un problme de cinmatique inverse revient donc trouver une
configuration darticulations dans le squelette permettant de positionner
une articulation selon une orientation et une translation dfinie.
" Larticulation quon tente de
positionner sera appelle
articulation cible.
" Le positionnement de
larticulation cible comprend
sa position et son orientation.
(Pour le cours nous
observerons principalement
le cas de la position.)
8
CINMATIQUE INVERSE
! Trouver une configuration darticulation pour obtenir le
positionnement dsir de larticulation cible est appell la rsolution
du systme de cinmatique inverse.
! Comment faire pour trouver la configuration darticulations
permettant datteindre le positionnement voulu?
! Nous verrons diverses mthodes:
" Analytiquement
" Utilisation du Jacobien (Jacobien inverse)
" Descente cyclique des coordonnes
9
MTHODE ANALYTIQUE
! Consiste prendre le systme et le modliser laide dun
systme dquation.
! Certaines des variables du systme dquation sont les
variables darticulation.
! On rsoud le systme pour trouver les valeurs des variables
darticulation et on obtient ainsi la configuration de ces
dernires.
10
MTHODE ANALYTIQUE
! Exemple:
11
Parent, R. : Computer Animation : Algorithms and techniques, 2
st
edition, Morgan Kaufmann, 2008, p.201
MTHODE ANALYTIQUE
! Exemple : Du systme de la page prcdente, on peut gnrer
des quations et trouver nos angles:
12
Parent, R. : Computer Animation : Algorithms and techniques, 2
st
edition, Morgan Kaufmann, 2008, p.202
MTHODE ANALYTIQUE
! La mthode analytique permet de trouver des
rsultats pour un systme simple.
! Cependant, dans le cas dun systme plus complexe
(plus darticulations) o dans le cas o on souhaite
fournir une mthode fonctionnant pour tous les
systmes, la mthode analytique nest pas adapte.
" Devient rapidement trs lourde.
" Est adapte un systme en particulier,on doit
recommencer si les articulations changent.
13
CINMATIQUE INVERSE ET JACOBIEN
! Dans les faits, la plupart des systmes de cinmatique inverse
sont trop complexes pour tre rsolu avec la mthode
analytique.
! On peut cependant dterminer la solution au systme de faon
itrative en utilisant un Jacobien.
14
CINMATIQUE INVERSE ET JACOBIEN
! Quest-ce quun Jacobien? (rappel du cours de calcul 1)
! Supposons y = f(x) o y et x sont des vecteurs n dimensions
et f(x) un groupe de n fonctions diffrentes.
" Le tout est donn explicitement t.q:
15
ou
CINMATIQUE INVERSE ET JACOBIEN
! Le Jacobien de ce systme y = f(x) est la matrice constitue des
drives partielles de celui-ci.
! Le Jacobien permet donc de dterminer la pente (la variation)
du vecteur y en fonction dun vecteur x donn, tant donn les
quations f.
16
CINMATIQUE INVERSE ET JACOBIEN
! Dun point de vu de cinmatique inverse, le Jacobien met en
relation la variation de larticulation cible en fonction de la
variation des variables darticulation.
! On se retrouve donc avec un systme de la forme:
! Soit un systme o on met en relation le !" faire subir aux
variables darticulations afin dobtenir un dplacement V au
niveau de larticulation cible.
17
CINMATIQUE INVERSE ET JACOBIEN
! Dans la mesure o on connait la position courante de notre
articulation cible, et sa position dsire, on peut dfinir V
comme tant:

! O E (End effector) est la position courante de larticulation et
G (Goal) sa position dsire.
! !" est quant lui un vecteur des variations faire subir aux
articulations. (1 entre dans le vecteur par variable
darticulation.)
18
CINMATIQUE INVERSE ET JACOBIEN
! De notre systme :
On connait maintenant V.

! On sait que J(") contient les fonctions dfinissant la variation
de notre articulation cible induite par les autres articulations.
On connait ces fonctions puisquelles dpendent de ltat
courant de notre systme, lui aussi connu.
! Il ne reste donc qu trouver !" pour rsoudre notre systme.
19
CINMATIQUE INVERSE ET JACOBIEN
! Avant de poursuivre, regardons un exemple simple de
construction de jacobien.
! On a le systme: ( 3 articulations rotodes 1 degr de libert)
20
Parent, R. : Computer Animation : Algorithms and techniques, 2
st
edition, Morgan Kaufmann, 2008, p.206
CINMATIQUE INVERSE ET JACOBIEN
! La variation de larticulation cible en
fonction de la variation (drive) dune
articulation rotode quelconque peut
tre donn comme tant :

o a
i
est laxe de rotation de larticulation, E la position courante de
larticulation cible et P
i
la position de larticulation rotode.

! Dans notre cas, a
i
sera toujours gal (0,0,1) (axe des Z) puisque
notre systme est sur le plan x/y uniquement.
21
CINMATIQUE INVERSE ET JACOBIEN
! Si on se replace dans notre exemple on
a donc 3 articulations dont la drive (du
dplacement de E) se dfinie comme
tant :


! Notre Jacobien serait de la forme:



22
CINMATIQUE INVERSE ET JACOBIEN
! Pour ce qui est du vecteur V, cest un
vecteur en 3D, on a donc, comme
expliqu plus tt :
! Pour le vecteur !", on a 3 articulations ayant chacune un degr
de libert, on a donc:
23
CINMATIQUE INVERSE ET JACOBIEN
! Si on se remet dans le contexte de notre systme dquations
rsoudre:

! On remarque que J(") au final ne dpend pas de ", do le fait
que le Jacobien est parfois not simplement J.


! Notons que si, plutt que davoir une articulation rotode nous
avions eut une articulation prismatique, son entre dans le
Jacobien aurait simplement t :
(" nentre pas en ligne de compte ici aussi.)
24
O a
i
est laxe de larticulation
CINMATIQUE INVERSE ET JACOBIEN
! Le jacobien une fois obtenu, on a le systme :
rsoudre, quon notera :


(Pour allger la notation et puisque J ne dpend pas de " .)

! De ce systme, on connait J et V, il ne reste plus qu trouver
!" qui est inconnu, pour ce faire, on lisole en inverstant J:
25
CINMATIQUE INVERSE ET JACOBIEN
! Dans le cadre de notre exemple, a tombait bien, notre
Jacobien tait de 3x3, il tait donc facilement inversible.
! Si jamais (et ce sera le cas la plupart du temps) notre Jacobien
nest pas carr, on utilise la pseudo-inverse pour rsoudre le
systme:
26
devient
CINMATIQUE INVERSE ET JACOBIEN
! En thorie, on aurait simplement rsoudre le systme pour obtenir
notre solution au systme de cinmatique inverse en entier.
! Dans les faits, ceci nest pas vrai. Pourquoi?
" On se rappelle que notre Jacobien avait la forme:
Il dpend donc des positions P
1
et P
2
. Or, ds quon applique la moindre
transformation (!") notre systme darticulations, les points P
1
et P
2

changent de position, notre Jacobien nest donc plus vrai.
27
CINMATIQUE INVERSE ET JACOBIEN
! Solution au problme?
" Parcourir la totalit du vecteur V par petits pas.
" En dautres mots, plutt que de fournir un V = G E, on progressera le
long de V sur plusieurs itrations. Notre V est donc une partie du vecteur
G-E.
" On procde donc comme suit:
1. Tant que G et E ne sont pas une certaine proximit (seuil)
a. On construit un Jacobien pour ltat courant du systme.
b. On produit un V correspondant une fraction du parcours entre G et E.
c. On multiplie linverse (ou pseudo-inverse) du Jacobien avec V pour trouver !".
d. On applique les transformations dfinies par !" nos articulations, ce qui gnre
un nouvel tat au systme.
28
CINMATIQUE INVERSE ET JACOBIEN
! Dernier lment important dans lutilisation
dun Jacobien:
" Les coordonnes impliques dans le processus
doivent tre exprims dans le mme espace de
coordonnes. (Par exemple lespace monde.)
29
CINMATIQUE INVERSE ET JACOBIEN
! Quelques exemples de construction de Jacobiens :
30
1. A1, A2, A4 et A5 sont des articulations rotodes
1 degr de libert dont laxe de rotation est Z.
2. A3 est une articulation prismatique et a3 laxe
de larticulation.
3. P1, P2, P4 et P5 sont les positions de nos
articulations rotodes. Et P1 = (0,0,0)
4. E est la position de notre articulation cible (celle
qui devra atteindre notre objectif G)
Articulation 1
!
Articulation 2
!
Articulation 3
!
Articulation 4
!
Articulation 5
!
CINMATIQUE INVERSE ET JACOBIEN
! Quelques exemples de construction de Jacobiens :
31
A1 est une articulation prismatique et a1 est
laxe de larticulation.

A2 est une articulation rotule en 3D (3 degrs de libert)
et P2 la position de larticulation.

On sait quune articulation rotule est en ralit
composes de trois articulations primaires rotodes.

E est la position de notre articulation cible.
Articulation 1
!
Articulation 2
! ! !
Articulation 1 Articulation 2
!
CINMATIQUE INVERSE ET JACOBIEN
! Il existe quelques cas particuliers qui peuvent poser problme
dans un Jacobien.
" Singularits dans le systme
# Peut gnrer une matrice singulire qui nest plus inversible.
# Peut gnrer une matrice presque singulire, qui va souffrir des imprcisions
numriques de lordinateur lors de linversion, puisquon touche des chiffres trs
prs de 0.
# Se remarque habituellement lorsque plusieurs articulations sont parfaitement
alignes (diamtralement opposes ou replies sur elles-mme).
" Systmes sur-contraints
# Systme o le positionnement final dune articulation cible ne peut tre atteint avec
les arcs/articulations notre disposition, cause des contraintes darticulations,
dune distance ou dun objectif inaccessible ou dune simplicit trop grande du
systme pour le mouvement requis.
32
CINMATIQUE INVERSE ET JACOBIEN
! Pour terminer, notons qu loppos dun systme sur-
contraint, on peut aussi parler de systme sous-contraint.
! Un systme sous-contraint nest pas un problme en soit,
la sous-contrainte dun systme signifie simplement quil
existe plusieurs configurations possibles permettant
datteindre le positionnement souhait pour larticulation
cible. En cinmatique inverse, la plupart des systmes
sont habituellement sous-contraints.
" Ceci peut causer problme si certaines des configurations
possibles ne sont pas dsires et que la solution sadonne tre
lune delles.
33
CINMATIQUE INVERSE ET JACOBIEN
! Avantages du Jacobien:
" Permet dobtenir une solution ayant une prcision contrlable.
( plus les incrments sont petits, plus la solution sera prcise)
" Facile implmenter

! On connait la forme de chaque articulation au sein du Jacobien, il faut seulement
plugger les chiffres dans chaque.

! Requiert une inversion/multiplication de matrice, oprations simples et rapides
effectuer.

! Dsavantages du Jacobien:
" Complexe comprendre, requiert des connaissances plus complexes en mathmatique.
" Lgrement plus lent car plus lourd grer que les autres mthodes.
34
CINMATIQUE INVERSE ET JACOBIEN
! En rsum :
" Le Jacobien permet de dresser le lien entre le dplacement de larticulation
cible et la variation des variables darticulations dun systme de cinmatique
inverse.


" Pour rsoudre le systme, on parcours par petit incrment le vecteur entre la
position objectif et la position courante de notre articulation cible.
# Pourquoi? ! Parce que chaque fois quon applique les modifications aux variables darticulation,
les points changent, et notre Jacobien change donc lui aussi. On doit donc procder par petit
incrment pour viter quune erreur trop grande ne saccumule.
35
DESCENTE CYCLIQUE DES COORDONNES
! Dans plusieurs applications commerciales, la performance
plutt que la prcision est un facteur plus dterminant
dans la rsolution dun systme de cinmatique inverse.
! Pour rpondre de telles conditions, on peut utiliser une
mthode procdurale plus flexible et reposant moins sur
le calcul numrique que la mthode du Jacobien inverse.
! Cette mthode est appelle Descente cyclique des
coordonnes.
36
DESCENTE CYCLIQUE DES COORDONNES
! La mthode en soit est relativement simple et on effectue le
processus tant que la distance entre larticulation cible et le
positionnement dsire nest pas infrieure un seuil.
1. On considre chaque articulation sparment, des enfants vers les
parents.
2. Pour chaque articulation considre, on trouve la valeur de ses variables
darticulation qui rapproche le plus possible larticulation cible de notre
objectif.
3. Une fois que chaque articulation a t altre, on recommence le
processus partir de larticulation initiale, en raffinant notre configuration
itrativement jusqu obtenir le niveau de prcision voulu.
37
DESCENTE CYCLIQUE DES COORDONNES
! Certaines variantes de la descente cyclique peuvent tre
utilises:
" On peut, chaque itration, dfinir quel point une articulation permet
de se rapprocher le plus de lobjectif. On ordonne ainsi chaque
articulation selon leur utilit et on utilise cet ordre litration daprs.
" On peut aussi dterminer lordre en fonction de la longueur de larc
associ larticulation, et de la position dans la hirarchie de cette
dernire. Une articulation plus courte et plus proche de larticulation
cible tant considre pour les mouvement plus prcis, alors que les
articulations associes un arc plus long, plus loin de larticulation cible
peuvent tre utilises pour des mouvements plus grossiers.
38
CINMATIQUE INVERSE EN PRATIQUE
! En pratique, chaque approche de cinmatique
inverse (analytique, Jacobien invers et descente
cyclique des coordonnes) trouve son utilit dans
certains cas.
" On utilise habituellement la mthode analytique pour
des cas trs simple de cinmatique inverse.
(Personnage qui tourne sa tte vers les objets
importants dans un jeu.)

" Dans le cas o une animation est lgrement altre
par cinmatique inverse pour tre plus raliste mais
rester performant, on utilise la descente cyclique des
coordonnes.
(Jeux vidos en gnral, surtout les jeux de sports.)
" Besoin de prcision important , besoin de ralisme
important, plateformes puissantes: On utilise le
Jacobien inverse.
(Logiciels danimation, effets spciaux, moteurs 3D
avancs.)
39
Universal Pictures, Jurrassic Park, 1993
Codemasters, Blade of Darkness, 2001
Electronic Arts, Madden NFL 09, 2008
SOMMAIRE DU CHAPITRE
! Quest-ce que la cinmatique directe?
! Cinmatique directe vs cinmatique inverse.
! Mthodes de cinmatique inverse:
" Analytique
" Jacobien inverse
" Descente cyclique des coordonnes
! Utilisation en pratique des diverses mthodes.
40
RFRENCE
! Parent,Rick : Computer Animation, Algorithms and techniques, 2nd edition,
Morgan Kaufmann, 2007 (pp. ,198-215)
41

Vous aimerez peut-être aussi