Best Practice for maintaining hologram precision

The precision of the HoloLens is affected by many factors including:

Lighting, motion, features and materials in the physical space.
Ideally you want an evenly lit environment that isn’t very bright or very dark, you want to minimize the motion of people or objects in your environment (that is very difficult if building something, especially if building with scaffolding or other structures that need to be frequently moved), maximise features in your environment (by adding unique, contrasting features - workshops are actually perfect here as they tend to be cluttered with random objects and tools - and eliminating repeating features (repeating tiles or carpet patterns for instance), and minimizing transparent or reflective materials.

Calibration and fit of the device.
You must always have the device correctly fit on your head and have ran eye calibration so hologram depth is rendered correctly. In an upcoming update to the HoloLens eye calibration will be run automatically, but for now you will need to make sure anyone using the HoloLens has done this. Fit is also very important: if the device is positioned too low, high, near or far from your eyes then holograms will be perceived to be in the incorrect position.

Quality of spatial mapping data.
The HoloLens will constantly build up a ‘memory’ of features within the environment you are working in composed of a combination of tracked camera points and composited depth data. The quality of this data will be poor if the HoloLens has only tracked a small amount of the space you are in (e.g. if you aren’t moving around a lot, or have just started working in a new space) and so you should ensure that you always spend 5 minutes or so walking around in any space and letting the device build up this internal map of the environment before starting any fabrication work. The quality of the data will also be poor if the environment changes, and this happens all the time from lighting changes or physical objects being moved. Best practice is to clear and re-create the spatial mapping data on the device (you can do this from the settings menu -> holograms -> remove all holograms) if you are seeing a reduction in tracking precision.

CPU resources.
The Hololens allocates a processing power to spatial mapping and tracking that scales with available CPU resources. If you are viewing a large model you may be placing strain on these resources and as a result experience a reduction in tracking quality. Live-tracking markers, recording and streaming video on the device will all decrease tracking quality. As a general rule of thumb if you can notice a reduction in frame rate (holograms will ‘tear’ or lag) then you can expect that tracking is non-optimal and should try to reduce the polygon count of your model or stop recording video etc.

Tracking loss.
If you cover the sensors (cameras or infrared) on the headset or put the device to sleep you will lose tracking. This often happens accidentally if you move too close to a wall or floor and the devices cameras can’t see anything, or if you put the device down, or point it at your chest, or all number of other things. The device will often recover tracking, though this can take some time and may result in a small (usually temporary) jump in the location of the hologram.

Distance from the spatial anchor point.
Tracking precision is best near to the location of the anchor point (where you place your model) and decreases (in a pretty much linear fashion) as you move further away.

Device calibration.
Every hololens goes through factory calibration in order to set intrinsic values for the device sensors. This process isn’t perfect and the rendered scale of holograms will vary between devices. Scale error isn’t noticeable for small holograms but may cause problems with larger (>10ft) holograms or when working with multiple QR codes. You can setup an experiment to compare the rendered size of a known hologram (e.g. an 8000mm long line) to a physical line of the same length, and then manually adjust the scale of the entire hologram scene in the Settings menu until the two are aligned.

Considering each of these factors and implementing best practice will reduce perceived drift and improve the precision of your model placement. In fabrication scenarios you will often need accidentally lose tracking or need to put the device to sleep in between work sessions. In order to be able to reliably place holograms in the same position, you should use a FologramQR code in that is physically attached to a fixed location relative to what you are building. For instance, if you are building something on a bench and this bench will be moved around, you should tape a QR code to the corner of the bench so that even if you move the bench, the QR code relative to the bench remains in the same location.