Car Simulator nutzt das Fuzzy-Steuerungssystem, den genetischen Algorithmus und die Partikelschwarmoptimierung, um die Bewegung des autonomen Autos auf der Karte zu simulieren. Es unterstützt auch VR-Geräte. Weitere Informationen finden Sie hier.
Die Eingabe enthält die drei Abstandssensoren des Autos (vorne, 45 Grad links und rechts), die aus der definierten Bewegungsgleichung, der Position des Autos und dem Winkel zwischen dem Auto und der horizontalen Achse ermittelt werden können. Ausgabe ist der Drehwinkel des Lenkrads.
Das Ziel besteht darin, die Endlinie zu erreichen, ohne auf die Wand zu stoßen, und die Bewegungsbahn (einschließlich der Position jedes Zeitpunkts, des Sensorwerts und des Drehwinkels des Lenkrads) als Textdatei auszugeben und dann auf der grafischen Oberfläche anzuzeigen.
Die Bewegungsgleichung des simulierten Autos lautet wie folgt:
Das Fuzzy-Steuerungssystem verwendet die benutzerdefinierten sieben Fuzzy-Regeln und einen diskreten Schwerpunkt-Defuzzifier. Einzelheiten finden Sie hier.
Car Simulator verwendet den realwertigen genetischen Algorithmus (GA), um das Radial Base Function Network (RBFN) zu trainieren, und das Auto wird durch RBFN gesteuert. Das Gen ist als die drei Parameter von RBFN (w, m, σ) eines gemischtdimensionalen Vektors definiert. Die Fitnessfunktion ist die mittlere Varianz der erwarteten Ausgabe des Datensatzes und der RBFN-Ausgabe im spezifischen Eingabefall. Der niedrigste Fitnesswert ist der beste RBFN-Parameter.
Die Struktur des radialen Basisfunktionsnetzwerks ist wie folgt:
Car Simulator kann auch die Partikelschwarmoptimierung (PSO) nutzen, um RBFN zu trainieren. Die PSO-Koordinate ist als die drei Parameter von RBFN (w, m, σ) eines gemischtdimensionalen Vektors definiert. Die Fitnessfunktion ist die mittlere Varianz der erwarteten Ausgabe des Datensatzes und der RBFN-Ausgabe im spezifischen Eingabefall. Der niedrigste Fitnesswert ist der beste RBFN-Parameter.
https://jasonnor.github.io/Car-Simulator/
Car Simulator unterstützt auch das VR-Gerät, bitte öffnen Sie diese Seite.
InputA1 InputB1 InputC1 Output1
InputA2 InputB2 InputC2 Output2
...
Dabei ist InputA der Wert des mittleren Abstandssensors, InputB der Wert des rechten Abstandssensors, InputC der Wert des linken Abstandssensors und Output der Drehwinkel des Lenkrads. Die Standarddatensätze finden Sie hier.
InputA1 InputB1 InputC1 InputD1 InputE1 Output1
InputA2 InputB2 InputC2 InputD1 InputE1 Output2
...
Dabei ist InputA die X-Koordinate des Fahrzeugs, InputB die Y-Koordinate des Fahrzeugs, InputC der Wert des mittleren Abstandssensors, InputD der Wert des rechten Abstandssensors, InputE der Wert des linken Abstandssensors und Ausgang der Drehwinkel des Lenkrads. Die Standarddatensätze finden Sie hier.
Sie können es gerne verwenden, wenn Sie daran interessiert sind, Probleme zu beheben und direkt zur Codebasis beizutragen.
Car Simulator wird unter der MIT-Lizenz veröffentlicht. Einzelheiten finden Sie in der LICENSE-Datei.