Projizierte Flugbahn eines Fahrzeugs?


8

In dem Spiel, das ich entwickle, muss ich berechnen, ob mein Fahrzeug (1), das im Beispiel mit einer Geschwindigkeit V nach Norden fährt, sein Ziel (2) erreichen kann. Das Beispiel zeigt das Problem von oben:

Geben Sie hier die Bildbeschreibung ein

Es gibt tatsächlich zwei mögliche Szenarien: V ist konstant (was zu Flugbahn 4, einem Kreisbogen, führt) oder das Fahrzeug hat die Fähigkeit zu beschleunigen / abbremsen (Flugbahn 3, ein Bogen einer Spirale).

Ich würde gerne wissen, ob es eine einfache Möglichkeit gibt, zu überprüfen, ob das Fahrzeug sein Ziel erreichen kann (im Gegensatz zum Überschießen) . Ich interessiere mich besonders für Flugbahn Nr. 3, da ich nur daran denken kann, die Position des Fahrzeugs im Laufe der Zeit zu integrieren.

BEARBEITEN: Natürlich hat das Fahrzeug immer die Fähigkeit zu lenken, aber der Lenkradius variiert mit seiner Geschwindigkeit (denken Sie an eine maximale seitliche G-Kraft).

EDIT2: Beachten Sie auch, dass (wie die meisten Fahrzeuge im wirklichen Leben) auch für die im Spiel befindlichen Fahrzeuge ein Mindestlenkradius vorhanden ist.

Antworten:


15

Wenn Sie Ihre Geschwindigkeit (also Ihren Lenkwinkel) variieren können, finden Sie immer eine Lösung, beginnend mit der entarteten, bei der das Objekt fast nicht mehr in einem kleinen Kreis rotiert, bis es auf das Ziel zeigt.

Wenn Sie Ihre Geschwindigkeit nicht variieren können, können Sie an nicht erreichbare Bereiche oder Schatten denken, die Sie selbst mit Ihrem besseren Lenkrad nicht erreichen können. Wenn sich das Ziel in diesen Bereichen befindet, können Sie es nicht erreichen (es sei denn, "Überschwingen", Sie können sie sogar übertreffen und lege sie aus dem Schattenbereich).

Mit Ihrer besten Lenkung können Sie sich auf einem Kreisbogen nach links / rechts drehen und einen vollständigen Umfang zeichnen:

Schatten

Wie Sie sehen können, ist das, was sich in einem der beiden Kreise befindet, nicht direkt erreichbar.

Ein Körper der Masse m , der über eine Kurve mit dem Krümmungsradius r steuert , erfährt eine radiale scheinbare Zentrifugalkraft, die durch das Trägheitsverhalten des Körpers verursacht wird, gleich:

Fc = mV ^ 2 / r

wobei V die Geschwindigkeit des Körpers ist (die Länge des Geschwindigkeitsvektors); die Beschleunigung eines Körpers aufgrund einer Kraft sein, die ist:

a = F / m

Unsere Beschleunigung ist:

a = V ^ 2 / r

Wenn wir sagen, dass am die maximale Beschleunigung ist, erhalten wir Folgendes:

rm = V ^ 2 / am

Dabei ist rm der minimale Radius unter Verwendung der maximalen Beschleunigung.

Wenn Sie testen möchten, ob das mit Geschwindigkeit V bewegte Fahrzeug in P das Ziel in T erreichen kann, müssen Sie:

1) Berechnen Sie C1 und C2 als:

c1 und c2

2) Testen Sie den Mindestabstand von P von C1 und C2 wie folgt:

Radiusprüfung

Wenn d größer als rm ist, bedeutet dies, dass T außerhalb der beiden Schatten liegt und dann für das Fahrzeug erreichbar ist, indem einfach die Lenkung unter der Lenkbeschränkung eingestellt wird. (Genauer gesagt gibt es einen Pfad unter Einschränkungen, bei dem die Funktion des Abstands zwischen T und P monoton abnimmt.)

[AKTUALISIEREN]

Wenn es möglich ist, die Geschwindigkeit zu ändern, ist es immer möglich, einen Bogen (dh ein Paar aus Geschwindigkeit und radialer Beschleunigung) zu erhalten, der von P nach T geht . Dies ist möglich, weil der Radius zu einem echten Freiheitsgrad wird.

Dies ist eine mögliche Konstruktion:

Zielpfad

Die schwarze Linie ist die Achse, auf der der Mittelpunkt der Kreise liegen kann: Sie verläuft senkrecht zur aktuellen Ausrichtung des Fahrzeugs und verläuft durch den Drehpunkt.

Das grüne Segment stellt die Linie dar, die senkrecht zu der Linie ist, die die Fahrzeugmitte mit dem Ziel verbindet und durch die Mitte dieser Strecke verläuft.

Die grüne Linie kreuzt die schwarze genau in der Mitte des gewünschten Bogens. Die Länge des orangefarbenen Segments gibt den Wenderadius an, der durch Regulieren der Geschwindigkeit und Drehen bei maximaler Lenkung oder durch Regulieren sowohl der Geschwindigkeit als auch der Lenkung erreicht werden kann, um unter der Einschränkung zu bleiben


Vielen Dank, dass Sie sich die Zeit genommen haben, diese detaillierte Antwort zu schreiben (+1). Ich muss es ein wenig "studieren", aber aus der ersten Lesung scheint mir, dass Ihre erste Aussage "Sie werden immer eine Lösung finden ..." nicht unbedingt wahr ist: Die Existenz eines minimalen Lenkradius impliziert, dass es immer gibt wird ein "Schattenbereich" sein, dessen Grenze eine Art "Umlaufbahn" um das Ziel definiert ... Oder irre ich mich? [Dies ist in der Tat das eigentliche Problem für mich, da die Berechnung für V = k unkompliziert ist ...]
Mac

@mac Wenn sich das Ziel nicht an derselben Stelle Ihres Fahrzeugs befindet, können Sie langsamer fahren, sodass rmin einen Kreis generiert, der klein genug ist, um das Ziel nicht zu enthalten. Wenn Sie sich in diesem Zustand befinden, können Sie Ihre Geschwindigkeit so einstellen, dass das Ziel genau auf Ihrem Umfang liegt!
FxIII

@Fxill - Nochmals vielen Dank für das Update, wenn es möglich wäre, würde ich Ihnen eine Sekunde +1 für die Widmung geben! :) Trotzdem verstehe ich aus Ihrer Erklärung nicht, wie Sie sowohl die Beschleunigung als auch die Anfangsgeschwindigkeit berücksichtigen: Das gesamte Problem beruht auf der Tatsache, dass sich die Geschwindigkeit mit der Zeit ändert (Bogen einer Spirale). Ich habe den Eindruck, es könnte einfach nicht genug Platz für das Fahrzeug sein, um langsam genug zu werden / einen Radius zu bekommen, der klein genug ist, um das Ziel abzufangen ... oder irre ich mich?
Mac

@mac sagen wir am = 1 dann rm = v ^ 2; wenn d = | PT | > 0 Sie können v ^ 2 <d / 2 wählen; Wenn d = 0 ist, bedeutet dies, dass P = T ist, sodass Sie Ihr Ziel bereits erreicht haben ...
FxIII

hahaha kein zweifel dass es funktioniert! : D
FxIII
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.