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.

C# on Bare Metal ( Nanoframework for ACI Device X Instruments )

Es ist ein reines Softwarethema für Embedded Control mit schon vorhandener Hardware.

Voraussetzungen:

  • Microcontroller,
  • C / C++, sowie Assembler ( ganz wenig )
  • C# Grundkenntnisse

(Themenvorschlag der ACI GmbH Berlin)

Erweiterung des Linux Supports für das STM32F746G Discovery Board

Das STM32F746G Discovery Board ist ein preisgünstiges Entwicklungsboard auf Basis eines ARM Cortex-M7 Prozessors das auch im Rahmen des CE Studiums eingesetzt wird. Es gibt einen initialen Linux Port für das Board:  https://github.com/fdu/STM32F746G-disco_Buildroot. Dieser Port soll im Rahmen der Abschlussarbeit erweitert werden, so dass mehr Peripheriekomponenten des Boardes unter Linux verfügbar sind.

Erweiterung der Inbetriebnahmesoftware für das CE-Board

Im ersten Semester bestücken alle Studierenden ihr eigenes CE-Board u.a. mit einem Microcontrollerboard (NUCLEO-32 STM32F042K6). Die vorhandene Testsoftware soll durch eine detaillierte Fehlerdiagnosesoftware abgelöst werden, von der typische Bestückungs- bzw. Lötfehler möglichst automatisch erkannt und über die serielle Schnittstelle geloggt werden.

Die Diagnosesoftware ist so modular zu entwicklen, das Komponenten auch für andere Boards/Einsatzfälle wiederverwendet werden können. Die Fehlerdiagnosemöglichkeiten sind zu an Testboards zu validieren. Die Anforderungen sind vorab detailliert abzustimmen (Exposé).

Preisgünstiger Logikanalyzer für alle CE Studierenden

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).

SLAM mit NVIDIA Jetson TX2 (Masterarbeit)

SLAM = Simultaneous Localization and Mapping. Bezeichnet eine Technik um von einam bewegten Fahrzeug aus mit Hilfe einer Kamera u.a Sensoren eine Karte (Map) der Umgebung zu erstellen und im Laufe der Fahrt zu verbessern mit deren Hilfe sich das Fahrzeug in der Umgebung orientieren (localization) kann.

Das NVIDIA Jetson TX2 ist leistungsfähiger Embedded Computer mit 64-bit ARM CPU Kernen und NVIDIA GPU Recheneinheiten auf dem Linux (Ubuntu) läuft.

Präzisere GPS Ortung mit PPP und/oder UDR (Abschlussarbeit)

Mit modernen GPS Modulen kann man die Präzision der Ortungen durch verschieden Maßnahmen erhöhen, z.B. stand-alone durch PPP (Precise Point Positioning) oder mittels UDC (Koppelnavigation, "untethered dead-reckoning"). Ziel der Arbeit ist die Konzeption und der Aufbau einer GPS Ortung mit einer Präzision im Zentimeter bis Dezimeterbereich. Die Ortung soll mobil in einem Fahrzeug in Echtzeit bei Geschwindigkeiten bis 120 km/h funktionieren. Geeignete GPS Modul sind: uBlox NEO M8U. Die entwickelte Lösung muss im Praxisumfeld validiert werden.

Bereits fertiggestellte Themen und Themen in Bearbeitung

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?).