Wieso ist Zustandsbeobachter zu langsam?

Gast #522393
Lesenswert?

Hallo,

ich versuche gerade einen Zustandsbeobachter zu simulieren, aber 
irgendwie stimmt wohl etwas nicht mit meiner Berechnung. Ich habe das 
Zustandsmodell aus dem PDF im Anhang um eine Zustandsgröße erweitert:
Die Zustandsgrößen sind nun: Drehwinkel, Winkelgeschwindigkeit, 
Lastmoment.
Der Drehwinkel ist der Ausgang y(t) des Systems.

Der Beobachter stimmt für die Winkelgeschwindigkeit (mit und ohne 
Störung) recht gut, nur beim beobachtete Lastmoment ist reagiert er viel 
zu langsam.

Das der Beobachter nicht sprunghaft reagiert ist schon mir klar, nur 
dass das so langsam geht macht mich etwas stutzig.


Vielleicht findet einer von euch meinen Fehler.
Im Anhang findet ihr das PDF, M-File und das Simulinkmodell.

Danke!

Gruß,
Sebastian H.
Angehängte Dateien:
Gast #522989
Lesenswert?

Hi,

danke schon mal, dass Du Dir mein Problem mal angeschaut hast! Also ich 
hab die Eigenwerten des Beobachters jetzt mal weiter in die Nähe des 
Systems gelegt. Ich hab bei -1.25 an angefangen und bin schrittweise bis 
-1000. Ab -100 ändert sich nicht mehr viel. Mir ist dabei aber auch 
aufgefallen, dass Lastmoment beim zu beobachteten System nicht mal 
nährungsweise sprungartig zunimmt. Der Beobachter "sieht" also schon 
richtig. Das würde doch bedeuten, dass in dem Gleichungssystem was nicht 
stimmt. Irgendwie ist das schon seltsam, der Drehwinkel und die 
Winkelgeschwindigkeit stimmen doch auch...???

Gruß,
Sebastian H.
#523201
Lesenswert?

Habs mal simuliert: Ein vorgegebenes, konstantes Lastmoment von 0.123 
hat der Beobachter mit Deinen Polvorgaben innerhalb von 0.1sec 
herausgefunden. Vielleicht hast Du nen Problem mit Simulink oder dem 
Integrationsverfahren. Habs ohne Simulink mit 'ode45' probiert, ging 
nicht, 'od15s' funzte dann, Gründe allerdings unklar.

Cheers
Detlef
Angehängte Dateien:
Gast #523271
Lesenswert?

Seltsam wieso sich unsere Ergebnisse so stark unterscheiden. Was hast Du 
für eine maximale Schrittweite vorgegeben? (1e-6)

Ich hab hier mal mein Ergebnis der Simulink-Simulation.
Pole auf -100.0, -100.1, -100.2.

Gelb: vorgegebenes Lastmoment (2.5)
Blau: beobachtetes Lastmoment
Lila: beobachtetes Lastmoment abgeleitet

Die Ergebnisse von ode45 und ode15s sind gleich.

Lege ich die Pole auf -1000 ist der Beobachter (+ Ableitung) genau das 
was ich haben will.

Ich werde es jetzt mal direkt mit estim() versuchen. Vielleicht schaut 
es da anders aus.

Gruß
Sebastian H.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren