Som jag lovade i Ny version av vr920 headtracking föraren kommer snart här är den nya versionen av min headtracking drivrutin för Vuzix VR920 iWear för Linux. Den beräknar gir, lutning, roll från accelerometern och data magnetometer (Enheten har fått tre av varje). Detta gör en 3DOF spårning möjligt och ger dig möjlighet att titta runt i en 3D-scen. I exempel kan du använda drivrutinen med min stereoskopisk bildvisare SIV . Föraren genomsnitt sensorn avläsningar med en förbättrad algoritm som ger en mycket smidigare än med den ursprungliga version av drivrutinen. Föraren Paketet består av en demon som kan köras i bakgrunden och för enkelhetens skull en grundläggande kontroll program som gör det möjligt att enkelt justera de olika drivrutinsinställningar och callibrate enheten. För allmän information om hur du använder enheten med Linux se: Vuzix VR920 med Linux och aktiv 3D stereo .
Föraren ger trackingdata i olika format till ansökan att använda det. Det skriver alltid data till / dev / headtracking. En linje läsa från / dev / vrtrack består av sex flottörer som motsvarar en sensor läser i detta format:
gir stigning rulle xyz
Gir, lutning, roll är vinklar från 0 till 360 grader. X, y och z är alltid noll för vr920, eftersom den endast kan hantera tre frihetsgrader. Dessa värden är reserverade för framtida enheter som kan stödja sex frihetsgrader, i hopp att föreslå en standard för spårning enheter.
Föraren kan skala mätvärdena och vänd axlarna självständigt för att få den nödvändiga värdeområde för den använda program och en behaglig upplevelse.
För maximal kompatibilitet med befintliga program finns det fyra andra driftlägen tillgängliga som kan aktiveras separat:
- Joystick emulering
Föraren emulerar en joystick enhet / dev / input / jsX. Avläsningarna för gir, stigning och valsen är på X-, Y-och Z-axeln hos den emulerade styrspaken. Detta kan användas för att möjliggöra grundläggande headtracking stöd i spel som inte naturligt stöd headtracking.
- Mus-emulering
Föraren emulerar en joystick enhet / dev / input / mouseX. De värden för gir-och delning översätts till X och Y i musenhet, så när du ser rätt dragen muspekaren åt höger och när du tittar upp pekaren rör sig uppåt och vice versa. Detta kan också användas för att möjliggöra grundläggande headtracking stöd i spel som inte naturligt stöd headtracking. Den kan också användas för att precis styra muspekaren av fönstersystemet. Styrning av synporten för fönstret systemet kan också vara en resonabel ändamål. Med den nya MPX förlängningen i xorg detta kan vara möjligt.
- UDP - nätverk
I UDP läge föraren skickar spårning data via nätverket som UDP unicast. Metoden för att skicka data ut via nätet gör det språk som används för att skriva programmet oberoende från det språk som används för att utveckla föraren. Paketet som sänts till klienterna innehåller de tre vinklar, gir, lutning och valsen och x, y och z som 32 bitars fast punkt i Q16.16-format. Detta läge kan säga används för att styra flightgear.
- Multicast - nätverk
I multicast-läge föraren skickar spårning data via nätverket UDP multicast, därmed många kunder kan läsa data, vilket gör parallellisering mer möjligt, dvs man kan använda en maskin för rendering och en annan maskin för beräkningar. Utöver detta gör att metoden att skicka data ut via nätverk det språk som används för att skriva programmet oberoende från det språk som används för att utveckla föraren. Uppföljningsnumren data som skickas till kunderna innehåller tre vinklar, gir, lutning, roll och för enkel användning en viewmatrix kan man direkt använda med scenegraph bibliotek. Om du tänker att utveckla ett program med headtracking av VR920 se filen democlient.cpp som ingår i nedladdningen för information om hur man får data till din ansökan. Detta läge används av stereoskopiska bilden betraktaren SIV .
Nedan är en skärmdump av kontroll ansökan under callibration av en vr920 enhet:
-
vrtrack föraren under kalibrering (skärmdump)
Viktigt: Vid kalibrering se till att displayen på enheten visar något Då visas inte bara visar en blå skärm påverkar sensordata (åtminstone med min enhet) du kommer att sluta med felaktig kalibrering annat.. Du kan använda IE nvidia-settings för att säkerställa detta. För detaljerade bruksanvisningar se readme som ingår i nedladdningen.
Ladda ner:
Jag bestämde mig för att publicera föraren Creative Common icke-kommersiell licens. Du kan hämta den fullständiga källan härifrån: vrtrack-1.0.tar.gz (390) , en x86_64 binär härifrån: vrtrack-1.0-x86_64.tar.gz (321) , eller en i686 binär härifrån: vrtrack-1.0- x86.tar.gz (327) . En Archlinux PKGBUILD från Feilen finns här: aur.archlinux.org Fler binära / distribution specifika format kan vara tillgängliga i framtiden. Den x86_64 binära har byggts på en uppdaterad Gentoo systemet, i686 binära på Ubuntu Hardy. För i686 binära får du installera libconfig + + dvs libconfig + 8 _1.3.2-2 härifrån: libconfig + + Om inget av binärer fungerar för dig, kan du behöva bygga från källkod ...
Du måste ha libusb, libconfig + +, libfuse och libcurses installerade på ditt system. För ubuntu-användare jag tagit det lilla ubuntu_install_deps.sh shell script som installerar beroenden. Kanske det fungerar även för andra Debian-baserade distributioner. Gentooanvändare måste bara se till att libusb och ncurses, säkring, och libconfig har uppstått. Din kärna version måste vara minst 2.6.31 och du måste ha Cuse aktiverat i din kärna.
Fotnot:
Om du gillar föraren, gärna länka till www.mygnu.de . Om du har utvecklat en tillämpning som använder spårning uppgifter som föraren lämna gärna en kommentar, för då kan jag se över tillämpningen och så småningom skriva om det. För att begära kommersiella licenser kontakta oss på info (at) mygnu.de. Tja, om du bara vill stödja vårt arbete MyGNU.de använda Donera-knappen 
vänliga hälsningar
Jürgen
Laddar ... Posted in 3d och drivrutiner och spel och hårdvara och linux och programmering | 19 kommentarer »