In dieser Thesis wurde eine Applikation entwickelt, die das Erstellen und Ausdrucken von Strecken erlaubt. Das Konzept von Anki Overdrive eignet sich hervorragend für Einsatzgebiete in der Ausbildung und Forschung. Da die Produktion der Streckensets von Anki Overdrive seit dem Jahr 2019 unterbrochen ist, wurde hiermit eine Alternative erschaffen. Um dies zu ermöglichen, musste die unterliegende physikalische und logische Struktur der Streckenteile analysiert werden.
Anki Overdrive ist ein Rennspiel, dass aus konkreten modularen Streckenstücken, Fahrzeugen und einer App für die Steuerung per Smartphone besteht. Das spezielle dabei ist, dass sich diese Fahrzeuge scheinbar autonom auf den Streckenstücken fortbewegen können und dabei unsichtbaren Spuren zu folgen scheinen.
Anki Overdrive stellt zudem eine SDK zu Verfügung welche OpenSource ist und über welche die Fahrzeuge gesteuert werden können. Da die Produktion der Streckensets seit einer gewissen Zeit unterbrochen wurde, sollte eine Alternative gefunden werden, die das Ausdrucken solcher Streckenteile erlaubt.
Mit dieser Bachelor-Thesis sollen 3 Ziele erreicht werden:
Um in einem ersten Schritt den Aufbau der Streckenteile herauszufinden, wurde einerseits eine entsprechende Recherche durchgeführt und anderseits mittels Infrarot-Fotografie die unterliegende Struktur der Streckenteile sichtbar gemacht. Anschliessend konnte durch Reverse Engineering die Logik der physischen Struktur erarbeitet werden. Auf Basis dieser Logik konnten in der Folge neue Streckenteile (Geraden, Kurven, Kreuzungen, etc.) dynamisch generiert werden. Durch das Anwenden der Logik konnte zudem eine neue Art von Streckenteil entwickelt werden. Bei diesem neuen Streckenteil handelte es sich um eine Abzweigung, welche bei Anki Overdrive so nie vorgesehen war.
Das Web-Interface für den Track-Editor und der digitale Zwilling wurde mit dem JavaScript Framework Angular umgesetzt. Der Track-Editor wurde so realisiert, dass die Streckenteile nach gewissen Parametern angepasst und anschliessend generiert werden können. Damit diese Streckenteile nahtlos aneinander platziert werden können, wird ein Grid-System eingesetzt.
Um die Streckenteile zu generieren, wurde ein entsprechendes Backend, welches in Node.JS geschrieben wurde, realisiert. Für die Kommunikation zwischen dem Frontend und dem Backend wurde eine REST-Schnittstelle implementiert.
Der digitale Zwilling wurde im gleichen Web-Interface, wie der Track Editor, umgesetzt. Er wurde so umgesetzt, dass er aktuelle Informationen zu den realen Fahrzeugen und Streckenabschnitten in Echtzeit via MQTT erhält. Um die Strecke und die Fahrzeuge an der korrekten Position anzeigen zu können, wurde für die Darstellung ein HTML5 Canvas Element verwendet. Dadurch kann die Position der Fahrzeuge auf der Streckenabbildung dynamisch angepasst werden.
Die Logik der unterliegenden Struktur der Streckenteile konnte erfolgreich dokumentiert werden. Eine erste funktionsfähige Version des Track Editors und des digitalen Zwillings konnten erarbeitet und ausführlich getestet werden. Dadurch ist es nun möglich unterschiedlichste, frei definierbare Strecken generieren und ausdrucken zu lassen. Durch das Anwenden der Streckenlogik von Anki Overdrive, konnte ausserdem ein neues, kompatibles Streckenstück (Eine Abzweigung) entwickelt und in den Track-Editor übernommen werden.