VR920 pilote headtracking pour Linux

Comme je l'ai promis dans le développement de pilote VR920 Headtracking voici une version utilisable de mon chauffeur headtracking pour l'iWear Vuzix VR920 pour Linux. Encore une fois je tiens à remercier MalMal des Forums Vuzix, dont le code à partir, j'ai pu apprendre à lire les données du capteur de l'appareil via le port USB. Pour des informations générales sur la façon d'utiliser l'appareil avec Linux, on trouve: Vuzix VR920 avec un son stéréo 3D sous Linux et active .

J'ai réussi à calculer lacet, roulis et tangage à partir des données de l'accéléromètre et magnétomètre (Le dispositif a eu trois de chaque). Ce qui fait un suivi 3DOF possible et vous permettra de regarder autour d'une scène 3D.

Le pilote envoie les données de suivi via le réseau comme UDP multicast , donc de nombreux clients peuvent lire les données, ce qui rend la parallélisation plus possible, c'est à dire, on pourrait utiliser une machine pour le rendu et une autre machine pour les calculs. En plus de cela, l'approche d'envoyer les données via le réseau à fait le langage utilisé pour écrire l'application indépendante de la langue utilisée pour le développement du pilote.

Les données de suivi envoyés aux clients contient les trois angles, lacet, roulis et tangage et pour une utilisation facile viewmatrix, on peut utiliser directement avec les bibliothèques Scenegraph. Si vous avez l'intention de développer une application utilisant le headtracking de l'VR920 voir le fichier democlient.cpp inclus dans le téléchargement pour plus de détails sur la façon d'obtenir les données dans votre application.
Ci-dessous une capture d'écran du pilote lors de l'étalonnage:
vr920 driver1 VR920 headtracking driver for Linux
VR920 pilote lors de l'étalonnage (screenshot)

Utilisation:

./vr920-VR920 h [-h] [-?] [-m multidiffusion IP] [-p port de multidiffusion] [-c calibrationfile]

Sur la ligne de commande, vous pouvez spécifier une adresse multicast et un port pour envoyer les données. Si vous choisissez de ne pas définir ces valeurs, le pilote va envoyer les données de suivi à un défaut sane (224.0.0.42:4242). En tout cas, le client en utilisant les données de suivi a pour rejoindre la même adresse avec le même port. Vous pouvez décider de ne pas utiliser le réseau réel, si vous souhaitez utiliser uniquement les données sur la même machine. Dans ce cas, vous pouvez utiliser un réseau de bouclage.

Ajouter l'itinéraire pour l'adresse multicast de l'interface loopback: route add-host 224.0.0.42 lo

Supprimer la route: route del-hôte 224.0.0.42 lo

Après l'exécution du pilote qu'il commence immédiatement à envoyer le trackingdata. Initialement, il commence en mode «silencieux». Vous pouvez activer / désactiver le mode moniteur en appuyant sur ​​la touche M. En mode moniteur du pilote affiche les angles pour lacet, de tangage et de roulis. En appuyant sur ​​la touche C, vous pouvez activer / désactiver le mode de calibrage.

En mode d'étalonnage du pilote affiche la plus grande quantité d'informations, les angles de lacet, roulis et tangage au-dessus des données du capteur normalisé. Ci-dessous des minima / maxima des capteurs sont en cours de calibrage displayed.The travaux similaires pour le conducteur fenêtres, on doit tourner autour de la HMD (avec les pièces latérales ouvertes) jusqu'à ce qu'aucune modification des minima / maxima plus. Ensuite tournez l'appareil vers l'avant (la direction où vous voulez avoir le centre de la vue) et appuyez sur la touche Z pour définir la direction à zéro. Lorsque vous avez terminé de presse de calibrage S pour stocker l'étalonnage pour une utilisation future. Enfin, appuyez sur la touche C pour quitter le mode étalonnage.

Par défaut, l'étalonnage est sauvegardé dans le fichier. VR920 dans la maison des utilisateurs. Vous pouvez spécifier un nom différent en utilisant l'option-c. Si vous le faites ce fichier sera également dans l'accueil des utilisateurs. Pour utiliser soit un fichier de calibration globale, vous devez spécifier le chemin complet commençant par un slash.

Note importante: Lors de l'étalonnage de s'assurer que l'affichage de l'appareil est quelque chose d'affichage Puisque les affichages montrant non seulement un écran bleu influences les données du capteur (au moins avec mon appareil) vous finirez avec un étalonnage erroné d'autre.. Vous pouvez utiliser soit nvidia-settings pour garantir cela.

Téléchargement: 88x31 VR920 headtracking driver for Linux Commercial license button VR920 headtracking driver for Linux

J'ai décidé de publier le conducteur sous la licence creative non commerciale commune. Vous pouvez télécharger le source complet d'ici: VR920-pilote (source) (625) , un binaire x86_64 partir d'ici: VR920-pilote (binaire x86_64) (435) , ou un binaire i686 partir d'ici: VR920-pilote (i686 binaire) (380) . Plus les formats binaires peuvent être disponibles dans le futur. Vous avez besoin d'libusb, libconfig + + et libcurses installé sur votre système. Libconfig + + est utilisé pour stocker les données d'étalonnage et libcurses pour l'interface utilisateur. Le binaire x86_64 a été construit sur une mise à jour système Gentoo, le binaire i686 sur Ubuntu Hardy. Pour les binaires i686, vous aurez besoin d'installer libconfig + + + ie libconfig 6 _1.3.1-1 d'ici: libconfig + + Si aucun des binaires fonctionne pour vous, vous pourriez avoir à compiler depuis les sources ...

Nouvelle version disponible ici.

Compilation des sources:

Pour la construction du déballage source du zip et cd pour VR920 et exécutez make. Si vous utilisez une distribution binaire basée, assurez-vous d'avoir la version développement des bibliothèques nécessaires installées sur votre système.

Plans d'avenir:

Dans l'avenir, je projette d'étendre le spectateur JPS j'ai publié dans SIV - une visionneuse stéréoscopique jps pour Linux d'utiliser les données de suivi à partir du pilote, donc on peut regarder autour de la scène en tournant la tête.

Mise à jour: Nouvelle version de SIV avec le soutien headtracking est disponible à: SIV-1.0 est sorti

Note:

Si vous aimez le pilote, n'hésitez pas à lier à la www.mygnu.de . Si vous avez développé une application en utilisant les données de suivi fournies par le conducteur s'il vous plaît laissez un commentaire, car alors je ne peux examiner la demande et éventuellement écrire à ce sujet. Pour demander des licences commerciales à nous contacter à info (at) mygnu.de. Eh bien, si vous voulez juste de soutenir notre travail sur MyGNU.de utiliser le bouton Faire un don icon wink VR920 headtracking driver for Linux

Cordialement

Jürgen

 VR920 headtracking driver for Linux
19/03/2009

mygnu d'info

déploiement blogue

Infos du site

Trans Lator

English flagItalian flagKorean flagChinese (Simplified) flagChinese (Traditional) flagPortuguese flagGerman flagFrench flag
Spanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagHindi flagPolish flagRomanian flagSwedish flagNorwegian flag
Catalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flag
Slovenian flagUkrainian flagVietnamese flag