Entwurf von linear-quadratischen Gauß-Regelungen (LQG-Entwurf)
Linear-quadratische Gauß-Regelung (LQG-Regelung) ist ein modernes Zustandsraumverfahren für den Entwurf von optimalen dynamischen Reglern und Servoreglern mit Integralverhalten (auch als Sollwert-Tracker bezeichnet). Mit diesem Verfahren können Sie einen Kompromiss zwischen Regelungsleistung bzw. Tracker-Leistung einerseits und Steuerungsaufwand andererseits definieren und Prozessstörungen und Messrauschen berücksichtigen.
Zum Entwerfen von LQG-Reglern und Sollwert-Trackern führen Sie die folgenden Schritte aus:
Konstruieren Sie die LQ-optimale Verstärkung.
Konstruieren Sie einen Kalman-Filter (Zustandsschätzfunktion).
Bilden Sie den LQG-Entwurf, indem Sie die LQ-optimale Verstärkung und den Kalman-Filter verbinden.
Weitere Informationen zur Verwendung eines LQG-Entwurfs zum Erstellen von LQG-Reglern finden Sie unter Entwurf von linear-quadratischen Gauß-Reglern (LQG-Entwurf).
Weitere Informationen zur Verwendung eines LQG-Entwurfs zum Erstellen von LQG-Servoreglern finden Sie unter Entwurf von linear-quadratischen Gauß-Servoreglern (LQG-Entwurf) mit Integralverhalten.
Diese Themen beziehen sich auf zeitkontinuierliche Systeme. Informationen zum zeitdiskreten LQG-Entwurf finden Sie auf den Referenzseiten zu dlqr
und kalman
.
Entwurf von linear-quadratischen Gauß-Reglern (LQG-Entwurf)
Sie können einen LQG-Regler entwerfen, um den Ausgang y um den Wert null zu regeln.
Die Regelstrecke in diesem Modell ist Störungen (Prozessrauschen) w ausgesetzt und wird durch Regelungen u gesteuert. Zum Generieren dieser Regelungen nutzt der Regler die verrauschten Messwerte y. Die Zustands- und Messgleichungen der Regelstrecke haben die Form
und w und v werden als weißes Rauschen modelliert.
Hinweis
Für den LQG-Entwurf ist ein Zustandsraummodell der Regelstrecke erforderlich. Mit ss
können Sie andere Modellformate in die Zustandsraumdarstellung konvertieren.
Zum Entwerfen von LQG-Reglern können Sie die Entwurfstechniken in der folgenden Tabelle verwenden.
Zum Entwerfen eines LQG-Reglers mit ... | Verwenden Sie die folgenden Befehle: |
---|---|
Eine schnelle, aus nur einem Schritt bestehende Entwurfstechnik für die folgenden Fälle:
| lqg |
Eine flexiblere, aus drei Schritten bestehende Entwurfstechnik, mit deren Hilfe die folgenden Elemente angegeben werden können:
| Weitere Informationen finden Sie unter
|
Konstruieren der optimalen Zustands-Feedback-Verstärkung für die Regelung
Die LQ-optimale Verstärkung können Sie aus den folgenden Elementen konstruieren:
Zustandsraum-Systemmatrizen
Gewichtungsmatrizen
Q
,R
undN
, die den Kompromiss zwischen Regelungsleistung (wie schnell x(t) gegen null geht) und Steuerungsaufwand definieren.
Um die optimale Verstärkung zu konstruieren, geben Sie den folgenden Befehl ein:
K= lqr(A,B,Q,R,N)
Dieser Befehl berechnet die optimale Verstärkungsmatrix K
, für die das Zustands-Feedback-Gesetz die folgende quadratische Kostenfunktion für zeitkontinuierliche Systeme minimiert:
Zur Berechnung der Verstärkungsmatrix K löst die Software eine algebraische Riccati-Gleichung.
Informationen zum Konstruieren der LQ-optimalen Verstärkung, zum Beispiel zur Kostenfunktion, die die Software für zeitdiskrete Systeme minimiert, finden Sie auf der Referenzseite zu lqr
.
Konstruieren der Kalman-Zustandsschätzfunktion
Sie benötigen eine Kalman-Zustandsschätzfunktion für LQG-Regler und LQG-Servoregler, da Sie ohne vollständige Zustandsmessung kein LQ-optimales Zustands-Feedback implementieren können.
Die Zustandsschätzung müssen Sie so konstruieren, dass für das Ausgangs-Feedback-Problem optimal bleibt. Die Kalman-Zustandsschätzfunktion können Sie aus den folgenden Elementen konstruieren:
Zustandsraum-Regelstreckenmodell:
sys
Kovarianzdaten für das Rauschen:
Qn
,Rn
undNn
Die folgende Abbildung zeigt die erforderlichen Dimensionen für
Qn
,Rn
undNn
. WennNn
gleich 0 ist, können Sie dieses Element weglassen.Erforderliche Dimensionen für Qn, Rn und Nn
Hinweis
Für Regler und Servoregler können Sie die Kalman-Zustandsschätzfunktion auf dieselbe Weise konstruieren.
Um die Kalman-Zustandsschätzfunktion zu konstruieren, geben Sie den folgenden Befehl ein:
[kest,L,P] = kalman(sys,Qn,Rn,Nn);
Dieser Befehl berechnet die Kalman-Zustandsschätzfunktion kest
mit den folgenden Regelstreckengleichungen:
Dabei werden w und v als weißes Rauschen modelliert. L
ist die Kalman-Verstärkung und P
ist die Kovarianzmatrix.
Die Software generiert diese Zustandsschätzung mithilfe des Kalman-Filters
mit den Eingängen u (Regelungen) und y (Messwerte). Die Kovarianzdaten für das Rauschen
bestimmen die Kalman-Verstärkung L über eine algebraische Riccati-Gleichung.
Der Kalman-Filter ist eine optimale Zustandsschätzfunktion, sofern es um Gaußsches weißes Rauschen geht. Er minimiert insbesondere die asymptotische Kovarianz
des Schätzfehlers .
Weitere Informationen finden Sie auf der Referenzseite zu kalman
. Ein vollständiges Beispiel für die Implementierung eines Kalman-Filters finden Sie unter Kalman-Filterung.
Bilden des LQG-Reglers
Um den LQG-Regler zu bilden, verbinden Sie den Kalman-Filter kest
und die LQ-optimale Verstärkung K
, indem Sie den folgenden Befehl eingeben:
regulator = lqgreg(kest, K);
Der Regler wird durch die folgenden Zustandsraumgleichungen beschrieben:
Weitere Informationen zum Bilden von LQG-Reglern finden Sie unter lqgreg
und LQG Regulation: Rolling Mill Case Study.
Entwurf von linear-quadratischen Gauß-Servoreglern (LQG-Entwurf) mit Integralverhalten
Einen Servoregler mit Integralverhalten können Sie für das folgende Modell entwerfen:
Der Servoregler, den Sie entwerfen, gewährleistet, dass der Ausgang y den Referenzbefehl r verfolgt, während die Prozessstörungen w und das Messrauschen v unterdrückt werden.
Die Regelstrecke in der vorherigen Abbildung ist Störungen w ausgesetzt und wird durch Regelungen u gesteuert. Zum Generieren dieser Regelungen nutzt der Servoregler die verrauschten Messwerte y. Die Zustands- und Messgleichungen der Regelstrecke haben die Form
und w und v werden als weißes Rauschen modelliert.
Hinweis
Für den LQG-Entwurf ist ein Zustandsraummodell der Regelstrecke erforderlich. Mit ss
können Sie andere Modellformate in die Zustandsraumdarstellung konvertieren.
Zum Entwerfen von LQG-Servoreglern können Sie die Entwurfstechniken in der folgenden Tabelle verwenden.
Zum Entwerfen eines LQG-Servoreglers mit ... | Verwenden Sie die folgenden Befehle: |
---|---|
Eine schnelle, aus nur einem Schritt bestehende Entwurfstechnik für die folgenden Fälle:
| lqg |
Eine flexiblere, aus drei Schritten bestehende Entwurfstechnik, mit deren Hilfe die folgenden Elemente angegeben werden können:
| Weitere Informationen finden Sie unter
|
Konstruieren der optimalen Zustands-Feedback-Verstärkung für Servoregler
Die LQ-optimale Verstärkung können Sie aus den folgenden Elementen konstruieren:
Zustandsraum-Regelstreckenmodell:
sys
Gewichtungsmatrizen
Q
,R
undN
, die den Kompromiss zwischen Tracker-Leistung und Steuerungsaufwand definieren
Um die optimale Verstärkung zu konstruieren, geben Sie den folgenden Befehl ein:
K= lqi(sys,Q,R,N)
Dieser Befehl berechnet die optimale Verstärkungsmatrix K
, für die das Zustands-Feedback-Gesetz die folgende quadratische Kostenfunktion für zeitkontinuierliche Systeme minimiert:
Zur Berechnung der Verstärkungsmatrix K löst die Software eine algebraische Riccati-Gleichung.
Informationen zum Konstruieren der LQ-optimalen Verstärkung, zum Beispiel zur Kostenfunktion, die die Software für zeitdiskrete Systeme minimiert, finden Sie auf der Referenzseite zu lqi
.
Konstruieren der Kalman-Zustandsschätzfunktion
Sie benötigen eine Kalman-Zustandsschätzfunktion für LQG-Regler und LQG-Servoregler, da Sie ohne vollständige Zustandsmessung kein LQ-optimales Zustands-Feedback implementieren können.
Die Zustandsschätzung müssen Sie so konstruieren, dass für das Ausgangs-Feedback-Problem optimal bleibt. Die Kalman-Zustandsschätzfunktion können Sie aus den folgenden Elementen konstruieren:
Zustandsraum-Regelstreckenmodell:
sys
Kovarianzdaten für das Rauschen:
Qn
,Rn
undNn
Die folgende Abbildung zeigt die erforderlichen Dimensionen für
Qn
,Rn
undNn
. WennNn
gleich 0 ist, können Sie dieses Element weglassen.Erforderliche Dimensionen für Qn, Rn und Nn
Hinweis
Für Regler und Servoregler können Sie die Kalman-Zustandsschätzfunktion auf dieselbe Weise konstruieren.
Um die Kalman-Zustandsschätzfunktion zu konstruieren, geben Sie den folgenden Befehl ein:
[kest,L,P] = kalman(sys,Qn,Rn,Nn);
Dieser Befehl berechnet die Kalman-Zustandsschätzfunktion kest
mit den folgenden Regelstreckengleichungen:
Dabei werden w und v als weißes Rauschen modelliert. L
ist die Kalman-Verstärkung und P
ist die Kovarianzmatrix.
Die Software generiert diese Zustandsschätzung mithilfe des Kalman-Filters
mit den Eingängen u (Regelungen) und y (Messwerte). Die Kovarianzdaten für das Rauschen
bestimmen die Kalman-Verstärkung L über eine algebraische Riccati-Gleichung.
Der Kalman-Filter ist eine optimale Zustandsschätzfunktion, sofern es um Gaußsches weißes Rauschen geht. Er minimiert insbesondere die asymptotische Kovarianz
des Schätzfehlers .
Weitere Informationen finden Sie auf der Referenzseite zu kalman
. Ein vollständiges Beispiel für die Implementierung eines Kalman-Filters finden Sie unter Kalman-Filterung.
Bilden des LQG-Servoreglers
Um einen LQG-Servoregler mit zwei Freiheitsgraden zu bilden, verbinden Sie den Kalman-Filter kest
und die LQ-optimale Verstärkung K
, indem Sie den folgenden Befehl eingeben:
servocontroller = lqgtrack(kest, K);
Der Servoregler wird durch die folgenden Zustandsraumgleichungen beschrieben:
Weitere Informationen zum Bilden von LQG-Servoreglern, zum Beispiel zum Bilden eines LQG-Servoreglers mit einem Freiheitsgrad, finden Sie auf der Referenzseite zu lqgtrack
.
Siehe auch
lqg
| lqr
| kalman
| lqgtrack
| lqi
| lqgreg