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
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.
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.
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 :
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".
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.
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.