Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie.

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie."—  Präsentation transkript:

1 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie

2 Inhalt: (1) Qt (2) Telemetrie Framework (3) Registrierung (4) Vorbereitung (5) Aufgaben Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Inhalt Nils Gageik

3 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Qt Qt: C++ Klassenbibliothek GUI Programmierung Qt Creator -> Drag & Drop (einfach, ergonomisch) GPL Lizenz, Open Source, frei verfügbar Plattformen: Windows, Unix, Max, Android, … Erweitert C++ Standard um MOC (meta object compiler): Mehr Funktionen: Signal & Slots Voll kompatibel zu C++ Compiler

4 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Qt Qt Demo Directory Compile UI Editor Slots

5 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Qt Wie QwtPlot hinzufügen? Copy + Paste (einfach -> empfohlen) Benutze Qt-Version mit erweiterter Item-Bar qt-creator build-with-qwt Problem: Compiler (MinGW) wird nicht richtig erkannt Lösung: Verwende dieses Qt nur zum Erstellen des UI Zum Kompilieren verwende ursprüngliche Qt-Version Alternative: Erstelle deine eigene kompilierte Lösung mit korrektem Compiler etc.

6 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Qt Framework Telemetrie Framework (Qt): Liegt aufm Server Module Glwidget -> 3D Anzeige (Flugzeug) Serial Driver -> Serielle Kommunikation und Parser myGraph -> Realisiert einen Graphen mycurve -> Realisiert „Kurven“ Pro Graph können drei „Kurven“ generiert werden Quaternion -> Quaternionen

7 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Qt Framework Telemetrie Framework (Qt): myGraph: QwtPlot (wohin malen) wird dem Konstruktor übergeben add_value(x, y, ID-Kurve) -> fügt neues Datum hinzu clear_all -> löscht alle Daten update_graph() -> aktualisiert Graphen myCurve: Ringpuffer, Werte werden intern doppelt gespeichert zum Effizienten simultanen lesen + schreiben update_graph (default) -> aktualisiert Graphen: Default-Werte möglich add_value(x,y) -> fügt Wert hinzu Clear_all() -> löscht Daten

8 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Nils Gageik Telemetrie Registrierung Registrierung: Unter Registrierung versteht man die Zuordnung verschiedener Koordinatensysteme. Zwei beliebige Koordinatensysteme können durch eine Transformation in einander überführt werden. Diese Transformation ist die Registrierung. Uns interessiert in dem Zusammenhang nur die Rotation.

9 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Vorbereitung Nils Gageik Vorbereitung: Lade alle nötigen Dateien vom Server: Serveradresse: \\galileo.informatik.uni-wuerzburg.de\gast\\galileo.informatik.uni-wuerzburg.de\gast Alternativ: \\ \gast\\ \gast Du findest die Dateien unter: \SS 2016\LR Labor Du benötigst das TM TC Framework für Qt: TM_TC Qt Framework.rar Dies beinhaltet das Programm quatplay als Framework für deine Bodenstation. Wie du arbeitest, bleibt dir überlassen. Es wird empfohlen die Vorlage zu nutzen. Es wird empfohlen, die Qt Installation vom PC zu nutzen und nicht das Qt vom Server.

10 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Aufgabe 1 Nils Gageik Aufgabe 1: Benutze das Qt Telemetrie Framework, um das Quaternion zu prüfen. a) Guck dir alle Dateien an und versuche ihren Zweck zu verstehen. Mach dir einen Überblick. Du kannst jetzt Fragen stellen. Später musst du alles erklären können. b) Sende dein Quaternion per USART an das Qt-Tool. Damit die Nachricht richtig interpretiert werden kann, ist folgender Frame zu verwenden: $,q0,q1,q2,q3,# c) Stelle die Registrierung her, indem du den Sensor richtig hältst oder in den Code eingreifst. Wenn die beiden Koordinatensysteme (STM Sensor, Flugzeug Qt) registriert sind, ist jede Bewegung vollkommen parallel.

11 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Aufgabe 2 Nils Gageik Aufgabe 2: Erweitere das Programm Quatplay zur Telemetrieanzeige. Der Reiter Graph ist dazu als Vorlage bereits gegeben. a) Der Reiter Graph soll nun 5 Subreiter enthalten, die jeweils einen Graphen und drei lcdNumbers beinhalten. Statt eines Subreiters kannst du den Reiter Graph auch viermal duplizieren. b) Die neuen Reiter dienen der Anzeige von 5 Paketen mit je drei Daten: Gyrometer (x, y z) Accelerometer (x,y,z) RPY PID ATC PID Yaw Beschrifte alle Objekte in der UI sinnvoll. Die letzten drei Reiter werden erst später genutzt und sind zunächst mit Dummy-Werten zu füllen. Die Daten sollen mit T = 150ms durch den Telecommand-Thread (STM) verschickt werden. Überlege dir dazu ein geeignetes Protokoll, wobei du dich an der vorhandenen Lösung orientieren kannst. Achtung: Aktuelles Protokoll löscht Buffer nach Endzeichen c) Per Checkbox soll die Aktualisierung der Werte gestoppt werden können. Dies soll Ressourcen sparen.

12 Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Hinweis Nils Gageik Hinweis: Du benötigst ein Protokoll, um die Daten korrekt parsen zu können. Als Hilfe kannst du dich an der bereits vorhanden Übertragung der Quaternionen orientieren (QSerial.cpp). Die Funktion processUART() verarbeitet neue Daten. Die Methode Entnehme () prüft auf Start- & Endzeichen und entnimmt den gültigen Frame. Die Funktion Parser parst den Frame und erstellt das Quaternion. Guck dir die Funktionen vorher genau an! Wie du die Datenübertragung implementierst, bleibt dir dabei grundsätzlich freigestellt. Die Lösung sollte aber einfach erweiterbar sein, da dir das später Arbeit sparen mag. Mach es so kompliziert wie nötig, nicht wie möglich!


Herunterladen ppt "Prof. Sergio Montenegro Lehrstuhl Informatik 8 Telemetrie Nils Gageik Luft- und Raumfahrtlabor Telemetrie."

Ähnliche Präsentationen


Google-Anzeigen