Skip to content

Feature Request: Entwicklung einer grafischen Benutzeroberfläche für die Rover-Steuerung und -Darstellung

Zusammenfassung

Es soll eine grafische Benutzeroberfläche (GUI) als Webanwendung entwickelt werden, um den Rover zu steuern und seine Position sowie Statusinformationen auf einer Karte visuell darzustellen.

Motivation

Eine benutzerfreundliche, grafische Oberfläche erleichtert die Steuerung des Rovers erheblich und ermöglicht eine übersichtliche Darstellung seiner Position, Bewegungsrichtung und weiterer Zustandsdaten. Sie stellt eine moderne Alternative zur rein textbasierten Steuerung dar und verbessert die Nutzbarkeit insbesondere für nicht-technische Anwender.

Vorgeschlagene Lösung

Die Anwendung wird als Web-UI mit einem Python-Framework wie Flask oder Django umgesetzt. Folgende Funktionen sollen enthalten sein:

  • Grafische Bedienelemente für Bewegungsbefehle (z.B. Buttons für Richtung, Start/Stop)
  • Anzeige von Bewegungsrichtung und ggf. weitere Daten des Rovers
  • Visualisierung weiterer Statusinformationen, z.B. Stopp durch Hinderniserkennung durch ODS
  • Kartenansicht mit aktueller Rover-Position und bekannten Hindernissen
  • Bildschirmfüllende Darstellung der Karte mit interaktiven Elementen

Technische Details

  • Betroffene Komponenten: MissionControl, Map

  • Abhängigkeiten: Flask oder Django als Webframework, evtl. JavaScript-Bibliotheken für UI und Kartendarstellung (z.B. Leaflet, D3.js)

  • Besonderheiten:

    • Kommunikation mit dem Rover über REST Endpunkt
    • Der von der GUI angesprochene REST Endpunkt soll konfigurierbar sein
    • Möglichkeit zur Erweiterung um weitere Visualisierungen (z.B. Aufnahme des Plateaus mittels Teleskop)
  • Optional:

    • Responsive UI für verschiedene Bildschirmgrößen

Akzeptanzkriterien

  • GUI ist über Webbrowser aufrufbar
  • GUI verbindet sich mit dem konfigurerten REST Endpunkt des Rovers und zeigt die erfolgreiche Verbindung an
  • Bewegungssteuerung über grafische Bedienelemente möglich
  • Bewegungsrichtung und ggf. andere Daten werden korrekt angezeigt
  • Rover-Statusinformationen (z.B. Hindernisse) sind sichtbar
  • Karte mit Rover-Position und bekannten Hindernissen wird grafisch dargestellt
  • Die Kartenansicht ist bildschirmfüllend
  • Backend ist modular aufgebaut und kann mit dem Rover kommunizieren

Zusätzlicher Kontext

Die GUI ergänzt die bestehende Terminal-basierte Lösung. Die GUI sollte auch mit Rover-Implementierungen anderer Studierender verbunden werden können und den jeweiligen Rover steuern.

Edited by Christian Decker