Can AR be used for reliable indoor navigation?
Since GPS technologies are not suitable for indoor navigation, an obvious solution would be to use the underlying technology that makes AR (augmented reality) possible : SLAM. SLAM is used in both AR and VR for mapping and inside-out positional tracking and it seems to be the perfect candidate for indoor navigation. As a bonus, AR overlays such as arrows and destination points would make indoor navigation in large premises less of a hassle and perhaps even enjoyable.
So why don’t we see this in every airport, supermarket or large office?
SLAM, especially with just a standard phone camera, is extremely difficult to get right. In the best possible conditions, very good lighting and a lot of hard edges for the algorithm to track well, you still get about 1 metre of drift over a distance of 50 metres (very rough estimates), and it can increase exponentially after that. One metre could mean pointing users in the wrong direction in a lot of cases. And it’s not just the drift that is a problem. A lot of parts of a building can look very similar and furniture gets moved around, which further complicates the problem.
However, a lot of companies are working on the problem, and we should see some results not far in the future. I’ve explored two solutions here which seem promising: Placenote SDK, and a WebAR solution using ios’ AR Quick Look feature. These are the solutions I found that could be used to experiment now – most other solutions are not yet available to the public or developers.
Placenote SDK is a plugin for Unity that allows developers to build persistent AR maps and annotations over the real world. Placenote makes use of ARKit to scan and track an environment and offers a cloud service to store maps and data and load them inside your app. A demo of their app can be downloaded from here and the sdk can be downloaded from here.
After downloading the Placenote SDK and generating an API key I was able to build an app that allowed me to place virtual sticky notes around an environment, save a map and reload it at a later time. One inconvenience is that after you load a map, you have to ‘localize’ – you need to point the camera at the best scanned area in the map which is shown as a thumbnail (in this case I made sure to make it be the paper marker to make the step clear).
While Placenote is a lot more suited to adding annotations and overlaying information in smaller areas or rooms rather than whole buildings, it’s a great tool that will certainly be useful for building simple indoor navigation solutions as SLAM technologies progress.
A web based solution would make indoor navigation more accessible and would also drastically simplify deployment. Users would load the directions from a website or web link, without needing to download any app. There are no off the shelf WebAR solutions for indoor navigation, at least none that I have found so far. This company is working on it: https://www.arway.app/ but doesn’t seem to have anything ready to use just yet.
An easy and free way to create WebAR is to use ios’s AR Quick Look feature. There are some limitations with this approach (eg won’t let you communicate with other web pages/scripts in the same way as WebAR build with A-Frame or similar frameworks) but the big problem for indoor navigation is that it requires some initial manual adjustment.
This is because when the AR content is loaded, there is no built in way for the device to know where it is in relation to the real world and where to place the AR content. The solution I came up with is to have some marker or reference point the user can use to manually match to AR content in the right position and orientation – this of course is not ideal from an UX point of view. A more automatic solution such as the one used by Placenote, will likely be available in Quick Look in the future since the ARKit SDK already has this capability – this would mean pointing your camera at a marker of specific area and the calibration would be done automatically.
AR + wifi positioning
To circumvent the drift problem, a solution could be combining AR with other external mapping methods – such as bluetooth beacons or wifi positioning. Apple for example offers an indoor wifi mapping solution. Unfortunately, deploying such a solution is nowhere near as simple as a SLAM based approach would be, a process that involves getting accepted to the Apple program, converting building BIM data to Apple’s IMDF – which is a project in itself – as well as a mapping process and router configurations.