Brachistochrones Problem mit begrenztem Neigungswinkel und begrenzter Höhe

Ich versuche, den Weg der kürzesten Zeit für eine Hohlkugel (einen Tischtennisball) zu finden, um durch eine Kurve interpolierter Punkte von einem Punkt zum anderen zu rollen. Das Hauptproblem dabei ist, dass der Ball nicht rutschen, sondern nur rollen darf, was unseren steilsten Winkel auf etwa 40° begrenzt. Obwohl es nicht schwer ist, eine Lösung für ein rutschendes Objekt ohne Höhenbeschränkung nachzuschlagen und zu verstehen, fand ich das Problem erheblich schwieriger, wenn die Neigung begrenzt ist und unter Punkt B ein Tisch im Weg steht.

Wie wirkt sich Rotation/Trägheit auf das Problem aus?

Hier ist eine Abbildung, um zu verstehen, was ich meine. Die Idee ist, dass Punkt A ganz oben und Punkt B auf Bodenhöhe ist. Vielen Dank im Voraus.Figur

Was sind hier „Punkt A und B“?
@JMac Punkt A ist der Punkt ganz links auf der Kurve, der bis zu einer Höhe h_1 angehoben ist, und Punkt B ist der Punkt ganz rechts bei h = 0. Dazwischen befinden sich 6 Punkte, die nach Bedarf angepasst werden können Reisezeit optimieren.

Antworten (1)

Ich werde hier den Unterschied zwischen der punktweisen Steuerung der von Ihrem Setup erzeugten Kurve und der kontinuierlichen Steuerung des Baristocron-Problems diskutieren und den Unterschied zwischen "Rollen" und "Gleiten" ignorieren, der ein separates Problem darstellt. In dieser Antwort wird auch erläutert, wie die Neigung und die vertikale Ausdehnung der Lösung begrenzt werden. Ich löse Ihr Problem nicht, sondern skizziere nur den Ansatz, den ich wählen würde.

Der grundlegende Unterschied zwischen punktweiser Steuerung und kontinuierlicher Steuerung ist der Funktionsraum, auf den eingewirkt wird.

Nehmen wir an, wir verwenden eine horizontale Raumkoordinate X mit A < X < B , Objekt fährt von A Zu B . Im Standard-Baristocrone-Problem betrachten wir die „Höhen“-Funktion der Oberfläche, auf der „gleiten“ soll, H ( X ) , eine stetig differenzierbare Funktion sein (außer an den Endpunkten), mit H ( A ) = 0 , H ( B ) = H < 0 , H ( X ) 0 . Dann definieren wir zum Beispiel einige Funktionen T [ H ] , auf diesem Funktionsraum, der die zum Rutschen benötigte Zeit ausgibt X = A Zu X = B . Die endgültige Lösung wird durch Minimieren gefunden T über dem zulässigen Raum H .

Der Unterschied besteht darin, dass Sie die Dimensionalität Ihres Funktionsraums auf so viele modifizierende Punkte reduzieren, wie Sie haben. Dies verringert Ihre Kontrolle, macht es jedoch wesentlich einfacher, Einschränkungen wie begrenzte Neigung und vertikale Ausdehnung aufzuerlegen. Gegeben N einstellbare gleichmäßig beabstandete Punkte an

X ich = A + ich B A N + 1 ich { 1 , 2 , . . . , N }
und zwei feste Endpunkte bei X 0 = A , X N + 1 = B , definieren wir Funktionen H ( X ; H 1 , H 2 , . . . , H N ) so dass
H ( X ich ; H 1 , H 2 , . . . , H N ) = H ich ich { 1 , 2 , . . . , N }
H ( A ; H 1 , H 2 , . . . , H N ) = 0
H ( B ; H 1 , H 2 , . . . , H N ) = H
so dass die Höhe an den einstellbaren Punkten einen bestimmten, festgelegten Wert und an den Enden die richtigen Endpunktwerte annehmen muss. Wir müssen jetzt entscheiden, wie wir die Werte der Höhenfunktion zwischen den einstellbaren Punkten konstruieren. Der einfachste Weg besteht darin, zu entscheiden, dass die Funktion zwischen zwei beliebigen einstellbaren Punkten/Endpunkten linear ist, was eine vernünftige Annäherung ergibt. Allerdings verwenden Sie wahrscheinlich eine Art "Strahl", in diesem Fall verwenden Sie zum Beispiel this . Oder könnte Polynome höherer Ordnung mit Kontinuität von Ableitungen verwenden.

Wollen wir die Steigung begrenzen, so entspricht dies einer Beschränkung

| H ich + 1 H ich | Δ H
und wenn wir die vertikale Ausdehnung begrenzen möchten, dann entspricht dies
H ich H M ich N
zumindest für eine stückweise lineare H , für eine kompliziertere Konstruktion wird dies schwieriger.

Schließlich müssen wir die Reisezeit für eine bestimmte Person finden H . Für eine bestimmte Konstruktion kann die benötigte Zeit somit nur eine Funktion der einstellbaren Höhen sein

T [ H ] = T ( H 1 , H 2 , . . . , H N )
um die optimalen Werte zu finden H ich , minimieren T über den zulässigen Werten. Funktion finden T entspricht der Berechnung der Zeit, um sich zwischen zwei beliebigen einstellbaren Punkten zu bewegen, und der Ermittlung der Geschwindigkeit, mit der sie den nächsten einstellbaren Punkt passiert, so dass die für den nächsten Abschnitt benötigte Zeit berechnet werden kann. Sobald Sie die Funktion und Einschränkungen kennen, kann dies möglicherweise analytisch lösbar sein, aber höchstwahrscheinlich benötigen Sie ein numerisches Verfahren, z. B. Lösen in Matlab.

Wenn Sie tatsächlich keine endliche Anzahl einstellbarer Punkte haben, kann dieses Verfahren dennoch verwendet werden, da die Lösung, da die Anzahl der Punkte gegen unendlich geht, die richtige Lösung ist, also lösen Sie numerisch mit etwa hundert einstellbaren Punkten.