Für meine Masterarbeit habe ich die Möglichkeiten und Grenzen einer Indoor-Standorterkennung in industriellen Umgebungen untersucht. Dafür entwickelte ich eine Software, in der ein neuronales Netzwerk den Standort des Benutzers auf Grundlage von Bluetooth-Signalstärken bestimmt.
Von August 2015 bis Mai 2016 war ich beim Fraunhofer-Institut für Lasertechnik (ILT) als wissenschaftliche Hilfskraft angestellt und absolvierte meine Masterarbeit. Meine Aufgabe war es, eine Indoor-Standorterkennung zur Verwendung in industriellen Werkshallen zu entwickeln. Die wichtigste Anforderung dabei war, dass das System auf einem handelsüblichen Tablet funktionieren sollte. Zusätzliche Hardware durfte in der Umgebung, aber nicht am Tablet angebracht werden.
Der gegebene Anwendungsfall war die Bedienung von Laser-Sensoren zur Dickenmessung, wie sie vom Fraunhofer ILT entwickelt werden. Die Idee war, dass ein Mitarbeiter oder Service-Techniker in einer Werkshalle sich mit einem Tablet durch die Halle bewegen könnte, welches ihm den Weg zu verschiedenen Geräten weist und automatisch Informationen und Steueroptionen zu Geräten in seiner Nähe anzeigt. Um möglichst praxisnahe Anforderungen aufzustellen und sicherzustellen, dass das Vorhaben tatsächlich einen Nutzen für Benutzer haben könnte, führte ich Gespräche mit einem Hersteller von Lasersensoren und dem Betreiber eines Walzwerkes für Metallbleche, in dessen Produktionsprozess entsprechende Sensoren verwendet wurden.
Als Hauptergebnis meiner Arbeit entwickelte ich ein Verfahren zur Standorterkennung, das Bluetooth-Signale mit einem neuronalen Netzwerk verarbeitet. Das System wurde unter anderem im zuvor genannten Walzwerk getestet. In dieser Umgebung gab es große bewegte Metallobjekte und andere Strukturen, die die Ausbreitungsmuster ständig verfälschen. Mein System war in der Lage, auch in dieser problematischen Umgebung brauchbare Standorte zu bestimmen.
Um das System möglichst praxisnah testen zu können, entwickelte ich außerdem eine Bedienoberfläche für die Laser-Sensoren des Fraunhofer ILT. Das Frontend der Software ist eine moderne web-basierte GUI. Es verwendet die Position meiner Standorterkennung und zeigt dem Benutzer automatisch die Steuerungs-Optionen eines Sensors an, wenn der Benutzer sich ihm nähert. Ohne die Standorterkennung kann die Bedienoberfläche zur einfachen Steuerung der Geräte verwendet werden. Dank der web-basierten GUI funktioniert das auf jedem Gerät mit einem Browser und einer WLAN-Verbindung zur Steuereinheit des Sensors.
Technische Übersicht
Tablets verfügen in der Regel über GPS-Empfänger, mit denen Positionen bestimmt werden können. Leider funktioniert dies innerhalb von Gebäuden nicht zuverlässig, da die Satellitensignale des Systems zu schwach sind. Dies gilt auch für Werkshallen, die häufig aus Metall bestehen und die GPS-Signale besonders stark abschirmen.
Im Vorfeld der Arbeit habe ich verschiedene vorhandene Technologien zur Standorterkennung ausgewertet. Für meine Implementierung habe ich mich für die Auswertung von Bluetooth-Signalstärken entschieden. Dieses Verfahren ist kostengünstig und vergleichsweise robust.
Bei der Auswertung von Signalstärken handelt es sich um eines der am häufigsten verwendeten Verfahren zur Indoor-Standorterkennung. Im Handel findet sich Hardware wie iBeacon-Sender, die speziell für diesen Zweck vorgesehen sind. Die grundlegende Idee ist es, die Signalstärke von Sendern zu messen, die zuvor in der Umgebung an festen Punkten platziert wurden. In einem naiven Ansatz könnte man diese Signalstärken verwenden, um die Distanzen zu den Sendern abzuschätzen und anhand der bekannten Senderpositionen den Standort des Benutzers zu bestimmen.
Leider stößt man mit diesem Ansatz in der Praxis auf verschiedene Probleme:
- Die Messwerte sind stark verrauscht, so dass die geschätzten Abstände große Fehler enthalten.
- Die Signalstärken breiten sich in der Umgebung typischerweise sehr ungleichmäßig aus, so dass ein eindeutiger Zusammenhang zwischen Signalstärke und Distanz zum Sender häufig nicht gegeben ist.
- Durch verschiedene physikalische Effekte wie Reflexion, Refraktion und Interferenz sind die tatsächlichen Ausbreitungsmuster nur sehr schwer vorherzusehen.
- Die gemessene Signalstärke hängt stark vom Winkel zwischen den Sendern und dem Tablet ab. Dreht der Benutzer das Tablet, kann sich der Messwert um Größenordnungen ändern.
Vorhandene Ansätze
Um das Problem der unvorhersehbaren Ausbreitungsmuster zu umgehen, stützen sich die meisten in der Praxis verwendeten Ansätze auf zuvor aufgenommene Referenz-Messwerte. Diese Messungen ergeben eine Datenbank aus bekannten Standorten und dort gemessenen Signalstärken.
Ein einfaches, aber verbreitetes Verfahren nennt sich Fingerprinting. Hier werden die aktuell gemessenen Signalstärken mit denen in der Datenbank verglichen und der Standort jener Referenzmessung ausgewählt, deren Signalstärken den aktuellen am ähnlichsten sind.
Andere Verfahren stellen ein stochastisches Modell auf, um die Wahrscheinlichkeit eines bestimmten Messwertes an jeder möglichen Position angeben zu können. Der Standort wird dann bestimmt, indem alle möglichen Positionen geprüft werden (oder nur einige, falls der Suchraum kontinuierlich ist) und die Bayes-Regel angewendet wird, um die wahrscheinlichste Position zu finden. In Verbindung mit Partikelfiltern können diese Verfahren sehr schnell einen Standort bestimmen und dabei auch vergangene Messwerte berücksichtigen.
Mein Ansatz
In meiner Masterarbeit habe ich versucht, das Problem der Indoor-Standorterkennung mit Machine-Learning-Methoden zu lösen. Dazu habe ich die Referenz-Datenbank als Trainingsdaten betrachtet und ein Verfahren entwickelt, das so „lernt“, neue Messwerte der korrekten Position zuzuordnen.
Ich konnte überraschend gute Ergebnisse mit einem einfachen fast-forward neuronalen Netzwerk erzielen. Auf der Eingabeschicht wurden die Signalstärken der Sender angelegt (auf [-1,1] normalisiert). Die Position konnte als x- und y-Koordinate von zwei Ausgabeknoten abgelesen werden.
Der begrenzende Faktor bei der Genauigkeit war die Anzahl der Referenz-Messwerte. Um über mehr Trainingsdaten zu verfügen, vervielfacht das System jeden Messwert, wobei Position und Signalstärken jedes mal leicht verrauscht werden. So wird die Trainings-Datenbank auf 2000 Messwerte „aufgebläht“. Das vorhandene Rauschen in den tatsächlichen Messwerten ist so groß, dass das Hinzufügen eines kleinen weiteren Rauschens die Genauigkeit nicht nennenswert verschlechtert. Um die Robustheit des Systems gegen den Ausfall einzelner Sender zu erhöhen, werden bei der Vervielfältigung zufällig Sender künstlich deaktiviert.
Ergebnisse
Meine Aufgabe war es, ein System für industrielle Umgebungen zu entwickeln. Um den Einfluss der Umgebung auf die Standorterkennung besser zu verstehen, wurde das System in verschiedenen Umgebungen getestet:
- Auf einem freien Feld ohne Hindernisse
- In einem Bürogebäude
- Auf einem Messestand
- In einer Werkshalle
Um mein Verfahren bewerten zu können, habe ich zusätzlich zwei existierende Verfahren implementiert. In allen untersuchten Umgebungen konnte mein Verfahren die höchsten Genauigkeiten erzielen. In der untersuchten Werkshalle konnte das System die Standorte mit einem mittleren Fehler von 7.5 Metern bestimmen.
Verfahren | Mittlerer Fehler | Maximaler Fehler |
---|---|---|
Random | 27,3 m | 55,1 m |
Fingerprinting | 9,5 m | 24,4 m |
Stochastisch | 12,4 m | 51,4 m |
Neuronales Netzwerk | 7,5 m | 14,2 m |
Der maximale Fehler ist in meinem Verfahren besonders gering. Dies ist überraschend, da neuronale Netzwerke und Methoden aus dem Machine-Learning-Bereich eher mit Problemen in Grenzfällen assoziiert werden.
In der begrenzten Bearbeitungszeit einer Masterarbeit konnte ich natürlich kein System entwickeln, dass für den Praxiseinsatz geeignet wäre. Ich konnte aber zeigen, dass sich die vorhandenen Ansätze durch neuronale Netzwerke und Machine-Learning im Allgemeinen verbessern lassen könnten. Ein weiteres Ergebnis der Arbeit ist, dass mit den verfolgten Ansätzen Positionen bestimmt werden können, die ausreichend genau sind, um sich in einer Werkshalle zurechtzufinden.