Une domination des aimants
L’apparition des périphériques haptiques date de la n des années 80 et est donc relativement ressente. Dans les années 90, la profusion d’expériences utilisant le PHANToM ([GM99, SS97]) laisse penser que la création de la société SensAble Technologies, en 1993, a eu un impact très important sur l’étude de l’haptique et de ses applications.
L’une des applications les plus étudies est l’aide a la sélection, et simuler des aimants est une des premières solutions imaginées, mais aussi l’une des plus efficaces. Cette méthode consiste a considérer les points d’intérêt de la scène comme des aimants : lorsque le curseur de l’utilisateur est suffisamment proche d’un aimant, il est attire par celui-ci. Cette méthode est largement utilisée dans le cadre de la sélection de points ([PAB08, YTOH02]). Un aimant possède deux paramètres : une distance et une force d’attraction. La distance d’attraction détermine la zone d’influence de l’aimant. Lorsque le curseur pénétré dans cette zone, il est attire vers l’aimant. La force d’attraction varie en fonction de la distance du curseur a l’aimant (voir figure 10). La force appliquée troc linéairement jusqu’à une certaine distance P, puis redescend linéairement jusqu’à devenir nulle au point aimante. Cette distance P est définie an d’améliorer la stabilité du curseur. En effet, si on applique une force maximale au niveau du point aimante, alors la moindre modification de la position du curseur mode la direction de la force exercée par l’aimant, et on obtient une vibration du curseur, non désirable. Si les zones d’influence de deux aimants se chevauchent, alors la priorité est mise sur l’aimant le plus proche du curseur.
Une autre solution, pour aider l’utilisateur la sélectionner un point, consiste la aimanter non seulement les points, mais aussi les arêtes les reliant, et les faces que forment les arêtes. Nous parlerons alors d’aimants triples. L’utilisateur a la sensation de glisser sur les arêtes ou les faces, pour natalement sélectionner un des points. [YTOH02] utilise cette méthode sur une grille de points régulière. Dans ce cas, les zones d’influence des différents éléments se chevauchent inévitablement (figure 11). Les priorités sont alors détermines en fonction de leur dimension.
Ainsi, un point sera prioritaire sur une arrête, elle-même prioritaire sur un plan.
Dans le cas de deux éléments de même dimension, nous nous ramenons au cas des aimants simples.
Cas réel : idée des multi-cellules
Dans le cas général, la disposition des cibles ne permet pas de toutes les englober dans une seule cellule. Un début de solution serait de découper l’espace en plusieurs cellules convexes, les cibles formant les sommets de ces cellules. Si l’utilisateur se trouve dans la même cellule que sa cible, alors il est ramené au cas mono-cellule. Mais un nouveau problème se pose alors : si la cible de l’utilisateur ne se trouve pas dans la même cellule que son curseur, comment peut-il y accéder ? Il surait alors de désactiver les murs que l’utilisateur veut traverser, pour qu’il puisse changer de cellule. La question est alors de déterminer le moment ou les conditions nécessaires pour que le système désactivé ce ou ces murs (figure 15). Il faut différencier le cas ou l’utilisateur veut s’appuyer sur une face pour se déplacer dessus, du cas ou il veut la traverser.
Un premier test
Nous avons donc réalise une première application permettant d’extraire les informations pertinentes. Notre premier monde virtuel contient uniquement le curseur de l’utilisateur, une cible et quelques repères visuels (voir figure 16).
Le curseur est une petite sphère bleue que l’utilisateur peut contrôler en trois dimensions avec le PHANToM. La cible est un petit cube rouge. Pour limiter l’espace de travail, nous avons place trois murs perpendiculaires gris quadrilles.
Ces murs sont uniquement des repères visuels et non pas haptiques. Enn, les ombres du curseur et de la cible sont projetées sur les trois murs.
Un nuage de points intéressant
Une de nos hypothèses, basée sur [SL81], est la suivante : si nous voulons parcourir une longue distance, alors nous allons le faire rapidement, et si, au contraire, nous voulons atteindre une cible proche, alors nous allons nous déplacer plus lentement pour ne pas la dépasser. Nous avons alors trace le graphe représentant la vitesse maximale atteinte durant la tache, en fonction de la distance la parcourir (voir la figure 19).
Dans ce nuage de points, un point bleu correspond la une sélection. L’axe des ordonnées indique la vitesse maximale atteinte pendant la tache. L’axe des abscisses donne la distance initiale (c’est-ta-dire la distance au début de la t^ache) entre le curseur et la cible. Pour obtenir une formulation simple de la relation entre ces deux grandeurs, nous avons effectue une régression linéaire sur l’ensemble de ces données. De plus, pour tous les utilisateurs, la forme globale du nuage est la même. Nous avons alors décide d’utiliser ces informations pour réaliser notre prédiction. Cette réflexion est détaillée dans la section.
Réglage des paramètres de prédictions
Notre première idée était la suivante : si dans son mouvement, l’utilisateur dépassé une certaine vitesse, puis redescend en-dessous d’une autre, alors il s’agit d’un mouvement balistique. Nouveau problème : comment déterminer ces deux seuils ? Doivent-ils être de simples constantes ? Si oui, comment les fixer ? Si non, doivent-ils s’adapter a chaque utilisateur ? Dans un premier temps, nous avons décide de fixer deux constantes, V0 et V1, en testant expérimentalement les valeurs qui nous semblaient donner une bonne réponse la nos mouvements, c’est-la-dire qui lançaient les calculs de prédiction quand nous nous déplacions pour atteindre une cible, et ne réagissaient pas autrement (les différentes valeurs numériques utilisées sont données en 4.1.3.3). Ainsi, lorsque la vitesse de l’utilisateur dépassé V0, puis redescend en-dessous de V1, le système décide qu’il s’agit d’un mouvement balistique. Notons alors t0 l’instant auquel l’utilisateur franchit le premier seuil, et t1 l’instant de franchissement du second seuil. La décision de lancer un calcul de prédiction est donc prise a t1. Le système récupéré alors la valeur de la vitesse maximale atteinte entre t0 et t1. Nous utilisons alors l’équation 2 pour en déduire une distance Dinitial. Cette distance correspond a la distance initiale (au début du mouvement balistique) entre la position de l’utilisateur et sa cible. Pour trouver la position de notre prédiction dans l’espace, nous avons donc une origine (la position de l’utilisateur a t0) et une distance (Dinitial). Il nous manque donc une direction. Nous avons alors observe que lors de la phase balistique, le mouvement est quasiment rectiligne et se dirige vers la cible. Si P0 est la position de l’utilisateur a l’instant t0, et P1 la l’instant t1, alors la direction!
P0P1 est la direction manquante. Nous avons ainsi tous les éléments pour calculer la position de notre prédiction.
Cette dernière formation n’est valable que si nous supposons connues les constantes a et b de l’équation 2. Pour rappel, ces paramètres sont obtenus par régression linéaire sur le nuage de points donnant la vitesse maximale atteinte pendant une t^ache, en fonction de la distance initiale entre l’utilisateur et la cible. Or, chaque nuage ne correspond qu’a un seul utilisateur, et si globalement, les nuages ont tous la même forme, les régressions linéaires ne donnent pas les mêmes équations. Pour régler ce problème, nous avons une fois encore détermine expérimentalement deux paramètres qui nous paraissaient placer la prédiction la une distance satisfaisante.
Evaluation par un protocole
Notre intention est de créer une application ou des utilisateurs ont pour consigne de sélectionner des cibles dans un monde en trois dimensions, aides en cela par des effets haptiques. L’espace est découpe en cellules convexes, les différentes cibles étant les sommets de ces cellules. Ce test a pour premier objectif de comparer les différents effets qui nous intéressent : murs haptiques sur une seule cellule proche de la cible prédite et murs haptiques sur toutes les cellules dont la cible prédite est un des sommets .
Pour comparer les murs haptiques avec les aimants dans ce contexte, nous avons décidé d’ajouter trois autres effets haptiques possibles. Le premier consiste la considérer la cible la plus proche de la prédiction comme un aimant 7. Nous avons choisi cet eet car nous supposions qu’il est d’autant plus efficace en termes de performances que la prédiction est précise et juste. Il nous semblait donc important d’évaluer cet eet. Le second est une variante de l’effet murs haptiques sur une cellule . Il s’agit non pas de placer des murs sur les faces
de la cellule la plus proche de la prédiction, mais d’en considérer les sommets comme des aimants. Cet effet permet d’avoir une marge d’erreur en comparant avec l’effet aimant sur une seule cible . De plus, il a un lien étroit avec l’effet.
murs haptiques sur une cellule car l’haptique est activée dans la même zone (une cellule), mais n’a pas la même dimension (des points pour l’un, des plans pour l’autre). Enfin, le troisième eet est la solution généralement adoptée : toutes les cibles de la scène sont considérées comme des aimants en permanence.
Evidemment, cet effet ne dépend pas de notre méthode de prédiction.
Nous souhaitons aussi, a travers ce protocole, tester notre prédiction. Il nous faut donc une autre méthode pour pouvoir les comparer. Celle qui nous a paru la plus parlante a confronter consiste la supposer que des que l’utilisateur ralentit, alors il est arrivée la ou il voulait. Cette méthode utilise seulement des seuils de vitesse : en reprenant les notations de la section 3.2, lorsque l’utilisateur dépasse la vitesse V0 et ralentit pour passer en-dessous de la vitesse V1, en respectant le pas de temps td 8, alors cette seconde méthode utilise comme prédiction la position de l’utilisateur au temps t1. Les effets haptiques sont alors actives de la même manière que pour notre première méthode, en considérant cette position comme prédiction .
Les méthodes de prediction et les effets haptiques définis ici sont testées dans l’application détaillée en section.
L’environnement
Cette section décrit l’environnement virtuel de notre application. Le curseur de l’utilisateur est représente par une sphère bleue, qu’il est possible de déplacer dans les trois dimensions a l’aide du PHANToM. Pour la disposition des cibles, nous avons choisi de garder une scène relativement simple, ou il est facile pour l’utilisateur de se repérer. Une grille régulière a trois dimensions nous a alors paru un bon choix. Toujours dans cette volonté de garder un test simple, nous avons pris des cubes comme cellules convexes. L’environnement est donc une grille régulière de cubes. De plus, nous voulons tester nos différentes méthodes selon différentes directions et distances. Dans l’optique de ne pas imposer un test trop long pour les utilisateurs, nous avons décide de leur faire effectuer des taches de élection la une distance de 0 (la cible de l’utilisateur est dans la même cellule que sa cible), 1 (la cible est dans une cellule adjacente a celle de l’utilisateur) et 2 (une cellule epare celle contenant la cible de celle ou se trouve l’utilisateur). Il nous fallait donc aligner trois cellules (donc trois cubes) sur les trois directions de la grille. Ainsi, ce test ne s’applique qu’a des taches de sélection relativement courtes. Or, dans des applications réelles, l’environnement pourrait ne pas se limiter a des cibles aussi proches les unes des autres. Nous avons donc décide de représenter le reste de l’environnement possible en prolongeant la grille d’une cellule de chaque coté, les cibles que l’utilisateur doit atteindre dans ce test restant cloisonnées a la grille initiale de 3 3 3 cubes. Nous utilisons donc natalement une grille de taille 5 5 5 cubes. Une autre manière de voir la situation est de considérer la grille comme une grille de 6 6 6 cibles (voir figure 20). Visuellement, les cubes sont représentes par leurs arrêtes noirs, et les cibles par des sphères jaunes (la cible a atteindre durant la t^ache courante est rouge).
Résultats
Les différents résultats obtenus durant ces tests vont nous permettre de valider ou non nos modèles. La section 5.1 donne les différentes conditions dans lesquelles se sont déroules les expériences. Les sections 5.2 et 5.3 analysent les différents résultats obtenus. Enfin, la section 5.4 regroupe les remarques intéressantes que nous avons recueillies, et les observations que nous avons pu faire.
Conditions du test
Quinze personnes ont réalise cette expérience. Toutes ont déjà manipule le PHANToM au moins une fois auparavant. Le test commence par un entrainement. Il s’agit de la même application, mais moins longue, au cours de laquelle aucune donnée n’est enregistrée. Il s’agit de présenter les différentes modalités a l’aide de quelques taches (5 pour chaque modalité). Les consignes données la l’utilisateur sont les suivantes :
{ L’objectif du test est de sélectionner la cible rouge.
{ A différents instants, le système essaye de prédire votre trajectoire, et active différents effets haptiques en conséquence pour vous aider a sélectionner la cible.
{ Pour chaque modalité, il y a deux séquences de 32 taches a effectuer. Les deux séquences correspondent a deux méthodes de prédiction. Ces deux méthodes sont basées sur votre vitesse.
{ L’important est que votre curseur soit sur la cible, que l’effet haptique soit active ou non a cet endroit.
Le test, entrainement et questionnaire compris, dure environ 30 minutes.
Temps a proximité
La technique a une influence significative sur le temps passe a proximité de la cible (F(8; 109) = 22:502, p < 0:001). La table 6 regroupe la moyenne de temps passe prés de la cible par t^ache pour chaque modalité. Sans surprise, la plupart des modalités avec aimants obtiennent de meilleurs résultats que les modalités avec blocs, car il sut que la cible soit effectivement activée et que l’utilisateur entre dans la zone d’attraction, pour qu’il soit attire précisément sur la cible et qu’il décide de cliquer. Le mauvais résultat de A1A est d^u a une mauvaise prédiction : l’utilisateur est effectivement proche de la bonne cible, mais l’unique sommet active n’est pas le bon a cause d’une mauvaise prédiction. Il n’arrive alors pas a se décider de cliquer tant que la bonne cible n’est pas activée. De maniéré générale, les utilisateurs ont tendance a ne pas cliquer sur la cible tant qu’une aide haptique n’est pas pressente, et contrairement a ce que préconisait l’une des consignes. Ce comportement vient de leur volonté de cliquer précisément sur la cible, ce qui pour eux implique une aide haptique. En eet, sans cette aide, ils pensent ne pas être assez précis. Ce phénomène explique aussi, comme indique dans les tables 16 et 15 en annexe B, que FA obtient significativement de meilleurs résultats par rapport aux autres modalités (sauf pour la modalité A1B avec laquelle on ne relevé qu’une tendance statistique a être meilleure (p = 0:064)) . En effet, toutes les cibles étant activées en permanence, la décision demandée a l’utilisateur est plus simple a résoudre : quand il arrive prés de la cible, il est attire vers elle, et donc il sait qu’il est précisément sur la cible. Il n’a pas a attendre que l’effet haptique soit bien place.
Commentaires
L’objectif initial était d’établir un système permettant a l’utilisateur de réaliser un geste naturel de sélection , et de s’apercevoir de la présence de l’haptique uniquement a la fin du mouvement. En pratique, dans le cas des blocs, il s’est avéré qu’après un temps d’adaptation, le geste n’est plus naturel : il commence alors par un a-coup, pour lancer l’haptique vers la cible, puis finit par un mouvement vers la cible rapide mais néanmoins plus lent que pour un geste naturel. Ce comportement est instinctif et difficile a corriger. Presque tous les utilisateurs ont fini par l’adopter, sans qu’il leur soit suggéré. Si cet a-coup n’est, au début, pas toujours efficace, il le devient de plus en plus au cours du test.
Les résultats que nous obtenons sont contradictoires avec nos espérances et les résultats de [Bur09, EVC09]. Les murs haptiques n’ont pas obtenu de bonnes performances, et n’ont pas ete particulièrement apprécies par les utilisateurs. Une cause plausible de ces résultats est la disposition des cibles. En eet, l’idée de créer une grille régulière tres simple est justifie par notre volonté de minimiser les erreurs de planification de l’utilisateur. Plus l’environnement est compréhensible, moins l’utilisateur fera d’erreurs dans sa trajectoire. De plus, nous avons décide de mettre peu d’indices visuels, car nous cherchions a valider notre système de prédiction et nos différentes aides haptiques, et non pas a expérimenter différentes aides visuelles permettant de mieux planifier le mouvement.
Néanmoins, il s’est avéré que ces choix nous ont conduit a une situation
favorable pour les différents aimants, en particulier pour la modalité Full Ai-mants. En effet, une grille régulière, orientée selon les directions cardinales de l’environnement, permet facilement d’éviter les aimants non souhaites, et donc d’aller rapidement et précisément sur la bonne cible. Cela s’est traduit par le fait que, contrairement a nos attentes, les utilisateurs se sont peu retrouves dans le cas de figure ou le pointeur est capture par un sommet différent de leur cible.
Comme indique en 5.2.5, la plupart des utilisateurs nous ont confie qu’ils n’arrivaient pas a se décider a cliquer sur la cible si l’aide haptique n’est pas présente. Ainsi, même s’ils arrivaient sur la cible, si un des aimants (par exemple) n’était pas active a cet endroit, ils préféraient tourner autour de la cible ou effectuer des mouvements d’aller-retour pour tenter d’activer le bon sommet. Ce comportement est contradictoire avec l’une des consignes énoncées en 5.1, mais est difficile a corriger.
Conclusions
Dans ce rapport, nous avons commence par introduire une méthode d’aide haptique pour faciliter la sélection de cibles dans un nuage de points en trois dimensions, basé sur des polyèdres de constriction. Cette méthode n’avait été utilisée que dans le cas mono-cellule, et les utilisateurs en avaient retire une opinion favorable, dans un domaine ou les aimants prédominent. Nous avons alors pressente le processus qui nous a conduit a une méthode étendant les polyèdres de constriction au cas Multi-cellules. Cette méthode consiste a se ramener au cas mono-cellule, en prédisant la trajectoire de l’utilisateur, et donc la position de sa cible, pour ne placer qu’une seule cellule dans la zone la plus susceptible d’aider l’utilisateur. Nous avons ensuite détaille le protocole de test qui nous a permis de tester notre nouvelle méthode d’aide, et de la comparer aux techniques existantes. Enfin, nous avons pressente les différents résultats, subjectifs et réels , que nous avons extraits de ce test.
Nous pouvons retenir de ces résultats que les performances des murs haptiques dans ce contexte ne sont pas a la hauteur des espérances laissées par le cas mono-cellule. La cause de cela n’est pas la technique des murs en elle même, mais plutôt l’évaluation des différents paramètres gérant les calculs de prédiction et l’activation des différents effets. Nous avons fixé ces paramètres expérimentalement, dans un souci de confort d’utilisation et de performances, en supposant que la phase d’entraînement du test surait au testeur final pour s’approprier la technique et la maîtriser correctement. Dans les faits, il en résulte des prédictions qui ne correspondent pas aux intentions de l’utilisateur, et des activations/désactivations d’effets haptiques qui le perturbent plus qu’elles ne le guident. De plus, le choix d’un environnement trop simple (une grille régulière) pour une meilleure perception de la disposition de la scène, favorise les effets a base d’aimants : l’utilisateur peut facilement éviter les sommets, mais pas les faces des cellules.
|
Table des matières
Introduction
1 Contexte
1.1 Une tache elementaire mais complexe
1.1.1 En deux dimensions
1.1.2 En trois dimensions
1.2 L’aide haptique
1.3 Peripheriques a retour de force
1.4 Une domination des aimants
1.5 La constriction : naissance des murs haptiques
1.6 Cas reel : idee des multi-cellules
2 Etude du mouvement
2.1 Un premier test
2.2 Un prol de vitesse recurrent
2.3 Un nuage de points interessant
3 Analyse et reexion
3.1 Idee d’une methode de prediction
3.2 Reglage des parametres de predictions
3.3 Evaluation par un protocole
4 Protocole de test
4.1 Description du test
4.1.1 Objectif
4.1.2 L’environnement
4.1.3 Conditions du test
4.1.3.1 Modalites haptiques
4.1.3.2 Predictions
4.1.3.3 Valeurs numeriques
4.1.4 Deroulement du test
4.1.5 Donnees enregistrees
4.2 Questionnaire
4.2.1 Questions
4.2.2 Creation du questionnaire
4.2.3 Fichiers de resultats
5 Resultats
5.1 Conditions du test
5.2 Resultats experimentaux
5.2.1 Temps
5.2.2 Distance parcourue
5.2.3 Erreur absolue
5.2.4 Erreur de prediction absolue
5.2.5 Temps a proximite
5.3 Resultats de l’evaluation subjective
5.4 Commentaires
Conclusions
Télécharger le rapport complet