add Lokalisierung

- Darstellung der ergebnisse des Algorithmus
- Darstellung der Arbeitsweise
- Beschreibungstext
main
Sebastian Preisner 2 years ago
parent bfb3f7f7a7
commit 3340e83424

@ -420,6 +420,30 @@ Die zeitlichen Abstände sowie die Reihenfolge der Advertising-Pakete sind zufä
![Ausschnitt aus einer Messreihe. \label{fig:messreihe}](../static/Messreihe.png)
### Umsetzung der Trilateration
Zur Umsetzung der Trilateration wird das Lineare Gleichungssystem aus Formel \ref{eq:lgsTrilateration} zu $p_x$ und $p_y$ aufgelöst. Die daraus resultierenden Formeln \ref{eq:trilaterationAlgorithmus} errechnen aus den ermittelten Abstände $r_1$, $r_2$ und $r_3$ zu den jeweiligen Beacons die Positionen $p_x$ und $p_y$.
\begin{equation}\label{eq:trilaterationAlgorithmus}
\begin{aligned}
p_x &= \frac{r_1^2 - r_2^2 + x_2^2}{ 2 \cdot x_2 } \\
p_y &= \frac{r_1^2 - r_3^2 + (x_3^2 + y_3^2) - (2 \cdot x_3 \cdot p_x)}{2 \cdot y_3}
\end{aligned}
\end{equation}
Da die Entfernungsermittlung fehlerbehaftet ist, können verschiedene Szenarien auftreten auf die der angewandte Algorithmus überprüft werden muss. Abbildung \ref{fig:locationAlgorithmTest} zeigt die einzelnen Szenarien die im folgenden kurz beschrieben werden. Die blauen Punkte markieren die Position der Beacon, die durch die übergebenen Radien $r_1$, $r_2$ und $r_3$ sind jeweils durch die roten Kreise symbolisiert. Der ermittelte Punkt $p_x, p_y$ wird als roter Punkt dargestellt:
![Auswirkungen verschiedener Eingabevariablen auf die Lokalisierung durch den verwendeten Lokalsierungsalgorithmus. \label{fig:locationAlgorithmTest}](../static/Lokalisierungstest.pdf)
1. Die Kreise haben einen eindeutigen Schnittpunkt (oben links und unten rechts)
2. Die Kreise haben gar keinen Schnittpunkt (oben mitte)
3. Die Kreise schneiden sich alle, jedoch nicht an einem gemeinsamen Punkt (oben rechts, unten links)
4. Die Kreise schneiden sich teilweise (unten mitte)
In Abbildung \ref{fig:locationAlgorithmWorking} ist die Vorgehensweise des Algorithmus veranschaulicht. Um jeden Beacon wird ein Kreis mit der ermittelten Entfernung als Radius gezogen. Wenn sich zwei Kreise schneiden, so wird eine Gerade (schwarz dargestellt) durch diesen Schnittpunkt gelegt. Gibt es keinen solchen Schnittpunkt, werden die beiden beteiligten Beacon durch eine Linie verbunden (hellblau dargestellt). Ausgehend vom dritten Beacon, wird eine Gerade im \SI{90}{\degree} Winkel durch diese Verbindungslinie gezogen. Die ermittelte Position ist der Punkt, an dem sich alle drei Geraden schneiden.
![Ermittlung der Position bei sich nicht überschneidenden Kreise \label{fig:locationAlgorithmWorking}](../static/LocationAlgorithmWorking.pdf)
### Filter Implementierung
Bei der Filterung der Messdaten wird, wie in Abschnitt \ref{ermittlung-der-messwerte} ein gleitendes Fenster eingesetzt. Da durch die Filter eine eine Glättung der Messwerte erfolgen soll, kommt ein größeres Fenster von \SI{800}{\milli\second} zum Einsatz. Das Fenster setzt sich aus \SI{600}{\milli\second} vor dem betrachteten Messwert und \SI{200}{\milli\second} nach dem betrachteten Wert zusammen. Das asymmetrische Fenster wurde gewählt um eine möglichst Verzögerungsfreie Berechnung der Daten zu simulieren.

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.
Loading…
Cancel
Save