TY - THES A1 - Flederer, Frank T1 - CORFU - An Extended Model-Driven Framework for Small Satellite Software with Code Feedback T1 - CORFU - Ein erweitertes modellgetriebenes Framework für Satellitensoftware mit Code-Rückinformation N2 - Corfu is a framework for satellite software, not only for the onboard part but also for the ground. Developing software with Corfu follows an iterative model-driven approach. The basis of the process is an engineering model. Engineers formally describe the basic structure of the onboard software in configuration files, which build the engineering model. In the first step, Corfu verifies the model at different levels. Not only syntactically and semantically but also on a higher level such as the scheduling. Based on the model, Corfu generates a software scaffold, which follows an application-centric approach. Software images onboard consist of a list of applications connected through communication channels called topics. Corfu’s generic and generated code covers this fundamental communication, telecommand, and telemetry handling. All users have to do is inheriting from a generated class and implement the behavior in overridden methods. For each application, the generator creates an abstract class with pure virtual methods. Those methods are callback functions, e.g., for handling telecommands or executing code in threads. However, from the model, one can not foresee the software implementation by users. Therefore, as an innovation compared to other frameworks, Corfu introduces feedback from the user code back to the model. In this way, we extend the engineering model with information about functions/methods, their invocations, their stack usage, and information about events and telemetry emission. Indeed, it would be possible to add further information extraction for additional use cases. We extract the information in two ways: assembly and source code analysis. The assembly analysis collects information about the stack usage of functions and methods. On the one side, Corfu uses the gathered information to accomplished additional verification steps, e.g., checking if stack usages exceed stack sizes of threads. On the other side, we use the gathered information to improve the performance of onboard software. In a use case, we show how the compiled binary and bandwidth towards the ground is reducible by exploiting source code information at run-time. N2 - Corfu ist ein Framework für Satelliten-Software für beide Seiten: Space und Boden. Mit Corfu folgt die Softwareentwicklung einem iterativen modellgetriebenen Ansatz. Grundlage der Software-Entwicklung ist ein technisches Modell, das formell die grundlegende Struktur der Onboard-Software beschreibt. EntwicklerInnen beschreiben dieses Modell in Konfigurationsdateien, die von Corfu in verschiedenen Aspekten automatisch verifiziert werden, z.B. im Bereich des Scheduling. Anhand des definierten Modells erstellt Corfu ein Quellcode-Gerüst. Die Onboard-Software ist in einzelne Applikationen aufgeteilt, die durch Kommunikationskanäle miteinander kommunizieren (Topics genannt). Generischer Code und der generierte Code implementieren bereits die Behandlung und Verwaltung der Topic-Kommunikation, Telekommandos, Telemetrie und Threads. Der generierte Code definiert pur-virtuelle Callback-Methoden, die BenutzerInnen in erbenden Klassen implementieren. Das vordefinierte Modell kann allerdings nicht alle Implementierungsdetails der BenutzerInnen enthalten. Daher führt Corfu als Neuerung ein Code-Feedback ein. Hierbei werden anhand von statischer Analyse Informationen aus dem BenutzerInnen-Quellcode extrahiert und in einem zusätzlichen Modell gespeichert. Dieses extrahierte Modell enthält u.a. Informationen zu Funktionsaufrufen, Anomalien, Events und Stackspeicherverbrauch von Funktionen. Corfu extrahiert diese Informationen durch Quellcode- und Assembler-Analyse. Das extrahierte Modell erweitert das vordefinierte Modell, da es Elemente aus dem vordefinierten Modell referenziert. Auf der einen Seite nutzt Corfu die gesammelten Informationen, um weitere Verifikationsschritte durchführen zu können, z.B. Überprüfen der Stack-Größen von Threads. Auf der anderen Seite kann die Nutzung von Quellcode-Informationen auch die Leistung verbessern. In einem Anwendungsfall zeigen wir, wie die Größe des kompilierten Programms sowie die genutzte Bandbreite für die Übertragung von Log-Event-Nachrichten durch das erweiterte Modell verringert werden kann. T3 - Research in Aerospace Information Technology - 2 KW - FRAMEWORK KW - Modellgetriebene Entwicklung KW - Statische Analyse KW - Satellit KW - Telemetrie KW - Onboard Software KW - Source Code Generation Y1 - 2021 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-249817 ER - TY - THES A1 - Strohmeier, Michael T1 - FARN – A Novel UAV Flight Controller for Highly Accurate and Reliable Navigation T1 - FARN – Eine neue UAV-Flugsteuerung für hochpräzise und zuverlässige Navigation N2 - This thesis describes the functional principle of FARN, a novel flight controller for Unmanned Aerial Vehicles (UAVs) designed for mission scenarios that require highly accurate and reliable navigation. The required precision is achieved by combining low-cost inertial sensors and Ultra-Wide Band (UWB) radio ranging with raw and carrier phase observations from the Global Navigation Satellite System (GNSS). The flight controller is developed within the scope of this work regarding the mission requirements of two research projects, and successfully applied under real conditions. FARN includes a GNSS compass that allows a precise heading estimation even in environments where the conventional heading estimation based on a magnetic compass is not reliable. The GNSS compass combines the raw observations of two GNSS receivers with FARN’s real-time capable attitude determination. Thus, especially the deployment of UAVs in Arctic environments within the project for ROBEX is possible despite the weak horizontal component of the Earth’s magnetic field. Additionally, FARN allows centimeter-accurate relative positioning of multiple UAVs in real-time. This enables precise flight maneuvers within a swarm, but also the execution of cooperative tasks in which several UAVs have a common goal or are physically coupled. A drone defense system based on two cooperative drones that act in a coordinated manner and carry a commonly suspended net to capture a potentially dangerous drone in mid-air was developed in conjunction with the project MIDRAS. Within this thesis, both theoretical and practical aspects are covered regarding UAV development with an emphasis on the fields of signal processing, guidance and control, electrical engineering, robotics, computer science, and programming of embedded systems. Furthermore, this work aims to provide a condensed reference for further research in the field of UAVs. The work describes and models the utilized UAV platform, the propulsion system, the electronic design, and the utilized sensors. After establishing mathematical conventions for attitude representation, the actual core of the flight controller, namely the embedded ego-motion estimation and the principle control architecture are outlined. Subsequently, based on basic GNSS navigation algorithms, advanced carrier phase-based methods and their coupling to the ego-motion estimation framework are derived. Additionally, various implementation details and optimization steps of the system are described. The system is successfully deployed and tested within the two projects. After a critical examination and evaluation of the developed system, existing limitations and possible improvements are outlined. N2 - Diese Arbeit beschreibt das Funktionsprinzip von FARN, einer neuartigen Flugsteuerung für unbemannte Luftfahrzeuge (UAVs), die für Missionsszenarien entwickelt wurde, die eine hochgenaue und zuverlässige Navigation erfordern. Die erforderliche Präzision wird erreicht, indem kostengünstige Inertialsensoren und Ultra-Breitband (UWB) basierte Funkreichweitenmessungen mit Roh- und Trägerphasenbeobachtungen des globalen Navigationssatellitensystems (GNSS) kombiniert werden. Die Flugsteuerung wird im Rahmen dieser Arbeit unter Berücksichtigung der Missionsanforderungen zweier Forschungsprojekte entwickelt und unter realen Bedingungen erfolgreich eingesetzt. FARN verfügt über einen GNSS-Kompass, der eine präzise Schätzung des Steuerkurses auch in Umgebungen erlaubt, in denen eine konventionelle Schätzung mit Hilfe eines Magnetkompasses nicht zuverlässig ist. Der GNSS-Kompass kombiniert die Messungen von zwei GNSS-Empfängern mit der echtzeitfähigen Lagebestimmung von FARN. Damit ist insbesondere der Einsatz von UAVs in arktischen Umgebungen im Rahmen des Projektes ROBEX trotz der schwachen horizontalen Komponente des Erdmagnetfeldes möglich. Zusätzlich erlaubt FARN eine zentimetergenaue relative Positionierung mehrerer UAVs in Echtzeit. Dies ermöglicht präzise Flugmanöver innerhalb eines Schwarms, aber auch die Ausführung kooperativer Aufgaben, bei denen mehrere UAVs ein gemeinsames Ziel haben oder physikalisch gekoppelt sind. In Verbindung mit dem Projekt MIDRAS wurde ein Drohnenabwehrsystem entwickelt, das auf zwei kooperativen Drohnen basiert, die koordiniert agieren und ein gemeinsam aufgehängtes Netz tragen, um eine potenziell gefährliche Drohne in der Luft einzufangen. Im Rahmen dieser Arbeit werden sowohl theoretische als auch praktische Aspekte der UAV-Entwicklung behandelt, wobei der Schwerpunkt auf den Bereichen der Signalverarbeitung, der Navigation und der Steuerung, der Elektrotechnik, der Robotik sowie der Informatik und der Programmierung eingebetteter Systeme liegt. Darüber hinaus soll diese Arbeit eine zusammengefasste Referenz für die weitere Drohnenforschung darstellen. Die Arbeit erläutert und modelliert die verwendete UAV-Plattform, das Antriebssystem, das elektronische Design und die eingesetzten Sensoren. Nach der Ausarbeitung mathematischer Konventionen zur Lagedarstellung, wird der eigentliche Kern des Flugreglers erläutert, nämlich die eingebettete Schätzung der Eigenbewegung und die prinzipielle Regelungsarchitektur. Anschließend werden, basierend auf grundlegenden Navigationsalgorithmen, fortgeschrittene trägerphasenbasierte Methoden und deren Zusammenhang mit der Schätzung der Eigenbewegung abgeleitet. Zusätzlich werden verschiedene Implementierungsdetails und Optimierungsschritte des Systems beschrieben. Das System wird innerhalb der beiden Projekte erfolgreich verwendet und getestet. Nach einer kritischen Untersuchung und Bewertung des entwickelten Systems werden bestehende Einschränkungen und mögliche Verbesserungen aufgezeigt. T3 - Research in Aerospace Information Technology - 1 KW - Drohne KW - Flugnavigation KW - Kalman-Filter KW - Phasenmehrdeutigkeit KW - Flugregelung KW - Unmanned Aerial Vehicle (UAV) KW - Sensorfusion KW - Error-State Extendend Kalman Filter KW - Baseline Constrained LAMBDA KW - Ultra-Wideband (UWB) radio ranging KW - Loose Coupling Y1 - 2021 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:bvb:20-opus-223136 ER -