VR920 headtracking driver for Linux
Som jeg lovet i VR920 Headtracking driver utvikling kommer her en brukbar versjon av min headtracking driver for Vuzix VR920 iwear for Linux. Igjen vil jeg takke MalMal av Vuzix forumene, fra hvis kode jeg var i stand til å lære å lese sensordataene ut av enheten via USB. For generell informasjon om hvordan du bruker enheten med Linux se: Vuzix VR920 med Linux og aktiv 3D stereo .
Jeg klarte å beregne yaw, pitch og roll fra akselerometeret og magnetometer data (Enheten har fått tre av hver). Dette gjør en 3DOF sporing mulig og vil tillate deg å se rundt i en 3D-scene.
Sjåføren sender sporingsdata via nettverket som UDP multicast , og dermed mange kunder kan lese dataene, noe som gjør parallellisering mer mulig, dvs. man kan bruke en maskin for rendering og en annen maskin for beregninger. I tillegg til dette, gjør tilnærming for å sende data ut via nettverk språket som brukes for å skrive søknaden uavhengige fra språket som brukes for å utvikle sjåføren.
Bruk:
./vr920-h vr920 [-h] [-?] [-m multicast ip] [-p multicast port] [-c calibrationfile]
På kommandolinja kan du angi en multicast-adresse og en port for å sende data til. Hvis du velger å ikke definere disse verdiene sjåføren vil sende sporingsdata til en fornuftig standard (224.0.0.42:4242). I alle fall, har klienten ved hjelp av sporingsdata til å bli den samme adressen med samme port. Du kan beslutte å ikke bruke ekte nettverket, hvis du bare vil bruke dataene på samme maskin. I dette tilfellet kan du bruke loopback nettverk.
Legg ruten for multicast-adressen til loopback-grensesnittet: rute add-host 224.0.0.42 lo
Slett rute: rute del-vert 224.0.0.42 lo
Etter gjennomføring sjåføren begynner det umiddelbart å sende trackingdata. Opprinnelig det begynner i "stille"-modus. Du kan aktivere / deaktivere skjermen ved å trykke på M-tasten. I monitor modus driveren viser vinkler for yaw, pitch og roll. Ved å trykke på C-tasten kan du aktivere / deaktivere kalibreringsmodus.
I kalibreringsmodus driveren viser den mest mengden av informasjon, vinklene for yaw, pitch og roll over normaliserte sensordata. Under minima / Maxima av sensorene blir displayed.The kalibrering arbeider ligner på Windows-driver, må man snu HMD (med side-stykker åpen) til det ikke minima / Maxima endringer lenger. Etterpå slår enheten fremover (den retningen hvor du ønsker å ha midten av visningen) og trykk på Z-tasten for å sette null retning. Når du har fullført kalibreringen trykk S for å lagre kalibreringen for fremtidig bruk. Til slutt trykker du på C-tasten igjen for å avslutte kalibreringsmodus.
Som standard kalibreringen blir lagret i filen. Vr920 i brukere hjemmet. Du kan angi et annet filnavn med-c. Hvis du gjør det denne filen vil også være i brukerens hjemmekatalog. For å bruke dvs. en global kalibrering fil må du oppgi fullstendig sti starter med en skråstrek.
Viktig merknad: Under kalibrering sørge for at displayet på enheten viser noe Siden vises ikke bare viser en blå skjerm påvirker sensordataene (i hvert fall med min enhet) vil du ende med feil kalibrering annet.. Du kan bruke f.eks nvidia-innstillinger for å sikre dette.
Jeg bestemte meg for å publisere føreren under Creative felles kommersiell lisens. Du kan laste ned full kilde herfra: vr920-driver (kilde) (666) , en x86_64 binær herfra: vr920-driver (x86_64 binært) (462) , eller en i686 binær herfra: vr920-driver (i686 binær) (408) . Flere binære formatene kan være tilgjengelig i fremtiden. Du må ha LibUSB og libconfig + + og libcurses installert på systemet ditt. Libconfig + + blir brukt til å lagre kalibreringsdata og libcurses for brukergrensesnittet. The x86_64 binære har blitt bygge på en oppdatert Gentoo-system, i686 binær på Ubuntu Hardy. For i686 binære må du installere libconfig + + dvs. libconfig + 6 _1.3.1-1 herfra: libconfig + + Hvis ingen av binærfiler fungerer for deg, kan du må bygge fra kilde ...
Ny versjon er tilgjengelig her.
Bygge fra kilde:
For å bygge fra kilde Pakk ut zip og cd til vr920 og kjøre gjøre. Hvis du bruker en binær basert distribusjon, må du ha utvik-versjonen av de nødvendige bibliotekene installert på systemet ditt.
Fremtidige planer:
I fremtiden planlegger jeg å utvide JPS betrakteren jeg publisert i SIV - en stereoskopisk JPS visningsprogram for Linux å bruke sporingsdata fra sjåføren, så man kan se rundt scenen ved å vri på hodet.
Oppdatering: Ny versjon av SIV med headtracking støtte er tilgjengelig på: SIV-1.0 sluppet
Fotnote:
Hvis du liker driveren, gjerne linke til www.mygnu.de . Hvis du utviklet et program som bruker sporingsdata gitt av sjåføren så legg igjen en kommentar, fordi da kan jeg vurdere søknaden og eventuelt skrive om det. Hvis du vil be kommersielle lisenser kontakt oss på info (at) mygnu.de. Vel, hvis du bare ønsker å støtte vårt arbeid på MyGNU.de bruke doner knappen ![]()
hilsen
Jürgen








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



































23 mars 2009 kl 03:13
Veldig kult! Jeg er nødt til å prøve dette ut i kveld.
Du er SIV JPS seer også høres veldig interessant.
Jeg har brukt en enkel stereo par visningsprogram for mine visning behov. Den støtter bare. Ppm-filer skjønt. Jeg var ute i den JPS format og fant nettstedet ditt ved et uhell. Dette er min lykkedag.
http://www-users.cs.umn.edu/ ~ wburdick / geowall / viewer.html
23 mars 2009 kl 23:40
Jeg har også snublet over visningen du nevnte, men siden de fleste stereo bilder er i JPS format det ikke statisfy meg. Den eneste JPS viever for linux jeg fant er gqview (med patch), men den støtter ikke quad buffered stereo (nødvendig for VR920). Vel, og fra å vise kilden virket det ikke så lett å integrere headtracking i visningen (som jeg jobber for tiden med for SIV). Så jeg bestemte meg for å skrive SIV ...
På den andre siden SIV har langt flere bibliotek avhengigheter til statisfy ...
Jeg håper sjåføren fungerer for deg. Det ville være fint om du kunne la noen tilbakemelding etter du har prøvd driveren, siden jeg kan bare teste det med min enhet og "min" Jorden magnetfelt.
Takk,
Jürgen
24 mars 2009 kl 16:04
Jeg prøvde din sjåfør i går kveld og det ser ut til å fungere.
Jeg bruker Debian Sid X86-64 og bygget det fra kilden.
Jeg er glad for å gi tilbakemelding. Hva slags informasjon er nyttig for deg? Jeg vet ikke i dag vet mye om magnetometers eller accellerometers men jeg vil se på saken.
I går kveld, tror jeg jeg så bevegelse på alle aksene.
Jeg har en Win2k maskin tilgjengelig som kan brukes til sammenligning med Vuzix sjåføren.
Jeg har ikke brukt vr920 mye på windows, men jeg var aldri i stand til å få en perfekt kalibrering for hodet sporing. I spillet Doom3, hvis jeg skulle se rett opp, ville utsikten flytte litt til side også. Jeg tror trådkorset var også litt Shakey. Kanskje andre programmer er bedre eller kanskje jeg bare dårlig på kalibrering
.
Jeg tror jeg leste et sted at dyrere HMD headtrackers har en annen sensor i tillegg accellerometers og magnetometer. Gyroskoper?
Jeg vet litt C. Jeg har lyst til å lære å bruke driveren.
Takk for dine hardt arbeid!
24 mars 2009 kl 11:12
Jeg er glad for å høre sjåføren fungerer for deg. Takk for tilbakemeldingene. Mest interessant ville være å vite hvor god kalibrering fungerer og hvor glatt og presis bevegelsen er. Hvis du har forslag hvordan man kan forbedre sjåføren, de er også velkommen
Vel, for å bedømme hvor god kalibrering fungerer og hvor glatt og presis bevegelse er, vil det trolig ikke være nok til å se data fra produksjonen. Best for dette ville være en applikasjon som bruker sporingsdata for visning manipulasjon. Kanskje du kan prøve å bygge SIV på din maskin. Dersom den faktiske versjonen kjører på systemet ditt (avhengigheter), den fremtidige versjonen med headtracking støtte vil også. Så når den nye versjonen er klar kan du sjekke bevegelsen, da.
For å lære å bruke driveren ta en titt på kildefilen democlient.cpp. Det bør være ganske lett å lese.
Kort sagt:
- Skape en multicast socket
- I hovedsak loopen lese struct TrackingData fra stikkontakten
- Lukk kontakten når du er ferdig
Lese data fra andre programmeringsspråk burde også fungere, men kan være litt problematisk (dvs. lite vs stor endian i java). Kanskje jeg bør også gi en java democlient ...
Jürgen
5 april 2009 kl 16:36
[...] Oppdatering: Min VR920 headtracking sjåføren er nå tilgjengelig her: VR920 headtracking driver for Linux [...]
5 april 2009 kl 11:08
Den nye versjonen av SIV er tilgjengelig nå, så hvis du vil, kan du prøve driveren med den.
Jürgen
6 april 2009 kl 08:48
[...] HMD. For dette trenger du (i tillegg til enheten) den headtracking sjåføren, publiserte jeg i VR920 headtracking driver for Linux. Du kan se en video (demo_siv_headtracking_vr920) av meg å bruke betrakteren med frigitt [...]
24 april 2009 kl 04:57 am
Hei, Jürgen, ønsker jeg å prøve Linux driver, men koblingen til sorce ikke fungerer nå, apeared noen php feil stedet driver kilde.
24 april 2009 kl 09:24 am
Jeg beklager det inntrufne. Nedlasting fungerer igjen.
16 juli 2009 kl 11:53 am
wow hvor kult at du har skrevet her hvordan prøver å få tilgang en VR920 videoeywear på linux. Respekt ...
17 juli 2010 kl 11:13
Du gjorde meg lyst til å kjøpe en av disse brillene.
Takk
30 august 2010 kl 08:31 am
Nice, fikk sjåføren jobber for deg? Er du bygge litt spesiell søknad med vr920 på linux?
6 september 2010 kl 08:35
Gratulerer til initiativ og godt arbeid!
Jeg tenker på hvordan å lage Flightgear og vr920 komme til en enighet (minst kompromiss) på:
- 3D stereo (jeg har ingen anelse om dette, hvor starter jeg flytur utstyret for seg openscenegraph nvidia driveren xorg???)
- Head tracking (for dette kanskje skrive en "falsk joystick" driver å motta dataene driveren sender ut ...)
6 september 2010 kl 22:33
eksport OSG_STEREO_MODE = ANAGLYPHIC; eksport OSG_STEREO = PÅ
7 september 2010 kl 11:21
Jeg prøvde Flightgear i quad bufferred stereo modus med openscenegraph-2.8.2. Dette fungerte ikke (ingen stereo-display og gale grafikk). (Se kommentar 2 av http://www.mygnu.de/index.php/2010/03/flightgear-2-0-0-on-gentoo/ ). Anaglyph stereo fungerer, men er ikke den rette veien for meg, med en enhet som vr920 det bør være ekte stereo (eksport OSG_STEREO_MODE = QUAD_BUFFER FGFs), som mislykkes med Flightgear. Fra mine erfaringer feilen skal være i openscenegraph eller Flightgear. Jeg aner ikke hvor man kunne begynne å søke etter det. Jeg vet ikke mistenker føreren for å være ansvarlig for det, siden jeg brukte quad bufferred stereo i enkelte linux prosjekter (med og uten openscenegraph) og aldri hatt dette problemet. Som jeg skrev, da Flightgear jobber i stereo Jeg ønsker å gjennomføre headtracking funksjonen for Flightgear. Det bør være rett frem, det samme tilnærmingen jeg brukte i SIV, min JPS viewer. Få dataene fra sjåføren via multicast kontakten og bruke den til å rotere OSG kameraet. Hvis du er interessert i hvordan det fungerer, se på SIV kilden (VR920TrackingManipulator.cpp). En falsk joystick sjåfør kan bare gi halvparten av opplevelsen. Etter min mening den viktigste problemet med tracking-teknologi er at det ikke er produsenten uavhengig grensesnitt (som vi har for joysticker) for det, så et program har å støtte hver sporing enhet separat. Men jeg har heller ikke en idé hvor du skal begynne å bringe en slik standard på vei. Kanskje hvis andre er involvert i å spore driver utviklingen lese dette og er enige om å samarbeide om det, kan dette være den rette måten å starte.
5 november 2010 kl 2:30 am
[...] År jeg publiserte den første versjonen av min linux headtracking driver for VR920 HMD her. For tiden er jeg arbeider med en ny driver versjon som vil ha følgende ekstra [...]
8 mai 2012 kl 05:41
Jeg har problemer med å complie kilden på min Ubuntu 11.10. Jeg installerte alle nødvendige pakkene, men alltid får denne feilmeldingen: http://nopaste.info/d816553a72.html
Kan du fortelle meg hva problemet er?
8 mai 2012 kl 06:02
Hei fabske,
Jeg er ikke i stand prøve dette ut, siden min bare Ubuntu systemet er fortsatt kjører 10.04 LTS. Med 10,04 versjonen driveren kompilerer, samt med en gjeldende Gentoo Linux. Vel, i Ventura foreslått en patch for Makefile. Jeg antar han har fått den samme feilen som deg. Derfor foreslår jeg å prøve seg frem, og du rapportere etterpå hvis det fungerte for Ubuntu 11.10. Kan du også legge produksjonen av pkg-config sikring-cflags-libs, vennligst (det er to minus tegn før cflags og libs, klippe og lime fra nettleseren fungerer ikke)?
Jürgen
9 mai 2012 kl 11:35 am
Hei Jürgen!
Jeg vet ikke nøyaktig hvordan å lappe, men som jeg ser forskjellen er bare:
g + +-Wall `pkg-config sikring-cflags`-O2-o vrtrack vrtrack.cpp `pkg-config sikring-libs`-lpthread-lconfig + +-lusb
Hvis jeg legger inn dette på bash min jeg fremdeles får samme feil ..
pkg-config sikringen-cflags-libs:
-D_FILE_OFFSET_BITS = 64 -I/usr/include/fuse-pthread-lfuse-LRT-LDL
Alle: http://nopaste.info/0a7d74e5e8.html
9 mai 2012 kl 12:01
Hei fabske,
prøv å inkludere stddef.h. Det synes å være den offsetof makroen savnede, som er definert der. Sannsynligvis det blir inkludert som en avhengighet på mine systemer eller er definert et annet sted, også. Virker dette?
Jürgen
9 mai 2012 kl 13:43
Faktisk! Jeg trengte å inkludere # inkludere og å endre Makefile og nå det fungerer!
Mer eller mindre .. Jeg har andre briller, min heter Wrap 920!
Jeg byttet nå produkt-IDen til 0x014b i vrtrack.cpp men får en feilmelding:
USB feil: kunne ikke sette config 1: Enhet eller ressurs opptatt
Propably den usb_interrupt_read () er å lage bråk?
9 mai 2012 kl 01:44
Faktisk! Jeg trengte å inkludere og å endre Makefile og nå det fungerer!
Mer eller mindre .. Jeg har andre briller, min heter Wrap 920!
Jeg byttet nå produkt-IDen til 0x014b i vrtrack.cpp men får en feilmelding:
USB feil: kunne ikke sette config 1: Enhet eller ressurs opptatt
Propably den usb_interrupt_read () er å lage bråk?
9 mai 2012 kl 01:53
Godt å vite at dette fungerer. Jeg beklager, men Wrap 920 støttes ikke av føreren, men likevel. Siden jeg ikke har noen av disse, er det ingenting jeg kan gjøre med dette i dag. Kanskje jeg kan gjøre noe i nær fremtid, men dette er ikke sikker ennå. Når jeg kan fortelle mer vil det være nyheter på bloggen.
Jürgen
9 mai 2012 kl 16:48
Bryt 920 burde fungere, men det synes å være en bug. Hver 3 sek brillene slå av og på
http://micolous.id.au/archives/2011/04/17/vuzix-wrap-920-vga-linux/~~V
Synes å være beslektet med HID sjåføren.