Ich habe versucht, einen PI-Controller ( Proportional-Integral ) zu implementieren, damit eine Trägerrakete zwei Referenzzustände gleichzeitig verfolgen kann, nämlich Position und Geschwindigkeit, damit die Trägerrakete ihren Aufstiegsbrand in einer stabilen kreisförmigen Umlaufbahn bei 600 km beendet Umlaufbahnhöhe. Ich habe versucht, dies zu tun, indem ich zuerst ein optimales Führungsproblem löste, das die erforderliche Referenzposition, Referenzgeschwindigkeit und Referenzsteuerungseingabe (die als Feedforward-Steuerung verwendet wird) bereitstellt, damit die Rakete ihrem Aufstieg folgen kann. Der PI-Regler wird dann hauptsächlich zum Unterdrücken von Störungen verwendet, wobei die Feedforward-Regelung den Großteil des Regeleingangs bereitstellt.
Was mir aufgefallen ist, ist, dass der PI-Controller gute Arbeit leistet, wenn es darum geht, jeweils 1 Referenz zu verfolgen (dh eine Positionsreferenz oder eine Geschwindigkeitsreferenz zu verfolgen), aber wenn ich versuche, sowohl Position als auch Geschwindigkeit gleichzeitig zu verfolgen, gibt es nach enttäuschende Ergebnisse, da nur einer der Referenzzustände genau verfolgt wurde.
Angefügt ist ein Beispiel für die Implementierung des Controllers, um nur eine Positionsreferenz zu verfolgen. Die radiale Position ist im linken Diagramm angegeben, und die Gesamtgeschwindigkeit ist im rechten Diagramm angegeben, wobei die blauen Diagramme die zu folgenden Referenzen sind und die orangefarbenen Diagramme die tatsächlichen Flugbahnen der Rakete sind.
Wie zu sehen ist, verfolgt die Steuerung die Positionsreferenz sehr gut, ist aber nicht in der Lage, die Geschwindigkeitsreferenz mit guter Genauigkeit zu verfolgen.
Wenn wir dann versuchen, nur die Geschwindigkeitsreferenz zu verfolgen, haben wir die folgenden Diagramme, in denen die Geschwindigkeit gut verfolgt wird, aber die Position von unserer gewünschten Trajektorie abweicht.
Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, sowohl Position als auch Geschwindigkeit für den Aufstieg der Trägerrakete in die Umlaufbahn genau zu verfolgen. Wie würde die Verfolgung mehrerer Referenzziele während eines echten Startereignisses erreicht?
Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, sowohl Position als auch Geschwindigkeit für den Aufstieg der Trägerrakete in die Umlaufbahn genau zu verfolgen.
Wenn möglich, haben Sie genauere Aktuatoren und Referenzmodelle. Verbessert das Tracking von Zuständen einfacher.
Da es jedoch eine Beziehung zwischen Position und Geschwindigkeit gibt, können Sie nicht beide richtig steuern. Der Grund ist einfach: Wenn Sie eine Referenzbahnposition und -geschwindigkeit haben, die beide mit der Zeit ausgerichtet sind. Wenn Sie an irgendeinem Punkt in der Position hinterherhinken, können Sie dies nur durch Beschleunigen und damit Erhöhen der Geschwindigkeit kompensieren, wodurch Sie von der Referenzgeschwindigkeit abweichen würden. Wenn Sie versuchen würden, nur die Referenzgeschwindigkeit zu steuern, würde Ihre Position im Laufe der Zeit immer mehr von ihrer Referenz abweichen.
Ich würde vorschlagen, dass Sie für ein so vereinfachtes Problem Folgendes in Betracht ziehen, während Sie generieren Und als zeitabhängige Referenzen sollten Sie versuchen, die Geschwindigkeit in Abhängigkeit von der Position zu steuern, dh . Das macht Sinn, denn es ist besser, mit der entsprechenden Geschwindigkeit auf der entsprechenden Höhe zu sein als zur richtigen Zeit.
Wie würde die Verfolgung mehrerer Referenzziele während eines echten Startereignisses erreicht?
Das sind so ziemlich proprietäre Informationen für jede Rakete und jeden Startplatz. Beachten Sie jedoch ein paar Dinge: 1. Es werden nicht nur Höhe und Geschwindigkeit überwacht, sondern auch Breitengrad, Längengrad, absolute Geschwindigkeit, vertikale Geschwindigkeit und horizontale Geschwindigkeit. 2. Die Fluglage der Rakete ist sehr wichtig. 3. Es ist nicht einfach, das Vertrauen zu modulieren (ich glaube nicht einmal, dass eine Rakete den inneren Druck mit einer Referenz kontrollieren kann). Und das Ein- und Ausschalten der Triebwerke dauert, wenn möglich, lange. 4. Jede moderne Rakete steuert die Richtung des Schubs, aber in sehr begrenzter Weise, in einem kleinen Winkel, und die Richtung kann (und sollte) nur langsam geändert werden.
Daher habe ich mich gefragt, ob es eine Möglichkeit gibt, sowohl Position als auch Geschwindigkeit für den Aufstieg der Trägerrakete in die Umlaufbahn genau zu verfolgen. Wie würde die Verfolgung mehrerer Referenzziele während eines echten Startereignisses erreicht?
Sie können nicht. Position und Geschwindigkeit sind abhängige Variablen (Geschwindigkeit ist per Definition die zeitliche Ableitung der Position), sodass die Steuerung der einen die andere beeinflusst und umgekehrt (siehe Antwort von Mefitico ).
Als theoretische Übung könnten Sie die Trajektorie parametrisieren, um die Geschwindigkeit als Funktion der Position zu erhalten, wie von Mefitico vorgeschlagen, aber dieser Ansatz ergibt keinen physikalischen Sinn: Physikalische Systeme ermöglichen es Ihnen entweder, eine Kraft anzuwenden, die eine Beschleunigung ergibt (alles, was sich wie a verhält Masse, ) oder unter Krafteinwirkung verschieben (federähnliche Dinge, ).
Ich schlage daher vor, dass Sie Ihre Rakete zuerst als Punktmasse mit einem omnidirektionalen Triebwerk modellieren und prüfen, ob Sie Ihre Flugbahn verfolgen können. Dann verfeinern Sie Ihr Modell schrittweise von dort aus.
äh
aastro
Ludo
Benutzer36480