Ich bin im Wintersemester 2023/24 nicht an der HTW und kann daher keine neuen Abschlussarbeiten betreuen.
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.
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
Aufbau einer Orientation Measurement Platform
Ein 3D Lagesensor (IMU) wird von einem STM32 ausgelesen und die Messwerte werden an einen PC zur Auswertung drahtlos übertragen.
Der IMU Sensor selbst soll relativ leicht austuaschbar sein, um mit der Platform verschiedene Sensoren testen zu können.
Die IMU ist mit Batterie ausgestattet und mit LEDs an Stangen zur optischen Lageerkennung, Ähnlich dem Bild rechts aus "An ecient orientation lter for inertial and
inertial/magnetic sensor arrays" von S. Madgwick
Es soll ein Vergleich der IMU Daten und der optischen Daten (Videoaufzeichnungnen) durch geführt werden um die Güte der IMU zu erfassen.
Auf dem PC soll eine 3D Auswertung der IMU Daten so erfolgen, dass die IMU ähnlich einer 3D Maus Objekte auf dem Bildschirm animieren kann.
Micropython für Nucleo-STM32L432KC Board
https://micropython.org/ ist eine Programmierumgebung die auf Microcontrollern läuft, z.B. auf Raspi Pico. Allerdings werden relativ viel Flash und RAM benötigt. Es gibt bereits eine fertige STM32 Portierung, die aber zu groß für das Nucleo-STM32L432KC Board ist. Im Rahmen der Abschlussarbeit soll diese Portierung nun für das Board angepasst (konfiguriert) werden so dass typische kleine Python Programme (Blinky, I2C, SPI, ...) auf dem Board laufen und mind. ein Prog. auf dem Board gespeichert werden kann. Geeignete Demo Programme sollen entwickelt werden, die die Themen Microcontroller und Computer Engineering bei der Langen Nacht der Wissenschaft, u.ä. mit dem Board und passendem Zubehör wirkungsvoll repräsentieren können.
Open Manipulator Roboterarm
t.b.c.
https://github.com/ROBOTIS-GIT/open_manipulator/tree/ros2
https://micro.ros.org/docs/tutorials/demos/openmanipulator_demo/
Machine Learning Algorithmen zur Gleiserkennung
2020 und 2021 hat eine Forschungsgruppe mit Prof. Thomas, mir und CE Studierenden ein Industrieprojekt zu diesem Thema erfolgreich bearbeitet. Wir sind weiterhin an diesem Thema interessiert und bieten dazu immer wieder Themen für Bachelor- und Masterabeiten an. Fragen Sie bitte nach aktuellen Themen!
CeCar: Redesign der Power Distribution Unit (PDU)
Das Modellfahrzeug CeCar hat eine PowerBank zur Stromversorgung. Das Auf- und Entladen sowie die Bereitstellung diverser Stromquellen für das Fahrzeug wird über eine vorhandene Stromversorgungsplatine (Power Distribution Unit - PDU) realisiert. Diese ist in einigen Aspekten zu komplex (Bestückung) und in anderen Aspekten zu simpel. So können die bereitgestellten Spannungen und Ströme z.Z. nicht gemessen werden. Dies soll mit Hilfe eines STM32 Microcontrollers mit CAN Bus Anbindung realisieert werden.
Im Rahmen der Abschlussarbeit sollen eine neue PDU entworfen, gefertigt, bestückt und in Betrieb genommen werden.
Abschließend soll die Funktionstüchtigkeit auf dem Fahrzeug nachgewiesen werden.
TimeDoctor Viewer mit Python
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
Bereits fertiggestellte Themen und Themen in Bearbeitung
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.
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.
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?).
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).
CeCar: Redesign der Real-Time Control Unit (RCU)
Das Modellfahrzeug CeCar hat eine Real-Time Control Unit (RCU) bestehend aus einem STM32F4-DISCO Microcontroller Board und einer Grundplatine. Der RCU Microcontroller übernimmt Echtweitaufgaben, z.B. die Ermittlung der Radbewegungen (Odometrie) und weitere.
Die gegenwärtige RCU ist durch den Zweiplatinenaufbau recht voluminös, insbesondere ist das STM32F4-DISCO Board ein Standardboard, das für den konkreten Einsatzzweck nicht optimal ist. So fehlt z.B. ein CAN Bus Anbindung während ander Bauteile (Audio) nicht genutzt werden.
Im Rahmen der Abschlussarbeit sollen eine neue RCU entworfen, gefertigt, bestückt und in Betrieb genommen werden.
Abschließend soll die Funktionstüchtigkeit auf dem Fahrzeug nachgewiesen werden.
CeCar: CAN Bus
Auf dem Modellfahrzeug CeCar gibt es ein NVIDIA Jetson TX2 Board als Main Control Unit (MCU). Periphere Sensoren und Aktoren (Abstandssensoren, Beleuchtung,...) sollen künftig per CAN Bus angebunden werden.Im Rahmen der Abschlussarbeit sollen zwei Platinen entworfen, gefertigt, bestückt und in Betrieb genommen werden:
- eine Microcontrollerplatine mit einem STM32 Micocontroller, einem CAN Bus Transceiver Chip, Stromversorgung, und weiteren Schnittstellen nach Bedarf
- eine MCU Adapterplatine mit CAN Bus Transceiver Chip(s) wie MCP2551 zum Anschluss an das NVIDIA Jetson TX2 Board
Abschließend soll die Funktionstüchtigkeit des CAN Bus auf dem Fahrzeug nachgewiesen werden.
Echtzeit Tracing mit TimeDoctor (Bachelorarbeit)
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),
- ...