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.
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.
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 ...
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 ![]()
venlig hilsen
Jürgen






![Valider min RSS-feed [Valid RSS]](http://validator.w3.org/feed/images/valid-rss.png)



































23 Marts, 2009 kl 03:13
Meget cool! Jeg er nødt til at prøve dette ud i aften.
Du er SIV JPS fremviser også lyder meget interessant.
Jeg har brugt en simpel stereopar fremviser for min visning behov. Det understøtter kun. Ppm filer selv om. Jeg kiggede ind i JPS format og fandt dit websted ved et uheld. Dette er min heldige dag.
http://www-users.cs.umn.edu/ ~ wburdick / geowall / viewer.html
23 Marts, 2009 kl 23:40
Jeg snublede over fremviseren, du nævnte, men da de fleste stereo billeder er i JPS formatere den ikke statisfy mig. Den eneste JPS viever til linux jeg har fundet er gqview (med plaster), men det understøtter ikke quad buffered stereo (nødvendig for VR920). Nå, og fra at se kilden virkede det ikke så let at integrere headtracking i beskueren (som jeg i øjeblikket arbejder på i SIV). Så jeg besluttede at skrive SIV ...
På den anden side SIV har langt større bibliotek afhængigheder statisfy ...
Jeg håber, at driveren virker for dig. Det ville være rart hvis du kunne forlade nogle feedback efter du har prøvet driveren, da jeg kun kan teste det med min enhed og "min" Jordens magnetfelt.
Thanks,
Jürgen
24 Marts 2009 kl 16:04
Jeg prøvede din driver i aftes, og det synes at virke.
Jeg bruger Debian Sid X86-64 og bygget den fra din kilde.
Jeg er glad for at give feedback. Hvilken slags oplysninger er nyttige for dig? Jeg ved ikke i øjeblikket ved meget om magnetometre eller accellerometers men jeg vil se på det.
I går aftes, jeg tror jeg så bevægelse på alle akser.
Jeg har en Win2k maskine til rådighed, der kan bruges til sammenligning med vuzix driver.
Jeg har ikke brugt vr920 meget på vinduer, men jeg var aldrig i stand til at få en perfekt kalibrering til hovedet sporing. I spillet Doom3, hvis jeg skulle kigge lige op ville det synspunkt, at flytte lidt til side, så godt. Jeg tror, at trådkors var også lidt Shakey. Måske andre programmer er bedre eller måske er jeg bare dårlig til kalibrering
.
Jeg tror, jeg læste et sted, at dyrere HMD headtrackers har en anden sensor udover den accellerometers og magnetometer. Gyroskoper?
Jeg kender en lille C. Jeg vil gerne lære, hvordan du bruger din driver.
Tak for dit hårde arbejde!
24 Marts 2009 kl 11:12
Jeg er glad for at høre driveren virker for dig. Tak for feedback. Mest interessant ville være at vide, hvor god kalibrering fungerer, og hvordan jævn og præcis bevægelse. Hvis du har forslag til hvordan man kan forbedre føreren, er de også velkomne
Nå, for at bedømme hvor godt kalibrering fungerer, og hvordan jævn og præcis bevægelse er, vil det sandsynligvis ikke være nok til at se data fra output. Bedst til dette ville være et program, der bruger sporingsdata for udsigt manipulation. Måske kan du prøve at bygge SIV på din maskine. Hvis den faktiske versionen kører på dit system (afhængigheder), den fremtidige version med headtracking støtte vil også. Så når den nye version er klar du kan kontrollere bevægelsen, da.
For at lære at bruge driveren have et kig på kildefilen democlient.cpp. Det bør være ganske let at læse.
Kort sagt:
- Skabe en multicast socket
- I hovedsagen loop læse struct TrackingData ud af stikkontakten
- Luk stikket når du er færdig
Læsning af data fra andre programmeringssprog bør også arbejde, men kan være lidt problematisk (dvs. lille kontra big endian i Java). Måske skulle jeg også give en java democlient ...
Jürgen
5 April, 2009 kl 16:36
[...] Update: Min VR920 headtracking driver er nu tilgængelig her: VR920 headtracking driver til Linux [...]
5 April, 2009 kl 11:08
Den nye version af SIV er til rådighed nu, så hvis du har lyst, kan du prøve at føreren med det.
Jürgen
6 April 2009 kl 08:48
[...] HMD. Til dette vil du har brug for (i tillæg til enheden) den headtracking chaufføren, jeg er offentliggjort i VR920 headtracking driver til Linux. Du kan se en video (demo_siv_headtracking_vr920) af mig at bruge seeren med aktiveret [...]
24 april 2009 kl 04:57
Hej, Jürgen, jeg vil prøve din Linux-driver, men link til sorce ikke fungerer nu, nogle php fejl apeared stedet driver kilde.
24 april 2009 kl 09:24
Jeg beklager ulejligheden. Downloading virker igen.
16 Juli 2009 kl 11:53
wow hvor fedt, at du har skrevet her, hvordan du acess en VR920 videoeywear på Linux. Respekt ...
17 Juli 2010 kl 11:13
Du fik mig lyst til at købe en af disse briller.
Tak
30 august 2010 kl 08:31
Nice, havde chaufføren arbejde for dig? Er du bygge nogle særlige ansøgning til vr920 på Linux?
September 6, 2010 kl 08:35
Tillykke til initiativ og gode arbejde!
Jeg tænker på hvordan man kan gøre FlightGear og vr920 kommer til en aftale (i det mindste kompromis) på:
- 3D-stereo (jeg har ingen anelse om det, hvor skal jeg starte flyvning indrette sig openscenegraph nvidia xorg?????)
- Head tracking (for denne måske skrive en 'falsk joystick "fører til at modtage de data, din driver sender ud ...)
September 6, 2010 kl 22:33
eksport OSG_STEREO_MODE = ANAGLYPHIC; eksport OSG_STEREO = ON
7 september 2010 kl 11:21
Jeg prøvede FlightGear i quad bufferred stereo mode med openscenegraph-2.8.2. Det virkede ikke (ingen stereo display og forkert grafik). (Se kommentar 2 af http://www.mygnu.de/index.php/2010/03/flightgear-2-0-0-on-gentoo/ ). Anaglyph stereoanlæg fungerer, men er ikke den rigtige vej for mig, med en anordning, som vr920 der bør være ægte stereo (eksport OSG_STEREO_MODE = QUAD_BUFFER fgfs), som mislykkes med FlightGear. Fra mine erfaringer fejlen skal være i openscenegraph eller FlightGear. Jeg har ingen idé om hvor man kunne begynde at søge efter den. Jeg har ikke mistanke om, at føreren til at være ansvarlig for det, da jeg brugte quad bufferred stereo i nogle linux projekter (med og uden openscenegraph) og aldrig haft dette problem. Som jeg skrev, når FlightGear arbejder i stereo, jeg gerne vil gennemføre headtracking funktionen for FlightGear. Det bør være lige frem, den samme tilgang, jeg brugte i SIV, min JPS beskueren. Hent data fra føreren via multicast socket og bruge den til at rotere OSG kameraet. Hvis du er interesseret i, hvordan det virker, se på SIV kilden (VR920TrackingManipulator.cpp). En falsk joystick føreren kan kun give halvdelen af oplevelsen. Efter min mening er det store problem med tracking teknologi er, at der ikke er nogen producent uafhængige grænseflade (som vi har for joysticks) for det, så en ansøgning er at støtte hver tracking-enhed separat. Men jeg har heller ikke en idé om hvor du skal begynde at bringe en sådan standard på vej. Måske hvis andre involveret i at spore driver udviklingen læser dette og er enige om at arbejde sammen om det, kunne dette være den rigtige måde at starte.
5 Nov, 2010 kl 02:30
[...] År, jeg udgav den første version af min linux headtracking driver til VR920 HMD her. I øjeblikket arbejder jeg på en ny driver version, som vil have følgende yderligere [...]