Aller au contenu

Eye tracker en VR avec SRAnipal

Il est possible d'utiliser le système d'oculométrie des casques HTC Vive Pro eye grace à SR Anipal. Le but de cette page est de montrer comment mettre en place le système SRAnipal dans MindDev.

Plusieurs étapes sont nécessaires en vue de pouvoir utiliser l'eye tracker directement dans MindDev :

  • S'assurer que SteamVR est installé
  • Installer SR Anipal SDK
  • Configurer SteamVR pour permettre l'utilisation de l'Eye Tracker
  • Configurer son protocole MindDev

Installation de SteamVR

Tout d('abord, MindDev repose sur le logiciel SteamVR pour faire fonctionner la VR. Une page dédiée à l'installation est disponible ici

Installation de SRAnipal

Image title 2

Logo SRAnipal

Il faut ensuite installer SRAnipal pour permettre l'utilisation de l'eye tracker dans MindDev. Pour ce faire, il convient de télécharger la version SRAnipal du SDK sur le site officiel de VIVE ou en mirroir sur ce lien

L'installation du SDK SRAnipal n'active pas, pour autant, l'eye tracker à chaque lancement. En effet, pour pouvoir utiliser l'eye tracker, il est nécessaire de lancer l'application SR Anipal avant de lancer MindDev. Un seul lancement est nécessaire pour toute la session d'utilisation de MindDev.

Après l'initialisation de SRAnipal, le logo s'affiche dans la barre d'état de Windows et change de couleur :

Couleur Etat
Noir Eye tracker non detecté
Orange Eye tracker detecté mais non initalisé
Vert Eye tracker en fonctionnement

En cas de soucis d'installation

En cas de bug à l'installation, de soucis de configuration, une documentation plus complète est disponible ici :

https://github.com/Tomaso-Zanardi/SRanipal-Eye-Tracking-Manual/blob/main/README.md

Activation de l'eye tracker dans Steam VR et calibration

Lorsque le SDK SRAnipal est actif, il faut modifier la configuration de SteamVR pour activer le tracking oculométrique. Pour cela, il faut aller dans les options de SteamVR pour le casque HTC Vive Pro et suivre les consignes à l'écran.

Image title 2

Options de configuration pour le casque HTC Vive Pro Eye

Le panneau d'option de SteamVR permet d'effectuer une calibration de l'eye tracker. Cette calibration s'effectue, casque porté, en quelques secondes.

Configurer son protocole dans MindDev

Dans MindDev seules quelques étapes de configuration sont nécessaire pour utiliser l'eye tracker SRAnipal :

  • Ajouter une entité de gestion spécifique
  • Ajouter une entité d'enregistrement de données d'eye tracker
  • ajouter des points d'interet
  • Ajouter, si besoin, une instruction de calibration

Entité "Periphérique Eye Tracker"

Pour établir le lien entre MindDev et l'eye tacker, une seule entité est nécessaire. Il s'agit de l'entité "Eye Tracker Device". Cette entité n'a aucun paramètre et n'a qu'un seul but. Permettre de communiquer avec le sdk SRAnipal.

Image title 2

L'entité Eye tracker Device

Entité d'enregistrement des données d'eye tracker

Pour enregistrer les données en provenance de l'eye tracker, il convient d'ajouter un composant spécifique au système de Sujet. En effet, le composant n'est pas une entité conventionnelle, et sera disponible uniquement sur les composants VR du sujet :

Image title 2

Les composants VR d'un sujet

Image title 2

L'ajout du composant Eye tracker

Ce composant s'occupera d'enregistrer les données d'oculométrie disponibles :

  • Position de l'oeil dans l'univers
  • Direction de l'oeil dans l'univers
  • Direction de l'oeil dans le référentiel local
  • La valeur d'ouverture de l'oeil gauche
  • La valeur d'ouverture de l'oeil droit
  • la zone d'intérêt regardée
  • Le point d'impact dans l'espace monde

Définir des zones d'intérêt

Il est possible de définir des zones d'intérêt dans l'environnement 3D, voire dans l'environnement "2D" si celui-ci est positionné dans l'espace 3D. En effet, il est possible de déclarer l'objet comme zone d'intérêt grâce au script "Area Of Interest".

Image title 2

Ajout d'une déclaration de zone d'intérêt

En ajoutant le script de déclaration de zone d'intérêt, il est possible d'affecter une valeur entière différentes de -1 (la valeur de -1 est la valeur par défaut quand aucune zone n'est survolée par le regard), qui sera enregistrée par le contrôleur de l'eye tracker en tant que zone d'interet regardée

Ajout d'une instruction de calibration

MindDev support la calibration lors de la passation. L'instruction spécifique SR Anipal Calibration Instruction permet d'effectuer une calibration de l'eye tracker en faisant appel au logiciel de calibration du SDK SRAnipal.

Image title 2

Configuration de l'instruction

Etonnament l'instruction dispose d'un temps et d'une clé de validation. La clé de validation (une touche du clavier) permet de passer l'instruction. En effet, nous pouvons lancer dynamiquement la calibration mais nous n'avons aucune information quant à la réussite de cette dernière. Nous ne savons pas quand elle se termine. Ainsi, MindDev dispose d'une touche de clavier qui permet d'arrêter automatiquement l'instruction en cours pour passer à la suite.

Cela permet de à l'opérateur de pouvoir lancer son protocole lorsque le sujet lui indique que la calibration a été effectuée et est terminée.

Instruction SRAnipal

Attention, l'instruction ne passe pas à la suite sans action de l'opérateur. Il en résulte un protocole en attente, pouvant laisser croire à un plantage ou mauvais fonctionnement.