Projekt 53: iBeacon Indoor Lokalisierung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
TI Sensor Tag
TI Sensor Tag

Autoren: Bozer, Ranzinger
Betreuer: Prof. Schneider

→ zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)

Aufgabe

Die Aufgabe besteht darin, die Daten von einem Sensortag (CC2650) der Fa. Texas Instruments auszulesen und zu lokalisieren.

Als Motivation dient dabei die Schwäche der GPS-Lokalisierung auszunutzen und diese zur Stärke in stark abgeschirmten Orten (wie Beispielsweise in Tunneln oder teilweise in Einkaufszentren) zu machen.

Erwartungen an die Projektlösung

  • Recherchieren Sie Verfahren zur Indoor Navigation
  • Machen Sie sich mit iBeacon vertraut und nutzen Sie dieses Verfahren zur Lokalisierung
  • Lokalisieren Sie ein dynamisches Fahrzeug während der Fahrt und bestimmen Sie die Genauigkeit Ihres Systems.
  • Nutzen Sie als Referenz unser TopCon Lasertracker-System (alternativ: Verwendung eines Gliedermaßstabs)
  • Machen Sie ein spektakuläres Videos, welche die Funktion visualisiert und Ihre Ergebnisse denen von des Referenzsystems gegenüberstellt.
  • Test und wiss. Dokumentation
  • Live Vorführung während der Abschlusspräsentation

Einleitung

Bevor der Sensortag detailliert und die Problemlösung vorgestellt wird, sollte der Leser eine kleine Motivation für die Thematik bekommen.

Die Indoor-Lokalisierung findet in vielen Bereichen Anwendung und ist eines der wesentlichen Bausteine für die Industrie 4.0-Lösungen. Die Lösungsansätze für diesen Baustein sind sehr breit gefächtert und beinhalten Technologien wie hochfrequenten Mobilfunkstandard 5G, Ultraschall oder Bluetooth-Low-Energy Techniken. [1]

Der Sensortag CC2650 verwendet für die Kommunikation Bluetooth Low Energy (BLE). Dabei agiert die 4. Generation der Bluetooth-Kommunikation wie ihre Vorgänger im 2,4 GHz Bandbreite. Allerdings liegt der wesentliche Unterschied im Stromverbrauch. Mit einer Knopfzelle (bspw. CR 2032) können Geräte teilweise jahrelang (bis zu 5 Jahren) betrieben werden und sind somit kostengünstigere alternative zu dem "normalen" Bluetooth. Dies liegt vorallem daran, dass die Verbindung nur wenige Millisekunden (beim Bluetooth ~100 Millisekunden) aufrecht erhalten wird, da die Datengeschwindigkeit bei 1 Mb/s liegt und die Daten "nur" in geringen Mengen periodisch transferiert werden [2].

Die Lokalisierung kann über die Berechnung der Entfernung zum Empfänger geschehen. Jedoch haben die "Beacons" mit BLE keinen konstanten Abstrahlungsfeld und die Signale werden durch organische Körper, Metallen usw. abgeschirmt[1]. Die Genauigkeit in der Lokalisierung leidet zwar darunter, jedoch kann man mit verschiedenen Ansätzen diesen entgegenwirken.

Für die Lokalisierung mittels des Sensortag bietet sich jedoch die Verwendung der unterschiedlichen Sensoren an. Neben verschiedenen Sensoren zur Aufnahme von Umgebungsgrößen wie die Temperatur und die Luftfeuchtigkeit, bietet der Sensortag auch Bewegungsdaten die für dieses Projekt verwendet werden.

Projekt

Projektplan

Flashen des USB Dongle

Die Software Matlab, mit welches die Lokalisierung programmiert wurde, unterstützt die Bluetooth-Low-Energy Technologie noch nicht. Um dennoch Daten von dem TI Sensortag zu empfangen und zu bearbeiten, muss dies über eine Schnittstelle geschehen. Dafür bietet die Fa. TI den USB Dongle CC 2540 an. Diese muss man allerdings auf die Aufgabe vorbereiten, weil alleine durch "Plug & Play" bekommt der Dongle keinen Port und ist somit unbrauchbar für Matlab.

Jedoch kann man nicht alleine über USB auf den Chip des USB Dongle (CC 2540) zugreifen. Dafür ist ein sog. Debugger notwendig. [1]

Debugger vor und nach Installation des Treibers
SmartRF Flash Programmer

Es folgt nun eine Anleitung zum Flashen des USB Dongle (CC 2540):

  1. Software installieren
  2. Debugger an den Rechner per USB anschließen
  3. Treiber installieren
    • Geräte-Manager öffnen (Windows)
    • CC Debugger finden und "Treiber aktualisieren"
    • "auf dem Computer nach Treibersoftware suchen"
    • den heruntergeladenen Treiber (aus 1. Software) auswählen und installieren
  4. Den USB Dongle CC 2540 an den Debugger anschließen und den Knopf des Debugger drücken. Nach erfolgreicher Installation des Treibers, sollte nun die LED am Debugger "grün" leuchten (siehe Bild Debugger vor und nach Installation des Treibers).
  5. SmartRF Flash Programmer starten und überprüfen, ob der Dongle CC 2540 erkannt wird (siehe Bild SmartRF Flash Programmer).
  6. Falls ja, unter Flash-Image folgende Datei auswählen (Flash-Image bekommt man aus der Installation vom BLE-STACK 1a):
    • CC2540_USBdongle_HostTestRelease_All.hex
  7. Den Rest unverändert lassen und auf „Perform actions“ klicken und flashen
  8. Während des Flash-Vorgangs, wechselt die LED am CC2540 die Farbe (von grün auf rot)
  9. Im Geräte-Manager überprüfen, ob der CC2540 USB Dongle einen seriellen Port (z.B. COM-7) zugewiesen bekommen hat.
  10. Herzlichen Glückwunsch, die Vorbereitungen sind abgeschlossen.

Ausführen der Software

Zum Ausführen der Software müssen einige Schritte beachtet werden. Anpassungen im Quellcode:

  1. Line X: Anpassung des COM-Ports kann mit dem MATLAB-Befehl instrfind ausgelesen werden
  2. Line X: Anpassen der MAC-Adresse (Firmware Version beachten)

Anschließend kann zum Starten die Funktion X ausgeführt werden. Hier muss die Ausgabe in der Konsole beachtet werden. Bei Auftreten von Fehlern muss das Programm mit Ctrl + C in der Konsole abgebrochen und anschließend neu gestartet werden. Nach der Initialisierung öffnet sich ein Diagramm zur Darstellung der Position im Raum.

Hinweise

  • Die Firmwareversionen auf den Sensortags können unterschiedlich sein (damit auch die GATT-Tabellen) die Software ist für die Version X.Y ausgelegt (auf Sensortag mit Mac-Adresse .05)

Ergebnis

Die größte Schwierigkeit lag dabei, die genaue Position zu bestimmen. Die Beschleunigungsdaten sind selbst im Ausgangszustand stark am rauschen und durch die doppelte Integration, um den Weg bestimmen zu können, wächst die Unsicherheit mit. Für diese Lösung bietet sich zwar die Filterung der Messwerte per Kalman-Filter an, jedoch erweist sich dieser Ansatz als extrem schwierig umzusetzen.

Zusammenfassung

Lessons Learned

Was lief gut?

  • Implementierung des Kalman-Filters war Problemlos und zeitnah durchgeführt

Was lief nicht so gut?

  • Fehlende Kabel zum Flashen des USB-Dongles + Lange Lieferzeiten => Frühzeitig über alternativen Weg gedanken machen
  • Es wurde davon ausgegangen, dass jeder Sensortag die gleichen Daten liefert: Probleme mit GATT-Tabellen => Firmwareversionen müssen immer geprüft werden
  • Implementierung der Positionsabschätzung Schritt für Schritt, also jeweils eine Achse. Erst nach erfolgreicher Umsetzung der einzelnen Achsen zusammenfassen

Projektunterlagen

Programmablaufplan der Indoor Lokalisierung

YouTube Video

Weblinks

Literatur

  1. 1,0 1,1 Indoor-Lokalisierung: Ein Schlüssel zur Industrie 4.0.Quelle: https://www.intralogistik-bw.de/indoor-lokalisierung-ein-schluessel-zur-industrie-4-0-was-ist-gerade-wo-zu-finden-i-n-zeigt-smart-practices-2/ (abgerufen am 06.12.2018)
  2. Bluetooth Vs. Bluetooth Low Energy: What's The Difference?.Quelle: https://www.link-labs.com/blog/bluetooth-vs-bluetooth-low-energy (abgerufen am 06.12.2018)


--- → zurück zur Übersicht: WS 18/19: Angewandte Elektrotechnik (BSE)