Lighthouse tracking
Lighthouse tracking is a laser-based method of positional tracking developed by Valve for SteamVR and first shipped with the HTC Vive in 2016. It is an outside-in system: one or more fixed reference devices called base stations are placed in the room and emit structured infrared (IR) light, and photosensors built into the tracked devices (a head-mounted display and its motion controller peripherals) read that light to compute their own position and orientation.[1][2]
Unlike camera-based outside-in systems such as Constellation, where external cameras observe markers on the device, Lighthouse inverts the optical path: the base stations do not see anything. They only broadcast timing references, and all of the pose computation happens on the tracked device and host computer. This lets the system add tracked objects without adding cameras, and it scales the tracked volume by adding more base stations rather than more sensors.[1][3]
The original tracking technique was largely the work of Valve hardware engineer Alan Yates, who led the project and presented its design publicly.[4][5] The hardware that implements it is documented separately under Lighthouse and Base Station.
How it works
A first-generation (SteamVR Tracking 1.0) base station contains an IR LED array and two spinning rotors, one that sweeps a fan-shaped laser line across the room horizontally and one that sweeps vertically. Each rotor spins at 3,600 revolutions per minute.[6]
The base station cycles roughly 60 times per second. Each cycle begins with a global flash, called a synchronization pulse or "sync blink," from the LED array; the original Vive base station blinks this pulse every 8.33 ms, or 120 Hz, because the horizontal and vertical sweeps alternate.[6] Immediately after the flash, one rotor sweeps its laser across the room. A photosensor on a tracked device first sees the omnidirectional flash, then a short time later is struck by the moving laser. As Valve's Joe Ludwig described it at the 2015 SVVR Conference, "Between the flash and a sweep hitting a given sensor we can time that, and with that timing information we then know the angle" of the sensor relative to that axis of the base station.[1] Measuring this delay for the horizontal sweep and the vertical sweep yields two angles, which together define a ray from the base station to that sensor.[1][6]
Each tracked device carries many photodiodes in a known, rigid geometry: the original Vive headset has 32 photo sensors and each Vive controller has 24.[6][7] Because the layout of the sensors on the device is known in advance, the timing measurements across all of them can be solved into a single position and orientation (a "pose") using a method related to the perspective-n-point problem.[3][6] With two base stations visible, even a single sensor can be located by intersecting the rays from both stations; with one base station, a rigid object can still be tracked if enough sensors are visible (Valve cited roughly five visible sensors as enough to acquire a pose).[3]
Sensor fusion with the IMU
The laser sweeps update each sensor only when a beam happens to cross it, which is too slow and too intermittent for smooth head tracking on its own. Every Lighthouse-tracked device therefore also contains an inertial measurement unit (IMU) with a gyroscope and an accelerometer. The IMU runs at a much higher rate and handles fast motion between optical updates, while the slower, absolute optical fixes from the base stations correct the drift that inertial sensors accumulate.[5][3] This is a form of sensor fusion: the IMU provides low-latency relative motion and the optical system provides drift-free absolute reference. Valve has noted that the system can run without an IMU using single sensors, but the IMU reduces latency and smooths the result.[3]
Accuracy
Independent measurements of the first-generation system were published in 2016 by Oliver Kreylos (known as "Doc-Ok"), a virtual reality researcher at the University of California, Davis. Holding a tracked controller stationary, he measured positional jitter of about 0.3 mm with both base stations visible. Covering one base station so the controller saw only the other raised jitter to about 2.1 mm along the axis pointing toward the hidden station, while the other axes stayed near 0.3 mm.[8] He estimated overall precision at about 1.5 mm RMS and overall accuracy at about 1.9 mm RMS, and concluded the system was accurate enough to use a controller with a calibrated probe tip as a large-area 3D digitizer with roughly 2 mm expected accuracy.[8]
SteamVR Tracking 1.0 and 2.0
Valve revised the base station design with SteamVR Tracking 2.0, shown to developers in 2017 and shipping with the Valve Index in 2019. The two-rotor mechanism was replaced by a single rotor carrying two offset lenses that fan the laser at opposing angles, and the separate LED sync array was removed: in version 2.0 the devices synchronize on the laser sweeps themselves ("sync on beam"), and data, including an identifier for which base station cast a given sweep, is encoded directly into the beam.[9][10] Encoding the base station identity in the light is what allows more than two base stations to be combined, because each device can tell the sweeps apart.[9]
The two generations are not fully interchangeable. Devices built with the original TS3633 sensor are not compatible with 2.0 base stations, while newer trackers (Vive Tracker 2.0 and 3.0) work with both 1.0 and 2.0 base stations.[11]
| Property | SteamVR Tracking 1.0 | SteamVR Tracking 2.0 |
|---|---|---|
| First consumer use | HTC Vive (2016) | Valve Index (2019) |
| Rotors per base station | Two (one horizontal, one vertical) | One (single rotor, two offset lenses) |
| Synchronization | IR LED sync flash (120 Hz blink) | Sync on beam (data encoded in laser) |
| Base station identification | Not encoded in light | Encoded in the beam (per-station channel) |
| Field of view per station | About 120 degrees | 160 degrees horizontal by 115 degrees vertical |
| Maximum base stations | Two | Up to four |
| Maximum recommended distance / space | Up to 5 m between two stations | Up to 10 m by 10 m with four stations |
| Sensor IC | Triad TS3633 | Triad TS4231 (later TS4112) |
Sources for the table: VIVE Base Station 1.0 setup guide;[2] Valve Index base stations page;[10] UploadVR;[9] PC Perspective.[6]
Devices using Lighthouse tracking
Lighthouse tracking is used by SteamVR-compatible PC headsets and their peripherals rather than by standalone headsets, because it requires external base stations. Devices include the HTC Vive, HTC Vive Pro and Vive Pro 2, the Valve Index, the Bigscreen Beyond, and the Pimax Crystal when fitted with its Lighthouse faceplate accessory.[10][12] The Vive Tracker family lets users attach Lighthouse tracking to objects, props or the body for full-body tracking and peripheral tracking.[12]
Valve licenses the technology through an open SteamVR Tracking program, offering reference designs and a hardware development kit (HDK) royalty-free so that other companies can build tracked devices; no Valve certification is required to ship a product.[13] The photodiode sensors are made by Triad Semiconductor, and third parties such as Tundra Labs produce compact tracking modules; the Tundra Labs general-purpose HDK uses 25 of Triad's TS4112 sensors and a system-in-package measuring 16 mm by 10 mm.[13]
Comparison with other tracking approaches
Lighthouse is one of several positional tracking families used in consumer VR. Against camera-based outside-in tracking such as Constellation (used by the original Oculus Rift), Lighthouse moves the imaging burden onto the tracked device's simple photodiodes instead of external cameras, and it scales by adding base stations.[1][3] Against inside-out tracking, the approach used by standalone headsets such as the Oculus Quest, Lighthouse needs mounted base stations and a fixed play area but does not depend on the headset's own cameras seeing the controllers, so controllers stay tracked behind the back or out of the headset's view as long as a base station can see them.[3][8] The trade-off is setup effort: base stations must be mounted high in opposite corners, powered, and given clear line of sight, and tracking is confined to the volume they cover.[2][10]
Non-VR uses
Because Lighthouse provides accurate, low-cost room-scale 3D positioning, it has been adapted outside gaming. Kreylos demonstrated using a tracked controller as a 3D digitizing probe.[8] The open SteamVR Tracking program and Triad's sensors have been used by makers, students and startups to add precise tracking to robots, props and other objects, and research groups have used Lighthouse base stations as an external positioning reference for tasks such as tracking small unmanned aerial vehicles.[13][14]
References
- ↑ 1.0 1.1 1.2 1.3 1.4 Hayden, Scott (2015-05-18). "Valve's Lighthouse Base Station in Action, Inner Workings Explained". https://www.roadtovr.com/valves-lighthouse-base-station-action-inner-workings-explained/.
- ↑ 2.0 2.1 2.2 "Tips for setting up Base Station 1.0". https://www.vive.com/us/support/vive-pro2/category_howto/tips-for-setting-up-the-base-stations.html.
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 James, Paul (2015-03-06). "10 Things You Didn't Know About Steam VR's Lighthouse Tracking System". https://roadtovr.com/10-things-you-didnt-know-about-steam-vrs-lighthouse-tracking-system/.
- ↑ Hellstrom, Jeremy (2016-12-22). "Learn about the tech in Vive's Lighthouse". https://pcper.com/2016/12/learn-about-the-tech-in-vives-lighthouse/.
- ↑ 5.0 5.1 "Alan Yates: Why Valve's Lighthouse Can't Work". 2016-12-21. https://hackaday.com/2016/12/21/alan-yates-why-valves-lighthouse-cant-work/.
- ↑ 6.0 6.1 6.2 6.3 6.4 6.5 Malventano, Allyn (2016-04-05). "SteamVR HTC Vive In-depth - Lighthouse Tracking System Dissected and Explored". https://pcper.com/2016/04/steamvr-htc-vive-in-depth-lighthouse-tracking-system-dissected-and-explored/2/.
- ↑ "HTC Vive Teardown". 2016-04-26. https://www.ifixit.com/Teardown/HTC+Vive+Teardown/62213.
- ↑ 8.0 8.1 8.2 8.3 Lang, Ben (2016-07-17). "Analysis of Valve's 'Lighthouse' Tracking System Reveals Accuracy". https://roadtovr.com/analysis-of-valves-lighthouse-tracking-system-reveals-accuracy/.
- ↑ 9.0 9.1 9.2 Feltham, Jamie (2017-06-05). "SteamVR Tracking 2.0 Improves Base Stations To Cover Warehouses". https://www.uploadvr.com/steamvr-tracking-2/.
- ↑ 10.0 10.1 10.2 10.3 "Base Stations - Valve Index". https://www.valvesoftware.com/en/index/base-stations.
- ↑ "SteamVR Tracking 2 Coming To Developers This Fall, Brings Larger Tracking Volumes, Vive Not Supported". 2017-06-06. https://www.tomshardware.com/news/new-basestations-drop-vive-support,34678.html.
- ↑ 12.0 12.1 "Which VIVE hardware is compatible with my base stations". https://www.vive.com/us/support/vive-pro-hmd/category_howto/which-vive-hardware-are-compatible-with-base-stations.html.
- ↑ 13.0 13.1 13.2 Lang, Ben (2021-03-30). "New SteamVR Tracking Dev Kit Aims to Make VR Controllers Cheaper, Easier to Design". https://roadtovr.com/tundra-labs-steamvr-tracking-hdk-tl448k6d-gp-hdk/.
- ↑ Taffanel, Arnaud (2021-04-23). "Lighthouse Positioning System: Dataset, Accuracy, and Precision for UAV Research". https://arxiv.org/abs/2104.11523.