• Aucun résultat trouvé

Mise en place des différents modes

3.3 Humains virtuels en équilibre

4.1.1 Mise en place des différents modes

Nous envisageons donc trois modes de commande différents pour les repères de contrôle. Le mode libre a fait l’objet de la section 2.2. Les modes contraint et automatique présentent des points qu’il nous semble intéressant d’éclaircir, au regard de leur utilisation ultérieure.

Mode de commande contraint

Nous avons vu en 2.2.2, que les modes de commande contraints peuvent être mis en œuvre de manière passive, par le biais de la notion demécanisme virtuel. C’est cette méthode que nous allons utiliser ici.

Lors d’interactions avec un environnement réel, le sens du toucher est une des sources d’information traitées par le cerveau, qui influe notamment sur la précision de la tâche accomplie, sur sa vitesse... Or lorsqu’un acteur est immergé dans un dispositif de capture de mouvement, celui-ci ne possède pas d’équivalent de l’environnement virtuel. Il ne dispose donc pas de l’information haptique. Les mouvements de l’humain virtuel peuvent alors sembler gauches et imprécis, ce que nous souhaitons éviter. D’où l’utilité des guides virtuels qui vont aider l’humain virtuel à accomplir son mouvement, dans les situations de carence perceptive.

Comme il a été relevé précédemment, ce mode de commande semi-autonome permet également de gérer des degrés de liberté de manière automatique. L’opérateur aura donc moins de degrés de liberté à gérer. Il devient même envisageable de spécifier la commande avec des dispositifs d’entrée possédant peu de degrés de liberté, comme un trackball, ou une simple souris, de manière simple et aisée.

Le mécanisme virtuel, destiné à aider l’acteur, doit être spécifié en fonction de la tâche à accomplir. Ainsi guider une perceuse sur son axe se fera par l’intermédiaire d’un mécanisme virtuel de type pivot glissant lié à la perceuse et d’axe aligné avec l’axe désiré du trou, voir figure 2.20.

L’analogie mécanique permet d’appréhender facilement les mécanismes sous-jacents à l’emploi des mécanismes virtuels. Elle et autorise la mise en œuvre de contraintes simples exprimables par des méca- nismes tels que nous avons l’habitude d’envisager. Mais qu’en est-il si nous souhaitons guider un repère de contrôle sur une spline, une NURBS, ou une autre surface gauche couramment utilisée dans les logiciels de CAO, pour faire poncer un capot de voiture au mannequin virtuel par exemple ?

Des travaux issus du domaine de la téléopération [Jol97] nous éclairent sur ce point. D’un point de vue mathématique, les mécanismes virtuels peuvent être vus comme des contraintes bilatérales holonomes. Nous devons connaître leur jacobienne, en vue du calcul de leur évolution (ces calculs ont fait l’objets de la

– le premier dont les articulations sont commandées en position, ou en force avec une consigne nulle, permet de se déplacer sur la contrainte de position

– le second commandé en efforts permet de plaquer l’humain virtuel sur la contrainte et d’appliquer des forces désirées à l’environnement.

En liant le repère de contrôle considéré de l’humain virtuel à l’effecteur du mécanisme virtuel, on obtient la commande désirée - elle est illustrée figure 4.1.

Fig.4.1 – Contrôle hybride position/force par les mécanismes virtuels. Le repère de contrôle, attaché à l’effecteur du mécanisme virtuel, pourra se déplacer sur le plan rouge et exercer une force perpendiculai- rement.

Mode de commande autonome

Ce mode de commande correspond à de la génération de trajectoire, mais nous tenons à signaler que nous n’envisageons pas le problème dans toute sa complexité. En effet le domaine de la génération de trajectoire fait souvent référence à des méthodes d’évitement d’obstacle mettant en œuvre toute la configuration du robot (voir 1.2.1). Notre génération de trajectoire est une simple recherche de chemin entre deux points de l’espace opérationnel, de manière à pouvoir fournir automatiquement une consigne

4.1 Transition de modes de commande 117

à un repère de contrôle de notre mannequin.

Il existe des méthodes pour interpoler dans l’espace opérationnel : le groupe spécial euclidien SE(3). Le principal obstacle à l’interpolation dans ce groupe de Lie, est sa courbure1

. Nous pourrions envisager de mettre en œuvre des méthodes variationnelles pour trouver des géodésiques de SE(3), méthode lourde et coûteuse. [Moa02] propose de passer par son algèbre associée se(3) (voir 1.2.1.1). SE(3) et se(3) sont isomorphes sur [0; π[, de plus les géodésique de se(3) sont les géodésiques de SE(3) [Moa02]. se(3) étant plan, ses géodésiques sont des segments de droites. Cette technique est décrite sur l’algorithme 6.

Algorithme 6 : Interpolation géodésique dans SE(3) Données :

– {H0; H1} ∈ SE(3)2 : points extrêmes de la géodésique.

– γ ∈ [0; 1] : abscisse curviligne normalisée (paramétrant la géodésique). Résultat : Hγ : position interpolée

h0= log(H0)

h1= log(H1)

hγ = (1 − γ)h0+ γh1

Hγ = exp(hγ)

Malheureusement, rien ne nous indique que la projection des géodésiques de SE(3) sur R3 soient les

géodésiques de R3. Et de fait, de manière générale ça n’est pas le cas, c’est-à-dire que le centre d’un repère

décrivant une géodésique de SE(3) se déplace en fait sur une courbe (non droite) de R3. Ce comportement

a beau être exact d’un point de vue mathématique, il n’est pas ergonomique. Aussi, nous n’effectuons pas les interpolations dans SE(3), mais dans R3× SO(3) (SO(3) défini en 1.2.1.1), de manière à interpoler

sur des droites de R3. L’interpolation sur R3est évidente, celle sur le groupe des rotations SO(3) se fera

elle de la même manière que dans le cas de l’algorithme 6, en remplaçant le log défini sur SE(3) par sa version exprimée dans SO(3).

Réglage des gains

Le couplage au mécanisme virtuel se fait par un couplage interne que nous avons déjà évoqué en 2.2.2. Le mannequin est de caractéristiques physiques (morphologie, poids...) connues et les paramètres de la simulation sont les suivants :

– le pas de temps d’intégration : δt – les frottements visqueux articulaires : ba

– les gains des couplages externes : kc, bc

– les gains des couplages internes : kcint, bcint

– la masse m et la gravité g.

Si nous souhaitons coupler un mannequin déjà paramétré à un mécanisme virtuel, il faut mettre en œuvre un couplage interne. Pour qu’il soit jugé suffisamment raide, ses gains devront permettre de contrecarrer les efforts générés par tous les correcteurs agissant sur le mannequin, ils doivent donc être relativement élevés.

Des gains élevés vont générer des efforts élevés. Or à δt donné, les efforts applicables sont limités pour conserver la propriété de stabilité (voir 2.2.1). Bien souvent les kcint, bcint nécessaires à l’obtention d’un

couplage raide sont trop élevés pour la simulation.

Du fait de nos contraintes temps-réel, nous ne pouvons diminuer δt. Aussi la méthode que nous pro- posons est de conserver des gains de couplage internes nous assurant la stabilité. Le couplage n’étant plus suffisamment raide, nous diminuerons en proportion les gains des couplages externes et pour conserver le

1

Qui provient des contraintes d’orthogonalité de la matrice de rotation et de son déterminant qui doit être unitaire, voir 1.2.1.1

Fig.4.2 – a) Mannequin sans poids. b) Avec du poids, le mannequin est affaissé. c) Un potentiel interne (voir 2.2.1.4) - s’il est bien dimensionné - permet de lui redonner une attitude naturelle.

Nous pouvons nous aider de relations du type (2.11) pour régler les gains.

Documents relatifs