Motorrad-Rennsimulator mit MapleSim
Technologischer Fortschritt aus Leidenschaft geboren
Mit MapleSim, dem Modellierungs- und Simulationswerkzeug aus dem Hause Maplesoft, ist es einem Ingenieur aus Frankreich gelungen, einen Motorrad-Rennsimulator zu entwickeln, der die besonderen Eigenschaften von Motorrädern berücksichtigt.
Der von Frédéric Nicolo entwickelte Motorrad-Rennsimulator ist keine Ausnahme, wenn es darum geht, innovative Ideen und technologische Fortschritte aus einer Leidenschaft zu entwickeln. Die Liebe zu Motorrädern hat den Ingenieur für numerische und wissenschaftliche Berechnungen dazu angeregt, sein eigenes Projekt zu starten, nachdem er feststellen musste, dass es keine Motorrad-Simulatoren gab, die das gleiche Niveau erreichen, wie Fahrsimulatoren für Autos.
Physikalische Phänomene simulieren
Um ein Motorrad unter optimalen Bedingungen bewegen zu können, benötigt es eine Vielzahl von Informationen. Die richtige Abstimmung zwischen Fahrer, Motorrad und Umgebung ist nur schwer zu simulieren. Nicolo machte sich daran, einen Motor-Rennsimulator zu entwickeln, um die physikalischen Phänomene bei Motorradrennen besser zu simulieren und sie für den Fahrer optimal im Simulator umzusetzen.
„Motorradrennen haben ein wesentlich kleineres Publikum, es gibt nur wenige Motorradhersteller, und die Investitionen in Forschung und Entwicklung sind im Vergleich zur Automobilindustrie gering. Physikalische Phänomene bei Motorradrennen lassen sich in einem Simulator schwieriger nachbilden. Sie umfassen ein größeres Spektrum als bei Autos – beispielsweise Nick- und Rollbewegungen – und nur sehr wenige dieser Faktoren kann man ungestraft vernachlässigen oder einfach nur über den Daumen ermitteln.“
Um die vielen physikalischen Phänomene für dieses Projekt zu simulieren brauchte er ein geeignetes Werkzeug zu ihrer Modellierung. Für die verschiedenen Teilgebiete, die bei der Entwicklung eines Rennsimulators berücksichtigt werden müssen, wird ein effektives Werkzeug benötigt, das schnelle, leicht skalierbare Multidomain-Modelle unterstützt. Bisher hatte Nicolo ein von ihm programmiertes Modell in C++ für die Simulationen eingesetzt, welches jedoch, besonders bei der erreichbaren Genauigkeit und der Skalierbarkeit des Modells, seine Grenzen erreichte.
„Einige Zeit danach habe ich MapleSim kennengelernt, und ich fand heraus, dass es bei der physikalischen Modellierung die Leistung bietet, die für derartige Experimente erforderlich ist“, so Nicolo. „Ich erhielt Zugang zu einer Demoversion von MapleSim und während dieser Testphase gewann ich die Gewissheit, dass MapleSim – aus der Sicht der physikalischen Modellierung, der Leistung und der Interoperabilität des erzeugten Codes – die Lösung für meine vielen Anforderungen sein würde. Der aus einem MapleSim-Modell erzeugte Code ist ohne Lizenzgebühren einsetzbar, es gibt keine proprietären Bibliotheken, und der Anwender kann digitale Modelle entwickeln, die sich nahtlos in viele Echtzeitumgebungen einbinden lassen.“
Berechnung der Dynamik
Ein Großteil der Arbeit am Simulator gilt der Berechnung der Dynamik des Motorrads, um eine solide und realistische Grundlage für die Simulation seines Verhaltens zu schaffen. Das Projekt umfasst die folgenden Elemente:
- Erfassung der Interaktionen zwischen Fahrer und Motorrad
- Physikalische Modellierung und Simulation des Fahrers, des Motorrads und seiner Umgebung
- Einsatz der Ergebnisse der Modellierung, um für den Fahrer im Simulator eine realistische Erfahrung zu erzeugen
- Beschreibung und 3D-Visualisierung der virtuellen Umgebung, in der Fahrer und Motorrad unterwegs sind
- Einbindung eines Audiosystems in die virtuelle Welt
Nicolo hatte schon Erfahrung mit der Modelliersprache Modelica, und die Tatsache, dass MapleSim Modelica verwendet, hat die Entwicklung eines Modells für die Dynamik des Motorrads, das diese Elemente beinhaltet, wesentlich erleichtert. Seine Modelle bestehen aus Elementen, die mit den MapleSim Multibody- und 1D-Mechanik-Bibliotheken entwickelt worden sind, Elementen, die in C++ entwickelt worden waren und in MapleSim eingebunden wurden, und einer in MapleSim entwickelten Servomotorsteuerung. Er testete die Integration einer Reihe schon früher in C++ erstellter Module und optimierte mit einigen Anpassungen den erzeugten Code, um effiziente und skalierbare ausführbare Dateien zu erhalten. „Das Modell für die Dynamik des Motorrads ließ sich in Echtzeit mit festen Schritten von 200 µs auf einer handelsüblichen Rechnerkonfiguration mittlerer Leistung erfolgreich ausführen. Die Modelle umfassen eine Reihe verschiedener Domains. Dazu gehören Kommunikationselemente wie Ethernet-Module, und Komponenten wie eine Treiberkarte, die benötigt wird, damit der Code auf der Simulationsplattform für das Motorrad ausgeführt werden kann“, erläuterte Nicolo. „Ziel war es, ein MapleSim-Modell zu entwickeln, das sich nach dem Kompilieren direkt auf dem Simulator ausführen lässt.“ „MapleSim bietet als Plattform zur Modellintegration – der Kombination von Modellen aus einer Reihe verschiedener technischer Bereiche – reale Vorteile, da MapleSim Modelica unterstützt und externer C-Code in die MapleSim-Modelle eingebaut werden kann.“
Analyse der Simulationsergebnisse
Der Einsatz der Anwendung zur Codeerzeugung war für Nicolo ein wichtiger Schritt, denn so kann er ausführbaren Code erzeugen, um das gesamte Motorrad neu zu konfigurieren, ohne dass er dazu das Modell in MapleSim neu erzeugen muss. Das Analysefenster kombiniert bei der Bearbeitung simulierter Daten zwei komplementäre Ansätze. Dazu gehört ein erster qualitativer Ansatz, der schnell ausgeführt werden kann, indem die Ergebnisse als 3D-Video dargestellt werden. „Mit dieser Funktion kann man die Informationen schnell verarbeiten und entweder entscheiden, das Testszenario und die Modellierung nochmals zu überarbeiten oder mit einem detaillierteren Ansatz und der Analyse der Simulationsergebnisse fortzufahren“, so Nicolo.
Nicolo schätzt besonders, dass sein Projekt weiterhin von MapleSim profitieren kann, wenn sein Motorradsimulator komplexer wird und genauere Modelle enthält. Für die Zukunft plant er, die Anwendung für noch mehr Funktionen in seinem Simulatorprojekt einzusetzen wie beispielsweise die Datenerfassung und Verarbeitung, die Bemessung der mechanischen Komponenten und der Aktuatoren an der Simulationsplattform und die Entwicklung der Regelschleifen für die Aktuatoren des Simulators. kp