Es gibt viele PC-Autorennspiele, die über diese einzigartige Fahrassistenz verfügen, mit der Sie Ihr Auto bremsen können, damit Sie es sicher drehen können. Während es in einigen Spielen nur ein "Assist" ist, hilft es Ihrem Auto nur beim Bremsen, sorgt aber nicht für eine sichere Kurve. In anderen Fällen hilft Ihnen der Bremsassistent dabei, eine sichere Kurve zu fahren. Ich habe mich gefragt, welcher Algorithmus verwendet werden könnte, um dies zu erreichen.
Ein sehr grundlegender Algorithmus, an den ich denken konnte, war:
- Bestimmen Sie den Bremsweg eines idealen Fahrzeugs für jede Kurve auf der Strecke, abhängig vom Radius der Kurve, und beginnen Sie dann, das Fahrzeug entsprechend zu bremsen. Zum Beispiel würde das Auto bei einer Kurve von weniger als 90 ° in 50 m Entfernung vom Beginn der Kurve automatisch mit dem Bremsen beginnen.
Ein fortschrittlicherer Algorithmus, der eine sichere Wende gewährleisten würde, könnte sein
- Bestimmen Sie die Geschwindigkeit des Fahrzeugs zu Beginn jeder Kurve individuell für jede Spur, Kurve und jedes Fahrzeug. Bestimmen Sie außerdem die Verzögerungsrate jedes Fahrzeugs einzeln, die aufgrund der Leistung des Fahrzeugs variiert.
- Der Bremsassistent zeichnet zu einem bestimmten Zeitpunkt die Geschwindigkeit des Fahrzeugs auf.
- Beginnen Sie, das Auto entsprechend zu bremsen, damit das Auto zu Beginn der Kurve genau die Geschwindigkeit erreicht, die es benötigt.
- Angenommen, die Geschwindigkeit eines bestimmten Autos zu Beginn einer Kurve mit einem Radius von 43 m beträgt 120 km / h. Die Verzögerungsrate des Autos sei 200 km / h 2 . Wenn zu einem bestimmten Zeitpunkt die Geschwindigkeit des Fahrzeugs 200 km / h beträgt, bremst das Fahrzeug automatisch 400 m vor Beginn der Kurve.
Antworten:
Grundsätzlich vergleicht der Bremsassistent die Geschwindigkeit des Autos des Spielers mit der Geschwindigkeit des nächstgelegenen Punkts auf der optimalen Rennlinie der Strecke und betätigt die Bremsen automatisch nach Bedarf, um die Geschwindigkeit des Autos des Spielers auf die auf der optimalen Rennlinie angegebene Geschwindigkeit zu senken. Es ist genau so, als würde man eine Rennwagen-KI schreiben, aber nur die Bremsleistungen der KI anwenden, nicht das Gaspedal oder die Lenkung.
Dies erfordert (offensichtlich), dass Sie Daten über eine optimale Rennlinie haben, damit Sie erkennen können, wie viel der Spieler zum Verlangsamen benötigt. Diese Rennlinie wird normalerweise während der Entwicklung rechnerisch generiert und mit dem Spiel als statische Daten ausgeliefert, anstatt zur Laufzeit berechnet zu werden. (Ich habe an Spielen gearbeitet, bei denen dynamisch eine Rennlinie vor dem Spieler generiert wurde, aber dies war rechenintensiv, und ich empfehle es nur, wenn Sie Strecken haben, die sich auf unvorhersehbare Weise ändern.)
quelle
Sie können den Weg berechnen, den das Auto beschreiben würde, wenn es sich mit der aktuellen Geschwindigkeit dreht, ohne zu driften. Betätigen Sie dann die Bremsen proportional zum Abstand d , dem Abstand, der vom berechneten Pfad zur Kurve gemessen wird.
quelle