Master PSE
Digital Vehicle Twin
Im Modul Digital Vehicle Twin arbeiten Studierende in Teams unter praxisnahen Bedingungen an der Entwicklung einer modularen Softwareplattform zur Abbildung der Fahrzeugtopologie als digitaler Zwilling.
Die Projektarbeit orientiert sich an realen Fragestellungen aus dem Bereich der Fahrzeug- und Softwarearchitekturen und fördert selbstständiges sowie strukturiertes Arbeiten im Team.
Der Dozent übernimmt dabei die Rolle des Auftraggebers beziehungsweise des fachlichen Ansprechpartners. Er begleitet das Projekt kontinuierlich, unterstützt insbesondere in der Anfangsphase bei konzeptionellen und technischen Entscheidungen und stellt sicher, dass das Projekt zielgerichtet umgesetzt wird.
Der Projektablauf gliedert sich wie folgt:
- Einführungsveranstaltung zur Vorstellung der Aufgabenstellung und der organisatorischen Rahmenbedingungen
- Regelmäßige Projektsitzungen zur Präsentation des Arbeitsfortschritts
- Gemeinsame Definition der Ziele für die kommenden Entwicklungsphasen
Gegenstand des Moduls ist die Entwicklung eines Digital Vehicle Twin, der die Topologie eines Fahrzeugs auf Softwareebene abbildet. Ziel ist die Konzeption und Umsetzung einer modularen und erweiterbaren Softwareplattform, mit der reale Fahrzeugarchitekturen strukturiert modelliert werden können.
Im Fokus stehen dabei insbesondere:
- Steuergeräte (Electronic Control Units, ECUs) und deren funktionale Rollen
- Kommunikationsbusse und Netzwerktopologien
- Beziehungen und Abhängigkeiten zwischen den Komponenten
Der digitale Fahrzeugzwilling dient als Grundlage für weiterführende Analyse-, Simulations- und Evaluationsaufgaben. Durch die virtuelle Nachbildung der Fahrzeugtopologie können systemische Zusammenhänge, Abhängigkeiten sowie potenzielle Schwachstellen frühzeitig identifiziert und untersucht werden. Damit adressiert die Themenstellung zentrale Herausforderungen moderner, stark vernetzter und softwaredefinierter Fahrzeugsysteme.
Aufgabenstellungen
Die Implementierung des Digital Vehicle Twin erfolgt mit der Programmiersprache Python (https://www.python.org), die aufgrund ihrer Modularität, Erweiterbarkeit und breiten Bibliotheksunterstützung als zentrale Entwicklungsplattform dient. Für die grafische Benutzeroberfläche wird Qt for Python (https://wiki.qt.io/Qt_for_Python) eingesetzt, um eine interaktive und modulare Benutzeroberfläche zu realisieren.
Die Benutzeroberfläche orientiert sich konzeptionell an Orange Data Mining (https://orangedatamining.com) und folgt einem widgetbasierten Ansatz:
- Funktionale Module werden als eigenständige Widgets umgesetzt
- Widgets können visuell angeordnet und konfiguriert werden
- Abhängigkeiten und Datenflüsse zwischen Modulen werden transparent dargestellt
Zur Analyse und Verarbeitung von Fahrzeugkommunikation kommen Scapy (https://scapy.net) und can-utils (https://github.com/linux-can/can-utils) zum Einsatz:
- Scapy zur Generierung, Manipulation und Analyse von Netzwerk- und CAN-Nachrichten
- can-utils zur Anbindung an reale CAN-Busse sowie zum Abspielen und Aufzeichnen von CAN-Logs
Durch die Kombination dieser Werkzeuge kann der digitale Fahrzeugzwilling sowohl mit simulierten als auch mit realitätsnahen Fahrzeugdaten betrieben und evaluiert werden.
Vorkenntnisse
Für die erfolgreiche Teilnahme am Modul werden grundlegende Programmierkenntnisse vorausgesetzt, insbesondere in Python (https://www.python.org). Erfahrungen mit objektorientierter Programmierung sowie mit modularer Softwareentwicklung sind von Vorteil.
Empfohlene Vorkenntnisse umfassen:
- Grundlagen der Softwarearchitektur
- Basiswissen zu grafischen Benutzeroberflächen
- Grundlegendes Verständnis von Rechnernetzen
- Kenntnisse des CAN-Bus-Systems
Erfahrungen mit Linux-basierten Entwicklungsumgebungen sowie mit Netzwerkprotokollen erleichtern den Umgang mit Scapy (https://scapy.net) und can-utils (https://github.com/linux-can/can-utils), sind jedoch nicht zwingend erforderlich und können im Rahmen des Projekts erworben werden.
Rahmenbedingungen
Als Vorgehensmodell für die agile Systementwicklung kommt Scrum zum Einsatz. Es werden etablierte Entwicklungstools verwendet, vorzugsweise solche, die am Fachbereich bereits vorhanden sind.
Dazu zählen unter anderem:
- Versionsverwaltung mittels Git
- Ein Scrum-Board zur Aufgaben- und Sprintverwaltung
- Gemeinsame Dokumentation der Ergebnisse
Das Projekt baut auf Vorarbeiten vorheriger Semester auf und ist so konzipiert, dass eine Weiterführung in zukünftigen Veranstaltungen möglich ist. Der entwickelte Quellcode steht unter der MIT-Lizenz (https://opensource.org/licenses/MIT).
Für weitere Fragen zum Projekt stehen wir Ihnen gerne per E-Mail zur Verfügung.