Environment change causes anchor drift
Aliases: pose slip · map deformation · tracking correction
What it is
The note is still there, but it has slid a half-hand off the doorframe onto the wall. The room was not gutted; a lamp changed, a chair moved, someone walked through. Anchor drift is what happens when the stored signature no longer lines up with the current view, the pose estimate is rewritten a little at a time, and the content slides with it. It looks as if the object walked. What changed shape is the room’s identifiable structure inside the tracker.
Drift is not a loss. Loss is not finding it. Drift is finding it, in a place that is slowly wrong.
Why it happens
A visual map pins an anchor by the relative geometry of a set of features. Change the lighting and old corners weaken while new highlights appear; the optimizer then moves map points to fit the current observations. Move furniture and some features have genuinely changed place, so an anchor locked to the old relations is dragged. Microsoft’s coordinate-system notes add a lever: a tiny correction between two points throws far content that was placed as a rigid body at the old distance — and anchors drift relative to each other, which is exactly how they differ from one rigid frame.
The eye is sharp about “flush with the doorframe” and blind to “the map is updating.” A few centimetres of slip read as broken content, while logs may still say tracking is fine.
Studying it
Run environment perturbations in a controllable room: after placement, change lighting (lights, blinds), move a piece of furniture that does not carry the anchor, walk people through the scene, and measure error against a real landmark at fixed intervals. The control is the same room, static, lights locked. HoloLens documentation lists a dynamic environment and change over time among causes of tracking failure; experiments should log “failed” and “still tracking, but drifting” as different bins.
Independent variables: size of the lighting change, whether the moved object is near the anchor, elapsed time. Dependent variables: translational drift, yaw change, time until people first notice “it moved.”
Do not fold smooth tracking jitter inside one session together with systematic slip across a perturbation.
Where it stops holding
In a calibrated lab with no traffic and locked lights, drift can sit below what a task feels. Short operations with the anchor in view can still ride IMU and local features before slip accumulates. Fiducials do not rely on natural features, so they care less about lighting and nearby furniture — if the marker itself is moved, that is a missing target, not drift. In a very large empty volume, far anchors show the lever more; a desktop anchor may still sit. Writing “the environment changed, so void the anchor” as a product policy already steps past the phenomenon of drift.
Applying it
- Let people nudge a drifted object back to a real referent (doorframe, table corner). Do not offer only delete.
- Surface a drop in tracking confidence. Do not wait until the object has left its place and then continue in silence.
- Do not hang a row of objects off one anchor across a long span. Anchor locally, so a lever cannot drag the far end with it.
- How to check: stick it beside a socket, turn lights on, move the neighbouring chair, walk someone past, then measure distance to the socket. A clear offset while tracking still reads normal is drift, not loss.