|
|
Abweichungen zwischen linearisiertem Modell und Original |
|
N.S. |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.09.2013, 15:13
Titel: Abweichungen zwischen linearisiertem Modell und Original
|
|
Hallo Leute,
ich habe folgendes Problem und hoffe ihr könnt mir helfen:
Nach der Linearisierung eines großen Simscape Modells mit der Control System Toolbox in einem Arbeitspunkt habe ich die Outputs des originalen Modells mit dem Zustandsraummodell verglichen. Beide bekommen die gleichen Stellgrößen. Leider habe ich dabei unerklärliche Abweichungen feststellen müssen.
Einen Screenshot habe ich als Datei angehängt.
Habt ihr eine Ahnung woran es liegt? Für jedwede Anregung wäre ich dankbar!
LG N.S.
|
|
|
|
|
controlnix |
Forum-Century
|
|
Beiträge: 106
|
|
|
|
Anmeldedatum: 10.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 19.09.2013, 16:53
Titel:
|
|
Hallo N.S.,
die Antwort ist wahrscheinlich denkbar einfach: Die Linearisierung ist fehlerhaft. Ich hatte derartige Fehler schon häufiger - hängt davon ab, welche Elemente im Originalmodell verwendet wurden.
Ein alternativer Weg ist: Linearization by System Identification.
Grüße
ControlNix
|
|
|
N.S. |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.10.2013, 11:37
Titel:
|
|
Hi,
vielen Dank für deine Antwort ControlNix!! Ich deinen Tipp mal versucht umzusetzen und es über System Identification versucht. Hierfür habe ich als Stellgrößen White Noise genommen. Ist das der richtige Ansatz?
Wenn ich das so identifizierte Modell mittels Hinf-control regle bekomme ich super Ergebnisse. Leider kann ich das nicht behaupten, wenn ich den gleichen Regler in das Simscape Modell integriere. Daher die Frage: Beim System Identification Prozess muss ich das zu linearisierende Modell auch im Betriebspunkt haben oder?
Viele Grüße und Danke,
N.S.
|
|
|
controlnix |
Forum-Century
|
|
Beiträge: 106
|
|
|
|
Anmeldedatum: 10.06.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.10.2013, 20:15
Titel:
|
|
|
|
|
Hallo N.S.,
sorry, dass ich mich erst so spät melde, aber ich war anderweitig kräftig beschäftigt.
Zu Deiner Frage: Da Du per System Identification ein lineares Modell bekommst, ist das Modell zunächst mal im Arbeitspunkt und in einer "kleinen" Umgebung um den Arbeitspunkt verwendbar. Das bedeutet ebenfalls, dass Du den Regler, den Du mit diesem Modell entworfen hast, auch im nichtlinearen System nur in diesem Arbeitspunkt (mit "kleiner" Umgebung) betreiben kannst. Wie "klein" oder "groß" die Umgebung ist, kann nicht allgemeingültig gesagt werden, das hängt schlicht von den vorhandenen Nichtlinearitäten ab.
Ausserdem: wenn Du dieses lineare Modell mit Hinf-control betreibst, verwundert das nicht, denn der Regler wurde genau für dieses Modell ausgelegt. Der Regler wird mit dem nichtlinearen System im Arbeitspunkt nur zufriedenstellende Ergebnisse liefern, wenn die Qualität des Modells ausreichend hoch ist.
Daher: (1) Gib doch mal einen kleinen Sprung auf das nichtlineare System (so klein, dass sich das System nicht weit vom Arbeitspunkt enfernt). (2) Gib den entsprechenden Sprung auf das lineare Modell. (3) vergleiche beide, um die Modellqualität zu prüfen.
Vielleicht willst Du ja auch diese Ergebnisse mal posten - würde mich schon interessieren.
Grüße
ControlNix
|
|
|
N.S. |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.10.2013, 17:19
Titel:
|
|
|
|
|
Hallo controlnix,
erneut vielen Dank für deine Antwort! Auf den Umstand mit der Abweichung vom Arbeitspunkt bin ich in der Zwischenzeit auch schon gekommen. Die beigefügten Plots zeigen die Abweichung vom Arbeitspunkt für Sprünge mit Amplituden von 1, 10, 40, 70 und 100. Die Abweichungen sind für große Sprünge schon ordentlich. Aus diesem Grund habe ich einen einfachen PID-Regler verwendet um das nichtlineare System in den Arbeitspunkt zu fahren in dem ich linearisiert habe. Erst dann schalte ich auf das Modell um. Das hat bisher gut funktioniert.
Was ich jedoch noch nicht begreife ist, warum mein Beobachter den Fehler zwischen geschätztem und tatsächlichem Zustansvektor nicht zu Null bringt. Auch hierzu habe ich ein Bild beigefügt. Die Umschaltung auf den Zustandsregler erfolgt bei t=35s, daher der Sprung. Der Sprung am Integrator setzt dessen Werte zur gleichen Zeit auf 0.
Die durch das Schalten verursachten Sprüge sind sehr klein, so dass der Effekt der Nichtlinearität eigentlich keine Rolle spielen sollte. Wenn ich die Pole des Beobachters mit dem 'place'-Befehl in Matlab deutlich größer wähle als die des geschlossenen Kreises, dann produziere ich noch deutlich größere Abweichungen. Woran könnte das liegen?
Vielen Dank nochmal!
N.S.
|
|
|
cyrez |
Forum-Fortgeschrittener
|
|
Beiträge: 81
|
|
|
|
Anmeldedatum: 15.09.10
|
|
|
|
Wohnort: Bayern
|
|
|
|
Version: 2020b
|
|
|
|
|
|
Verfasst am: 09.12.2013, 15:35
Titel:
|
|
Kann es sein, dass du vergessen hast den Arbeitspunkt mit aufzuschalten? Das kann in der Eile schnell passieren
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum nicht posten Du kannst Dateien in diesem Forum nicht herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|