Environment is an infrared layout of a tracking area, by which a tracker determines its position in space.

Environment Structure

The Environment consists of IR markers. All markers are identical in their properties, frequency, and continuously emit light in the infrared range. They do not have any specific IDs.
For ease of use, IR markers can be grouped into elementary patterns called reference bars.

Operation in the Environment Tracker Algorithm

The tracker determines its position by the unique combinations of the markers' location - features. When you turn it on for the first time or when the position has been lost (for example, after covering the lens with your hand), tracker tries to detect a feature from the visible markers.
Later, after determing its position, the tracker finds IR markers and match them with the Environment scheme. If the markers location matches the scheme, the tracker continues to work; otherwise it starts to search features.

Environment Parameters

Each Environment has 2 key parameters:
The parameters are opposite in their essence. The best tracking quality is achieved with a uniform placement of IR markers. The local uniqueness of an IR marker's position (features) is not taken into account. Similarly, achieving the maximum features quality reduces the tracking quality, because it rearranges the IR markers regardless of their even distribution.
Thus, when configuring the Environment's parameters, you need to strive for a balance between tracking quality and features quality.

Environment Types

There are two types of Environments: a HorizontalGrid Environment and a VerticalPillars Environment.
The HorizontalGrid Environment provides options for IR marker placement: floor and ceiling. The VerticalPillars Environment allows the IR markers to be either mounted on vertical surfaces or special devices provided by us called pillars.
In addition, the user can create custom Environment. In this case, the user can arrange the IR markers in any way and create their own version of the IR marker matching algorithm. For details, see our video and project on Github.