A few months ago we had a meeting with a potential client. They told us that they were looking into indoor navigation/positioning so they could use that to provide visitors of their events a better experience. After some research and tests they said that IndoorAtlas gave them the best results. The client decided to give priority to other functionality, but we were enthusiastic.
Each year we organise our own developers conference (Luminis DevCon). Last year we developed an app that contained information about the sessions, speakers, the location and the possibility to rate a session. While all this was great, we at Luminis value the conversation and so this year we wanted to create something new in the app. Something that was fun, cool and could help in having more conversations. So we thought what if we use indoor positioning to show the location of the speakers in real-time?! Then people can find a speaker and start asking questions or just take a selfie 😉
In this blog I will tell you a bit about the technology and I will show you the result of how we have used it at our conference.
IndoorAtlas – How does it work
IndoorAtlas, a hybrid indoor positioning platform, uses different data sources in a phone such as the build-in magnetic sensor and the barometric sensor to create a map of a building. Combined with other sources like Wi-Fi and beacons they can optimise the location of a user.
The system contains of a SDK that runs on the device, which sends compressed sensor data to IndoorAtlas Cloud. IndoorAtlas Cloud will match this data to so called “signal maps”. Signal maps are maps that are generated based on the data that is collected during the mapping the floor plan.
Before you can use the platform you first have to upload a floor plan to the developers application and place this on correct location. After that you can start mapping. Mapping, also known as fingerprinting, is done using the MapCreator2 for Android by physically walking through the venue. In the MapCreator app you will need to add waypoints. The waypoints act as confirmation points for your data collection paths.
The image below shows how many waypoints we have added before we started to map the floor plan.
When you’re done with adding all waypoints, you will need to walk different routes between the waypoints. When you arrive at a waypoint, you need to check-in. That way IndoorAtlas knows your position. The best way to get a good result is to walk many different routes.
The next image shows all the paths that we have walked in the venue. We have tried to walks as many paths as possible to get the best coverage. It is also possible to exclude incorrect paths so that those are not processed when generating a map.
After uploading all the paths to IndoorAtlas, you can check if you have enough coverage. A well mapped floor plan should look something like this:
Now that we are done with mapping, it is time to develop our app! IndoorAtlas provides an API for native Android and iOS, cordova and Unity. They also have different example projects on GitHub.
The API offers the possibility to retrieve a floor plan, of course some calls to do something with your position but also to see if you are located in a certain region. Regions are used to determine if a user is changing floors and therefore need to see a different floor plan. Other features are indoor-outdoor detection and wayfinding.
We have created our conference app with Ionic and have used the cordova API for IndoorAtlas. To increase the accuracy of the speakers location we have used 8 beacons during the conference. In the video below you can see the result. You will see that in the beginning the accuracy is not very high, but becomes better when we start moving around.