Yaw drifts over time and needs a recentre entry point
Aliases: heading drift · recenter · recentre orientation · gyro bias
What it is
After a quarter of an hour the virtual door has swung toward the real desk — the head did not turn that far; the reported yaw did. Integrating gyro rate into heading accumulates bias; that is yaw drift. Sitting up straighter will not unwind it. The wearer needs an explicit recentre (recenter) control that redefines the current facing as content-forward.
The topic is heading error after long integration, not where the origin was frozen at start-up, and not what to do when position tracking dies.
Why it happens
A MEMS gyro reports angular rate plus a slowly wandering bias. Integrated over minutes, the bias becomes a heading error, mainly about the vertical axis: roll and pitch can still be tied down by gravity, yaw has almost no indoor absolute reference. Magnetometers are too noisy around rebar and displays to serve as a compass.
Visual–inertial tracking can lock heading to room texture, so inside-out six-degree-of-freedom headsets drift slowly when features are plentiful. Purely inertial three-degree-of-freedom devices, and feature-starved places (blank walls, dark rooms, hair over the cameras), accumulate error on a minutes-long timescale. People rarely notice a world that “is rotating”; they notice when they reach for a real object, or take the headset off, and content-forward no longer matches the room.
Automatic north is unreliable, so the correction has to be user-timed: a press at the moment the room needs to be realigned, not a guess by the runtime.
Studying it
Compare headset yaw against a ground-truth heading source (optical motion capture, a surveyed landmark) and plot heading error against time; log temperature, because bias is thermally sensitive.
Independent variables: tracking modality (IMU-only vs visual–inertial), scene texture, uninterrupted wear duration, whether mid-session recentre is allowed. Dependent variables: heading error in degrees, time to first noticed drift, angular error when pointing at a real landmark.
A more product-native probe: declare a real doorframe as “12 o’clock in the virtual world” and ask, at intervals, where the door is. That says more about needing a recentre entry than a comfort score does.
Where it stops holding
On a headset whose localisation stays locked to the room, yaw drift over a quarter of an hour can be below threshold — the recentre control should still exist, because a seat change, a bumped headset, or a relocalisation will offset heading anyway. In a vehicle that is itself yawing, “forward” is cabin-forward, not geographic north. Roll and pitch, gravity-constrained, almost never need a manual reset; complaints are about yaw. Industrial IMUs used in the lab do not represent consumer-headset bias.
Applying it
- Expose one-shot recentre at the system layer: current facing becomes content-forward. Do not also snap the wearer back to the coordinate origin unless the product is explicitly a “return to spawn”.
- Bind it to a key that can be found by touch on the headset or controller. Do not bury it in nested menus — drift is noticed when the wearer is already uncomfortable, and a missing button leads to doffing.
- On recentre, give a brief world-stabilisation cue (a short fade or a horizon settling). A wall that jumps ninety degrees with no warning reads as a fault.
- How to check: start a timer, disable recentre, then have the wearer point their head at a pre-agreed real landmark. Measure how many degrees virtual “forward” has wandered. Repeated double-digit error means the entry point is not optional.
Related
- Same group: N1.09.2 The origin definition decides which side of the person content appears on · N1.09.3 Panoramic footage is inherently 3DoF; translation cannot be added in post · N1.09.4 Loss of positional tracking needs a degraded mode, not an interruption
- Nearby: N1.02 Degrees of Freedom · N4.01 Teleport Locomotion
- Search terms:
yaw drift·recenter·heading error