• Aucun résultat trouvé

52 Etat de l'art : Synthese d'un mouvement de marche

Graphe de contr^ole de poses

[vdPKF94] nomment graphe de contr^ole de poses une machine d'etats nis qui forme

un contr^oleur de mouvement pour un personnage articule. Le graphe decrit un mode de locomotion (cf. Figure 3.14). Un mouvement est obtenu en passant d'une pose a l'autre dans le graphe. En e et, chaque etat du graphe est associe a une pose ou posture du per-sonnage, c'est-a-dire sa forme geometrique, et non sa position dans le repere du monde. La transition entre deux etats adjacents determine le mouvement entre les poses cor-respondantes. Cette transition est realisee gr^ace a des contr^oleurs PD places en chaque articulation, qui calculent les forces et les couples requis pour conduire le personnage ar-ticule vers la pose speci ee, dans le prochain etat du graphe.

Fig.3.14: Exemple de graphe de contr^ole de poses pour la marche humaine.

Ce concept de graphe de contr^ole de poses est particulierement adapte aux mouvements cycliques, tels que la marche : le mouvement est genere par un graphe cyclique qui decrit un cycle du mouvement considere. Cette approche a ete largement etudiee pour conce-voir des contr^oleurs particuliers de mouvements de types varies [RH91, HWBO95, KB96, vdPKF94, LvdPF96]. [RH91] de nissent un contr^oleur pour animer la course dynamique de creatures bipedes et quadrupedes, en regulant la vitesse de course, en organisant l'uti-lisation des jambes et en maintenant l'equilibre. D'autres approches [HWBO95, Hod96] permettent l'animation de comportements athletiques dynamiques tels que la course, le cyclisme, le saut de cheval et le plongeon, en contr^olant les caracteristiques appropriees des mouvements consideres. [vdPKF94, LvdPF96] de nissent des graphes de poses pour la locomotion humaine.

3.3 Methodes incorporant la dynamique 53

Les graphes de contr^ole de poses cycliques fournissent un moyen de representer et contr^oler les mouvements periodiques en boucle ouverte, c'est-a-dire sans considerer l'in-teraction possible avec l'environnement. Cette technique peut ^etre etendue au contr^ole en boucle fermee, qui se sert d'informations sur l'environnement, donnees par des

cap-teurs [BBG+94]. Par exemple, les transitions entre les poses peuvent ^etre declenchees

lorsqu'un contact est detecte [LvdPF96].

Reglages des contr^oleurs

{ Par ajustement manuel

Ces techniques semblent necessiter une longue periode de reglage manuel interac-tif, car les parametres sont trouves par t^atonnements, puis ajustes [HWBO95]. En e et, ce sont des lois empiriques qui determinent les angles pour les poses des ma-chines d'etats nis qui donnent une description de haut niveau du comportement a simuler. Ainsi, une strategie de contr^ole en boucle ouverte avec ajustement n de parametres de contr^ole est necessaire. Ce processus rend dicile la possibilite de reutilisation des parametres pour le reajustement a un personnage de morphologie di erente, car apres avoir changer d'echelle certains parametres du personnage et du contr^ole associe, il est a nouveau necessaire de regler manuellement ces nouveaux parametres [HP97].

{ Par generation automatique de contr^oleurs

Une alternative aux contr^oleurs regles manuellement est la generation automatique de ceux-ci. Certaines de ces approches tentent de partir d'aucune donnee initiale : l'utilisateur de nit un personnage articule et une fonction objectif a optimiser, par exemple, aller le plus loin possible en un minimum de temps [vdPKF94]. Le systeme genere et optimise automatiquement un ensemble de contr^oleurs, qui engendrent parfois des modes de locomotion tres di erents et surprenants.

[vdPF93] modelisent les contr^oleurs par des reseaux de capteurs-actionneurs, c'est-a-dire par des graphes orientes arborescents avec connexions ponderees. Ces graphes calculent les couples actionneurs a partir des nuds internes lies a des donnees de detecteurs, telles que des informations sur l'environnement, comme le contact. Les parametres internes du systeme sont d'abord generes aleatoirement, puis optimises selon un critere donne. [NM93] utilisent une approche similaire, dans laquelle les va-leurs des parametres du contr^oleur sont recherchees avec des algorithmes genetiques. [Sim94] va plus loin dans l'utilisation des algorithmes genetiques en calculant m^eme l'evolution de la morphologie de la creature qui convient le mieux a un mode de locomotion donne.

{ Discussion

Ces types de methodes necessitent beaucoup d'essais, et par consequent, ont besoin de nombreuses ressources de calcul. De plus, il y a peu de chance pour que le mou-vement resultant ressemble a des moumou-vements connus. D'autre part, la plupart des

54 Etat de l'art : Synthese d'un mouvement de marche

methodes ont ete seulement utilisees dans des cas 2D. Or, l'application de methodes de contr^ole dynamique pour des personnages 3D complique le probleme du maintien de l'equilibre.

De nition de contr^oles intermediaires

Les contr^oles intermediaires permettent de reduire le nombre de parametres de contr^ole que l'animateur doit ajuster, et rendent le contr^ole plus intuitif. Des exemples de contr^oles intermediaires sont presentes ci-dessous.

{ Cas de la course

[RH91] de nissent des contr^oles intermediaires pour contr^oler la course d'un bipede. Ce type de locomotion est plus simple que la marche. En e et, la course comporte seulement des phases de simple support et des phases de vol. Or, dans la marche, la diculte de calcul provient des phases de double support, a cause des boucles cinematiques fermees. Cependant, on peut deja remarquer la complexite du contr^ole necessaire.

Le premier contr^ole propose est le contr^oledu saut, qui fait faire un pas aux jambes,

en changeant de support. Le modele des actionneurs est equivalent a un ressort-amortisseur :

f =k(x,x

r) +bx_

avec f la force actionnee, k la constante du ressort, b la constante d'amortissement,

x la longueur du ressort, x

r la longueur au repos du ressort. Le contr^ole de la

lon-gueur au repos du ressort permet d'injecter ou d'enlever l'energie au systeme, a n d'amorcer l'oscillation, de la moduler, ou de l'arr^eter.

Le deuxieme contr^ole est le contr^ole de vitesse, qui fournit un equilibre pour regler

la vitesse de course. Les systemes a pattes sont assimilables a des pendules inverses. En e et, ils penchent et accelerent chaque fois que le point de support est deplace par rapport a la projection du centre de masse. Aussi, le systeme de contr^ole calcule la position du pied desiree :

x fh;d = _x T s 2 +k _ x(_x,x_ ) avec x

fh;d le deplacement vers l'avant du pied a partir de la projection du centre

de gravite, _x la vitesse vers l'avant, _x

 la vitesse vers l'avant desiree, k

_

x un gain et

T

s la duree predite pour la prochaine periode de support. Le systeme de contr^ole

deplace le pied du point neutre d'une distance proportionnelle a la di erence de la

vitesse reelle et celle desiree. Une fois x

fh;d trouve, une transformation cinematique

3.3 Methodes incorporant la dynamique 55

Le troisieme contr^ole est le contr^ole de posture, qui maintient le corps dans une

posture droite. Les couples de contr^ole de posture sont generes par un contr^ole lineaire de type PD :

 =,k

p(, ),k

d( _)

etant l'angle du corps et _la vitesse angulaire du corps,

 l'angle du corps desire,

k p etk

v des gains.

Chacune de ces mises en uvre utilise une machine d'etats nis pour suivre le com-portement a venir du modele, et pour synchroniser les actions de contr^ole avec le comportement de course.

{ Cas de la marche

Dans le systeme de [Ko94, KB96], la dynamique est traitee en tant que contrainte. Le mouvement est d'abord calcule avec un modele cinematique, et la dynamique in-verse sert a calculer les couples necessaires pour engendrer un mouvement. Puis une operation de post-traitement veri e la validite physique du mouvement par contr^ole de l'equilibre et du confort. Le mouvement est corrige au besoin, en ajustant ma-nuellement les coecients qui lient les positions cinematiques du personnage articule aux resultats de dynamique inverse. Par exemple, un acteur synthetique ajuste sa posture automatiquement en penchant son bassin lorsqu'il transporte un poids lourd.

Dans ce systeme, un premier contr^ole est de ni : le contr^ole de l'equilibre, base sur

le ZMP (Zero-Moment Point) [VBSD90]. L'equilibre statique peut ^etre obtenu en

gardant la projection de centre de masse dans le polygone de sustentation du per-sonnage, m^eme si une seule jambe est en appui. Pour la locomotion, il est necessaire de considerer l'equilibre dynamique, car l'e et de l'inertie n'est pas negligeable. Lors d'une phase de simple support, m^eme si le corps semble ^etre en appui sur tout le pied, on peut trouver un point sur la plante du pied pour lequel le moment est nul. De facon similaire, pendant la marche, il est un point appele ZMP ou les couples exerces devraient ^etre nuls. Le ZMP n'est pas un point xe, il e ectue une trans-lation du talon jusqu'au bout de l'orteil pendant le support. Il est approxime par une fonction monotone qui avance du talon a l'orteil pendant la duree du support. Normalement, le moment du ZMP doit rester nul tout le temps. Si le resultat de la dynamique inverse indique une valeur non nulle, cela veut dire qu'un tel couple aurait d^u ^etre exerce pour le mouvement. Cette valeur est interpretee ici, comme la mesure du desequilibre a ce moment. Le couple au ZMP est appele le vecteur

d'equilibre b. Soit b

T le vecteur obtenu par la rotation de b de 90 degres dans le

sens indirect. Le contr^ole de l'equilibre sur la translation du bassin tbassinet sur

la rotation du torse rtorse est alors :

tbassin = b

T

rtorse = b

Documents relatifs