Nowadays, indoor location and positioning technologies are becoming a more and more prominent research and development direction. Most of the work has been done in the last decade but a de facto standard has yet to emerge. This makes indoor positioning an interesting field for scientists and developers alike.
The aim of this thesis is the design and development of an indoor positioning system for Android devices. The system is set out to provide room level accuracy with high precision relying solely on an existing infrastructure and consumer devices.
The implemented system uses the existing WLAN infrastructure and employs a technique called location fingerprinting to determine the users’ location. It consists of a server written in Java and an Android client application.
The thesis presents a carefully constructed system design that contains multiple components that work in unison to achieve the previously mentioned goals. The design employs some clever ideas to make the system adaptive to changes and the location algorithm scalable.
Experimental results show that the system can achieve room level accuracy with high precision. The system can achieve acceptable results even when faced with circumstances that are less favourable. The idea of client side fingerprint aggregation is presented and found successful to significantly improve results in such cases.
The developed system can be used as a basis for location based services or as a standalone positioning system for indoor environments. The system design and the insights gained during the evaluation phase can also guide other developers in creating their own indoor positioning systems.