• Aucun résultat trouvé

Analyse de l’existant

3.3 Humains virtuels en équilibre

3.3.1 Analyse de l’existant

Les caractérisations les plus simples de l’équilibre sont basées sur l’appartenance d’un point d’intérêt particulier à une zone, à définir, de l’espace opérationnel. Nous retenons principalement, comme points caractéristiques, la projection du centre de gravité et le Zero Moment Point (ZMP).

Projection du centre de gravité

Imaginons un système polyarticulé statique, soumis à la gravité. Chaque solide est de masse mk et

de position xk. Il est en contact avec un environnement donné aux points de position pi. Ces contacts

générent les forces fcin, avec n normale unitaire au contact. Si tous les contacts sont sur un même

plan horizontal, alors les projections horizontales et verticales de la statique sont découplées et nous avons [Wie02] :



−P mkgn +P fcin= 0

−P xk∧ mkgn +P pi∧ fcin= 0.

(3.18) Posons alors m =P mk, la masse totale du système et xcom= P mmkxk, nous pouvons alors écrire :

xcom∧ n =P fP fcipi∧ n ci

. (3.19)

En prenant maintenant en compte le fait qu’un contact est unilatéral, c’est-à-dire ∀i, fci ≥ 0, [Wie02]

énonce le théorème suivant :

Théorème 3.3.1 Un système marcheur peut rester statique (c’est-à-dire équilibré) ssi la projection ver- ticale de son centre de masse est située à l’intérieur de la coque convexe de ses points de contact (appelé polygone de support).

3.3 Humains virtuels en équilibre 91

Fig.3.8 – Humain virtuel vu de dessous, polygone de sustentation et projection du centre de gravité, ou du ZMP.

Cette caractérisation géométrique de l’équilibre est efficace uniquement dans les cas statiques, où les contacts sont coplanaires.

Zero Moment Point (ZMP)

Nous nous plaçons maintenant dans les mêmes conditions que précédemment, mais dans un cas dyna- mique [Wie02], [VB04]. Posons f et ω, les efforts inertiels et de Coriolis, respectivement translationnels et rotationnels. Si les contacts sont planaires :



−P mkgn +P fcin= (f n)n

−P xk∧ mkgn +P pi∧ fcin= n ∧ ω ∧ n,

(3.20) avec n ∧ ω ∧ n, composante horizontale de ω. De la même manière qu’en (3.19), nous pouvons écrire :

mgxcom∧ n + n ∧ ω ∧ n

mg + f n =

fcipi∧ n

P fci

, (3.21)

et donc de la même manière qu’en 3.3.1 :

Théorème 3.3.2 Un système marcheur est équilibré d’un point de vue dynamique, si la projection ver- ticale du point défini par mgxcom+n∧ω

mg+f n , appelé Zero Moment Point (ZMP), est située à l’intérieur du

polygone de sustentation (théorème (3.3.1)). On peut montrer que la projection de ce point sur le plan de contact est le point où le moment horizontal des forces gravitationnelles et des efforts dynamiques f et ω s’annulent.

Ces deux types de caractérisations, des plus utilisées, ne permettent pas de prendre en compte des situations aux contacts non-coplanaires. Ces cas sont pourtant nominaux lorsque l’on adresse la problé- matique du mannequin en interaction avec son environnement.

Contrôle de l’équilibre spécifique aux mannequins virtuels

Différents chercheurs ont apporté leur contribution à l’intégration de la gestion de l’équilibre dans le contrôle d’humains virtuels.

Laszlo, Van de Panne et Fiume [LVdPF96] ont introduit le contrôle de cycle limite, qui permet de compenser de petites perturbations dans des mouvements cycliques (vus dans des espaces d’état réduits). Ils utilisent une variable, appeléeup-vector, à réguler par l’intermédiaire de variables de contrôle, dont le choix s’arrête sur les angles articulaires du bassin. Cette approche est intéressante pour des mouvements cycliques comme la marche, mais nous voulons pouvoir réaliser des mouvements quelconques.

sants à partir d’esquisses de mouvements. Elle souffre cependant des problèmes communs à toutes les méthodes espace-temps, déjà soulignés en 1.2.1. Fang et Pollard [FP03], mettent quant à eux en œuvre unfiltre physique (algorithme qui permet de rendre physiquement correct un mouvement qui ne l’était pas). Il n’autorise pas le temps-réel - bien qu’il soit plus rapide que les tentatives précédentes de ce type.

Approches par fonctions de Lyapunov

Une autre approche est mise en œuvre dans [Wie00], qui propose d’utiliser des mouvements de référence calculés au préalable et connus pour être équilibrés. Ces échantillons mis bout à bout permettent de réaliser des trajectoires plus complexes, qui dans un environnement parfaitement maîtrisé seraient équilibrées (cette méthode est à rapprocher des bibliothèques de mouvements décrites en 1.2.2).

Les mouvements obtenus peuvent être perturbés par des événements du monde environnant le robot. [Wie00] fait alors appel à la notion deviabilité d’un état (q, ˙q) introduite dans [Aub91].

Considérons l’ensemble Ω des configurations d’un robot où nous estimons qu’il a chuté :

Définition 3.3.1 Un état (q, ˙q) est viable si, à partir de cet état, le robot est en mesure de réaliser un mouvement q(t) qui ne pénètre pas dans l’ensemble Ω.

Les états du robot forment alors deux groupes distincts :

– les états viables à partir desquels le robot peut éviter de tomber, qui forment ce qui est appelé le noyau de viabilité

– et les états où la chute est inéluctable.

Le robot doit donc coordonner ses mouvements de manière à rester “suffisamment proche” d’un en- semble d’états qui lui ont été prescrits (des trajectoires de marche par exemple). [Wie00] nous propose de considérer que la configuration est suffisamment proche à un instant donné de la trajectoire de consigne, elle doit le rester par la suite. Ceci l’amène à considérer que l’ensemble d’états doit êtrestable au sens de Lyapunov (voir [Kha02] pour un définition de la stabilité au sens de Lyapunov).

Lastabilité asymptotique [Kha02] nous permet d’aller plus loin, en exprimant le souhait que l’ensemble D soit attractif, pour se rapprocher du mouvement de référence après la perturbation (voir [Wie00] ).

Dans [Wie02], l’auteur construit une marge de stabilité au sens de Lyapunov qui apporte une vue dont il dit lui-même qu’elle est conservatrice. En effet l’ensemble des états qu’il considère comme viables est inclus dans l’ensemble des états réellement viables. Mais même si elle n’est appliquée qu’au cas des robots marcheurs, elle doit pouvoir être mise en œuvre dans des cas différents, comme ceux qui nous intéressent. Cette approche est surtout adaptée au cas des bibliothèques de mouvements, où un ensemble de mouvements de référence équilibrés est connu.

Protective step

3.3 Humains virtuels en équilibre 93

l’équilibre est peu perturbé. En effet, un humain réel soumis à de fortes perturbations a deux réactions envisageables : soit il tombe, soit il se déplace dans le sens de la perturbation en effectuant unpas dit de protection, qui lui permet de retrouver une situation plus stable. Les deux situations sont gérées par la plateforme DANCEr de Faloutsos [FVdPT98], [SFNTH05], grâce à une composition temporelle de

contrôleurs spécialisés.

Arikan, Forsyth et O’Brien présentent dans [AFO05] une méthode permettant à un humain virtuel de réagir à des sollicitations extérieures. Ils construisent une bibliothèque de mouvements d’humains poussés, dans laquelle il viennent piocher de manière raisonnée. A cette fin, ils mettent en œuvre un algorithme de décision auquel ils auront au préalable appris à bien se comporter. Leur méthode est temps-réel et donne des résultats très convaincants.

Vers le multi-contacts non-coplanaire

Parmi les approches analysées, les suivantes sont plus proches de nos préoccupations.

Takubo [TI05] et Harada [HHK+04], [HKKH03b], [HKKH03a], apportent des éléments de réponse

à la problématique de l’équilibre dans le cas de contacts non coplanaires - comme c’est le cas dès que l’on interagit avec l’environnement. Ils caractérisent l’équilibre de manière géométrique, par le biais de variantes étendues du ZMP.

La première contribution [TI05], permet de pousser sur un environnement mobile connu (fauteuil roulant, chariot, caisse pesante...). La méthode donne des résultats intéressants dans les cas où le système étudié n’est en contact avec l’environnement qu’aux endroits où il pousse l’objet. Elle ne permet pas de prendre en compte des contacts non prévus initialement.

Fig.3.9 – Un robot virtuel pousse sur un environnement connu, d’après [TI05].

La seconde approche [HHK+04] permet de prendre en compte les cas où le robot (un humanoïde)

agrippe son environnement. Le contrôle est exprimé sous forme d’un problème de programmation non- linéaire et ramené à une forme linéaire pour sa résolution. Il n’est pas limité à un type donné d’interactions comme c’était le cas précédemment. L’approche est restreinte aux cas où le centre de gravité se déplace sur un plan horizontal : un mouvement simple comme ramasser un objet par terre, ne peut-être résolu par la méthode proposée.

Documents relatifs