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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.