Indoor positioning and indoor navigation has been written by Adrian Canedo, CTO at Situm – PhD Robotics
You have probably used an Outdoor Navigation app recently, such as Google Maps or TomTom. Maybe you wanted to know where a restaurant is, or maybe you were travelling in your car, and you didn’t want to miss a highway exit! 20 years ago, you would just have looked up a road map or asked around. Nowadays, it’s unthinkable to live without these apps.
Indoor Navigation brings these apps & services to indoor spaces, where the GPS does not work. Indoor navigation aims to guide people inside venues: How to find your way in a big airport? How to arrive quickly at your physician’s office? How to know how the visitors of a shopping mall move around?
If you are a developer looking to create an Indoor Navigation app for Android or iOS smartphones, you are lucky! Nowadays, there are providers (like Situm) that offer ready-to-integrate Indoor Navigation platforms with the 4 ingredients that every developer needs to build a new Indoor Navigation solution from scratch:
- Indoor positioning to geolocate the user’s device.
- Maps to represent the geolocation and the venue in a way the user can understand.
- Routes to display how the user should move to reach their destination.
- Geoanalytics to extract useful insights from venue & geolocation data.
In this post, we will talk about the most important element of the four: indoor positioning.
1. What is Indoor Positioning?
Indoor positioning aims to geolocate devices inside venues: position, orientation, and even the floor & building where the device is. The tricky part is that GPS does not work indoors, so indoor positioning relies on other signals & techniques to provide an indoor location: WiFi signals, Bluetooth iBeacons, inertial sensors, magnetic fields…
2. How to decide which indoor positioning solution is the best for you?
Firstly, each indoor positioning system may have different pros & cons. Usually, you would be interested in evaluating at least:
- Accuracy. 1-5 metre accuracy is enough to provide a good navigation experience.
- Investment in infrastructure required. The less, the better.
- Frequency of updates. Obviously, updating your UI every second is better than updating it every minute.
- Stability. Location updates should not be jumpy, otherwise the user may become dizzy! =)
- Ability to detect floor changes automatically. The users should not need to indicate the floor where they are: the app should guess it automatically!
3.Indoor positioning solutions comparison
If you want the quick & dirty summary, we have compiled for you a table with the pros & cons of the main indoor positioning approaches in the market. If you are one of those that crave details, keep reading below!
|WiFi||* Leverages on existing infrastructure |
* Floor detection
|* Low accuracy (5-20 meters). Unstable. |
* Doesn’t work on iOS. Infrequent location updates in Android >9.
* Doesn’t provide orientation.
|BLE||* Usually requires installing new infrastructure (beacons) * Floor detection||* Low accuracy (5-20 metres) and unstable unless lots of beacons are used. |
* Doesn’t provide orientation.
|Magnetic||* Doesn’t require infrastructure * Accurate (1-3 meters) * Provides orientation||* Doesn’t detect the floor you are (at least robustly & consistently). |
* Very unstable and inconsistent over time.
|Movement estimation||* Doesn’t require infrastructure||* Doesn’t usually provide the real location, just the user movement/trajectory|
|Camera||* Doesn’t require infrastructure (or little infrastructure, like QR codes) |
* Accurate (even up to 1 meter)
* Provides orientation
|* User must point the camera forward. Doesn’t work in the pocket |
* Building & maintaining an image database of the whole building is very effort-consuming
* May not be robust due to changes in the environment (e.g., people walking around, new elements).
* Sometimes, distinguishing different areas with the camera may not be possible
|Light||* Accurate (even up to 1 meter) |
* Provides orientation
|* Requires heavy investment in infrastructure |
* User must point the front camera to the ceiling. Doesn’t work in the pocket.
|Multi-sensor||* Accurate (1-3 meters). Provides orientation. |
* Provides frequent and stable location updates
* Floor detection
|* May require some infrastructure (BLE beacons) to work in iOS devices.|
3.1 Indoor positioning using WiFi
WiFi is everywhere. It has enabled wireless internet access worldwide, and it can also be used to provide indoor positioning! There are two main approaches to WiFi positioning: trilateration and fingerprinting.
Using the signal strength (RSSI) received from each WiFi Access Point, trilateration systems estimate the distance from the smartphone to each WiFi AP, and then compute the device location (knowing each AP location within the building). On the other hand, fingerprinting solutions determine the device location by comparing the signal strength received from each AP with the strength expected in each area of the building. Obviously, this requires first to gather these expected signal strengths, a process usually called fingerprinting or calibration.
Fingerprinting approaches have shown more flexibility to adapt to different environments & WiFi topologies, more robustness against noise & interferences, and greater accuracy.
WiFi-based systems have a great advantage over their alternatives: WiFi is everywhere! This is why WiFi has been the most prominent indoor positioning approach for decades: it reduces or eliminates the need to install new hardware in the environment.
However, WiFi-only solutions are not suited to build great indoor navigation experiences:
- They usually provide accuracies between 5-20 meters, which might not be enough for every application.
- Location estimates are not very smooth (they are rather jumpy) and their frequency (once every 3-30 seconds) may be insufficient to build a good UX.
- WiFi can’t be scanned in iOS smartphones, so WiFi-only systems don’t work in this OS.
- From Android 9 onwards, Android devices have a limited ability to scan WiFi (WiFi signals can only be scanned once every 30 seconds). WiFi-only positioning is possible, but the results are not ideal.
3.2 Bluetooth beacons
With the adoption of the Bluetooth 4.0 standard (usually called BLE or Bluetooth Low Energy), Bluetooth beacons appeared in the market in the early 2010s, and ever since their usage hasn’t stopped growing. Nowadays, two beacon types dominate the market: Apple iBeacons and Google Eddystone.
A BLE beacon is a simple piece of hardware that emits BLE packages at a constant rate. Smartphones and other devices can detect these packages, measure their signal strength (RSSI), and determine their geolocation. As with WiFi, trilateration and fingerprinting techniques can be used, the latter being superior. BLE beacons have also been used intensively to enable use cases such as proximity detection & proximity marketing.
BLE beacons have some advantages over WiFi Access Points:
- They are usually cheaper (usually less than 20$), smaller & discrete (few centimetres width), they can be installed almost anywhere (sticked or screwed to the wall) and they can run on batteries (autonomy up to few years) or plugged to the wall.
- Both Android & iOS devices have a great BLE support, allowing several BLE readings per second and a decent signal power stability. This allows computing a geolocation per second, ideal to provide a good navigation UX.
- BLE beacon parameters (transmission power, transmission frequency, etc.) can be easily configured, making them flexible to support different operation modes and building casuistry.
As with Wi-Fi, beacon-only systems don’t provide a good accuracy (within the 5–20-meter range). Some providers solve this by installing lots of beacons (e.g., one every few meters), but this makes their installation & maintenance rather expensive.
3.3 Magnetic fields
Magnetic fields are everywhere. The Earth, for example, has a strong magnetic field, thanks to which compasses point to the North (and indoor positioning systems can determine the orientation of the device).
Inside buildings, this magnetic field can be severely distorted by different elements, such as ferromagnetic construction materials (e.g., iron, steel), electrical devices (escalators, vending machines, medical equipment) and electrical installation (e.g., wires). This is inconvenient to extract the device’s orientation, but since the magnetic distortion is not uniform across the environment, distortions can actually be used to compute the device geolocation. Thankfully, most modern smartphones have a sensor called a “magnetometer”, able to measure the 3 components of the magnetic field.
Magnetic-field solutions require capturing a very detailed magnetic map of the building (fingerprinting / calibration step), and then they compare the magnetic signatures measured by the smartphone with those expected in each area of the venue. This way, they estimate the geolocation.
These systems have 2 main advantages. First, they don’t require any hardware at all: the building structure is enough. Second, the geolocation estimation can be pretty accurate (below 3 meters).
However, magnetic field-based solutions have a severe disadvantage: positioning, even if accurate, may not be robust or even consistent across time. This is due to several factors: not all building areas may have easy-to-distinguish magnetic signatures (e.g., sometimes is not even possible to distinguish similar areas in two different floors), building elements may change across time, the smartphone’s magnetometer needs frequent calibration to provide quality data, etc. For these reasons, magnetic-only solutions are hard to use in real settings.
3.4 User movement estimation with sensors for indoor positioning and indoor navigation (inertial sensors, barometer and map constraints)
Most modern smartphones are equipped with sensors that allow measuring the movement of the user. These are:
- Accelerometer: The accelerometer measures the device’s acceleration. When the device moves, the acceleration changes accordingly, allowing to measure the smartphone displacement. For instance, when the user walks around with the smartphone in their hand or pocket, the acceleration increases and decreases rhythmically with each step, so the number of steps can be detected.
- Gyroscope : The gyroscope measures the angular velocity of the smartphone’s orientation changes. In other words, it allows knowing how the smartphone rotates, which is useful to update the estimation of the device orientation.
- Magnetometer: As explained above, the magnetometer measures the strength of the magnetic field. Therefore, the orientation of the device with respect to the Earth’s North can be computed.
- Barometer: The barometer measures the atmospheric pressure. This pressure varies with height, therefore allowing to detect if the smartphone has changed from one floor to another.
Figure 4. Smartphone sensors
All in all, the combination of these sensors may allow to reconstruct, very accurately, the displacement of a smartphone on a time period. This allows knowing how much the user moved in relation to a starting point, at which point they turned, and even if they changed floors! Some indoor positioning systems improve this estimation by throwing map constraints into the mix: if the location of the corridors, turns and floor changes is known, it is possible to adjust the user movement to one (or more) valid trajectories within the map.
Sometimes, after the user walks for a while, it will be possible to extract their location within the building with these methods (especially if we have map constraints). However, most of the time, the starting point needs to be known: either the user provides it (which, we must say, makes it a not-so-useful indoor location system), or another sensor such as WiFi or BLE is used as a complement.
Smartphones have a camera, so why don’t we locate the user by using modern Computer Vision techniques? This is the line of thinking of multiple indoor (and outdoor) location systems, that extract the user location by matching the smartphone captured images/video against a previously recorded database of the building.
This database may typically consist of either 1) ad-hoc landmarks and their location (such as QR codes) or 2) images (or even a 3D model) of all areas of the venue. The principle is always the same: the user points the camera to the front and… Voila! We recognize where they are!
These approaches are obviously very attractive since they don’t require dedicated hardware to work (or they require cheap “infrastructure”, like QR codes). They also provide a good match with Augmented Reality apps, but they also have downsides:
- It works only as good as the number of QR codes installed, or the coverage of the building image database. Achieving excellent results may, therefore, be difficult to implement & maintain.
- Generally, it is unreasonable to expect the user to walk around by pointing the smartphone forward. Most of us walk with our smartphone either in our hand (with the camera pointing to the floor), or in our pocket.
- Speaking of the devil: they don’t work when the smartphone is in the pocket. This is not relevant for indoor wayfinding, but it is if we want to use the same system for indoor tracking use cases as well.
When using an indoor navigation app, most users walk with the smartphone in their hand with the back camera pointing to the floor, and the front camera to the ceiling. The ceiling usually has lights, so some light providers have designed special lighting systems that can be detected using the front camera! Pretty neat!
The main principle is simple: each light emits a unique “light-code” that can be detected by the smartphone, allowing a high level of accuracy. These systems can be very accurate and easy to maintain. The main disadvantage is, of course, that you will need to invest heavily in new infrastructure to change all your lighting systems, and you’ll be tied to a specific hardware & software provider.
4.Indoor positioning and indoor navigation multi-sensor strategy
At this point, you might be thinking: is it possible to take the best of each technique to build a really good indoor positioning and indoor navigation system? And the answer is a round yes! The best indoor positioning systems mix several of the above techniques & sensors to achieve the best result.
This is the case of Situm, which incorporates the information of all the smartphone sensors, including WiFi, BLE, magnetometer, accelerometer, gyroscope, and barometer. In Android devices, these solutions can provide positioning without additional infrastructure, by leveraging on the existing WiFi infrastructure (or maybe complementing it with a few beacons in shaded areas). iOS devices do not allow WiFi scanning, so these solutions rely on Bluetooth beacons in this case. Nevertheless, using all the sensor information allows obtaining great results even with a 10% of the beacons that other approaches require, which is a great saving in infrastructure!
These approaches tend to reach really good accuracies (1-3 meters on average) with frequent and stable location updates (1 per second, not jumpy), without requiring high investments in infrastructure (sometimes, without requiring any infrastructure at all). And the floor where the user is can be detected automatically as well!
5. Indoor positioning and indoor navigation applications
Indoor positioning and indoor navigation have boomed in the last few years due to the number of use cases that flourished around it. Some of the most important are:
- Indoor navigation to improve the visitor experience in large and complex buildings such as hospitals, airports, shopping malls or trade fairs.
- Geo-analytics on space usage to optimize resources and improve processes.
- Geomarketing campaigns to impact the customer at the right place and the right time.
In conclusion, with such an exciting landscape, developers can now create amazing new applications based on indoor positioning and navigation.