VR920 headtracking driver til Linux

Som jeg lovede i VR920 Headtracking driver udviklingen her kommer en brugbar version af min headtracking driver til den Vuzix VR920 iWear til Linux. Igen vil jeg gerne takke MalMal af Vuzix Forums, fra hvis koden var jeg i stand til at lære at læse sensor data ud af enheden via USB. For generel information om, hvordan du bruger enheden med Linux se: Vuzix VR920 med Linux og aktive 3D stereo .

Det lykkedes mig at beregne giring, hældning og rulning fra accelerometer og magnetometer data (Enheden har fået tre af hver). Dette gør en 3DOF sporing muligt og vil give dig mulighed for at kigge rundt i en 3D-scene.

Chaufføren sender spore data via netværk som UDP multicast , hvilket mange kunder kan læse data, hvilket gør parallelisering mere muligt, dvs man kunne bruge en maskine til rendering og en anden maskine til beregninger. I tillæg til dette, gør tilgangen til at sende data ud via netværk sproget til at skrive ansøgningen uafhængig af sprog, der anvendes til udvikling af føreren.

Tracking data, der sendes til de kunder, der indeholder de tre vinkler, yaw, pitch og roll og for nem brug en viewmatrix, kan man direkte bruge med scenegraph biblioteker. Hvis du ønsker at udvikle en applikation vha. headtracking af VR920 se filen democlient.cpp inkluderet i download for detaljer om hvordan man får data ind i din ansøgning.
Nedenfor er et screenshot af føreren under kalibreringen:
vr920 driver1 VR920 headtracking driver for Linux
vr920 føreren under kalibrering (screenshot)

Usage:

./vr920-h vr920 [-h] [-?] [-m multicast ip] [-p multicast port] [-c calibrationfile]

På commandline kan du angive en multicast-adresse og en port til at sende data til. Hvis du vælger ikke at definere disse værdier føreren vil sende sporingsdata til en fornuftig standard (224.0.0.42:4242). Under alle omstændigheder har kunden ved hjælp af tracking data til at deltage i den samme adresse med den samme port. Du kan vælge ikke at bruge rigtige netværk, hvis du kun vil bruge data på samme maskine. I dette tilfælde kan du bruge loopback netværk.

Tilføj rute til multicast-adresse til loopback interface: route add-host 224.0.0.42 lo

Slet rute: Ruten del-vært 224.0.0.42 lo

Efter udførelsen af ​​føreren den straks begynder at sende trackingdata. I første omgang starter i "tavse" mode. Du kan aktivere / deaktivere skærmen ved at trykke på M-tasten. I monitor-modus føreren viser vinkler for yaw, pitch og roll. Ved at trykke på C-tasten kan du aktivere / deaktivere kalibrering mode.

I kalibreringsmodus føreren viser de mest mængden af ​​oplysninger, vinkler for giring, hældning og rulning over de normaliserede sensor data. Under minima / maksima af sensorerne bliver displayed.The kalibrering arbejder svarer til Windows-driver, er man nødt til at vende rundt i HMD (med side-stykker open), indtil der ikke minima / maksima ændringer længere. Bagefter tænder enheden fremad (den retning, du ønsker at have i midten af dit synspunkt), og tryk på Z-tasten for at indstille nul retning. Når du har fuldført kalibrering trykke på S for at gemme kalibreringen til senere brug. Endelig skal du trykke på C-tasten igen for at afslutte kalibreringen mode.

Som standard kalibreringen bliver gemt til filen. Vr920 i brugerens hjem. Du kan angive et andet filnavn ved hjælp af-c option. Hvis du gør det denne fil, vil også være i brugernes hjem. For at bruge dvs en global kalibrering fil, du er nødt til at angive den fulde sti begynder med en skråstreg.

Vigtig bemærkning: Under kalibreringen sørge for, at enhedens skærm er at vise noget Siden viser ikke kun viser en blå skærm påvirker sensoren data (i hvert fald med min enhed) du vil ende med forkert kalibrering andet.. Du kan bruge dvs nvidia-indstillinger for at sikre dette.

Download: 88x31 VR920 headtracking driver for Linux Commercial license button VR920 headtracking driver for Linux

Jeg besluttede at offentliggøre føreren under Creative fælles ikke-kommercielle licens. Du kan downloade den fulde source herfra: vr920-driver (kilde) (616) , en x86_64 binære herfra: vr920-driver (x86_64 binær) (431) , eller en i686 binær herfra: vr920-driver (i686 binær) (374) . Flere binære formater kan være til rådighed i fremtiden. Du skal have libusb, libconfig + + og libcurses installeret på dit system. Libconfig + + bliver brugt til at gemme kalibreringsdata og libcurses for brugergrænsefladen. Den x86_64 binære er bygget på et up to date Gentoo system, i686 binære på Ubuntu Hardy. For i686 binære skal du installere libconfig + + dvs libconfig + 6 _1.3.1-1 fra her: libconfig + + Hvis ingen af de binære filer virker for dig, kan du nødt til at bygge fra kilden ...

Ny version tilgængelig her.

Bygning fra kilde:

For bygning fra kilden Pak zip og CD til vr920 og køre gør. Hvis du bruger en binær baseret distribution, så sørg for du har den udviklet version af den nødvendige biblioteker installeret på dit system.

Fremtidige planer:

I fremtiden vil jeg planlægger at udvide JPS beskueren jeg offentliggjorde i SIV - et stereoskopisk JPS viewer til Linux til at bruge spore data fra føreren, så man kan se sig omkring scenen ved at dreje hovedet.

Update: Ny version af SIV med headtracking support er tilgængelig på: SIV-1.0 frigivet

Fodnote:

Hvis du kan lide føreren, er du velkommen til at linke til www.mygnu.de . Hvis du har udviklet en applikation ved hjælp af tracking data, som føreren kan du efterlade en kommentar, fordi så kan jeg gennemgå ansøgningen og i sidste ende skrive om det. For at anmode om kommercielle licenser kontakte os på info (at) mygnu.de. Tja, hvis du blot ønsker at støtte vores arbejde på MyGNU.de bruge donere knappen icon wink VR920 headtracking driver for Linux

venlig hilsen

Jürgen

websted info

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