The task for my master thesis was to investigate the potentials of indoor positioning systems in industrial environments. I developed a system that determines the position with a neural network that evaluates Bluetooth signals.
From August 2015 to May 2016, I worked at the Fraunhofer Institute for Laser technology as a research assistant and did my master thesis. My task was to investigate the feasibility and limits of an indoor positioning system for industrial environments. The main requirement was that the system should work on an off-the-shelf tablet. Additional hardware could be placed in the environment, but not on the tablet.
The given use case was the control and maintenance of laser sensors. The idea was that a worker or maintenance technician in a factory could walk around with a tablet, which would navigate the user to the sensors and automatically display information like measurement statistics for the devices around him. To determine the real-world requirements and make sure that the research goals of the project would actually benefit the end-users, I had talks with a company that produces laser sensors like the one the Fraunhofer ILT was developing and with a company that used these sensors in their production line.
As the main result of the thesis, I developed a new positioning algorithm that process Bluetooth signals with a neural network. The most problematic environment for the system was a metal processing factory where we evaluated its accuracy. In such an environment, big metal objects and large moving structures distort the propagated signals. Fortunately, the algorithm yielded stable results even in this environment.
In Addition to the positioning system, I developed a functional web-based control GUI for the institute's laser sensor. It uses the position from my positioning software to display the user position on a map and automatically opens the control interface for the sensors that the user approaches. Without the positioning, the GUI can also be used as a control software on any device with a web browser and a Wi-Fi connection to the sensor's control unit.
Tablets often are equipped with GPS sensors that can determine the position of the user. However, inside of buildings, especially factory halls that usually consist of metal, the received GPS signal is too weak to reliably determine a position.
For my thesis, I evaluated different existing positioning technologies. For my implementation, I chose the method of Bluetooth signal evaluation because of its low cost and relative robustness.
Bluetooth signal evaluation might be the most common method of indoor positioning. Off-the-shelf hardware like iBeacon devices exists for this specific purpose. The basic idea is to measure the received signal strength (RSS) of several Bluetooth devices in the environment. In a very basic approach, we could use the signal strengths to estimate the distance to the source. The distances and known positions of the sources could then be used to estimate the position of the signal receiver.
However, there are several issues with this that make this approach more or less unusable in practice:
- The measurements have a lot of noise, making a direct estimation of the distance difficult
- The signals usually propagate very unevenly in the environment, making it impossible to safely determine the distance to the sender just by looking at the signal strength.
- It is very hard to predict the exact propagation patterns of the signals.
- The received signal strength heavily depends on the angles between both the sending and receiving antennas.
To circumvent the problem of the unpredictable signal propagation, most practical approaches take calibration measurements to determine the actual signal strengths. These measurements form a database of signal strengths at known positions.
One simple method using such a database is known as fingerprinting. For this method, we compare the measured signal strengths wit the ones in our database and choose the position where the measurements were closest to the current ones.
Other methods try to establish a stochastic model that gives the probability of a certain measurement for each possible position. The position can then be determined by checking all possible positions (or some of them if the search space is continuous) and applying the Bayes decision rule to find the position with the highest probability. In combination with particle filters, these algorithms can estimate the position very fast and also take the history of measurements into account.
In my thesis, I tried to approach the problem of indoor positioning from a machine learning point of view. I thought of the calibration database as training data and tried to find a machine learning technique that would be able to learn how to determine the correct position from given measurements.
I achieved surprisingly good results with a simple fast-forward neural network. The input layer of the network is fed with the signal strengths (mapped to a [-1,1] range) and two output units give the x and y coordinates of the position.
The limiting factor for the accuracy was the number of calibration measurements. To have a larger training set, I duplicated each measurement and added noise both in the signals and the position. This way, the system could train on 2000 samples. The noise in the measurements is so large that the small added noise has no big effect on the end result. To increase robustness against defective Bluetooth devices, a part of the signals was randomly muted in the training data.
My task was to develop a positioning system for industrial environments. However, to understand the influence of the environment on the accuracy, the implemented methods were also evaluated in several other environments:
- On an outdoor field without any obstacles
- In an office building
- On a trade fair booth
- In a factory hall
In all environments, the neural network produced the most accurate results. In the factory hall, my system could determine the position with an average error of 7.5 meters.
|Method||Average error||Maximum error|
|Random||27.3 m||55.1 m|
|Fingerprinting||9.5 m||24.4 m|
|Stochastic||12.4 m||51.4 m|
|Neural network||7.5 m||14.2 m|
Especially the maximum errors are significantly lower with my approach. One interpretation of this fact could be that the neural network has a higher robustness in problematic situations or is better at predicting signal propagation. This is surprising, as neural networks and machine learning are often associated with problematic border-cases.
In the limited time frame of a master thesis, it was of course not possible to develop a stable system for production use or get definitive answers to the research questions. However, I was able to show that neural networks and machine learning in general might be able to improve the accuracy of current indoor positioning systems. Another finding is that even under problematic conditions, the accuracy of such a system is good enough to navigate in a factory hall.