Blog

IndoorAtlas goes AR

Both the core IndoorAtlas positioning SDK and Augmented Reality frameworks (ARCore / ARKit) are tracking the movement of a mobile device. However, they are focused on different things

  • ARCore and ARKit track the motion accurately in a local metric coordinate system. They can tell you very accurately that the phone moved 3 centimeters to the left and 4 centimeters up, compared to where it was a 0.3 seconds ago, but the starting position is arbitrary. They does not tell you the if the phone is in Finland or the US.
  • IndoorAtlas technology determines the global position and orientation of the device. The SDK tells you your floor level and the position within a floor plan with meter-level accuracy (depending on the case). However, up until now, the location updates approximately once a second and does not follow centimeter-level changes

The new IndoorAtlas AR fusion API merges these two sources of information: You can both track centimeter level changes and know where the device is, approximately, in the global coordinates. This does not mean that we have global centimeter-level accuracy, but it allows you to conveniently use approximately geo-referenced content so that it looks reasonable in the AR world. It also works indoors where using the compass directly for orientation is challenging, due to calibration issues and local geomagnetic features – the same things we embrace in geomagnetic positioning.




 

When available, the platform-provided AR motion tracking (VIO) is deeply integrated into the IndoorAtlas sensor fusion framework, which allows us to increase the robustness and accuracy of the sensor fusion algorithm. On the other hand, when VIO is not available, for example, the phone is placed in a bag or pocket, which occludes the camera and disables AR, tracking can still continue with IndoorAtlas background PDR (added in SDK 3.2). If the AR session is later resumed, AR way-finding can almost instantly continue from an accurate location.

The AR capability will be available in SDK 3.4, which will be released shortly, stay tuned!