• Aucun résultat trouvé

Le fonctionnement de l'algorithme d'annulation est proche de celui d'un tapis de course. Horizontalement, les deux eecteurs sont ramenés en arrière comme le ferait la courroie d'un tapis. Cependant, pour le déplacement vertical, le fonctionnement de l'interface est similaire au mouvement d'un utilisateur marchant dans le sens inverse d'un escalier mécanique. Lorsque l'utilisateur monte ou descend les marches de l'escalier mécanique, l'ensemble du dispositif descend ou monte, ce qui résulte en une position moyenne stationnaire du tronc de la personne. La vitesse de retour doit être constante comme pour le fonctionnement d'un tapis de course, mais elle doit également s'adapter à l'allure de marche de la personne. Pour cela, l'algorithme se base sur une mise à jour de la vitesse de recul au moment du début de la phase de double appui, période durant laquelle la décélération du pied entrant en phase d'appui est déjà importante à cause de l'impact du talon au sol.

An de répondre aux exigences précédentes, la navigation dans l'environnement virtuel inni dénit les repères suivants :

 Le repère inertiel O est le repère immobile de l'interface de locomotion et la posi- tion de son origine est notée pO. La position des eecteurs et de l'environnement virtuel sont dénies dans ce repère.

 Le repère mobile O0 correspond à l'environnement virtuel. Lorsque l'utilisateur avance sur l'interface de locomotion, l'environnement virtuel ainsi que le repère qui lui est associé bouge dans la direction opposée. La fonction de contrainte de l'environnement virtuel est dénie dans ce référentiel. La position de son origine par rapport au repère xe O est donnée par

pO0 = " xO0 zO0 # . (5.1)

La position d'un des eecteurs dans l'environnement virtuel pve est donc donnée par

pve= p− pO0 = " x− xO0 z− zO0 # = " xve zve # (5.2)

avec le souscrit ve pour virtual environment où p est le vecteur position de l'eecteur par rapport au repère xe. L'algorithme de recul est identique pour la plateforme gauche et droite, le souscrit L et R pour la position des eecteurs dans le référentiel inertiel

pO pO0 Espace de travail de l’interface de locomotion p z x

(a) Position initiale d'un eecteur en bas des escaliers de l'environnement virtuel.

1 2 vws

vws

(b) Mouvement d'élancement (1) et algorithme d'annulation (2).

(c) Position de l'eecteur sur la première marche de l'environnement virtuel.

1 2

vws

vws

(d) À nouveau, élancement (1) puis annulation de mouvement (2).

(e) Position de l'eecteur sur la deuxieme marche.

Figure 5.1: Mouvement d'un eecteur et de l'environnement virtuel par rapport à l'interface de locomotion.

sont donc omis pour plus de lisibilité. La position des repères pO et pO0 sont montrées

en Figure 5.1.

L'algorithme d'annulation de mouvement est actif seulement lorsque le pied de l'uti- lisateur est en contact avec le sol virtuel et jamais durant la phase d'élancement. Le mouvement des deux plateformes fonctionne de manière synchronisée lors de la phase de double appui : la commande est identique pour les deux eecteurs lors de l'activa- tion de l'algorithme de recul an que la distance relative entre les deux pédales reste identique comme pour le fonctionnement d'un tapis de course.

L'implémentation d'un environnement virtuel mobile résout un problème rencontré lors d'une implémentation préliminaire de l'algorithme de recul. Cette implémentation ini- tiale était basée sur une vitesse de référence négative lors de la phase d'appui. La fonc- tion dénissant l'environnement virtuel était dénie dans le repère inertiel pO. Pour la simulation d'un sol plat, l'algorithme de recul fonctionnait seulement de manière horizontale et l'environnement virtuel de manière purement vertical. Par conséquent, la navigation avec l'algorithme initial de recul fonctionnait. Cependant, pour la simula- tion d'une montée de marches d'escalier, l'algorithme de recul doit agir vers le bas pour abaisser l'eecteur vers l'origine de l'interface de locomotion alors que la contrainte de l'environnement virtuel doit appliquer une force vers le haut pour empêcher la péné- tration dans la limite virtuelle. Il y a donc contradiction entre l'algorithme qui génère l'environnement virtuel et l'algorithme de navigation. En dénissant l'environnement virtuel mobile déplacé par l'algorithme de recul, les deux fonctionnalités peuvent être implémentées sans opposition pour la navigation en environnement virtuel inni. La Figure 5.1montre schématiquement le déplacement de l'environnement virtuel dans l'espace de l'interface de locomotion pour un eecteur avec la position du repère xe pO et du repère mobile pO0. L'environnement virtuel est composé de trois marches

d'escalier et l'utilisateur commence au bas des marches (cf. Figure 5.1a). Les positions pO et p sont confondues et l'eecteur est légèrement avancé par rapport à l'origine de l'environnement virtuel pO0. Pendant la phase d'élancement, l'eecteur monte d'une

marche (montré par la trajectoire (1) de la Figure 5.1b). Lors de la phase d'appui, le repère mobile pO0 est ramené en arrière avec une vitesse constante vws, correspondant

à la vitesse du tapis virtuel, an de rapprocher l'eecteur dans le voisinage de l'origine de la plateforme pO. La position et la vitesse de l'environnement virtuel est la suivante

˙pO0 = vws, pO0 =

Z

Elle devient nulle lorsque la position du repère inertiel pO est atteinte pour éviter de ramener le pied en arrière indéniment et elle est mise à jour à chaque début de double appui pour s'adapter à l'allure de l'utilisateur. Son obtention est eectuée de la manière suivante     

vws = 0 si l'un des eecteurs est à l'origine pO vws = −Kws12(pL+ pR) à la détection du double appui vws = vws.k−1 c.-à.d la vitesse de recul reste inchangée

(5.4)

où Kwsest le paramètre la vitesse de retour. Le pied est immobile dans l'environnement virtuel mais ce dernier est déplacé vers l'arrière de l'interface de locomotion pour na- lement générer l'espace libre nécessaire à la nouvelle phase d'élancement. L'opération recommence comme illustré avec les Figures5.1c,5.1det5.1ejusqu'à la n de l'exercice. Comme décrit dans le chapitre 4, la loi de commande de l'environnement virtuel dans la direction horizontale et verticale impose une position stationnaire du pied d'appui par rapport à l'interface de locomotion lors du dépôt du talon au sol, avec une position de référence constante et une vitesse de référence nulle. Dans ce chapitre, la loi de commande est modiée an de contraindre le pied à être stationnaire par rapport au repère mobile de l'environnement virtuel pO0 et non plus par rapport au repère xe pO.

Ainsi, lorsque l'environnement virtuel bouge vers l'arrière, celui-ci entraîne l'eecteur en phase d'appui avec lui. La loi de commande imposant le pied à être stationnaire dans l'environnement virtuel est donnée par

Fws = (

Fg+ Kve(pref − pve) + Bve( ˙pref − ˙pve) si : Fz < Fthr

0 si : Fz > Fthr

(5.5)

où Fwsest la force envoyée aux moteurs pour générer le mouvement de l'environnement virtuel sous l'eet de l'algorithme de recul et Fg les eorts pré-calculées pour améliorer la réponse du système. Entre autre, Fg inclut la lecture du capteur d'eort, les eorts gravitationnels ainsi que l'équilibrage statique (cf. chapitre 4). Kve et Bve paramètrent la dynamique de la loi de commande. Finalement, pref et ˙pref sont les positions et les vitesses de référence utilisées pour que les eecteurs soient stationnaires dans l'environ- nement virtuel. Ainsi, la vitesse de référence ˙pref est nulle et la position de référence correspond à la position du pied dans l'environnement virtuel lors du dépôt du talon, notée pstep, l'équation (5.5) devient

Fws= (

Fg+ Kve(pstep− pve) + Bve(− ˙pve) si : Fz < Fthr

La loi de commande de l'équation (5.6) peut être exprimée en fonction de la posi- tion/vitesse des eecteurs p, ˙p et de la position/vitesse de l'environnement virtuel pO0,

˙pO0 grâce aux équations (5.2) et (5.3), soit

Fws = (

Fg+ Kve((pO0+ pstep)− p) + Bve( ˙pO0− ˙p) si : Fz < Fthr

0 si : Fz > Fthr

. (5.7)

où pstepest la position du pied lors du début de la phase d'appui dans l'environnement virtuel. En utilisant la consigne de référence en vitesse de recul vwsdénie par l'équation (5.3), l'équation (5.7) devient Fws = ( Fg+ Kve(( R vwsδt + pstep)− p) + Bve(vws− ˙p) si : Fz < Fthr 0 si : Fz > Fthr . (5.8)

La loi de commande dénie par l'équation (5.8) décrit le fonctionnement de l'algorithme de recul en imposant le mouvement à l'eecteur égal à celui du tapis virtuel.

5.4 Résultats expérimentaux de la navigation en