Om VR, del 3: Tracking

För att VR-systemet ska kunna anpassa den virtuella miljön efter användaren behövs tekniker för att hålla reda på var användaren befinner sig, vad dennes ögon och händer håller på med och så vidare. Sådana tekniker faller under området "tracking".

När du tittar på något objekt i verkliga världen och samtidigt rör ditt huvud litet i sidled så ser du naturligtvis att din bild av objektet förändras litet. Samma effekt vill man återskapa inom VR eftersom den är mycket viktig för den virtuella miljöns trovärdighet. För att kunna göra detta måste VR-systemet på något sätt hålla reda på användarens huvuds position och orientering. Detta kallas tracking och är ett stort område inom VR, eftersom alla system som inte bildar äkta tredimensionella modeller av den virtuella miljön (och ibland de också) behöver använda det.

Det finns några viktiga egenskaper som ett bra trackingsystem ska uppfylla:

  • Stor noggrannhet. Man vill inte att systemet ska producera så stora mätfel att den resulterande renderingen blir lidande.
  • Snabbhet. Systemet måste omdedelbart bli varse om att användaren har rört på sig för att kunna utföra nödvändiga kompenseringar eller andra beräkningar.
  • Hög uppdateringsfrekvens. För att uppfatta snabba huvudrörelser och liknande måste trackingsystemet mäta positioner med mycket korta intervall.
  • Schysst räckvidd. Användaren vill ju inte känna sig begränsad av trackingutrustningen, och därför behövs en bra räckvidd. Denna beror naturligtvis på den individuella tillämpningen.

Flera olika typer av trackinglösningar finns, och jag tänkte överskådligt beskriva sådana som bygger på mekanik, ultraljud, tröghet, elektromagnetism, bilder och laser.

Mekaniska trackingsystem

Den enklaste formen av trackingsystem bygger på en mekanisk lösning, där den punkt man vill spåra är fysiskt kopplad till datorn genom en ledad arm. Armens segment har kända längder och ledernas vinkelförändringar mäts på elektromekanisk väg. Av naturliga skäl är denna typ av lösning inte den bästa för att mäta användarens huvuds position.

Ultraljudstracking

Det faktum att ljud har en känd hastighet i luft kan utnyttjas för tracking. Om man låter användaren ha en hjälm med små ultraljudshögtalare på som hela tiden sänder ut en signal, så kan man låta fasta mikrofoner på kända positioner ta upp ljuden och mäta tidsskillnader för att få fram en position för varje högtalare. Minst tre mikrofoner krävs förstås för att man ska kunna få ut en 3D-position.

Om man vill mäta mer än bara en position, till exempel hur användaren vrider på sin hand, kan det bli litet problematiskt att använda en ultraljudslösning beroende på att avståndet mellan högtalarna måste vara ganska stort för att man ska få en godtagbar noggrannhet. Ett annat problem är de störningar som kan uppstå om ljudet blockeras av någon anledning (till exempel om användaren håller en arm i vägen).

Tröghetsnavigering

Det finns en metod som kallas för tröghetsnavigering och som mäter acceleration och rotationshastighet hos den sensor som användaren har på sig genom att använda gyroskop och accelerometrar. Systemet utgår i från ett startläge varpå alla beräkningar bygger, vilket tyvärr medför att små mätfel tenderar att ackumuleras och bli stora fel ganska snabbt. I övrigt är metoden rimligt snabb och har en hög uppdateringsfrekvens.

Hybridtrackingsystem

För att komma runt de individuella nackdelar som respektive trackingmetod har brukar man använda sig av hybridlösningar. Genom att kombinera ultraljudsteknik med tröghetsnavigering får man ett system som svarar snabbt på förändringar och har en bra uppdateringshastighet samtidigt som det kan eliminera ackumulering av fel genom att stämma av med ultraljudsignaler och därmed inte kräver någon känd startpunkt. Dessutom är det inte lika känsligt för att ljudets bana hindras av användaren eller omgivningen. Ett sådant system skulle också kunna mäta elektromagnetiska fält (se nedan) för att få ännu högre noggrannhet.

Det är sådana här hybridtrackingsystem som används i NVIS på universitetet här i Norrköping. De har en samplingsfrekvens på ungefär 180 Hz (en siffra man får dividera med antalet "trackingenheter" som består av tre sändare vardera) och en noggrannhet på ±4 mm och ±0,5°. Täckningen är cirka 25 kvadratmeter.

Elektromagnetisk tracking

Det går att utnyttja magnetfält för tracking. I sådana system använder man en stationär källa som sänder ut elektromagnetiska signaler i tre plan, och flera mindre mobila sensorer som mäter signalen i motsvarande plan. Räckvidden är under tio meter, och dessutom lider systemet av känslighet för störningar, vilket är en stor nackdel. Noggrannheten är däremot mycket stor – bättre än hybridsystemet som jag nyss berättade om. Samplingsfrekvensen ligger på cirka 120 Hz och är oberoende av antalet sensorer.

Lasertracking

Tracking vore väl inget häftigt om man inte kunde använda laser, väl? Hm, ja hursomhelst så går det. En "laserscanner" med två laserkällor skannar av rummet och mäter avståndet till en trepunktssensor som till exempel kan vara fäst på användarens huvud. Eftersom sensorn har just tre punkter får systemet information om 3D-position samt rotation kring alla tre axlar, alltså sex frihetsgrader totalt.

Samplingsfrekvensen är hög jämfört med andra lösningar: hela 240 Hz. Noggrannheten är godtagbar och ligger på ±1 mm respektive ±1°. Lasersystemet är inte känsligt för störningar och har inget ackumulerande fel, men risken finns att laserstrålarna skyms av objekt i rummet eller användaren själv.

Optisk och bildbaserad tracking

Du kanske har sett hur "motion capture" för film ofta går till? En skådespelare har på sig en speciell dräkt med tydliga vita punkter, och dennes rörelser registreras av mer eller mindre vanliga videokameror (man filmar i det infraröda området av spektrat) som står uppställda runtomkring i rummet. Genom att man använder flera kameror med kända positioner (minst tre men ännu hellre fler) kan man räkna ut avståndet till de olika punkterna på dräkten. Från denna information får man ut hur det "skelett" som binder samman punkterna har rört sig. Systemet är alltså helt beroende av bildbehandlingsmetoder.

Det finns även bildbaserade varianter som trackar ögonen direkt från rörliga bilder, alltså helt utan att användaren behöver ha någon specialutrustning på sig. Detta är dock i dagsläget inte lika effektivt och används därför inte mycket. 

Sådär ja, nu har vi tittat litet på detta med tracking. Jag hoppas att jag har lyckats lyfta fram problematiken och åtminstone litet grand om olika system som försöker lösa uppgiften. Nästa artikel kommer att handla om haptik, ett område som är helt beroende av väl fungerande tracking.

Anders Fjeldstad

Anders Fjeldstad
Publicerad 16 oktober 2005

Copyright © 2005 Anders Fjeldstad et al.