Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Entwurf eines LQR-Servoreglers in Simulink

Dieses Beispiel zeigt den Entwurf eines LQR-Servoreglers in Simulink® anhand einer Autopilot-Anwendung für Luftfahrzeuge.

Öffnen Sie das Modell für

open_system("lqrpilot")

In diesem Modell:

  • Der Block Linearized Dynamics enthält das linearisierte Flugwerk.

  • sf_aerodyn ist ein S-Function-Block, der die nichtlinearen Gleichungen für (θ,ϕ)=(0,15) enthält.

  • Das Fehlersignal zwischen ϕ und ϕref wird durch einen Integrator geschickt, der dazu beiträgt, den Fehler auf Null zu bringen.

Beim Öffnen des Modells wird auch die MAT-Datei lqrpilotData geladen, welche folgende Daten enthält:

  • Matrizen der Zustandsgleichungen A und B

  • Linearisierte Zustandsmatrix A15

  • Endgültige LQG-Verstärkungsmatrix K_lqr

Zustandsraumgleichungen für Luftfahrzeuge

Die Gleichung ist die Standard-Zustandsgleichung eines Zustandsraumsystems.

x˙=Ax+Bu

Für das Luftfahrzeugsystem sieht der Zustandsvektor wie folgt aus:

x=[u,v,w,p,q,r,θ,ϕ]T

Die Variablen u, v und w sind die drei Geschwindigkeiten relativ zum Flugzeugrumpf-Bezugssystem, wie in der folgenden Abbildung dargestellt.

Die Variablen ϕ und θ stellen das Rollen und Nicken dar p, q und r sind die entsprechenden Roll-, Nick- und Giergeschwindigkeiten.

Die Dynamiken des Flugwerks sind nichtlinear. Die folgende Gleichung zeigt die Zustandsraumgleichung, nachdem die nichtlinearen Komponenten hinzugefügt wurden, wobei g die Fallbeschleunigung ist.

x˙=Ax+Bu+[-gsinθgcosθsinϕgcosθcosϕ000qcosϕ-rsinϕ(qsinϕ+rcosϕ)tanθ]

Trimmen

Für LQG-Entwurfszwecke werden die nichtlinearen Dynamiken bei ϕ=15 getrimmt und p, q, r und θ auf null festgelegt. Da u, v und w nicht auf den nichtlinearen Term in der vorstehenden Gleichung auswirken, ist das Ergebnis ein um (θ,ϕ)=(0,15) linearisiertes Modell, bei dem alle restlichen Zustände auf null festgelegt sind.

Das lqrdes-Skript beschreibt, wie das linearisierte Modell A15 an diesem getrimmten Arbeitspunkt berechnet wird.

Problemdefinition

Das Ziel des Entwurfs besteht im Fliegen einer stabil koordinierten Wende, wie in der folgenden Abbildung dargestellt.

Um dieses Ziel zu erreichen, müssen Sie eine Steuerung entwerfen, die eine stabile Wende beherrscht, indem eine 60-Grad-Rolle durchlaufen wird. Zusätzlich muss vorausgesetzt werden, dass der Nickwinkel θ möglichst nahe bei Null bleiben muss.

Ergebnisse

Das lqrdes-Skript beschreibt, wie die LQG-Verstärkungsmatrix K_lqr berechnet wird.

Stellen Sie im lqrpilot-Modell sicher, dass der Schalterblock so konfiguriert ist, dass er den Ausgang des Blocks „Nonlinear Dynamics“ wählt.

Führen Sie das Modell aus.

sim("lqrpilot")

Betrachten Sie die Antwort des Rollens ϕ auf eine Sprungänderung von 60°. Das System verfolgt die befohlene Rolle innerhalb von etwa 60 Sekunden.

open_system("lqrpilot/phi (roll angle)")

Betrachten Sie den Nickwinkel θ. Der Regler war in der Lage, den Nickwinkel relativ klein zu halten.

open_system("lqrpilot/theta (pitch angle)")

Sehen Sie sich schließlich die Steuerungseingänge an.

open_system("lqrpilot/Control Inputs")

Sie können die Q- und R-Werte im lqrdes-Skript anpassen, um verschiedene mögliche Entwürfe auszuprobieren. Außerdem können Sie Simulationen der linearen und nichtlinearen Systemdynamiken vergleichen, um die Auswirkungen der Nichtlinearitäten auf die Systemleistung zu sehen.

Verwandte Themen