Archived
117 lines
18 KiB
TeX
117 lines
18 KiB
TeX
\chapter{Grundlagen}
|
|
Dieses Kapitel startet mit der Beschreibung des vorhandenen Fahrzeugs, dem Rover, anhand der darüber verfassten Projektarbeit. Dabei ist die Systemarchitektur und die vorhandene Schnittstellen von besonderer Relevanz, da diese genutzt werden müssen, um die nötigen Implementierungen für diese Arbeit ausführen zu können. Im weiteren Verlauf des Kapitels werden die notwendigen Protokolle erläutert. In diesem Abschnitt wird besonderes auf die Erläuterung der Funktionsweise von GNSS und den Möglichkeiten für Korrekturen der Positionsdaten eingegangen. Darauf folgt eine Beschreibung der Funktionen von Hardwarekomponenten. Geschlossen wird das Kapitel mit der Erläuterung von benötigter und verwendeter Software.
|
|
|
|
\section{Rover}
|
|
\label{sec:rover}
|
|
Der Rover wird durch einen 3-Zellen Lithium-Ionen-Akkumulator mit Strom versorgt, dabei wird der Motortreiber und somit auch die beiden Motoren für den Skid-Antrieb mit der anliegenden Spannung des Akkus von nominal \(11,1V\) versorgt. Der Akkumulator und der Motortreiber befinden sich nebeneinander auf der Unterseite des Hauptträgers der Komponenten, auf dem Bild \ref{fig:rover} das blaue Plastik. Je einer der beiden Motoren treibt eine der Fahrzeugseiten an, diese bestehen aus jeweils drei Rädern welche alle über einen Riemen mit der Ausgangswelle des Getriebes zur Untersetzung verbunden sind. An der dieser Ausgangswelle befindet sich ein Encoder-Rad welches durch eine einfache Gabellichtschranke ausgelesen wird, dafür wird der in Hardware implementierte Pulsecounter des verbauten Prozessors verwendet.
|
|
\par
|
|
Die restlichen Komponenten werden mit \(5V\) versorgt, die \(5V\) werden über einen Spannungsregler mit einem maximalen dauerhaften Ausgangsstrom von \(1A\) bereitgestellt. Der Spannungsregler befindet sich auf der Hauptplatine, welche wiederrum auf der oberseite des Hauptträgers zentral verbaut ist. Diese Platine verbindet alle Komponenten mit dem auf einem aufgesteckten Entwicklungsboard verbauten ESP32 Prozessor. Der ESP32 stellt verschiedene Schnittstellen über die GPIO (General Purpose Input Output) Pins zur Verfügung, davon werden für den Rover die Bussysteme I2C und SPI, ein ADC Kanal (Analog Digital Converter) und PWM (Pulsweitenmodulation) genutzt. Weitere Kommunikation findet auf dem drahtlosen Weg statt, dafür wird das WiFi-Modul genutzt, mit diesem kann eine Verbindung zum einem \(2,4GHz\) WLAN aufgebaut werden und es wird mit dem Protokoll ESPNow über das selbe Frequenzband eine Verbindung zu der Fernbedienung hergestellt. Zur Verwaltung des Funkmoduls und der Bewältigung anderen Aufgaben, welche an den Prozessor gestellt werden, verfügt dieser über zwei Xtensa 32bit LX6 Kerne, welche mit bis zu \(240MHz\) takten. Als SRAM stehen 540 KB bereit und der Flash-Speicher für die Software ist 4 Megabyte groß.
|
|
\par
|
|
Mit auf der Hauptplatine befindet sich das ebenfalls aufgesteckte Entwicklungsboard von Sparkfun. Das Board nutzt den SPI-Bus um die Kommunikation zwischen dem ESP32 und dem ZED-F9K herzustellen. Bei dem ZED-F9K handelt es sich um einen hochpräziser multi-band GNSS Receiver, welcher die Signale von allen öffentlichen Satelliten gestützten Navigationssystemen verarbeiten kann. Zusätzlich können Korrekturdaten verarbeitet werden mit welchen die Genauigkeit der Positionsbestimmung auf den Bereich einstelliger Centimeter erhöht wird. Auf der Platine befindet sich eine SMA-Buchse mit welcher die GNSS-Antenne verbunden ist. Die Antenne befindet sich am Heck des Rovers auf dem grünen T-Träger.
|
|
\par
|
|
Der I2C-Bus wird benutzt um den letzten Sensor und ein Display anzubinden. Bei dem Sensor handelt es sich um einen Kompass, welcher möglichst weit entfernt von anderen Komponenten sein sollte und deshalb auf dem Mast der neben dem Display nach oben ragt montiert ist und die aktuelle Himmelsrichtung bei richtiger Kalibrierung auf \(2^{\circ}\) genau angeben kann. Bei dem Display auf dem Querbalken handelt es sich um ein 16 x 2 Zeichen LCD, dieses wird von einem I2C-Seriell Adapterinterface betrieben.
|
|
\par
|
|
Zu dem Rover gehört eine Fernbedienung, welche über sieben Tasten und einem Joystick als Eingabemöglichkeit verfügt. Vier Tasten bilden ein Steuerkreuz, um das navigieren im Menü zu ermöglichen. Zwei Weitere Tasten werden zum bestätigen und ablehnen genutzt. Die letzte Taste wird als Action-Button bezeichnet und wird betätigt, wenn der Joystick gedrückt wird. Die Taste ist für spezielle Aktionen der verschiedenen Betriebsmodi des Rovers vorgesehen. An der Fernbedienung wurde ebenfalls das zuvor genannte LCD verbaut, dieses spiegelt das Display am Rover. Die Fernbedienung wird ebenfalls von einem ESP32 gesteuert, dieser stellt die Kommunikation über das genannte ESPNow Protokoll zu dem Rover her. Um die Fernbedienung mit Energie zu versorgen wird eine Powerbank benötigt an der das heraushängende USB-Kabel vom Typ A angeschlossen werden kann.
|
|
\par
|
|
Die vorhandene Software für den Rover ist Objektorientiert und Modular aufgebaut. Zusätzlich ist Programmcode für die Benutzeroberfläche von dem restlichen Code getrennt. Die Struktur des Codes wird wesentlich durch zwei Interfaces bestimmt. Das erste wird als 'Component' bezeichnet und muss implementiert werden um eigenständige wiederkehrende Aufgaben zu implementieren. Das zweite Interface mit dem Namen 'DriveModi' definiert welche Mindestanforderungen an einen Betriebsmodus des Rovers gestellt werden und stellt die Komponenten für die Benutzereingaben, die Sensorverwaltung und die Bewegungsreglung zur Nutzung im Betriebsmodus bereit. Andere Komponenten überwachen den Akku, steuern das Display, verwalten die Benutzeroberfläche, überwachen Benutzereingaben oder verarbeiten Sensordaten.
|
|
|
|
\section{Protokolle}
|
|
Dieser Abschnitt beschreibt die verschiedenen Protokolle, welche von unterschiedlichen Teilsystemen genutzt werden um die Funktionalität des Gesamtsystems zu ermöglichen.
|
|
\subsection{GNSS}
|
|
!!! Tabelle aus Projektarbeit mit Satelliten übernehmen!!!
|
|
|
|
\subsection{SBAS}
|
|
\subsection{RTK oder RTCM}
|
|
\subsection{NTRIP}
|
|
|
|
\subsection{WLAN}
|
|
Das Akronym WLAN wird ausgeschrieben zu \textbf{W}ireless \textbf{L}ocal \textbf{A}rea \textbf{N}etwork. Dabei handelt es sich um drahtlose lokal begrenzte Netzwerke, welche dafür vorgesehen sind mobile Endgeräte direkt oder über eine Vermittlungsstelle, wie einem Router, miteinander oder anderen Netzwerken zu verbinden. Diese Art von Netzwerken werden am häufigsten durch den IEEE 802.11 Standard \cite{WLAN} realisiert.
|
|
\par
|
|
Der genannte Standard wurde erstmals 1997 veröffentlicht und wird seit dem immer wieder dem aktuellen Anforderungen angepasst. Zunächst wurde die Physikalische Ebene in dem \( 2,4 GHz\) Frequenzband definiert. In der ersten Erweiterung (IEEE 802.11a) von 1999 wurde das \(5GHz\) Band dem Standard hinzugefügt. In dem ersten Frequenzband können die Frequenzen \( 2,3995GHz - 2,4845GHz\) genutzt werden, dafür wird dieser Bereich in 13 sogenannten Kanäle aufgeteilt. Es werden Kanalbreiten von \(20MHz\) und \(40MHz\) genutzt. Das \(5GHz\) ist in zwei Frequenzbereiche aufgeteilt, zum einen von \(5,15GHz - 5,35GHZ\) und zum anderen von \(5,5GHz - 5,7GHz\), dabei werden die Kanäle von 36 bis 64 und von 100 bis 140 angeben. Die Kanalbreite kann zwischen \(20MHz\), \(40MHz\), \(80MHz\) und \(1600MHz\) variiert werden. Dabei ist zu beachten, dass die verschiedenen Kanalbreiten erst mit späteren Standards implementiert wurden.
|
|
\par
|
|
Die verschieden Korrekturen und Erweiterungen des Standard dienen im allgemeinen dazu eines oder mehrere der folgenden Kriterien zu verbessern: Geschwindigkeit, Reichweite, Zuverlässigkeit und Effizienz. Die Fortsetzungen wurden beginnend mit dem Buchstaben 'a' begonnen, nachdem das Alphabet vollständig genutzt wurde, werden nun zwei Buchstaben genutzt. Es handelt sich dabei um ein Zahlensystem zur Basis 26. In der Tabelle \ref{tab:wlan} sind einige wichtigere oder bekanntere Erweiterungen des Standards aufgeführt.
|
|
\par
|
|
|
|
\begin{table}[]
|
|
\centering
|
|
\begin{tabular}{|l|c|c|c|}
|
|
\hline
|
|
\textbf{Standard} & \multicolumn{1}{l|}{\textbf{Verabschiedung}} & \multicolumn{1}{l|}{\textbf{\begin{tabular}[c]{@{}l@{}}Frequenzband\\ {[}GHz{]}\end{tabular}}} & \multicolumn{1}{l|}{\textbf{\begin{tabular}[c]{@{}l@{}}max. Brutto\\ Datenrate\end{tabular}}} \\ \hline
|
|
802.11a & 1999 & 2,4 \& 5 & \(54\frac{MBit}{s}\) \\ \hline
|
|
802.11b & 1999 & 2,4 & \(11\frac{MBit}{s}\) \\ \hline
|
|
802.11g & 2003 & 2,4 & \(54\frac{MBit}{s}\) \\ \hline
|
|
802.11n & 2009 & 2,4 \& 5 & \(600\frac{MBit}{s}\) \\ \hline
|
|
802.11ac & 2013 & 5 & \(3,4\frac{GBit}{s}\) \\ \hline
|
|
802.11ax & 2019 & 2,4 \& 5 & \(12\frac{GBit}{s}\) \\ \hline
|
|
802.11be & ausstehend & 2,4, 5 \& 6 & \(46\frac{GBit}{s}\) \\ \hline
|
|
\end{tabular}
|
|
\caption{Ausschnitt verschiedener IEEE 802.11 Standards}
|
|
\label{tab:wlan}
|
|
\end{table}
|
|
|
|
Die Verbreitung von WLAN in das alltägliche private Leben begann mit dem 802.11b Standard, weil mehrere Hersteller begannen Geräte für einen moderaten Preis zu verkaufen und diese durch den Standard Kompatibel zu einander sein müssen. Dadurch wurde es viel leichter Laptops und andere mobile Gräte kabellos mit dem Netzwerk zu verbinden. Heute sind in fast jedem Gebäude WLAN-Netzwerke zu finden.
|
|
\par
|
|
Auch in der Industrie ist WLAN eine essentielle Technik, zum Beispiel für automatisierte Lagersysteme mit mobilen Robotern.
|
|
|
|
\subsection{Ethernet}
|
|
Ethernet beschreibt nach dem Standard IEEE 802.3 \cite{Ethernet} verschiedene kabelgebundene Möglichkeiten \textbf{L}ocal \textbf{A}rea \textbf{N}etworks (LANs) aufzubauen. Diese Netzwerke werden typischerweise in Gebäuden eingesetzt mit einer Sterntopologie. Bei der installation wird hauptsächlich mehradriges Kupferkabel oder Glasfaserkabel genutzt. Das Kupferkabel wird auch Twisted-Pair-Kabel genannt und wird in verschiedene Kategorien eingeteilt, durch diese ist es möglich die maximale Geschwindigkeit des Kabels abzulesen. Einige dieser Kategorien können in der Tabelle \ref{tab:ethernet} abgelesen werden.
|
|
\par
|
|
Glasfaserkabel werden nur in zwei Kategorien eingeteilt. Multimode-Glasfaserkabel werden oft in LANs benutzt, da sie sich eher für kürzere Distanzen eignen. Die Distanz wird durch die Brechung des Lichts und der Verwendung mehrerer Lichtmoden in dem Lichtleiter eingeschränkt. Die Reichweite ist der von Twisted-Pair-Kabeln trotzdem deutlich überlegen.
|
|
Aufgrund der höheren Fertigungskosten der Singlemode-Glasfaserkabel sind diese eher selten in LANs zu finden. Der Kerndurchmesser des Lichtleiters ist bei diesen Kabeln um ein vielfaches geringer. Die Reduzierung von \(50\mu m\) bzw. \(62,5\mu m\) auf typischerweise \(8\mu m\) bis \(10\mu m\) und der ausschließlichen Übertragung einer Lichtmode ermöglicht nochmals längere Signalwege. Außerdem bietet die Glasfasertechnologie den Vorteil unabhängig von elektromagnetischen Störungen zu sein.
|
|
\par
|
|
Die Tabelle \ref{tab:ethernet} zeigt einige Übertragungsstandards von Ethernet, dabei wurde unter anderem die Übertragungsmöglichkeiten über Coaxialkabel aus den Anfängen von Ethernet ausgelassen.
|
|
|
|
\begin{table}[]
|
|
\centering
|
|
\begin{tabular}{|l|c|c|r|}
|
|
\hline
|
|
\textbf{Standard} & \multicolumn{1}{l|}{\textbf{Übertragungsgeschwindigkeit}} & \multicolumn{1}{l|}{\textbf{Medium}} & \multicolumn{1}{l|}{\textbf{max. Segmentlänge}} \\ \hline
|
|
10BASE-T & \(10\frac{MBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Twisted-Pair\\ min. Cat3\end{tabular} & 100m \\ \hline
|
|
100BASE-TX & \(100\frac{MBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Twisted-Pair\\ min. Cat5\end{tabular} & 100m \\ \hline
|
|
1000BASE-T & \(1\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Twisted-Pair\\ min. Cat5e\end{tabular} & 100m \\ \hline
|
|
1000BASE-SX & \(1\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Glasfaser\\ Multimode\end{tabular} & 550m \\ \hline
|
|
1000BASE-LX & \(1\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Glasfase\\ Singlemode\end{tabular} & 5km \\ \hline
|
|
10GBASE-T & \(10\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Twisted-Pair\\ min. Cat6\end{tabular} & \begin{tabular}[c]{@{}r@{}}55m\\ 100m mit Cat6a\end{tabular} \\ \hline
|
|
10GBASE-SR & \(10\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Glasfaser\\ Multimode\end{tabular} & 400m \\ \hline
|
|
10GBASE-LR & \(10\frac{GBit}{s}\) & \begin{tabular}[c]{@{}c@{}}Glasfase\\ Singlemode\end{tabular} & 10km \\ \hline
|
|
\end{tabular}
|
|
\caption{Auszug von Ethernet Übertragungsstandards nach IEEE 802.3}
|
|
\label{tab:ethernet}
|
|
\end{table}
|
|
|
|
\subsubsection{PoE}
|
|
\label{sssec:PoE}
|
|
PoE ist die Abkürzung für \textbf{P}ower \textbf{o}ver \textbf{E}thernet und meint damit die Funktion neben den Daten zusätzlich die Stromversorgung für kleinere Netzwerkgeräte über ein Twisted-Pair-Kabel zu ermöglichen. PoE wird ebenfalls im IEEE 802.3 \cite{Ethernet} Standard definiert. Eingeführt wurde PoE 2003 in IEEE 802.3af mit einer Leistung von 15 Watt. Seit dem wurde PoE erweitert um mehr Leistung bieten zu können. Dies geschah mit den Standards 802.3at und 802.3bt. Die erste Erweiterung wird auch als PoE+ bezeichnet und kann 30 Watt je Port zur Verfügung stellen. Der aktuelle Stand wird auch PoE++ genannt. Bei der Verwendung von PoE++ wird zwischen dem Typ 3 und 4 unterschieden, da Typ 3 60 Watt leisten kann und Typ 4 100 Watt. Die Spannungen auf dem Ethernetkabel liegen bei PoE zwischen 44 und 57 Volt.
|
|
\par
|
|
PoE wird unter anderem oft für Telefone, Kameras und AccessPoints eingesetzt.
|
|
|
|
\subsection{USBIP}
|
|
|
|
\section{Hardware}
|
|
Das ist ein Test Text zum Thema Hardware dieser wird später wieder gelöschtr aber jetzt gerade möchte ich gucken ob das automatische formatieren nach dem Speichern erfolgreich ist, wenn ja werde ich danach noch versuchen die doof generierte pdf in einen anderen Ordner zu verschieben
|
|
\subsection{GNSS-Module}
|
|
|
|
\subsection{GNSS-Antennen}
|
|
|
|
\subsection{Computer}
|
|
|
|
\subsection{PoE Hardware}
|
|
\subsubsection{PoE Extender}
|
|
Ein PoE Extender wird dafür genutzt die Reichweite eines mit PoE versehenen Twisted-Pair-Kabel zu verlängern. Die Reichweite wird durch die begrenzte Segmentlänge des verwendeten Mediums beschränkt. Im Fall von Twisted-Pair-Kabeln beträgt diese \(100m\). Der Extender nutzt die über PoE verfügbare Energie zur Signalaufbereitung und gibt das Signal inklusive PoE wieder aus, dabei ist zu beachten, dass aufgrund der verbrauchten Energie das ausgangsseitige PoE um einen Typen verringert wird und somit weniger Leistung zur Verfügung stellt.
|
|
\par
|
|
Speziellere Extender können zusätzlich als Switch fungieren. Diese Extender verfügen typischerweise über zwei Ethernet Ausgänge. Die verfügbare PoE Leistung wird dann auf diese beiden Ports aufgeteilt.
|
|
\subsubsection{PoE Splitter}
|
|
Der PoE Splitter trennt die Daten und den Strom vom Ethernetkabel. Diese Geräte haben typischerweise drei Anschlüsse, dabei ist der erste der PoE Eingang. Bei den anderen beiden handelt es sich um die Ausgänge für die Daten und den Strom. Bei dem Anschluss für die Daten ohne Strom handelt es sich normalerweise wieder um ein Ethernet anschluss mit einer RJ-45 Buchse. Der Strom wird über Anschlussklemmen oder einen Terminalblock ausgegeben. Die Ausgegebene Spannung hängt von dem gewählten Splitter ab, wird aber meistens von der höheren PoE Spannung (siehe Unterabschnitt \ref{sssec:PoE}) auf typische Spannungen von Netzteilen wie \(12V\) reduziert.
|
|
|
|
|
|
\section{Software}
|
|
\subsection{Linux}
|
|
\subsubsection{USBIP}
|
|
\subsubsection{Systemd / Systemctl?}
|
|
|
|
\subsection{GNSS}
|
|
\subsubsection{GNSS PostProcessing}
|
|
\subsubsection{RTKLib}
|
|
\subsubsection{U-Blox}
|
|
\subsection{RTK2go}
|