3A Projet Interactions post-WIMP - Tracé de routes en 3D avec retour haptique
- Antoine CHARBONNEL, Romain CHAPOULLIE, André VARTORE, Briac TOUSSAINT
Comme ce projet a été réalisé pendant la période de confinement, nous n'avons eu accès au matériel mentionné que de manière très limitée. Nous avons donc préféré réaliser une étude bibliographique plutôt que d’implémenter notre interface sans le matériel pensé pour. En mettant en commun les informations trouvées dans plusieurs articles portant sur des interfaces homme-machine avec retour haptique, nous avons pu discuter des avantages et inconvénients de notre système et se faire une idée plus précise de l’utilité de l’interaction que nous avions imaginée.
Sommaire
Résumé
Nous proposons dans ce projet une méthode de tracé de routes en 3D utilisant un dispositif de retour haptique, et visant à remplacer l’interaction avec une souris proposée par les logiciels de CAO existants. L’objectif recherché est ainsi de faciliter le travail de l’ingénieur en génie civil lors de la conception de projet routier, grâce à des outils permettant une meilleure perception du relief que ceux existants actuellement.
Introduction
Dans le domaine du génie civil, le tracé de routes repose sur l’étude préalable de données géographiques en 2D (courbes de niveaux, vue de profil, vue en plan, etc…) qui vont permettre à un ingénieur de définir un tracé “idéal” répondant aux attentes d’un projet routier. Ces données sont aujourd’hui intégrées dans des logiciels de CAO dédiées à la modélisation du terrain et à la conception de modèles 3D [1], qui ont pour objectif de faciliter le travail de l’ingénieur en génie civil dans le tracé de routes notamment.
L’un des points clés dans la modélisation 3D est la perception du relief par l’utilisateur. Les logiciels proposés à l’heure actuelle, tel que le logiciel Autocad, permettent de visualiser les données aussi bien en 2D qu’avec une vue en perspective 3D, sur un écran 2D. Bien que cette modélisation soit intéressante pour visualiser les données de systèmes d’information géographique (SIG), elle présente néanmoins des limitations lorsqu’il s’agit d’effectuer des tracés avec la souris sur un ordinateur ou avec un stylet sur une tablette graphique. En effet, avec une vue en perspective, il n’est pas évident d’effectuer un tracé dans le sens de la profondeur, car les échelles sont modifiées à l’écran. Avec une vue en plan 2D, le tracé est très facile, mais on perd l’information 3D. La figure 1 ci-dessous présente les avantages et inconvénients de ces deux vues. On voit bien que la vue 2D facilite le tracé mais que l’information sur le dénivelé est insuffisante avec les seules lignes de niveaux. Sur la vue en perspective à droite, le relief est bien visible mais le tracé d’une route en allant vers La Tronche ou Saint-Martin-Le-Vinoux n’est pas évident. Il faudrait tourner la carte lors du tracé à de nombreuses reprises pour avoir un bon point de vue.
Ainsi, pour pallier à ces difficultés et pour faciliter le travail des ingénieurs en génie civil dans la conception de routes, nous proposons d’utiliser un stylo à retour haptique (Phantom OMNI), en complément des outils de visualisation sur l’écran, pour ajouter davantage d’information sur le relief par perception haptique (retour de force) de la surface.
Conception d’une interface adaptée
Description détaillée de notre interface
Pour faciliter le travail des ingénieurs en génie civile, nous avons pensé à un logiciel avec une interface basée sur deux appareils :
- le Space Navigator, un dispositif de navigation 3D possédant 6 degrés de liberté.
- le Phantom Omni, un dispositif de pointage 3D avec retour de force.
Chargement et visualisation des données
Après avoir démarré le programme, l’utilisateur charge des données cartographiques grâce à une interface au clavier et à la souris classique. Il peut ensuite prendre dans sa main non dominante le Space Navigator et s’en servir pour déplacer et orienter la caméra comme il le souhaite et ainsi mieux visualiser les données. Pour mieux percevoir le relief du terrain, l’utilisateur peut utiliser le Phantom Omni qu'il tient dans sa main dominante en tâtant la surface virtuelle.
Ce type de répartition de l’interaction entre la tâche de positionnement du référentiel de l'action avec la main non dominante, et la tâche d’édition avec la main dominante est, comme souvent observé dans la recherche en IHM (voir le transparent n°4 du cours, sur l’interaction à deux mains), habituellement très performante.
Tracé de routes
Le logiciel permet à l’utilisateur de tracer des routes de plusieurs manières :
- Par tracé libre : En appuyant sur une touche du clavier de sa main non dominante, l’utilisateur lance le mode tracé libre. Il réalise alors simplement son tracé en posant la pointe du Phantom Omni sur la carte en relief. Il a la possibilité d’interrompre son tracé et de le reprendre plus tard après avoir déplacé la caméra. Il peut aussi annuler le dernier trait tracé en appuyant sur une touche du clavier ou en effacer une partie en sélectionnant l’outil gomme. Une fois que l’utilisateur est satisfait de son tracé, une option lui permet de la convertir en courbe b-spline avec un nombre de points de contrôle voulu et ensuite d’ajuster la position des points de contrôle pour définir précisément la courbe.
- Par tracé de courbe b-spline direct : L’utilisateur peut directement définir une courbe b-spline en ajoutant, supprimant ou déplaçant des points de contrôles, le choix de l’option se faisant par une touche du clavier et la position affectée étant contrôlée par le Phantom Omni.
Des paramètres sont réglables pour chaque courbe b-spline dont :
- La pente maximum autorisée.
- La courbure maximum autorisée.
- L’épaisseur de la route / le nombre de voies.
- La hauteur maximum d’une tranchée.
L’utilisateur peut choisir d’appliquer ces paramètres de manière forte ou faible. Dans le premier cas, les valeurs autorisées ne peuvent pas être dépassées et une modification de l’utilisateur ne respectant pas ces contraintes est automatiquement adaptée. Dans le second cas, l’utilisateur peut dépasser ces limites mais les sections de la courbe ne les respectant pas seront affichées en rouge avec un message indiquant le problème.
On peut bien sûr créer plusieurs routes avec des paramètres distincts ou communs au choix, créer des jonctions entre les routes, consulter les propriétés des différentes courbes, … Nous précisions que le tracé libre a été pensé comme une manière de réaliser une ébauche rapide d’un tracé de route. Comme une route doit être définie très précisément, un tracé libre doit forcément être converti en courbe b-spline.
Si l’utilisateur souhaite ajouter facilement de l’information sur la carte en relief, il peut utiliser l’option de tracé d’annotation qui fonctionne de manière semblable au tracé libre.
On peut aussi noter que lors de la conception d’une route, on ne veut pas systématiquement garder la géométrie de la carte. En effet, il est souvent nécessaire de créer des tranchées, d'aplanir ou même de surélever une zone. Ainsi, à la création d’une courbe b-spline, les modifications nécessaires à appliquer au terrain pour qu’il suive localement la même courbe sont automatiquement faites par le logiciel. L’utilisateur peut régler ces modifications en ajustant la position dans l’espace des points de contrôle. Le logiciel est capable d’afficher un résumé des travaux à réaliser pour obtenir ces modifications.
Pour ce qui est du placement des points de contrôle, le programme permet de facilement les sélectionner grâce à un système de "snapping 3D". Le principe est semblable au snapping classique que l'on retrouve dans de nombreux logiciels possédant une interface à la souris où le curseur est attiré par un point d'intérêt si celui se trouve suffisamment proche. Dans le cas de notre interface, si la pointe du Phantom Omni se trouve en dessous d'une certaine distance d'un point de contrôle, une force légère l'attire vers ce point. L'utilisateur peut alors se laisser guider dans son mouvement pour atteindre le point.
En ce qui concerne le placement du point de contrôle après sa sélection, nous pensons implémenter un effet "d'amortissement inversé", consistant en une force exercée dans la direction opposée à celle du mouvement et inversement proportionnelle à la vitesse de déplacement, comme présenté dans [11]. En effet, le positionnement du point doit être aussi précis que l'utilisateur le souhaite, et cette technique a été prouvée efficace pour améliorer la précision de manipulations semblables à la nôtre. On peut de plus noter que, contrairement à [11] où il est question de réaliser une acquisition complètement 3D, il s'agit ici de placer le point de contrôle sur un relief, ce qui pose moins de difficultés.
Au niveau de l’affichage, en plus des informations sur les paramètres des courbes, le logiciel présente avec des couleurs adaptées les propriétés du terrain dont :
- les zones non constructibles
- les zones demandant certains travaux pour être constructibles
Avantages offerts par le retour haptique
Le Phantom Omni offre des possibilités à la fois sensorielles et motrices. D’un point de vue du repérage dans l’espace, la position du stylo est repérée avec une précision de l’ordre de 0.055mm [2]. Des expériences ont permis de valider la manipulabilité et la précision du Phantom dans les trois directions de l’espace [3]. Par ailleurs, la raideur maximale exercée est plus importante selon l’axe Y (2.31 N/mm) que selon les axes X et Z (respectivement 1.26 N/mm et 1.02 N/mm) [2]. Une raideur plus importante selon l’axe Y nous permet ainsi de donner une sensation plus importante de la gravité et donc du contact avec la surface.
La sensation de surface avec le Phantom Omni est justement le point clé de notre interface. Pour tracer la route, il faut en effet que l’utilisateur perçoive avec le retour haptique si le stylo est positionné dans le vide ou bien directement au niveau du sol. Nous avons trouvé dans la littérature un algorithme permettant de détecter et de simuler une collision virtuelle entre le stylo et un objet [4]. Il s’agit dans cet article de réaliser de la simulation d’opération et plus particulièrement de la sculpture sur des os. Il faut donc pouvoir détecter si l’outil manipulé est dans le vide, en contact avec l’os ou bien en train de le perforer. Nous pouvons donc transposer les algorithmes et les résultats obtenus dans cet article à notre cas d’utilisation afin de détecter si l’on est en contact avec la surface ou bien si l’on est en train de traverser la surface.
Par ailleurs, nous avons vu dans la littérature que le couplage de l’interaction haptique avec l’interaction visuelle (dans notre cas, les données SIG) permet d’améliorer la sensation de contact [5]. Dans notre système, l'utilisateur visualise simultanément la carte avec les lignes de niveaux et le tracé de la route effectué avec le Phantom OMNI, ce qui permet de profiter de ce couplage.
Choix du dispositif d’affichage
Comme mentionné précédemment, coupler un affichage visuel avec un retour haptique permet de transmettre un plus grand débit d’information à l’utilisateur [6]. Cependant, le choix des dispositifs est important pour obtenir un couplage performant.
Dans notre cas, il s’agit de déterminer quel type de dispositif d’affichage est le plus adapté pour être utilisé avec le Phantom Omni. L’article de Rifat Aras, Yuzhong Shen et Ahmed Noor [6] est à ce sujet particulièrement intéressant. En effet, ils ont étudié les performances de multiples personnes dans la réalisation d’une tâche d’acquisition 3D à l’aide du Phantom Omni, en fournissant à certains un écran avec affichage 2D classique, et à d’autre un affichage stéréoscopique adaptant la perspective au regard de l’utilisateur.
Sans grande surprise, ceux disposants de l’affichage 3D ont eu de meilleurs résultats, ce qui peut s’expliquer simplement en estimant que, avec la plus grande quantité d’information sur la profondeur fournie par l’affichage, ils ont eu une meilleure perception de la position du stylo dans l’espace virtuel.
On peut donc supposer, à la vue de cet article et des manipulations que nous avons pu réaliser avec le Phantom Omni (seulement avec un affichage 2D), qu’un dispositif d’affichage immersif, par exemple un casque de réalité virtuelle, permettrait de manipuler plus efficacement notre logiciel. Cependant, notre interaction principale de tracé de route ne se fait pas en 3D complètement libre mais en s’appuyant sur la surface donnée par la carte. On peut donc s’attendre à un gain de performance plus faible que celui vu dans l’article.
En plus de cela, la structure de notre logiciel fait que nous pensons qu’un casque de réalité virtuelle n’est pas le dispositif d’affichage le plus adapté dans notre cas. En effet, le tracé de route que nous proposons demande fréquemment d’ajuster des paramètres ou de sélectionner une option. Pour cela, nous pensons que le plus simple est de se servir du clavier de sa main non dominante, et dans le cas où une paramétrisation précise est à faire, basculer sur un contrôle classique au clavier et à la souris. Ce type d’interaction n’est pas possible avec un casque de VR. On pourrait envisager un menu affiché en réalité virtuelle et avec lequel on pourrait interagir grâce au Phantom Omni, mais cela demanderait un changement de contexte et des acquisitions 3D fréquentes, ce qui n’est pas idéal.
Nous pensons alors qu’un dispositif d’affichage apportant plus d’informations sur la profondeur qu’un écran classique, mais qui n’obstrue pas la vision de l’utilisateur comme un casque VR le ferait, serait un bon choix. On peut donc envisager par exemple :
- Un casque de réalité augmentée.
- Un dispositif stéréoscopique, éventuellement avec de l’eye tracking pour adapter la perspective au regard de l’utilisateur, comme par exemple l’écran de la tablette zSpace utilisée dans l’article de Rifat Aras et al. [6].
Limitations de notre interface
L’utilisation d’une interface haptique, et en particulier du Phantom Omni, introduit des contraintes supplémentaires en lien avec le système somatosensoriel humain.
Taux de rafraîchissement
Contrairement à la vision, qui perçoit les variations d’intensité à l’ordre de 30hz, le sens du toucher est capable de détecter des variations beaucoup plus fines. Cela impacte en particulier la simulation d’objets rigides ou peu déformables. En effet ces objets et leur comportement sont modélisés par de systèmes raides et ont des réponses en fréquences faisant intervenir beaucoup de fréquences hautes. La nécessité de résoudre ces systèmes à un taux de rafraîchissement élevé limite fortement la complexité que peuvent avoir ces systèmes.
Ceci dit, dans notre application le modèle est non déformable, il n’y a pas de simulation physique, hormis le calcul des forces pour le retour haptique lequel est partiellement géré par le dispositif lui-même. En revanche, il faut traiter les déplacements et tracé de la route, mais cela peut être réalisé à la fréquence de l’affichage graphique.
Perception de la topologie
L’atout phare de notre interface est l’amélioration de la perception de la topologie grâce au retour haptique. Cependant, l’utilisation naïve d’un dispositif à retour de forces tel le Phantom Omni peut en réalité fausser la perception des variations de hauteurs d’une surface, en particulier lorsque la rigidité de cette surface varie. En effet, lorsqu'un utilisateur explore la topologie d’une surface par le sens haptique, il brosse cette surface en exerçant une force de composante normale constante f_user [7]. Or, en général les dispositifs à retour d'effort modélisent la réaction du support (f_r) par une force de rappel élastique proportionnelle à la distance de pénétration et non par une surface impénétrable. Par conséquent lorsque l'utilisateur passe le stylet d’une surface dure vers une surface plus molle ce dernier s'enfonce plus et cela fausse notre perception des hauteurs.
Quelle conséquence pour notre application ? Si nous voulions donner des 'textures haptiques' au modèle pour enrichir la perception des propriétés du terrain à l'utilisateur, par exemple pour représenter un sol mou argileux nécessitant d'avantages de fondations, nous ne pourrions pas exploiter la raideur du terrain car cela pourrait nuire à la bonne perception de la topologie. En revanche, si l'on parvient à estimer cette force (f_user) (qui varie entre individus mais également au cours d’une même session pour un individu donné) on pourrait compenser cette distorsion.
On peut aussi noter que même si le stylet physique se trouve sous la surface, celui affiché à l’écran (appelé proxy) est positionné sur la surface dans tous les cas. Cela permet d’atténuer cette erreur d’interprétation du sens haptique.
Fatigue et "gorilla arm effect"
Dans le domaine de la réalité virtuelle, et de manière plus générale des interactions où la main de l’utilisateur ne peut pas se reposer sur un support, on observe fréquemment l’apparition de fatigue lors d’une utilisation prolongée. Dans le cas de notre interface où il est question de faire des acquisitions 3D, il est probable que cet effet, souvent surnommé “gorilla arm effect", se produise. Il a en effet déjà été observé par des chercheurs lors de l’utilisation du Phantom Omni [8].
Nous pensons cependant qu’il est possible de réduire cette fatigue qui serait assez problématique pour notre interface. En effet, contrairement au cas de la sculpture 3D mentionné dans [8], la majorité du temps pendant lequel l’utilisateur manipule le Phantom est passé à tracer des courbes ou à manipuler des points posés sur le relief. Comme ce relief a une géométrie à peu près plane (même si bien sûr pas exactement), une fois la caméra placée comme souhaité, on peut fournir à l’utilisateur une simple petite boîte comme support pour surélever et reposer sa main dominante sans trop l’entraver dans ses mouvements. S' il se sent limité par le support, il peut toujours le mettre sur le côté et le repositionner plus tard.
Interaction ponctuelle
À priori l'interaction avec le Phantom est ponctuelle et ce dans les deux sens. D'une part, le système ne connaît de l'utilisateur que la position (et l'orientation) de l'extrémité du stylet, et réciproquement de l'autre l'utilisateur ne perçoit haptiquement le monde virtuel que par la force exercée par l'embout du stylet. Cela peut présenter certains inconvénients.
Tout d'abord, en restreignant le curseur de l'utilisateur dans le monde virtuel à un simple point, il s'accroche facilement aux discontinuités sur les objets ce qui perturbe l'exploration de la scène et plus généralement la tâche de l'utilisateur. En particulier ceci pourrait être gênant lors de l'exploration de données bruitées. Une solution potentielle serait de remplacer l'avatar virtuel du stylet par une boule pour lisser les collisions, ou simuler le coussinet d'un doigt en tenant compte de l'orientation.
Dans [4], la collision de l’outil du chirurgien avec l’os est approximée avec une cinquantaine de points de collision répartis autour de la tête de l’outil. La force de contact est appliquée sur le point maximisant la distance de pénétration de l’outil dans la surface. Les auteurs utilisent également une fréquence de rafraîchissement à 6000 Hz, bien plus élevée que la valeur habituelle de 1000 Hz du Phantom, dans le but de simuler les vibrations de l’outil.
Par ailleurs, les performances d'un individu pour la reconnaissance d'objets sont fortement dégradées lorsque ce dernier est limité à l'utilisation d'une sonde[9], à l'instar du stylet du Phantom. Bien que l'utilisateur de notre application dispose également d'un retour visuel, il serait propice de mesurer l'impact de l'utilisation d'une sonde (plutôt que le doigt) sur les capacités de discrimination des variations topologiques d'une surface. Par exemple, un test pour déterminer un seuil de perception de variation de hauteur à main nue et avec une sonde.
Limitations des forces exerçables par le Phantom Omni
Le Phantom Omni, au-delà de l’interaction purement ponctuel qu’il est capable de produire, est aussi limité dans les forces qu’il peut produire pour simuler un contact physique avec un objet virtuel. En effet, le Phantom ne peut produire que des forces de translation et pas de rotation, ce qui, comme expliqué dans [7], limite la précision du modèle de contact.
De plus, le retour de force du Phantom permet bien de faire percevoir à l’utilisateur la collision avec un objet, voire même la rigidité de cet objet, mais il est difficile de transmettre une information de texture. En effet, cela demandera de pouvoir créer des vibrations précises au niveau du stylo, ce qui n’est pas possible avec la version actuelle du Phantom.
Conclusion
Après avoir pris connaissance de la manière dont de multiples interfaces à base de retour haptique ont été conçues et du ressenti de leurs utilisateurs, nous avons une idée plus précise de comment notre système de tracé de route pourrait être réalisé en pratique.
Nous pensons qu'il est tout à fait possible de réaliser une implémentation suffisamment performante pour ne pas descendre en dessous du taux de rafraîchissement nécessaire à une bonne perception par le sens du toucher, tout en ayant un retour de force convenablement modélisé, en s'inspirant de [4] et [7] pour le calcul de force, et de [10] pour traiter des données cartographiques de grandes tailles. Nous espérons aussi qu'une modélisation du contact de la pointe du stylo par une boule déformable plutôt qu'un simple point suffirait pour ne pas se retrouver coincé dans les creux de la carte.
Pour ce qui est de la fatigue de l'utilisateur sur une utilisation prolongée, nous pensons que la mise en place d'un support suffirait à rendre le système agréable à manipuler sur la durée sans être trop gênant pour réaliser les mouvements les plus fréquents.
Selon [6], coupler le retour haptique avec un dispositif d'affichage immersif permettra à l'utilisateur de plus efficacement percevoir l'information de profondeur. De plus, la répartition entre le positionnement du référentiel avec le Space Navigator tenu dans la main non dominante, et la réalisation de l'action avec le Phantom Omni manipulé par la main dominante nous paraît prometteuse car une telle répartition est souvent jugée efficace.
Nous aurions donc aimé pouvoir tester cette interface et juger de nous même si la perception de la profondeur qu'elle fournirait permettrait un gain en performance par rapport à une interface plus classique à la souris.
Références
[1] Autodesk-Civil3D - Civil 3D | Logiciel de conception de génie civil
[2] A 3D Simulation of a Game of Billiards using Haptic Device, Lucio Tommaso De Paplis, Marco Pulimeno, Giovanni Aloisio, 2008
[3] PHANToM OMNI HapticDevice: Kinematic and Manipulability, Alejandro Jarillo-Silva, Omar A. Dominguez-Ramirez, Vicente Parra-Vega and J. Patricio Ordaz-Oliver, 2009
[4] Realistic Haptic Interaction in Volume Sculpting for Surgery Simulation, Andreas Petersik, Bernhard Pflesser, Ulf Tiede, Karl-Heinz Höhne, Rudolf Leuwer, 2003
[5] Phantom-Based Haptic Interaction with Virtual Objects, Lawrence J. Rosenblum, Michael R. Macedonia, 1997
[6] Quantitative assessment of the effectiveness of using display techniques with a haptic device for manipulating 3D objects in virtual environments, Rifat Ara, Yuzhong Shen, Ahmed Noor, 2014
[7] Force Constancy and Its Effect on Haptic Perception of Virtual Surfaces, Seungmoon Choi, Laron Walker, and Hong Z. Tan, and Scott Crittenden and Ron Reifenberger, 2005
[8] A Haptic Interaction Method for Volume Visualization, Ricardo S. Avila and Lisa M. Sobierajski, 1996
[9] Haptic identification of common objects: Effects of constraining the manual exploration process Susan J. Lederman and Roberta L. Klatzky, 2004
[10] Large Haptic Topographic Maps: MarsView and the Proxy Graph Algorithm, Sean P. Walker and J. Kenneth Salisbury, 2003
[11] Designing Effective Haptic Interaction: Inverted Damping, Jason Williams and Georg Michelitsch, 2003