Wie funktioniert die Bremsassistenz von Autorennen?

8

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

  1. 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.
  2. Der Bremsassistent zeichnet zu einem bestimmten Zeitpunkt die Geschwindigkeit des Fahrzeugs auf.
  3. Beginnen Sie, das Auto entsprechend zu bremsen, damit das Auto zu Beginn der Kurve genau die Geschwindigkeit erreicht, die es benötigt.
  4. 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.
Ayush Khemka
quelle
2
Anspruchsvollere Optionen würden das Wetter, die Straßenoberfläche, die Gewichtsverteilung des Autos, die Eigenschaften der Federung und der Reifen berücksichtigen. Ich habe Spiele wie Real Racing 2 gesehen, bei denen Upgrade-Optionen Federung und Reifen modifizieren und einige andere das Tuning der Federung ermöglichen. Ein Spiel mit anhaltenden Welteigenschaften könnte angesammelten Mist auf der Straße und den sich ändernden Verschleiß und die Steifheit der Reifen beim Aufwärmen berücksichtigen.
Andy Dent
[anscheinend kann ich noch keinen Kommentar abgeben, daher poste ich dies als Antwort] Zusätzlich zu dem zweiten Ihrer Vorschläge würde ich diesen Algorithmus so anpassen, dass er etwas zu stark bremst, sodass die Geschwindigkeit zu Beginn der Kurve niedriger als die optimale Geschwindigkeit ist . Die Absicht hier ist, dass der Spieler herausfindet, dass er schneller an die Reihe kommen kann, ohne aus der Spur zu geraten, wenn er den Assist nicht benutzt. Ich möchte den Spieler ermutigen, Assists zu deaktivieren, was ihn stolzer auf sich machen sollte.
Grzegorz Sławecki
Wäre ein Algorithmus hier merklich anders als die Kontrolle eines KI-Gegners?
Schlepper
Nicht merklich, aber ja, in vielen Aspekten anders. Sie können die KI in jeder Geschwindigkeit und in jedem Winkel bewegen und trotzdem einen normalisierten Bewegungseindruck hinterlassen. In diesem Fall kann sich ein KI-Charakter sogar mit einer Geschwindigkeit von 160 km / h drehen, auch wenn dies nicht möglich ist, aber der erste Algorithmus hier würde es einem Spieler nicht erlauben, dies zu tun. Selbst für den zweiten besteht die Aufgabe des Assistenten darin, das Auto zu Beginn der Kurve auf die optimale Geschwindigkeit zu bringen. Wenn ein Spieler danach seine Geschwindigkeit erhöhen möchte, kann er nicht drehen.
Ayush Khemka

Antworten:

4

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.)

Trevor Powell
quelle
1

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.

Geben Sie hier die Bildbeschreibung ein

rraallvv
quelle