Construire et utiliser un dispositif de suivi de mouvement de type freetrack
Principes et Track IR
Le joueur va placer une ou plusiers leds infra-rouge sur son crâne. Une caméra va capter les infra-rouge émis et un logiciel se chargera de traiter le signal entrant pour qu'il puisse être exploiter dans un jeu. En fonction du nombre de led et des jeux, il sera possible de retranscrire des mouvements sur plusieurs axes (avant/arrière, rotation gauche/droite ou latéral gauche/droite).
Ce principe connaît une déclinaison commerciale à travers les produits TRACK IR. Le prix des produits TRACK IR a cependant de quoi refroidir le plus passionnés (150 € pour la version 5).
Présentation de Freetrack
Le mieux pour apprendre à connaître freetrack reste encore le site officiel Freetrack. A travers les différents documents et forums, il est déjà possible de répondre à bon nombre d'interrogations.
En résumé, freetrack est un logiciel gratuit qui permet de traiter le signal reçu d'une caméra qui, elle même, filme de joueur équipé de leds infra-rouge. Le logiciel
envoi ensuite le résultat de ces traitements vers un jeu pour que celui-ci traduise les mouvements du joueur.
Il faut noter que Track IR est une solution complète matériel/logiciel.
Freetrack se limite à la partie logicielle, charge à la personne qui souhaite le mettre en oeuvre de :
- disposer d'une caméra monopolisée ou non, modifiée ou non
- construire un système pour émettre les infra-rouge
- installer et configurer le logiciel pour les différents jeux
Autant le dire tout de suite, Freetrack nécessite plus d'implication de la part de l'utilisateur.
Montage personnel et installation
Mon installation est la suivante :
- un système avec trois leds
- une caméra de playstation 3 modifiée
Pour le système de suivi :
Il est possible de faire un montage qui ne possède qu'une seule led, néanmoins cette solution est limitée au niveau de la restitution des mouvements.
Dans mon cas, la liste des composants est la suivante :
- petite boîte de cigares en plastique
- des tiges en carbone (à la base en vente dans les magasins de sports pour la construction de cerfs volants)
- un boîtier pouvant accueillir 4 piles de type HR6 (piles rechargeables de type AA)
- du fil électrique pour relier le boîtier des piles à la boîte de cigares (récup d'un vieux casque audio)
- du fil de plus petite section pour passer dans les tiges en carbone
- une résistance de 5.1 ohms pour un montage en série des leds
- des gaines thermorétractables de taille moyenne (pour englober les leds et le carbone) et petite (pour isoler les soudures et les pattes des leds entre elles)
- 3 leds SFH485P d'osram (car puissante et avec un embout plat pour une diffusion plus large)
Pour décrire succinctement le montage :
La première étape consiste à dessiner un plan pour obtenir un agencement avec le boîtier, les bras en carbone et le positionnement des leds les unes par rapport aux autres.
Ces valeurs seront saisies dans le logiciel freetrack par la suite. L'exemple sur le site officiel donne par exemple le positionnement suivant :
- toutes les leds sont sur même axes
- la led du centre sert de référence pour la position des deux autres
- celle du haut est plus haute de 4 cm et avancée de 3 cm
- celle du bas est plus basse de 7 cm et avancée de 8 cm
FAQ officiel Freetrack sur la partie matérielle.
Avec l'aide du plan, les tiges en carbone sont coupées et limées pour obtenir les longueurs et angles souhaités.
La boîte à cigare est percée pour laisser les tiges et le cordon d'alimentation. Les tiges sont parallèles au fond de la boîte et sont collés à l'aide de super glue liquide.
Une fois les bras bien en place, il faut s'occuper de la partie électronique et souder un fil à chaque patte des leds. Prendre deux couleurs différentes permet de s'y
retrouver plus facilement entre le plus et le moins (pour faire la part des choses sur les leds et voir le document à propos des leds sur le site officiel.).
Une fois les deux pattes soudées chacune à un fil, placer une petite gaine thermorétractable qui sera chauffée pour bien isoler une patte de l'autre.
La suite des opérations consiste à monter les leds en série avec la résistance sur le chemin emprunté par le courant.
Une fois que tout est en place, il est temps de tester avec la source d'énergie. Pour vérifier que les leds s'allument bien, utiliser un appareil photo ou une webcam pour visualiser les infra-rouges qui seraient invisibles sans cela.
Une pince de cintre est découpée, un cube de bois collé dessus et la boîte à cigares vissée sur le cube.
La finition consiste à placer des gaines thermorétractables au bout des tiges en carbone, renforcer les différents éléments avec des ajouts de colle et faire un peu de décoration.
Au final le système monté donne ce résultat :
La caméra
Mon choix s'est arrêté sur la caméra de la PS3 car :
- elle filme de manière très fluide (plus de 100 images par seconde à certaines résolutions)
- elle n'est pas cher (5 euros d'occasion dans un magasin spécialisé en jeu vidéo)
Pour que la caméra soit reconnue sur un pc windows, il faut installer des pilotes spéciaux intitulés "CL Eye Platform Driver" téléchargés sur le site
http://codelaboratories.com.
Une fois le logiciel installé, il est possible de faire un test de bon fonctionnement avec le logiciel "CL-Eye Test".
L'étape suivante consiste à retirer le filtre infra-rouge de la caméra. Pour cela, il faut la démonter (un peu brutalement) pour retirer une lentille qui, dans mon
cas, était située juste devant le capteur éléctronique de la lumière. Des vidéos sur youtube montre le cheminement à suivre pour démonter la caméra. Une recherche
à l'aide des mots clés "ir ps3 eye" suffit pour trouver son bonheur.
Attention cependant, il existe au moins deux générations de caméras. Il semble que la dernière générations possède un filtre difficile à retirer.
Quelques infos sur le sujet sur ce site
Une fois le capteur remonté, les infra-rouges sont effectivement bien mieux captés mais l'image est flou.
Pour éviter ce flou, il suffit de tourner l'objectif de la caméra et de bloquer (avec du scotch d'électricien par exemple) la rotation quand la mise au point se fait.
Pour éviter que la lumière "visible" ne vienne gêner freetrack, il est nécessaire de placer un filtre sur la caméra. Pour ma part, j'ai placé un film négatif exposé juste
devant le capteur de la webcam à l'intérieur de l'objectif.
Paramétrage de la caméra à travers CL-Eye test
1 - Ouvrir le logiciel "CL-Eye test"
2 - Aller dans le menu "Option" puis "Video Capture Filter..."
3 - Dans la fenêtre "Propriétés" : Gain à fond / Exposure au minimum comme sur la capture d'écran ci-dessous.
4 - Dans le menu "Option" puis "Video Capture Pin..."
5 - J'ai sélectionné "640 x 480 px (32 bits) @ 60.000 FPS" comme compromis entre fluidité et impact sur les performances du système.
Une fois les leds activées, trois points (et uniquement eux) devraient apparaître à l'écran.
La partie logicielle
A suivre...