A PHP Error was encountered
Severity: Notice
Message: Undefined index: HTTP_ACCEPT_LANGUAGE
Filename: libraries/L.php
Line Number: 19
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/libraries/L.php
Line: 19
Function: _error_handler
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/libraries/L.php
Line: 13
Function: determine
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 281
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent
Filename: Session/Session.php
Line Number: 293
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 303
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 313
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 314
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 315
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time
Filename: Session/Session.php
Line Number: 316
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_set_save_handler(): Cannot change save handler when headers already sent
Filename: Session/Session.php
Line Number: 107
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: session_start(): Cannot start session when headers already sent
Filename: Session/Session.php
Line Number: 140
Backtrace:
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/application/controllers/public/Articles.php
Line: 10
Function: __construct
File: /is/htdocs/wp12356503_4AGEE99G5Y/www/vrjump.de/index.php
Line: 292
Function: require_once
Das Tracking-System „Lighthouse“ von VALVE ist innovativ und elegant. Dabei werden Infrarot-LEDs, Laser, Sensoren und Mathematik kombiniert. So kann die Position und Rotation von unzähligen Objekten exakt (Submillimeter) und rasend schnell berechnet werden.
Das System ist sehr einfach skalierbar und effizient, wodurch größere Tracking-Volumen möglich werden. Außerdem sind die Sensoren komplett unabhängig von den signalgebenden Basisstationen. Sodass sie eher wie Lampen agieren, die den Raum ausleuchten – ohne von den zu trackenden Objekten zu wissen.
VIVE
Die VIVE von htc – der in Zusammenarbeit mit VALVE entstanden ist – wird das erste Produkt auf dem Markt sein, das die Lighthouse Technologie verwendet. Dabei nutzen sowohl das Headset (HMD), als auch die zwei Controller, jeweils einer pro Hand, diese Technik um ihre Position und Rotation zu tracken.
Langfristig möchte VALVE sehr offen mit ihrer Innovation umgehen und allen interessierten Hard- und Software Herstellern die technischen Details zur Verfügung stellen. Ziel ist es Lighthouse zu einem Standard in Sachen Tracking zu machen – ähnlich wie USB ein Standard geworden ist – sodass viele weitere Eingabegeräte entstehen, die damit kompatibel sind.
VIVE Illustration — © htc / VALVE
Für optimales 360 Grad-Tracking in einem vom4 x vom4 Meter großen Raum sind zwei Basisstationen notwendig. Jedoch ist damit das Limit nicht erreicht – die Entwickler haben schon angekündigt, dass es in Zukunft möglich sein wird viele weitere Basisstationen im Verbund zu verwenden, sodass auch größere Räume trackbar werden, bzw. noch besser „ausgeleuchtet“ sind.
Lighthouse Basisstationen
Eine Basisstation ist eine handliche kleine Box, die idealerweise unter der Decke montiert wird. Die wichtigsten Komponenten in ihr sind: eine Fläche von Infrarot-LEDs und zwei Laser, jeweils einer für die vertikale und horizontale Achse. Die Station muss nur mit Strom versorgt werden – am einfachsten über die Steckdose, Batteriebetrieb ist aber genauso möglich. Eine Verbindung zum PC ist nicht notwendig.
Bei den Devkits müssen die beiden Basisstationen noch mit einem Sync-Kabel verbunden werden. Das wird in der finalen Version nicht notwendig sein.
Die zu trackenden Objekte sind mit mehreren kleinen Sensoren ausgestattet. Diese empfangen die Infrarot-Signale der Basisstationen und geben sie weiter.
Signal in Intervallen
Die Basisstation sendet ihre Signale in sehr schnellen Intervallen. Dabei wiederholt sich ein einfaches Schema mit vier Schritten:
- Infrarot LEDs leuchten kurz auf, ähnlich dem Blitz einer Fotokamera. Das signalisiert den Startpunkt für den ersten Laser.
- Der horizontale Laser fährt den Raum ein Mal von links nach rechts ab (0 bis 120 Grad).
- Die Infrarot LEDs leuchten nochmals kurz auf, als Startsignal des zweiten Lasers.
- Nun fährt der vertikale Laser den Raum von oben nach unten ab (ebenfalls 0 bis 120 Grad).
Die Aufgabe der Sensoren ist es, die Signale der LEDs und der Laser zu empfangen und jeweils den exakten Zeitpunkt zu speichern. Da die Schnelligkeit der Drehung der Laser genau festgelegt ist, kann durch die Zeit, die zwischen dem LED-Blitz und dem Empfangen des Lasers vergangen ist, ganz einfach berechnet werden, in welchem Winkel der Sensor zur Basisstation steht.
Beispiel der Winkelberechnung
Ein Beispiel mit simplen Zeiteinheiten (tatsächlich sind die Intervalle so schnell, dass in Submillisekunden gerechnet wird): Angenommen die volle Drehung eines Lasers (von 0 bis 120 Grad) dauert 10 Zeiteinheiten. Die LEDs blitzen auf und der Sensor speichert die aktuelle Zeit (0). Nun fährt der Laser den Raum ab und erreicht bei der Zeiteinheit 5 den Sensor. Das entspricht genau der Hälfte der vollen Drehung, also 60 Grad. Nun wird die gleiche Messung mit dem vertikalen Laser vorgenommen und schon sind für diesen Sensor beide Winkel bekannt.
Effizient und exakt
Wenn wir nun diese Information von mehreren Sensoren — aktuell sind mindestens 5 Sensoren notwendig — auf einem Objekt kombinieren, können wir mathematisch sowohl die exakte Position, als auch die Rotation berechnen.
Computer sind in Sachen Zeitberechnung sehr gut und es sind nur eine Hand voll mathematischer Berechnungen pro Controller notwendig, sodass die Belastung für den PC minimal ist und das Tracking auf einer sehr hohen Wiederholrate durchgeführt werden kann. Das System ist so präzise und schnell, dass mit den Controller sogar digital jongliert werden kann!
Die einzelnen Basisstationen werden unterschieden, indem sie z.B. auf unterschiedlichen Frequenzen laufen oder die Laser auf andere Geschwindigkeiten einstellt sind. Für den ersten Release des htc VIVE kann an den Basisstationen ganz einfach jeweils Typ „A“ oder „B“ festgelegt werden. Später soll dieses System erweitert werden, sodass nach Bedarf weitere Stationen hinzugefügt werden können.
Mehr als nur VR
Auch ausserhalb von VR ist diese Technik sehr spannend. Zum Beispiel im Bereich der Robotik oder auch bei Quadcoptern, um deren genaue Position im echten Raum berechnen und verarbeiten zu können.
Es wird noch spannend in welchen Bereichen Lighthouse verwendet und etabliert wird.
?! Diskussion
Du hast weitere Detailfragen zum Lighthouse System oder möchtest mit anderen über Vorzüge und Einschränkungen diskutieren? Hier auf Reddit hast du diese Möglichkeit.
Wenn du dich über neue Inhalte automatisch informieren lassen möchtest, kannst du dich gerne beim Newsletter anmelden.