Eine Slotcar-Bahn ist eine aus steckbaren Bahnteilen aufgebaute Rennbahn für spurgeführte elektrisch angetriebene Modellfahrzeuge, in Deutschland ist dabei die Bezeichung des Gesamtsystems durch das Deonym des bekanntesten Herstellers gebräuchlich. Das Ziel des Slotcar-Rennens ist die Steuerung des eigenen Fahrzeuges, sodass eine möglichst geringe Rundenzeit erreicht wird ohne dass das Fahrzeug die Spur verlässt. Einen Reinforcement Learning basierten Agenten auf einer realen Slotcar-Bahn zu trainieren ist ein nicht triviales Problem aufgrund der hohen Kosten, die mit einem "Zurücksetzen" der Umgebung verbunden sind; ein Mensch muss das Fahrzeug wieder in die Spur einsetzen.
Folgende Komponenten sind bereits vorhanden:
Eine modifzierte Slotcar-Bahn, die digital angesteuert werden kann
Mikrocontroller zur Steuerung der Bahn über USB
Marker-basiertes Tracking für die Fahrzeuge
Beispielprogramm, das einen PI-Regler für konstante Geschwindigkeit mit den vorherigen Komponenten implementiert
Die Ziele dieser Tätigkeit sind:
Hauptziel ist die Entwicklung eines Demonstrators, welcher mit Deep Reinforcement Learning das Problem des Slotcar-Rennens optimiert
Hierfür die Umsetzung eines Frameworks, welches in Echtzeit Daten auf der Bahn sammelt und trainiert
Anwendung von aktueller Forschung aus dem Gebiet des Risk-Aware Reinforcement Learning
Evtl. Sim2Real, Vortraining auf einem Simulator (welcher zu entwickeln wäre)
Evtl. Contextual Reinforcement Learning
Voraussetzungen
Gute Kenntnis von Python, insbesondere Numpy, Pytorch, evtl. Ray
Kentniss der Grundlagen von Deep Learning
Optimal: Kentniss von Reinformcent Learning, z.B. "Labor: Maschinelles Lernen für Künstliche Intelligenz in Spielen"