We all take for granted now GPS navigation. It’s actually hard to imagine going to an unknown place now and having to ask around or look at a map to figure out where to go. The ability to have a device know where we are and give us directions is absolutely no innovation from today’s perspective…or is it really?
Being outdoor only is a subset of our daily lives. As a matter of fact, we spend 80% of our time inside a building – without proper GPS coverage. So it turns out we had only solved a particular case of navigation. For a long time it seems we just accepted the fact there was no indoor navigation solution, but – as always – things are changing J. It only gets better from here. It was no easy task. Indeed, what can you leverage keeping a low cost in mind?
As our device got more wireless chips for short range (wifi/bluetooth), that opened up to new possibilities. (in addition to high frequency sound+microphone). We could map the signals strength for a given location, and the next time we had a similar pattern we would have an estimation of where we are. Its great – in theory. Wifi and Bluetooth signals strength fluctuates a LOT! If you are curious take an Android device and use this app, you will see for yourself.
Many companies built solutions to get the best possible estimation given those constraints. I actually tried one from Cisco where you had to input the building layout in addition to the different materials around. A glass wall has a different effect of the signal propagation that wood. With a good mesh of transmitters, you could get a pretty good solution, but that had a certain cost small businesses may think twice about buying, not mentioning the setup time and effort.
Longer Term and more Mature Solutions
I’ve had the chance to try a new breakthrough technology called “Project Tango”.
It is actually a device manufactured with a completely new technology. Its goal is not exactly to solve indoor navigation but that’s one of its possible uses. It sends IR light in all directions and detects the way it bounces off via a fisheye camera. It’s built in with algorithms that combines accelerometer/gyroscope data and differentiating characteristics of the image caught by the fisheye camera, along with calculated depth data points.
Let me explain a bit more: If there is a white coffee mug on a black table, and you turn your head left keeping your eyes looking ahead of your face, the white area of the coffee mug will “move” right from your eyes perspective. If you know how far was the coffee mug and how much it has moved on the right, you can determine by how much you’ve turned your head. The same idea can be used if you move away or closer to the coffee mug.
Great, but how does this solve indoor navigation?
Moving inside a building is basically a combination of many movements such as the ones used as examples above. The differences is you have a lot of them, and not only coffee mugs but plenty of things we can track other than a coffee mug: a wall corner, a box sitting around, a poster on the wall, etc..
So if we are able to determine how we move keeping track of what the camera sees, we can know were we are compared to when we first started to keep track of the movements.
Here is a video showing the path trace after walking in a building, going out, changing floors and going back to the starting point.
The error was only 1m, without any prior setup!
What if things look exactly the same? What if it is very dark?
This is where project tango gets pretty smart. It uses the camera but has fallbacks with the accelerometers/gyroscopes! So if on your way you enter a dark area, or the walls are completely white with nothing relevant to track, or if the “trackable” things are too far away (>4m), this fallback will continue to estimate your position until you get back to a better environment.
If you estimate my position for a long time, wouldn’t the best solution fail miserably if used long enough?
Good point. Even if we have a +/-20cm error every 10 seconds walking, it gets to +/-12 meters after an hour. While a 12 meters mistake may be fine with GPS driving around, it’s definably not okay indoor. But don’t worry: there is a trick 🙂
Project Tango can work with an “Area Definition File”, meaning a reference scan (made with the same device, typically by an expert who knows the best way to scan the place). What happens if tango keeps indexes of relevant feature of an image and its position in the ADF. If after walking 50 minutes the device detects the same recognizable image, it is able to put me back in the “right” position.
So, in the end, is indoor navigation solved?
Yes and No. In many cases it’s a solution that works very well. But there are still cases causing issues, especially where you don’t have a reference scan, I’ve noticed mirrors and elevators are a big problem.
The other problem is not related to the technology itself, but more to the fact there are only 2 device types with project tango technology so far, they are very expensive at the moment and very few people have them. Basically its not like a magic library you can use the next time you release a shopping app – yet 🙂