Page 1 sur 1

Head tracking inertiel

Publié : dim. sept. 27, 2015 10:52 pm
par ketefout
Salut tout le monde,

Je voulais vous présenter un petit projet que j'ai depuis un moment et qui commence à prendre forme.
L'idée c'est d'utiliser des accéléromètres et des gyroscopes pour faire du head tracking. Le principe est simple à partir des informations données par les capteurs, il s'agit de retrouver la position de la tête dans l'espace et de bouger la vue en conséquence.

L'idée m'est venue en lisant ce topic : http://www.rcgroups.com/forums/showthread.php?t=1677559
Le créateur du topic utilise cette idée pour diriger une caméra embarqué sur son drone.

J'ai donc à peur près suivi ses explications et j'ai acheté :
- un arduino micro
- une plateforme GY-85 qui contient les capteurs (accéléro, gyroscope et magnéto mètre)

Le tout tient dans la main et peut se fixer facilement sur un micro casque.

J'ai récupéré et modifié le code fourni dans le topic cité plus haut, et je me suis inspiré de ce tuto : http://www.instructables.com/id/Add-a-l ... /?ALLSTEPS pour faire reconnaitre l'arduino sous windows comme un joystick 3 axes.

Après dans DCS j'assigne les axes de la vue aux trois axes de ce faux joystick. Et voilà.

J'obtiens des résultats encourageant sur DCS. Je dois encore peaufiner un peu le code pour notamment mieux filtrer les signaux.
Si ça marche bien ça fera une alternative aux track IR ou facetracknoir.
J'ai voulu essayer sur falcon BMS mais j'ai pas trouvé le moyen d'assigner la vue à des axes analogiques.

Je vous ferais des photos du montage rapidement, par contre mon PC de jeu va être dans un carton quelque temps pour cause de déménagement, donc pour les vidéos faudra attendre.

PS: j'ai démarré ce projet il y a longtemps mais je m'en suis pas occupé faute de temps. Depuis, j'ai vu que certains site proposaient des montage similaires notamment pour Elite Dangerous (chercher EDtracker dans votre moteur de recherche favori).
Si certains d'entre vous ont des retours à faire sur ce genre de système je suis preneur :yes: , histoire de savoir si j'ai une chance d'aboutir à un truc correct ou si je peux abandonner tout de suite :emlaugh:

A+

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 7:39 am
par Cat
Projet intéressant. Continue et j'attends de savoir si il fonctionnera sur BMS

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 2:45 pm
par ketefout
Comme promis voici 2 photos (de mauvaise qualité) qui permettent de se rendre compte de la taille du montage.
Faudra penser à mettre tout ça dans une petite boite en plastique (genre grande boite de tic-tac) histoire que ça soit plus propre.
Photo0033.jpg
Photo0034.jpg
Pour Falcon, comme dit plus haut il n'y a pas moyen d'affecter la vue à des axes, donc c'est compliqué.
J'ai essayé avec le logiciel FreePIE de rediriger ce qui sort de mon headtracker vers l'interface trackIR, mais ça rend pas très bien : c'est pas du tout stable et donc c'est injouable.
A moins que certains puissent m'indiquer comment utiliser directement l'interface trackIR ça me parait compromis pour une utilisation sous falcon dans l'état actuel de mes connaissances informatique :emlaugh: (facetracknoir arrive bien à se faire passer pour un trackIR donc ça doit être possible mais je sais pas faire)

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 6:42 pm
par Cat
As-tu essayé avec le logiciel Freetrack ?

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 7:57 pm
par ketefout
J'y avais pensé avec facetraknoir , mais même problème, je savais pas trop comment envoyer les info du tracker à facetrack.

Et puis en cherchant un peu je viens de trouver ça sur le wiki de facetrack noir http://sourceforge.net/p/facetracknoir/ ... /eced1cb2/
C'est des gens qui ont eu la même idée que moi (mais bien avant moi), et ils ont créé un tracker spécial pour facetrack.
Ils expliquent quelles infos il faut envoyer pour que ça marche. Je vais essayer de me servir de ça, ça permettrait de l'utiliser facilement avec tous les jeux.

Mais bon du coup mon projet perd un peu de son intérêt puisque ça a déjà été fait.....

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 8:13 pm
par usul
Non non non, c'est une très bonne idée!

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 8:27 pm
par Cat
Regarde avec Freetrack. On ne sait jamais....

Re: Head tracking inertiel

Publié : lun. sept. 28, 2015 8:49 pm
par MS Galileo
Salut,

Perso je mettrai une Teensy 2 , 3 ou 3.1 en lieu et place de l Arduino Micro car la teensy peut emuler directement un joystick 6 axes https://www.pjrc.com/teensy/td_joystick.html , je pense que ca pourrait t aider dans ton projet
D ailleurs d autres on realise des heardtracker en l utilisant
http://planetkris.com/2014/12/easier-be ... d-tracker/

Re: Head tracking inertiel

Publié : mar. sept. 29, 2015 12:35 pm
par HudLx
Salut ketefout,

Regarde du côté de PPJoy (pour Parallel Port Joystick) ; ce petit soft gratuit est capable d'émuler des axes de joystick et des boutons. Il est interfaçable avec FreeTrack, je l'utilisais en combinaison avec FSUIPC pour avoir le tracking dans FS avant que l'émulation TrackIR ne soit intégrée.

VMFA_Hud / }{ùd£x

Re: Head tracking inertiel

Publié : lun. oct. 12, 2015 11:11 am
par ketefout
Hello,

@usul : Merci pour le soutien moral lol

@cat plombe : j'ai regardé mais en fait facetracknoir fait la même chose que freetrack (d'ailleurs facetracknoir implémente le protocol freetrack), donc j'ai le même problème sous freetrack

@Galileo : je connaissais pas les teensy. Ca à l 'air bien aussi. Toutefois, je n'ai aucun problème à faire reconnaitre mon arduino comme un joystick (avec le nombre d'axes et de bouton que je veux) sous windows, donc merci de l'info mais ça ne résout pas mon problème

@HudLx: Oui je connais ppjoy, et je sais que c'est interfaçable avec freetrack (et facetracknoir d'ailleurs) mais comme je le disais au dessus j'arrive déjà très bien à faire reconnaitre mon système comme un joystick donc pas besoin d'émulateur. C'est d'ailleurs comme ça je m'en sers sous DCS car on peut attitrer la vue à des axes joysticks, ce qui n'est pas le cas sous falcon bms (peut-être sous 4.33 qui sait?).

Bref à mon avis pour falcon pas de solution plus simple que celle présentée dans mon poste plus haut.

Mais en tout cas merci pour vos infos.

A+