This repository has been archived on 2024-10-02. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Bachelor-Arbeit-Latex/045_anforderungen.tex
T
2024-06-25 12:24:52 +02:00

64 lines
7.4 KiB
TeX

\chapter{Anforderungen}
In diesem Teil der Arbeit werden die Anforderungen an die verschieden Komponenten des Gesamtsystems beschrieben. Dabei wird zunächst auf die Anforderungen der Referenzstation eingegangen, neben den funktionalen Anforderungen sind die durch den Installationsort gegebenen nicht funktionalen Anforderungen besonders bei der Hardwareauswahl zu beachten.
\par
Darüber hinaus werden Anforderungen zur Erweiterung des Rovers definiert.
\section{Referenzstation}
\label{sec:referenzstation_req}
Das Gesamtsystem der Station muss im Millimeterbereich eingemessen werden können. Das Eingemessene System muss im Dauerbetrieb die Korrekturdaten im RTCM3-Format erstellen und veröffentlichen, dafür soll als Caster der kostenlose RTK2go Service genutzt werden. Die Korrekturdaten sollen für alle aktuell verfügbaren GNSS bereitgestellt werden. Der Wartungsaufwand soll möglichst gering sein. Die komplette Installation muss an dem vorgegebenen Ort sicher angebracht werden und sich diesem anpassen.
\subsection{Antennenposition}
Der Installationsort der Antenne muss so gewählt werden, dass die Antenne eine freie Sicht auf den kompletten Himmel hat, dafür eignen sich besonders höher gelegene Orte. Deshalb und aufgrund der vorhandenen Infrastruktur wurde im Vorhinein entschieden, dass die Referenzstation auf dem Flachdach des Fachhochschulgebäudes an der Emil-Figge-Straße 44 in Dortmund errichtet werden soll.
\subsection{Umweltbedingungen}
Da der Installationsort der Station auf dem Dach der Witterung und der Sonneneinstrahlung ausgesetzt ist müssen die Komponenten entweder Wasserfest und UV-beständig sein oder so installiert werden, dass diese vor den genannten Einflüssen geschützt werden.
\par
Des weiteren müssen alle auf dem Dach installierten Komponenten einen Betriebstemperaturbereich vorweisen welchen den realen Temperaturen im Außenbereich aller Jahreszeiten entspricht. Dabei muss auch beachtet werden, dass sich Objekte je nach Farbe durch die Sonneneinstrahlung über die Umgebungstemperatur hinaus erhitzen können.
\par
Der gewählt Installationsort verfügt über Blitzschutzeinrichtungen, diese dürfen nicht kompromittiert werden.
\subsection{Energieversorgung}
Die Energieversorgung ist durch ein vorhandenes Ethernetkabel mit PoE++ gegeben. Das Kabel versorgt das vorhandene Lora-Gateway mit Energie und stellt die Netzwerkverbindung her. Dieses Kabel muss so genutzt werden, dass damit die Energieversorgung und die Netzwerkverbindung für die Referenzstation und das Lora-Gateway hergestellt werden kann.
\subsection{Server}
Die Daten des GNSS-Moduls müssen verarbeitet werden, dafür und um eine Remote-Konfiguration des Moduls vornehmen zu können wird ein Computer benötigt für welcher die folgenden Spezifikationen erfüllen muss:
\setlist{noitemsep}
\begin{itemize}
\item mindesten einen USB-Port,
\item Netzwerkschnittstelle mit RJ-45 Buchse,
\item Stromversorgung über PoE oder einer gleichwertigen alternative,
\item Prozessor auf dem die RTKLib kompiliert werden kann
\item und eine möglichst geringe Energieaufnahme welche mit der PoE-Lösung kompatibel ist.
\end{itemize}
\setlist{}
Darüber hinaus müssen die bereits zuvor allgemein definierten Anforderungen erfüllt werden. Der Server selbst soll ebenfalls über das Netzwerk administriert werden können.
\section{Rover}
Die vorhandene Software des Rovers soll um einige Komponenten erweitert werden. Diese Komponenten sollen den Rover im allgemeinen um die Funktion erweitern mittels GNSS eine Route abzufahren, die zuvor manuell abgefahren wurde. Die Erweiterungen sollen sofern möglich an dem vorhandene Softwaredesign angepasst sein. Im folgenden werden die dazu nötigen Anforderungen zu definieren.
\subsection{NTRIP-Client}
Der Rover muss das GNSS-Modul mit Korrekturdaten versorgen um die benötigte Genauigkeit zu erreichen. Dafür soll der ESP32 über einen NTRIP-Client verfügen, welcher sich mit dem Caster verbindet und die Korrekturdaten empfängt. Es wird davon ausgegangen, dass eine Internetverbindung über WLAN vorhanden ist. Die Empfangenen Daten müssen an das GNSS-Modul weitergeleitet werden, dies muss durch die vorhandene Anbindung über SPI geschehen. Der Verbindungsstatus des Clients soll für andere Komponenten verfügbar gemacht werden können, um beispielsweise mit einer Navigationspause während eines Verbindungsabbruches reagieren zu können. Sollte die Verbindung zum WLAN und oder zu dem Caster verloren gehen, sollen diese sofern möglich automatisch wieder aufgebaut werden.
\subsection{Route}
Eine Route soll aus einer Anzahl von Punkten bestehen. Die Punkte sollen die Koordinaten für Längen- und Breitengrat enthalten, zusätzlich können Metadaten wie die geschätzte Genauigkeit der Koordinaten mit gespeichert werden. Die Punkte müssen in einer festen Reihenfolge gespeichert werden. Die Strecken zwischen den Punkten müssen Geraden sein.
\subsubsection{Aufzeichnen}
Die Aufzeichnung einer Route soll ausschließlich von dem Benutzer gesteuert werden. Dazu soll der manuelle Fahrmodus des Rover genutzt werden, der eine Steuerung mit dem Joystick der Fernbedingung ermöglicht. Sofern das aufzeichnen der Route begonnen hat soll mit Drücken des Joystick-Buttons ein neuer Punkt der Route hinzugefügt werden. Der hinzuzufügende Punkt soll zuvor auf eine ausreichende Genauigkeit und einen Mindestabstand zu dem, falls vorhanden, vorherigen Punkt geprüft werden. Ob die aktuelle Position der Route hinzugefügt wurde soll dem Nutzer als Feedback zur Verfügung stehen.
\subsubsection{Persistieren}
Eine aufgezeichnete Route soll persistiert werden können, sodass diese später wieder geladen und danach abgefahren werden kann ohne diese erneut aufzeichnen zu müssen. Es wäre von Vorteil die Speicherung der Routen extern zu ermöglichen um die Datenhaltung unabhängig von dem ESP32 zu gestalten und damit auch vor erneuten überspielen des Flash-Speichers bei Updates zu schützen.
\subsection{Navigation}
Die Navigation muss lesenden Zugriff die Daten der Route innehalten. Es muss die Entfernung und der Kurs vom aktuellen Standort zum nächsten Zielpunkt berechnet werden und daraufhin dem Autopiloten und/oder dem Nutzer zur Verfügung gestellt werden. Sofern ein Punkt ausreichend nah erreicht wurde soll automatisch der nächste Punkt in der Route angepeilt werden bis die Route vollständig abgefahren wurde. Die Navigation soll eigenständig arbeiten können.
\subsection{Autopilot}
Der Autopilot muss die Navigation Nutzen um den Rover zu steuern. Dabei muss er Zugriff auf die Sensoren und die Steuerung des Rovers haben. Der Benutzer muss den Autopiloten zu jedem Zeitpunkt deaktivieren können. Der Autopilot muss von dem Benutzer überwacht werden, da keine Hinderniserkennung implementiert werden soll. Die Geschwindigkeit soll in Etappen reduziert werden, wenn der Rover sich dem Ziel nähert. Der Autopilot darf den Rover nur Bewegen wenn die aktuelle Positions-Lösung dem Anwendungsfall gerecht wird.
\subsubsection{Ausrichtung}
Um den Rover am Anfang auf den vorgegebenen Kurs ausrichten zu können muss zunächst der verbaute Kompass benutzt werden. Sobald der Rover in Bewegung ist soll der anliegende Kurs aus den Positionsdaten, dem Kompass und dem noch zu verbauenden Gyroskop hergeleitet werden. Das Gyroskop soll über I2C-Bus an den Rover angeschlossen werden.
\section{Genauigkeit der Positionsbestimmung}
Ich weiß noch nicht ob der Abschnitt bleib. :D