Themenvorschläge für Abschlussarbeiten
Der genaue Umfang richtet sich nach der Art der Abschlussarbeit (Bachelorarbeit oder Masterarbeit). Die Themenvorschläge dienen dazu, ihre Begeisterung für ein Thema zu wecken. Der genaue Inhalt und Umfang wird jeweils konkret festgelegt und ist, je nach Typ der Arbeit, ausbaufähig. Z.B. auch Beginn als Bachelorarbeit und Weiterführung im Rahmen eines Masterprojektes.
Weitere aktuelle Themen können Sie bei mir per email erfragen oder vorschlagen.
Machine Learning mit Neuronalen Netzen für kameraübergreifendes Tracking (Werkstud. / MA)
Es sollen neuronale Netze erweitert, trainiert und evaluiert werden, die kameraübergreifendes Tracking ermöglichen unter besonderer Berücksichtigung des Datenschutzes. Diese Arbeit wurde von der DResearch Fahrzeugelektronik GmbH (DFE) vorgeschlagen. Eine Anstellung als Werkstudent(in) ist angedacht.
STM32 Vergleich von Peripherieblöcken für die Register-Level-Programmierung (BA)
In dieser Arbeit sollen die wichtigsten IP Blöcke (UART, SPI, I2C, Timer, ...) verschiedener STM32 Serien wie L4, G4, G0, C0. unter dem Aspekt der Register-Level Programmierung verglichen werden. Ziel ist es, Methoden aufzuzeigen, wie man die Register-Level-Programmierung vereinheitlichen kann, ohne auf andere Ebenen (HAL, LL) gehen zu müssen. Der Wiederverwendungsgrad von IP Blöcken zwischen den Serien ist hoch und evolutionär, so dass das Vorhaben aussichtsreich erscheint. Als Prog. Sprache soll C oder C++ zum Einsatz kommen.
STM32 SVD zu Header Konverter (BA)
STM32 u.a. Arm Cortex-M Chipinformationen sind (z.B. für den Debugger) als .svd Datei maschinenlesbar (XML) vorhanden und gut dokumentiert. Die .svd Dateien sollen zB durch ein Python Skript eingelesen werden und so verarbeitet, das chipspezifische .h Header Dateien für den gcc Compiler ausgegeben werden können. Diese sollen dann einfachere C-Programmierung auf Register Ebene ermöglichen (durch die Verwendung von Kommentaren und bitfields) als die jetzigen Macro-lastigen CMSIS Dateien des Herstellers. Die Korrektheit der .h Dateien ist durch eine Reihe von kl. Beispielanwendungen für das Nucleo-STM32L432KC Board exemplarisch zu überprüfen. Codeschnipsel... sind zahlreich vorhanden.
Bereits fertiggestellte Themen und Themen in Bearbeitung
TimeDoctor Tracing and Viewer (MA)
TimeDoctor ist ein Echtzeit Tracing Tool zur zyklengenauen Analyse von Multi-Tasking Software das 2019 im Rahmen einer CE Bachelorarbeit (siehe unten) für FreeRTOS portiert wurde.
Die Portierung soll erweitert werden:
- Vervollständigung des API
- Datenaufzeichnung in einem Ringpuffer,
- binäres Datenformat zu Performancesteigerung mit stand-alone Deocder App,
- Erweiterung der Zeitmessmethodik (Start Trigger, Stop Trigger),
- ...
TimeDoctor ist ein Echtzeit Tracing Tool zur zyklengenauen Analyse von Multi-Tasking Software unter dem Betriebssystem FreeRTOS vorrangig auf STM32 Microcontrollern. Die vorhandene Toolchain soll modernisiert werden. Dazu gehören:
- Real-Time Datenerfassung auf dem Microcontroller durch Instumentierung des FreeRTOS
- Transport (online/offline) der Daten vom Microcontroller auf einen Host
- Visualisierung der Daten auf dem Host als interaktives Zeitreihendiagramm mittels eines Python Skripts
Für die einzelnen Teile gibt es existierende Lösungen die verbessert und ausgebaut werden sollen. Siehe https://gitlab.com/KnarfB/timedoctor
Machine Learning mit Eventkameras und Spiking Neural Networks (SNN)
(Werkstud. / MA)
Das Deutsche Zentrum für Luft- und Raumfahrt (DLR) in Adlershof sucht nach einem Master-Studenten oder einer Master-Studentin, die sich mit Eventkameras und Spiking Neural Networks (SNN) beschäftigen wollen. Der Fokus liegt auf der Struktur und dem Training der SNNs. Es besteht die Option als Werksstudent langsam in die Welt der Eventkamera-API und SNNs einzusteigen. Auf den dort gewonnen Erfahrungen kann dann eine konkrete Fragenstellung in einer Masterarbeit untersucht werden. Es kann aber auch direkt mit der Masterarbeit begonnen werden.
Lichtschranke für CeCar Zeitmessungen
(Bachelorarbeit) Es soll eine Lichtschranke mit einem STM32 Microcontroller, Anzeigedisplay und 5V USB oder Batteriebetrieb entworfen und zwei Prototypen aufgebaut werden. Die Lichtschranke soll mobil (auf dem Flur im 5. OG) einsetzbar sein und einfach und robust aufgebaut und bedienbar sein. Mit Hilfe der Lichtschranke soll die Momentangeschwindigkeit durchfahrender CeCars gemessen und angezeigt werden können (0..5 m/s). Zusätzlich sollen Rundenzahlen, -zeiten und die Gesamtzeit gemessen und angezeigt werden können. Erweiterungsvorschläge willkommen.
Fotorealistische 3D Simulation von Schienenwegen mit CARLA
Der Open-Source Simulator CARLA wird in der Forschung für das autonome Fahren eingesetzt. Mit CARLA können simulierte Fahrten in realitätsnahen Umgebungen durchgeführt werden, einschließlich verschiedener Wetterbedingungen, Tages- und Nachtzeiten usw..
Insbesondere eignen sich die simulierten Fahrten zur Gewinnung von Trainingsdaten für das Training neuronaler Netze: Aus der 3D Welt lassen sich sowohl ground-truth Daten extrahieren als auch fotorealistische Trainingsbilder.
In der Abschlussarbeit soll CARLA um eine Simulation von Schienenwegen erweitert werden. Ziel ist hier ebenfalls die Generierung von Trainingsdaten für die Automatisierung von Schienenfahrzeugen. Ein Beispielvideo aus der realen Welt: https://youtu.be/dElui4mxImA?t=19927
Steuerung einer Omnirad Plattform (Bachelorarbeit)
Die Odometrie der vorhandenen
Omnirad Plattform soll auf alle drei Räder erweitert werden, so das eine gezieltere Regelung der Bewegungen ermöglicht wird. die Platform soll in der Lage sein, eine vorgegebene Strecke wiederholt abzufahren. Dabei ist eine hohe Wiederholgenauigkeit anzustreben und durch Messungen und Auswertungen zu belegen.
ROS - Robot Operating System für NVIDIA Jetson TX2 + Peripherie
ROS (http://www.ros.org/) soll auf einem Jetson TX2 lauffähig gemacht (http://www.jetsonhacks.com/2017/03/27/robot-operating-system-ros-nvidia-jetson-tx2/) und dokumentiert werden. Dabei sind versch. Peripheriebaugruppen zu integrieren und Performance-Evaluierungen durchzuführen.
Basisboard mit ARM Cortex-M0 (Bachelorarbeit)
Für das gegenwärtig eingesetzte AVR Basisboard ("USB Stick") soll ein Nachfolger auf Basis ARM Cortex-M entwickelt werden, z.B. mit einem Nucleo32 STM32F042K6 o.ä. zum Aufstecken. Der Aufbau des Boardes und passende Laborversuche sollen so dokumentiert werden, dass sie im 1.-3. Semester eingesetzt werden kann.
Maschinelles Lernen zur Erkennung von Verkehrskegeln in Videos (Masterarbeit)
Mit Methoden des maschinellen Lernens soll ein OpenCV Algorithmus in C/C++ entwickelt werden, der Verkehrskegel in Videoaufnahmen erkennt. OpenCV liefert ein Framework zur Bild-/Videoverarbeitung. Für das Maschinelle Lernen sollen Keras und TensorFlow eingesetzt werden. Der Algorithmus ist mit geeigneten Trainingsbildern auf die Verkehrskegel zu trainieren. Die Erkennungsrate ist in Beispielvideos nachzuweisen, zu optimieren und statistisch auszuwerten. Seine Echtzeit (Video) Fähigkeit soll auf einem Eingebetteten System (NVIDIA Jetson TX2) nachgewiesen werden.
Millisekundenuhr für Videoaufnahmen und Kameratests
Es soll ein Eingebettetes System entwickelt werden, das mittels LEDs eine millisekundengenaue Zeitanzeige ermöglicht. Wenn das Gerät vor eine Kamera gehalten wird soll durch manuelle Auswertung der Videoaufnahmen möglich sein, Grundparameter der Kamera zu ermitteln bzw. zu verifizieren: Bildfrequenz, Belichtungsdauer Global/Local Shutter usw.. Weiterhin soll das Gerät zur Bestimmung von Latenzen eingesetzt werden: Glas to CPU und Glas to Glas Delay. Ein STM32 Microcontroller auf einem Nucleo-Board soll als Steuereechner eingesetzt werden. Als optische Ausgabe sind ein 10x10 LED Array sowie ein weiteres kleines Display (7-Segment Anzeige oder EA OLED) vorzusehen. Die Funktionstüchtigkeit des Gerätes soll mit verschiedenen vorhandenene Kameras nachgewiesen werden (USB 2.0/3.0, MIPI CSI-2 an NVIDIA Jetson TX2 und/oder Raspberry Pi).
OpenGL ES für ein Eingebettetes System
OpenGL ES ist eine Programmierschnittstelle. Auf einem konkreten eingebetteten System mit iMX6 Prozessor (
Nitrogen6x) sollen konkrete Algorithmen der Bild- und Videoverarbeitung mit OpenGL ES implementiert werden. Die Performance ist zu analysieren und zu optimieren. Grundlegende Betrachtungen zu diesem System wurden in einer vorherigen Arbeit erfolgreich durchgeführt.
Tracing Support für FreeRTOS
FreeRTOS ist ein führendes Open-Source Betriebssystem für Microcontroller. Es gibt eine
kommerzielle Lösung um das Echtzeit-Verhalten des Betriebssystemes zu tracen und die Traces später zu analysieren. Ziel der Arbeit ist es, eine Open-Source Tracing Lösung zu entwickeln, selbst wenn die Funktionalität nur eingeschränkt ist. Verschiedene vorhandene Bestandteile wie die Tracing Hooks im FreeRTOS und die Open-Source Trace Visualisierung mit
TimeDoctor sollen dabei integriert werden.
Preisgünstiger Logikanalyzer
Ein preisgünstiges Microcontrollerboard soll als einfacher LogikAnalyzer mit Datenauswertung an einem PC eingesetzt werden. Alle CE Studierenden erhalten zum Studienbeginn ein STM32F042K6 Nucleo-32 Board. Durch eine geeignete Firmware soll dieses zu einem einfachen Logikanalyzer ausgebaut werden. Für die Auswertung der Signale soll die Open-Source Lösung PulseView ( https://sigrok.org/ ) o.ä. eingesetzt werden. Die Firmware sollte so flexibel sein, dass Sie auch mit leistungsstärkeren STM32 Boards funktioniert wie STM32L432KC, ideealerweise sogar auch als 2-Kanal Oszilloskop (mit STM32F3).
Autarker Spannungs- und Stromlogger
Es soll ein kleiner autarker Logger für Kleinspannungen und Ströme aufgebaut werden. Der Logger soll mobil für Messungen z.B. an einem Modellauto etc.. eingesetzt werden können. Versorgung durch eigene Batterie, programmierbar mit µC, evtl. intelligenter Mess-IC wie TI INA226, evtl. drahtlose Auslesemöglichkeit (BLE mit Android App?).